@ynput/ayon-frontend-shared 0.2.34 → 0.2.35
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 +24 -23
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Feed.cjs.js +1 -1
- package/dist/Feed.es.js +20 -19
- package/dist/_virtual/attach-listener.cjs.js +2 -0
- package/dist/_virtual/attach-listener.cjs.js.map +1 -0
- package/dist/_virtual/attach-listener.es.js +5 -0
- package/dist/_virtual/attach-listener.es.js.map +1 -0
- package/dist/_virtual/attach-shared-listeners.cjs.js +2 -0
- package/dist/_virtual/attach-shared-listeners.cjs.js.map +1 -0
- package/dist/_virtual/attach-shared-listeners.es.js +5 -0
- package/dist/_virtual/attach-shared-listeners.es.js.map +1 -0
- package/dist/_virtual/constants.cjs.js +2 -0
- package/dist/_virtual/constants.cjs.js.map +1 -0
- package/dist/_virtual/constants.es.js +5 -0
- package/dist/_virtual/constants.es.js.map +1 -0
- package/dist/_virtual/create-or-join.cjs.js +2 -0
- package/dist/_virtual/create-or-join.cjs.js.map +1 -0
- package/dist/_virtual/create-or-join.es.js +5 -0
- package/dist/_virtual/create-or-join.es.js.map +1 -0
- package/dist/_virtual/get-url.cjs.js +2 -0
- package/dist/_virtual/get-url.cjs.js.map +1 -0
- package/dist/_virtual/get-url.es.js +5 -0
- package/dist/_virtual/get-url.es.js.map +1 -0
- package/dist/_virtual/globals.cjs.js +2 -0
- package/dist/_virtual/globals.cjs.js.map +1 -0
- package/dist/_virtual/globals.es.js +5 -0
- package/dist/_virtual/globals.es.js.map +1 -0
- package/dist/_virtual/heartbeat.cjs.js +2 -0
- package/dist/_virtual/heartbeat.cjs.js.map +1 -0
- package/dist/_virtual/heartbeat.es.js +5 -0
- package/dist/_virtual/heartbeat.es.js.map +1 -0
- package/dist/_virtual/index.cjs.js +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +2 -0
- package/dist/_virtual/index.cjs11.js.map +1 -0
- package/dist/_virtual/index.cjs12.js +2 -0
- package/dist/_virtual/index.cjs12.js.map +1 -0
- 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.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es.js +5 -4
- package/dist/_virtual/index.es10.js +5 -5
- package/dist/_virtual/index.es11.js +8 -0
- package/dist/_virtual/index.es11.js.map +1 -0
- package/dist/_virtual/index.es12.js +8 -0
- package/dist/_virtual/index.es12.js.map +1 -0
- package/dist/_virtual/index.es2.js +2 -2
- package/dist/_virtual/index.es3.js +5 -2
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es6.js +5 -5
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +2 -5
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/_virtual/manage-subscribers.cjs.js +2 -0
- package/dist/_virtual/manage-subscribers.cjs.js.map +1 -0
- package/dist/_virtual/manage-subscribers.es.js +5 -0
- package/dist/_virtual/manage-subscribers.es.js.map +1 -0
- package/dist/_virtual/proxy.cjs.js +2 -0
- package/dist/_virtual/proxy.cjs.js.map +1 -0
- package/dist/_virtual/proxy.es.js +5 -0
- package/dist/_virtual/proxy.es.js.map +1 -0
- package/dist/_virtual/socket-io.cjs.js +2 -0
- package/dist/_virtual/socket-io.cjs.js.map +1 -0
- package/dist/_virtual/socket-io.es.js +5 -0
- package/dist/_virtual/socket-io.es.js.map +1 -0
- package/dist/_virtual/use-event-source.cjs.js +2 -0
- package/dist/_virtual/use-event-source.cjs.js.map +1 -0
- package/dist/_virtual/use-event-source.es.js +5 -0
- package/dist/_virtual/use-event-source.es.js.map +1 -0
- package/dist/_virtual/use-socket-io.cjs.js +2 -0
- package/dist/_virtual/use-socket-io.cjs.js.map +1 -0
- package/dist/_virtual/use-socket-io.es.js +5 -0
- package/dist/_virtual/use-socket-io.es.js.map +1 -0
- package/dist/_virtual/use-websocket.cjs.js +2 -0
- package/dist/_virtual/use-websocket.cjs.js.map +1 -0
- package/dist/_virtual/use-websocket.es.js +5 -0
- package/dist/_virtual/use-websocket.es.js.map +1 -0
- package/dist/_virtual/util.cjs.js +2 -0
- package/dist/_virtual/util.cjs.js.map +1 -0
- package/dist/_virtual/util.es.js +5 -0
- package/dist/_virtual/util.es.js.map +1 -0
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +233 -230
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +25 -23
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +17 -13
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +11 -10
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/index.es.js +36 -0
- package/dist/node_modules/react-use-websocket/dist/index.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js +79 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js +72 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js +32 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js +53 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js +144 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js +19 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js +35 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js +36 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js +24 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js +39 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js +51 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js +54 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js +198 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.es.js +21 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/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.cjs.js.map +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.cjs.js.map +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.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +7 -6
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +71 -60
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.es.js +11 -6
- package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +2 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +144 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +36 -35
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.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 +28 -27
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.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 +4 -3
- package/dist/shared/src/components/LinksManager/AddNewLinks.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 +4 -3
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +3 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- 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 +4 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js +9 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js +30 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js.map +1 -0
- 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 +6 -5
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +4 -3
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.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 +5 -4
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +1 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +1 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -1
- package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js +2 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js.map +1 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.es.js +10 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -3
- 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 +4 -3
- 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 +5 -4
- 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 +4 -3
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +4 -4
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +3 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.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 +4 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -5
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.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 +4 -3
- 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 +4 -3
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
- package/dist/shared/src/containers/Actions/Actions.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 +4 -3
- 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 +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +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 +3 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- 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 +4 -3
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js +42 -39
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.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 +13 -12
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- 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 +258 -245
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +66 -11
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +68 -13
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +13 -10
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +6 -5
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +63 -51
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js +35 -31
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js +1 -0
- 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 -2
- 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 +3 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.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 +73 -72
- 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 +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.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 +4 -3
- 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 +4 -3
- 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 +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.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 +4 -3
- 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 +6 -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 +3 -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 +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.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 +4 -3
- 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 +4 -3
- 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 +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.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 +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.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 +15 -14
- 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 +4 -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 +6 -5
- 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 +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -3
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- 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 +4 -3
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +3 -2
- 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 +5 -4
- package/dist/shared/src/containers/Views/context/ViewsContext.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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +27 -13
- package/dist/shared/src/context/AddonProjectContext.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 +5 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +11 -10
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +2 -0
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -0
- package/dist/shared/src/context/WebsocketContext.es.js +309 -0
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -6
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +11 -10
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
- package/dist/types/api/queries/activities/index.d.ts +0 -1
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +40 -0
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/components/Powerpack/RequiredAddonVersion.d.ts +12 -0
- package/dist/types/components/Powerpack/index.d.ts +1 -1
- package/dist/types/components/RefreshToast/RefreshToast.d.ts +1 -0
- package/dist/types/components/RefreshToast/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +5 -0
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +2 -1
- package/dist/types/containers/Feed/components/FilesGrid/FilesGrid.d.ts +6 -2
- package/dist/types/context/AddonContext.d.ts +1 -0
- package/dist/types/context/AddonProjectContext.d.ts +6 -1
- package/dist/types/context/WebsocketContext.d.ts +21 -0
- package/dist/types/context/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +0 -9
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +0 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +0 -25
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +0 -1
- package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.cjs.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown, ActionsDropdownProps } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { ActionTriggersProps, useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ninterface ActionsProps extends ActionTriggersProps {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n projectActionsProjectName?: string\n featuredCount?: number\n isDeveloperMode: boolean\n align?: ActionsDropdownProps['align']\n pt?: {\n dropdown?: Partial<ActionsDropdownProps>\n }\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n projectActionsProjectName,\n searchParams,\n featuredCount = 2,\n isDeveloperMode,\n onNavigate,\n onSetSearchParams,\n align,\n pt,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers({ onNavigate, onSetSearchParams, searchParams })\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (projectActionsProjectName) {\n return {\n entityType: 'project',\n projectName: projectActionsProjectName,\n }\n }\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredCount)\n\n // Check if we need to add more actions to reach featuredCount\n if (tempFeaturedActions.length < featuredCount) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredCount) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredCount; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = useMemo(\n () => Array(featuredCount).fill(placeholder),\n [featuredCount, placeholder],\n )\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading && featuredCount > 0}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n isDeveloperMode={isDeveloperMode}\n align={align}\n {...pt?.dropdown}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["placeholder","Actions","entities","entityType","entitySubTypes","isLoadingEntity","projectActionsProjectName","searchParams","featuredCount","isDeveloperMode","onNavigate","onSetSearchParams","align","pt","handleActionPayload","useActionTriggers","actionBeingConfigured","setActionBeingConfigured","useState","interactiveForm","setInteractiveForm","context","useMemo","entitySubtypesLoaded","entity","value","index","self","entitySubTypesToUse","useEffect","data","isFetchingActions","useGetActionsFromContextQuery","actions","categoryOrder","groupedActions","acc","action","category","unorderedCategories","a","b","categories","dropdownOptions","options","groupOptions","featuredActions","tempFeaturedActions","i","executeAction","isLoadingExecution","originalArgs","useExecuteActionMutation","executingAction","handleExecuteAction","identifier","e","formData","option","toast","params","actionContext","response","error","_a","intf","handleConfigureAction","handleSubmitInteractiveForm","loadingActions","isLoading","featuredActionsToDisplay","jsxs","Styled.Actions","jsx","Styled.FeaturedAction","clsx","ActionIcon","ActionsDropdown","ActionConfigDialog","InteractiveActionDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.cjs.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown, ActionsDropdownProps } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { ActionTriggersProps, useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ninterface ActionsProps extends ActionTriggersProps {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n projectActionsProjectName?: string\n featuredCount?: number\n isDeveloperMode: boolean\n align?: ActionsDropdownProps['align']\n pt?: {\n dropdown?: Partial<ActionsDropdownProps>\n }\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n projectActionsProjectName,\n searchParams,\n featuredCount = 2,\n isDeveloperMode,\n onNavigate,\n onSetSearchParams,\n align,\n pt,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers({ onNavigate, onSetSearchParams, searchParams })\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (projectActionsProjectName) {\n return {\n entityType: 'project',\n projectName: projectActionsProjectName,\n }\n }\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredCount)\n\n // Check if we need to add more actions to reach featuredCount\n if (tempFeaturedActions.length < featuredCount) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredCount) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredCount; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = useMemo(\n () => Array(featuredCount).fill(placeholder),\n [featuredCount, placeholder],\n )\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading && featuredCount > 0}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n isDeveloperMode={isDeveloperMode}\n align={align}\n {...pt?.dropdown}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["placeholder","Actions","entities","entityType","entitySubTypes","isLoadingEntity","projectActionsProjectName","searchParams","featuredCount","isDeveloperMode","onNavigate","onSetSearchParams","align","pt","handleActionPayload","useActionTriggers","actionBeingConfigured","setActionBeingConfigured","useState","interactiveForm","setInteractiveForm","context","useMemo","entitySubtypesLoaded","entity","value","index","self","entitySubTypesToUse","useEffect","data","isFetchingActions","useGetActionsFromContextQuery","actions","categoryOrder","groupedActions","acc","action","category","unorderedCategories","a","b","categories","dropdownOptions","options","groupOptions","featuredActions","tempFeaturedActions","i","executeAction","isLoadingExecution","originalArgs","useExecuteActionMutation","executingAction","handleExecuteAction","identifier","e","formData","option","toast","params","actionContext","response","error","_a","intf","handleConfigureAction","handleSubmitInteractiveForm","loadingActions","isLoading","featuredActionsToDisplay","jsxs","Styled.Actions","jsx","Styled.FeaturedAction","clsx","ActionIcon","ActionsDropdown","ActionConfigDialog","InteractiveActionDialog"],"mappings":"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"}
|
|
@@ -101,6 +101,7 @@ import "../../context/AddonContext.es.js";
|
|
|
101
101
|
import "../../context/PowerpackContext.es.js";
|
|
102
102
|
import "../../context/MoveEntityContext.es.js";
|
|
103
103
|
import "../../context/MenuContext.es.js";
|
|
104
|
+
import "../../context/WebsocketContext.es.js";
|
|
104
105
|
import { useActionTriggers as no } from "../../hooks/useActionTriggers.es.js";
|
|
105
106
|
import { ActionConfigDialog as mo } from "./ActionConfigDialog.es.js";
|
|
106
107
|
import { InteractiveActionDialog as po } from "./InteractiveActionDialog.es.js";
|
|
@@ -110,7 +111,7 @@ const v = {
|
|
|
110
111
|
isPlaceholder: !0,
|
|
111
112
|
icon: { type: "material-symbols", name: "sync" },
|
|
112
113
|
groupLabel: ""
|
|
113
|
-
},
|
|
114
|
+
}, li = ({
|
|
114
115
|
entities: s,
|
|
115
116
|
entityType: g,
|
|
116
117
|
entitySubTypes: h,
|
|
@@ -291,6 +292,6 @@ const v = {
|
|
|
291
292
|
] });
|
|
292
293
|
};
|
|
293
294
|
export {
|
|
294
|
-
|
|
295
|
+
li as Actions
|
|
295
296
|
};
|
|
296
297
|
//# sourceMappingURL=Actions.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.es.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown, ActionsDropdownProps } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { ActionTriggersProps, useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ninterface ActionsProps extends ActionTriggersProps {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n projectActionsProjectName?: string\n featuredCount?: number\n isDeveloperMode: boolean\n align?: ActionsDropdownProps['align']\n pt?: {\n dropdown?: Partial<ActionsDropdownProps>\n }\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n projectActionsProjectName,\n searchParams,\n featuredCount = 2,\n isDeveloperMode,\n onNavigate,\n onSetSearchParams,\n align,\n pt,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers({ onNavigate, onSetSearchParams, searchParams })\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (projectActionsProjectName) {\n return {\n entityType: 'project',\n projectName: projectActionsProjectName,\n }\n }\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredCount)\n\n // Check if we need to add more actions to reach featuredCount\n if (tempFeaturedActions.length < featuredCount) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredCount) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredCount; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = useMemo(\n () => Array(featuredCount).fill(placeholder),\n [featuredCount, placeholder],\n )\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading && featuredCount > 0}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n isDeveloperMode={isDeveloperMode}\n align={align}\n {...pt?.dropdown}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["placeholder","Actions","entities","entityType","entitySubTypes","isLoadingEntity","projectActionsProjectName","searchParams","featuredCount","isDeveloperMode","onNavigate","onSetSearchParams","align","pt","handleActionPayload","useActionTriggers","actionBeingConfigured","setActionBeingConfigured","useState","interactiveForm","setInteractiveForm","context","useMemo","entitySubtypesLoaded","entity","value","index","self","entitySubTypesToUse","useEffect","data","isFetchingActions","useGetActionsFromContextQuery","actions","categoryOrder","groupedActions","acc","action","category","unorderedCategories","a","b","categories","dropdownOptions","options","groupOptions","featuredActions","tempFeaturedActions","i","executeAction","isLoadingExecution","originalArgs","useExecuteActionMutation","executingAction","handleExecuteAction","identifier","e","formData","option","toast","params","actionContext","response","error","_a","intf","handleConfigureAction","handleSubmitInteractiveForm","loadingActions","isLoading","featuredActionsToDisplay","jsxs","Styled.Actions","jsx","Styled.FeaturedAction","clsx","ActionIcon","ActionsDropdown","ActionConfigDialog","InteractiveActionDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.es.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown, ActionsDropdownProps } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { ActionTriggersProps, useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ninterface ActionsProps extends ActionTriggersProps {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n projectActionsProjectName?: string\n featuredCount?: number\n isDeveloperMode: boolean\n align?: ActionsDropdownProps['align']\n pt?: {\n dropdown?: Partial<ActionsDropdownProps>\n }\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n projectActionsProjectName,\n searchParams,\n featuredCount = 2,\n isDeveloperMode,\n onNavigate,\n onSetSearchParams,\n align,\n pt,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers({ onNavigate, onSetSearchParams, searchParams })\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (projectActionsProjectName) {\n return {\n entityType: 'project',\n projectName: projectActionsProjectName,\n }\n }\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredCount)\n\n // Check if we need to add more actions to reach featuredCount\n if (tempFeaturedActions.length < featuredCount) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredCount) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredCount; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = useMemo(\n () => Array(featuredCount).fill(placeholder),\n [featuredCount, placeholder],\n )\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading && featuredCount > 0}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n isDeveloperMode={isDeveloperMode}\n align={align}\n {...pt?.dropdown}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["placeholder","Actions","entities","entityType","entitySubTypes","isLoadingEntity","projectActionsProjectName","searchParams","featuredCount","isDeveloperMode","onNavigate","onSetSearchParams","align","pt","handleActionPayload","useActionTriggers","actionBeingConfigured","setActionBeingConfigured","useState","interactiveForm","setInteractiveForm","context","useMemo","entitySubtypesLoaded","entity","value","index","self","entitySubTypesToUse","useEffect","data","isFetchingActions","useGetActionsFromContextQuery","actions","categoryOrder","groupedActions","acc","action","category","unorderedCategories","a","b","categories","dropdownOptions","options","groupOptions","featuredActions","tempFeaturedActions","i","executeAction","isLoadingExecution","originalArgs","useExecuteActionMutation","executingAction","handleExecuteAction","identifier","e","formData","option","toast","params","actionContext","response","error","_a","intf","handleConfigureAction","handleSubmitInteractiveForm","loadingActions","isLoading","featuredActionsToDisplay","jsxs","Styled.Actions","jsx","Styled.FeaturedAction","clsx","ActionIcon","ActionsDropdown","ActionConfigDialog","InteractiveActionDialog"],"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");require("@ynput/ayon-react-components");require("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.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/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/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/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/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/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("react");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");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("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");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("../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("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");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("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.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/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/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");const n=require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.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/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.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/RequiredPowerpackVersion.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");const t=({interactiveForm:e,onClose:r,onSubmit:i})=>{if(!e)return null;const u=q=>{i(e.identifier,q),r()};return l.jsxRuntimeExports.jsx(n.SimpleFormDialog,{isOpen:!0,title:`${e.title}`,fields:e.fields,submitLabel:e.submitLabel,cancelLabel:e.cancelLabel,submitIcon:e.submitIcon,cancelIcon:e.cancelIcon,onClose:r,onSubmit:u})};exports.InteractiveActionDialog=t;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");require("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.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/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/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/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/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/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("react");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");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("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");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("../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("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");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("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.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/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/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");const n=require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.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/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.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/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");const t=({interactiveForm:e,onClose:r,onSubmit:i})=>{if(!e)return null;const u=q=>{i(e.identifier,q),r()};return l.jsxRuntimeExports.jsx(n.SimpleFormDialog,{isOpen:!0,title:`${e.title}`,fields:e.fields,submitLabel:e.submitLabel,cancelLabel:e.cancelLabel,submitIcon:e.submitIcon,cancelIcon:e.cancelIcon,onClose:r,onSubmit:u})};exports.InteractiveActionDialog=t;
|
|
2
2
|
//# sourceMappingURL=InteractiveActionDialog.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveActionDialog.cjs.js","sources":["../../../../../src/containers/Actions/InteractiveActionDialog.tsx"],"sourcesContent":["import { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormField } from '@shared/api'\n\nexport interface InteractiveForm {\n identifier: string\n title: string\n fields: SimpleFormField[]\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n}\n\nexport interface InteractiveActionDialogProps {\n interactiveForm: InteractiveForm | null\n onClose: () => void\n onSubmit: (identifier: string, formData: Record<string, any>) => void\n}\n\nexport const InteractiveActionDialog = ({\n interactiveForm,\n onClose,\n onSubmit,\n}: InteractiveActionDialogProps) => {\n if (!interactiveForm) return null\n\n const handleSubmit = (formData: Record<string, any>) => {\n onSubmit(interactiveForm.identifier, formData)\n onClose()\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`${interactiveForm.title}`}\n fields={interactiveForm.fields}\n submitLabel={interactiveForm.submitLabel}\n cancelLabel={interactiveForm.cancelLabel}\n submitIcon={interactiveForm.submitIcon}\n cancelIcon={interactiveForm.cancelIcon}\n onClose={onClose}\n onSubmit={handleSubmit}\n />\n )\n}\n"],"names":["InteractiveActionDialog","interactiveForm","onClose","onSubmit","handleSubmit","formData","jsx","SimpleFormDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InteractiveActionDialog.cjs.js","sources":["../../../../../src/containers/Actions/InteractiveActionDialog.tsx"],"sourcesContent":["import { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormField } from '@shared/api'\n\nexport interface InteractiveForm {\n identifier: string\n title: string\n fields: SimpleFormField[]\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n}\n\nexport interface InteractiveActionDialogProps {\n interactiveForm: InteractiveForm | null\n onClose: () => void\n onSubmit: (identifier: string, formData: Record<string, any>) => void\n}\n\nexport const InteractiveActionDialog = ({\n interactiveForm,\n onClose,\n onSubmit,\n}: InteractiveActionDialogProps) => {\n if (!interactiveForm) return null\n\n const handleSubmit = (formData: Record<string, any>) => {\n onSubmit(interactiveForm.identifier, formData)\n onClose()\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`${interactiveForm.title}`}\n fields={interactiveForm.fields}\n submitLabel={interactiveForm.submitLabel}\n cancelLabel={interactiveForm.cancelLabel}\n submitIcon={interactiveForm.submitIcon}\n cancelIcon={interactiveForm.cancelIcon}\n onClose={onClose}\n onSubmit={handleSubmit}\n />\n )\n}\n"],"names":["InteractiveActionDialog","interactiveForm","onClose","onSubmit","handleSubmit","formData","jsx","SimpleFormDialog"],"mappings":"olZAmBO,MAAMA,EAA0B,CAAC,CACtC,gBAAAC,EACA,QAAAC,EACA,SAAAC,CACF,IAAoC,CAC9B,GAAA,CAACF,EAAwB,OAAA,KAEvB,MAAAG,EAAgBC,GAAkC,CAC7CF,EAAAF,EAAgB,WAAYI,CAAQ,EACrCH,EAAA,CACV,EAGE,OAAAI,EAAA,kBAAA,IAACC,EAAA,iBAAA,CACC,OAAM,GACN,MAAO,GAAGN,EAAgB,KAAK,GAC/B,OAAQA,EAAgB,OACxB,YAAaA,EAAgB,YAC7B,YAAaA,EAAgB,YAC7B,WAAYA,EAAgB,WAC5B,WAAYA,EAAgB,WAC5B,QAAAC,EACA,SAAUE,CAAA,CACZ,CAEJ"}
|
|
@@ -109,6 +109,7 @@ import "../../context/AddonContext.es.js";
|
|
|
109
109
|
import "../../context/PowerpackContext.es.js";
|
|
110
110
|
import "../../context/MoveEntityContext.es.js";
|
|
111
111
|
import "../../context/MenuContext.es.js";
|
|
112
|
+
import "../../context/WebsocketContext.es.js";
|
|
112
113
|
import "../../components/ReviewableCard/ReviewableCard.es.js";
|
|
113
114
|
import "../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
114
115
|
import "../../components/FileThumbnail/FileThumbnail.es.js";
|
|
@@ -206,7 +207,7 @@ import "../../components/Powerpack/PowerpackButton.es.js";
|
|
|
206
207
|
import "../../components/Powerpack/PricingLink.es.js";
|
|
207
208
|
import "../../components/Powerpack/PowerpackDialog.styled.es.js";
|
|
208
209
|
import "../../components/Powerpack/CTAButton.es.js";
|
|
209
|
-
import "../../components/Powerpack/
|
|
210
|
+
import "../../components/Powerpack/RequiredAddonVersion.es.js";
|
|
210
211
|
import "../../components/SettingsPanel/SettingsPanel.es.js";
|
|
211
212
|
import "../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
212
213
|
import "../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
@@ -224,7 +225,7 @@ import "../../components/ShareOptionIcon/ShareOptionIcon.es.js";
|
|
|
224
225
|
import "../../components/AccessUser/AccessUser.es.js";
|
|
225
226
|
import "../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
|
|
226
227
|
import "../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
|
|
227
|
-
const
|
|
228
|
+
const jm = ({
|
|
228
229
|
interactiveForm: t,
|
|
229
230
|
onClose: i,
|
|
230
231
|
onSubmit: o
|
|
@@ -249,6 +250,6 @@ const Lm = ({
|
|
|
249
250
|
);
|
|
250
251
|
};
|
|
251
252
|
export {
|
|
252
|
-
|
|
253
|
+
jm as InteractiveActionDialog
|
|
253
254
|
};
|
|
254
255
|
//# sourceMappingURL=InteractiveActionDialog.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveActionDialog.es.js","sources":["../../../../../src/containers/Actions/InteractiveActionDialog.tsx"],"sourcesContent":["import { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormField } from '@shared/api'\n\nexport interface InteractiveForm {\n identifier: string\n title: string\n fields: SimpleFormField[]\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n}\n\nexport interface InteractiveActionDialogProps {\n interactiveForm: InteractiveForm | null\n onClose: () => void\n onSubmit: (identifier: string, formData: Record<string, any>) => void\n}\n\nexport const InteractiveActionDialog = ({\n interactiveForm,\n onClose,\n onSubmit,\n}: InteractiveActionDialogProps) => {\n if (!interactiveForm) return null\n\n const handleSubmit = (formData: Record<string, any>) => {\n onSubmit(interactiveForm.identifier, formData)\n onClose()\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`${interactiveForm.title}`}\n fields={interactiveForm.fields}\n submitLabel={interactiveForm.submitLabel}\n cancelLabel={interactiveForm.cancelLabel}\n submitIcon={interactiveForm.submitIcon}\n cancelIcon={interactiveForm.cancelIcon}\n onClose={onClose}\n onSubmit={handleSubmit}\n />\n )\n}\n"],"names":["InteractiveActionDialog","interactiveForm","onClose","onSubmit","handleSubmit","formData","jsx","SimpleFormDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InteractiveActionDialog.es.js","sources":["../../../../../src/containers/Actions/InteractiveActionDialog.tsx"],"sourcesContent":["import { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormField } from '@shared/api'\n\nexport interface InteractiveForm {\n identifier: string\n title: string\n fields: SimpleFormField[]\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n}\n\nexport interface InteractiveActionDialogProps {\n interactiveForm: InteractiveForm | null\n onClose: () => void\n onSubmit: (identifier: string, formData: Record<string, any>) => void\n}\n\nexport const InteractiveActionDialog = ({\n interactiveForm,\n onClose,\n onSubmit,\n}: InteractiveActionDialogProps) => {\n if (!interactiveForm) return null\n\n const handleSubmit = (formData: Record<string, any>) => {\n onSubmit(interactiveForm.identifier, formData)\n onClose()\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`${interactiveForm.title}`}\n fields={interactiveForm.fields}\n submitLabel={interactiveForm.submitLabel}\n cancelLabel={interactiveForm.cancelLabel}\n submitIcon={interactiveForm.submitIcon}\n cancelIcon={interactiveForm.cancelIcon}\n onClose={onClose}\n onSubmit={handleSubmit}\n />\n )\n}\n"],"names":["InteractiveActionDialog","interactiveForm","onClose","onSubmit","handleSubmit","formData","jsx","SimpleFormDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,KAA0B,CAAC;AAAA,EACtC,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AACF,MAAoC;AAC9B,MAAA,CAACF,EAAwB,QAAA;AAEvB,QAAAG,IAAe,CAACC,MAAkC;AAC7C,IAAAF,EAAAF,EAAgB,YAAYI,CAAQ,GACrCH,EAAA;AAAA,EACV;AAGE,SAAAI,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAM;AAAA,MACN,OAAO,GAAGN,EAAgB,KAAK;AAAA,MAC/B,QAAQA,EAAgB;AAAA,MACxB,aAAaA,EAAgB;AAAA,MAC7B,aAAaA,EAAgB;AAAA,MAC7B,YAAYA,EAAgB;AAAA,MAC5B,YAAYA,EAAgB;AAAA,MAC5B,SAAAC;AAAA,MACA,UAAUE;AAAA,IAAA;AAAA,EACZ;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),S=require("@ynput/ayon-react-components"),o=require("react"),g=require("./DetailsPanel.styled.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/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/entities/getEntity.cjs.js");const ie=require("../../api/queries/entities/getEntityPanel.cjs.js"),ue=require("../../api/queries/entities/transformDetailsPanelData.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/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/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/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("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */const te=require("../../util/productTypes.cjs.js");require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");const I=require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");const qe=require("../../context/pip/PiPProvider.cjs.js");require("react-dom");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("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");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("../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("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");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("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.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/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const se=require("./DetailsPanelHeader/DetailsPanelHeader.cjs.js"),ne=require("./DetailsPanelFiles/DetailsPanelFiles.cjs.js"),ae=require("./hooks/useGetEntityPath.cjs.js"),oe=require("./helpers/getAllProjectsStatuses.cjs.js"),ce=require("./FeedWrapper.cjs.js"),le=require("./FeedContextWrapper.cjs.js"),de=require("./helpers/mergeProjectInfo.cjs.js");require("./DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("./DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("./DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/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("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");const xe=require("../../components/EntityPath/EntityPath.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");const me=require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");const je=require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.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/RequiredPowerpackVersion.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");const T=["product","representation"],Ee=({entityType:i,entitySubTypes:A=[],entitiesData:G=[],entities:p=[],tagsOptions:H=[],disabledStatuses:M,projectUsers:h,disabledProjectUsers:O,activeProjectUsers:D,projectsInfo:d={},projectNames:x=[],isSlideOut:E=!1,style:fe={},scope:t,isCompact:_=!1,onClose:s,onWatchersUpdate:R,onOpenViewer:f,onEntityFocus:B,annotations:b,removeAnnotation:N,exportAnnotationComposite:v,entityListId:F,guestCategories:Q={}})=>{const{closeSlideOut:K,openPip:U,user:W,isGuest:X}=I.useDetailsPanelContext(),{currentTab:q,setTab:m,isFeed:z}=I.useScopedDetailsPanel(t);o.useEffect(()=>{T.includes(i)&&q!=="details"&&m("details")},[i,q,m]);const P=o.useMemo(()=>de(d,x),[d,x]),k=o.useMemo(()=>({task:P.taskTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),folder:P.folderTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),product:Object.entries(te).reduce((e,[u,j])=>({...e,[u]:j.icon}),{})}),[P]);o.useEffect(()=>{q==="files"&&i!=="version"&&m("activity")},[i,q,t]);let n=p.length?p.map(e=>({id:e.id,projectName:e.projectName})):G.map(e=>({id:e.id,projectName:e.projectName}));n=n.filter(e=>e.id);const{data:a=[],isFetching:c,isError:J,originalArgs:Y}=ie.useGetEntitiesDetailsPanelQuery({entityType:i,entities:n},{skip:!n.length||!ue.detailsPanelEntityTypes.includes(i)});o.useEffect(()=>{E||K()},[Y,E]);const w=oe(d),l=x[0],y=d[l]||{},Z=a[0]||{},[C,$]=ae({entity:Z,entityType:i,projectName:l,isLoading:c});o.useEffect(()=>{const e=u=>{const j=u.target,re=["INPUT","TEXTAREA","SELECT"].includes(j.tagName)||j.isContentEditable;u.key==="Escape"&&!re&&s&&s()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s]);const{requestPipWindow:V}=qe.usePiPWindow(),ee=()=>{U({entityType:i,entities:n,scope:t}),V(500,500)},L=()=>{var e;return!(x.length>1||X&&(!F||!Object.prototype.hasOwnProperty.call(Q,((e=W.attrib)==null?void 0:e.email)||"")))};return r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:r.jsxRuntimeExports.jsxs(g.Panel,{className:"details-panel",children:[r.jsxRuntimeExports.jsxs(g.Toolbar,{children:[r.jsxRuntimeExports.jsx(xe.EntityPath,{segments:C,versions:$,projectName:l,hideProjectName:E,isLoading:c||!C.length,entityType:i,scope:t,entityTypeIcons:k}),r.jsxRuntimeExports.jsxs(g.RightTools,{className:"right-tools",children:[r.jsxRuntimeExports.jsx(je.Watchers,{entities:n,entityType:i,options:h||[],onWatchersUpdate:R&&R,userName:W.name}),r.jsxRuntimeExports.jsx(S.Button,{icon:"picture_in_picture",variant:"text","data-tooltip":"Picture in Picture",onClick:ee}),s&&r.jsxRuntimeExports.jsx(S.Button,{icon:"close",variant:"text",onClick:()=>s&&s(),"data-shortcut":"Escape"})]})]}),r.jsxRuntimeExports.jsx(se,{entityType:i,entitySubTypes:A,entities:a,users:h,disabledAssignees:O,disabledStatuses:M,tagsOptions:H,isFetching:c,isCompact:_,currentTab:q,onTabChange:m,entityTypeIcons:k,onOpenViewer:e=>f==null?void 0:f(e),onEntityFocus:B}),z&&!J&&r.jsxRuntimeExports.jsx(ce,{entityType:i,entities:a,activeUsers:D||[],projectInfo:y,projectName:l,disabled:!L(),scope:t,statuses:w,readOnly:!1,entityListId:F,annotations:b,removeAnnotation:N,exportAnnotationComposite:v}),q==="files"&&r.jsxRuntimeExports.jsx(ne,{entities:a,scope:t,isLoadingVersion:c}),q==="details"&&r.jsxRuntimeExports.jsx(le,{entityType:i,entities:a,activeUsers:D||[],projectInfo:y,projectName:l,disabled:!L(),scope:t,statuses:w,readOnly:!1,annotations:b,removeAnnotation:N,exportAnnotationComposite:v,children:r.jsxRuntimeExports.jsx(me.DetailsPanelDetails,{entities:a,isLoading:c})})]})})};exports.DetailsPanel=Ee;exports.entitiesWithoutFeed=T;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),S=require("@ynput/ayon-react-components"),o=require("react"),g=require("./DetailsPanel.styled.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/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/entities/getEntity.cjs.js");const ie=require("../../api/queries/entities/getEntityPanel.cjs.js"),ue=require("../../api/queries/entities/transformDetailsPanelData.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/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/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/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("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */const te=require("../../util/productTypes.cjs.js");require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");const I=require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");const qe=require("../../context/pip/PiPProvider.cjs.js");require("react-dom");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("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");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("../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("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");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("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.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/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const se=require("./DetailsPanelHeader/DetailsPanelHeader.cjs.js"),ne=require("./DetailsPanelFiles/DetailsPanelFiles.cjs.js"),ae=require("./hooks/useGetEntityPath.cjs.js"),oe=require("./helpers/getAllProjectsStatuses.cjs.js"),ce=require("./FeedWrapper.cjs.js"),le=require("./FeedContextWrapper.cjs.js"),de=require("./helpers/mergeProjectInfo.cjs.js");require("./DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("./DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("./DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/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("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");const xe=require("../../components/EntityPath/EntityPath.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");const me=require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");const je=require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.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/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");const T=["product","representation"],Ee=({entityType:i,entitySubTypes:A=[],entitiesData:G=[],entities:p=[],tagsOptions:H=[],disabledStatuses:M,projectUsers:h,disabledProjectUsers:O,activeProjectUsers:D,projectsInfo:d={},projectNames:x=[],isSlideOut:E=!1,style:fe={},scope:t,isCompact:_=!1,onClose:s,onWatchersUpdate:R,onOpenViewer:f,onEntityFocus:B,annotations:b,removeAnnotation:N,exportAnnotationComposite:v,entityListId:F,guestCategories:Q={}})=>{const{closeSlideOut:K,openPip:U,user:W,isGuest:X}=I.useDetailsPanelContext(),{currentTab:q,setTab:m,isFeed:z}=I.useScopedDetailsPanel(t);o.useEffect(()=>{T.includes(i)&&q!=="details"&&m("details")},[i,q,m]);const P=o.useMemo(()=>de(d,x),[d,x]),k=o.useMemo(()=>({task:P.taskTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),folder:P.folderTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),product:Object.entries(te).reduce((e,[u,j])=>({...e,[u]:j.icon}),{})}),[P]);o.useEffect(()=>{q==="files"&&i!=="version"&&m("activity")},[i,q,t]);let n=p.length?p.map(e=>({id:e.id,projectName:e.projectName})):G.map(e=>({id:e.id,projectName:e.projectName}));n=n.filter(e=>e.id);const{data:a=[],isFetching:c,isError:J,originalArgs:Y}=ie.useGetEntitiesDetailsPanelQuery({entityType:i,entities:n},{skip:!n.length||!ue.detailsPanelEntityTypes.includes(i)});o.useEffect(()=>{E||K()},[Y,E]);const w=oe(d),l=x[0],y=d[l]||{},Z=a[0]||{},[C,$]=ae({entity:Z,entityType:i,projectName:l,isLoading:c});o.useEffect(()=>{const e=u=>{const j=u.target,re=["INPUT","TEXTAREA","SELECT"].includes(j.tagName)||j.isContentEditable;u.key==="Escape"&&!re&&s&&s()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s]);const{requestPipWindow:V}=qe.usePiPWindow(),ee=()=>{U({entityType:i,entities:n,scope:t}),V(500,500)},L=()=>{var e;return!(x.length>1||X&&(!F||!Object.prototype.hasOwnProperty.call(Q,((e=W.attrib)==null?void 0:e.email)||"")))};return r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:r.jsxRuntimeExports.jsxs(g.Panel,{className:"details-panel",children:[r.jsxRuntimeExports.jsxs(g.Toolbar,{children:[r.jsxRuntimeExports.jsx(xe.EntityPath,{segments:C,versions:$,projectName:l,hideProjectName:E,isLoading:c||!C.length,entityType:i,scope:t,entityTypeIcons:k}),r.jsxRuntimeExports.jsxs(g.RightTools,{className:"right-tools",children:[r.jsxRuntimeExports.jsx(je.Watchers,{entities:n,entityType:i,options:h||[],onWatchersUpdate:R&&R,userName:W.name}),r.jsxRuntimeExports.jsx(S.Button,{icon:"picture_in_picture",variant:"text","data-tooltip":"Picture in Picture",onClick:ee}),s&&r.jsxRuntimeExports.jsx(S.Button,{icon:"close",variant:"text",onClick:()=>s&&s(),"data-shortcut":"Escape"})]})]}),r.jsxRuntimeExports.jsx(se,{entityType:i,entitySubTypes:A,entities:a,users:h,disabledAssignees:O,disabledStatuses:M,tagsOptions:H,isFetching:c,isCompact:_,currentTab:q,onTabChange:m,entityTypeIcons:k,onOpenViewer:e=>f==null?void 0:f(e),onEntityFocus:B}),z&&!J&&r.jsxRuntimeExports.jsx(ce,{entityType:i,entities:a,activeUsers:D||[],projectInfo:y,projectName:l,disabled:!L(),scope:t,statuses:w,readOnly:!1,entityListId:F,annotations:b,removeAnnotation:N,exportAnnotationComposite:v}),q==="files"&&r.jsxRuntimeExports.jsx(ne,{entities:a,scope:t,isLoadingVersion:c}),q==="details"&&r.jsxRuntimeExports.jsx(le,{entityType:i,entities:a,activeUsers:D||[],projectInfo:y,projectName:l,disabled:!L(),scope:t,statuses:w,readOnly:!1,annotations:b,removeAnnotation:N,exportAnnotationComposite:v,children:r.jsxRuntimeExports.jsx(me.DetailsPanelDetails,{entities:a,isLoading:c})})]})})};exports.DetailsPanel=Ee;exports.entitiesWithoutFeed=T;
|
|
2
2
|
//# sourceMappingURL=DetailsPanel.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanel.cjs.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo } from 'react'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { ProjectModel, Tag, DetailsPanelEntityType } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext, usePowerpack, useScopedDetailsPanel } from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModel>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n}\n\nexport const DetailsPanel = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n}: DetailsPanelProps) => {\n const { closeSlideOut, openPip, user, isGuest } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(entityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [entityType, currentTab, setTab])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projectNames),\n [projectsInfo, projectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: Object.entries(productTypes).reduce(\n (acc, [key, product]) => ({ ...acc, [key]: product.icon }),\n {},\n ),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (entityType !== 'version') {\n setTab('activity')\n }\n }\n }, [entityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = entities.length\n ? entities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with entitiesData, we should try and remove it\n entitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(entityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = projectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (e.key === 'Escape' && !isInputElement && onClose) {\n onClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [onClose])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: entityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (projectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={entityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={entityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={() => onClose && onClose()}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={entityType}\n entitySubTypes={entitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n {isFeed && !isError && (\n <FeedWrapper\n entityType={entityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={entityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </Styled.Panel>\n </>\n )\n}\n"],"names":["entitiesWithoutFeed","DetailsPanel","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","productTypes","key","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","entityPathSegments","entityPathVersions","useGetEntityPath","handleKeyDown","e","target","isInputElement","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","_a","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanel.cjs.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo } from 'react'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { ProjectModel, Tag, DetailsPanelEntityType } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext, usePowerpack, useScopedDetailsPanel } from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModel>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n}\n\nexport const DetailsPanel = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n}: DetailsPanelProps) => {\n const { closeSlideOut, openPip, user, isGuest } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(entityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [entityType, currentTab, setTab])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projectNames),\n [projectsInfo, projectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: Object.entries(productTypes).reduce(\n (acc, [key, product]) => ({ ...acc, [key]: product.icon }),\n {},\n ),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (entityType !== 'version') {\n setTab('activity')\n }\n }\n }, [entityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = entities.length\n ? entities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with entitiesData, we should try and remove it\n entitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(entityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = projectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (e.key === 'Escape' && !isInputElement && onClose) {\n onClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [onClose])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: entityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (projectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={entityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={entityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={() => onClose && onClose()}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={entityType}\n entitySubTypes={entitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n {isFeed && !isError && (\n <FeedWrapper\n entityType={entityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={entityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </Styled.Panel>\n </>\n )\n}\n"],"names":["entitiesWithoutFeed","DetailsPanel","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","productTypes","key","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","entityPathSegments","entityPathVersions","useGetEntityPath","handleKeyDown","e","target","isInputElement","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","_a","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails"],"mappings":"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"}
|