@ynput/ayon-frontend-shared 0.3.15 → 0.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +28 -24
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +36 -41
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs.js +1 -1
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es.js +4 -5
- package/dist/_virtual/index.es2.js +6 -2
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +2 -5
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +5 -2
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +5 -2
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es7.js +2 -2
- package/dist/_virtual/index.es8.js +2 -5
- package/dist/_virtual/index.es8.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +15 -11
- 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/react-use-websocket/dist/index.cjs.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/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.cjs.js.map +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/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/access.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +5 -3
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +2 -0
- package/dist/shared/src/api/generated/graphql.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/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +99 -90
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +13 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +72 -25
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +25 -21
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +14 -14
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +23 -23
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +71 -36
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +120 -89
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +52 -12
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +63 -21
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -4
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/utils/groupLinks.cjs.js +2 -0
- package/dist/shared/src/components/LinksManager/utils/groupLinks.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/utils/groupLinks.es.js +18 -0
- package/dist/shared/src/components/LinksManager/utils/groupLinks.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +8 -4
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -6
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +8 -4
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -4
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -4
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -5
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +139 -128
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +90 -81
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +9 -5
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +20 -16
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +12 -8
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +22 -18
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -4
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -4
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +57 -45
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.cjs.js +2 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.es.js +70 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +247 -151
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +6 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -5
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js +3 -3
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +8 -4
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +59 -55
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +9 -5
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +16 -16
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +9 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +17 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +7 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +60 -48
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +24 -24
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -4
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +24 -23
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +83 -88
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +56 -53
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +23 -144
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/types.cjs.js +2 -0
- package/dist/shared/src/containers/Views/types.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/types.es.js +15 -0
- package/dist/shared/src/containers/Views/types.es.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.cjs.js +2 -0
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.es.js +5 -0
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.es.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/portalUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/portalUtils.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +76 -77
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +9 -5
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/types/api/generated/access.d.ts +6 -0
- package/dist/types/api/generated/graphql.d.ts +8 -4
- package/dist/types/api/generated/users.d.ts +6 -1
- package/dist/types/components/AttributeEditor/AttributeEditor.d.ts +1 -0
- package/dist/types/components/LinksManager/LinkManagerItem.d.ts +2 -0
- package/dist/types/components/LinksManager/LinksManager.styled.d.ts +6 -0
- package/dist/types/components/LinksManager/utils/groupLinks.d.ts +14 -0
- package/dist/types/components/ReviewablesList/ReviewablesUpload.d.ts +1 -0
- package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +1 -0
- package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +2 -1
- package/dist/types/containers/Views/ViewsMenuContainer/ViewsMenuContainer.d.ts +2 -2
- package/dist/types/containers/Views/context/ViewsContext.d.ts +3 -2
- package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +1 -1
- package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -3
- package/dist/types/containers/Views/hooks/useSaveViewFromCurrent.d.ts +2 -1
- package/dist/types/containers/Views/hooks/useViewSettingsChanged.d.ts +1 -1
- package/dist/types/containers/Views/index.d.ts +1 -7
- package/dist/types/containers/Views/types.d.ts +10 -0
- package/dist/types/containers/Views/utils/isViewStudioScope.d.ts +2 -0
- package/dist/types/containers/Views/utils/portalUtils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleFormDialog.es.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\nimport { FormFileUpload, FormFileDownload, type FormFileData} from './FormFile'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\n\nexport type SimpleFormValue = string | number | boolean | string[] | number[] | FormFileData | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n } else if (field.type === 'file') {\n defaults[field.name] = undefined\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index} label={badge}/>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value.map(value => `${value}`) : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n\n if (field.type === 'file') {\n if (value && (value as FormFileData)?.download) {\n return <FormFileDownload value={value as FormFileData} />\n }\n return <FormFileUpload value={value as FormFileData} onChange={onChange} validExtensions={field.valid_extensions} />\n }\n\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputText","e","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","FormFileDownload","FormFileUpload","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SimpleFormDialog.es.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\nimport { FormFileUpload, FormFileDownload, type FormFileData} from './FormFile'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\n\nexport type SimpleFormValue = string | number | boolean | string[] | number[] | FormFileData | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n } else if (field.type === 'file') {\n defaults[field.name] = undefined\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index} label={badge}/>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value.map(value => `${value}`) : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n\n if (field.type === 'file') {\n if (value && (value as FormFileData)?.download) {\n return <FormFileDownload value={value as FormFileData} />\n }\n return <FormFileUpload value={value as FormFileData} onChange={onChange} validExtensions={field.valid_extensions} />\n }\n\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputText","e","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","FormFileDownload","FormFileUpload","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),n=require("styled-components"),t=require("@ynput/ayon-react-components");require("../../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../AccessUser/AccessUser.cjs.js");require("clsx");require("lodash");require("../../AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../Badge/Badge.cjs.js");require("../../Chips/Chips.cjs.js");require("date-fns");require("../../DateRangePicker/DateRangePicker.styled.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");const D=require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../DetailsPanelDetails/DetailsSection.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../DoneCheckbox/DoneCheckbox.cjs.js");require("../../EarlyPreview/EarlyPreview.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const ee=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const re=require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../containers/SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../../containers/SimpleTable/context/SimpleTableContext.cjs.js");require("../../../containers/SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../containers/Slicer/components/SlicerSearch.cjs.js");require("../../../containers/Slicer/context/SlicerContext.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/context/ViewsContext.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");const ie=require("../../ReviewablesList/ReviewablesUpload.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../Feedback/FeedbackContext.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../LegacyBadge/LegacyBadge.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/PricingLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../Powerpack/RequiredAddonVersion.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../SizeSlider/SizeSlider.cjs.js");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../SortingSetting/SortingSetting.styled.cjs.js");require("../../StyledLink/StyledLink.cjs.js");require("../../TableGridSwitch/TableGridSwitch.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("./UploadVersionDialog.cjs.js");const ue=require("../context/VersionUploadContext.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../Menu/Menu.styled.cjs.js");require("../../Menu/MenuItem.cjs.js");require("../../ReviewablesSelector/ReviewablesSelector.styled.cjs.js");const te=require("../../../../node_modules/primereact/skeleton/skeleton.esm.cjs.js"),ne=n.form`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),n=require("styled-components"),t=require("@ynput/ayon-react-components");require("../../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../AccessUser/AccessUser.cjs.js");require("clsx");require("lodash");require("../../AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../Badge/Badge.cjs.js");require("../../Chips/Chips.cjs.js");require("date-fns");require("../../DateRangePicker/DateRangePicker.styled.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");const D=require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("uuid");require("../../../util/pubsub.cjs.js");require("../../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../DetailsPanelDetails/DetailsSection.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../DoneCheckbox/DoneCheckbox.cjs.js");require("../../EarlyPreview/EarlyPreview.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const ee=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const re=require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../containers/SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../../containers/SimpleTable/context/SimpleTableContext.cjs.js");require("../../../containers/SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../containers/Slicer/components/SlicerSearch.cjs.js");require("../../../containers/Slicer/context/SlicerContext.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/context/ViewsContext.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");const ie=require("../../ReviewablesList/ReviewablesUpload.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../Feedback/FeedbackContext.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../LegacyBadge/LegacyBadge.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/PricingLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../Powerpack/RequiredAddonVersion.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../SizeSlider/SizeSlider.cjs.js");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../SortingSetting/SortingSetting.styled.cjs.js");require("../../StyledLink/StyledLink.cjs.js");require("../../TableGridSwitch/TableGridSwitch.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("./UploadVersionDialog.cjs.js");const ue=require("../context/VersionUploadContext.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../Menu/Menu.styled.cjs.js");require("../../Menu/MenuItem.cjs.js");require("../../ReviewablesSelector/ReviewablesSelector.styled.cjs.js");const te=require("../../../../node_modules/primereact/skeleton/skeleton.esm.cjs.js"),ne=n.form`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: var(--base-gap-large);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadVersionForm.cjs.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","useMemo","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","submitter","handleVersionChange","value","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","Skeleton","Fragment","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UploadVersionForm.cjs.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","useMemo","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","submitter","handleVersionChange","value","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","Skeleton","Fragment","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":"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"}
|
|
@@ -108,6 +108,12 @@ import "../../../api/queries/views/getViews.es.js";
|
|
|
108
108
|
import "../../../api/queries/views/updateViews.es.js";
|
|
109
109
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
110
110
|
import "../../../api/queries/uris/getUris.es.js";
|
|
111
|
+
import "../../../../../_virtual/index.es.js";
|
|
112
|
+
import "../../../../../node_modules/refractor/lib/common.es.js";
|
|
113
|
+
import "../../../../../node_modules/refractor/lib/all.es.js";
|
|
114
|
+
/* empty css */
|
|
115
|
+
import "uuid";
|
|
116
|
+
import "../../../util/pubsub.es.js";
|
|
111
117
|
import "../../DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
112
118
|
import "../../DetailsPanelDetails/DetailsPanelDetails.es.js";
|
|
113
119
|
import "../../DetailsPanelDetails/DetailsSection.es.js";
|
|
@@ -153,8 +159,6 @@ import "../../../containers/Feed/components/CommentInput/quillToMarkdown.es.js";
|
|
|
153
159
|
import "../../../containers/Feed/components/ActivityComment/ActivityComment.styled.es.js";
|
|
154
160
|
import "../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
|
|
155
161
|
import "../../../containers/Feed/components/ActivityReference/ActivityReference.styled.es.js";
|
|
156
|
-
import "uuid";
|
|
157
|
-
import "../../../util/pubsub.es.js";
|
|
158
162
|
import "react-router-dom";
|
|
159
163
|
import "../../../containers/Feed/components/ActivityStatus/ActivityStatus.es.js";
|
|
160
164
|
import "../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
|
|
@@ -325,7 +329,7 @@ const ht = p.form`
|
|
|
325
329
|
overflow: hidden;
|
|
326
330
|
text-overflow: ellipsis;
|
|
327
331
|
font-weight: bold;
|
|
328
|
-
`,
|
|
332
|
+
`, je = ({
|
|
329
333
|
formData: i,
|
|
330
334
|
onChange: m,
|
|
331
335
|
onSubmit: v,
|
|
@@ -527,6 +531,6 @@ const ht = p.form`
|
|
|
527
531
|
);
|
|
528
532
|
};
|
|
529
533
|
export {
|
|
530
|
-
|
|
534
|
+
je as UploadVersionForm
|
|
531
535
|
};
|
|
532
536
|
//# sourceMappingURL=UploadVersionForm.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadVersionForm.es.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","useMemo","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","e","submitter","handleVersionChange","value","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","Skeleton","Fragment","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UploadVersionForm.es.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","useMemo","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","e","submitter","handleVersionChange","value","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","Skeleton","Fragment","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),f=require("react-toastify");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("lodash");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");const n=require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/SubtasksModulesContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../SimpleTable/context/SimpleTableContext.cjs.js");require("../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../Slicer/components/SlicerSearch.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("./Actions.styled.cjs.js");require("./ActionsDropdown/ActionsDropdown.cjs.js");require("./ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");const g=require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../../components/ReviewablesSelector/ReviewablesSelector.styled.cjs.js");const m=({action:e,onClose:i,context:u})=>{const r=d.useMemo(()=>!e||!(e.addonName&&e.addonVersion)?null:{addonName:e.addonName,addonVersion:e.addonVersion,variant:e.variant,identifier:e.identifier},[e]),[o]=n.useSetActionConfigMutation(),t={actionConfig:u,...r||{}},{data:q}=n.useGetActionConfigQuery(t,{skip:!r});if(!(q&&e?.configFields&&e&&r))return null;const a=async s=>{try{await o({actionConfig:{...u,value:s},...r}).unwrap(),i()}catch(c){console.warn("Error configuring action",c),f.toast.error("Unable to set the action configuration")}};return l.jsxRuntimeExports.jsx(g.SimpleFormDialog,{isOpen:!0,title:`Configure action ${e.label}`,fields:e.configFields,values:q,onClose:i,onSubmit:a,submitLabel:"Save action config",cancelLabel:"Cancel",submitIcon:"check",cancelIcon:"close"})};exports.ActionConfigDialog=m;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),f=require("react-toastify");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("lodash");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");const n=require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("uuid");require("../../util/pubsub.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/SubtasksModulesContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../SimpleTable/context/SimpleTableContext.cjs.js");require("../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../Slicer/components/SlicerSearch.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("./Actions.styled.cjs.js");require("./ActionsDropdown/ActionsDropdown.cjs.js");require("./ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");const g=require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../../components/ReviewablesSelector/ReviewablesSelector.styled.cjs.js");const m=({action:e,onClose:i,context:u})=>{const r=d.useMemo(()=>!e||!(e.addonName&&e.addonVersion)?null:{addonName:e.addonName,addonVersion:e.addonVersion,variant:e.variant,identifier:e.identifier},[e]),[o]=n.useSetActionConfigMutation(),t={actionConfig:u,...r||{}},{data:q}=n.useGetActionConfigQuery(t,{skip:!r});if(!(q&&e?.configFields&&e&&r))return null;const a=async s=>{try{await o({actionConfig:{...u,value:s},...r}).unwrap(),i()}catch(c){console.warn("Error configuring action",c),f.toast.error("Unable to set the action configuration")}};return l.jsxRuntimeExports.jsx(g.SimpleFormDialog,{isOpen:!0,title:`Configure action ${e.label}`,fields:e.configFields,values:q,onClose:i,onSubmit:a,submitLabel:"Save action config",cancelLabel:"Cancel",submitIcon:"check",cancelIcon:"close"})};exports.ActionConfigDialog=m;
|
|
2
2
|
//# sourceMappingURL=ActionConfigDialog.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionConfigDialog.cjs.js","sources":["../../../../../src/containers/Actions/ActionConfigDialog.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormValueDict } from '@shared/components'\n\nimport { useGetActionConfigQuery, useSetActionConfigMutation } from '@shared/api'\nimport type { ActionContext, BaseActionManifest } from '@shared/api'\n\ntype ConfigData = Record<string, any>\n\ninterface ActionConfigDialogProps {\n action: BaseActionManifest\n context: ActionContext\n onClose: () => void\n}\n\ninterface ActionConfigRequestQueryParams {\n addonName: string\n addonVersion: string\n variant?: string\n identifier: string\n}\n\nexport const ActionConfigDialog = ({ action, onClose, context }: ActionConfigDialogProps) => {\n const requestParams: ActionConfigRequestQueryParams | null =\n useMemo<ActionConfigRequestQueryParams | null>(() => {\n if (!action) return null\n if (!(action.addonName && action.addonVersion)) return null // this should never happen\n return {\n addonName: action.addonName,\n addonVersion: action.addonVersion,\n variant: action.variant,\n identifier: action.identifier,\n }\n }, [action])\n\n const [configureAction] = useSetActionConfigMutation()\n\n // make typescript happily unknowing about the type\n // because even if we pass skip, arguments are still required in the right type. that's cursed\n const qp: any = { actionConfig: context, ...(requestParams || {}) }\n const { data: initValues } = useGetActionConfigQuery(qp, { skip: !requestParams })\n\n // it would be sooo cool if i could do this BEFORE the query and ommit that\n // qp thing, but i can't. because it would change the hook order. ffs\n if (!(initValues && action?.configFields && action && requestParams)) {\n return null\n }\n\n const handleSubmit = async (data: ConfigData) => {\n try {\n await configureAction({\n actionConfig: { ...context, value: data },\n ...requestParams,\n }).unwrap()\n onClose()\n } catch (error) {\n console.warn('Error configuring action', error)\n toast.error('Unable to set the action configuration')\n }\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`Configure action ${action.label}`}\n fields={action.configFields}\n values={initValues as SimpleFormValueDict}\n onClose={onClose}\n onSubmit={handleSubmit}\n submitLabel=\"Save action config\"\n cancelLabel=\"Cancel\"\n submitIcon=\"check\"\n cancelIcon=\"close\"\n />\n )\n}\n"],"names":["ActionConfigDialog","action","onClose","context","requestParams","useMemo","configureAction","useSetActionConfigMutation","qp","initValues","useGetActionConfigQuery","handleSubmit","data","error","toast","jsx","SimpleFormDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionConfigDialog.cjs.js","sources":["../../../../../src/containers/Actions/ActionConfigDialog.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormValueDict } from '@shared/components'\n\nimport { useGetActionConfigQuery, useSetActionConfigMutation } from '@shared/api'\nimport type { ActionContext, BaseActionManifest } from '@shared/api'\n\ntype ConfigData = Record<string, any>\n\ninterface ActionConfigDialogProps {\n action: BaseActionManifest\n context: ActionContext\n onClose: () => void\n}\n\ninterface ActionConfigRequestQueryParams {\n addonName: string\n addonVersion: string\n variant?: string\n identifier: string\n}\n\nexport const ActionConfigDialog = ({ action, onClose, context }: ActionConfigDialogProps) => {\n const requestParams: ActionConfigRequestQueryParams | null =\n useMemo<ActionConfigRequestQueryParams | null>(() => {\n if (!action) return null\n if (!(action.addonName && action.addonVersion)) return null // this should never happen\n return {\n addonName: action.addonName,\n addonVersion: action.addonVersion,\n variant: action.variant,\n identifier: action.identifier,\n }\n }, [action])\n\n const [configureAction] = useSetActionConfigMutation()\n\n // make typescript happily unknowing about the type\n // because even if we pass skip, arguments are still required in the right type. that's cursed\n const qp: any = { actionConfig: context, ...(requestParams || {}) }\n const { data: initValues } = useGetActionConfigQuery(qp, { skip: !requestParams })\n\n // it would be sooo cool if i could do this BEFORE the query and ommit that\n // qp thing, but i can't. because it would change the hook order. ffs\n if (!(initValues && action?.configFields && action && requestParams)) {\n return null\n }\n\n const handleSubmit = async (data: ConfigData) => {\n try {\n await configureAction({\n actionConfig: { ...context, value: data },\n ...requestParams,\n }).unwrap()\n onClose()\n } catch (error) {\n console.warn('Error configuring action', error)\n toast.error('Unable to set the action configuration')\n }\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`Configure action ${action.label}`}\n fields={action.configFields}\n values={initValues as SimpleFormValueDict}\n onClose={onClose}\n onSubmit={handleSubmit}\n submitLabel=\"Save action config\"\n cancelLabel=\"Cancel\"\n submitIcon=\"check\"\n cancelIcon=\"close\"\n />\n )\n}\n"],"names":["ActionConfigDialog","action","onClose","context","requestParams","useMemo","configureAction","useSetActionConfigMutation","qp","initValues","useGetActionConfigQuery","handleSubmit","data","error","toast","jsx","SimpleFormDialog"],"mappings":"46dAuBO,MAAMA,EAAqB,CAAC,CAAE,OAAAC,EAAQ,QAAAC,EAAS,QAAAC,KAAuC,CAC3F,MAAMC,EACJC,EAAAA,QAA+C,IACzC,CAACJ,GACD,EAAEA,EAAO,WAAaA,EAAO,cAAsB,KAChD,CACL,UAAWA,EAAO,UAClB,aAAcA,EAAO,aACrB,QAASA,EAAO,QAChB,WAAYA,EAAO,UAAA,EAEpB,CAACA,CAAM,CAAC,EAEP,CAACK,CAAe,EAAIC,6BAAA,EAIpBC,EAAU,CAAE,aAAcL,EAAS,GAAIC,GAAiB,CAAA,CAAC,EACzD,CAAE,KAAMK,GAAeC,EAAAA,wBAAwBF,EAAI,CAAE,KAAM,CAACJ,EAAe,EAIjF,GAAI,EAAEK,GAAcR,GAAQ,cAAgBA,GAAUG,GACpD,OAAO,KAGT,MAAMO,EAAe,MAAOC,GAAqB,CAC/C,GAAI,CACF,MAAMN,EAAgB,CACpB,aAAc,CAAE,GAAGH,EAAS,MAAOS,CAAA,EACnC,GAAGR,CAAA,CACJ,EAAE,OAAA,EACHF,EAAA,CACF,OAASW,EAAO,CACd,QAAQ,KAAK,2BAA4BA,CAAK,EAC9CC,EAAAA,MAAM,MAAM,wCAAwC,CACtD,CACF,EAEA,OACEC,EAAAA,kBAAAA,IAACC,EAAAA,iBAAA,CACC,OAAM,GACN,MAAO,oBAAoBf,EAAO,KAAK,GACvC,OAAQA,EAAO,aACf,OAAQQ,EACR,QAAAP,EACA,SAAUS,EACV,YAAY,qBACZ,YAAY,SACZ,WAAW,QACX,WAAW,OAAA,CAAA,CAGjB"}
|