@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
package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityVersions.es.js","sources":["../../../../../../../src/containers/Feed/components/ActivityVersions/ActivityVersions.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Icon } from '@ynput/ayon-react-components'\nimport ActivityHeader from '../ActivityHeader/ActivityHeader'\nimport * as Styled from './ActivityVersions.styled'\nimport { More } from '../ActivityGroup/ActivityGroup.styled'\nimport ActivityDate from '../ActivityDate'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Version {\n name: string\n id: string\n productId: string\n productName: string\n updatedAt: string\n comment?: string\n}\n\ninterface ActivityVersionsProps {\n activity: {\n authorName?: string\n authorFullName?: string\n createdAt?: string\n versions?: Version[]\n [key: string]: any\n }\n projectName: string\n entityType?: string\n onReferenceClick?: (ref: any) => void\n filter?: string\n}\n\nconst ActivityVersions: React.FC<ActivityVersionsProps> = ({\n activity,\n projectName,\n entityType,\n onReferenceClick,\n filter,\n}) => {\n const { onOpenViewer } = useDetailsPanelContext()\n let { authorName, authorFullName, createdAt, versions = [] } = activity\n\n const [showAll, setShowAll] = useState(filter === 'versions')\n const limit = 2\n\n const [thumbnailError, setThumbnailError] = useState(false)\n\n const handleClick = (versionId: string, productId: string) =>\n onOpenViewer?.({ versionIds: [versionId], productId, projectName })\n\n return (\n <Styled.Container>\n <ActivityHeader\n name={authorName}\n fullName={authorFullName || authorName}\n date={createdAt}\n activity={activity}\n projectName={projectName}\n entityType={entityType}\n onReferenceClick={onReferenceClick}\n />\n {versions.flatMap((version, index) => {\n const { name, id, productId, productName, updatedAt, comment } = version\n return (\n (index < limit || showAll) && (\n <Styled.Card onClick={() => handleClick(id, productId)} key={id}>\n <Styled.Content>\n <div>\n <Styled.Title>\n <span>{productName}</span>\n <ActivityDate date={createdAt} isExact />\n </Styled.Title>\n <span className=\"version\">{name}</span>\n </div>\n <Styled.Thumbnail\n {...{ projectName }}\n entityId={id}\n entityType=\"version\"\n onError={() => setThumbnailError(true)}\n iconOnly={thumbnailError}\n entityUpdatedAt={updatedAt}\n icon={'play_circle'}\n />\n </Styled.Content>\n {comment && <Styled.Comment>{comment}</Styled.Comment>}\n </Styled.Card>\n )\n )\n })}\n {filter !== 'versions' && versions.length > limit && (\n <More onClick={() => setShowAll(!showAll)}>\n <Icon icon=\"more\" />\n <span>{showAll ? `Show less` : `Show ${versions.length - limit} more versions`}</span>\n </More>\n )}\n </Styled.Container>\n )\n}\n\nexport default ActivityVersions\n"],"names":["jsxs","Styled.Container","jsx","Styled.Card","Styled.Content","Styled.Title","Styled.Thumbnail","Styled.Comment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActivityVersions.es.js","sources":["../../../../../../../src/containers/Feed/components/ActivityVersions/ActivityVersions.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Icon } from '@ynput/ayon-react-components'\nimport ActivityHeader from '../ActivityHeader/ActivityHeader'\nimport * as Styled from './ActivityVersions.styled'\nimport { More } from '../ActivityGroup/ActivityGroup.styled'\nimport ActivityDate from '../ActivityDate'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Version {\n name: string\n id: string\n productId: string\n productName: string\n updatedAt: string\n comment?: string\n}\n\ninterface ActivityVersionsProps {\n activity: {\n authorName?: string\n authorFullName?: string\n createdAt?: string\n versions?: Version[]\n [key: string]: any\n }\n projectName: string\n entityType?: string\n onReferenceClick?: (ref: any) => void\n filter?: string\n}\n\nconst ActivityVersions: React.FC<ActivityVersionsProps> = ({\n activity,\n projectName,\n entityType,\n onReferenceClick,\n filter,\n}) => {\n const { onOpenViewer } = useDetailsPanelContext()\n let { authorName, authorFullName, createdAt, versions = [] } = activity\n\n const [showAll, setShowAll] = useState(filter === 'versions')\n const limit = 2\n\n const [thumbnailError, setThumbnailError] = useState(false)\n\n const handleClick = (versionId: string, productId: string) =>\n onOpenViewer?.({ versionIds: [versionId], productId, projectName })\n\n return (\n <Styled.Container>\n <ActivityHeader\n name={authorName}\n fullName={authorFullName || authorName}\n date={createdAt}\n activity={activity}\n projectName={projectName}\n entityType={entityType}\n onReferenceClick={onReferenceClick}\n />\n {versions.flatMap((version, index) => {\n const { name, id, productId, productName, updatedAt, comment } = version\n return (\n (index < limit || showAll) && (\n <Styled.Card onClick={() => handleClick(id, productId)} key={id}>\n <Styled.Content>\n <div>\n <Styled.Title>\n <span>{productName}</span>\n <ActivityDate date={createdAt} isExact />\n </Styled.Title>\n <span className=\"version\">{name}</span>\n </div>\n <Styled.Thumbnail\n {...{ projectName }}\n entityId={id}\n entityType=\"version\"\n onError={() => setThumbnailError(true)}\n iconOnly={thumbnailError}\n entityUpdatedAt={updatedAt}\n icon={'play_circle'}\n />\n </Styled.Content>\n {comment && <Styled.Comment>{comment}</Styled.Comment>}\n </Styled.Card>\n )\n )\n })}\n {filter !== 'versions' && versions.length > limit && (\n <More onClick={() => setShowAll(!showAll)}>\n <Icon icon=\"more\" />\n <span>{showAll ? `Show less` : `Show ${versions.length - limit} more versions`}</span>\n </More>\n )}\n </Styled.Container>\n )\n}\n\nexport default ActivityVersions\n"],"names":["jsxs","Styled.Container","jsx","Styled.Card","Styled.Content","Styled.Title","Styled.Thumbnail","Styled.Comment"],"mappings":";;;;;;;;;;;;;;;;;AA+BA,MAAM,mBAAoD,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,EAAE,aAAa,IAAI,uBAAuB;AAChD,MAAI,EAAE,YAAY,gBAAgB,WAAW,WAAW,OAAO;AAE/D,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,WAAW,UAAU;AAC5D,QAAM,QAAQ;AAEd,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAE1D,QAAM,cAAc,CAAC,WAAmB,cACtC,6CAAe,EAAE,YAAY,CAAC,SAAS,GAAG,WAAW,YAAA;AAGrD,SAAAA,kCAAA,KAACC,WAAA,EACC,UAAA;AAAA,IAAAC,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,UAAU,kBAAkB;AAAA,QAC5B,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,IACC,SAAS,QAAQ,CAAC,SAAS,UAAU;AACpC,YAAM,EAAE,MAAM,IAAI,WAAW,aAAa,WAAW,YAAY;AACjE,cACG,QAAQ,SAAS,YAChBF,kCAAA,KAACG,MAAA,EAAY,SAAS,MAAM,YAAY,IAAI,SAAS,GACnD,UAAA;AAAA,QAACH,uCAAAI,SAAA,EACC,UAAA;AAAA,UAAAJ,uCAAC,OACC,EAAA,UAAA;AAAA,YAACA,uCAAAK,OAAA,EACC,UAAA;AAAA,cAAAH,kCAAAA,IAAC,UAAM,UAAY,YAAA,CAAA;AAAA,cAClBA,kCAAA,IAAA,cAAA,EAAa,MAAM,WAAW,SAAO,KAAC,CAAA;AAAA,YAAA,GACzC;AAAA,YACCA,kCAAA,IAAA,QAAA,EAAK,WAAU,WAAW,UAAK,KAAA,CAAA;AAAA,UAAA,GAClC;AAAA,UACAA,kCAAA;AAAA,YAACI;AAAAA,YAAA;AAAA,cACE,GAAG,EAAE,YAAY;AAAA,cAClB,UAAU;AAAA,cACV,YAAW;AAAA,cACX,SAAS,MAAM,kBAAkB,IAAI;AAAA,cACrC,UAAU;AAAA,cACV,iBAAiB;AAAA,cACjB,MAAM;AAAA,YAAA;AAAA,UAAA;AAAA,QACR,GACF;AAAA,QACC,WAAWJ,kCAAAA,IAACK,SAAA,EAAgB,UAAQ,QAAA,CAAA;AAAA,MAAA,EAAA,GAnBsB,EAoB7D;AAAA,IAAA,CAGL;AAAA,IACA,WAAW,cAAc,SAAS,SAAS,SAC1CP,kCAAA,KAAC,MAAK,EAAA,SAAS,MAAM,WAAW,CAAC,OAAO,GACtC,UAAA;AAAA,MAACE,kCAAAA,IAAA,MAAA,EAAK,MAAK,OAAO,CAAA;AAAA,MAClBA,kCAAAA,IAAC,UAAM,UAAU,UAAA,cAAc,QAAQ,SAAS,SAAS,KAAK,iBAAiB,CAAA;AAAA,IAAA,EACjF,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js
CHANGED
|
@@ -11,6 +11,7 @@ require("react-dom");
|
|
|
11
11
|
require("../../../../../context/pip/PiPWrapper.cjs.js");
|
|
12
12
|
require("../../../../../context/AddonProjectContext.cjs.js");
|
|
13
13
|
require("../../../../../context/AddonContext.cjs.js");
|
|
14
|
+
require("../../../../../context/PowerpackContext.cjs.js");
|
|
14
15
|
const filterEntityAnnotations = (annotations, entityId, filesUploading) => {
|
|
15
16
|
return Object.values(annotations).filter(
|
|
16
17
|
(annotation) => annotation.versionId === entityId && !filesUploading.some((file) => file.name === annotation.name)
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationsSync.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["useFeedContext","useDetailsPanelContext","useEffect","FEED_NEW_COMMENT"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAnnotationsSync.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["useFeedContext","useDetailsPanelContext","useEffect","FEED_NEW_COMMENT"],"mappings":";;;;;;;;;;;;;;AAcO,MAAM,0BAA0B,CACrC,aACA,UACA,mBACwB;AACjB,SAAA,OAAO,OAAO,WAAW,EAC7B;AAAA,IACC,CAAC,eACC,WAAW,cAAc,YACzB,CAAC,eAAe,KAAK,CAAC,SAAS,KAAK,SAAS,WAAW,IAAI;AAAA,EAAA,EAE/D,IAAI,CAAC,oBAAoB;AAAA,IACxB,GAAG;AAAA,IACH,mBAAmB;AAAA,EAAA,EACnB;AACN;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,qBAA4B;AAClE,QAAM,EAAE,WAAW,cAAc,aAAa,iBAAA,IAAqBA,YAAAA,eAAe;AAC5E,QAAA,EAAE,YAAY,IAAIC,2CAAuB;AAG/C,QAAM,sBAAsB,wBAAwB,eAAe,CAAA,GAAI,UAAU,cAAc;AAG/FC,QAAAA,UAAU,MAAM;AAEd,QAAI,oBAAoB,SAAS,KAAK,CAAC,WAAW;AAChD,mBAAaC,YAAAA,gBAAgB;AAAA,IAAA;AAAA,EAC/B,GACC,CAAC,mBAAmB,CAAC;AAElB,QAAA,uBAAuB,CAAC,eAAkC;AACxD,UAAA,aAAa,WAAW,MAAM,CAAC;AACrC,+CAAc;AAAA,EAChB;AAEO,SAAA;AAAA,IACL,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB;AAAA,EACF;AACF;;;"}
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js
CHANGED
|
@@ -9,6 +9,7 @@ import "react-dom";
|
|
|
9
9
|
import "../../../../../context/pip/PiPWrapper.es.js";
|
|
10
10
|
import "../../../../../context/AddonProjectContext.es.js";
|
|
11
11
|
import "../../../../../context/AddonContext.es.js";
|
|
12
|
+
import "../../../../../context/PowerpackContext.es.js";
|
|
12
13
|
const filterEntityAnnotations = (annotations, entityId, filesUploading) => {
|
|
13
14
|
return Object.values(annotations).filter(
|
|
14
15
|
(annotation) => annotation.versionId === entityId && !filesUploading.some((file) => file.name === annotation.name)
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationsSync.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAnnotationsSync.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":[],"mappings":";;;;;;;;;;;;AAcO,MAAM,0BAA0B,CACrC,aACA,UACA,mBACwB;AACjB,SAAA,OAAO,OAAO,WAAW,EAC7B;AAAA,IACC,CAAC,eACC,WAAW,cAAc,YACzB,CAAC,eAAe,KAAK,CAAC,SAAS,KAAK,SAAS,WAAW,IAAI;AAAA,EAAA,EAE/D,IAAI,CAAC,oBAAoB;AAAA,IACxB,GAAG;AAAA,IACH,mBAAmB;AAAA,EAAA,EACnB;AACN;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,qBAA4B;AAClE,QAAM,EAAE,WAAW,cAAc,aAAa,iBAAA,IAAqB,eAAe;AAC5E,QAAA,EAAE,YAAY,IAAI,uBAAuB;AAG/C,QAAM,sBAAsB,wBAAwB,eAAe,CAAA,GAAI,UAAU,cAAc;AAG/F,YAAU,MAAM;AAEd,QAAI,oBAAoB,SAAS,KAAK,CAAC,WAAW;AAChD,mBAAa,gBAAgB;AAAA,IAAA;AAAA,EAC/B,GACC,CAAC,mBAAmB,CAAC;AAElB,QAAA,uBAAuB,CAAC,eAAkC;AACxD,UAAA,aAAa,WAAW,MAAM,CAAC;AACrC,+CAAc;AAAA,EAChB;AAEO,SAAA;AAAA,IACL,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB;AAAA,EACF;AACF;"}
|
|
@@ -13,6 +13,7 @@ require("react-dom");
|
|
|
13
13
|
require("../../../../../context/pip/PiPWrapper.cjs.js");
|
|
14
14
|
require("../../../../../context/AddonProjectContext.cjs.js");
|
|
15
15
|
require("../../../../../context/AddonContext.cjs.js");
|
|
16
|
+
require("../../../../../context/PowerpackContext.cjs.js");
|
|
16
17
|
const Inline = ReactQuill.Quill.import("blots/inline");
|
|
17
18
|
const useMentionLink = ({ projectName }) => {
|
|
18
19
|
const { openSlideOut } = DetailsPanelContext.useDetailsPanelContext();
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMentionLink.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":["Quill","useDetailsPanelContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMentionLink.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":["Quill","useDetailsPanelContext"],"mappings":";;;;;;;;;;;;;;;;AAKA,MAAM,SAASA,WAAAA,MAAM,OAAO,cAAc;AAO1C,MAAM,iBAAiB,CAAC,EAAE,kBAAsC;AACxD,QAAA,EAAE,aAAa,IAAIC,2CAAuB;AAChD,QAAM,CAAG,EAAA,aAAa,IAAI,oBAAoB;AAI9C,QAAM,eAAN,MAAM,qBAAoB,OAAO;AAAA;AAAA,IAI/B,OAAO,OAAO,OAAO;AACf,UAAA,CAAC,SAAS,OAAO,UAAU,SAAiB,QAAA,SAAS,cAAc,aAAY,OAAO;AAEpF,YAAA,OAAO,MAAM,OAAO,KAAK;AAE/B,YAAM,mBAAmB,MAAM,MAAM,GAAG,EAAE,MAAM;AAChD,YAAM,iBAAiB,MAAM,MAAM,GAAG,EAAE,IAAI;AAEvC,WAAA,UAAU,IAAI,SAAS;AACvB,WAAA,UAAU,IAAI,gBAAgB;AAEnC,WAAK,aAAa,MAAM,OAAO,cAAc,EAAE;AAE1C,WAAA,aAAa,mBAAmB,OAAO;AAGvC,WAAA,aAAa,cAAc,KAAK;AAGhC,WAAA,iBAAiB,SAAS,CAAC,MAAqC;AACnE,UAAE,eAAe;AACjB,YAAI,qBAAqB,OAAQ;AAEpB,qBAAA;AAAA,UACX,UAAU;AAAA,UACV,YAAY;AAAA,UACZ;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAGI,WAAA,iBAAiB,cAAc,CAAC,MAAwC;AACrE,cAAA,SAAS,EAAE,UAAU,CAAC;AAC5B,cAAM,QAAS,OAAuB,UAAU,QAAQ,KAAK,EAAE;AAE/D,cAAM,EAAE,GAAG,GAAG,MAAM,IAAK,OAAuB,sBAAsB;AACtE,cAAM,MAAM,EAAE,MAAM,IAAI,QAAQ,GAAG,KAAK,EAAE;AAE5B,sBAAA;AAAA,UACZ,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAED,aAAO,QAAQ;AAAA,IAAA;AAAA;AAAA,IAIjB,OAAO,MAAM,MAAW;AACf,aAAA,KAAK,aAAa,YAAY;AAAA,IAAA;AAAA,EACvC;AAxDA,gBADI,cACG,YAAW;AAClB,gBAFI,cAEG,WAAU;AAFnB,MAAM,cAAN;AA6DY,cAAA,WAAW,CAAC,QAAQ;AAE1BD,mBAAA,SAAS,aAAa,IAAI;AAClC;;"}
|
|
@@ -12,6 +12,7 @@ import "react-dom";
|
|
|
12
12
|
import "../../../../../context/pip/PiPWrapper.es.js";
|
|
13
13
|
import "../../../../../context/AddonProjectContext.es.js";
|
|
14
14
|
import "../../../../../context/AddonContext.es.js";
|
|
15
|
+
import "../../../../../context/PowerpackContext.es.js";
|
|
15
16
|
const Inline = Quill.import("blots/inline");
|
|
16
17
|
const useMentionLink = ({ projectName }) => {
|
|
17
18
|
const { openSlideOut } = useDetailsPanelContext();
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMentionLink.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMentionLink.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,MAAM,SAAS,MAAM,OAAO,cAAc;AAO1C,MAAM,iBAAiB,CAAC,EAAE,kBAAsC;AACxD,QAAA,EAAE,aAAa,IAAI,uBAAuB;AAChD,QAAM,CAAG,EAAA,aAAa,IAAI,oBAAoB;AAI9C,QAAM,eAAN,MAAM,qBAAoB,OAAO;AAAA;AAAA,IAI/B,OAAO,OAAO,OAAO;AACf,UAAA,CAAC,SAAS,OAAO,UAAU,SAAiB,QAAA,SAAS,cAAc,aAAY,OAAO;AAEpF,YAAA,OAAO,MAAM,OAAO,KAAK;AAE/B,YAAM,mBAAmB,MAAM,MAAM,GAAG,EAAE,MAAM;AAChD,YAAM,iBAAiB,MAAM,MAAM,GAAG,EAAE,IAAI;AAEvC,WAAA,UAAU,IAAI,SAAS;AACvB,WAAA,UAAU,IAAI,gBAAgB;AAEnC,WAAK,aAAa,MAAM,OAAO,cAAc,EAAE;AAE1C,WAAA,aAAa,mBAAmB,OAAO;AAGvC,WAAA,aAAa,cAAc,KAAK;AAGhC,WAAA,iBAAiB,SAAS,CAAC,MAAqC;AACnE,UAAE,eAAe;AACjB,YAAI,qBAAqB,OAAQ;AAEpB,qBAAA;AAAA,UACX,UAAU;AAAA,UACV,YAAY;AAAA,UACZ;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAGI,WAAA,iBAAiB,cAAc,CAAC,MAAwC;AACrE,cAAA,SAAS,EAAE,UAAU,CAAC;AAC5B,cAAM,QAAS,OAAuB,UAAU,QAAQ,KAAK,EAAE;AAE/D,cAAM,EAAE,GAAG,GAAG,MAAM,IAAK,OAAuB,sBAAsB;AACtE,cAAM,MAAM,EAAE,MAAM,IAAI,QAAQ,GAAG,KAAK,EAAE;AAE5B,sBAAA;AAAA,UACZ,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAED,aAAO,QAAQ;AAAA,IAAA;AAAA;AAAA,IAIjB,OAAO,MAAM,MAAW;AACf,aAAA,KAAK,aAAa,YAAY;AAAA,IAAA;AAAA,EACvC;AAxDA,gBADI,cACG,YAAW;AAClB,gBAFI,cAEG,WAAU;AAFnB,MAAM,cAAN;AA6DY,cAAA,WAAW,CAAC,QAAQ;AAE1B,QAAA,SAAS,aAAa,IAAI;AAClC;"}
|
|
@@ -14,6 +14,7 @@ require("react-dom");
|
|
|
14
14
|
require("../../../../context/pip/PiPWrapper.cjs.js");
|
|
15
15
|
require("../../../../context/AddonProjectContext.cjs.js");
|
|
16
16
|
require("../../../../context/AddonContext.cjs.js");
|
|
17
|
+
require("../../../../context/PowerpackContext.cjs.js");
|
|
17
18
|
const fileIcons = {
|
|
18
19
|
// special cases
|
|
19
20
|
description: ["doc"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadCard.cjs.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = unsavedAnnotation ?? savedAnnotation\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer className={clsx({ inProgress, isPreviewable, isDownloadable })}>\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {someAnnotation.range[0]}\n {someAnnotation.range[1] !== someAnnotation.range[0] &&\n ` - ${someAnnotation.range[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} download className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["useState","useDetailsPanelContext","isFilePreviewable","jsxs","Fragment","jsx","getFileSizeString","Icon","Styled.File","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUploadCard.cjs.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = unsavedAnnotation ?? savedAnnotation\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer className={clsx({ inProgress, isPreviewable, isDownloadable })}>\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {someAnnotation.range[0]}\n {someAnnotation.range[1] !== someAnnotation.range[0] &&\n ` - ${someAnnotation.range[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} download className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["useState","useDetailsPanelContext","isFilePreviewable","jsxs","Fragment","jsx","getFileSizeString","Icon","Styled.File","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer","Button"],"mappings":";;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAyC;AAAA;AAAA,EAE7C,aAAa,CAAC,KAAK;AAAA,EACnB,YAAY,CAAC,KAAK;AAAA,EAClB,aAAa;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO,CAAC,QAAQ,OAAO,OAAO,SAAS;AAAA,EACvC,eAAe;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,UAAU,CAAC,QAAQ,QAAQ,SAAS,OAAO,WAAW,WAAW,SAAS,MAAM;AAAA,EAChF,gBAAgB,CAAC,OAAO,MAAM;AAAA;AAAA,EAE9B,OAAO,CAAC,SAAS,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,OAAO;AAAA,EACjE,UAAU,CAAC,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,MAAM;AAAA,EACnE,iBAAiB,CAAC,aAAa;AAAA,EAC/B,YAAY,CAAC,OAAO;AAAA,EACpB,cAAc,CAAC,MAAM;AAAA,EACrB,aAAa,CAAC,UAAU;AAAA,EACxB,eAAe,CAAC,MAAM;AAAA,EACtB,eAAe,CAAC,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,MAAM;AAClF;AAEA,MAAM,iBAAiB,CAAC,SAAyB;AAC/C,aAAW,CAAC,MAAM,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AACpD,QAAA,SAAS,KAAK,CAAC,YAAY,KAAK,SAAS,OAAO,CAAC,GAAG;AAC/C,aAAA;AAAA,IAAA;AAAA,EACT;AAEK,SAAA;AACT;AAEA,MAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACnB,QAAA,aAAa,YAAY,WAAW;AAE1C,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAS,KAAK;AAC5C,QAAA,EAAE,uBAAuB,IAAIC,2CAAuB;AAGpD,QAAA,YAAY,KAAK,MAAM,GAAG;AAC1B,QAAA,YAAY,UAAU,IAAA,KAAS;AAC/B,QAAA,WAAW,UAAU,KAAK,GAAG;AAEnC,QAAM,gBAAgBC,kBAAA,kBAAkB,QAAQ,MAAM,SAAS;AAC/D,QAAM,WAAU,6BAAM,SAAS,cAAa,QAAQ,iBAAiB;AAErE,QAAM,oBAEFC,2BAAAA,kBAAAA,KAAAC,WAAA,kBAAA,UAAA,EAAA,UAAA;AAAA,IAAAC,iDAAC,QAAK,EAAA,WAAU,QAAQ,UAAAC,oBAAA,kBAAkB,IAAI,GAAE;AAAA,IAC/CD,2BAAA,kBAAA,IAAAE,oBAAA,MAAA,EAAK,MAAK,YAAW,WAAU,gBAAgB,CAAA;AAAA,EAAA,GAClD;AAGF,QAAM,iBAAiB,qBAAqB;AAG1C,SAAAJ,2BAAA,kBAAA;AAAA,IAACK,sBAAO;AAAA,IAAP;AAAA,MACC,WAAW,KAAK,WAAW;AAAA,QACzB,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,qBAAqB,QAAQ,iBAAiB;AAAA,MAAA,CAC/C;AAAA,MACA,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAL,2BAAA,kBAAA;AAAA,UAACM,sBAAO;AAAA,UAAP;AAAA,YACC,WAAW,KAAK,mBAAmB;AAAA,cACjC;AAAA,cACA,qBAAqB,QAAQ,iBAAiB;AAAA,YAAA,CAC/C;AAAA,YAED,UAAA;AAAA,cAACJ,2BAAAA,kBAAAA,IAAAE,oBAAA,MAAA,EAAK,MAAM,eAAe,QAAQ,MAAM,SAAS,GAAG,WAAU,aAAY;AAAA,cAC1E,WAAW,OACVF,2BAAA,kBAAA;AAAA,gBAACK,sBAAO;AAAA,gBAAP;AAAA,kBACC,WAAW,KAAK;AAAA,oBACd,iBAAiB;AAAA,oBACjB,gBAAgB,kBAAkB,iBAAiB;AAAA,kBAAA,CACpD;AAAA,kBAED,UAAAL,2BAAA,kBAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA,SAAS,MAAM,cAAc,IAAI;AAAA,sBACjC,OAAO;AAAA,wBACL,SAAS,aAAa,SAAS;AAAA,sBAAA;AAAA,oBACjC;AAAA,kBAAA;AAAA,gBACF;AAAA,cACF;AAAA,cAEDF,2BAAAA,kBAAAA,KAAAQ,sBAAAA,SAAA,EAAe,WAAU,kBACvB,UAAA;AAAA,gBACC,iBAAAN,2BAAA,kBAAA;AAAA,kBAACO,sBAAO;AAAA,kBAAP;AAAA,oBACC,gBAAa;AAAA,oBACb,MAAK;AAAA,oBACL,SAAQ;AAAA,oBACR,SAAS;AAAA,kBAAA;AAAA,gBACX;AAAA,iBAEA,qBAAsB,0BAA0B,oBAChDP,2BAAA,kBAAA;AAAA,kBAACO,sBAAO;AAAA,kBAAP;AAAA,oBACC,gBAAa;AAAA,oBACb,MAAK;AAAA,oBACL,SAAQ;AAAA,oBACR,SAAS;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACX,EAEJ,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,QACAT,kDAACU,sBAAAA,QAAA,EAAc,WAAW,KAAK,EAAE,YAAY,eAAe,gBAAgB,GAC1E,UAAA;AAAA,UAACR,2BAAAA,kBAAAA,IAAA,QAAA,EAAK,WAAU,YAAW,OAAO,EAAE,OAAO,GAAG,MAAM,QAAQ,IAAO,EAAA,CAAA;AAAA,UACnEA,2BAAAA,kBAAAA,IAAC,SAAI,WAAU,gBACZ,2BACEF,2BAAAA,kBAAAA,KAAA,QAAA,EAAK,WAAU,QACd,UAAA;AAAA,YAACE,2BAAAA,kBAAAA,IAAAE,oBAAA,MAAA,EAAK,MAAK,OAAO,CAAA;AAAA,YACjB,eAAe,MAAM,CAAC;AAAA,YACtB,eAAe,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,KACjD,MAAM,eAAe,MAAM,CAAC,CAAC;AAAA,UAAA,EACjC,CAAA,IAEAJ,2BAAAA,kBAAAA,KAAC,QAAK,EAAA,WAAU,QACb,UAAA;AAAA,YAAA;AAAA,YACDA,2BAAAA,kBAAAA,KAAC,QAAK,EAAA,WAAU,aAAY,UAAA;AAAA,cAAA;AAAA,cAAE;AAAA,YAAA,EAAU,CAAA;AAAA,UAAA,EAAA,CAC1C,EAEJ,CAAA;AAAA,UAEC,mBACE,CAAC,WACCE,2BAAAA,kBAAAA,IAAA,KAAA,EAAE,MAAM,KAAK,UAAQ,MAAC,WAAU,YAC9B,UACH,mBAAA,qDAEC,OAAI,EAAA,WAAU,YAAY,UAAkB,mBAAA;AAAA,QAAA,GAEnD;AAAA,QACC,6DAAaS,oBAAO,QAAA,EAAA,WAAU,UAAS,SAAS,UAAU,MAAK,QAAQ,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC1E;AAEJ;;"}
|
|
@@ -13,6 +13,7 @@ import "react-dom";
|
|
|
13
13
|
import "../../../../context/pip/PiPWrapper.es.js";
|
|
14
14
|
import "../../../../context/AddonProjectContext.es.js";
|
|
15
15
|
import "../../../../context/AddonContext.es.js";
|
|
16
|
+
import "../../../../context/PowerpackContext.es.js";
|
|
16
17
|
const fileIcons = {
|
|
17
18
|
// special cases
|
|
18
19
|
description: ["doc"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadCard.es.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = unsavedAnnotation ?? savedAnnotation\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer className={clsx({ inProgress, isPreviewable, isDownloadable })}>\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {someAnnotation.range[0]}\n {someAnnotation.range[1] !== someAnnotation.range[0] &&\n ` - ${someAnnotation.range[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} download className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["jsxs","Fragment","jsx","Styled.File","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploadCard.es.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = unsavedAnnotation ?? savedAnnotation\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer className={clsx({ inProgress, isPreviewable, isDownloadable })}>\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {someAnnotation.range[0]}\n {someAnnotation.range[1] !== someAnnotation.range[0] &&\n ` - ${someAnnotation.range[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} download className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["jsxs","Fragment","jsx","Styled.File","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer"],"mappings":"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"}
|
package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js
CHANGED
|
@@ -30,6 +30,7 @@ require("../../../../../context/pip/PiPProvider.cjs.js");
|
|
|
30
30
|
require("../../../../../context/pip/PiPWrapper.cjs.js");
|
|
31
31
|
require("../../../../../context/AddonProjectContext.cjs.js");
|
|
32
32
|
require("../../../../../context/AddonContext.cjs.js");
|
|
33
|
+
require("../../../../../context/PowerpackContext.cjs.js");
|
|
33
34
|
require("../../CommentInput/quillToMarkdown.cjs.js");
|
|
34
35
|
require("../../ActivityComment/ActivityComment.styled.cjs.js");
|
|
35
36
|
require("../../ActivityCheckbox/ActivityCheckbox.styled.cjs.js");
|
package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityTooltip.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { productTypes } from '@shared/util'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productTypeData = productTypes[productType as keyof typeof productTypes]\n const productIcon = productTypeData?.icon || 'layers'\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["useFeedContext","type","jsx","Styled.TooltipEntityCard"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityTooltip.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { productTypes } from '@shared/util'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productTypeData = productTypes[productType as keyof typeof productTypes]\n const productIcon = productTypeData?.icon || 'layers'\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["useFeedContext","type","jsx","Styled.TooltipEntityCard"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA0B;AAEpB,MAAA,CAAC,eAAgB,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAqB,QAAA;AAGzE,QAAM,sBAAsB,YAAY,cAAc,SAAS,KAAK;AAGpE,MAAI,YAAY,YAAY;AAC1B,UAAM,YAAY,iBAAiB,WAAW,IAAI,UAAU,KAAK,QAAQ;AAClE,WAAA,GAAG,SAAS,GAAG,mBAAmB;AAAA,EAAA;AAI3C,QAAM,eAAe,iBAAiB,WAAW,eAAe,WAAW;AACpE,SAAA,GAAG,YAAY,GAAG,mBAAmB;AAC9C;AAaA,MAAM,gBAA8C,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA,KAAK,EAAE,OAAO,GAAG,MAAM,EAAA,IAAM,CAAA;AAC/B,MAAM;;AACJ,QAAM,EAAE,mBAAmB,mBAAmB,aAAa,YAAA,IAAgBA,YAAAA,eAAe;AAE1F,QAAM,QAAQ;AAGV,MAAA,OAAO,QAAQ,IAAI,OAAO,WAAmB,QAAA,OAAO,aAAa,QAAQ;AAEvE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,CAAC;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,qBAAqB,CAAC;AAE1B,QAAM,EAAE,YAAY,CAAA,GAAI,WAAW,CAAA,EAAO,IAAA;AAEpC,QAAA,YAAW,eAAU,KAAK,CAACC,UAAcA,MAAK,SAAS,QAAQ,MAApD,mBAAuD;AACxE,QAAM,eAAe,SAAS,KAAK,CAAC,MAAc,EAAE,SAAS,MAAM;AACnE,QAAM,eAAe,gBAAgB;AAAA,IACnC,UAAU;AAAA,IACV,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACK,QAAA,kBAAkB,aAAa,WAAwC;AACvE,QAAA,eAAc,mDAAiB,SAAQ;AAE7C,QAAM,QAA4C;AAAA,IAChD,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAEI,MAAA,CAAC,KAAa,QAAA;AAGhB,SAAAC,2BAAA,kBAAA;AAAA,IAACC,qBAAO;AAAA,IAAP;AAAA,MACC,OAAO,EAAE,MAAM,KAAK,UAAU,MAAM;AAAA,MACpC;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA,UAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,MACA,cAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB,CAAC,UAAU,SAAS,SAAS,QAAQ;AAAA,MACtD,WAAW,MAAM,QAAQ,EAAE;AAAA,MAC3B,UAAU,gBAAgB;AAAA,IAAA;AAAA,EAC5B;AAEJ;;"}
|
package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js
CHANGED
|
@@ -29,6 +29,7 @@ import "../../../../../context/pip/PiPProvider.es.js";
|
|
|
29
29
|
import "../../../../../context/pip/PiPWrapper.es.js";
|
|
30
30
|
import "../../../../../context/AddonProjectContext.es.js";
|
|
31
31
|
import "../../../../../context/AddonContext.es.js";
|
|
32
|
+
import "../../../../../context/PowerpackContext.es.js";
|
|
32
33
|
import "../../CommentInput/quillToMarkdown.es.js";
|
|
33
34
|
import "../../ActivityComment/ActivityComment.styled.es.js";
|
|
34
35
|
import "../../ActivityCheckbox/ActivityCheckbox.styled.es.js";
|
package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityTooltip.es.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { productTypes } from '@shared/util'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productTypeData = productTypes[productType as keyof typeof productTypes]\n const productIcon = productTypeData?.icon || 'layers'\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["type","jsx","Styled.TooltipEntityCard"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityTooltip.es.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { productTypes } from '@shared/util'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productTypeData = productTypes[productType as keyof typeof productTypes]\n const productIcon = productTypeData?.icon || 'layers'\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["type","jsx","Styled.TooltipEntityCard"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA0B;AAEpB,MAAA,CAAC,eAAgB,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAqB,QAAA;AAGzE,QAAM,sBAAsB,YAAY,cAAc,SAAS,KAAK;AAGpE,MAAI,YAAY,YAAY;AAC1B,UAAM,YAAY,iBAAiB,WAAW,IAAI,UAAU,KAAK,QAAQ;AAClE,WAAA,GAAG,SAAS,GAAG,mBAAmB;AAAA,EAAA;AAI3C,QAAM,eAAe,iBAAiB,WAAW,eAAe,WAAW;AACpE,SAAA,GAAG,YAAY,GAAG,mBAAmB;AAC9C;AAaA,MAAM,gBAA8C,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA,KAAK,EAAE,OAAO,GAAG,MAAM,EAAA,IAAM,CAAA;AAC/B,MAAM;;AACJ,QAAM,EAAE,mBAAmB,mBAAmB,aAAa,YAAA,IAAgB,eAAe;AAE1F,QAAM,QAAQ;AAGV,MAAA,OAAO,QAAQ,IAAI,OAAO,WAAmB,QAAA,OAAO,aAAa,QAAQ;AAEvE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,CAAC;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,qBAAqB,CAAC;AAE1B,QAAM,EAAE,YAAY,CAAA,GAAI,WAAW,CAAA,EAAO,IAAA;AAEpC,QAAA,YAAW,eAAU,KAAK,CAACA,UAAcA,MAAK,SAAS,QAAQ,MAApD,mBAAuD;AACxE,QAAM,eAAe,SAAS,KAAK,CAAC,MAAc,EAAE,SAAS,MAAM;AACnE,QAAM,eAAe,gBAAgB;AAAA,IACnC,UAAU;AAAA,IACV,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACK,QAAA,kBAAkB,aAAa,WAAwC;AACvE,QAAA,eAAc,mDAAiB,SAAQ;AAE7C,QAAM,QAA4C;AAAA,IAChD,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAEI,MAAA,CAAC,KAAa,QAAA;AAGhB,SAAAC,kCAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAO,EAAE,MAAM,KAAK,UAAU,MAAM;AAAA,MACpC;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA,UAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,MACA,cAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB,CAAC,UAAU,SAAS,SAAS,QAAQ;AAAA,MACtD,WAAW,MAAM,QAAQ,EAAE;AAAA,MAC3B,UAAU,gBAAgB;AAAA,IAAA;AAAA,EAC5B;AAEJ;"}
|
|
@@ -78,6 +78,7 @@ require("react-dom");
|
|
|
78
78
|
require("../../../context/pip/PiPWrapper.cjs.js");
|
|
79
79
|
require("../../../context/AddonProjectContext.cjs.js");
|
|
80
80
|
require("../../../context/AddonContext.cjs.js");
|
|
81
|
+
require("../../../context/PowerpackContext.cjs.js");
|
|
81
82
|
const FEED_NEW_COMMENT = "__new__";
|
|
82
83
|
const FeedContext = React.createContext(void 0);
|
|
83
84
|
const FeedProvider = ({ children, ...props }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedContext.cjs.js","sources":["../../../../../../src/containers/Feed/context/FeedContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from 'react'\nimport useGetFeedActivitiesData from '../hooks/useGetFeedActivitiesData'\n\n// Queries\nimport {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n useCreateReactionToActivityMutation,\n useDeleteReactionToActivityMutation,\n useGetActivityUsersQuery,\n useGetEntityMentionsQuery,\n useGetEntityTooltipQuery,\n} from '@shared/api'\nimport type { SuggestRequest, SuggestResponse } from '@shared/api'\nimport { ActivityUser } from '../helpers/groupMinorActivities'\nimport { DetailsPanelTab, useScopedDetailsPanel } from '@shared/context'\nimport { getFilterActivityTypes } from '@shared/api'\n\nexport const FEED_NEW_COMMENT = '__new__' as const\n\nexport type EditingState = null | typeof FEED_NEW_COMMENT | string\n\n// Add type for the refTooltip\nexport interface RefTooltip {\n id: string | null\n type: string\n name: string\n label: string\n pos: {\n top: number\n left: number\n }\n}\n\nexport type FeedContextProps = {\n children: React.ReactNode\n projectName: string\n entityType: string\n activityTypes?: string[] | null\n entities: any[]\n projectInfo: any\n scope: string\n userName: string\n userFullName: string\n\n // annotations\n annotations?: Record<string, any>\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n // editingId state and functions\n editingId: EditingState\n setEditingId: (id: EditingState) => void\n}\n\ninterface FeedContextType extends Omit<FeedContextProps, 'children'> {\n currentTab: DetailsPanelTab\n // activities data props\n activitiesData: any[]\n isLoadingActivities: boolean\n isLoadingNew: boolean\n isLoadingNextPage: boolean\n hasNextPage: boolean\n loadNextPage?: () => Promise<any>\n // refTooltip state and functions\n refTooltip: RefTooltip | null\n setRefTooltip: (tooltip: RefTooltip | null) => void\n // tooltip data\n entityTooltipData: any\n isFetchingTooltip: boolean\n // query functions\n createEntityActivity: (args: any) => Promise<any>\n updateActivity: (args: any) => Promise<any>\n deleteActivity: (args: any) => Promise<any>\n createReaction: (args: any) => Promise<any>\n deleteReaction: (args: any) => Promise<any>\n isUpdatingActivity: boolean\n // users data\n users: ActivityUser[]\n // mentions data\n mentionSuggestionsData: SuggestResponse\n}\n\nconst FeedContext = createContext<FeedContextType | undefined>(undefined)\n\nexport const FeedProvider = ({ children, ...props }: FeedContextProps) => {\n const { data: users = [] } = useGetActivityUsersQuery({ projects: [props.projectName] })\n const { currentTab } = useScopedDetailsPanel(props.scope)\n\n // queries\n const [createEntityActivityMutation, { isLoading: isLoadingCreate }] =\n useCreateEntityActivityMutation()\n const [updateActivityMutation, { isLoading: isLoadingUpdate }] = useUpdateActivityMutation()\n const [deleteActivityMutation, { isLoading: isLoadingDelete }] = useDeleteActivityMutation()\n const isUpdatingActivity = isLoadingCreate || isLoadingUpdate || isLoadingDelete\n\n const createEntityActivity: FeedContextType['createEntityActivity'] = async (args) =>\n await createEntityActivityMutation(args).unwrap()\n const updateActivity: FeedContextType['updateActivity'] = async (args) =>\n await updateActivityMutation(args).unwrap()\n const deleteActivity: FeedContextType['deleteActivity'] = async (args) =>\n await deleteActivityMutation(args).unwrap()\n\n const [createReactionToActivity] = useCreateReactionToActivityMutation()\n const [deleteReactionToActivity] = useDeleteReactionToActivityMutation()\n\n const createReaction: FeedContextType['createReaction'] = async (args) =>\n await createReactionToActivity(args).unwrap()\n const deleteReaction: FeedContextType['deleteReaction'] = async (args) =>\n await deleteReactionToActivity(args).unwrap()\n\n const activityTypes = getFilterActivityTypes(currentTab)\n\n const activitiesDataProps = useGetFeedActivitiesData({\n entities: props.entities,\n filter: currentTab,\n activityTypes: activityTypes,\n projectName: props.projectName,\n entityType: props.entityType,\n })\n\n const [refTooltip, setRefTooltip] = useState<RefTooltip | null>(null)\n const skip = !props.projectName || !refTooltip?.id || refTooltip.type === 'user'\n const { data: entityTooltipData, isFetching: isFetchingTooltip } = useGetEntityTooltipQuery(\n { entityType: refTooltip?.type, entityId: refTooltip?.id, projectName: props.projectName },\n { skip: skip },\n )\n\n // get all versions that can be mentioned\n const { data: mentionSuggestionsData = {} } = useGetEntityMentionsQuery(\n {\n suggestRequest: {\n entityType: props.entityType as SuggestRequest['entityType'],\n entityId: props.entities[0]?.id,\n },\n projectName: props.projectName,\n },\n { skip: !props.editingId },\n )\n\n return (\n <FeedContext.Provider\n value={{\n ...props,\n ...activitiesDataProps,\n mentionSuggestionsData,\n users,\n isUpdatingActivity,\n entityTooltipData,\n isFetchingTooltip,\n refTooltip,\n activityTypes,\n currentTab,\n setRefTooltip,\n // Query functions\n createEntityActivity,\n updateActivity,\n deleteActivity,\n createReaction,\n deleteReaction,\n }}\n >\n {children}\n </FeedContext.Provider>\n )\n}\n\nexport const useFeedContext = () => {\n const context = useContext(FeedContext)\n if (!context) {\n throw new Error('useFeedContext must be used within a FeedProvider')\n }\n return context\n}\n"],"names":["createContext","useGetActivityUsersQuery","useScopedDetailsPanel","useCreateEntityActivityMutation","useUpdateActivityMutation","useDeleteActivityMutation","useCreateReactionToActivityMutation","useDeleteReactionToActivityMutation","getFilterActivityTypes","useState","useGetEntityTooltipQuery","useGetEntityMentionsQuery","jsx","useContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FeedContext.cjs.js","sources":["../../../../../../src/containers/Feed/context/FeedContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from 'react'\nimport useGetFeedActivitiesData from '../hooks/useGetFeedActivitiesData'\n\n// Queries\nimport {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n useCreateReactionToActivityMutation,\n useDeleteReactionToActivityMutation,\n useGetActivityUsersQuery,\n useGetEntityMentionsQuery,\n useGetEntityTooltipQuery,\n} from '@shared/api'\nimport type { SuggestRequest, SuggestResponse } from '@shared/api'\nimport { ActivityUser } from '../helpers/groupMinorActivities'\nimport { DetailsPanelTab, useScopedDetailsPanel } from '@shared/context'\nimport { getFilterActivityTypes } from '@shared/api'\n\nexport const FEED_NEW_COMMENT = '__new__' as const\n\nexport type EditingState = null | typeof FEED_NEW_COMMENT | string\n\n// Add type for the refTooltip\nexport interface RefTooltip {\n id: string | null\n type: string\n name: string\n label: string\n pos: {\n top: number\n left: number\n }\n}\n\nexport type FeedContextProps = {\n children: React.ReactNode\n projectName: string\n entityType: string\n activityTypes?: string[] | null\n entities: any[]\n projectInfo: any\n scope: string\n userName: string\n userFullName: string\n\n // annotations\n annotations?: Record<string, any>\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n // editingId state and functions\n editingId: EditingState\n setEditingId: (id: EditingState) => void\n}\n\ninterface FeedContextType extends Omit<FeedContextProps, 'children'> {\n currentTab: DetailsPanelTab\n // activities data props\n activitiesData: any[]\n isLoadingActivities: boolean\n isLoadingNew: boolean\n isLoadingNextPage: boolean\n hasNextPage: boolean\n loadNextPage?: () => Promise<any>\n // refTooltip state and functions\n refTooltip: RefTooltip | null\n setRefTooltip: (tooltip: RefTooltip | null) => void\n // tooltip data\n entityTooltipData: any\n isFetchingTooltip: boolean\n // query functions\n createEntityActivity: (args: any) => Promise<any>\n updateActivity: (args: any) => Promise<any>\n deleteActivity: (args: any) => Promise<any>\n createReaction: (args: any) => Promise<any>\n deleteReaction: (args: any) => Promise<any>\n isUpdatingActivity: boolean\n // users data\n users: ActivityUser[]\n // mentions data\n mentionSuggestionsData: SuggestResponse\n}\n\nconst FeedContext = createContext<FeedContextType | undefined>(undefined)\n\nexport const FeedProvider = ({ children, ...props }: FeedContextProps) => {\n const { data: users = [] } = useGetActivityUsersQuery({ projects: [props.projectName] })\n const { currentTab } = useScopedDetailsPanel(props.scope)\n\n // queries\n const [createEntityActivityMutation, { isLoading: isLoadingCreate }] =\n useCreateEntityActivityMutation()\n const [updateActivityMutation, { isLoading: isLoadingUpdate }] = useUpdateActivityMutation()\n const [deleteActivityMutation, { isLoading: isLoadingDelete }] = useDeleteActivityMutation()\n const isUpdatingActivity = isLoadingCreate || isLoadingUpdate || isLoadingDelete\n\n const createEntityActivity: FeedContextType['createEntityActivity'] = async (args) =>\n await createEntityActivityMutation(args).unwrap()\n const updateActivity: FeedContextType['updateActivity'] = async (args) =>\n await updateActivityMutation(args).unwrap()\n const deleteActivity: FeedContextType['deleteActivity'] = async (args) =>\n await deleteActivityMutation(args).unwrap()\n\n const [createReactionToActivity] = useCreateReactionToActivityMutation()\n const [deleteReactionToActivity] = useDeleteReactionToActivityMutation()\n\n const createReaction: FeedContextType['createReaction'] = async (args) =>\n await createReactionToActivity(args).unwrap()\n const deleteReaction: FeedContextType['deleteReaction'] = async (args) =>\n await deleteReactionToActivity(args).unwrap()\n\n const activityTypes = getFilterActivityTypes(currentTab)\n\n const activitiesDataProps = useGetFeedActivitiesData({\n entities: props.entities,\n filter: currentTab,\n activityTypes: activityTypes,\n projectName: props.projectName,\n entityType: props.entityType,\n })\n\n const [refTooltip, setRefTooltip] = useState<RefTooltip | null>(null)\n const skip = !props.projectName || !refTooltip?.id || refTooltip.type === 'user'\n const { data: entityTooltipData, isFetching: isFetchingTooltip } = useGetEntityTooltipQuery(\n { entityType: refTooltip?.type, entityId: refTooltip?.id, projectName: props.projectName },\n { skip: skip },\n )\n\n // get all versions that can be mentioned\n const { data: mentionSuggestionsData = {} } = useGetEntityMentionsQuery(\n {\n suggestRequest: {\n entityType: props.entityType as SuggestRequest['entityType'],\n entityId: props.entities[0]?.id,\n },\n projectName: props.projectName,\n },\n { skip: !props.editingId },\n )\n\n return (\n <FeedContext.Provider\n value={{\n ...props,\n ...activitiesDataProps,\n mentionSuggestionsData,\n users,\n isUpdatingActivity,\n entityTooltipData,\n isFetchingTooltip,\n refTooltip,\n activityTypes,\n currentTab,\n setRefTooltip,\n // Query functions\n createEntityActivity,\n updateActivity,\n deleteActivity,\n createReaction,\n deleteReaction,\n }}\n >\n {children}\n </FeedContext.Provider>\n )\n}\n\nexport const useFeedContext = () => {\n const context = useContext(FeedContext)\n if (!context) {\n throw new Error('useFeedContext must be used within a FeedProvider')\n }\n return context\n}\n"],"names":["createContext","useGetActivityUsersQuery","useScopedDetailsPanel","useCreateEntityActivityMutation","useUpdateActivityMutation","useDeleteActivityMutation","useCreateReactionToActivityMutation","useDeleteReactionToActivityMutation","getFilterActivityTypes","useState","useGetEntityTooltipQuery","useGetEntityMentionsQuery","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,mBAAmB;AAgEhC,MAAM,cAAcA,oBAA2C,MAAS;AAEjE,MAAM,eAAe,CAAC,EAAE,UAAU,GAAG,YAA8B;;AACxE,QAAM,EAAE,MAAM,QAAQ,CAAA,MAAOC,cAAAA,yBAAyB,EAAE,UAAU,CAAC,MAAM,WAAW,GAAG;AACvF,QAAM,EAAE,WAAe,IAAAC,0CAAsB,MAAM,KAAK;AAGxD,QAAM,CAAC,8BAA8B,EAAE,WAAW,gBAAiB,CAAA,IACjEC,iBAAAA,gCAAgC;AAClC,QAAM,CAAC,wBAAwB,EAAE,WAAW,gBAAiB,CAAA,IAAIC,iBAAAA,0BAA0B;AAC3F,QAAM,CAAC,wBAAwB,EAAE,WAAW,gBAAiB,CAAA,IAAIC,iBAAAA,0BAA0B;AACrF,QAAA,qBAAqB,mBAAmB,mBAAmB;AAEjE,QAAM,uBAAgE,OAAO,SAC3E,MAAM,6BAA6B,IAAI,EAAE,OAAO;AAClD,QAAM,iBAAoD,OAAO,SAC/D,MAAM,uBAAuB,IAAI,EAAE,OAAO;AAC5C,QAAM,iBAAoD,OAAO,SAC/D,MAAM,uBAAuB,IAAI,EAAE,OAAO;AAEtC,QAAA,CAAC,wBAAwB,IAAIC,mDAAoC;AACjE,QAAA,CAAC,wBAAwB,IAAIC,mDAAoC;AAEvE,QAAM,iBAAoD,OAAO,SAC/D,MAAM,yBAAyB,IAAI,EAAE,OAAO;AAC9C,QAAM,iBAAoD,OAAO,SAC/D,MAAM,yBAAyB,IAAI,EAAE,OAAO;AAExC,QAAA,gBAAgBC,yCAAuB,UAAU;AAEvD,QAAM,sBAAsB,yBAAyB;AAAA,IACnD,UAAU,MAAM;AAAA,IAChB,QAAQ;AAAA,IACR;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,YAAY,MAAM;AAAA,EAAA,CACnB;AAED,QAAM,CAAC,YAAY,aAAa,IAAIC,MAAAA,SAA4B,IAAI;AAC9D,QAAA,OAAO,CAAC,MAAM,eAAe,EAAC,yCAAY,OAAM,WAAW,SAAS;AAC1E,QAAM,EAAE,MAAM,mBAAmB,YAAY,kBAAsB,IAAAC,cAAA;AAAA,IACjE,EAAE,YAAY,yCAAY,MAAM,UAAU,yCAAY,IAAI,aAAa,MAAM,YAAY;AAAA,IACzF,EAAE,KAAW;AAAA,EACf;AAGA,QAAM,EAAE,MAAM,yBAAyB,CAAA,EAAO,IAAAC,YAAA;AAAA,IAC5C;AAAA,MACE,gBAAgB;AAAA,QACd,YAAY,MAAM;AAAA,QAClB,WAAU,WAAM,SAAS,CAAC,MAAhB,mBAAmB;AAAA,MAC/B;AAAA,MACA,aAAa,MAAM;AAAA,IACrB;AAAA,IACA,EAAE,MAAM,CAAC,MAAM,UAAU;AAAA,EAC3B;AAGE,SAAAC,2BAAA,kBAAA;AAAA,IAAC,YAAY;AAAA,IAAZ;AAAA,MACC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,iBAAiB,MAAM;AAC5B,QAAA,UAAUC,iBAAW,WAAW;AACtC,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,mDAAmD;AAAA,EAAA;AAE9D,SAAA;AACT;;;;"}
|
|
@@ -76,6 +76,7 @@ import "react-dom";
|
|
|
76
76
|
import "../../../context/pip/PiPWrapper.es.js";
|
|
77
77
|
import "../../../context/AddonProjectContext.es.js";
|
|
78
78
|
import "../../../context/AddonContext.es.js";
|
|
79
|
+
import "../../../context/PowerpackContext.es.js";
|
|
79
80
|
const FEED_NEW_COMMENT = "__new__";
|
|
80
81
|
const FeedContext = createContext(void 0);
|
|
81
82
|
const FeedProvider = ({ children, ...props }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedContext.es.js","sources":["../../../../../../src/containers/Feed/context/FeedContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from 'react'\nimport useGetFeedActivitiesData from '../hooks/useGetFeedActivitiesData'\n\n// Queries\nimport {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n useCreateReactionToActivityMutation,\n useDeleteReactionToActivityMutation,\n useGetActivityUsersQuery,\n useGetEntityMentionsQuery,\n useGetEntityTooltipQuery,\n} from '@shared/api'\nimport type { SuggestRequest, SuggestResponse } from '@shared/api'\nimport { ActivityUser } from '../helpers/groupMinorActivities'\nimport { DetailsPanelTab, useScopedDetailsPanel } from '@shared/context'\nimport { getFilterActivityTypes } from '@shared/api'\n\nexport const FEED_NEW_COMMENT = '__new__' as const\n\nexport type EditingState = null | typeof FEED_NEW_COMMENT | string\n\n// Add type for the refTooltip\nexport interface RefTooltip {\n id: string | null\n type: string\n name: string\n label: string\n pos: {\n top: number\n left: number\n }\n}\n\nexport type FeedContextProps = {\n children: React.ReactNode\n projectName: string\n entityType: string\n activityTypes?: string[] | null\n entities: any[]\n projectInfo: any\n scope: string\n userName: string\n userFullName: string\n\n // annotations\n annotations?: Record<string, any>\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n // editingId state and functions\n editingId: EditingState\n setEditingId: (id: EditingState) => void\n}\n\ninterface FeedContextType extends Omit<FeedContextProps, 'children'> {\n currentTab: DetailsPanelTab\n // activities data props\n activitiesData: any[]\n isLoadingActivities: boolean\n isLoadingNew: boolean\n isLoadingNextPage: boolean\n hasNextPage: boolean\n loadNextPage?: () => Promise<any>\n // refTooltip state and functions\n refTooltip: RefTooltip | null\n setRefTooltip: (tooltip: RefTooltip | null) => void\n // tooltip data\n entityTooltipData: any\n isFetchingTooltip: boolean\n // query functions\n createEntityActivity: (args: any) => Promise<any>\n updateActivity: (args: any) => Promise<any>\n deleteActivity: (args: any) => Promise<any>\n createReaction: (args: any) => Promise<any>\n deleteReaction: (args: any) => Promise<any>\n isUpdatingActivity: boolean\n // users data\n users: ActivityUser[]\n // mentions data\n mentionSuggestionsData: SuggestResponse\n}\n\nconst FeedContext = createContext<FeedContextType | undefined>(undefined)\n\nexport const FeedProvider = ({ children, ...props }: FeedContextProps) => {\n const { data: users = [] } = useGetActivityUsersQuery({ projects: [props.projectName] })\n const { currentTab } = useScopedDetailsPanel(props.scope)\n\n // queries\n const [createEntityActivityMutation, { isLoading: isLoadingCreate }] =\n useCreateEntityActivityMutation()\n const [updateActivityMutation, { isLoading: isLoadingUpdate }] = useUpdateActivityMutation()\n const [deleteActivityMutation, { isLoading: isLoadingDelete }] = useDeleteActivityMutation()\n const isUpdatingActivity = isLoadingCreate || isLoadingUpdate || isLoadingDelete\n\n const createEntityActivity: FeedContextType['createEntityActivity'] = async (args) =>\n await createEntityActivityMutation(args).unwrap()\n const updateActivity: FeedContextType['updateActivity'] = async (args) =>\n await updateActivityMutation(args).unwrap()\n const deleteActivity: FeedContextType['deleteActivity'] = async (args) =>\n await deleteActivityMutation(args).unwrap()\n\n const [createReactionToActivity] = useCreateReactionToActivityMutation()\n const [deleteReactionToActivity] = useDeleteReactionToActivityMutation()\n\n const createReaction: FeedContextType['createReaction'] = async (args) =>\n await createReactionToActivity(args).unwrap()\n const deleteReaction: FeedContextType['deleteReaction'] = async (args) =>\n await deleteReactionToActivity(args).unwrap()\n\n const activityTypes = getFilterActivityTypes(currentTab)\n\n const activitiesDataProps = useGetFeedActivitiesData({\n entities: props.entities,\n filter: currentTab,\n activityTypes: activityTypes,\n projectName: props.projectName,\n entityType: props.entityType,\n })\n\n const [refTooltip, setRefTooltip] = useState<RefTooltip | null>(null)\n const skip = !props.projectName || !refTooltip?.id || refTooltip.type === 'user'\n const { data: entityTooltipData, isFetching: isFetchingTooltip } = useGetEntityTooltipQuery(\n { entityType: refTooltip?.type, entityId: refTooltip?.id, projectName: props.projectName },\n { skip: skip },\n )\n\n // get all versions that can be mentioned\n const { data: mentionSuggestionsData = {} } = useGetEntityMentionsQuery(\n {\n suggestRequest: {\n entityType: props.entityType as SuggestRequest['entityType'],\n entityId: props.entities[0]?.id,\n },\n projectName: props.projectName,\n },\n { skip: !props.editingId },\n )\n\n return (\n <FeedContext.Provider\n value={{\n ...props,\n ...activitiesDataProps,\n mentionSuggestionsData,\n users,\n isUpdatingActivity,\n entityTooltipData,\n isFetchingTooltip,\n refTooltip,\n activityTypes,\n currentTab,\n setRefTooltip,\n // Query functions\n createEntityActivity,\n updateActivity,\n deleteActivity,\n createReaction,\n deleteReaction,\n }}\n >\n {children}\n </FeedContext.Provider>\n )\n}\n\nexport const useFeedContext = () => {\n const context = useContext(FeedContext)\n if (!context) {\n throw new Error('useFeedContext must be used within a FeedProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FeedContext.es.js","sources":["../../../../../../src/containers/Feed/context/FeedContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from 'react'\nimport useGetFeedActivitiesData from '../hooks/useGetFeedActivitiesData'\n\n// Queries\nimport {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n useCreateReactionToActivityMutation,\n useDeleteReactionToActivityMutation,\n useGetActivityUsersQuery,\n useGetEntityMentionsQuery,\n useGetEntityTooltipQuery,\n} from '@shared/api'\nimport type { SuggestRequest, SuggestResponse } from '@shared/api'\nimport { ActivityUser } from '../helpers/groupMinorActivities'\nimport { DetailsPanelTab, useScopedDetailsPanel } from '@shared/context'\nimport { getFilterActivityTypes } from '@shared/api'\n\nexport const FEED_NEW_COMMENT = '__new__' as const\n\nexport type EditingState = null | typeof FEED_NEW_COMMENT | string\n\n// Add type for the refTooltip\nexport interface RefTooltip {\n id: string | null\n type: string\n name: string\n label: string\n pos: {\n top: number\n left: number\n }\n}\n\nexport type FeedContextProps = {\n children: React.ReactNode\n projectName: string\n entityType: string\n activityTypes?: string[] | null\n entities: any[]\n projectInfo: any\n scope: string\n userName: string\n userFullName: string\n\n // annotations\n annotations?: Record<string, any>\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n // editingId state and functions\n editingId: EditingState\n setEditingId: (id: EditingState) => void\n}\n\ninterface FeedContextType extends Omit<FeedContextProps, 'children'> {\n currentTab: DetailsPanelTab\n // activities data props\n activitiesData: any[]\n isLoadingActivities: boolean\n isLoadingNew: boolean\n isLoadingNextPage: boolean\n hasNextPage: boolean\n loadNextPage?: () => Promise<any>\n // refTooltip state and functions\n refTooltip: RefTooltip | null\n setRefTooltip: (tooltip: RefTooltip | null) => void\n // tooltip data\n entityTooltipData: any\n isFetchingTooltip: boolean\n // query functions\n createEntityActivity: (args: any) => Promise<any>\n updateActivity: (args: any) => Promise<any>\n deleteActivity: (args: any) => Promise<any>\n createReaction: (args: any) => Promise<any>\n deleteReaction: (args: any) => Promise<any>\n isUpdatingActivity: boolean\n // users data\n users: ActivityUser[]\n // mentions data\n mentionSuggestionsData: SuggestResponse\n}\n\nconst FeedContext = createContext<FeedContextType | undefined>(undefined)\n\nexport const FeedProvider = ({ children, ...props }: FeedContextProps) => {\n const { data: users = [] } = useGetActivityUsersQuery({ projects: [props.projectName] })\n const { currentTab } = useScopedDetailsPanel(props.scope)\n\n // queries\n const [createEntityActivityMutation, { isLoading: isLoadingCreate }] =\n useCreateEntityActivityMutation()\n const [updateActivityMutation, { isLoading: isLoadingUpdate }] = useUpdateActivityMutation()\n const [deleteActivityMutation, { isLoading: isLoadingDelete }] = useDeleteActivityMutation()\n const isUpdatingActivity = isLoadingCreate || isLoadingUpdate || isLoadingDelete\n\n const createEntityActivity: FeedContextType['createEntityActivity'] = async (args) =>\n await createEntityActivityMutation(args).unwrap()\n const updateActivity: FeedContextType['updateActivity'] = async (args) =>\n await updateActivityMutation(args).unwrap()\n const deleteActivity: FeedContextType['deleteActivity'] = async (args) =>\n await deleteActivityMutation(args).unwrap()\n\n const [createReactionToActivity] = useCreateReactionToActivityMutation()\n const [deleteReactionToActivity] = useDeleteReactionToActivityMutation()\n\n const createReaction: FeedContextType['createReaction'] = async (args) =>\n await createReactionToActivity(args).unwrap()\n const deleteReaction: FeedContextType['deleteReaction'] = async (args) =>\n await deleteReactionToActivity(args).unwrap()\n\n const activityTypes = getFilterActivityTypes(currentTab)\n\n const activitiesDataProps = useGetFeedActivitiesData({\n entities: props.entities,\n filter: currentTab,\n activityTypes: activityTypes,\n projectName: props.projectName,\n entityType: props.entityType,\n })\n\n const [refTooltip, setRefTooltip] = useState<RefTooltip | null>(null)\n const skip = !props.projectName || !refTooltip?.id || refTooltip.type === 'user'\n const { data: entityTooltipData, isFetching: isFetchingTooltip } = useGetEntityTooltipQuery(\n { entityType: refTooltip?.type, entityId: refTooltip?.id, projectName: props.projectName },\n { skip: skip },\n )\n\n // get all versions that can be mentioned\n const { data: mentionSuggestionsData = {} } = useGetEntityMentionsQuery(\n {\n suggestRequest: {\n entityType: props.entityType as SuggestRequest['entityType'],\n entityId: props.entities[0]?.id,\n },\n projectName: props.projectName,\n },\n { skip: !props.editingId },\n )\n\n return (\n <FeedContext.Provider\n value={{\n ...props,\n ...activitiesDataProps,\n mentionSuggestionsData,\n users,\n isUpdatingActivity,\n entityTooltipData,\n isFetchingTooltip,\n refTooltip,\n activityTypes,\n currentTab,\n setRefTooltip,\n // Query functions\n createEntityActivity,\n updateActivity,\n deleteActivity,\n createReaction,\n deleteReaction,\n }}\n >\n {children}\n </FeedContext.Provider>\n )\n}\n\nexport const useFeedContext = () => {\n const context = useContext(FeedContext)\n if (!context) {\n throw new Error('useFeedContext must be used within a FeedProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,mBAAmB;AAgEhC,MAAM,cAAc,cAA2C,MAAS;AAEjE,MAAM,eAAe,CAAC,EAAE,UAAU,GAAG,YAA8B;;AACxE,QAAM,EAAE,MAAM,QAAQ,CAAA,MAAO,yBAAyB,EAAE,UAAU,CAAC,MAAM,WAAW,GAAG;AACvF,QAAM,EAAE,WAAe,IAAA,sBAAsB,MAAM,KAAK;AAGxD,QAAM,CAAC,8BAA8B,EAAE,WAAW,gBAAiB,CAAA,IACjE,gCAAgC;AAClC,QAAM,CAAC,wBAAwB,EAAE,WAAW,gBAAiB,CAAA,IAAI,0BAA0B;AAC3F,QAAM,CAAC,wBAAwB,EAAE,WAAW,gBAAiB,CAAA,IAAI,0BAA0B;AACrF,QAAA,qBAAqB,mBAAmB,mBAAmB;AAEjE,QAAM,uBAAgE,OAAO,SAC3E,MAAM,6BAA6B,IAAI,EAAE,OAAO;AAClD,QAAM,iBAAoD,OAAO,SAC/D,MAAM,uBAAuB,IAAI,EAAE,OAAO;AAC5C,QAAM,iBAAoD,OAAO,SAC/D,MAAM,uBAAuB,IAAI,EAAE,OAAO;AAEtC,QAAA,CAAC,wBAAwB,IAAI,oCAAoC;AACjE,QAAA,CAAC,wBAAwB,IAAI,oCAAoC;AAEvE,QAAM,iBAAoD,OAAO,SAC/D,MAAM,yBAAyB,IAAI,EAAE,OAAO;AAC9C,QAAM,iBAAoD,OAAO,SAC/D,MAAM,yBAAyB,IAAI,EAAE,OAAO;AAExC,QAAA,gBAAgB,uBAAuB,UAAU;AAEvD,QAAM,sBAAsB,yBAAyB;AAAA,IACnD,UAAU,MAAM;AAAA,IAChB,QAAQ;AAAA,IACR;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,YAAY,MAAM;AAAA,EAAA,CACnB;AAED,QAAM,CAAC,YAAY,aAAa,IAAI,SAA4B,IAAI;AAC9D,QAAA,OAAO,CAAC,MAAM,eAAe,EAAC,yCAAY,OAAM,WAAW,SAAS;AAC1E,QAAM,EAAE,MAAM,mBAAmB,YAAY,kBAAsB,IAAA;AAAA,IACjE,EAAE,YAAY,yCAAY,MAAM,UAAU,yCAAY,IAAI,aAAa,MAAM,YAAY;AAAA,IACzF,EAAE,KAAW;AAAA,EACf;AAGA,QAAM,EAAE,MAAM,yBAAyB,CAAA,EAAO,IAAA;AAAA,IAC5C;AAAA,MACE,gBAAgB;AAAA,QACd,YAAY,MAAM;AAAA,QAClB,WAAU,WAAM,SAAS,CAAC,MAAhB,mBAAmB;AAAA,MAC/B;AAAA,MACA,aAAa,MAAM;AAAA,IACrB;AAAA,IACA,EAAE,MAAM,CAAC,MAAM,UAAU;AAAA,EAC3B;AAGE,SAAAA,kCAAA;AAAA,IAAC,YAAY;AAAA,IAAZ;AAAA,MACC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,iBAAiB,MAAM;AAC5B,QAAA,UAAU,WAAW,WAAW;AACtC,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,mDAAmD;AAAA,EAAA;AAE9D,SAAA;AACT;"}
|