@ynput/ayon-frontend-shared 0.3.2 → 0.3.4

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.
Files changed (61) hide show
  1. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  2. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  3. package/dist/shared/src/api/queries/entities/updateEntity.es.js +125 -120
  4. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  5. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
  6. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  7. package/dist/shared/src/api/queries/views/getViews.es.js +20 -24
  8. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  9. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  10. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  11. package/dist/shared/src/api/queries/views/updateViews.es.js +177 -118
  12. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  13. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  14. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  15. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +30 -28
  16. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  17. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  18. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  19. package/dist/shared/src/components/LinksManager/LinksManager.es.js +74 -56
  20. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  21. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +2 -1
  22. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  23. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -4
  24. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  25. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  26. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  27. package/dist/shared/src/containers/Feed/Feed.es.js +123 -113
  28. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  29. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  30. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  31. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +178 -172
  32. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  33. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  34. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  35. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +42 -41
  36. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  37. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  38. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  39. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +26 -26
  40. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  41. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  42. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  43. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +80 -76
  44. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  45. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  46. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  47. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +95 -52
  48. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  49. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  50. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  51. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +13 -13
  52. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  53. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  54. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  55. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +55 -38
  56. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  57. package/dist/types/components/LinksManager/LinkManagerItem.d.ts +1 -0
  58. package/dist/types/containers/Views/context/ViewsContext.d.ts +1 -0
  59. package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +5 -2
  60. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +3 -3
  61. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";const i=require("../../../../../_virtual/jsx-runtime.cjs.js"),p=require("../Views.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");const f=require("@ynput/ayon-react-components");;/* empty css */const g=require("clsx");require("react");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const V=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");const C=require("../../../../node_modules/primereact/confirmdialog/confirmdialog.esm.cjs.js");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/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("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("date-fns");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../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("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectDataContext.cjs.js");const R=require("../../../hooks/useLocalStorage.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/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/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");const k=require("../context/ViewsContext.cjs.js");require("./ViewsMenuContainer.cjs.js");require("../ViewsMenu/ViewsMenu.cjs.js");const B=require("../ViewsMenu/SectionHeader.cjs.js"),h=({projectName:u})=>{const{projectBaseView:q,studioBaseView:s,onCreateBaseView:t,onDeleteBaseView:o,onUpdateWorkingView:n}=k.useViewsContext(),{powerLicense:e,setPowerpackDialog:m}=V.usePowerpack(),[a,j]=R.useLocalStorage("collapsed-default-view",!1),l=async(r,x)=>{const c=r?s:q,d=!r&&e===!1;if(d&&!x){m("sharedViews");return}c?x||d?C.confirmDialog({message:"Are you sure you want to remove this default view?",header:"Remove Default View",acceptLabel:"Remove",rejectLabel:"Cancel",accept:async()=>{await o(c.id,r)}}):n({settings:c.settings},{selectView:!0}):await t(r)};return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(B.SectionHeader,{onClick:()=>j(!a),collapsed:a,id:"default-views",title:"Default views",style:{marginBottom:"10px"}}),!a&&i.jsxRuntimeExports.jsxs(p.BaseViewsContainer,{children:[i.jsxRuntimeExports.jsx(w,{existingView:!!s,label:"Studio",onClick:r=>l(!0,r)}),u&&i.jsxRuntimeExports.jsx(w,{existingView:!!q,label:"Project",onClick:r=>l(!1,r),powerLicense:e})]})]})},w=({existingView:u,onClick:q,label:s,powerLicense:t=void 0})=>{const o=e=>{e.stopPropagation(),q()},n=e=>{e.stopPropagation(),q(!0)};return i.jsxRuntimeExports.jsxs(p.ViewButton,{className:g({"powerpack-locked":t===!1,active:u}),onClick:o,children:[i.jsxRuntimeExports.jsx(f.Icon,{icon:t===!1?"bolt":u?"close":"add",onClick:e=>u&&n(e)}),s]})};module.exports=h;
1
+ "use strict";const i=require("../../../../../_virtual/jsx-runtime.cjs.js"),p=require("../Views.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");const f=require("@ynput/ayon-react-components");;/* empty css */const C=require("clsx");require("react");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const V=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");const R=require("../../../../node_modules/primereact/confirmdialog/confirmdialog.esm.cjs.js");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/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("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("date-fns");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../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("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectDataContext.cjs.js");const g=require("../../../hooks/useLocalStorage.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/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/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");const B=require("../context/ViewsContext.cjs.js");require("./ViewsMenuContainer.cjs.js");require("../ViewsMenu/ViewsMenu.cjs.js");const k=require("../ViewsMenu/SectionHeader.cjs.js"),h=({projectName:u})=>{const{projectBaseView:q,studioBaseView:s,onCreateBaseView:t,onDeleteBaseView:o,onLoadBaseView:a}=B.useViewsContext(),{powerLicense:r,setPowerpackDialog:m}=V.usePowerpack(),[n,j]=g.useLocalStorage("collapsed-default-view",!1),c=async(e,l)=>{const x=e?s:q,w=!e&&r===!1;if(w&&!l){m("sharedViews");return}x?l||w?R.confirmDialog({message:"Are you sure you want to remove this default view?",header:"Remove Default View",acceptLabel:"Remove",rejectLabel:"Cancel",accept:async()=>{await o(x.id,e)}}):await a(e):await t(e)};return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(k.SectionHeader,{onClick:()=>j(!n),collapsed:n,id:"default-views",title:"Default views",style:{marginBottom:"10px"}}),!n&&i.jsxRuntimeExports.jsxs(p.BaseViewsContainer,{children:[i.jsxRuntimeExports.jsx(d,{existingView:!!s,label:"Studio",onClick:e=>c(!0,e)}),u&&i.jsxRuntimeExports.jsx(d,{existingView:!!q,label:"Project",onClick:e=>c(!1,e),powerLicense:r})]})]})},d=({existingView:u,onClick:q,label:s,powerLicense:t=void 0})=>{const o=r=>{r.stopPropagation(),q()},a=r=>{r.stopPropagation(),q(!0)};return i.jsxRuntimeExports.jsxs(p.ViewButton,{className:C({"powerpack-locked":t===!1,active:u}),onClick:o,children:[i.jsxRuntimeExports.jsx(f.Icon,{icon:t===!1?"bolt":u?"close":"add",onClick:r=>u&&a(r)}),s]})};module.exports=h;
2
2
  //# sourceMappingURL=BaseViewsTags.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseViewsTags.cjs.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onUpdateWorkingView,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default view?`,\n header: `Remove Default View`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // set the working view to the existing base view\n // @ts-expect-error settings exists\n onUpdateWorkingView({ settings: existingBase.settings }, { selectView: true })\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title=\"Default views\"\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onUpdateWorkingView","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","existingView","onClick","label","handleClick","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"q0dAcMA,EAAwD,CAAC,CAAE,YAAAC,KAAkB,CACjF,KAAM,CACJ,gBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,iBAAAC,EACA,oBAAAC,CAAA,EACEC,kBAAA,EAEE,CAAE,aAAAC,EAAc,mBAAAC,CAAA,EAAuBC,eAAA,EACvC,CAACC,EAAWC,CAAY,EAAIC,EAAAA,gBAAgB,yBAA0B,EAAK,EAE3EC,EAAuB,MAAOC,EAAwBC,IAAqB,CAC/E,MAAMC,EAAeF,EAAgBZ,EAAiBD,EAEhDgB,EAAW,CAACH,GAAiBP,IAAiB,GACpD,GAAIU,GAAY,CAACF,EAAQ,CACvBP,EAAmB,aAAa,EAChC,MACF,CAEIQ,EACED,GAAUE,EAEZC,gBAAc,CACZ,QAAS,qDACT,OAAQ,sBACR,YAAa,SACb,YAAa,SACb,OAAQ,SAAY,CAClB,MAAMd,EAAiBY,EAAa,GAAcF,CAAa,CACjE,CAAA,CACD,EAIDT,EAAoB,CAAE,SAAUW,EAAa,QAAA,EAAY,CAAE,WAAY,GAAM,EAI/E,MAAMb,EAAiBW,CAAa,CAExC,EAEA,OACEK,EAAAA,kBAAAA,KAAAC,6BAAA,CACE,SAAA,CAAAC,EAAAA,kBAAAA,IAACC,EAAAA,cAAA,CACC,QAAS,IAAMX,EAAa,CAACD,CAAS,EACtC,UAAAA,EACA,GAAG,gBACH,MAAM,gBACN,MAAO,CAAE,aAAc,MAAA,CAAO,CAAA,EAE/B,CAACA,GACAS,EAAAA,kBAAAA,KAACI,EAAAA,mBAAA,CACC,SAAA,CAAAF,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACtB,EAChB,MAAO,SACP,QAAU,GAAMW,EAAqB,GAAM,CAAC,CAAA,CAAA,EAE7Cb,GACCqB,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACvB,EAChB,MAAO,UACP,QAAU,GAAMY,EAAqB,GAAO,CAAC,EAC7C,aAAAN,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,EAEJ,CAEJ,EAUMiB,EAAgC,CAAC,CACrC,aAAAC,EACA,QAAAC,EACA,MAAAC,EACA,aAAApB,EAAe,MACjB,IAAM,CACJ,MAAMqB,EAAe,GAAwB,CAC3C,EAAE,gBAAA,EACFF,EAAA,CACF,EAEMG,EAAgB,GAAwB,CAC5C,EAAE,gBAAA,EACFH,EAAQ,EAAI,CACd,EAEA,OACEP,EAAAA,kBAAAA,KAACW,EAAAA,WAAA,CACC,UAAWC,EAAK,CACb,mBAAqBxB,IAAiB,GACtC,OAAWkB,CAAA,CACb,EACD,QAASG,EAET,SAAA,CAAAP,EAAAA,kBAAAA,IAACW,EAAAA,KAAA,CACC,KAAMzB,IAAiB,GAAQ,OAASkB,EAAe,QAAU,MACjE,QAAU,GAAMA,GAAgBI,EAAa,CAAC,CAAA,CAAA,EAE/CF,CAAA,CAAA,CAAA,CAGP"}
