@ynput/ayon-frontend-shared 0.3.45 → 0.3.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +38 -35
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +231 -228
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +193 -25
- package/dist/Slicer.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.es.js +27 -26
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs18.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs22.js +1 -1
- package/dist/_virtual/index.cjs23.js +1 -1
- package/dist/_virtual/index.cjs24.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es10.js +2 -2
- package/dist/_virtual/index.es11.js +2 -2
- package/dist/_virtual/index.es13.js +2 -2
- package/dist/_virtual/index.es14.js +2 -2
- package/dist/_virtual/index.es15.js +2 -2
- package/dist/_virtual/index.es16.js +2 -2
- package/dist/_virtual/index.es17.js +2 -2
- package/dist/_virtual/index.es18.js +5 -2
- package/dist/_virtual/index.es18.js.map +1 -1
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es22.js +3 -3
- package/dist/_virtual/index.es23.js +5 -5
- package/dist/_virtual/index.es24.js +5 -5
- package/dist/_virtual/index.es4.js +5 -2
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -5
- package/dist/_virtual/index.es8.js.map +1 -1
- package/dist/_virtual/index.es9.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +347 -344
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +41 -39
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +55 -48
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +24 -21
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +3 -3
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +3 -3
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js +2 -0
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js +42 -0
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js.map +1 -0
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +121 -156
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +93 -68
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +63 -56
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +120 -119
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +70 -62
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +85 -85
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +267 -259
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +85 -79
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +170 -2
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +18 -15
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +165 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +164 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +174 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +173 -2
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +16 -13
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +168 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +260 -89
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +44 -78
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +172 -2
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +173 -2
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +158 -2
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +171 -2
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +167 -0
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +209 -40
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +171 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +170 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +16 -13
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +82 -79
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +169 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +12 -9
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -2
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -2
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +41 -38
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +19 -16
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +17 -14
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +18 -15
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +453 -284
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +172 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +18 -15
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +18 -15
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +52 -0
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -0
- package/dist/shared/src/components/SyncButton/SyncButton.es.js +265 -0
- package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +171 -2
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +18 -15
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +20 -17
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +18 -15
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +213 -44
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +18 -15
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +39 -36
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +18 -15
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +19 -16
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +51 -48
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +173 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +18 -15
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +18 -15
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +168 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +32 -29
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +18 -15
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +81 -78
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +144 -2
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +174 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +18 -15
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +18 -15
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +18 -15
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +18 -15
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +178 -7
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +206 -59
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +18 -15
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +19 -16
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -15
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +16 -16
- package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +30 -17
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js +11 -0
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js +27 -0
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +20 -17
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +218 -39
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +78 -75
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +22 -19
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +173 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +173 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +181 -14
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +169 -2
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +80 -77
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +197 -26
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +9 -8
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +24 -21
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +18 -15
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +17 -14
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +84 -81
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +17 -14
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +521 -337
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +175 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +176 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +174 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +21 -18
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +408 -396
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +19 -17
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +265 -95
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +94 -91
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +20 -17
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +188 -34
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +225 -61
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +18 -15
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +21 -18
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +37 -37
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +353 -51
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +172 -2
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +18 -15
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +216 -45
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +185 -13
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +174 -2
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +40 -289
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +174 -2
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +173 -2
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +174 -2
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +174 -2
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +226 -52
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +176 -6
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +185 -18
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +209 -38
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +180 -10
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +107 -73
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +210 -38
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +2 -0
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -0
- package/dist/shared/src/context/EntityUpdatesContext.es.js +392 -0
- package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.cjs.js +2 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.cjs.js.map +1 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.es.js +6 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.es.js.map +1 -0
- package/dist/shared/src/context/MenuContext.es.js +3 -3
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +178 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +196 -24
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +176 -4
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +52 -45
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +174 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +174 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +174 -2
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +174 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +3 -3
- package/dist/types/api/queries/actions/index.d.ts +1 -0
- package/dist/types/api/queries/actions/refreshActiveAndPurgeOthers.d.ts +11 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +65 -855
- package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +19 -0
- package/dist/types/api/queries/links/getEntityLinks.d.ts +4 -2
- package/dist/types/components/SyncButton/SyncButton.d.ts +11 -0
- package/dist/types/components/SyncButton/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.d.ts +7 -0
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +3 -0
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +3 -42
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +10 -2
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +9 -2
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +1 -0
- package/dist/types/containers/Slicer/hooks/useSelectedEntityIds.d.ts +7 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -0
- package/dist/types/context/EntityUpdatesContext.d.ts +44 -0
- package/dist/types/context/EntityUpdatesContextInstance.d.ts +2 -0
- package/dist/types/context/ProjectFoldersContext.d.ts +2 -2
- package/dist/types/context/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import {\n GetWorkingViewApiResponse,\n useCreateViewMutation,\n UserModel,\n ViewListItemModel,\n} from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport type { CollapsedViewState } from '../context/ViewsContext'\nimport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID } from '../types'\nexport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID }\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: GetWorkingViewApiResponse\n viewType?: string\n viewAlias: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n viewAlias,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? `Personal ${viewAlias.toLowerCase()}` : `Working ${viewAlias.toLowerCase()}`,\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn(`No working ${viewAlias.toLowerCase()} found, creating a new one`)\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working ${viewAlias}: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: `My ${viewAlias.toLowerCase()}s`, items: myViews as ViewItem[] },\n { id: 'sharedViews', title: `Shared ${viewAlias.toLowerCase()}s`, items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: `All private ${viewAlias.toLowerCase()}s`, items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(() => {\n return {\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }\n }, [handleWorkingViewChange, onResetWorkingView])\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists and powerpack is available\n const visibleSections = sections.filter((s) => powerLicense && (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId, powerLicense])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["useBuildViewMenuItems","viewsList","workingView","viewType","viewAlias","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","WORKING_VIEW_ID","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import {\n GetWorkingViewApiResponse,\n useCreateViewMutation,\n UserModel,\n ViewListItemModel,\n} from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport type { CollapsedViewState } from '../context/ViewsContext'\nimport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID } from '../types'\nexport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID }\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: GetWorkingViewApiResponse\n viewType?: string\n viewAlias: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n viewAlias,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? `Personal ${viewAlias.toLowerCase()}` : `Working ${viewAlias.toLowerCase()}`,\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn(`No working ${viewAlias.toLowerCase()} found, creating a new one`)\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working ${viewAlias}: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: `My ${viewAlias.toLowerCase()}s`, items: myViews as ViewItem[] },\n { id: 'sharedViews', title: `Shared ${viewAlias.toLowerCase()}s`, items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: `All private ${viewAlias.toLowerCase()}s`, items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(() => {\n return {\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }\n }, [handleWorkingViewChange, onResetWorkingView])\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists and powerpack is available\n const visibleSections = sections.filter((s) => powerLicense && (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId, powerLicense])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["useBuildViewMenuItems","viewsList","workingView","viewType","viewAlias","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","WORKING_VIEW_ID","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"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"}
|
|
@@ -125,13 +125,183 @@ import "../../../context/WebsocketContext.es.js";
|
|
|
125
125
|
import "../../../context/GlobalContext.es.js";
|
|
126
126
|
import "../../../context/ProjectContext.es.js";
|
|
127
127
|
import "../../../context/ProjectFoldersContextInstance.es.js";
|
|
128
|
+
import "../../../context/EntityUpdatesContextInstance.es.js";
|
|
129
|
+
import "../../ContextMenu/ContextMenuContext.es.js";
|
|
130
|
+
/* empty css */
|
|
131
|
+
import "clsx";
|
|
132
|
+
import "../../Feed/context/FeedContext.es.js";
|
|
133
|
+
import "../../Feed/components/Tooltips/UserTooltipItem.es.js";
|
|
134
|
+
import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
|
|
135
|
+
import "../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.es.js";
|
|
136
|
+
import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
|
|
137
|
+
import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
|
|
138
|
+
import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
|
|
139
|
+
import "react-markdown";
|
|
140
|
+
import "remark-emoji";
|
|
141
|
+
import "remark-gfm";
|
|
142
|
+
import "remark-directive";
|
|
143
|
+
import "remark-directive-rehype";
|
|
144
|
+
import "../../Feed/components/CommentInput/CommentInput.es.js";
|
|
145
|
+
import "../../Feed/components/ReactionContainer/Reactions.styled.es.js";
|
|
146
|
+
import "../../Feed/components/FilesGrid/FilesGrid.styled.es.js";
|
|
147
|
+
import "../../Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
|
|
148
|
+
import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
|
|
149
|
+
import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
|
|
150
|
+
import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
|
|
151
|
+
import "../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
|
|
152
|
+
import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
|
|
153
|
+
import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
|
|
154
|
+
import "../../../components/AccessUser/AccessUser.es.js";
|
|
155
|
+
import "../../../components/AttributeEditor/AttributeEditor.es.js";
|
|
156
|
+
import "../../../components/AttributeEditor/attributeTypeMap.es.js";
|
|
157
|
+
import "../../../components/Badge/Badge.es.js";
|
|
158
|
+
import "../../../components/Chips/Chips.es.js";
|
|
159
|
+
import "date-fns";
|
|
160
|
+
import "../../../components/DateRangePicker/DateRangePicker.styled.es.js";
|
|
161
|
+
import "../../../components/LinksManager/CellEditingDialog.es.js";
|
|
162
|
+
import "../../../../../_virtual/index.es.js";
|
|
163
|
+
import "../../../../../node_modules/refractor/lib/common.es.js";
|
|
164
|
+
import "../../../../../node_modules/refractor/lib/all.es.js";
|
|
165
|
+
/* empty css */
|
|
166
|
+
import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
167
|
+
import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
|
|
168
|
+
import "react-quill-ayon";
|
|
169
|
+
import "../../../components/DetailsPanelDetails/BorderedSection.es.js";
|
|
170
|
+
import "../../../components/QuillListStyles/QuillListStyles.es.js";
|
|
171
|
+
import "../../../components/DetailsPanelDetails/DescriptionSection.styles.es.js";
|
|
172
|
+
import "rehype-raw";
|
|
173
|
+
import "../../../components/DetailsPanelDetails/hooks/useMentionSystem.es.js";
|
|
174
|
+
import "../../Feed/components/CommentInput/modules/index.es.js";
|
|
175
|
+
import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
|
|
176
|
+
import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
|
|
177
|
+
import "../../../components/DoneCheckbox/DoneCheckbox.es.js";
|
|
178
|
+
import "../../../components/EarlyPreview/EarlyPreview.es.js";
|
|
179
|
+
import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
|
|
180
|
+
import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
|
|
181
|
+
import "../../../components/InfoMessage/InfoMessage.es.js";
|
|
182
|
+
import "@dnd-kit/core";
|
|
183
|
+
import "@dnd-kit/sortable";
|
|
184
|
+
import "../../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
185
|
+
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|
|
186
|
+
import "axios";
|
|
187
|
+
import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
|
|
188
|
+
import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
|
|
189
|
+
import "../../../components/EntityPath/EntityPath.styled.es.js";
|
|
190
|
+
import "../../../components/EntityPath/SegmentProvider.es.js";
|
|
191
|
+
import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
|
|
192
|
+
import "../../../components/Feedback/FeedbackContextInstance.es.js";
|
|
193
|
+
import "../../../components/Feedback/SupportBubble.es.js";
|
|
194
|
+
import "../../../components/FileThumbnail/FileThumbnail.es.js";
|
|
195
|
+
import "../../../components/LegacyBadge/LegacyBadge.es.js";
|
|
196
|
+
import "../../../components/LinksManager/LinksManager.styled.es.js";
|
|
197
|
+
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
198
|
+
import "../../../components/Powerpack/PowerpackButton.es.js";
|
|
199
|
+
import "../../../components/Powerpack/FreeTrialLink.es.js";
|
|
200
|
+
import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
|
|
201
|
+
import "../../../components/Powerpack/CTAButton.es.js";
|
|
202
|
+
import "../../../components/Powerpack/RequiredAddonVersion.es.js";
|
|
203
|
+
import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
|
|
204
|
+
import "../../../components/SizeSlider/SizeSlider.es.js";
|
|
205
|
+
import "react-router-dom";
|
|
206
|
+
import "../../Slicer/components/Slicer.es.js";
|
|
207
|
+
import "../../Slicer/context/SlicerContextInstance.es.js";
|
|
208
|
+
import "../../Slicer/components/SlicerDropdownFallback.es.js";
|
|
209
|
+
import "../../Slicer/hooks/useTableDataBySlice.es.js";
|
|
128
210
|
import "react-redux";
|
|
211
|
+
import "../../../components/ReviewableCard/ReviewableCard.es.js";
|
|
212
|
+
import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
213
|
+
import "../../../components/SearchFilter/filterDates.es.js";
|
|
214
|
+
import "../../../components/SearchFilter/CustomDateRangeDialog.es.js";
|
|
215
|
+
import "../../../components/SettingsPanel/SettingsPanel.es.js";
|
|
216
|
+
import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
217
|
+
import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
|
|
218
|
+
import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
|
|
219
|
+
import "../../../components/StyledLink/StyledLink.es.js";
|
|
220
|
+
import "../../../components/SyncButton/SyncButton.es.js";
|
|
221
|
+
import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
|
|
222
|
+
import "../../../components/Thumbnail/Thumbnail.styled.es.js";
|
|
223
|
+
import "../../../components/Thumbnail/StackedThumbnails.es.js";
|
|
224
|
+
import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
|
|
225
|
+
import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
|
|
226
|
+
import "../../../components/VersionUploader/context/VersionUploadContextInstance.es.js";
|
|
227
|
+
import "../../../components/Watchers/Watchers.es.js";
|
|
228
|
+
import "../../../components/Menu/Menu.styled.es.js";
|
|
229
|
+
import "../../../components/Menu/MenuItem.es.js";
|
|
230
|
+
import "../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
|
|
231
|
+
import "../../../components/ColumnHeaderMenuUI.es.js";
|
|
232
|
+
import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
|
|
233
|
+
import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
|
|
234
|
+
import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
|
|
235
|
+
import "../../Feed/components/ActivityDate.es.js";
|
|
236
|
+
import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
|
|
237
|
+
import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
|
|
238
|
+
import "../../Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js";
|
|
239
|
+
import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
|
|
240
|
+
import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
|
|
241
|
+
import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
242
|
+
import "../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js";
|
|
243
|
+
import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
|
|
244
|
+
import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
|
|
245
|
+
import "../../Feed/Feed.styled.es.js";
|
|
246
|
+
import "../../Feed/components/FeedSearchFilter.es.js";
|
|
247
|
+
import "@tanstack/react-virtual";
|
|
248
|
+
import "@tanstack/react-table";
|
|
249
|
+
import "../../ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
250
|
+
import "../../ProjectTreeTable/widgets/DateWidget.es.js";
|
|
251
|
+
import "../../ProjectTreeTable/widgets/EnumWidget.es.js";
|
|
252
|
+
import "../../ProjectTreeTable/widgets/EnumCellValue.es.js";
|
|
253
|
+
import "../../ProjectTreeTable/widgets/TextWidget.es.js";
|
|
254
|
+
import "../../ProjectTreeTable/widgets/MarkdownWidget.es.js";
|
|
255
|
+
import "../../ProjectTreeTable/widgets/BooleanWidget.es.js";
|
|
256
|
+
import "../../ProjectTreeTable/widgets/CellWidget.es.js";
|
|
257
|
+
import "../../ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
258
|
+
import "../../ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
|
|
259
|
+
import "../../ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
260
|
+
import "../../ProjectTreeTable/widgets/LinksWidget.es.js";
|
|
261
|
+
import "short-uuid";
|
|
262
|
+
import "../../ProjectTreeTable/context/CellEditingContext.es.js";
|
|
263
|
+
import "../../ProjectTreeTable/context/SelectionCellsContext.es.js";
|
|
264
|
+
import "../../ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
|
|
265
|
+
import "../../ProjectTreeTable/context/ClipboardContext.es.js";
|
|
266
|
+
import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
267
|
+
import "../../ProjectTreeTable/context/SelectedRowsContext.es.js";
|
|
268
|
+
import "../../ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
|
|
269
|
+
import "../../ProjectTreeTable/components/DeleteConfirmContent.es.js";
|
|
270
|
+
import "../../ProjectTreeTable/context/ProjectDataContextInstance.es.js";
|
|
271
|
+
import "../../ProjectTreeTable/context/ProjectTableContextInstance.es.js";
|
|
272
|
+
import "../../ProjectTreeTable/widgets/EmptyWidget.es.js";
|
|
273
|
+
import "../../ProjectTreeTable/widgets/ErrorWidget.es.js";
|
|
274
|
+
import "../../ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
275
|
+
import "../../ProjectTreeTable/components/SelectionCell.es.js";
|
|
276
|
+
import "../../ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
277
|
+
import "../../ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
278
|
+
import "../../ProjectTreeTable/components/HeaderActionButton.es.js";
|
|
279
|
+
import "../../ProjectTreeTable/components/TableFooterRow.es.js";
|
|
280
|
+
import "../../DetailsPanel/DetailsPanel.styled.es.js";
|
|
281
|
+
import "../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
|
|
282
|
+
import "../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js";
|
|
283
|
+
import "../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
284
|
+
import "../../../components/PlayableIcon/PlayableIcon.es.js";
|
|
285
|
+
import "../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
|
|
286
|
+
import "../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js";
|
|
287
|
+
import "../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
|
|
288
|
+
import "../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js";
|
|
289
|
+
import "../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
|
|
290
|
+
import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
|
|
291
|
+
import "../../Actions/Actions.styled.es.js";
|
|
292
|
+
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
293
|
+
import "../../Actions/ActionIcon.es.js";
|
|
294
|
+
import { WORKING_VIEW_ID as z } from "../types.es.js";
|
|
295
|
+
import { BASE_VIEW_ID as Dp, NEW_VIEW_ID as Mp } from "../types.es.js";
|
|
296
|
+
import { getCustomViewsFallback as H } from "../utils/getCustomViewsFallback.es.js";
|
|
297
|
+
import "../context/ViewsContextInstance.es.js";
|
|
298
|
+
import "../Views.styled.es.js";
|
|
299
|
+
import "../ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
300
|
+
import "../../ListTable/ListTableRow.es.js";
|
|
301
|
+
import "../../ListTable/ListTable.styled.es.js";
|
|
129
302
|
import "custom-protocol-check";
|
|
130
303
|
import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
131
|
-
|
|
132
|
-
import { WORKING_VIEW_ID as H } from "../types.es.js";
|
|
133
|
-
import { BASE_VIEW_ID as kr, NEW_VIEW_ID as Lr } from "../types.es.js";
|
|
134
|
-
const Cr = ({
|
|
304
|
+
const _p = ({
|
|
135
305
|
viewsList: l,
|
|
136
306
|
workingView: s,
|
|
137
307
|
viewType: a,
|
|
@@ -156,7 +326,7 @@ const Cr = ({
|
|
|
156
326
|
})),
|
|
157
327
|
[l, u, V]
|
|
158
328
|
), P = {
|
|
159
|
-
id:
|
|
329
|
+
id: z,
|
|
160
330
|
label: f ? `Personal ${i.toLowerCase()}` : `Working ${i.toLowerCase()}`,
|
|
161
331
|
startContent: f && /* @__PURE__ */ O.jsx(G, { icon: "person" }),
|
|
162
332
|
isEditable: !1
|
|
@@ -185,7 +355,7 @@ const Cr = ({
|
|
|
185
355
|
addon: "powerpack",
|
|
186
356
|
remote: "views",
|
|
187
357
|
module: "getCustomViews",
|
|
188
|
-
fallback:
|
|
358
|
+
fallback: H,
|
|
189
359
|
// minVersion: minVersion,
|
|
190
360
|
skip: !a || !d
|
|
191
361
|
}), { myViews: I, sharedViews: E, allPrivateViews: k } = F({
|
|
@@ -229,9 +399,9 @@ const Cr = ({
|
|
|
229
399
|
}, [b, $, m, L, c, d]);
|
|
230
400
|
};
|
|
231
401
|
export {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
402
|
+
Dp as BASE_VIEW_ID,
|
|
403
|
+
Mp as NEW_VIEW_ID,
|
|
404
|
+
z as WORKING_VIEW_ID,
|
|
405
|
+
_p as default
|
|
236
406
|
};
|
|
237
407
|
//# sourceMappingURL=useBuildViewMenuItems.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import {\n GetWorkingViewApiResponse,\n useCreateViewMutation,\n UserModel,\n ViewListItemModel,\n} from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport type { CollapsedViewState } from '../context/ViewsContext'\nimport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID } from '../types'\nexport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID }\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: GetWorkingViewApiResponse\n viewType?: string\n viewAlias: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n viewAlias,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? `Personal ${viewAlias.toLowerCase()}` : `Working ${viewAlias.toLowerCase()}`,\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn(`No working ${viewAlias.toLowerCase()} found, creating a new one`)\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working ${viewAlias}: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: `My ${viewAlias.toLowerCase()}s`, items: myViews as ViewItem[] },\n { id: 'sharedViews', title: `Shared ${viewAlias.toLowerCase()}s`, items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: `All private ${viewAlias.toLowerCase()}s`, items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(() => {\n return {\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }\n }, [handleWorkingViewChange, onResetWorkingView])\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists and powerpack is available\n const visibleSections = sections.filter((s) => powerLicense && (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId, powerLicense])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["useBuildViewMenuItems","viewsList","workingView","viewType","viewAlias","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","WORKING_VIEW_ID","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import {\n GetWorkingViewApiResponse,\n useCreateViewMutation,\n UserModel,\n ViewListItemModel,\n} from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport type { CollapsedViewState } from '../context/ViewsContext'\nimport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID } from '../types'\nexport { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID }\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: GetWorkingViewApiResponse\n viewType?: string\n viewAlias: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n viewAlias,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? `Personal ${viewAlias.toLowerCase()}` : `Working ${viewAlias.toLowerCase()}`,\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn(`No working ${viewAlias.toLowerCase()} found, creating a new one`)\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working ${viewAlias}: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: `My ${viewAlias.toLowerCase()}s`, items: myViews as ViewItem[] },\n { id: 'sharedViews', title: `Shared ${viewAlias.toLowerCase()}s`, items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: `All private ${viewAlias.toLowerCase()}s`, items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(() => {\n return {\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }\n }, [handleWorkingViewChange, onResetWorkingView])\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists and powerpack is available\n const visibleSections = sections.filter((s) => powerLicense && (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId, powerLicense])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["useBuildViewMenuItems","viewsList","workingView","viewType","viewAlias","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","WORKING_VIEW_ID","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAMA,KAAwB,CAAC;AAAA,EAC7B,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,YAAAC;AACF,MAA6B;AAC3B,QAAM,EAAE,cAAAC,EAAA,IAAiBC,EAAA,GAGnB,CAACC,CAAU,IAAIC,EAAA,GAEfC,IAAiDC;AAAA,IACrD,MACEpB,EAAU,IAAI,CAACqB,OAAU;AAAA,MACvB,GAAGA;AAAA,MACH,SAASA,EAAK,UAAUhB,GAAa;AAAA,MACrC,aAAaE,MAAkBc,EAAK,KAAK,SAAS;AAAA,IAAA,EAClD;AAAA,IACJ,CAACrB,GAAWK,GAAaE,CAAa;AAAA,EAAA,GAGlCe,IAA4B;AAAA,IAChC,IAAIC;AAAA,IACJ,OAAOjB,IAAiB,YAAYH,EAAU,YAAA,CAAa,KAAK,WAAWA,EAAU,YAAA,CAAa;AAAA,IAClG,cAAcG,KAAkBkB,gBAAAA,EAAAA,IAACC,GAAA,EAAK,MAAK,UAAS;AAAA,IACpD,YAAY;AAAA,EAAA,GAIRC,IAA0BC,EAAY,YAAY;AACtD,QAAIC,IAAgB3B,GAAa;AACjC,QAAI,CAACA;AAEH,UAAI;AACF,gBAAQ,KAAK,cAAcE,EAAU,YAAA,CAAa,4BAA4B;AAC9E,cAAMF,IAAc4B,EAAA;AACpB,cAAMZ,EAAW;AAAA,UACf,SAAShB;AAAAA,UACT,UAAAC;AAAA,UACA,aAAAE;AAAA,QAAA,CACD,EAAE,OAAA,GAEHwB,IAAgB3B,EAAY;AAAA,MAC9B,SAAS6B,GAAY;AACnB,QAAAC,EAAM,MAAM,4BAA4B5B,CAAS,KAAK2B,CAAK,EAAE;AAAA,MAC/D;AAGF,IAAApB,EAASkB,CAAuB;AAAA,EAClC,GAAG,CAAC3B,GAAaC,GAAUe,GAAYb,GAAaM,CAAQ,CAAC,GAEvDsB,IAAiB,OAAOC,MAAmB;AAE/C,QAAI;AACF,YAAMrB,EAAOqB,CAAM,GACnBvB,EAASuB,CAAM;AAAA,IACjB,SAASH,GAAY;AACnB,MAAAC,EAAM,MAAMD,CAAK;AAAA,IACnB;AAAA,EACF,GAEM,CAACI,GAAgB,EAAE,WAAWC,EAAA,CAAkB,IAAIC,EAAc;AAAA,IACtE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC;AAAA;AAAA,IAEV,MAAM,CAACnC,KAAY,CAACa;AAAA,EAAA,CACrB,GAEK,EAAE,SAAAuB,GAAS,aAAAC,GAAa,iBAAAC,EAAA,IAAoBN,EAAe;AAAA,IAC/D,WAAWf;AAAA,IACX,QAAAR;AAAA,IACA,UAAAD;AAAA,IACA,QAAQsB;AAAA,EAAA,CACT,GAEKS,IAAgBd;AAAA,IACpB,CAACe,MAAe;AACd,MAAAjC,EAAa,EAAE,GAAGD,GAAW,CAACkC,CAAE,GAAG,CAAClC,EAAUkC,CAAE,GAAG;AAAA,IACrD;AAAA,IACA,CAAClC,GAAWC,CAAY;AAAA,EAAA,GAGpBkC,IAAoEvB,EAAQ,MACzE;AAAA,IACL,EAAE,IAAI,WAAW,OAAO,MAAMjB,EAAU,aAAa,KAAK,OAAOmC,EAAA;AAAA,IACjE,EAAE,IAAI,eAAe,OAAO,UAAUnC,EAAU,aAAa,KAAK,OAAOoC,EAAA;AAAA,IACzE,EAAE,IAAI,mBAAmB,OAAO,eAAepC,EAAU,aAAa,KAAK,OAAOqC,EAAA;AAAA,EAA8B,GAEjH,CAACF,GAASC,GAAaC,CAAe,CAAC,GAEpCI,IAAgCxB,EAAQ,OACrC;AAAA,IACL,GAAGE;AAAA,IACH,SAASI;AAAA;AAAA,IAET,YAAY,EAAQb;AAAA,IACpB,aAAaA;AAAA,EAAA,IAEd,CAACa,GAAyBb,CAAkB,CAAC;AA8BhD,SA3BkCO,EAAQ,MAAM;AAC9C,UAAMyB,IAAyB,CAACD,CAAe,GAGzCE,IAAkBH,EAAS,OAAO,CAACI,MAAMhC,MAAiBgC,EAAE,OAAO,UAAU,KAAK,CAAC;AACzF,WAAID,EAAgB,SAAS,KAAGD,EAAO,KAAKG,CAAY,GAExDF,EAAgB,QAAQ,CAACG,MAAY;AACnC,YAAMC,IAAc,CAAC,CAAC1C,EAAUyC,EAAQ,EAAE;AAQ1C,UAPAJ,EAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,IAAII,EAAQ;AAAA,QACZ,OAAOA,EAAQ;AAAA,QACf,WAAWC;AAAA,QACX,UAAU,MAAMT,EAAcQ,EAAQ,EAAE;AAAA,MAAA,CACzC,GACG,CAACC;AACH,QAAAL,EAAO,KAAK,GAAGI,EAAQ,KAAK;AAAA,eACnBnC,GAAY;AACrB,cAAMqC,IAAeF,EAAQ,MAAM,KAAK,CAACG,MAAMA,EAAE,OAAOtC,CAAU;AAClE,QAAIqC,KAAcN,EAAO,KAAKM,CAAY;AAAA,MAC5C;AAAA,IACF,CAAC,GAEMN;AAAA,EACT,GAAG,CAACD,GAAiBD,GAAUnC,GAAWiC,GAAe3B,GAAYC,CAAY,CAAC;AAGpF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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");const y=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const H=require("./generateWorkingView.cjs.js"),I=require("react-toastify"),V=require("react"),R=require("react-redux"),T=require("../context/ViewsContext.cjs.js");let S=!1;const m=()=>{S||(S=!0,queueMicrotask(()=>{S=!1}))},N=async(e,s,u,r={},o,w,f,i)=>{const{viewSettings:a,viewType:n,projectName:p,selectedView:t,setSelectedView:d,workingView:q,onSettingsChanged:c}=o;if(!n)throw new Error("No view type provided for updating view settings");const l=t?.id,g=t?.working;try{s(u);const{settings:k,workingViewId:C}=f(),b=k??a;if(b===void 0){console.warn("updateViewSettings: no settings baseline available, aborting to prevent data loss.");return}const h={...b,...e},W=H.generateWorkingView(h),v=C??q?.id;v&&(W.id=v);const F=W.id,E=w({payload:v?{settings:h}:W,viewType:n,projectName:p},v);i(),(!g||t?.id!==v)&&(t&&c(!0),d(F)),await E,s(null),r.successMessage&&I.toast.success(r.successMessage)}catch(k){s(null),l&&d(l),t&&!g&&c(!1),console.error(k);const C=r.errorMessage||`Failed to update view settings: ${k}`;I.toast.error(C)}},j=()=>{const[e]=y.useCreateViewMutation(),[s]=y.useUpdateViewMutation(),u=T.useViewsContext(),r=R.useStore(),o=V.useCallback(async(i,a)=>{if(a){const n={};return["label","owner","settings"].forEach(t=>{i.payload[t]!==void 0&&(n[t]=i.payload[t])}),await s({viewType:i.viewType,projectName:i.projectName,viewId:a,payload:n}).unwrap()}else return await e(i).unwrap()},[e,s]),w=V.useCallback(()=>{const{viewType:i,projectName:a,selectedView:n,workingView:p}=u;if(!i)return{};const t=r.getState(),d=y.viewsQueries.endpoints.getWorkingView.select({viewType:i,projectName:a})(t),c=d?.data?.id||p?.id,l=y.viewsQueries.endpoints.getDefaultView.select({viewType:i,projectName:a})(t),g=l?.data?.id||n?.id;return(!!c&&g===c||S)&&d?.data?.settings?{settings:d.data.settings,workingViewId:c}:l?.data?.settings?{settings:l.data.settings,workingViewId:c}:{workingViewId:c}},[r,u]);return{updateViewSettings:V.useCallback(async(...i)=>await N(...i,u,o,w,m),[u,o,w]),onCreateView:o,getLatestSettings:w,markCacheDirty:m}},M=(e,s)=>s.split(".").reduce((u,r)=>u?.[r],e),L=(e,s,u)=>{const[r,...o]=s.split(".");return r?{...e,[r]:o.length?L(e[r]||{},o.join("."),u):u}:e},x=(e,s)=>{const{viewSettings:u,isLoadingViews:r}=T.useViewsContext(),{updateViewSettings:o,getLatestSettings:w}=j(),[f,i]=V.useState(null),a=V.useRef(null),n=u,p=f!==null?f:M(n,e)??s,t=V.useCallback(q=>{a.current=q,i(q)},[]),d=V.useCallback(q=>{if(r||!n)return;const c=w().settings??n,l=a.current!==null?a.current:M(c,e)??s,g=typeof q=="function"?q(l):q;o(L(c,e,g),t,g,{})},[s,w,r,e,n,t,o]);return[p,d]};exports.updateViewSettings=N;exports.useViewUpdateHelper=j;exports.useViewsState=x;
|
|
2
2
|
//# sourceMappingURL=viewUpdateHelper.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewUpdateHelper.cjs.js","sources":["../../../../../../src/containers/Views/utils/viewUpdateHelper.ts"],"sourcesContent":["/**\n * Shared helper for updating view settings with optimistic local state management.\n *\n * Sequential updateViewSettings calls in the same event tick MUST chain correctly:\n * the second call has to see the first call's changes. Closure-captured\n * `viewSettings` does not refresh between sync calls (no re-render yet), so we\n * read the latest settings from the RTK Query cache at call time instead.\n * RTK's updateView mutation performs an optimistic cache write in\n * `onQueryStarted`, so the cache is already up-to-date by the time the next\n * call reads it.\n */\n\nimport {\n EntityIdResponse,\n useCreateViewMutation,\n useUpdateViewMutation,\n viewsQueries,\n} from '@shared/api'\nimport { generateWorkingView } from './generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useCallback } from 'react'\nimport { useStore } from 'react-redux'\nimport { useViewsContext, ViewsContextValue } from '../context/ViewsContext'\n\ninterface UpdateOptions {\n successMessage?: string\n errorMessage?: string\n}\n\n// Module-level flag shared across every useViewUpdateHelper instance. Set true\n// when a mutation has been dispatched in the current tick (RTK cache is now\n// optimistically fresh); reset on the next microtask. Must be module-level so\n// that two different hook instances (e.g. ProjectOverviewDataProvider +\n// ProjectOverviewContext) coordinate correctly when writes flow through one\n// and subsequent reads come from the other in the same event tick.\nlet cacheDirtyThisTick = false\nconst markCacheDirty = () => {\n if (cacheDirtyThisTick) return\n cacheDirtyThisTick = true\n queueMicrotask(() => {\n cacheDirtyThisTick = false\n })\n}\n\nexport type UpdateViewSettingsFn = (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions,\n) => Promise<void>\n\nexport interface LatestSettingsResult {\n settings?: any\n workingViewId?: string\n}\n\nexport const updateViewSettings = async (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions = {},\n viewContext: ViewsContextValue,\n onApplyViewChanges: (arg: any, viewId?: string) => Promise<EntityIdResponse | void>,\n // Reads latest effective settings from RTK Query cache at call time. Required to\n // prevent stale-closure races when two updates fire in the same tick.\n getLatest: () => LatestSettingsResult,\n // Invoked synchronously right after the mutation is dispatched. The caller\n // uses this to flip a \"cache is fresh this tick\" flag so subsequent sync\n // calls in the same tick read the just-updated cache instead of stale state.\n markCacheDirty: () => void,\n): Promise<void> => {\n const {\n viewSettings,\n viewType,\n projectName,\n selectedView,\n setSelectedView,\n workingView,\n onSettingsChanged,\n } = viewContext\n\n if (!viewType) throw new Error('No view type provided for updating view settings')\n\n const previousSelectedViewId = selectedView?.id\n const wasWorking = selectedView?.working\n\n try {\n // Immediately update local state for fast UI response\n localStateSetter(newLocalValue)\n\n // Read latest settings from RTK cache (includes prior same-tick optimistic writes).\n // Fallback to closure-captured value if cache has nothing (first render, etc.).\n const { settings: latestSettingsFromCache, workingViewId: latestWorkingViewIdFromCache } =\n getLatest()\n const latestSettings = latestSettingsFromCache ?? viewSettings\n\n // If we have no settings baseline at all (neither from cache nor from context),\n // abort to prevent writing a partial payload that would overwrite saved settings.\n // This is a defence-in-depth guard; in normal flow isLoadingViews prevents callers\n // from triggering updates before data is available.\n if (latestSettings === undefined) {\n console.warn(\n 'updateViewSettings: no settings baseline available, aborting to prevent data loss.',\n )\n return\n }\n\n // Create settings with updates\n const newSettings = { ...latestSettings, ...updatedSettings }\n\n // always update the working view no matter what\n const newWorkingView = generateWorkingView(newSettings)\n\n // Ensure the payload uses the consistent ID if we already have a working view\n const viewId = latestWorkingViewIdFromCache ?? workingView?.id\n if (viewId) {\n newWorkingView.id = viewId\n }\n const newWorkingViewId = newWorkingView.id\n\n // Make API call in background\n // only include the fields that are updating (just settings)\n const payload = viewId ? { settings: newSettings } : newWorkingView\n\n const promise = onApplyViewChanges(\n {\n payload,\n viewType: viewType,\n projectName: projectName,\n },\n viewId,\n )\n\n // Mutation dispatch above ran onQueryStarted synchronously → RTK cache now\n // reflects `newSettings`. Signal this so any subsequent sync call in the\n // same tick reads the fresh cache instead of the stale closure baseline.\n markCacheDirty()\n\n // if not already on the working view: set that the settings have been changed to show the little blue save button and switch to the working view\n // Note: selectedView?.id is always a real UUID from the server, never the WORKING_VIEW_ID sentinel.\n if (!wasWorking || selectedView?.id !== viewId) {\n if (selectedView) {\n onSettingsChanged(true)\n }\n setSelectedView(newWorkingViewId as string)\n }\n\n await promise\n\n // Clear local state after successful API call - the server data will take over\n localStateSetter(null)\n\n if (options.successMessage) {\n toast.success(options.successMessage)\n }\n } catch (error) {\n // Revert local state on error\n localStateSetter(null)\n\n if (previousSelectedViewId) {\n setSelectedView(previousSelectedViewId)\n }\n\n if (selectedView && !wasWorking) {\n onSettingsChanged(false)\n }\n\n console.error(error)\n const errorMsg = options.errorMessage || `Failed to update view settings: ${error}`\n toast.error(errorMsg)\n }\n}\n\nexport const useViewUpdateHelper = () => {\n const [createView] = useCreateViewMutation()\n const [updateView] = useUpdateViewMutation()\n\n const viewContext = useViewsContext()\n const store = useStore()\n\n const onApplyViewChanges = useCallback(\n async (arg: any, viewId?: string) => {\n if (viewId) {\n // Filter the payload to only include valid patch fields\n // and ideally only include fields that are actually being updated.\n // Expecting the caller to provide only the fields they want to update in the payload.\n const patchPayload: any = {}\n const patchFields = ['label', 'owner', 'settings']\n patchFields.forEach((key) => {\n if (arg.payload[key] !== undefined) {\n patchPayload[key] = arg.payload[key]\n }\n })\n\n return await updateView({\n viewType: arg.viewType,\n projectName: arg.projectName,\n viewId,\n payload: patchPayload,\n }).unwrap()\n } else {\n return await createView(arg).unwrap()\n }\n },\n [createView, updateView],\n )\n\n // Returns cached settings when a same-tick prior write has refreshed the\n // cache. Otherwise returns undefined and the caller falls back to the\n // closure-captured viewSettings (correct baseline for the first write in a\n // tick, including the named-view → working-view fork).\n const getLatest = useCallback((): LatestSettingsResult => {\n const { viewType, projectName, selectedView, workingView } = viewContext\n if (!viewType) return {}\n\n const state = store.getState() as any\n\n // 1. Get the working view from the store — most authoritative after optimistic writes.\n const workingViewEntry = viewsQueries.endpoints.getWorkingView.select({\n viewType,\n projectName,\n })(state)\n const storeWorkingViewId = workingViewEntry?.data?.id\n // Prefer the store's working view ID over the potentially stale context closure value.\n const resolvedWorkingViewId = storeWorkingViewId || workingView?.id\n\n // 2. Determine the currently targeted view ID.\n // Use the store's getDefaultView cache (updated optimistically by setSelectedView) so that\n // an in-flight selection change is visible before React re-renders the context.\n const defaultViewEntry = viewsQueries.endpoints.getDefaultView.select({\n viewType,\n projectName,\n })(state)\n const targetViewId = defaultViewEntry?.data?.id || selectedView?.id\n\n // 3. Determine if the working view is active.\n // IMPORTANT: use !!resolvedWorkingViewId to avoid the undefined === undefined false-positive\n // that would occur on a new project before any working view exists.\n // Note: WORKING_VIEW_ID ('_working_') is a UI-only sentinel; it never appears in\n // server-side cache IDs, so there is no point checking for it here.\n const isWorkingViewActive =\n (!!resolvedWorkingViewId && targetViewId === resolvedWorkingViewId) || cacheDirtyThisTick\n\n // 4. If the working view is active, use its cache as the baseline to prevent stale merges.\n if (isWorkingViewActive && workingViewEntry?.data?.settings) {\n return {\n settings: workingViewEntry.data.settings,\n workingViewId: resolvedWorkingViewId,\n }\n }\n\n // 5. For named views: use the defaultView cache settings as the baseline.\n // This is populated by the initial useGetDefaultViewQuery fetch and is more reliable\n // than the getView endpoint cache (which is only fetched on-demand when editing).\n if (defaultViewEntry?.data?.settings) {\n return {\n settings: defaultViewEntry.data.settings,\n workingViewId: resolvedWorkingViewId,\n }\n }\n\n return { workingViewId: resolvedWorkingViewId }\n }, [store, viewContext])\n\n const updateViewSettingsHandler = useCallback<UpdateViewSettingsFn>(\n async (...args) =>\n await updateViewSettings(...args, viewContext, onApplyViewChanges, getLatest, markCacheDirty),\n [viewContext, onApplyViewChanges, getLatest],\n )\n\n return {\n updateViewSettings: updateViewSettingsHandler,\n onCreateView: onApplyViewChanges,\n getLatestSettings: getLatest,\n markCacheDirty,\n }\n}\n"],"names":["cacheDirtyThisTick","markCacheDirty","updateViewSettings","updatedSettings","localStateSetter","newLocalValue","options","viewContext","onApplyViewChanges","getLatest","viewSettings","viewType","projectName","selectedView","setSelectedView","workingView","onSettingsChanged","previousSelectedViewId","wasWorking","latestSettingsFromCache","latestWorkingViewIdFromCache","latestSettings","newSettings","newWorkingView","generateWorkingView","viewId","newWorkingViewId","promise","toast","error","errorMsg","useViewUpdateHelper","createView","useCreateViewMutation","updateView","useUpdateViewMutation","useViewsContext","store","useStore","useCallback","arg","patchPayload","key","state","workingViewEntry","viewsQueries","resolvedWorkingViewId","defaultViewEntry","targetViewId","args"],"mappings":"slLAmCA,IAAIA,EAAqB,GACzB,MAAMC,EAAiB,IAAM,CACvBD,IACJA,EAAqB,GACrB,eAAe,IAAM,CACnBA,EAAqB,EACvB,CAAC,EACH,EAcaE,EAAqB,MAChCC,EACAC,EACAC,EACAC,EAAyB,CAAA,EACzBC,EACAC,EAGAC,EAIAR,IACkB,CAClB,KAAM,CACJ,aAAAS,EACA,SAAAC,EACA,YAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,kBAAAC,CAAA,EACET,EAEJ,GAAI,CAACI,EAAU,MAAM,IAAI,MAAM,kDAAkD,EAEjF,MAAMM,EAAyBJ,GAAc,GACvCK,EAAaL,GAAc,QAEjC,GAAI,CAEFT,EAAiBC,CAAa,EAI9B,KAAM,CAAE,SAAUc,EAAyB,cAAeC,CAAA,EACxDX,EAAA,EACIY,EAAiBF,GAA2BT,EAMlD,GAAIW,IAAmB,OAAW,CAChC,QAAQ,KACN,oFAAA,EAEF,MACF,CAGA,MAAMC,EAAc,CAAE,GAAGD,EAAgB,GAAGlB,CAAA,EAGtCoB,EAAiBC,EAAAA,oBAAoBF,CAAW,EAGhDG,EAASL,GAAgCL,GAAa,GACxDU,IACFF,EAAe,GAAKE,GAEtB,MAAMC,EAAmBH,EAAe,GAMlCI,EAAUnB,EACd,CACE,QAJYiB,EAAS,CAAE,SAAUH,GAAgBC,EAKjD,SAAAZ,EACA,YAAAC,CAAA,EAEFa,CAAA,EAMFxB,EAAAA,GAII,CAACiB,GAAcL,GAAc,KAAOY,KAClCZ,GACFG,EAAkB,EAAI,EAExBF,EAAgBY,CAA0B,GAG5C,MAAMC,EAGNvB,EAAiB,IAAI,EAEjBE,EAAQ,gBACVsB,QAAM,QAAQtB,EAAQ,cAAc,CAExC,OAASuB,EAAO,CAEdzB,EAAiB,IAAI,EAEjBa,GACFH,EAAgBG,CAAsB,EAGpCJ,GAAgB,CAACK,GACnBF,EAAkB,EAAK,EAGzB,QAAQ,MAAMa,CAAK,EACnB,MAAMC,EAAWxB,EAAQ,cAAgB,mCAAmCuB,CAAK,GACjFD,EAAAA,MAAM,MAAME,CAAQ,CACtB,CACF,EAEaC,EAAsB,IAAM,CACvC,KAAM,CAACC,CAAU,EAAIC,wBAAA,EACf,CAACC,CAAU,EAAIC,wBAAA,EAEf5B,EAAc6B,EAAAA,gBAAA,EACdC,EAAQC,EAAAA,SAAA,EAER9B,EAAqB+B,EAAAA,YACzB,MAAOC,EAAUf,IAAoB,CACnC,GAAIA,EAAQ,CAIV,MAAMgB,EAAoB,CAAA,EAE1B,MADoB,CAAC,QAAS,QAAS,UAAU,EACrC,QAASC,GAAQ,CACvBF,EAAI,QAAQE,CAAG,IAAM,SACvBD,EAAaC,CAAG,EAAIF,EAAI,QAAQE,CAAG,EAEvC,CAAC,EAEM,MAAMR,EAAW,CACtB,SAAUM,EAAI,SACd,YAAaA,EAAI,YACjB,OAAAf,EACA,QAASgB,CAAA,CACV,EAAE,OAAA,CACL,KACE,QAAO,MAAMT,EAAWQ,CAAG,EAAE,OAAA,CAEjC,EACA,CAACR,EAAYE,CAAU,CAAA,EAOnBzB,EAAY8B,EAAAA,YAAY,IAA4B,CACxD,KAAM,CAAE,SAAA5B,EAAU,YAAAC,EAAa,aAAAC,EAAc,YAAAE,GAAgBR,EAC7D,GAAI,CAACI,EAAU,MAAO,CAAA,EAEtB,MAAMgC,EAAQN,EAAM,SAAA,EAGdO,EAAmBC,EAAAA,aAAa,UAAU,eAAe,OAAO,CACpE,SAAAlC,EACA,YAAAC,CAAA,CACD,EAAE+B,CAAK,EAGFG,EAFqBF,GAAkB,MAAM,IAEC7B,GAAa,GAK3DgC,EAAmBF,EAAAA,aAAa,UAAU,eAAe,OAAO,CACpE,SAAAlC,EACA,YAAAC,CAAA,CACD,EAAE+B,CAAK,EACFK,EAAeD,GAAkB,MAAM,IAAMlC,GAAc,GAWjE,OAHG,CAAC,CAACiC,GAAyBE,IAAiBF,GAA0B9C,IAG9C4C,GAAkB,MAAM,SAC1C,CACL,SAAUA,EAAiB,KAAK,SAChC,cAAeE,CAAA,EAOfC,GAAkB,MAAM,SACnB,CACL,SAAUA,EAAiB,KAAK,SAChC,cAAeD,CAAA,EAIZ,CAAE,cAAeA,CAAA,CAC1B,EAAG,CAACT,EAAO9B,CAAW,CAAC,EAQvB,MAAO,CACL,mBAPgCgC,EAAAA,YAChC,SAAUU,IACR,MAAM/C,EAAmB,GAAG+C,EAAM1C,EAAaC,EAAoBC,EAAWR,CAAc,EAC9F,CAACM,EAAaC,EAAoBC,CAAS,CAAA,EAK3C,aAAcD,EACd,kBAAmBC,EACnB,eAAAR,CAAA,CAEJ"}
|
|
1
|
+
{"version":3,"file":"viewUpdateHelper.cjs.js","sources":["../../../../../../src/containers/Views/utils/viewUpdateHelper.ts"],"sourcesContent":["/**\n * Shared helper for updating view settings with optimistic local state management.\n *\n * Sequential updateViewSettings calls in the same event tick MUST chain correctly:\n * the second call has to see the first call's changes. Closure-captured\n * `viewSettings` does not refresh between sync calls (no re-render yet), so we\n * read the latest settings from the RTK Query cache at call time instead.\n * RTK's updateView mutation performs an optimistic cache write in\n * `onQueryStarted`, so the cache is already up-to-date by the time the next\n * call reads it.\n */\n\nimport {\n EntityIdResponse,\n useCreateViewMutation,\n useUpdateViewMutation,\n viewsQueries,\n} from '@shared/api'\nimport { generateWorkingView } from './generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { SetStateAction, useCallback, useRef, useState } from 'react'\nimport { useStore } from 'react-redux'\nimport { useViewsContext, ViewsContextValue } from '../context/ViewsContext'\n\ninterface UpdateOptions {\n successMessage?: string\n errorMessage?: string\n}\n\n// Module-level flag shared across every useViewUpdateHelper instance. Set true\n// when a mutation has been dispatched in the current tick (RTK cache is now\n// optimistically fresh); reset on the next microtask. Must be module-level so\n// that two different hook instances (e.g. ProjectOverviewDataProvider +\n// ProjectOverviewContext) coordinate correctly when writes flow through one\n// and subsequent reads come from the other in the same event tick.\nlet cacheDirtyThisTick = false\nconst markCacheDirty = () => {\n if (cacheDirtyThisTick) return\n cacheDirtyThisTick = true\n queueMicrotask(() => {\n cacheDirtyThisTick = false\n })\n}\n\nexport type UpdateViewSettingsFn = (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions,\n) => Promise<void>\n\nexport interface LatestSettingsResult {\n settings?: any\n workingViewId?: string\n}\n\nexport const updateViewSettings = async (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions = {},\n viewContext: ViewsContextValue,\n onApplyViewChanges: (arg: any, viewId?: string) => Promise<EntityIdResponse | void>,\n // Reads latest effective settings from RTK Query cache at call time. Required to\n // prevent stale-closure races when two updates fire in the same tick.\n getLatest: () => LatestSettingsResult,\n // Invoked synchronously right after the mutation is dispatched. The caller\n // uses this to flip a \"cache is fresh this tick\" flag so subsequent sync\n // calls in the same tick read the just-updated cache instead of stale state.\n markCacheDirty: () => void,\n): Promise<void> => {\n const {\n viewSettings,\n viewType,\n projectName,\n selectedView,\n setSelectedView,\n workingView,\n onSettingsChanged,\n } = viewContext\n\n if (!viewType) throw new Error('No view type provided for updating view settings')\n\n const previousSelectedViewId = selectedView?.id\n const wasWorking = selectedView?.working\n\n try {\n // Immediately update local state for fast UI response\n localStateSetter(newLocalValue)\n\n // Read latest settings from RTK cache (includes prior same-tick optimistic writes).\n // Fallback to closure-captured value if cache has nothing (first render, etc.).\n const { settings: latestSettingsFromCache, workingViewId: latestWorkingViewIdFromCache } =\n getLatest()\n const latestSettings = latestSettingsFromCache ?? viewSettings\n\n // If we have no settings baseline at all (neither from cache nor from context),\n // abort to prevent writing a partial payload that would overwrite saved settings.\n // This is a defence-in-depth guard; in normal flow isLoadingViews prevents callers\n // from triggering updates before data is available.\n if (latestSettings === undefined) {\n console.warn(\n 'updateViewSettings: no settings baseline available, aborting to prevent data loss.',\n )\n return\n }\n\n // Create settings with updates\n const newSettings = { ...latestSettings, ...updatedSettings }\n\n // always update the working view no matter what\n const newWorkingView = generateWorkingView(newSettings)\n\n // Ensure the payload uses the consistent ID if we already have a working view\n const viewId = latestWorkingViewIdFromCache ?? workingView?.id\n if (viewId) {\n newWorkingView.id = viewId\n }\n const newWorkingViewId = newWorkingView.id\n\n // Make API call in background\n // only include the fields that are updating (just settings)\n const payload = viewId ? { settings: newSettings } : newWorkingView\n\n const promise = onApplyViewChanges(\n {\n payload,\n viewType: viewType,\n projectName: projectName,\n },\n viewId,\n )\n\n // Mutation dispatch above ran onQueryStarted synchronously → RTK cache now\n // reflects `newSettings`. Signal this so any subsequent sync call in the\n // same tick reads the fresh cache instead of the stale closure baseline.\n markCacheDirty()\n\n // if not already on the working view: set that the settings have been changed to show the little blue save button and switch to the working view\n // Note: selectedView?.id is always a real UUID from the server, never the WORKING_VIEW_ID sentinel.\n if (!wasWorking || selectedView?.id !== viewId) {\n if (selectedView) {\n onSettingsChanged(true)\n }\n setSelectedView(newWorkingViewId as string)\n }\n\n await promise\n\n // Clear local state after successful API call - the server data will take over\n localStateSetter(null)\n\n if (options.successMessage) {\n toast.success(options.successMessage)\n }\n } catch (error) {\n // Revert local state on error\n localStateSetter(null)\n\n if (previousSelectedViewId) {\n setSelectedView(previousSelectedViewId)\n }\n\n if (selectedView && !wasWorking) {\n onSettingsChanged(false)\n }\n\n console.error(error)\n const errorMsg = options.errorMessage || `Failed to update view settings: ${error}`\n toast.error(errorMsg)\n }\n}\n\nexport const useViewUpdateHelper = () => {\n const [createView] = useCreateViewMutation()\n const [updateView] = useUpdateViewMutation()\n\n const viewContext = useViewsContext()\n const store = useStore()\n\n const onApplyViewChanges = useCallback(\n async (arg: any, viewId?: string) => {\n if (viewId) {\n // Filter the payload to only include valid patch fields\n // and ideally only include fields that are actually being updated.\n // Expecting the caller to provide only the fields they want to update in the payload.\n const patchPayload: any = {}\n const patchFields = ['label', 'owner', 'settings']\n patchFields.forEach((key) => {\n if (arg.payload[key] !== undefined) {\n patchPayload[key] = arg.payload[key]\n }\n })\n\n return await updateView({\n viewType: arg.viewType,\n projectName: arg.projectName,\n viewId,\n payload: patchPayload,\n }).unwrap()\n } else {\n return await createView(arg).unwrap()\n }\n },\n [createView, updateView],\n )\n\n // Returns cached settings when a same-tick prior write has refreshed the\n // cache. Otherwise returns undefined and the caller falls back to the\n // closure-captured viewSettings (correct baseline for the first write in a\n // tick, including the named-view → working-view fork).\n const getLatest = useCallback((): LatestSettingsResult => {\n const { viewType, projectName, selectedView, workingView } = viewContext\n if (!viewType) return {}\n\n const state = store.getState() as any\n\n // 1. Get the working view from the store — most authoritative after optimistic writes.\n const workingViewEntry = viewsQueries.endpoints.getWorkingView.select({\n viewType,\n projectName,\n })(state)\n const storeWorkingViewId = workingViewEntry?.data?.id\n // Prefer the store's working view ID over the potentially stale context closure value.\n const resolvedWorkingViewId = storeWorkingViewId || workingView?.id\n\n // 2. Determine the currently targeted view ID.\n // Use the store's getDefaultView cache (updated optimistically by setSelectedView) so that\n // an in-flight selection change is visible before React re-renders the context.\n const defaultViewEntry = viewsQueries.endpoints.getDefaultView.select({\n viewType,\n projectName,\n })(state)\n const targetViewId = defaultViewEntry?.data?.id || selectedView?.id\n\n // 3. Determine if the working view is active.\n // IMPORTANT: use !!resolvedWorkingViewId to avoid the undefined === undefined false-positive\n // that would occur on a new project before any working view exists.\n // Note: WORKING_VIEW_ID ('_working_') is a UI-only sentinel; it never appears in\n // server-side cache IDs, so there is no point checking for it here.\n const isWorkingViewActive =\n (!!resolvedWorkingViewId && targetViewId === resolvedWorkingViewId) || cacheDirtyThisTick\n\n // 4. If the working view is active, use its cache as the baseline to prevent stale merges.\n if (isWorkingViewActive && workingViewEntry?.data?.settings) {\n return {\n settings: workingViewEntry.data.settings,\n workingViewId: resolvedWorkingViewId,\n }\n }\n\n // 5. For named views: use the defaultView cache settings as the baseline.\n // This is populated by the initial useGetDefaultViewQuery fetch and is more reliable\n // than the getView endpoint cache (which is only fetched on-demand when editing).\n if (defaultViewEntry?.data?.settings) {\n return {\n settings: defaultViewEntry.data.settings,\n workingViewId: resolvedWorkingViewId,\n }\n }\n\n return { workingViewId: resolvedWorkingViewId }\n }, [store, viewContext])\n\n const updateViewSettingsHandler = useCallback<UpdateViewSettingsFn>(\n async (...args) =>\n await updateViewSettings(...args, viewContext, onApplyViewChanges, getLatest, markCacheDirty),\n [viewContext, onApplyViewChanges, getLatest],\n )\n\n return {\n updateViewSettings: updateViewSettingsHandler,\n onCreateView: onApplyViewChanges,\n getLatestSettings: getLatest,\n markCacheDirty,\n }\n}\n\ntype SettingsObject = Record<string, any>\n\nexport type PathKeys<T> = T extends SettingsObject\n ? {\n [K in keyof T & string]: NonNullable<T[K]> extends readonly any[]\n ? K\n : NonNullable<T[K]> extends SettingsObject\n ? K | `${K}.${PathKeys<NonNullable<T[K]>>}`\n : K\n }[keyof T & string]\n : never\n\nexport type PathValue<T, P extends string> = P extends `${infer K}.${infer Rest}`\n ? K extends keyof T\n ? PathValue<NonNullable<T[K]>, Rest>\n : never\n : P extends keyof T\n ? T[P]\n : never\n\nconst getNestedValue = <T extends SettingsObject, P extends PathKeys<T>>(\n settings: T | undefined,\n path: P,\n): PathValue<T, P> | undefined => {\n return path.split('.').reduce<any>((value, key) => value?.[key], settings)\n}\n\nconst setNestedValue = <T extends SettingsObject>(settings: T, path: string, value: any): T => {\n const [key, ...rest] = path.split('.')\n\n if (!key) return settings\n\n return {\n ...settings,\n [key]: rest.length\n ? setNestedValue((settings[key] as SettingsObject) || {}, rest.join('.'), value)\n : value,\n }\n}\n\nexport const useViewsState = <\n Settings extends SettingsObject = SettingsObject,\n P extends PathKeys<Settings> = PathKeys<Settings>,\n>(\n path: P,\n defaultValue?: PathValue<Settings, P>,\n): [\n PathValue<Settings, P> | undefined,\n (value: SetStateAction<PathValue<Settings, P>>) => void,\n] => {\n const { viewSettings, isLoadingViews } = useViewsContext()\n const { updateViewSettings, getLatestSettings } = useViewUpdateHelper()\n const [localValue, setLocalValueState] = useState<PathValue<Settings, P> | null>(null)\n const localValueRef = useRef<PathValue<Settings, P> | null>(null)\n\n const settings = viewSettings as Settings | undefined\n const value = localValue !== null ? localValue : getNestedValue(settings, path) ?? defaultValue\n\n const setLocalValue = useCallback((newValue: PathValue<Settings, P> | null) => {\n localValueRef.current = newValue\n setLocalValueState(newValue)\n }, [])\n\n const setValue = useCallback(\n (nextValue: SetStateAction<PathValue<Settings, P>>) => {\n if (isLoadingViews || !settings) return\n\n const latestSettings = (getLatestSettings().settings as Settings | undefined) ?? settings\n const currentValue =\n localValueRef.current !== null\n ? localValueRef.current\n : getNestedValue(latestSettings, path) ?? defaultValue\n const resolvedValue =\n typeof nextValue === 'function'\n ? (nextValue as (value: PathValue<Settings, P>) => PathValue<Settings, P>)(\n currentValue as PathValue<Settings, P>,\n )\n : nextValue\n\n void updateViewSettings(\n setNestedValue(latestSettings, path, resolvedValue),\n setLocalValue,\n resolvedValue,\n {},\n )\n },\n [\n defaultValue,\n getLatestSettings,\n isLoadingViews,\n path,\n settings,\n setLocalValue,\n updateViewSettings,\n ],\n )\n\n return [value, setValue]\n}\n"],"names":["cacheDirtyThisTick","markCacheDirty","updateViewSettings","updatedSettings","localStateSetter","newLocalValue","options","viewContext","onApplyViewChanges","getLatest","viewSettings","viewType","projectName","selectedView","setSelectedView","workingView","onSettingsChanged","previousSelectedViewId","wasWorking","latestSettingsFromCache","latestWorkingViewIdFromCache","latestSettings","newSettings","newWorkingView","generateWorkingView","viewId","newWorkingViewId","promise","toast","error","errorMsg","useViewUpdateHelper","createView","useCreateViewMutation","updateView","useUpdateViewMutation","useViewsContext","store","useStore","useCallback","arg","patchPayload","key","state","workingViewEntry","viewsQueries","resolvedWorkingViewId","defaultViewEntry","targetViewId","args","getNestedValue","settings","path","value","setNestedValue","rest","useViewsState","defaultValue","isLoadingViews","getLatestSettings","localValue","setLocalValueState","useState","localValueRef","useRef","setLocalValue","newValue","setValue","nextValue","currentValue","resolvedValue"],"mappings":"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"}
|