@ynput/ayon-frontend-shared 0.2.20 → 0.2.21
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 +4 -3
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +4 -3
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +2 -2
- package/dist/ProjectTreeTable.es.js +2 -2
- package/dist/Views.cjs.js +41 -0
- package/dist/Views.cjs.js.map +1 -0
- package/dist/Views.es.js +41 -0
- package/dist/Views.es.js.map +1 -0
- package/dist/_virtual/index.cjs5.js +5 -3
- package/dist/_virtual/index.cjs5.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +3 -5
- package/dist/_virtual/index.cjs6.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -5
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/api.cjs.js +6 -1
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +8 -3
- package/dist/components.cjs.js +0 -17
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +1 -18
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +4 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +4 -3
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +3 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +3 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +2 -2
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +2 -2
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +41 -58
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +41 -57
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +1 -5
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +1 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +1 -5
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js +30 -2
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js +30 -2
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js +29 -5
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js +29 -5
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +169 -9
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +170 -10
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +4 -3
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -3
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -0
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +1 -0
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +4 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +4 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +4 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +4 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +4 -3
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -3
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +4 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +4 -3
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -3
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +4 -3
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -3
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +4 -3
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -3
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +10 -11
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +10 -11
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +69 -21
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +69 -21
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +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.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +0 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +0 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +3 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +18 -10
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +18 -10
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +106 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +106 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +4 -3
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -3
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +49 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +49 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/ViewItem/ViewItem.styled.cjs.js +24 -12
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/ViewItem/ViewItem.styled.es.js +24 -12
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/Views.cjs.js +6 -10
- package/dist/shared/src/containers/Views/Views.cjs.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/Views.es.js +7 -11
- package/dist/shared/src/containers/Views/Views.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/Views.styled.cjs.js +4 -3
- package/dist/shared/src/containers/Views/Views.styled.cjs.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/Views.styled.es.js +4 -3
- package/dist/shared/src/containers/Views/Views.styled.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/ViewsButton/ViewsButton.cjs.js +11 -2
- package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.cjs.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/ViewsButton/ViewsButton.es.js +11 -2
- package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js +4 -0
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js +5 -0
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -0
- package/dist/shared/src/{components/Views/context/ViewsContext.cjs.js → containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js} +67 -58
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -0
- package/dist/shared/src/{components/Views/context/ViewsContext.es.js → containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js} +66 -57
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.cjs.js +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.es.js +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -1
- package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +105 -0
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +105 -0
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +211 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +211 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +52 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +52 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +69 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +69 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +44 -0
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +44 -0
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/hooks/useBuildViewMenuItems.cjs.js +58 -32
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/hooks/useBuildViewMenuItems.es.js +59 -33
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +33 -0
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +33 -0
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -0
- package/dist/shared/src/{components/Views/ViewForm/ViewFormContainer.cjs.js → containers/Views/hooks/useSelectedView.cjs.js} +33 -114
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +108 -0
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.cjs.js +19 -0
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.es.js +19 -0
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.es.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +143 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +143 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js +67 -0
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js +67 -0
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js +13 -0
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js +13 -0
- package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -0
- package/dist/shared/src/{components → containers}/Views/utils/portalUtils.cjs.js +1 -1
- package/dist/shared/src/{components → containers}/Views/utils/portalUtils.cjs.js.map +1 -1
- package/dist/shared/src/{components → containers}/Views/utils/portalUtils.es.js +1 -1
- package/dist/shared/src/{components → containers}/Views/utils/portalUtils.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +125 -0
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -0
- package/dist/shared/src/{components/Views/ViewForm/ViewFormContainer.es.js → containers/Views/utils/viewUpdateHelper.es.js} +48 -112
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js +9 -3
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +9 -3
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +116 -0
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -0
- package/dist/shared/src/util/columnConfigConverter.es.js +116 -0
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -0
- package/dist/types/Views.d.ts +2 -0
- package/dist/types/api/generated/powerPack1.1.1Views.d.ts +25 -0
- package/dist/types/api/generated/views.d.ts +130 -22
- package/dist/types/api/queries/views/getViews.d.ts +161 -22
- package/dist/types/api/queries/views/updateViews.d.ts +500 -13
- package/dist/types/components/index.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +15 -5
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsProvider.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -4
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +3 -5
- package/dist/types/containers/ProjectTreeTable/hooks/useProjectTableModules.d.ts +2 -5
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +5 -6
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +24 -0
- package/dist/types/{components → containers}/Views/ViewItem/ViewItem.d.ts +3 -1
- package/dist/types/{components → containers}/Views/ViewItem/ViewItem.styled.d.ts +1 -1
- package/dist/types/containers/Views/Views.d.ts +2 -0
- package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +24 -0
- package/dist/types/containers/Views/ViewsDialogContainer/ViewsDialogContainer.d.ts +6 -0
- package/dist/types/{components → containers}/Views/ViewsMenu/ViewsMenu.d.ts +1 -2
- package/dist/types/{components → containers}/Views/ViewsMenuContainer/ViewsMenuContainer.d.ts +1 -1
- package/dist/types/containers/Views/context/ViewsContext.d.ts +46 -0
- package/dist/types/containers/Views/hooks/index.d.ts +5 -0
- package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +9 -0
- package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +12 -0
- package/dist/types/containers/Views/hooks/pages/useTaskProgressViewSettings.d.ts +10 -0
- package/dist/types/containers/Views/hooks/pages/viewUpdateHelper.d.ts +0 -0
- package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +22 -0
- package/dist/types/containers/Views/hooks/useOverviewViewSettings.d.ts +0 -0
- package/dist/types/containers/Views/hooks/useSaveViewFromCurrent.d.ts +12 -0
- package/dist/types/containers/Views/hooks/useSelectedView.d.ts +12 -0
- package/dist/types/containers/Views/hooks/useViewSettingsChanged.d.ts +6 -0
- package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +13 -0
- package/dist/types/containers/Views/hooks/useViewsShortcuts.d.ts +13 -0
- package/dist/types/containers/Views/index.d.ts +19 -0
- package/dist/types/containers/Views/utils/generateWorkingView.d.ts +3 -0
- package/dist/types/{components → containers}/Views/utils/getCustomViewsFallback.d.ts +3 -2
- package/dist/types/{components → containers}/Views/utils/portalUtils.d.ts +1 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +17 -0
- package/dist/types/containers/index.d.ts +1 -0
- package/dist/types/context/PowerpackContext.d.ts +4 -1
- package/dist/types/util/columnConfigConverter.d.ts +15 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/util.cjs.js +3 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +3 -0
- package/dist/util.es.js.map +1 -1
- package/package.json +6 -1
- package/dist/shared/src/components/Views/ViewForm/ViewForm.cjs.js +0 -164
- package/dist/shared/src/components/Views/ViewForm/ViewForm.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewForm/ViewForm.es.js +0 -164
- package/dist/shared/src/components/Views/ViewForm/ViewForm.es.js.map +0 -1
- package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.cjs.js +0 -71
- package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.es.js +0 -71
- package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.es.js.map +0 -1
- package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.es.js.map +0 -1
- package/dist/shared/src/components/Views/ViewItem/ViewItem.cjs.js +0 -36
- package/dist/shared/src/components/Views/ViewItem/ViewItem.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewItem/ViewItem.es.js +0 -36
- package/dist/shared/src/components/Views/ViewItem/ViewItem.es.js.map +0 -1
- package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.es.js.map +0 -1
- package/dist/shared/src/components/Views/Views.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/Views.es.js.map +0 -1
- package/dist/shared/src/components/Views/Views.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/Views.styled.es.js.map +0 -1
- package/dist/shared/src/components/Views/ViewsButton/ViewsButton.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewsButton/ViewsButton.es.js.map +0 -1
- package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.es.js.map +0 -1
- package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +0 -132
- package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +0 -132
- package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +0 -1
- package/dist/shared/src/components/Views/context/ViewsContext.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/context/ViewsContext.es.js.map +0 -1
- package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.es.js.map +0 -1
- package/dist/shared/src/components/Views/utils/generatePersonalView.cjs.js +0 -13
- package/dist/shared/src/components/Views/utils/generatePersonalView.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/utils/generatePersonalView.es.js +0 -13
- package/dist/shared/src/components/Views/utils/generatePersonalView.es.js.map +0 -1
- package/dist/shared/src/components/Views/utils/getCustomViewsFallback.cjs.js.map +0 -1
- package/dist/shared/src/components/Views/utils/getCustomViewsFallback.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js +0 -24
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js +0 -24
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js.map +0 -1
- package/dist/types/components/Views/ViewForm/ViewForm.d.ts +0 -14
- package/dist/types/components/Views/ViewForm/ViewForm.styled.d.ts +0 -9
- package/dist/types/components/Views/ViewForm/ViewFormContainer.d.ts +0 -15
- package/dist/types/components/Views/Views.d.ts +0 -8
- package/dist/types/components/Views/context/ViewsContext.d.ts +0 -31
- package/dist/types/components/Views/hooks/useBuildViewMenuItems.d.ts +0 -14
- package/dist/types/components/Views/index.d.ts +0 -11
- package/dist/types/components/Views/utils/generatePersonalView.d.ts +0 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useColumnSorting.d.ts +0 -12
- /package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.cjs.js +0 -0
- /package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.es.js +0 -0
- /package/dist/shared/src/{components → containers}/Views/utils/getCustomViewsFallback.cjs.js +0 -0
- /package/dist/shared/src/{components → containers}/Views/utils/getCustomViewsFallback.es.js +0 -0
- /package/dist/types/{components → containers}/Views/Views.styled.d.ts +0 -0
- /package/dist/types/{components → containers}/Views/ViewsButton/ViewsButton.d.ts +0 -0
- /package/dist/types/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.d.ts +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const ViewsContext = require("../../context/ViewsContext.cjs.js");
|
|
4
|
+
require("lodash");
|
|
5
|
+
require("react-toastify");
|
|
6
|
+
const columnConfigConverter = require("../../../../util/columnConfigConverter.cjs.js");
|
|
7
|
+
require("../../../../util/pubsub.cjs.js");
|
|
8
|
+
const viewUpdateHelper = require("../../utils/viewUpdateHelper.cjs.js");
|
|
9
|
+
const React = require("react");
|
|
10
|
+
const useOverviewViewSettings = () => {
|
|
11
|
+
const { viewSettings } = ViewsContext.useViewsContext();
|
|
12
|
+
const [localFilters, setLocalFilters] = React.useState(null);
|
|
13
|
+
const [localHierarchy, setLocalHierarchy] = React.useState(null);
|
|
14
|
+
const [localColumns, setLocalColumns] = React.useState(null);
|
|
15
|
+
const { updateViewSettings } = viewUpdateHelper.useViewUpdateHelper();
|
|
16
|
+
const overviewSettings = viewSettings;
|
|
17
|
+
const serverFilters = (overviewSettings == null ? void 0 : overviewSettings.filter) ?? {};
|
|
18
|
+
const serverHierarchy = (overviewSettings == null ? void 0 : overviewSettings.showHierarchy) ?? true;
|
|
19
|
+
const serverColumns = React.useMemo(
|
|
20
|
+
() => columnConfigConverter.convertColumnConfigToTanstackStates(overviewSettings),
|
|
21
|
+
[JSON.stringify(viewSettings)]
|
|
22
|
+
);
|
|
23
|
+
React.useEffect(() => {
|
|
24
|
+
setLocalFilters(null);
|
|
25
|
+
setLocalHierarchy(null);
|
|
26
|
+
setLocalColumns(null);
|
|
27
|
+
}, [JSON.stringify(viewSettings)]);
|
|
28
|
+
const filters = localFilters !== null ? localFilters : serverFilters;
|
|
29
|
+
const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy;
|
|
30
|
+
const columns = localColumns || serverColumns;
|
|
31
|
+
const onUpdateFilters = React.useCallback(
|
|
32
|
+
async (newFilters) => {
|
|
33
|
+
await updateViewSettings({ filter: newFilters }, setLocalFilters, newFilters, {
|
|
34
|
+
errorMessage: "Failed to update filter settings"
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
[updateViewSettings]
|
|
38
|
+
);
|
|
39
|
+
const onUpdateHierarchy = React.useCallback(
|
|
40
|
+
async (newShowHierarchy) => {
|
|
41
|
+
await updateViewSettings(
|
|
42
|
+
{ showHierarchy: newShowHierarchy },
|
|
43
|
+
setLocalHierarchy,
|
|
44
|
+
newShowHierarchy,
|
|
45
|
+
{ errorMessage: "Failed to update hierarchy setting" }
|
|
46
|
+
);
|
|
47
|
+
},
|
|
48
|
+
[updateViewSettings]
|
|
49
|
+
);
|
|
50
|
+
const onUpdateColumns = React.useCallback(
|
|
51
|
+
async (tableSettings, allColumnIds) => {
|
|
52
|
+
const settings = columnConfigConverter.convertTanstackStatesToColumnConfig(tableSettings, allColumnIds);
|
|
53
|
+
await updateViewSettings(settings, setLocalColumns, tableSettings, {
|
|
54
|
+
errorMessage: "Failed to update columns"
|
|
55
|
+
});
|
|
56
|
+
},
|
|
57
|
+
[updateViewSettings]
|
|
58
|
+
);
|
|
59
|
+
return {
|
|
60
|
+
filters,
|
|
61
|
+
onUpdateFilters,
|
|
62
|
+
showHierarchy,
|
|
63
|
+
onUpdateHierarchy,
|
|
64
|
+
columns,
|
|
65
|
+
onUpdateColumns
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
exports.useOverviewViewSettings = useOverviewViewSettings;
|
|
69
|
+
//# sourceMappingURL=useOverviewViewSettings.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverviewViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useOverviewViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n const settings = convertTanstackStatesToColumnConfig(tableSettings, allColumnIds)\n await updateViewSettings(settings, setLocalColumns, tableSettings, {\n errorMessage: 'Failed to update columns',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useViewsContext","useState","useViewUpdateHelper","useMemo","convertColumnConfigToTanstackStates","useEffect","useCallback","convertTanstackStatesToColumnConfig"],"mappings":";;;;;;;;;AAsCO,MAAM,0BAA0B,MAAc;AAE7C,QAAA,EAAE,aAAa,IAAIA,6BAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAIC,MAAAA,SAA6B,IAAI;AACzE,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAyB,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAA+B,IAAI;AAGrE,QAAA,EAAE,mBAAmB,IAAIC,qCAAoB;AAGnD,QAAM,mBAAmB;AACnB,QAAA,iBAAiB,qDAAkB,WAAkB,CAAC;AACtD,QAAA,mBAAkB,qDAAkB,kBAAiB;AAC3D,QAAM,gBAAgBC,MAAA;AAAA,IACpB,MAAMC,sBAAAA,oCAAoC,gBAAgB;AAAA,IAC1D,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAC/B;AAGAC,QAAAA,UAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,sBAAkB,IAAI;AACtB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,gBAAgB,mBAAmB,OAAO,iBAAiB;AACjE,QAAM,UAAU,gBAAgB;AAGhC,QAAM,kBAAkBC,MAAA;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,oBAAoBA,MAAA;AAAA,IACxB,OAAO,qBAA8B;AAC7B,YAAA;AAAA,QACJ,EAAE,eAAe,iBAAiB;AAAA,QAClC;AAAA,QACA;AAAA,QACA,EAAE,cAAc,qCAAqC;AAAA,MACvD;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,kBAAkBA,MAAA;AAAA,IACtB,OAAO,eAA8B,iBAA4B;AACzD,YAAA,WAAWC,sBAAAA,oCAAoC,eAAe,YAAY;AAC1E,YAAA,mBAAmB,UAAU,iBAAiB,eAAe;AAAA,QACjE,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { useViewsContext } from "../../context/ViewsContext.es.js";
|
|
2
|
+
import "lodash";
|
|
3
|
+
import "react-toastify";
|
|
4
|
+
import { convertColumnConfigToTanstackStates, convertTanstackStatesToColumnConfig } from "../../../../util/columnConfigConverter.es.js";
|
|
5
|
+
import "../../../../util/pubsub.es.js";
|
|
6
|
+
import { useViewUpdateHelper } from "../../utils/viewUpdateHelper.es.js";
|
|
7
|
+
import { useState, useMemo, useEffect, useCallback } from "react";
|
|
8
|
+
const useOverviewViewSettings = () => {
|
|
9
|
+
const { viewSettings } = useViewsContext();
|
|
10
|
+
const [localFilters, setLocalFilters] = useState(null);
|
|
11
|
+
const [localHierarchy, setLocalHierarchy] = useState(null);
|
|
12
|
+
const [localColumns, setLocalColumns] = useState(null);
|
|
13
|
+
const { updateViewSettings } = useViewUpdateHelper();
|
|
14
|
+
const overviewSettings = viewSettings;
|
|
15
|
+
const serverFilters = (overviewSettings == null ? void 0 : overviewSettings.filter) ?? {};
|
|
16
|
+
const serverHierarchy = (overviewSettings == null ? void 0 : overviewSettings.showHierarchy) ?? true;
|
|
17
|
+
const serverColumns = useMemo(
|
|
18
|
+
() => convertColumnConfigToTanstackStates(overviewSettings),
|
|
19
|
+
[JSON.stringify(viewSettings)]
|
|
20
|
+
);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
setLocalFilters(null);
|
|
23
|
+
setLocalHierarchy(null);
|
|
24
|
+
setLocalColumns(null);
|
|
25
|
+
}, [JSON.stringify(viewSettings)]);
|
|
26
|
+
const filters = localFilters !== null ? localFilters : serverFilters;
|
|
27
|
+
const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy;
|
|
28
|
+
const columns = localColumns || serverColumns;
|
|
29
|
+
const onUpdateFilters = useCallback(
|
|
30
|
+
async (newFilters) => {
|
|
31
|
+
await updateViewSettings({ filter: newFilters }, setLocalFilters, newFilters, {
|
|
32
|
+
errorMessage: "Failed to update filter settings"
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
[updateViewSettings]
|
|
36
|
+
);
|
|
37
|
+
const onUpdateHierarchy = useCallback(
|
|
38
|
+
async (newShowHierarchy) => {
|
|
39
|
+
await updateViewSettings(
|
|
40
|
+
{ showHierarchy: newShowHierarchy },
|
|
41
|
+
setLocalHierarchy,
|
|
42
|
+
newShowHierarchy,
|
|
43
|
+
{ errorMessage: "Failed to update hierarchy setting" }
|
|
44
|
+
);
|
|
45
|
+
},
|
|
46
|
+
[updateViewSettings]
|
|
47
|
+
);
|
|
48
|
+
const onUpdateColumns = useCallback(
|
|
49
|
+
async (tableSettings, allColumnIds) => {
|
|
50
|
+
const settings = convertTanstackStatesToColumnConfig(tableSettings, allColumnIds);
|
|
51
|
+
await updateViewSettings(settings, setLocalColumns, tableSettings, {
|
|
52
|
+
errorMessage: "Failed to update columns"
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
[updateViewSettings]
|
|
56
|
+
);
|
|
57
|
+
return {
|
|
58
|
+
filters,
|
|
59
|
+
onUpdateFilters,
|
|
60
|
+
showHierarchy,
|
|
61
|
+
onUpdateHierarchy,
|
|
62
|
+
columns,
|
|
63
|
+
onUpdateColumns
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
useOverviewViewSettings
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=useOverviewViewSettings.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverviewViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useOverviewViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n const settings = convertTanstackStatesToColumnConfig(tableSettings, allColumnIds)\n await updateViewSettings(settings, setLocalColumns, tableSettings, {\n errorMessage: 'Failed to update columns',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAsCO,MAAM,0BAA0B,MAAc;AAE7C,QAAA,EAAE,aAAa,IAAI,gBAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAI,SAA6B,IAAI;AACzE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAyB,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAI,SAA+B,IAAI;AAGrE,QAAA,EAAE,mBAAmB,IAAI,oBAAoB;AAGnD,QAAM,mBAAmB;AACnB,QAAA,iBAAiB,qDAAkB,WAAkB,CAAC;AACtD,QAAA,mBAAkB,qDAAkB,kBAAiB;AAC3D,QAAM,gBAAgB;AAAA,IACpB,MAAM,oCAAoC,gBAAgB;AAAA,IAC1D,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAC/B;AAGA,YAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,sBAAkB,IAAI;AACtB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,gBAAgB,mBAAmB,OAAO,iBAAiB;AACjE,QAAM,UAAU,gBAAgB;AAGhC,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,oBAAoB;AAAA,IACxB,OAAO,qBAA8B;AAC7B,YAAA;AAAA,QACJ,EAAE,eAAe,iBAAiB;AAAA,QAClC;AAAA,QACA;AAAA,QACA,EAAE,cAAc,qCAAqC;AAAA,MACvD;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAA8B,iBAA4B;AACzD,YAAA,WAAW,oCAAoC,eAAe,YAAY;AAC1E,YAAA,mBAAmB,UAAU,iBAAiB,eAAe;AAAA,QACjE,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const ViewsContext = require("../../context/ViewsContext.cjs.js");
|
|
4
|
+
const viewUpdateHelper = require("../../utils/viewUpdateHelper.cjs.js");
|
|
5
|
+
const React = require("react");
|
|
6
|
+
const useTaskProgressViewSettings = () => {
|
|
7
|
+
const { viewSettings } = ViewsContext.useViewsContext();
|
|
8
|
+
const [localFilters, setLocalFilters] = React.useState(null);
|
|
9
|
+
const [localColumns, setLocalColumns] = React.useState(null);
|
|
10
|
+
const { updateViewSettings } = viewUpdateHelper.useViewUpdateHelper();
|
|
11
|
+
const taskProgressSettings = viewSettings;
|
|
12
|
+
const serverFilters = (taskProgressSettings == null ? void 0 : taskProgressSettings.filter) ?? {};
|
|
13
|
+
const serverColumns = (taskProgressSettings == null ? void 0 : taskProgressSettings.columns) ?? [];
|
|
14
|
+
React.useEffect(() => {
|
|
15
|
+
setLocalFilters(null);
|
|
16
|
+
setLocalColumns(null);
|
|
17
|
+
}, [JSON.stringify(viewSettings)]);
|
|
18
|
+
const filters = localFilters !== null ? localFilters : serverFilters;
|
|
19
|
+
const columns = localColumns !== null ? localColumns : serverColumns;
|
|
20
|
+
const onUpdateFilters = React.useCallback(
|
|
21
|
+
async (newFilters) => {
|
|
22
|
+
await updateViewSettings({ filter: newFilters }, setLocalFilters, newFilters, {
|
|
23
|
+
errorMessage: "Failed to update filter settings"
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
[updateViewSettings]
|
|
27
|
+
);
|
|
28
|
+
const onUpdateColumns = React.useCallback(
|
|
29
|
+
async (newColumns) => {
|
|
30
|
+
await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {
|
|
31
|
+
errorMessage: "Failed to update column width settings"
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
[updateViewSettings]
|
|
35
|
+
);
|
|
36
|
+
return {
|
|
37
|
+
filters,
|
|
38
|
+
onUpdateFilters,
|
|
39
|
+
columns,
|
|
40
|
+
onUpdateColumns
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.useTaskProgressViewSettings = useTaskProgressViewSettings;
|
|
44
|
+
//# sourceMappingURL=useTaskProgressViewSettings.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTaskProgressViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useTaskProgressViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all task progress page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Progress column widths (ColumnItemModel format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { TaskProgressSettings, ColumnItemModel } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column width management\n columns: ColumnItemModel[]\n onUpdateColumns: (columns: ColumnItemModel[]) => void\n}\n\nexport const useTaskProgressViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnItemModel[] | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const taskProgressSettings = viewSettings as TaskProgressSettings\n const serverFilters = (taskProgressSettings?.filter as any) ?? {}\n const serverColumns = (taskProgressSettings?.columns as ColumnItemModel[]) ?? []\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const columns = localColumns !== null ? localColumns : serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (newColumns: ColumnItemModel[]) => {\n await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {\n errorMessage: 'Failed to update column width settings',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useViewsContext","useState","useViewUpdateHelper","useEffect","useCallback"],"mappings":";;;;;AA4BO,MAAM,8BAA8B,MAAc;AAEjD,QAAA,EAAE,aAAa,IAAIA,6BAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAIC,MAAAA,SAA6B,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAmC,IAAI;AAGzE,QAAA,EAAE,mBAAmB,IAAIC,qCAAoB;AAGnD,QAAM,uBAAuB;AACvB,QAAA,iBAAiB,6DAAsB,WAAkB,CAAC;AAC1D,QAAA,iBAAiB,6DAAsB,YAAiC,CAAC;AAG/EC,QAAAA,UAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,UAAU,iBAAiB,OAAO,eAAe;AAGvD,QAAM,kBAAkBC,MAAA;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,kBAAkBA,MAAA;AAAA,IACtB,OAAO,eAAkC;AACvC,YAAM,mBAAmB,EAAE,SAAS,WAAW,GAAG,iBAAiB,YAAY;AAAA,QAC7E,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useViewsContext } from "../../context/ViewsContext.es.js";
|
|
2
|
+
import { useViewUpdateHelper } from "../../utils/viewUpdateHelper.es.js";
|
|
3
|
+
import { useState, useEffect, useCallback } from "react";
|
|
4
|
+
const useTaskProgressViewSettings = () => {
|
|
5
|
+
const { viewSettings } = useViewsContext();
|
|
6
|
+
const [localFilters, setLocalFilters] = useState(null);
|
|
7
|
+
const [localColumns, setLocalColumns] = useState(null);
|
|
8
|
+
const { updateViewSettings } = useViewUpdateHelper();
|
|
9
|
+
const taskProgressSettings = viewSettings;
|
|
10
|
+
const serverFilters = (taskProgressSettings == null ? void 0 : taskProgressSettings.filter) ?? {};
|
|
11
|
+
const serverColumns = (taskProgressSettings == null ? void 0 : taskProgressSettings.columns) ?? [];
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
setLocalFilters(null);
|
|
14
|
+
setLocalColumns(null);
|
|
15
|
+
}, [JSON.stringify(viewSettings)]);
|
|
16
|
+
const filters = localFilters !== null ? localFilters : serverFilters;
|
|
17
|
+
const columns = localColumns !== null ? localColumns : serverColumns;
|
|
18
|
+
const onUpdateFilters = useCallback(
|
|
19
|
+
async (newFilters) => {
|
|
20
|
+
await updateViewSettings({ filter: newFilters }, setLocalFilters, newFilters, {
|
|
21
|
+
errorMessage: "Failed to update filter settings"
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
[updateViewSettings]
|
|
25
|
+
);
|
|
26
|
+
const onUpdateColumns = useCallback(
|
|
27
|
+
async (newColumns) => {
|
|
28
|
+
await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {
|
|
29
|
+
errorMessage: "Failed to update column width settings"
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
[updateViewSettings]
|
|
33
|
+
);
|
|
34
|
+
return {
|
|
35
|
+
filters,
|
|
36
|
+
onUpdateFilters,
|
|
37
|
+
columns,
|
|
38
|
+
onUpdateColumns
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
useTaskProgressViewSettings
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=useTaskProgressViewSettings.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTaskProgressViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useTaskProgressViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all task progress page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Progress column widths (ColumnItemModel format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { TaskProgressSettings, ColumnItemModel } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column width management\n columns: ColumnItemModel[]\n onUpdateColumns: (columns: ColumnItemModel[]) => void\n}\n\nexport const useTaskProgressViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnItemModel[] | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const taskProgressSettings = viewSettings as TaskProgressSettings\n const serverFilters = (taskProgressSettings?.filter as any) ?? {}\n const serverColumns = (taskProgressSettings?.columns as ColumnItemModel[]) ?? []\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const columns = localColumns !== null ? localColumns : serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (newColumns: ColumnItemModel[]) => {\n await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {\n errorMessage: 'Failed to update column width settings',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":[],"mappings":";;;AA4BO,MAAM,8BAA8B,MAAc;AAEjD,QAAA,EAAE,aAAa,IAAI,gBAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAI,SAA6B,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAmC,IAAI;AAGzE,QAAA,EAAE,mBAAmB,IAAI,oBAAoB;AAGnD,QAAM,uBAAuB;AACvB,QAAA,iBAAiB,6DAAsB,WAAkB,CAAC;AAC1D,QAAA,iBAAiB,6DAAsB,YAAiC,CAAC;AAG/E,YAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,UAAU,iBAAiB,OAAO,eAAe;AAGvD,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAAkC;AACvC,YAAM,mBAAmB,EAAE,SAAS,WAAW,GAAG,iBAAiB,YAAY;AAAA,QAC7E,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;"}
|
|
@@ -77,7 +77,7 @@ const updateViews = require("../../../api/queries/views/updateViews.cjs.js");
|
|
|
77
77
|
const React = require("react");
|
|
78
78
|
const ViewsMenu = require("../ViewsMenu/ViewsMenu.cjs.js");
|
|
79
79
|
const ayonReactComponents = require("@ynput/ayon-react-components");
|
|
80
|
-
const
|
|
80
|
+
const generateWorkingView = require("../utils/generateWorkingView.cjs.js");
|
|
81
81
|
const reactToastify = require("react-toastify");
|
|
82
82
|
const useLoadModule = require("../../../hooks/useLoadModule.cjs.js");
|
|
83
83
|
require("../../../../../_virtual/runtime.cjs.js");
|
|
@@ -96,65 +96,91 @@ require("../../../context/PowerpackContext.cjs.js");
|
|
|
96
96
|
require("react-redux");
|
|
97
97
|
require("custom-protocol-check");
|
|
98
98
|
const getCustomViewsFallback = require("../utils/getCustomViewsFallback.cjs.js");
|
|
99
|
-
const
|
|
100
|
-
const personalBaseView = {
|
|
101
|
-
id: PERSONAL_VIEW_ID,
|
|
102
|
-
label: "Personal",
|
|
103
|
-
startContent: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "person" }),
|
|
104
|
-
isEditable: false,
|
|
105
|
-
isPersonal: true
|
|
106
|
-
};
|
|
99
|
+
const WORKING_VIEW_ID = "_working_";
|
|
107
100
|
const useBuildViewMenuItems = ({
|
|
108
101
|
viewsList,
|
|
109
|
-
|
|
102
|
+
workingView,
|
|
110
103
|
viewType,
|
|
111
104
|
projectName,
|
|
105
|
+
currentUser,
|
|
106
|
+
useWorkingView,
|
|
107
|
+
editingViewId,
|
|
112
108
|
onSelect,
|
|
113
|
-
onEdit
|
|
109
|
+
onEdit,
|
|
110
|
+
onSave
|
|
114
111
|
}) => {
|
|
115
112
|
const [createView] = updateViews.useCreateViewMutation();
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
const extendedViewsList = React.useMemo(
|
|
114
|
+
() => viewsList.map((view) => ({
|
|
115
|
+
...view,
|
|
116
|
+
isOwner: view.owner === (currentUser == null ? void 0 : currentUser.name),
|
|
117
|
+
highlighted: editingViewId === view.id ? "save" : void 0
|
|
118
|
+
})),
|
|
119
|
+
[viewsList, currentUser, editingViewId]
|
|
120
|
+
);
|
|
121
|
+
const workingBaseView = {
|
|
122
|
+
id: WORKING_VIEW_ID,
|
|
123
|
+
label: useWorkingView ? "Personal view" : "Working view",
|
|
124
|
+
startContent: useWorkingView && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "person" }),
|
|
125
|
+
isEditable: false
|
|
126
|
+
};
|
|
127
|
+
const handleWorkingViewChange = React.useCallback(async () => {
|
|
128
|
+
let workingViewId = workingView == null ? void 0 : workingView.id;
|
|
129
|
+
if (!workingView) {
|
|
119
130
|
try {
|
|
120
|
-
console.warn("No
|
|
121
|
-
const
|
|
131
|
+
console.warn("No working view found, creating a new one");
|
|
132
|
+
const workingView2 = generateWorkingView.generateWorkingView();
|
|
122
133
|
await createView({
|
|
123
|
-
payload:
|
|
134
|
+
payload: workingView2,
|
|
124
135
|
viewType,
|
|
125
136
|
projectName
|
|
126
137
|
}).unwrap();
|
|
138
|
+
workingViewId = workingView2.id;
|
|
127
139
|
} catch (error) {
|
|
128
|
-
reactToastify.toast.error(`Failed to create
|
|
140
|
+
reactToastify.toast.error(`Failed to create working view: ${error}`);
|
|
129
141
|
}
|
|
130
142
|
}
|
|
131
|
-
|
|
143
|
+
onSelect(workingViewId);
|
|
144
|
+
}, [workingView, viewType, createView, projectName, onSelect]);
|
|
145
|
+
const handleEditView = async (viewId) => {
|
|
146
|
+
try {
|
|
147
|
+
await onSave(viewId);
|
|
148
|
+
onSelect(viewId);
|
|
149
|
+
} catch (error) {
|
|
150
|
+
reactToastify.toast.error(error);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
132
153
|
const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule.useLoadModule({
|
|
133
154
|
addon: "powerpack",
|
|
134
155
|
remote: "views",
|
|
135
156
|
module: "getCustomViews",
|
|
136
|
-
fallback: getCustomViewsFallback.getCustomViewsFallback
|
|
157
|
+
fallback: getCustomViewsFallback.getCustomViewsFallback,
|
|
137
158
|
// minVersion: minVersion,
|
|
159
|
+
skip: !viewType
|
|
138
160
|
});
|
|
139
|
-
const { myViews, sharedViews } =
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
161
|
+
const { myViews, sharedViews } = React.useMemo(
|
|
162
|
+
() => getCustomViews({
|
|
163
|
+
viewsList: extendedViewsList,
|
|
164
|
+
onEdit,
|
|
165
|
+
onSelect,
|
|
166
|
+
onSave: handleEditView
|
|
167
|
+
}),
|
|
168
|
+
[viewsList, onEdit, onSelect, handleEditView]
|
|
169
|
+
);
|
|
144
170
|
const dividers = myViews.length || sharedViews.length ? [ViewsMenu.VIEW_DIVIDER] : [];
|
|
145
|
-
const
|
|
171
|
+
const workingViewItem = React.useMemo(
|
|
146
172
|
() => ({
|
|
147
|
-
...
|
|
148
|
-
onClick:
|
|
173
|
+
...workingBaseView,
|
|
174
|
+
onClick: handleWorkingViewChange
|
|
149
175
|
}),
|
|
150
|
-
[
|
|
176
|
+
[handleWorkingViewChange]
|
|
151
177
|
);
|
|
152
178
|
const viewItems = React.useMemo(
|
|
153
|
-
() => [
|
|
154
|
-
[
|
|
179
|
+
() => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],
|
|
180
|
+
[workingView, myViews, sharedViews, workingViewItem]
|
|
155
181
|
);
|
|
156
182
|
return viewItems;
|
|
157
183
|
};
|
|
158
|
-
exports.
|
|
184
|
+
exports.WORKING_VIEW_ID = WORKING_VIEW_ID;
|
|
159
185
|
exports.default = useBuildViewMenuItems;
|
|
160
186
|
//# sourceMappingURL=useBuildViewMenuItems.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } 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 { ViewData } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n onSelect,\n onEdit,\n onSave,\n}: Props): ViewMenuItem[] => {\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 view' : 'Working view',\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 view 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 view: ${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,\n })\n\n const { myViews, sharedViews } = useMemo(\n () =>\n getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n }),\n [viewsList, onEdit, onSelect, handleEditView],\n )\n\n const dividers = myViews.length || sharedViews.length ? [VIEW_DIVIDER] : []\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n }),\n [handleWorkingViewChange],\n )\n\n const viewItems: ViewMenuItem[] = useMemo(\n () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],\n [workingView, myViews, sharedViews, workingViewItem],\n )\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["useCreateViewMutation","useMemo","jsx","Icon","useCallback","workingView","generateWorkingView","toast","useLoadModule","getCustomViewsFallback","VIEW_DIVIDER"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,kBAAkB;AAoB/B,MAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AAErB,QAAA,CAAC,UAAU,IAAIA,kCAAsB;AAE3C,QAAM,oBAAiDC,MAAA;AAAA,IACrD,MACE,UAAU,IAAI,CAAC,UAAU;AAAA,MACvB,GAAG;AAAA,MACH,SAAS,KAAK,WAAU,2CAAa;AAAA,MACrC,aAAa,kBAAkB,KAAK,KAAK,SAAS;AAAA,IAAA,EAClD;AAAA,IACJ,CAAC,WAAW,aAAa,aAAa;AAAA,EACxC;AAEA,QAAM,kBAA4B;AAAA,IAChC,IAAI;AAAA,IACJ,OAAO,iBAAiB,kBAAkB;AAAA,IAC1C,cAAc,kBAAmBC,2BAAA,kBAAA,IAAAC,oBAAA,MAAA,EAAK,MAAK,UAAS;AAAA,IACpD,YAAY;AAAA,EACd;AAGM,QAAA,0BAA0BC,MAAAA,YAAY,YAAY;AACtD,QAAI,gBAAgB,2CAAa;AACjC,QAAI,CAAC,aAAa;AAEZ,UAAA;AACF,gBAAQ,KAAK,2CAA2C;AACxD,cAAMC,eAAcC,oBAAAA,oBAAoB;AACxC,cAAM,WAAW;AAAA,UACf,SAASD;AAAAA,UACT;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAEV,wBAAgBA,aAAY;AAAA,eACrB,OAAY;AACbE,sBAAAA,MAAA,MAAM,kCAAkC,KAAK,EAAE;AAAA,MAAA;AAAA,IACvD;AAGF,aAAS,aAAuB;AAAA,EAAA,GAC/B,CAAC,aAAa,UAAU,YAAY,aAAa,QAAQ,CAAC;AAEvD,QAAA,iBAAiB,OAAO,WAAmB;AAE3C,QAAA;AACF,YAAM,OAAO,MAAM;AACnB,eAAS,MAAM;AAAA,aACR,OAAY;AACnBA,oBAAA,MAAM,MAAM,KAAK;AAAA,IAAA;AAAA,EAErB;AAEA,QAAM,CAAC,gBAAgB,EAAE,WAAW,iBAAkB,CAAA,IAAIC,cAAAA,cAAc;AAAA,IACtE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC,uBAAA;AAAA;AAAA,IAEV,MAAM,CAAC;AAAA,EAAA,CACR;AAEK,QAAA,EAAE,SAAS,YAAA,IAAgBR,MAAA;AAAA,IAC/B,MACE,eAAe;AAAA,MACb,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA,CACT;AAAA,IACH,CAAC,WAAW,QAAQ,UAAU,cAAc;AAAA,EAC9C;AAEM,QAAA,WAAW,QAAQ,UAAU,YAAY,SAAS,CAACS,UAAY,YAAA,IAAI,CAAC;AAE1E,QAAM,kBAAgCT,MAAA;AAAA,IACpC,OAAO;AAAA,MACL,GAAG;AAAA,MACH,SAAS;AAAA,IAAA;AAAA,IAEX,CAAC,uBAAuB;AAAA,EAC1B;AAEA,QAAM,YAA4BA,MAAA;AAAA,IAChC,MAAM,CAAC,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ;AAAA,IAC5E,CAAC,aAAa,SAAS,aAAa,eAAe;AAAA,EACrD;AAEO,SAAA;AACT;;;"}
|
|
@@ -72,10 +72,10 @@ import "../../../api/queries/products/createProduct.es.js";
|
|
|
72
72
|
import "../../../api/queries/cloud/cloud.es.js";
|
|
73
73
|
import "../../../api/queries/views/getViews.es.js";
|
|
74
74
|
import { useCreateViewMutation } from "../../../api/queries/views/updateViews.es.js";
|
|
75
|
-
import {
|
|
75
|
+
import { useMemo, useCallback } from "react";
|
|
76
76
|
import { VIEW_DIVIDER } from "../ViewsMenu/ViewsMenu.es.js";
|
|
77
77
|
import { Icon } from "@ynput/ayon-react-components";
|
|
78
|
-
import {
|
|
78
|
+
import { generateWorkingView } from "../utils/generateWorkingView.es.js";
|
|
79
79
|
import { toast } from "react-toastify";
|
|
80
80
|
import { useLoadModule } from "../../../hooks/useLoadModule.es.js";
|
|
81
81
|
import "../../../../../_virtual/runtime.es.js";
|
|
@@ -94,67 +94,93 @@ import "../../../context/PowerpackContext.es.js";
|
|
|
94
94
|
import "react-redux";
|
|
95
95
|
import "custom-protocol-check";
|
|
96
96
|
import { getCustomViewsFallback } from "../utils/getCustomViewsFallback.es.js";
|
|
97
|
-
const
|
|
98
|
-
const personalBaseView = {
|
|
99
|
-
id: PERSONAL_VIEW_ID,
|
|
100
|
-
label: "Personal",
|
|
101
|
-
startContent: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { icon: "person" }),
|
|
102
|
-
isEditable: false,
|
|
103
|
-
isPersonal: true
|
|
104
|
-
};
|
|
97
|
+
const WORKING_VIEW_ID = "_working_";
|
|
105
98
|
const useBuildViewMenuItems = ({
|
|
106
99
|
viewsList,
|
|
107
|
-
|
|
100
|
+
workingView,
|
|
108
101
|
viewType,
|
|
109
102
|
projectName,
|
|
103
|
+
currentUser,
|
|
104
|
+
useWorkingView,
|
|
105
|
+
editingViewId,
|
|
110
106
|
onSelect,
|
|
111
|
-
onEdit
|
|
107
|
+
onEdit,
|
|
108
|
+
onSave
|
|
112
109
|
}) => {
|
|
113
110
|
const [createView] = useCreateViewMutation();
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
const extendedViewsList = useMemo(
|
|
112
|
+
() => viewsList.map((view) => ({
|
|
113
|
+
...view,
|
|
114
|
+
isOwner: view.owner === (currentUser == null ? void 0 : currentUser.name),
|
|
115
|
+
highlighted: editingViewId === view.id ? "save" : void 0
|
|
116
|
+
})),
|
|
117
|
+
[viewsList, currentUser, editingViewId]
|
|
118
|
+
);
|
|
119
|
+
const workingBaseView = {
|
|
120
|
+
id: WORKING_VIEW_ID,
|
|
121
|
+
label: useWorkingView ? "Personal view" : "Working view",
|
|
122
|
+
startContent: useWorkingView && /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { icon: "person" }),
|
|
123
|
+
isEditable: false
|
|
124
|
+
};
|
|
125
|
+
const handleWorkingViewChange = useCallback(async () => {
|
|
126
|
+
let workingViewId = workingView == null ? void 0 : workingView.id;
|
|
127
|
+
if (!workingView) {
|
|
117
128
|
try {
|
|
118
|
-
console.warn("No
|
|
119
|
-
const
|
|
129
|
+
console.warn("No working view found, creating a new one");
|
|
130
|
+
const workingView2 = generateWorkingView();
|
|
120
131
|
await createView({
|
|
121
|
-
payload:
|
|
132
|
+
payload: workingView2,
|
|
122
133
|
viewType,
|
|
123
134
|
projectName
|
|
124
135
|
}).unwrap();
|
|
136
|
+
workingViewId = workingView2.id;
|
|
125
137
|
} catch (error) {
|
|
126
|
-
toast.error(`Failed to create
|
|
138
|
+
toast.error(`Failed to create working view: ${error}`);
|
|
127
139
|
}
|
|
128
140
|
}
|
|
129
|
-
|
|
141
|
+
onSelect(workingViewId);
|
|
142
|
+
}, [workingView, viewType, createView, projectName, onSelect]);
|
|
143
|
+
const handleEditView = async (viewId) => {
|
|
144
|
+
try {
|
|
145
|
+
await onSave(viewId);
|
|
146
|
+
onSelect(viewId);
|
|
147
|
+
} catch (error) {
|
|
148
|
+
toast.error(error);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
130
151
|
const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({
|
|
131
152
|
addon: "powerpack",
|
|
132
153
|
remote: "views",
|
|
133
154
|
module: "getCustomViews",
|
|
134
|
-
fallback: getCustomViewsFallback
|
|
155
|
+
fallback: getCustomViewsFallback,
|
|
135
156
|
// minVersion: minVersion,
|
|
157
|
+
skip: !viewType
|
|
136
158
|
});
|
|
137
|
-
const { myViews, sharedViews } =
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
159
|
+
const { myViews, sharedViews } = useMemo(
|
|
160
|
+
() => getCustomViews({
|
|
161
|
+
viewsList: extendedViewsList,
|
|
162
|
+
onEdit,
|
|
163
|
+
onSelect,
|
|
164
|
+
onSave: handleEditView
|
|
165
|
+
}),
|
|
166
|
+
[viewsList, onEdit, onSelect, handleEditView]
|
|
167
|
+
);
|
|
142
168
|
const dividers = myViews.length || sharedViews.length ? [VIEW_DIVIDER] : [];
|
|
143
|
-
const
|
|
169
|
+
const workingViewItem = useMemo(
|
|
144
170
|
() => ({
|
|
145
|
-
...
|
|
146
|
-
onClick:
|
|
171
|
+
...workingBaseView,
|
|
172
|
+
onClick: handleWorkingViewChange
|
|
147
173
|
}),
|
|
148
|
-
[
|
|
174
|
+
[handleWorkingViewChange]
|
|
149
175
|
);
|
|
150
176
|
const viewItems = useMemo(
|
|
151
|
-
() => [
|
|
152
|
-
[
|
|
177
|
+
() => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],
|
|
178
|
+
[workingView, myViews, sharedViews, workingViewItem]
|
|
153
179
|
);
|
|
154
180
|
return viewItems;
|
|
155
181
|
};
|
|
156
182
|
export {
|
|
157
|
-
|
|
183
|
+
WORKING_VIEW_ID,
|
|
158
184
|
useBuildViewMenuItems as default
|
|
159
185
|
};
|
|
160
186
|
//# sourceMappingURL=useBuildViewMenuItems.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } 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 { ViewData } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n onSelect,\n onEdit,\n onSave,\n}: Props): ViewMenuItem[] => {\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 view' : 'Working view',\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 view 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 view: ${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,\n })\n\n const { myViews, sharedViews } = useMemo(\n () =>\n getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n }),\n [viewsList, onEdit, onSelect, handleEditView],\n )\n\n const dividers = myViews.length || sharedViews.length ? [VIEW_DIVIDER] : []\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n }),\n [handleWorkingViewChange],\n )\n\n const viewItems: ViewMenuItem[] = useMemo(\n () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],\n [workingView, myViews, sharedViews, workingViewItem],\n )\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["jsx","workingView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,kBAAkB;AAoB/B,MAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AAErB,QAAA,CAAC,UAAU,IAAI,sBAAsB;AAE3C,QAAM,oBAAiD;AAAA,IACrD,MACE,UAAU,IAAI,CAAC,UAAU;AAAA,MACvB,GAAG;AAAA,MACH,SAAS,KAAK,WAAU,2CAAa;AAAA,MACrC,aAAa,kBAAkB,KAAK,KAAK,SAAS;AAAA,IAAA,EAClD;AAAA,IACJ,CAAC,WAAW,aAAa,aAAa;AAAA,EACxC;AAEA,QAAM,kBAA4B;AAAA,IAChC,IAAI;AAAA,IACJ,OAAO,iBAAiB,kBAAkB;AAAA,IAC1C,cAAc,kBAAmBA,kCAAA,IAAA,MAAA,EAAK,MAAK,UAAS;AAAA,IACpD,YAAY;AAAA,EACd;AAGM,QAAA,0BAA0B,YAAY,YAAY;AACtD,QAAI,gBAAgB,2CAAa;AACjC,QAAI,CAAC,aAAa;AAEZ,UAAA;AACF,gBAAQ,KAAK,2CAA2C;AACxD,cAAMC,eAAc,oBAAoB;AACxC,cAAM,WAAW;AAAA,UACf,SAASA;AAAAA,UACT;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAEV,wBAAgBA,aAAY;AAAA,eACrB,OAAY;AACb,cAAA,MAAM,kCAAkC,KAAK,EAAE;AAAA,MAAA;AAAA,IACvD;AAGF,aAAS,aAAuB;AAAA,EAAA,GAC/B,CAAC,aAAa,UAAU,YAAY,aAAa,QAAQ,CAAC;AAEvD,QAAA,iBAAiB,OAAO,WAAmB;AAE3C,QAAA;AACF,YAAM,OAAO,MAAM;AACnB,eAAS,MAAM;AAAA,aACR,OAAY;AACnB,YAAM,MAAM,KAAK;AAAA,IAAA;AAAA,EAErB;AAEA,QAAM,CAAC,gBAAgB,EAAE,WAAW,iBAAkB,CAAA,IAAI,cAAc;AAAA,IACtE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA;AAAA,IAEV,MAAM,CAAC;AAAA,EAAA,CACR;AAEK,QAAA,EAAE,SAAS,YAAA,IAAgB;AAAA,IAC/B,MACE,eAAe;AAAA,MACb,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA,CACT;AAAA,IACH,CAAC,WAAW,QAAQ,UAAU,cAAc;AAAA,EAC9C;AAEM,QAAA,WAAW,QAAQ,UAAU,YAAY,SAAS,CAAC,YAAY,IAAI,CAAC;AAE1E,QAAM,kBAAgC;AAAA,IACpC,OAAO;AAAA,MACL,GAAG;AAAA,MACH,SAAS;AAAA,IAAA;AAAA,IAEX,CAAC,uBAAuB;AAAA,EAC1B;AAEA,QAAM,YAA4B;AAAA,IAChC,MAAM,CAAC,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ;AAAA,IAC5E,CAAC,aAAa,SAAS,aAAa,eAAe;AAAA,EACrD;AAEO,SAAA;AACT;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const useSaveViewFromCurrent = ({
|
|
5
|
+
viewType,
|
|
6
|
+
projectName,
|
|
7
|
+
sourceSettings,
|
|
8
|
+
onUpdateView
|
|
9
|
+
}) => {
|
|
10
|
+
const onSaveViewFromCurrent = React.useCallback(
|
|
11
|
+
async (viewId) => {
|
|
12
|
+
if (!viewType) {
|
|
13
|
+
throw "viewType are required for saving a view from another view";
|
|
14
|
+
}
|
|
15
|
+
if (!sourceSettings) {
|
|
16
|
+
throw "sourceView is required for saving a view from another view";
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
await onUpdateView(viewId, {
|
|
20
|
+
settings: sourceSettings
|
|
21
|
+
});
|
|
22
|
+
} catch (error) {
|
|
23
|
+
const errorMessage = typeof error === "string" ? "Failed to save view settings: " + error : "Failed to save view settings";
|
|
24
|
+
console.error(errorMessage);
|
|
25
|
+
throw errorMessage;
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
[viewType, projectName, sourceSettings]
|
|
29
|
+
);
|
|
30
|
+
return { onSaveViewFromCurrent };
|
|
31
|
+
};
|
|
32
|
+
exports.useSaveViewFromCurrent = useSaveViewFromCurrent;
|
|
33
|
+
//# sourceMappingURL=useSaveViewFromCurrent.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSaveViewFromCurrent.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(viewId, {\n settings: sourceSettings,\n })\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useCallback"],"mappings":";;;AAWO,MAAM,yBAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAa;AAEX,QAAM,wBAAwBA,MAAA;AAAA,IAC5B,OAAO,WAAmB;AACxB,UAAI,CAAC,UAAU;AACP,cAAA;AAAA,MAAA;AAIR,UAAI,CAAC,gBAAgB;AACb,cAAA;AAAA,MAAA;AAGJ,UAAA;AACF,cAAM,aAAa,QAAQ;AAAA,UACzB,UAAU;AAAA,QAAA,CACX;AAAA,eACM,OAAO;AACd,cAAM,eACJ,OAAO,UAAU,WACb,mCAAmC,QACnC;AACN,gBAAQ,MAAM,YAAY;AACpB,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,UAAU,aAAa,cAAc;AAAA,EACxC;AAEA,SAAO,EAAE,sBAAsB;AACjC;;"}
|