1
+ {"version":3,"file":"BaseViewsTags.cjs.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default view?`,\n header: `Remove Default View`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // load the base view settings into working view\n await onLoadBaseView(isStudioScope)\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title=\"Default views\"\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onLoadBaseView","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","r","existingView","onClick","label","handleClick","e","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"q0dAcMA,EAAwD,CAAC,CAAE,YAAAC,KAAkB,CACjF,KAAM,CACJ,gBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,iBAAAC,EACA,eAAAC,CAAA,EACEC,kBAAA,EAEE,CAAE,aAAAC,EAAc,mBAAAC,CAAA,EAAuBC,eAAA,EACvC,CAACC,EAAWC,CAAY,EAAIC,EAAAA,gBAAgB,yBAA0B,EAAK,EAE3EC,EAAuB,MAAOC,EAAwBC,IAAqB,CAC/E,MAAMC,EAAeF,EAAgBZ,EAAiBD,EAEhDgB,EAAW,CAACH,GAAiBP,IAAiB,GACpD,GAAIU,GAAY,CAACF,EAAQ,CACvBP,EAAmB,aAAa,EAChC,MACF,CAEIQ,EACED,GAAUE,EAEZC,gBAAc,CACZ,QAAS,qDACT,OAAQ,sBACR,YAAa,SACb,YAAa,SACb,OAAQ,SAAY,CAClB,MAAMd,EAAiBY,EAAa,GAAcF,CAAa,CACjE,CAAA,CACD,EAGD,MAAMT,EAAeS,CAAa,EAIpC,MAAMX,EAAiBW,CAAa,CAExC,EAEA,OACEK,EAAAA,kBAAAA,KAAAC,6BAAA,CACE,SAAA,CAAAC,EAAAA,kBAAAA,IAACC,EAAAA,cAAA,CACC,QAAS,IAAMX,EAAa,CAACD,CAAS,EACtC,UAAAA,EACA,GAAG,gBACH,MAAM,gBACN,MAAO,CAAE,aAAc,MAAA,CAAO,CAAA,EAE/B,CAACA,GACAS,EAAAA,kBAAAA,KAACI,EAAAA,mBAAA,CACC,SAAA,CAAAF,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACtB,EAChB,MAAO,SACP,QAAUuB,GAAMZ,EAAqB,GAAMY,CAAC,CAAA,CAAA,EAE7CzB,GACCqB,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACvB,EAChB,MAAO,UACP,QAAUwB,GAAMZ,EAAqB,GAAOY,CAAC,EAC7C,aAAAlB,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,EAEJ,CAEJ,EAUMiB,EAAgC,CAAC,CACrC,aAAAE,EACA,QAAAC,EACA,MAAAC,EACA,aAAArB,EAAe,MACjB,IAAM,CACJ,MAAMsB,EAAeC,GAAwB,CAC3CA,EAAE,gBAAA,EACFH,EAAA,CACF,EAEMI,EAAgBD,GAAwB,CAC5CA,EAAE,gBAAA,EACFH,EAAQ,EAAI,CACd,EAEA,OACER,EAAAA,kBAAAA,KAACa,EAAAA,WAAA,CACC,UAAWC,EAAK,CACb,mBAAqB1B,IAAiB,GACtC,OAAWmB,CAAA,CACb,EACD,QAASG,EAET,SAAA,CAAAR,EAAAA,kBAAAA,IAACa,EAAAA,KAAA,CACC,KAAM3B,IAAiB,GAAQ,OAASmB,EAAe,QAAU,MACjE,QAAUI,GAAMJ,GAAgBK,EAAaD,CAAC,CAAA,CAAA,EAE/CF,CAAA,CAAA,CAAA,CAGP"}
@@ -1,7 +1,7 @@
1
1
  import { j as i } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { BaseViewsContainer as g, ViewButton as V } from "../Views.styled.es.js";
2
+ import { BaseViewsContainer as j, ViewButton as V } from "../Views.styled.es.js";
3
3
  import "../../ContextMenu/ContextMenuContext.es.js";
4
- import { Icon as j } from "@ynput/ayon-react-components";
4
+ import { Icon as B } from "@ynput/ayon-react-components";
5
5
  /* empty css */
6
6
  import C from "clsx";
7
7
  import "react";
@@ -17,7 +17,7 @@ import "../../../context/pip/PiPProvider.es.js";
17
17
  import "../../../context/pip/PiPWrapper.es.js";
18
18
  import "../../../context/AddonProjectContext.es.js";
19
19
  import "../../../context/AddonContext.es.js";
20
- import { usePowerpack as k } from "../../../context/PowerpackContext.es.js";
20
+ import { usePowerpack as g } from "../../../context/PowerpackContext.es.js";
21
21
  import "../../../context/MoveEntityContext.es.js";
22
22
  import "../../../context/MenuContext.es.js";
23
23
  import "../../../context/WebsocketContext.es.js";
@@ -41,7 +41,7 @@ import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
41
41
  import "lodash";
42
42
  import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
43
43
  import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
44
- import { confirmDialog as B } from "../../../../node_modules/primereact/confirmdialog/confirmdialog.esm.es.js";
44
+ import { confirmDialog as h } from "../../../../node_modules/primereact/confirmdialog/confirmdialog.esm.es.js";
45
45
  import "react-toastify";
46
46
  import "uuid";
47
47
  import "../../../util/pubsub.es.js";
@@ -222,7 +222,7 @@ import "../../ProjectTreeTable/context/ProjectTableContext.es.js";
222
222
  import "../../ProjectTreeTable/context/ClipboardContext.es.js";
223
223
  import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
224
224
  import "../../ProjectTreeTable/context/ProjectDataContext.es.js";
225
- import { useLocalStorage as h } from "../../../hooks/useLocalStorage.es.js";
225
+ import { useLocalStorage as k } from "../../../hooks/useLocalStorage.es.js";
226
226
  import "../../../../../_virtual/runtime.es.js";
227
227
  import "../../../../../_virtual/semver.es.js";
228
228
  import "react-redux";
@@ -260,42 +260,42 @@ const wm = ({ projectName: r }) => {
260
260
  projectBaseView: m,
261
261
  studioBaseView: p,
262
262
  onCreateBaseView: e,
263
- onDeleteBaseView: s,
264
- onUpdateWorkingView: a
265
- } = v(), { powerLicense: o, setPowerpackDialog: u } = k(), [n, x] = h("collapsed-default-view", !1), c = async (t, d) => {
266
- const l = t ? p : m, f = !t && o === !1;
267
- if (f && !d) {
263
+ onDeleteBaseView: a,
264
+ onLoadBaseView: s
265
+ } = v(), { powerLicense: t, setPowerpackDialog: u } = g(), [l, x] = k("collapsed-default-view", !1), n = async (o, c) => {
266
+ const f = o ? p : m, d = !o && t === !1;
267
+ if (d && !c) {
268
268
  u("sharedViews");
269
269
  return;
270
270
  }
271
- l ? d || f ? B({
271
+ f ? c || d ? h({
272
272
  message: "Are you sure you want to remove this default view?",
273
273
  header: "Remove Default View",
274
274
  acceptLabel: "Remove",
275
275
  rejectLabel: "Cancel",
276
276
  accept: async () => {
277
- await s(l.id, t);
277
+ await a(f.id, o);
278
278
  }
279
- }) : a({ settings: l.settings }, { selectView: !0 }) : await e(t);
279
+ }) : await s(o) : await e(o);
280
280
  };
281
281
  return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
282
282
  /* @__PURE__ */ i.jsx(
283
283
  b,
284
284
  {
285
- onClick: () => x(!n),
286
- collapsed: n,
285
+ onClick: () => x(!l),
286
+ collapsed: l,
287
287
  id: "default-views",
288
288
  title: "Default views",
289
289
  style: { marginBottom: "10px" }
290
290
  }
291
291
  ),
292
- !n && /* @__PURE__ */ i.jsxs(g, { children: [
292
+ !l && /* @__PURE__ */ i.jsxs(j, { children: [
293
293
  /* @__PURE__ */ i.jsx(
294
294
  w,
295
295
  {
296
296
  existingView: !!p,
297
297
  label: "Studio",
298
- onClick: (t) => c(!0, t)
298
+ onClick: (o) => n(!0, o)
299
299
  }
300
300
  ),
301
301
  r && /* @__PURE__ */ i.jsx(
@@ -303,8 +303,8 @@ const wm = ({ projectName: r }) => {
303
303
  {
304
304
  existingView: !!m,
305
305
  label: "Project",
306
- onClick: (t) => c(!1, t),
307
- powerLicense: o
306
+ onClick: (o) => n(!1, o),
307
+ powerLicense: t
308
308
  }
309
309
  )
310
310
  ] })
@@ -315,10 +315,10 @@ const wm = ({ projectName: r }) => {
315
315
  label: p,
316
316
  powerLicense: e = void 0
317
317
  }) => {
318
- const s = (o) => {
319
- o.stopPropagation(), m();
320
- }, a = (o) => {
321
- o.stopPropagation(), m(!0);
318
+ const a = (t) => {
319
+ t.stopPropagation(), m();
320
+ }, s = (t) => {
321
+ t.stopPropagation(), m(!0);
322
322
  };
323
323
  return /* @__PURE__ */ i.jsxs(
324
324
  V,
@@ -327,13 +327,13 @@ const wm = ({ projectName: r }) => {
327
327
  "powerpack-locked": e === !1,
328
328
  active: r
329
329
  }),
330
- onClick: s,
330
+ onClick: a,
331
331
  children: [
332
332
  /* @__PURE__ */ i.jsx(
333
- j,
333
+ B,
334
334
  {
335
335
  icon: e === !1 ? "bolt" : r ? "close" : "add",
336
- onClick: (o) => r && a(o)
336
+ onClick: (t) => r && s(t)
337
337
  }
338
338
  ),
339
339
  p
@@ -1 +1 @@
1
- {"version":3,"file":"BaseViewsTags.es.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onUpdateWorkingView,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default view?`,\n header: `Remove Default View`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // set the working view to the existing base view\n // @ts-expect-error settings exists\n onUpdateWorkingView({ settings: existingBase.settings }, { selectView: true })\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title=\"Default views\"\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onUpdateWorkingView","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","r","existingView","onClick","label","handleClick","e","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"BaseViewsTags.es.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default view?`,\n header: `Remove Default View`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // load the base view settings into working view\n await onLoadBaseView(isStudioScope)\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title=\"Default views\"\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onLoadBaseView","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","r","existingView","onClick","label","handleClick","e","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ee=require("../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react");require("react-dom");require("../Views.styled.cjs.js");require("clsx");const re=require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js"),ie=require("../../../hooks/useLocalStorage.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");const te=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");const c=require("../../../api/queries/views/getViews.cjs.js"),se=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const ue=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");const ne=require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");const G=require("../hooks/useBuildViewMenuItems.cjs.js"),oe=require("../hooks/useBaseViewMutations.cjs.js"),qe=require("../hooks/useSaveViewFromCurrent.cjs.js"),ae=require("../hooks/useSelectedView.cjs.js"),ce=require("../hooks/useViewsMutations.cjs.js");require("../../../util/pubsub.cjs.js");const we=require("../hooks/useViewSettingsChanged.cjs.js"),O=u.createContext(null),de=({children:n,viewType:e,projectName:r,dispatch:w,debug:S})=>{let{powerLicense:d}=ue.usePowerpack();S?.powerLicense!==void 0&&(console.warn("Using debug power license:",S.powerLicense),d=S.powerLicense);const{user:h}=ne.useGlobalContext(),[Q,v]=u.useState(!1),[o,p]=u.useState(null),R="viewsMenuCollapsed",[C,D]=ie.useLocalStorage(R,{}),F=i=>{const g=i.visibility==="private"?"myViews":"sharedViews";if(C[g]){const E={...C};E[g]=!1,D(E)}},{data:U}=te.useGetShareOptionsQuery({projectName:r},{skip:!d||!o}),[s,q,k]=ae.useSelectedView({viewType:e,projectName:r}),[_,V]=we.useViewSettingsChanged({viewType:e}),{currentData:I=[],isLoading:m}=c.useListViewsQuery({projectName:r,viewType:e},{skip:!e}),a=u.useMemo(()=>I.filter(i=>i.label!==G.BASE_VIEW_ID),[I]),{onCreateView:y,onDeleteView:K,onUpdateView:l,onResetWorkingView:M}=ce.useViewsMutations({viewType:e,projectName:r,viewsList:a,onCreate:F}),{currentData:t}=c.useGetWorkingViewQuery({projectName:r,viewType:e},{skip:!e}),{currentData:A}=c.useGetBaseViewQuery({projectName:r,viewType:e},{skip:!e}),{currentData:z}=c.useGetBaseViewQuery({projectName:void 0,viewType:e},{skip:!e}),f=t?.settings,L=!s||s.id===re.WORKING_VIEW_ID?f:s?.settings,B=s?.id===t?.id,W=_&&B&&k&&k!==t?.id?k:void 0,{currentData:x,isFetching:H}=c.useGetViewQuery({viewId:o,projectName:P(o,a)?void 0:r,viewType:e},{skip:typeof o!="string"||!d}),J=u.useMemo(()=>o===x?.id?x:void 0,[o,x]),{onSaveViewFromCurrent:X}=qe.useSaveViewFromCurrent({viewType:e,projectName:r,viewsList:a,sourceSettings:L,onUpdateView:l}),{onCreateBaseView:Y,onUpdateBaseView:Z,onDeleteBaseView:$}=oe.useBaseViewMutations({viewType:e,projectName:r,workingSettings:f,dispatch:w}),j=u.useCallback(async(i,{selectView:g}={})=>{if(!t?.id){console.error("No working view to update");return}await l(t.id,i,!r),g&&q(t.id)},[l,t]),b=u.useCallback(async()=>{try{await M({existingWorkingViewId:t?.id,selectedViewId:s?.id,setSelectedView:q,setSettingsChanged:V,notify:!0})}catch(i){console.error("Failed to reset view:",i)}},[t,M,s,q,V]),N=G.default({viewsList:a,workingView:t,viewType:e,projectName:r,currentUser:h,useWorkingView:!d,editingViewId:W,selectedId:s?.id,collapsed:C,setCollapsed:D,onResetWorkingView:b,onSelect:i=>{q(i),V(!1),v(!1)},onEdit:i=>p(i),onSave:async i=>X(i)}),T={viewType:e,projectName:r,isMenuOpen:Q,editingView:o,currentUser:h,selectedView:s,viewSettings:L,editingViewData:J,isLoadingEditingViewData:H,viewsList:a,workingSettings:f,workingView:t,isViewWorking:B,onUpdateWorkingView:j,projectBaseView:A,studioBaseView:z,onCreateBaseView:Y,onUpdateBaseView:Z,onDeleteBaseView:$,editingViewId:W,viewMenuItems:N,isLoadingViews:m,shareOptions:U,setIsMenuOpen:v,setEditingView:p,setSelectedView:q,onSettingsChanged:V,onCreateView:y,onUpdateView:l,onDeleteView:K,resetWorkingView:b,api:se.viewsQueries,dispatch:w};return ee.jsxRuntimeExports.jsx(O.Provider,{value:T,children:n})},Ve=()=>{const n=u.useContext(O);if(!n)throw new Error("useViewsContext must be used within a ViewsProvider");return n},P=(n,e)=>n?e.find(w=>w.id===n)?.scope==="studio":!0;exports.ViewsProvider=de;exports.isViewStudioScope=P;exports.useViewsContext=Ve;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const re=require("../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react");require("react-dom");require("../Views.styled.cjs.js");require("clsx");const ie=require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js"),se=require("../../../hooks/useLocalStorage.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");const te=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");const c=require("../../../api/queries/views/getViews.cjs.js"),ue=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const ne=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");const oe=require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");const G=require("../hooks/useBuildViewMenuItems.cjs.js"),qe=require("../hooks/useBaseViewMutations.cjs.js"),ae=require("../hooks/useSaveViewFromCurrent.cjs.js"),ce=require("../hooks/useSelectedView.cjs.js"),de=require("../hooks/useViewsMutations.cjs.js");require("../../../util/pubsub.cjs.js");const we=require("../hooks/useViewSettingsChanged.cjs.js"),O=u.createContext(null),Ve=({children:n,viewType:e,projectName:i,dispatch:d,debug:S})=>{let{powerLicense:w}=ne.usePowerpack();S?.powerLicense!==void 0&&(console.warn("Using debug power license:",S.powerLicense),w=S.powerLicense);const{user:h}=oe.useGlobalContext(),[Q,p]=u.useState(!1),[o,D]=u.useState(null),R="viewsMenuCollapsed",[C,I]=se.useLocalStorage(R,{}),F=r=>{const g=r.visibility==="private"?"myViews":"sharedViews";if(C[g]){const E={...C};E[g]=!1,I(E)}},{data:U}=te.useGetShareOptionsQuery({projectName:i},{skip:!w||!o}),[t,q,k]=ce.useSelectedView({viewType:e,projectName:i}),[_,V]=we.useViewSettingsChanged({viewType:e}),{currentData:L=[],isLoading:y}=c.useListViewsQuery({projectName:i,viewType:e},{skip:!e}),a=u.useMemo(()=>L.filter(r=>r.label!==G.BASE_VIEW_ID&&!(i&&r.working&&r.scope==="studio")),[L]),{onCreateView:m,onDeleteView:K,onUpdateView:l,onResetWorkingView:M}=de.useViewsMutations({viewType:e,projectName:i,viewsList:a,onCreate:F}),{currentData:s}=c.useGetWorkingViewQuery({projectName:i,viewType:e},{skip:!e}),{currentData:A}=c.useGetBaseViewQuery({projectName:i,viewType:e},{skip:!e}),{currentData:z}=c.useGetBaseViewQuery({projectName:void 0,viewType:e},{skip:!e}),f=s?.settings,v=!t||t.id===ie.WORKING_VIEW_ID?f:t?.settings,B=t?.id===s?.id,W=_&&B&&k&&k!==s?.id?k:void 0,{currentData:x,isFetching:H}=c.useGetViewQuery({viewId:o,projectName:P(o,a)?void 0:i,viewType:e},{skip:typeof o!="string"||!w}),J=u.useMemo(()=>o===x?.id?x:void 0,[o,x]),{onSaveViewFromCurrent:X}=ae.useSaveViewFromCurrent({viewType:e,projectName:i,viewsList:a,sourceSettings:v,onUpdateView:l}),{onCreateBaseView:Y,onUpdateBaseView:Z,onDeleteBaseView:$,onLoadBaseView:j}=qe.useBaseViewMutations({viewType:e,projectName:i,workingSettings:f,workingView:s,dispatch:d}),N=u.useCallback(async(r,{selectView:g}={})=>{if(!s?.id){console.error("No working view to update");return}await l(s.id,r,!i),g&&q(s.id)},[l,s]),b=u.useCallback(async()=>{try{await M({existingWorkingViewId:s?.id,selectedViewId:t?.id,setSelectedView:q,setSettingsChanged:V,notify:!0})}catch(r){console.error("Failed to reset view:",r)}},[s,M,t,q,V]),T=G.default({viewsList:a,workingView:s,viewType:e,projectName:i,currentUser:h,useWorkingView:!w,editingViewId:W,selectedId:t?.id,collapsed:C,setCollapsed:I,onResetWorkingView:b,onSelect:r=>{q(r),V(!1),p(!1)},onEdit:r=>D(r),onSave:async r=>X(r)}),ee={viewType:e,projectName:i,isMenuOpen:Q,editingView:o,currentUser:h,selectedView:t,viewSettings:v,editingViewData:J,isLoadingEditingViewData:H,viewsList:a,workingSettings:f,workingView:s,isViewWorking:B,onUpdateWorkingView:N,projectBaseView:A,studioBaseView:z,onCreateBaseView:Y,onUpdateBaseView:Z,onDeleteBaseView:$,onLoadBaseView:j,editingViewId:W,viewMenuItems:T,isLoadingViews:y,shareOptions:U,setIsMenuOpen:p,setEditingView:D,setSelectedView:q,onSettingsChanged:V,onCreateView:m,onUpdateView:l,onDeleteView:K,resetWorkingView:b,api:ue.viewsQueries,dispatch:d};return re.jsxRuntimeExports.jsx(O.Provider,{value:ee,children:n})},le=()=>{const n=u.useContext(O);if(!n)throw new Error("useViewsContext must be used within a ViewsProvider");return n},P=(n,e)=>n?e.find(d=>d.id===n)?.scope==="studio":!0;exports.ViewsProvider=Ve;exports.isViewStudioScope=P;exports.useViewsContext=le;
2
2
  //# sourceMappingURL=ViewsContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType,\n projectName,\n dispatch,\n debug,\n}) => {\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { user: currentUser } = useGlobalContext()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\n })\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\n )\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView: resetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
1
+ {"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onLoadBaseView: (isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType,\n projectName,\n dispatch,\n debug,\n}) => {\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { user: currentUser } = useGlobalContext()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n // Filter out studio working view if in project scope\n const viewsList = useMemo(\n () =>\n viewsListRaw.filter(\n (view) =>\n view.label !== BASE_VIEW_ID && !(projectName && view.working && view.scope === 'studio'),\n ),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\n })\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView, onLoadBaseView } =\n useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n workingView,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\n )\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView: resetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","onLoadBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}