@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
|
@@ -49,12 +49,14 @@ const transformFilteredEntitiesByParent = (response) => {
|
|
|
49
49
|
tasks.push({
|
|
50
50
|
...taskNode,
|
|
51
51
|
folderId: taskNode.folderId || "root",
|
|
52
|
-
attrib: parseAllAttribs(taskNode.allAttrib)
|
|
52
|
+
attrib: parseAllAttribs(taskNode.allAttrib),
|
|
53
|
+
entityId: taskNode.id,
|
|
54
|
+
entityType: "task"
|
|
53
55
|
});
|
|
54
56
|
}
|
|
55
57
|
return tasks;
|
|
56
58
|
};
|
|
57
|
-
const getOverviewTaskTags = (result, projectName, parentIds) => {
|
|
59
|
+
const getOverviewTaskTags = (result = [], projectName, parentIds) => {
|
|
58
60
|
const taskTags = (result == null ? void 0 : result.map((task) => ({ type: "overviewTask", id: task.id }))) || [];
|
|
59
61
|
if (!parentIds) return taskTags;
|
|
60
62
|
const parentTags = (Array.isArray(parentIds) ? parentIds : [parentIds]).map((id) => ({
|
|
@@ -88,9 +90,11 @@ const enhancedApi = injectedRtkApi.enhanceEndpoints({
|
|
|
88
90
|
});
|
|
89
91
|
const foldersApiEnhanced = injectedRtkApi$1.enhanceEndpoints({
|
|
90
92
|
endpoints: {
|
|
91
|
-
queryTasksFolders: {}
|
|
93
|
+
queryTasksFolders: {},
|
|
94
|
+
getTaskGroups: {}
|
|
92
95
|
}
|
|
93
96
|
});
|
|
97
|
+
const { useGetTaskGroupsQuery } = foldersApiEnhanced;
|
|
94
98
|
const TASKS_INFINITE_QUERY_COUNT = 100;
|
|
95
99
|
const injectedApi = enhancedApi.injectEndpoints({
|
|
96
100
|
endpoints: (build) => ({
|
|
@@ -223,6 +227,61 @@ const injectedApi = enhancedApi.injectEndpoints({
|
|
|
223
227
|
}
|
|
224
228
|
},
|
|
225
229
|
providesTags: (result, _e, { projectName }) => getOverviewTaskTags((result == null ? void 0 : result.pages.flatMap((p) => p.tasks)) || [], projectName)
|
|
230
|
+
}),
|
|
231
|
+
getGroupedTasksList: build.query({
|
|
232
|
+
queryFn: async ({ projectName, groups, search, desc, sortBy }, api) => {
|
|
233
|
+
var _a, _b, _c, _d, _e, _f;
|
|
234
|
+
try {
|
|
235
|
+
let promises = [];
|
|
236
|
+
for (const group of groups) {
|
|
237
|
+
const count = group.count || 500;
|
|
238
|
+
const queryParams = {
|
|
239
|
+
projectName,
|
|
240
|
+
filter: group.filter,
|
|
241
|
+
search,
|
|
242
|
+
sortBy,
|
|
243
|
+
// @ts-expect-error - we know group does not exist on query variables but we need it for later
|
|
244
|
+
group: group.value
|
|
245
|
+
};
|
|
246
|
+
if (desc) {
|
|
247
|
+
queryParams.last = count;
|
|
248
|
+
} else {
|
|
249
|
+
queryParams.first = count;
|
|
250
|
+
}
|
|
251
|
+
const promise = api.dispatch(
|
|
252
|
+
enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true })
|
|
253
|
+
);
|
|
254
|
+
promises.push(promise);
|
|
255
|
+
}
|
|
256
|
+
const result = await Promise.all(promises);
|
|
257
|
+
const tasks = [];
|
|
258
|
+
for (const res of result) {
|
|
259
|
+
if (res.error) throw res.error;
|
|
260
|
+
const groupValue = (_a = res.originalArgs) == null ? void 0 : _a.group;
|
|
261
|
+
const hasNextPage = ((_c = (_b = res.data) == null ? void 0 : _b.pageInfo) == null ? void 0 : _c.hasNextPage) || ((_e = (_d = res.data) == null ? void 0 : _d.pageInfo) == null ? void 0 : _e.hasPreviousPage) || false;
|
|
262
|
+
const groupTasks = ((_f = res.data) == null ? void 0 : _f.tasks.map((task, i, a) => ({
|
|
263
|
+
...task,
|
|
264
|
+
groups: [
|
|
265
|
+
{
|
|
266
|
+
value: groupValue,
|
|
267
|
+
hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : void 0
|
|
268
|
+
// Only add hasNextPage to the last task in the group
|
|
269
|
+
}
|
|
270
|
+
]
|
|
271
|
+
}))) || [];
|
|
272
|
+
tasks.push(...groupTasks);
|
|
273
|
+
}
|
|
274
|
+
return {
|
|
275
|
+
data: {
|
|
276
|
+
tasks
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
} catch (error) {
|
|
280
|
+
console.error("Error in getGroupedTasksList queryFn:", error);
|
|
281
|
+
return { error: { status: "FETCH_ERROR", error: error.message } };
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
providesTags: (result, _e, { projectName }) => getOverviewTaskTags(result == null ? void 0 : result.tasks, projectName)
|
|
226
285
|
})
|
|
227
286
|
})
|
|
228
287
|
});
|
|
@@ -231,14 +290,17 @@ const {
|
|
|
231
290
|
useGetQueryTasksFoldersQuery,
|
|
232
291
|
useGetTasksListQuery,
|
|
233
292
|
useGetTasksListInfiniteInfiniteQuery,
|
|
234
|
-
useLazyGetTasksByParentQuery
|
|
293
|
+
useLazyGetTasksByParentQuery,
|
|
294
|
+
useGetGroupedTasksListQuery
|
|
235
295
|
} = injectedApi;
|
|
236
296
|
export {
|
|
237
297
|
TASKS_INFINITE_QUERY_COUNT,
|
|
238
298
|
injectedApi as default,
|
|
239
299
|
parseAllAttribs,
|
|
300
|
+
useGetGroupedTasksListQuery,
|
|
240
301
|
useGetOverviewTasksByFoldersQuery,
|
|
241
302
|
useGetQueryTasksFoldersQuery,
|
|
303
|
+
useGetTaskGroupsQuery,
|
|
242
304
|
useGetTasksListInfiniteInfiniteQuery,
|
|
243
305
|
useGetTasksListQuery,
|
|
244
306
|
useLazyGetTasksByParentQuery
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOverview.es.js","sources":["../../../../../../src/api/queries/overview/getOverview.ts"],"sourcesContent":["import {\n gqlApi,\n GetTasksByParentQuery,\n GetTasksListQuery,\n tasksApi,\n QueryTasksFoldersApiArg,\n} from '@shared/api/generated'\nimport { EditorTaskNode } from '@shared/containers/ProjectTreeTable'\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\n\n// parse attribs JSON string to object\nexport const parseAllAttribs = (allAttrib: string) => {\n try {\n return JSON.parse(allAttrib)\n } catch (e) {\n return {}\n }\n}\n\nconst transformFilteredEntitiesByParent = (response: GetTasksByParentQuery): EditorTaskNode[] => {\n if (!response.project) {\n return []\n }\n\n const tasks: EditorTaskNode[] = []\n for (const { node: taskNode } of response.project.tasks.edges) {\n tasks.push({\n ...taskNode,\n folderId: taskNode.folderId || 'root',\n attrib: parseAllAttribs(taskNode.allAttrib),\n })\n }\n\n return tasks\n}\n\nconst getOverviewTaskTags = (\n result: EditorTaskNode[] | undefined,\n projectName: string,\n parentIds?: string | string[],\n) => {\n const taskTags = result?.map((task) => ({ type: 'overviewTask', id: task.id })) || []\n\n if (!parentIds) return taskTags\n\n const parentTags = (Array.isArray(parentIds) ? parentIds : [parentIds]).map((id) => ({\n type: 'overviewTask',\n id,\n }))\n\n return [\n ...taskTags,\n ...parentTags,\n { type: 'overviewTask', id: projectName },\n { type: 'overviewTask', id: 'LIST' },\n ]\n}\n\ntype GetTasksListResult = {\n pageInfo: GetTasksListQuery['project']['tasks']['pageInfo']\n tasks: EditorTaskNode[]\n}\n\n// Define the page param type for infinite query\ntype TasksListPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\ntype UpdatedDefinitions = Omit<Definitions, 'GetFilteredEntities'> & {\n GetTasksByParent: OverrideResultType<Definitions['GetTasksByParent'], EditorTaskNode[]>\n GetTasksList: OverrideResultType<Definitions['GetTasksList'], GetTasksListResult>\n}\n\n// GRAPHQL API\nconst enhancedApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // This gets tasks for all parent folders provided\n // But in this case it will only ever receive one parent folder from the getOverviewTasksByFolders query\n // It is only used by getOverviewTasksByFolders in this file\n GetTasksByParent: {\n transformResponse: transformFilteredEntitiesByParent,\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n },\n GetTasksList: {\n transformResponse: (result: GetTasksListQuery) => ({\n tasks: transformFilteredEntitiesByParent(result),\n pageInfo: result.project.tasks.pageInfo,\n }),\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.tasks || [], projectName),\n },\n },\n})\n\n// REST FOLDERS API\nconst foldersApiEnhanced = tasksApi.enhanceEndpoints({\n endpoints: {\n queryTasksFolders: {},\n },\n})\n\nexport const TASKS_INFINITE_QUERY_COUNT = 100 // Number of items to fetch per page\n\nconst injectedApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // Each project has one cache for all the tasks of the expanded folders\n // Changing the expanded folders will trigger a refetch but not a new cache\n // Each expanded folder has it's own query that is looped over here\n // When new folders are expanded, the new tasks are fetched and we use the cache for the rest\n // This also solves the pagination issue of getting all tasks in one query, splitting it up in multiple queries to avoid pagination limits\n getOverviewTasksByFolders: build.query<\n EditorTaskNode[],\n { projectName: string; parentIds: string[]; filter?: string; search?: string }\n >({\n async queryFn({ projectName, parentIds, filter, search }, { dispatch, forced }) {\n try {\n // Process parent IDs in sequential batches\n const BATCH_SIZE = 20 // Process x parentIds at a time\n const allTasks: EditorTaskNode[] = []\n\n // Process batches one after another\n for (let i = 0; i < parentIds.length; i += BATCH_SIZE) {\n const batchParentIds = parentIds.slice(i, i + BATCH_SIZE)\n\n // Process this batch in parallel\n const batchResults = await Promise.all(\n batchParentIds.map(async (parentId) =>\n dispatch(\n enhancedApi.endpoints.GetTasksByParent.initiate(\n {\n projectName,\n parentIds: [parentId],\n filter,\n search,\n },\n { forceRefetch: forced },\n ),\n ),\n ),\n )\n\n // Add the results from this batch to our accumulated results\n const batchTasks = batchResults\n .filter((r) => !!r.data)\n .flatMap((result) => result.data as EditorTaskNode[])\n\n allTasks.push(...batchTasks)\n }\n\n return { data: allTasks }\n } catch (e: any) {\n // handle errors appropriately\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n // keep one cache per project\n serializeQueryArgs: ({ queryArgs: { parentIds, ...rest } }) => ({\n ...rest,\n }),\n // Refetch when the page arg changes\n forceRefetch({ currentArg, previousArg }) {\n return JSON.stringify(currentArg) !== JSON.stringify(previousArg)\n },\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n }),\n // queryTasksFolders is a post so it's a bit annoying to consume\n // we wrap it in a queryFn to make it easier to consume as a query hook\n getQueryTasksFolders: build.query<string[], QueryTasksFoldersApiArg>({\n async queryFn({ projectName, tasksFoldersQuery }, { dispatch }) {\n try {\n const result = await dispatch(\n foldersApiEnhanced.endpoints.queryTasksFolders.initiate({\n projectName,\n tasksFoldersQuery,\n }),\n )\n\n const data = result.data?.folderIds || []\n\n return { data }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n }),\n // Add new infinite query endpoint for tasks list\n getTasksListInfinite: build.infiniteQuery<\n GetTasksListResult,\n {\n projectName: string\n filter?: string\n search?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n },\n TasksListPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n\n if (!hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, filter, search, folderIds, sortBy, desc } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetTasksList\n const queryParams: any = {\n projectName,\n filter,\n search,\n folderIds,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = TASKS_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n\n // Call the existing GetTasksList endpoint\n const result = await api.dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n tasks: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the tasks directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getTasksListInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.pages.flatMap((p) => p.tasks) || [], projectName),\n }),\n }),\n})\n\nexport const {\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListQuery,\n useGetTasksListInfiniteInfiniteQuery,\n useLazyGetTasksByParentQuery,\n} = injectedApi\nexport default injectedApi\n"],"names":["gqlApi","tasksApi"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getOverview.es.js","sources":["../../../../../../src/api/queries/overview/getOverview.ts"],"sourcesContent":["import {\n gqlApi,\n GetTasksByParentQuery,\n GetTasksListQuery,\n tasksApi,\n QueryTasksFoldersApiArg,\n GetTasksListQueryVariables,\n} from '@shared/api/generated'\nimport { EditorTaskNode, TableGroupBy } from '@shared/containers/ProjectTreeTable'\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\n\n// parse attribs JSON string to object\nexport const parseAllAttribs = (allAttrib: string) => {\n try {\n return JSON.parse(allAttrib)\n } catch (e) {\n return {}\n }\n}\n\nconst transformFilteredEntitiesByParent = (response: GetTasksByParentQuery): EditorTaskNode[] => {\n if (!response.project) {\n return []\n }\n\n const tasks: EditorTaskNode[] = []\n for (const { node: taskNode } of response.project.tasks.edges) {\n tasks.push({\n ...taskNode,\n folderId: taskNode.folderId || 'root',\n attrib: parseAllAttribs(taskNode.allAttrib),\n entityId: taskNode.id,\n entityType: 'task',\n })\n }\n\n return tasks\n}\n\nconst getOverviewTaskTags = (\n result: EditorTaskNode[] | undefined = [],\n projectName: string,\n parentIds?: string | string[],\n) => {\n const taskTags = result?.map((task) => ({ type: 'overviewTask', id: task.id })) || []\n\n if (!parentIds) return taskTags\n\n const parentTags = (Array.isArray(parentIds) ? parentIds : [parentIds]).map((id) => ({\n type: 'overviewTask',\n id,\n }))\n\n return [\n ...taskTags,\n ...parentTags,\n { type: 'overviewTask', id: projectName },\n { type: 'overviewTask', id: 'LIST' },\n ]\n}\n\nexport type GetTasksListResult = {\n pageInfo: GetTasksListQuery['project']['tasks']['pageInfo']\n tasks: EditorTaskNode[]\n}\n\nexport type GetTasksListArgs = {\n projectName: string\n filter?: string\n search?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n}\n\nexport type GetGroupedTasksListResult = {\n tasks: EditorTaskNode[]\n}\n\nexport type GetGroupedTasksListArgs = {\n projectName: string\n groups: { filter: string; count: number; value: string }[]\n search?: string\n desc?: boolean\n sortBy?: string\n}\n\n// Define the page param type for infinite query\ntype TasksListPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\ntype UpdatedDefinitions = Omit<Definitions, 'GetFilteredEntities'> & {\n GetTasksByParent: OverrideResultType<Definitions['GetTasksByParent'], EditorTaskNode[]>\n GetTasksList: OverrideResultType<Definitions['GetTasksList'], GetTasksListResult>\n}\n\n// GRAPHQL API\nconst enhancedApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // This gets tasks for all parent folders provided\n // But in this case it will only ever receive one parent folder from the getOverviewTasksByFolders query\n // It is only used by getOverviewTasksByFolders in this file\n GetTasksByParent: {\n transformResponse: transformFilteredEntitiesByParent,\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n },\n GetTasksList: {\n transformResponse: (result: GetTasksListQuery) => ({\n tasks: transformFilteredEntitiesByParent(result),\n pageInfo: result.project.tasks.pageInfo,\n }),\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.tasks || [], projectName),\n },\n },\n})\n\n// REST FOLDERS API\nconst foldersApiEnhanced = tasksApi.enhanceEndpoints({\n endpoints: {\n queryTasksFolders: {},\n getTaskGroups: {},\n },\n})\n\nexport const { useGetTaskGroupsQuery } = foldersApiEnhanced\n\nexport const TASKS_INFINITE_QUERY_COUNT = 100 // Number of items to fetch per page\n\nconst injectedApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // Each project has one cache for all the tasks of the expanded folders\n // Changing the expanded folders will trigger a refetch but not a new cache\n // Each expanded folder has it's own query that is looped over here\n // When new folders are expanded, the new tasks are fetched and we use the cache for the rest\n // This also solves the pagination issue of getting all tasks in one query, splitting it up in multiple queries to avoid pagination limits\n getOverviewTasksByFolders: build.query<\n EditorTaskNode[],\n { projectName: string; parentIds: string[]; filter?: string; search?: string }\n >({\n async queryFn({ projectName, parentIds, filter, search }, { dispatch, forced }) {\n try {\n // Process parent IDs in sequential batches\n const BATCH_SIZE = 20 // Process x parentIds at a time\n const allTasks: EditorTaskNode[] = []\n\n // Process batches one after another\n for (let i = 0; i < parentIds.length; i += BATCH_SIZE) {\n const batchParentIds = parentIds.slice(i, i + BATCH_SIZE)\n\n // Process this batch in parallel\n const batchResults = await Promise.all(\n batchParentIds.map(async (parentId) =>\n dispatch(\n enhancedApi.endpoints.GetTasksByParent.initiate(\n {\n projectName,\n parentIds: [parentId],\n filter,\n search,\n },\n { forceRefetch: forced },\n ),\n ),\n ),\n )\n\n // Add the results from this batch to our accumulated results\n const batchTasks = batchResults\n .filter((r) => !!r.data)\n .flatMap((result) => result.data as EditorTaskNode[])\n\n allTasks.push(...batchTasks)\n }\n\n return { data: allTasks }\n } catch (e: any) {\n // handle errors appropriately\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n // keep one cache per project\n serializeQueryArgs: ({ queryArgs: { parentIds, ...rest } }) => ({\n ...rest,\n }),\n // Refetch when the page arg changes\n forceRefetch({ currentArg, previousArg }) {\n return JSON.stringify(currentArg) !== JSON.stringify(previousArg)\n },\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n }),\n // queryTasksFolders is a post so it's a bit annoying to consume\n // we wrap it in a queryFn to make it easier to consume as a query hook\n getQueryTasksFolders: build.query<string[], QueryTasksFoldersApiArg>({\n async queryFn({ projectName, tasksFoldersQuery }, { dispatch }) {\n try {\n const result = await dispatch(\n foldersApiEnhanced.endpoints.queryTasksFolders.initiate({\n projectName,\n tasksFoldersQuery,\n }),\n )\n\n const data = result.data?.folderIds || []\n\n return { data }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n }),\n // Add new infinite query endpoint for tasks list\n getTasksListInfinite: build.infiniteQuery<\n GetTasksListResult,\n GetTasksListArgs,\n TasksListPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n\n if (!hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, filter, search, folderIds, sortBy, desc } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetTasksList\n const queryParams: any = {\n projectName,\n filter,\n search,\n folderIds,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = TASKS_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n\n // Call the existing GetTasksList endpoint\n const result = await api.dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n tasks: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the tasks directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getTasksListInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.pages.flatMap((p) => p.tasks) || [], projectName),\n }),\n getGroupedTasksList: build.query<GetGroupedTasksListResult, GetGroupedTasksListArgs>({\n queryFn: async ({ projectName, groups, search, desc, sortBy }, api) => {\n try {\n let promises = []\n for (const group of groups) {\n const count = group.count || 500\n\n const queryParams: GetTasksListQueryVariables = {\n projectName,\n filter: group.filter,\n search,\n sortBy: sortBy,\n // @ts-expect-error - we know group does not exist on query variables but we need it for later\n group: group.value,\n }\n if (desc) {\n queryParams.last = count\n } else {\n queryParams.first = count\n }\n\n const promise = api.dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true }),\n )\n promises.push(promise)\n }\n\n const result = await Promise.all(promises)\n const tasks: EditorTaskNode[] = []\n for (const res of result) {\n if (res.error) throw res.error\n // get group value\n // @ts-expect-error - we know group does exist on res.originalArgs from line 319\n const groupValue = res.originalArgs?.group as string\n\n const hasNextPage =\n res.data?.pageInfo?.hasNextPage || res.data?.pageInfo?.hasPreviousPage || false\n const groupTasks =\n res.data?.tasks.map((task, i, a) => ({\n ...task,\n groups: [\n {\n value: groupValue,\n hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : undefined, // Only add hasNextPage to the last task in the group\n },\n ],\n })) || []\n\n tasks.push(...groupTasks)\n }\n\n // Return the tasks directly as required by the query format\n return {\n data: {\n tasks,\n },\n }\n } catch (error: any) {\n console.error('Error in getGroupedTasksList queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.tasks, projectName),\n }),\n }),\n})\n\nexport const {\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListQuery,\n useGetTasksListInfiniteInfiniteQuery,\n useLazyGetTasksByParentQuery,\n useGetGroupedTasksListQuery,\n} = injectedApi\nexport default injectedApi\n"],"names":["gqlApi","tasksApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBa,MAAA,kBAAkB,CAAC,cAAsB;AAChD,MAAA;AACK,WAAA,KAAK,MAAM,SAAS;AAAA,WACpB,GAAG;AACV,WAAO,CAAC;AAAA,EAAA;AAEZ;AAEA,MAAM,oCAAoC,CAAC,aAAsD;AAC3F,MAAA,CAAC,SAAS,SAAS;AACrB,WAAO,CAAC;AAAA,EAAA;AAGV,QAAM,QAA0B,CAAC;AACjC,aAAW,EAAE,MAAM,SAAA,KAAc,SAAS,QAAQ,MAAM,OAAO;AAC7D,UAAM,KAAK;AAAA,MACT,GAAG;AAAA,MACH,UAAU,SAAS,YAAY;AAAA,MAC/B,QAAQ,gBAAgB,SAAS,SAAS;AAAA,MAC1C,UAAU,SAAS;AAAA,MACnB,YAAY;AAAA,IAAA,CACb;AAAA,EAAA;AAGI,SAAA;AACT;AAEA,MAAM,sBAAsB,CAC1B,SAAuC,IACvC,aACA,cACG;AACH,QAAM,YAAW,iCAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,gBAAgB,IAAI,KAAK,GAAG,QAAO,CAAC;AAEhF,MAAA,CAAC,UAAkB,QAAA;AAEjB,QAAA,cAAc,MAAM,QAAQ,SAAS,IAAI,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ;AAAA,IACnF,MAAM;AAAA,IACN;AAAA,EAAA,EACA;AAEK,SAAA;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,EAAE,MAAM,gBAAgB,IAAI,YAAY;AAAA,IACxC,EAAE,MAAM,gBAAgB,IAAI,OAAO;AAAA,EACrC;AACF;AA0CA,MAAM,cAAcA,eAAO,iBAA+C;AAAA,EACxE,WAAW;AAAA;AAAA;AAAA;AAAA,IAIT,kBAAkB;AAAA,MAChB,mBAAmB;AAAA,MACnB,cAAc,CAAC,QAAQ,IAAI,EAAE,WAAW,YAAA,MACtC,oBAAoB,QAAQ,aAAa,SAAS;AAAA,IACtD;AAAA,IACA,cAAc;AAAA,MACZ,mBAAmB,CAAC,YAA+B;AAAA,QACjD,OAAO,kCAAkC,MAAM;AAAA,QAC/C,UAAU,OAAO,QAAQ,MAAM;AAAA,MAAA;AAAA,MAEjC,cAAc,CAAC,QAAQ,IAAI,EAAE,kBAC3B,qBAAoB,iCAAQ,UAAS,CAAA,GAAI,WAAW;AAAA,IAAA;AAAA,EACxD;AAEJ,CAAC;AAGD,MAAM,qBAAqBC,iBAAS,iBAAiB;AAAA,EACnD,WAAW;AAAA,IACT,mBAAmB,CAAC;AAAA,IACpB,eAAe,CAAA;AAAA,EAAC;AAEpB,CAAC;AAEY,MAAA,EAAE,0BAA0B;AAElC,MAAM,6BAA6B;AAEpC,MAAA,cAAc,YAAY,gBAAgB;AAAA,EAC9C,WAAW,CAAC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrB,2BAA2B,MAAM,MAG/B;AAAA,MACA,MAAM,QAAQ,EAAE,aAAa,WAAW,QAAQ,UAAU,EAAE,UAAU,UAAU;AAC1E,YAAA;AAEF,gBAAM,aAAa;AACnB,gBAAM,WAA6B,CAAC;AAGpC,mBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK,YAAY;AACrD,kBAAM,iBAAiB,UAAU,MAAM,GAAG,IAAI,UAAU;AAGlD,kBAAA,eAAe,MAAM,QAAQ;AAAA,cACjC,eAAe;AAAA,gBAAI,OAAO,aACxB;AAAA,kBACE,YAAY,UAAU,iBAAiB;AAAA,oBACrC;AAAA,sBACE;AAAA,sBACA,WAAW,CAAC,QAAQ;AAAA,sBACpB;AAAA,sBACA;AAAA,oBACF;AAAA,oBACA,EAAE,cAAc,OAAO;AAAA,kBAAA;AAAA,gBACzB;AAAA,cACF;AAAA,YAEJ;AAGA,kBAAM,aAAa,aAChB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EACtB,QAAQ,CAAC,WAAW,OAAO,IAAwB;AAE7C,qBAAA,KAAK,GAAG,UAAU;AAAA,UAAA;AAGtB,iBAAA,EAAE,MAAM,SAAS;AAAA,iBACjB,GAAQ;AAEf,kBAAQ,MAAM,CAAC;AACf,gBAAM,QAAQ,EAAE,QAAQ,eAAe,OAAO,EAAE,QAAQ;AACxD,iBAAO,EAAE,MAAM;AAAA,QAAA;AAAA,MAEnB;AAAA;AAAA,MAEA,oBAAoB,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,KAAK,SAAS;AAAA,QAC9D,GAAG;AAAA,MAAA;AAAA;AAAA,MAGL,aAAa,EAAE,YAAY,eAAe;AACxC,eAAO,KAAK,UAAU,UAAU,MAAM,KAAK,UAAU,WAAW;AAAA,MAClE;AAAA,MACA,cAAc,CAAC,QAAQ,IAAI,EAAE,WAAW,YAAA,MACtC,oBAAoB,QAAQ,aAAa,SAAS;AAAA,IAAA,CACrD;AAAA;AAAA;AAAA,IAGD,sBAAsB,MAAM,MAAyC;AAAA,MACnE,MAAM,QAAQ,EAAE,aAAa,qBAAqB,EAAE,YAAY;;AAC1D,YAAA;AACF,gBAAM,SAAS,MAAM;AAAA,YACnB,mBAAmB,UAAU,kBAAkB,SAAS;AAAA,cACtD;AAAA,cACA;AAAA,YACD,CAAA;AAAA,UACH;AAEA,gBAAM,SAAO,YAAO,SAAP,mBAAa,cAAa,CAAC;AAExC,iBAAO,EAAE,KAAK;AAAA,iBACP,GAAQ;AACf,kBAAQ,MAAM,CAAC;AACf,gBAAM,QAAQ,EAAE,QAAQ,eAAe,OAAO,EAAE,QAAQ;AACxD,iBAAO,EAAE,MAAM;AAAA,QAAA;AAAA,MACjB;AAAA,IACF,CACD;AAAA;AAAA,IAED,sBAAsB,MAAM,cAI1B;AAAA,MACA,sBAAsB;AAAA,QACpB,kBAAkB,EAAE,QAAQ,IAAI,MAAM,MAAM;AAAA;AAAA,QAE5C,kBAAkB,CAAC,UAAU,WAAW,eAAe,mBAAmB;AAExE,gBAAM,WAAW,SAAS;AAC1B,gBAAM,OAAO,cAAc;AAC3B,gBAAM,cAAc,OAAO,SAAS,kBAAkB,SAAS;AAE/D,cAAI,CAAC,eAAe,CAAC,SAAS,UAAkB,QAAA;AAEzC,iBAAA;AAAA,YACL,QAAQ,SAAS;AAAA,YACjB,MAAM,cAAc;AAAA,UACtB;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,SAAS,OAAO,EAAE,UAAU,UAAA,GAAa,QAAQ;AAC3C,YAAA;AACF,gBAAM,EAAE,aAAa,QAAQ,QAAQ,WAAW,QAAQ,SAAS;AAC3D,gBAAA,EAAE,WAAW;AAGnB,gBAAM,cAAmB;AAAA,YACvB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAGA,cAAI,QAAQ;AACV,wBAAY,SAAS;AACrB,gBAAI,MAAM;AACR,0BAAY,SAAS,UAAU;AAC/B,0BAAY,OAAO;AAAA,YAAA,OACd;AACL,0BAAY,QAAQ,UAAU;AAC9B,0BAAY,QAAQ;AAAA,YAAA;AAAA,UACtB,OACK;AACL,wBAAY,QAAQ,UAAU;AAC9B,wBAAY,QAAQ;AAAA,UAAA;AAIhB,gBAAA,SAAS,MAAM,IAAI;AAAA,YACvB,YAAY,UAAU,aAAa,SAAS,aAAa,EAAE,cAAc,KAAM,CAAA;AAAA,UACjF;AAEI,cAAA,OAAO,MAAO,OAAM,OAAO;AAC/B,gBAAM,WAAW;AAAA,YACf,OAAO,CAAC;AAAA,YACR,UAAU;AAAA,cACR,aAAa;AAAA,cACb,WAAW;AAAA,cACX,aAAa;AAAA,cACb,iBAAiB;AAAA,YAAA;AAAA,UAErB;AAGO,iBAAA;AAAA,YACL,MAAM,OAAO,QAAQ;AAAA,UACvB;AAAA,iBACO,GAAQ;AACP,kBAAA,MAAM,0CAA0C,CAAC;AAClD,iBAAA,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAO,EAAE,UAAiC;AAAA,QAAA;AAAA,MAEvF;AAAA,MACA,cAAc,CAAC,QAAQ,IAAI,EAAE,YAAA,MAC3B,qBAAoB,iCAAQ,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAU,CAAA,GAAI,WAAW;AAAA,IAAA,CAC/E;AAAA,IACD,qBAAqB,MAAM,MAA0D;AAAA,MACnF,SAAS,OAAO,EAAE,aAAa,QAAQ,QAAQ,MAAM,OAAO,GAAG,QAAQ;;AACjE,YAAA;AACF,cAAI,WAAW,CAAC;AAChB,qBAAW,SAAS,QAAQ;AACpB,kBAAA,QAAQ,MAAM,SAAS;AAE7B,kBAAM,cAA0C;AAAA,cAC9C;AAAA,cACA,QAAQ,MAAM;AAAA,cACd;AAAA,cACA;AAAA;AAAA,cAEA,OAAO,MAAM;AAAA,YACf;AACA,gBAAI,MAAM;AACR,0BAAY,OAAO;AAAA,YAAA,OACd;AACL,0BAAY,QAAQ;AAAA,YAAA;AAGtB,kBAAM,UAAU,IAAI;AAAA,cAClB,YAAY,UAAU,aAAa,SAAS,aAAa,EAAE,cAAc,KAAM,CAAA;AAAA,YACjF;AACA,qBAAS,KAAK,OAAO;AAAA,UAAA;AAGvB,gBAAM,SAAS,MAAM,QAAQ,IAAI,QAAQ;AACzC,gBAAM,QAA0B,CAAC;AACjC,qBAAW,OAAO,QAAQ;AACpB,gBAAA,IAAI,MAAO,OAAM,IAAI;AAGnB,kBAAA,cAAa,SAAI,iBAAJ,mBAAkB;AAE/B,kBAAA,gBACJ,eAAI,SAAJ,mBAAU,aAAV,mBAAoB,kBAAe,eAAI,SAAJ,mBAAU,aAAV,mBAAoB,oBAAmB;AACtE,kBAAA,eACJ,SAAI,SAAJ,mBAAU,MAAM,IAAI,CAAC,MAAM,GAAG,OAAO;AAAA,cACnC,GAAG;AAAA,cACH,QAAQ;AAAA,gBACN;AAAA,kBACE,OAAO;AAAA,kBACP,aAAa,MAAM,EAAE,SAAS,KAAK,cAAc,aAAa;AAAA;AAAA,gBAAA;AAAA,cAChE;AAAA,YAEJ,QAAO,CAAC;AAEJ,kBAAA,KAAK,GAAG,UAAU;AAAA,UAAA;AAInB,iBAAA;AAAA,YACL,MAAM;AAAA,cACJ;AAAA,YAAA;AAAA,UAEJ;AAAA,iBACO,OAAY;AACX,kBAAA,MAAM,yCAAyC,KAAK;AACrD,iBAAA,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAO,MAAM,UAAiC;AAAA,QAAA;AAAA,MAE3F;AAAA,MACA,cAAc,CAAC,QAAQ,IAAI,EAAE,kBAC3B,oBAAoB,iCAAQ,OAAO,WAAW;AAAA,IACjD,CAAA;AAAA,EACH;AACF,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;"}
|
|
@@ -21,6 +21,7 @@ require("react-dom");
|
|
|
21
21
|
require("../../context/pip/PiPWrapper.cjs.js");
|
|
22
22
|
require("../../context/AddonProjectContext.cjs.js");
|
|
23
23
|
require("../../context/AddonContext.cjs.js");
|
|
24
|
+
require("../../context/PowerpackContext.cjs.js");
|
|
24
25
|
const SegmentProvider = React.forwardRef(
|
|
25
26
|
({ children, segment, isOpen, scope, projectName, ...props }, ref) => {
|
|
26
27
|
const { openSlideOut } = DetailsPanelContext.useDetailsPanelContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentProvider.cjs.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["forwardRef","useDetailsPanelContext","copyToClipboard","useCreateContextMenu","jsx","ActiveSegment","classNames"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SegmentProvider.cjs.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["forwardRef","useDetailsPanelContext","copyToClipboard","useCreateContextMenu","jsx","ActiveSegment","classNames"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,kBAAkBA,MAAA;AAAA,EACtB,CAAC,EAAE,UAAU,SAAS,QAAQ,OAAO,aAAa,GAAG,MAAM,GAAG,QAAQ;AAC9D,UAAA,EAAE,aAAa,IAAIC,2CAAuB;AAEhD,UAAM,cAAa,mCAAS,UAAS,cAAa,mCAAS,UAAS;AAEpE,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,WAAY;AAEjB,YAAM,EAAE,MAAM,YAAY,IAAI,SAAS,IAAI,WAAW,CAAC;AAEvD,UAAI,CAAC,cAAc,eAAe,aAAa,eAAe,aAAa,CAAC,SAAU;AAEzE,mBAAA;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAEM,UAAA,mBAAmB,CAAC,OAAe;AAAA,MACvC;AAAA,QACE,OAAO,OAAO,EAAE;AAAA,QAChB,MAAM;AAAA,QACN,SAAS,MAAMC,gBAAAA,gBAAgB,EAAE;AAAA,MAAA;AAAA,IAErC;AAEM,UAAA,CAAC,eAAe,IAAIC,0CAAqB;AAEzC,UAAA,kBAAkB,CAAC,MAAkC;AACzD,UAAI,CAAC,QAAS;AACR,YAAA,OAAO,iBAAiB,QAAQ,EAAE;AAExC,sBAAgB,GAAG,IAAI;AAAA,IACzB;AAGE,WAAAC,2BAAA,kBAAA;AAAA,MAACC,kBAAA;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,eAAe;AAAA,QACf,WAAWC,UAAW,WAAA,EAAE,MAAM,YAAY,MAAM,QAAQ;AAAA,QACvD,GAAG;AAAA,QACJ;AAAA,QAEC;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;;"}
|
|
@@ -20,6 +20,7 @@ import "react-dom";
|
|
|
20
20
|
import "../../context/pip/PiPWrapper.es.js";
|
|
21
21
|
import "../../context/AddonProjectContext.es.js";
|
|
22
22
|
import "../../context/AddonContext.es.js";
|
|
23
|
+
import "../../context/PowerpackContext.es.js";
|
|
23
24
|
const SegmentProvider = forwardRef(
|
|
24
25
|
({ children, segment, isOpen, scope, projectName, ...props }, ref) => {
|
|
25
26
|
const { openSlideOut } = useDetailsPanelContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentProvider.es.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SegmentProvider.es.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,kBAAkB;AAAA,EACtB,CAAC,EAAE,UAAU,SAAS,QAAQ,OAAO,aAAa,GAAG,MAAM,GAAG,QAAQ;AAC9D,UAAA,EAAE,aAAa,IAAI,uBAAuB;AAEhD,UAAM,cAAa,mCAAS,UAAS,cAAa,mCAAS,UAAS;AAEpE,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,WAAY;AAEjB,YAAM,EAAE,MAAM,YAAY,IAAI,SAAS,IAAI,WAAW,CAAC;AAEvD,UAAI,CAAC,cAAc,eAAe,aAAa,eAAe,aAAa,CAAC,SAAU;AAEzE,mBAAA;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAEM,UAAA,mBAAmB,CAAC,OAAe;AAAA,MACvC;AAAA,QACE,OAAO,OAAO,EAAE;AAAA,QAChB,MAAM;AAAA,QACN,SAAS,MAAM,gBAAgB,EAAE;AAAA,MAAA;AAAA,IAErC;AAEM,UAAA,CAAC,eAAe,IAAI,qBAAqB;AAEzC,UAAA,kBAAkB,CAAC,MAAkC;AACzD,UAAI,CAAC,QAAS;AACR,YAAA,OAAO,iBAAiB,QAAQ,EAAE;AAExC,sBAAgB,GAAG,IAAI;AAAA,IACzB;AAGE,WAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,eAAe;AAAA,QACf,WAAW,WAAW,EAAE,MAAM,YAAY,MAAM,QAAQ;AAAA,QACvD,GAAG;AAAA,QACJ;AAAA,QAEC;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;"}
|
|
@@ -91,6 +91,7 @@ require("react-dom");
|
|
|
91
91
|
require("../../context/pip/PiPWrapper.cjs.js");
|
|
92
92
|
require("../../context/AddonProjectContext.cjs.js");
|
|
93
93
|
require("../../context/AddonContext.cjs.js");
|
|
94
|
+
require("../../context/PowerpackContext.cjs.js");
|
|
94
95
|
require("../ReviewableCard/ReviewableCard.cjs.js");
|
|
95
96
|
require("../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");
|
|
96
97
|
require("../FileThumbnail/FileThumbnail.cjs.js");
|
|
@@ -134,6 +135,7 @@ require("../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
|
134
135
|
require("../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
135
136
|
require("../../containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js");
|
|
136
137
|
require("../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");
|
|
138
|
+
require("../../containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js");
|
|
137
139
|
require("@tanstack/react-table");
|
|
138
140
|
require("../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");
|
|
139
141
|
require("../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");
|
|
@@ -142,10 +144,12 @@ require("../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");
|
|
|
142
144
|
require("../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");
|
|
143
145
|
require("../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");
|
|
144
146
|
require("../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");
|
|
147
|
+
require("../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");
|
|
145
148
|
require("../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");
|
|
146
149
|
require("../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");
|
|
147
150
|
require("../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");
|
|
148
151
|
require("../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");
|
|
152
|
+
require("../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");
|
|
149
153
|
require("../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");
|
|
150
154
|
require("../../../../_virtual/runtime.cjs.js");
|
|
151
155
|
require("../../../../_virtual/semver.cjs.js");
|
|
@@ -167,6 +171,9 @@ require("../EntityPath/SegmentProvider.cjs.js");
|
|
|
167
171
|
require("../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");
|
|
168
172
|
require("../Watchers/Watchers.cjs.js");
|
|
169
173
|
require("../ProjectTableSettings/ProjectTableSettings.cjs.js");
|
|
174
|
+
require("../Powerpack/PowerpackButton.cjs.js");
|
|
175
|
+
require("../Powerpack/PricingLink.cjs.js");
|
|
176
|
+
require("../Powerpack/PowerpackDialog.styled.cjs.js");
|
|
170
177
|
require("../SettingsPanel/SettingsPanel.cjs.js");
|
|
171
178
|
require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");
|
|
172
179
|
require("../AttributeEditor/components/MinMaxField.cjs.js");
|
package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityThumbnailUploader.cjs.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailUploader } from '@shared/components'\nimport { ThumbnailWrapper } from '@shared/containers'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport * as Styled from './EntityThumbnailUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityThumbnailUploaderProps = {\n entityType: string\n entities: any[]\n isCompact?: boolean\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n}\n\nexport const EntityThumbnailUploader = ({\n children = [],\n entityType,\n entities = [],\n isCompact = false,\n onUploaded,\n}: EntityThumbnailUploaderProps) => {\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [isUploadingFile, setIsUploadingFile] = useState(false)\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleThumbnailUpload = async (thumbnails: any[] = []) => {\n // always set isDraggingFile to false\n setIsDraggingFile(false)\n setIsUploadingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailUpload}\n inputRef={inputRef}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ isCompact })}\n onDragEnter={() => setIsDraggingFile(true)}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n <ThumbnailUploader\n entities={entities}\n inputRef={inputRef}\n className={clsx('thumbnail-uploader', { hidden: !isDraggingFile && !isUploadingFile })}\n onUploadInProgress={() => setIsUploadingFile(true)}\n onFinish={handleThumbnailUpload}\n onDragLeave={() => setIsDraggingFile(false)}\n onDragOver={(e) => e.preventDefault()}\n />\n </Styled.DragAndDropWrapper>\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["useState","useUpdateEntitiesMutation","useRef","jsx","ThumbnailUploadProvider","jsxs","Styled.DragAndDropWrapper","ThumbnailWrapper","ThumbnailUploader"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityThumbnailUploader.cjs.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailUploader } from '@shared/components'\nimport { ThumbnailWrapper } from '@shared/containers'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport * as Styled from './EntityThumbnailUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityThumbnailUploaderProps = {\n entityType: string\n entities: any[]\n isCompact?: boolean\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n}\n\nexport const EntityThumbnailUploader = ({\n children = [],\n entityType,\n entities = [],\n isCompact = false,\n onUploaded,\n}: EntityThumbnailUploaderProps) => {\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [isUploadingFile, setIsUploadingFile] = useState(false)\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleThumbnailUpload = async (thumbnails: any[] = []) => {\n // always set isDraggingFile to false\n setIsDraggingFile(false)\n setIsUploadingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailUpload}\n inputRef={inputRef}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ isCompact })}\n onDragEnter={() => setIsDraggingFile(true)}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n <ThumbnailUploader\n entities={entities}\n inputRef={inputRef}\n className={clsx('thumbnail-uploader', { hidden: !isDraggingFile && !isUploadingFile })}\n onUploadInProgress={() => setIsUploadingFile(true)}\n onFinish={handleThumbnailUpload}\n onDragLeave={() => setIsDraggingFile(false)}\n onDragOver={(e) => e.preventDefault()}\n />\n </Styled.DragAndDropWrapper>\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["useState","useUpdateEntitiesMutation","useRef","jsx","ThumbnailUploadProvider","jsxs","Styled.DragAndDropWrapper","ThumbnailWrapper","ThumbnailUploader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,0BAA0B,CAAC;AAAA,EACtC,WAAW,CAAC;AAAA,EACZ;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,YAAY;AAAA,EACZ;AACF,MAAoC;AAClC,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAS,KAAK;AAC1D,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA,SAAS,KAAK;AAEtD,QAAA,CAAC,cAAc,IAAIC,uCAA0B;AAEnD,QAAM,wBAAwB,OAAO,aAAoB,OAAO;AAE9D,sBAAkB,KAAK;AACvB,uBAAmB,KAAK;AAGpB,QAAA,CAAC,SAAS,QAAQ;AACpB;AAAA,IAAA;AAIF,UAAM,gBAAe,oBAAI,KAAK,GAAE,YAAY;AAE5C,QAAI,aAA0B,CAAC;AAG/B,eAAW,UAAU,YAAY;AACzB,YAAA,gBAAgB,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,OAAO,EAAE;AAC7D,UAAI,CAAC,cAAe;AACA,aAAO;AACrB,YAAA,mBAAmB,OAAO,SAAS,CAAC;AAE1C,iBAAW,KAAK;AAAA,QACd,IAAI,cAAc;AAAA,QAClB,aAAa,cAAc;AAAA,QAC3B,MAAM,EAAE,WAAW,aAAa;AAAA,QAChC;AAAA,MAAA,CACD;AAEoB,OAAA;AAAA,QACnB,WAAW,cAAc;AAAA,MAG3B;AAAA,IAEgC;AAG9B,QAAA;AACF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC/C,oBAAc,WAAW,UAAU;AAAA,aAC5B,OAAO;AACN,cAAA,MAAM,8BAA8B,KAAK;AAAA,IAAA;AAAA,EAErD;AAEM,QAAA,WAAWC,aAAyB,IAAI;AAG5C,SAAAC,2BAAA,kBAAA;AAAA,IAACC,yBAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAAC,2BAAA,kBAAA;AAAA,QAACC,+BAAO;AAAA,QAAP;AAAA,UACC,WAAW,KAAK,EAAE,WAAW;AAAA,UAC7B,aAAa,MAAM,kBAAkB,IAAI;AAAA,UAEzC,UAAA;AAAA,YAAAH,iDAACI,0BAAAA,kBACC,EAAA,UAAAJ,2BAAAA,kBAAAA,IAAC,OAAK,EAAA,SAAS,CAAA,GACjB;AAAA,YACAA,2BAAA,kBAAA;AAAA,cAACK,kBAAA;AAAA,cAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA,WAAW,KAAK,sBAAsB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB;AAAA,gBACrF,oBAAoB,MAAM,mBAAmB,IAAI;AAAA,gBACjD,UAAU;AAAA,gBACV,aAAa,MAAM,kBAAkB,KAAK;AAAA,gBAC1C,YAAY,CAAC,MAAM,EAAE,eAAe;AAAA,cAAA;AAAA,YAAA;AAAA,UACtC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;;"}
|
|
@@ -89,6 +89,7 @@ import "react-dom";
|
|
|
89
89
|
import "../../context/pip/PiPWrapper.es.js";
|
|
90
90
|
import "../../context/AddonProjectContext.es.js";
|
|
91
91
|
import "../../context/AddonContext.es.js";
|
|
92
|
+
import "../../context/PowerpackContext.es.js";
|
|
92
93
|
import "../ReviewableCard/ReviewableCard.es.js";
|
|
93
94
|
import "../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
94
95
|
import "../FileThumbnail/FileThumbnail.es.js";
|
|
@@ -132,6 +133,7 @@ import "../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
|
|
|
132
133
|
import "../../containers/ProjectTreeTable/context/ClipboardContext.es.js";
|
|
133
134
|
import "../../containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
134
135
|
import "../../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
136
|
+
import "../../containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js";
|
|
135
137
|
import "@tanstack/react-table";
|
|
136
138
|
import "../../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
137
139
|
import "../../containers/ProjectTreeTable/widgets/DateWidget.es.js";
|
|
@@ -140,10 +142,12 @@ import "../../containers/ProjectTreeTable/widgets/TextWidget.es.js";
|
|
|
140
142
|
import "../../containers/ProjectTreeTable/widgets/BooleanWidget.es.js";
|
|
141
143
|
import "../../containers/ProjectTreeTable/widgets/CellWidget.es.js";
|
|
142
144
|
import "../../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
145
|
+
import "../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
|
|
143
146
|
import "../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
144
147
|
import "../../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
145
148
|
import "../../containers/ProjectTreeTable/components/SelectionCell.es.js";
|
|
146
149
|
import "../../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
150
|
+
import "../../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
147
151
|
import "../../containers/DetailsPanel/DetailsPanel.styled.es.js";
|
|
148
152
|
import "../../../../_virtual/runtime.es.js";
|
|
149
153
|
import "../../../../_virtual/semver.es.js";
|
|
@@ -165,6 +169,9 @@ import "../EntityPath/SegmentProvider.es.js";
|
|
|
165
169
|
import "../DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
166
170
|
import "../Watchers/Watchers.es.js";
|
|
167
171
|
import "../ProjectTableSettings/ProjectTableSettings.es.js";
|
|
172
|
+
import "../Powerpack/PowerpackButton.es.js";
|
|
173
|
+
import "../Powerpack/PricingLink.es.js";
|
|
174
|
+
import "../Powerpack/PowerpackDialog.styled.es.js";
|
|
168
175
|
import "../SettingsPanel/SettingsPanel.es.js";
|
|
169
176
|
import "../SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
170
177
|
import "../AttributeEditor/components/MinMaxField.es.js";
|
package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityThumbnailUploader.es.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailUploader } from '@shared/components'\nimport { ThumbnailWrapper } from '@shared/containers'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport * as Styled from './EntityThumbnailUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityThumbnailUploaderProps = {\n entityType: string\n entities: any[]\n isCompact?: boolean\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n}\n\nexport const EntityThumbnailUploader = ({\n children = [],\n entityType,\n entities = [],\n isCompact = false,\n onUploaded,\n}: EntityThumbnailUploaderProps) => {\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [isUploadingFile, setIsUploadingFile] = useState(false)\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleThumbnailUpload = async (thumbnails: any[] = []) => {\n // always set isDraggingFile to false\n setIsDraggingFile(false)\n setIsUploadingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailUpload}\n inputRef={inputRef}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ isCompact })}\n onDragEnter={() => setIsDraggingFile(true)}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n <ThumbnailUploader\n entities={entities}\n inputRef={inputRef}\n className={clsx('thumbnail-uploader', { hidden: !isDraggingFile && !isUploadingFile })}\n onUploadInProgress={() => setIsUploadingFile(true)}\n onFinish={handleThumbnailUpload}\n onDragLeave={() => setIsDraggingFile(false)}\n onDragOver={(e) => e.preventDefault()}\n />\n </Styled.DragAndDropWrapper>\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["jsx","jsxs","Styled.DragAndDropWrapper"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityThumbnailUploader.es.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailUploader } from '@shared/components'\nimport { ThumbnailWrapper } from '@shared/containers'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport * as Styled from './EntityThumbnailUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityThumbnailUploaderProps = {\n entityType: string\n entities: any[]\n isCompact?: boolean\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n}\n\nexport const EntityThumbnailUploader = ({\n children = [],\n entityType,\n entities = [],\n isCompact = false,\n onUploaded,\n}: EntityThumbnailUploaderProps) => {\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [isUploadingFile, setIsUploadingFile] = useState(false)\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleThumbnailUpload = async (thumbnails: any[] = []) => {\n // always set isDraggingFile to false\n setIsDraggingFile(false)\n setIsUploadingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailUpload}\n inputRef={inputRef}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ isCompact })}\n onDragEnter={() => setIsDraggingFile(true)}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n <ThumbnailUploader\n entities={entities}\n inputRef={inputRef}\n className={clsx('thumbnail-uploader', { hidden: !isDraggingFile && !isUploadingFile })}\n onUploadInProgress={() => setIsUploadingFile(true)}\n onFinish={handleThumbnailUpload}\n onDragLeave={() => setIsDraggingFile(false)}\n onDragOver={(e) => e.preventDefault()}\n />\n </Styled.DragAndDropWrapper>\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["jsx","jsxs","Styled.DragAndDropWrapper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,0BAA0B,CAAC;AAAA,EACtC,WAAW,CAAC;AAAA,EACZ;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,YAAY;AAAA,EACZ;AACF,MAAoC;AAClC,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,KAAK;AAEtD,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAEnD,QAAM,wBAAwB,OAAO,aAAoB,OAAO;AAE9D,sBAAkB,KAAK;AACvB,uBAAmB,KAAK;AAGpB,QAAA,CAAC,SAAS,QAAQ;AACpB;AAAA,IAAA;AAIF,UAAM,gBAAe,oBAAI,KAAK,GAAE,YAAY;AAE5C,QAAI,aAA0B,CAAC;AAG/B,eAAW,UAAU,YAAY;AACzB,YAAA,gBAAgB,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,OAAO,EAAE;AAC7D,UAAI,CAAC,cAAe;AACA,aAAO;AACrB,YAAA,mBAAmB,OAAO,SAAS,CAAC;AAE1C,iBAAW,KAAK;AAAA,QACd,IAAI,cAAc;AAAA,QAClB,aAAa,cAAc;AAAA,QAC3B,MAAM,EAAE,WAAW,aAAa;AAAA,QAChC;AAAA,MAAA,CACD;AAEoB,OAAA;AAAA,QACnB,WAAW,cAAc;AAAA,MAG3B;AAAA,IAEgC;AAG9B,QAAA;AACF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC/C,oBAAc,WAAW,UAAU;AAAA,aAC5B,OAAO;AACN,cAAA,MAAM,8BAA8B,KAAK;AAAA,IAAA;AAAA,EAErD;AAEM,QAAA,WAAW,OAAyB,IAAI;AAG5C,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAAC,kCAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,WAAW,KAAK,EAAE,WAAW;AAAA,UAC7B,aAAa,MAAM,kBAAkB,IAAI;AAAA,UAEzC,UAAA;AAAA,YAAAF,sCAAC,kBACC,EAAA,UAAAA,kCAAAA,IAAC,OAAK,EAAA,SAAS,CAAA,GACjB;AAAA,YACAA,kCAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA,WAAW,KAAK,sBAAsB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB;AAAA,gBACrF,oBAAoB,MAAM,mBAAmB,IAAI;AAAA,gBACjD,UAAU;AAAA,gBACV,aAAa,MAAM,kBAAkB,KAAK;AAAA,gBAC1C,YAAY,CAAC,MAAM,EAAE,eAAe;AAAA,cAAA;AAAA,YAAA;AAAA,UACtC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("../../../../_virtual/jsx-runtime.cjs.js");
|
|
4
|
+
require("../../context/RemoteModulesContext.cjs.js");
|
|
5
|
+
require("../../context/DetailsPanelContext.cjs.js");
|
|
6
|
+
require("../../context/ThumbnailUploaderContext.cjs.js");
|
|
7
|
+
require("../../context/SettingsPanelContext.cjs.js");
|
|
8
|
+
require("../../context/pip/PiPProvider.cjs.js");
|
|
9
|
+
require("react-dom");
|
|
10
|
+
require("../../context/pip/PiPWrapper.cjs.js");
|
|
11
|
+
require("../../context/AddonProjectContext.cjs.js");
|
|
12
|
+
require("../../context/AddonContext.cjs.js");
|
|
13
|
+
const PowerpackContext = require("../../context/PowerpackContext.cjs.js");
|
|
14
|
+
const ayonReactComponents = require("@ynput/ayon-react-components");
|
|
15
|
+
const clsx = require("clsx");
|
|
16
|
+
const React = require("react");
|
|
17
|
+
const styled = require("styled-components");
|
|
18
|
+
const StyledButton = styled(ayonReactComponents.Button)`
|
|
19
|
+
background-color: unset;
|
|
20
|
+
color: var(--md-sys-color-tertiary);
|
|
21
|
+
transition: color 0.2s, background-color 0.2s, opacity 0.2s;
|
|
22
|
+
border-radius: var(--border-radius-xl);
|
|
23
|
+
|
|
24
|
+
&.filled {
|
|
25
|
+
background-color: var(--md-sys-color-tertiary);
|
|
26
|
+
color: var(--md-sys-color-on-tertiary);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&.border {
|
|
30
|
+
border: 1px solid var(--md-sys-color-tertiary);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&:hover {
|
|
34
|
+
color: var(--md-sys-color-on-tertiary);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.icon {
|
|
38
|
+
font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
const PowerpackButton = React.forwardRef(
|
|
42
|
+
({ feature, filled, ...props }, ref) => {
|
|
43
|
+
const { setPowerpackDialog } = PowerpackContext.usePowerpack();
|
|
44
|
+
const handleOnClick = (e) => {
|
|
45
|
+
var _a;
|
|
46
|
+
setPowerpackDialog(feature);
|
|
47
|
+
(_a = props.onClick) == null ? void 0 : _a.call(props, e);
|
|
48
|
+
};
|
|
49
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
50
|
+
StyledButton,
|
|
51
|
+
{
|
|
52
|
+
variant: props.variant || "tertiary",
|
|
53
|
+
icon: props.icon || "bolt",
|
|
54
|
+
...props,
|
|
55
|
+
ref,
|
|
56
|
+
onClick: handleOnClick,
|
|
57
|
+
className: clsx("cloud-button", props.className || "", {
|
|
58
|
+
border: !!props.children,
|
|
59
|
+
filled
|
|
60
|
+
}),
|
|
61
|
+
"data-tooltip": `Power feature`,
|
|
62
|
+
"data-tooltip-delay": 0,
|
|
63
|
+
children: props.children
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
exports.PowerpackButton = PowerpackButton;
|
|
69
|
+
//# sourceMappingURL=PowerpackButton.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PowerpackButton.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n background-color: unset;\n color: var(--md-sys-color-tertiary);\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n border-radius: var(--border-radius-xl);\n\n &.filled {\n background-color: var(--md-sys-color-tertiary);\n color: var(--md-sys-color-on-tertiary);\n }\n\n &.border {\n border: 1px solid var(--md-sys-color-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n\n .icon {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;\n }\n`\n\nexport interface PowerpackButtonProps extends ButtonProps {\n feature: PowerpackFeature\n filled?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, filled, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n variant={props.variant || 'tertiary'}\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n className={clsx('cloud-button', props.className || '', {\n border: !!props.children,\n filled,\n })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n </StyledButton>\n )\n },\n)\n"],"names":["Button","forwardRef","usePowerpack","jsx"],"mappings":";;;;;;;;;;;;;;;;;AAMA,MAAM,eAAe,OAAOA,0BAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6B3B,MAAM,kBAAkBC,MAAA;AAAA,EAC7B,CAAC,EAAE,SAAS,QAAQ,GAAG,MAAA,GAAS,QAAQ;AAChC,UAAA,EAAE,mBAAmB,IAAIC,8BAAa;AAEtC,UAAA,gBAAgB,CAAC,MAAqC;;AAE1D,yBAAmB,OAAO;AAE1B,kBAAM,YAAN,+BAAgB;AAAA,IAClB;AAGE,WAAAC,2BAAA,kBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,MAAM,WAAW;AAAA,QAC1B,MAAM,MAAM,QAAQ;AAAA,QACnB,GAAG;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,QACT,WAAW,KAAK,gBAAgB,MAAM,aAAa,IAAI;AAAA,UACrD,QAAQ,CAAC,CAAC,MAAM;AAAA,UAChB;AAAA,QAAA,CACD;AAAA,QACD,gBAAc;AAAA,QACd,sBAAoB;AAAA,QAEnB,UAAM,MAAA;AAAA,MAAA;AAAA,IACT;AAAA,EAAA;AAGN;;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import "../../context/RemoteModulesContext.es.js";
|
|
3
|
+
import "../../context/DetailsPanelContext.es.js";
|
|
4
|
+
import "../../context/ThumbnailUploaderContext.es.js";
|
|
5
|
+
import "../../context/SettingsPanelContext.es.js";
|
|
6
|
+
import "../../context/pip/PiPProvider.es.js";
|
|
7
|
+
import "react-dom";
|
|
8
|
+
import "../../context/pip/PiPWrapper.es.js";
|
|
9
|
+
import "../../context/AddonProjectContext.es.js";
|
|
10
|
+
import "../../context/AddonContext.es.js";
|
|
11
|
+
import { usePowerpack } from "../../context/PowerpackContext.es.js";
|
|
12
|
+
import { Button } from "@ynput/ayon-react-components";
|
|
13
|
+
import clsx from "clsx";
|
|
14
|
+
import { forwardRef } from "react";
|
|
15
|
+
import styled from "styled-components";
|
|
16
|
+
const StyledButton = styled(Button)`
|
|
17
|
+
background-color: unset;
|
|
18
|
+
color: var(--md-sys-color-tertiary);
|
|
19
|
+
transition: color 0.2s, background-color 0.2s, opacity 0.2s;
|
|
20
|
+
border-radius: var(--border-radius-xl);
|
|
21
|
+
|
|
22
|
+
&.filled {
|
|
23
|
+
background-color: var(--md-sys-color-tertiary);
|
|
24
|
+
color: var(--md-sys-color-on-tertiary);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.border {
|
|
28
|
+
border: 1px solid var(--md-sys-color-tertiary);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&:hover {
|
|
32
|
+
color: var(--md-sys-color-on-tertiary);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.icon {
|
|
36
|
+
font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
39
|
+
const PowerpackButton = forwardRef(
|
|
40
|
+
({ feature, filled, ...props }, ref) => {
|
|
41
|
+
const { setPowerpackDialog } = usePowerpack();
|
|
42
|
+
const handleOnClick = (e) => {
|
|
43
|
+
var _a;
|
|
44
|
+
setPowerpackDialog(feature);
|
|
45
|
+
(_a = props.onClick) == null ? void 0 : _a.call(props, e);
|
|
46
|
+
};
|
|
47
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
48
|
+
StyledButton,
|
|
49
|
+
{
|
|
50
|
+
variant: props.variant || "tertiary",
|
|
51
|
+
icon: props.icon || "bolt",
|
|
52
|
+
...props,
|
|
53
|
+
ref,
|
|
54
|
+
onClick: handleOnClick,
|
|
55
|
+
className: clsx("cloud-button", props.className || "", {
|
|
56
|
+
border: !!props.children,
|
|
57
|
+
filled
|
|
58
|
+
}),
|
|
59
|
+
"data-tooltip": `Power feature`,
|
|
60
|
+
"data-tooltip-delay": 0,
|
|
61
|
+
children: props.children
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
export {
|
|
67
|
+
PowerpackButton
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=PowerpackButton.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PowerpackButton.es.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n background-color: unset;\n color: var(--md-sys-color-tertiary);\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n border-radius: var(--border-radius-xl);\n\n &.filled {\n background-color: var(--md-sys-color-tertiary);\n color: var(--md-sys-color-on-tertiary);\n }\n\n &.border {\n border: 1px solid var(--md-sys-color-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n\n .icon {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;\n }\n`\n\nexport interface PowerpackButtonProps extends ButtonProps {\n feature: PowerpackFeature\n filled?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, filled, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n variant={props.variant || 'tertiary'}\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n className={clsx('cloud-button', props.className || '', {\n border: !!props.children,\n filled,\n })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n </StyledButton>\n )\n },\n)\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;AAMA,MAAM,eAAe,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6B3B,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,SAAS,QAAQ,GAAG,MAAA,GAAS,QAAQ;AAChC,UAAA,EAAE,mBAAmB,IAAI,aAAa;AAEtC,UAAA,gBAAgB,CAAC,MAAqC;;AAE1D,yBAAmB,OAAO;AAE1B,kBAAM,YAAN,+BAAgB;AAAA,IAClB;AAGE,WAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,MAAM,WAAW;AAAA,QAC1B,MAAM,MAAM,QAAQ;AAAA,QACnB,GAAG;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,QACT,WAAW,KAAK,gBAAgB,MAAM,aAAa,IAAI;AAAA,UACrD,QAAQ,CAAC,CAAC,MAAM;AAAA,UAChB;AAAA,QAAA,CACD;AAAA,QACD,gBAAc;AAAA,QACd,sBAAoB;AAAA,QAEnB,UAAM,MAAA;AAAA,MAAA;AAAA,IACT;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("../../../../_virtual/jsx-runtime.cjs.js");
|
|
4
|
+
const PowerpackDialog_styled = require("./PowerpackDialog.styled.cjs.js");
|
|
5
|
+
const ayonReactComponents = require("@ynput/ayon-react-components");
|
|
6
|
+
const PricingLink = require("./PricingLink.cjs.js");
|
|
7
|
+
require("../../context/RemoteModulesContext.cjs.js");
|
|
8
|
+
require("../../context/DetailsPanelContext.cjs.js");
|
|
9
|
+
require("../../context/ThumbnailUploaderContext.cjs.js");
|
|
10
|
+
require("../../context/SettingsPanelContext.cjs.js");
|
|
11
|
+
require("../../context/pip/PiPProvider.cjs.js");
|
|
12
|
+
require("react-dom");
|
|
13
|
+
require("../../context/pip/PiPWrapper.cjs.js");
|
|
14
|
+
require("../../context/AddonProjectContext.cjs.js");
|
|
15
|
+
require("../../context/AddonContext.cjs.js");
|
|
16
|
+
const PowerpackContext = require("../../context/PowerpackContext.cjs.js");
|
|
17
|
+
const PowerpackDialog = ({}) => {
|
|
18
|
+
const { setPowerpackDialog, selectedPowerPack, powerpackDialog } = PowerpackContext.usePowerpack();
|
|
19
|
+
if (!powerpackDialog) return null;
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(PowerpackDialog_styled.PowerpackDialog, { isOpen: true, onClose: () => setPowerpackDialog(null), size: "lg", children: [
|
|
21
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(PowerpackDialog_styled.MainFeature, { children: [
|
|
22
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("h1", { children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "bolt" }),
|
|
24
|
+
powerpackDialog.label
|
|
25
|
+
] }),
|
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("h2", { children: powerpackDialog.description })
|
|
27
|
+
] }),
|
|
28
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(PowerpackDialog_styled.FeaturesList, { children: [
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("h3", { children: [
|
|
30
|
+
"Unlock all ",
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "bolt" }),
|
|
32
|
+
" ",
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { className: "green", children: "Power Features" }),
|
|
34
|
+
" with an AYON subscription."
|
|
35
|
+
] }),
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("ul", { children: [
|
|
37
|
+
Object.entries(PowerpackContext.powerpackFeatures).sort(([key]) => key !== selectedPowerPack ? 1 : -1).map(([key, value]) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("li", { children: [
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "check" }),
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { children: value.bullet })
|
|
40
|
+
] }, key)),
|
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("li", { className: "more", children: "More coming soon!" })
|
|
42
|
+
] })
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(PricingLink.PricingLink, { children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(PowerpackDialog_styled.MoreButton, { children: "Find out more" }) })
|
|
45
|
+
] });
|
|
46
|
+
};
|
|
47
|
+
exports.PowerpackDialog = PowerpackDialog;
|
|
48
|
+
//# sourceMappingURL=PowerpackDialog.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PowerpackDialog.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackDialog.tsx"],"sourcesContent":["import * as Styled from './PowerpackDialog.styled'\nimport { FC } from 'react'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { PricingLink } from './PricingLink'\nimport { powerpackFeatures, usePowerpack } from '@shared/context'\n\nexport interface PowerpackDialogProps {}\n\nexport const PowerpackDialog: FC<PowerpackDialogProps> = ({}) => {\n const { setPowerpackDialog, selectedPowerPack, powerpackDialog } = usePowerpack()\n\n if (!powerpackDialog) return null\n\n return (\n <Styled.PowerpackDialog isOpen onClose={() => setPowerpackDialog(null)} size=\"lg\">\n <Styled.MainFeature>\n <h1>\n <Icon icon=\"bolt\" />\n {powerpackDialog.label}\n </h1>\n <h2>{powerpackDialog.description}</h2>\n </Styled.MainFeature>\n\n <Styled.FeaturesList>\n <h3>\n Unlock all <Icon icon=\"bolt\" /> <span className=\"green\">Power Features</span> with an AYON\n subscription.\n </h3>\n <ul>\n {Object.entries(powerpackFeatures)\n .sort(([key]) => (key !== selectedPowerPack ? 1 : -1))\n .map(([key, value]) => (\n <li key={key}>\n <Icon icon=\"check\" />\n <span>{value.bullet}</span>\n </li>\n ))}\n <li className=\"more\">More coming soon!</li>\n </ul>\n </Styled.FeaturesList>\n <PricingLink>\n <Styled.MoreButton>Find out more</Styled.MoreButton>\n </PricingLink>\n </Styled.PowerpackDialog>\n )\n}\n"],"names":["usePowerpack","jsxs","Styled.PowerpackDialog","Styled.MainFeature","jsx","Icon","Styled.FeaturesList","powerpackFeatures","PricingLink","Styled.MoreButton"],"mappings":";;;;;;;;;;;;;;;;AAQa,MAAA,kBAA4C,CAAC,CAAA,MAAO;AAC/D,QAAM,EAAE,oBAAoB,mBAAmB,gBAAA,IAAoBA,iBAAAA,aAAa;AAE5E,MAAA,CAAC,gBAAwB,QAAA;AAE7B,SACGC,kDAAAC,uBAAAA,iBAAA,EAAuB,QAAM,MAAC,SAAS,MAAM,mBAAmB,IAAI,GAAG,MAAK,MAC3E,UAAA;AAAA,IAACD,kDAAAE,uBAAAA,aAAA,EACC,UAAA;AAAA,MAAAF,kDAAC,MACC,EAAA,UAAA;AAAA,QAACG,2BAAAA,kBAAAA,IAAAC,oBAAA,MAAA,EAAK,MAAK,OAAO,CAAA;AAAA,QACjB,gBAAgB;AAAA,MAAA,GACnB;AAAA,MACAD,2BAAAA,kBAAAA,IAAC,MAAI,EAAA,UAAA,gBAAgB,YAAY,CAAA;AAAA,IAAA,GACnC;AAAA,IAEAH,kDAACK,uBAAAA,cAAA,EACC,UAAA;AAAA,MAAAL,kDAAC,MAAG,EAAA,UAAA;AAAA,QAAA;AAAA,QACSG,2BAAAA,kBAAAA,IAACC,oBAAK,MAAA,EAAA,MAAK,OAAO,CAAA;AAAA,QAAE;AAAA,QAAED,2BAAA,kBAAA,IAAA,QAAA,EAAK,WAAU,SAAQ,UAAc,kBAAA;AAAA,QAAO;AAAA,MAAA,GAE/E;AAAA,wDACC,MACE,EAAA,UAAA;AAAA,QAAO,OAAA,QAAQG,iBAAAA,iBAAiB,EAC9B,KAAK,CAAC,CAAC,GAAG,MAAO,QAAQ,oBAAoB,IAAI,EAAG,EACpD,IAAI,CAAC,CAAC,KAAK,KAAK,wDACd,MACC,EAAA,UAAA;AAAA,UAACH,2BAAAA,kBAAAA,IAAAC,oBAAA,MAAA,EAAK,MAAK,QAAQ,CAAA;AAAA,UACnBD,2BAAAA,kBAAAA,IAAC,QAAM,EAAA,UAAA,MAAM,OAAO,CAAA;AAAA,QAAA,EAAA,GAFb,GAGT,CACD;AAAA,QACFA,2BAAA,kBAAA,IAAA,MAAA,EAAG,WAAU,QAAO,UAAiB,oBAAA,CAAA;AAAA,MAAA,EACxC,CAAA;AAAA,IAAA,GACF;AAAA,qDACCI,YAAAA,aACC,EAAA,UAAAJ,2BAAAA,kBAAAA,IAACK,uBAAAA,YAAA,EAAkB,2BAAa,EAClC,CAAA;AAAA,EAAA,GACF;AAEJ;;"}
|