@ynput/ayon-frontend-shared 0.2.21 → 0.2.22
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 +6 -5
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +6 -5
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/_virtual/index.cjs4.js +4 -4
- package/dist/_virtual/index.cjs5.js +4 -4
- package/dist/_virtual/index.cjs6.js +2 -2
- package/dist/_virtual/index.cjs7.js +2 -2
- package/dist/_virtual/index.es4.js +4 -4
- package/dist/_virtual/index.es5.js +4 -4
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es7.js +2 -2
- package/dist/api.cjs.js +22 -19
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +8 -5
- package/dist/api.es.js.map +1 -1
- package/dist/index.cjs.js +6 -5
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +6 -5
- 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-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/src/api/base/client.cjs.js +20 -19
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +20 -19
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/access.cjs.js +8 -0
- package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/access.es.js +8 -0
- package/dist/shared/src/api/generated/access.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +6 -5
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +6 -5
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +6 -5
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +6 -5
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +6 -5
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +6 -5
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js +66 -0
- package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/share/share.es.js +66 -0
- package/dist/shared/src/api/queries/share/share.es.js.map +1 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -5
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +6 -5
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js +5 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js +5 -1
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +0 -2
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +0 -2
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +6 -5
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +6 -5
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +6 -5
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -5
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +6 -5
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +6 -5
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -5
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -5
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +6 -5
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -5
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +6 -5
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -5
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +6 -5
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -5
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +6 -5
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +6 -5
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +6 -5
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -5
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +6 -5
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +6 -5
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -5
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +6 -5
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +6 -5
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +6 -5
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +6 -5
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +6 -5
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -5
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -5
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -5
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +6 -5
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -5
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +6 -5
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +6 -5
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +6 -5
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -5
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +6 -5
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +6 -5
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +6 -5
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -5
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -5
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +6 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +6 -5
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +6 -5
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +15 -9
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +15 -9
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -5
- 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 +52 -77
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +52 -77
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +14 -8
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +14 -8
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +6 -5
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -5
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +17 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +17 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js +4 -2
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js +4 -2
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +12 -7
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +12 -7
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +33 -6
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +34 -7
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +31 -5
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +31 -5
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +16 -10
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +16 -10
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +6 -5
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +6 -5
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +45 -6
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +45 -6
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js +3 -40
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js +3 -40
- package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +6 -5
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +6 -5
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +6 -5
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -5
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +6 -5
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +6 -5
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +6 -5
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +6 -5
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +6 -5
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +6 -5
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +6 -5
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +6 -5
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +6 -5
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -5
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -5
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +6 -5
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -5
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/types/api/generated/access.d.ts +15 -0
- package/dist/types/api/generated/views.d.ts +4 -4
- package/dist/types/api/queries/index.d.ts +6 -5
- package/dist/types/api/queries/share/index.d.ts +1 -0
- package/dist/types/api/queries/share/share.d.ts +150 -0
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -15
- package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +1 -0
- package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +2 -1
- package/dist/types/containers/Views/context/ViewsContext.d.ts +3 -1
- package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
- package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +7 -0
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/containers/Views/utils/getCustomViewsFallback.d.ts +3 -3
- package/package.json +1 -1
- package/dist/types/api/generated/powerPack1.1.1Views.d.ts +0 -25
- package/dist/types/containers/Views/hooks/useOverviewViewSettings.d.ts +0 -0
|
@@ -49,6 +49,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
|
|
|
49
49
|
require("../api/queries/attributes/getAttributes.cjs.js");
|
|
50
50
|
require("../api/queries/attributes/updateAttributes.cjs.js");
|
|
51
51
|
require("../api/queries/authentication/getAuthentication.cjs.js");
|
|
52
|
+
require("../api/queries/cloud/cloud.cjs.js");
|
|
52
53
|
require("../api/queries/entities/getEntity.cjs.js");
|
|
53
54
|
require("../api/queries/entities/getEntityPanel.cjs.js");
|
|
54
55
|
require("../api/queries/entities/updateEntity.cjs.js");
|
|
@@ -57,24 +58,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
|
|
|
57
58
|
require("../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
58
59
|
require("../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
59
60
|
require("../api/queries/folders/getFolders.cjs.js");
|
|
61
|
+
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
60
62
|
require("../api/queries/overview/getOverview.cjs.js");
|
|
61
63
|
require("../api/queries/overview/updateOverview.cjs.js");
|
|
64
|
+
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
65
|
+
require("../api/queries/products/createProduct.cjs.js");
|
|
62
66
|
require("../api/queries/project/getProject.cjs.js");
|
|
63
67
|
require("../api/queries/project/updateProject.cjs.js");
|
|
64
68
|
require("../api/queries/review/getReview.cjs.js");
|
|
65
69
|
require("../api/queries/review/updateReview.cjs.js");
|
|
70
|
+
require("../api/queries/share/share.cjs.js");
|
|
66
71
|
require("../api/queries/system/getSystem.cjs.js");
|
|
67
72
|
require("../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
68
73
|
require("../api/queries/users/getUsers.cjs.js");
|
|
69
74
|
require("../api/queries/users/updateUsers.cjs.js");
|
|
70
|
-
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
71
|
-
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
72
|
-
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
73
75
|
require("../api/queries/versions/updateVersions.cjs.js");
|
|
74
|
-
require("../api/queries/products/createProduct.cjs.js");
|
|
75
|
-
require("../api/queries/cloud/cloud.cjs.js");
|
|
76
76
|
require("../api/queries/views/getViews.cjs.js");
|
|
77
77
|
require("../api/queries/views/updateViews.cjs.js");
|
|
78
|
+
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
78
79
|
const useActionTriggers = ({
|
|
79
80
|
searchParams,
|
|
80
81
|
onSetSearchParams,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActionTriggers.cjs.js","sources":["../../../../src/hooks/useActionTriggers.ts"],"sourcesContent":["import { useDispatch } from 'react-redux'\nimport customProtocolCheck from 'custom-protocol-check'\nimport { api } from '@shared/api'\n\n\nexport type ActionTriggersProps = {\n searchParams: URLSearchParams\n onSetSearchParams: (params: URLSearchParams) => void\n onNavigate: (uri: string) => void\n}\n\ninterface QueryParams {\n [key: string]: string\n}\n\ninterface ActionPayload {\n query?: QueryParams // adds query params to the URL\n uri?: string // navigates to a different page\n new_tab?: boolean // opens a new tab\n extra_download?: string // triggers a file download from a URL\n extra_clipboard?: string // copies string content to clipboard\n extra_reload?: string[] // list of tags to invalidate\n [key: string]: any\n}\n\nexport const useActionTriggers = ({\n searchParams,\n onSetSearchParams,\n onNavigate,\n}: ActionTriggersProps) => {\n const dispatch = useDispatch()\n const handleActionPayload = (actionType: string, payload: ActionPayload | null): void => {\n if (!payload) return\n\n if (actionType === 'launcher') {\n if (payload?.uri) {\n customProtocolCheck(\n payload.uri,\n () => {},\n () => {},\n 2000,\n )\n }\n } else if (actionType === 'query') {\n // Validate it is an object of key:value pairs with value being string\n const isValid = Object.values(payload.query as QueryParams).every((value) => {\n return typeof value === 'string'\n })\n\n if (!isValid) {\n throw new Error('Invalid payload: query')\n } else {\n // Add query params to URL\n for (const [key, value] of Object.entries(payload.query as QueryParams)) {\n searchParams.set(key, value)\n }\n onSetSearchParams(searchParams)\n }\n } else if (actionType === 'navigate') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: navigate')\n } else {\n // Navigate to the specified page\n onNavigate(payload.uri)\n }\n } else if (actionType === 'redirect') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: redirect')\n } else {\n const newTab = payload?.new_tab || false\n window.open(payload.uri, newTab ? '_blank' : '_self')\n }\n }\n\n //\n // Sub-actions\n //\n\n if ('extra_download' in payload) {\n // Validate it is a string\n if (typeof payload.extra_download !== 'string') {\n throw new Error('Invalid payload: extra_download')\n } else {\n // Trigger file download from the URL\n const downloadUrl = new URL(payload.extra_download, window.location.origin).href\n console.log(downloadUrl)\n // Create a hidden anchor element\n const link = document.createElement('a')\n link.href = downloadUrl\n link.target = '_blank'\n link.rel = 'noopener noreferrer'\n // Set download attribute if it's a direct file download\n // If it's an API endpoint that handles the download, this is still good\n link.download = ''\n // Append to document, click and then remove\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n }\n\n if ('extra_clipboard' in payload) {\n // Validate it is a string\n if (typeof payload.extra_clipboard !== 'string') {\n throw new Error('Invalid payload: extra_clipboard')\n } else {\n // Copy content to clipboard\n navigator.clipboard.writeText(payload.extra_clipboard).catch((err) => {\n console.error('Failed to copy text to clipboard:', err)\n })\n }\n }\n\n if ('extra_reload' in payload) {\n if (!Array.isArray(payload.extra_reload)) {\n throw new Error('Invalid payload: extra_reload')\n }\n\n if (payload.extra_reload.length) {\n dispatch(api.util.invalidateTags(payload.extra_reload))\n }\n }\n\n }\n\n return { handleActionPayload }\n}\n"],"names":["useDispatch","api"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useActionTriggers.cjs.js","sources":["../../../../src/hooks/useActionTriggers.ts"],"sourcesContent":["import { useDispatch } from 'react-redux'\nimport customProtocolCheck from 'custom-protocol-check'\nimport { api } from '@shared/api'\n\n\nexport type ActionTriggersProps = {\n searchParams: URLSearchParams\n onSetSearchParams: (params: URLSearchParams) => void\n onNavigate: (uri: string) => void\n}\n\ninterface QueryParams {\n [key: string]: string\n}\n\ninterface ActionPayload {\n query?: QueryParams // adds query params to the URL\n uri?: string // navigates to a different page\n new_tab?: boolean // opens a new tab\n extra_download?: string // triggers a file download from a URL\n extra_clipboard?: string // copies string content to clipboard\n extra_reload?: string[] // list of tags to invalidate\n [key: string]: any\n}\n\nexport const useActionTriggers = ({\n searchParams,\n onSetSearchParams,\n onNavigate,\n}: ActionTriggersProps) => {\n const dispatch = useDispatch()\n const handleActionPayload = (actionType: string, payload: ActionPayload | null): void => {\n if (!payload) return\n\n if (actionType === 'launcher') {\n if (payload?.uri) {\n customProtocolCheck(\n payload.uri,\n () => {},\n () => {},\n 2000,\n )\n }\n } else if (actionType === 'query') {\n // Validate it is an object of key:value pairs with value being string\n const isValid = Object.values(payload.query as QueryParams).every((value) => {\n return typeof value === 'string'\n })\n\n if (!isValid) {\n throw new Error('Invalid payload: query')\n } else {\n // Add query params to URL\n for (const [key, value] of Object.entries(payload.query as QueryParams)) {\n searchParams.set(key, value)\n }\n onSetSearchParams(searchParams)\n }\n } else if (actionType === 'navigate') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: navigate')\n } else {\n // Navigate to the specified page\n onNavigate(payload.uri)\n }\n } else if (actionType === 'redirect') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: redirect')\n } else {\n const newTab = payload?.new_tab || false\n window.open(payload.uri, newTab ? '_blank' : '_self')\n }\n }\n\n //\n // Sub-actions\n //\n\n if ('extra_download' in payload) {\n // Validate it is a string\n if (typeof payload.extra_download !== 'string') {\n throw new Error('Invalid payload: extra_download')\n } else {\n // Trigger file download from the URL\n const downloadUrl = new URL(payload.extra_download, window.location.origin).href\n console.log(downloadUrl)\n // Create a hidden anchor element\n const link = document.createElement('a')\n link.href = downloadUrl\n link.target = '_blank'\n link.rel = 'noopener noreferrer'\n // Set download attribute if it's a direct file download\n // If it's an API endpoint that handles the download, this is still good\n link.download = ''\n // Append to document, click and then remove\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n }\n\n if ('extra_clipboard' in payload) {\n // Validate it is a string\n if (typeof payload.extra_clipboard !== 'string') {\n throw new Error('Invalid payload: extra_clipboard')\n } else {\n // Copy content to clipboard\n navigator.clipboard.writeText(payload.extra_clipboard).catch((err) => {\n console.error('Failed to copy text to clipboard:', err)\n })\n }\n }\n\n if ('extra_reload' in payload) {\n if (!Array.isArray(payload.extra_reload)) {\n throw new Error('Invalid payload: extra_reload')\n }\n\n if (payload.extra_reload.length) {\n dispatch(api.util.invalidateTags(payload.extra_reload))\n }\n }\n\n }\n\n return { handleActionPayload }\n}\n"],"names":["useDispatch","api"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAA2B;AACzB,QAAM,WAAWA,WAAAA,YAAY;AACvB,QAAA,sBAAsB,CAAC,YAAoB,YAAwC;AACvF,QAAI,CAAC,QAAS;AAEd,QAAI,eAAe,YAAY;AAC7B,UAAI,mCAAS,KAAK;AAChB;AAAA,UACE,QAAQ;AAAA,UACR,MAAM;AAAA,UAAC;AAAA,UACP,MAAM;AAAA,UAAC;AAAA,UACP;AAAA,QACF;AAAA,MAAA;AAAA,IACF,WACS,eAAe,SAAS;AAE3B,YAAA,UAAU,OAAO,OAAO,QAAQ,KAAoB,EAAE,MAAM,CAAC,UAAU;AAC3E,eAAO,OAAO,UAAU;AAAA,MAAA,CACzB;AAED,UAAI,CAAC,SAAS;AACN,cAAA,IAAI,MAAM,wBAAwB;AAAA,MAAA,OACnC;AAEM,mBAAA,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,KAAoB,GAAG;AAC1D,uBAAA,IAAI,KAAK,KAAK;AAAA,QAAA;AAE7B,0BAAkB,YAAY;AAAA,MAAA;AAAA,IAChC,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AAEL,mBAAW,QAAQ,GAAG;AAAA,MAAA;AAAA,IACxB,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AACC,cAAA,UAAS,mCAAS,YAAW;AACnC,eAAO,KAAK,QAAQ,KAAK,SAAS,WAAW,OAAO;AAAA,MAAA;AAAA,IACtD;AAOF,QAAI,oBAAoB,SAAS;AAE3B,UAAA,OAAO,QAAQ,mBAAmB,UAAU;AACxC,cAAA,IAAI,MAAM,iCAAiC;AAAA,MAAA,OAC5C;AAEC,cAAA,cAAc,IAAI,IAAI,QAAQ,gBAAgB,OAAO,SAAS,MAAM,EAAE;AAC5E,gBAAQ,IAAI,WAAW;AAEjB,cAAA,OAAO,SAAS,cAAc,GAAG;AACvC,aAAK,OAAO;AACZ,aAAK,SAAS;AACd,aAAK,MAAM;AAGX,aAAK,WAAW;AAEP,iBAAA,KAAK,YAAY,IAAI;AAC9B,aAAK,MAAM;AACF,iBAAA,KAAK,YAAY,IAAI;AAAA,MAAA;AAAA,IAChC;AAGF,QAAI,qBAAqB,SAAS;AAE5B,UAAA,OAAO,QAAQ,oBAAoB,UAAU;AACzC,cAAA,IAAI,MAAM,kCAAkC;AAAA,MAAA,OAC7C;AAEL,kBAAU,UAAU,UAAU,QAAQ,eAAe,EAAE,MAAM,CAAC,QAAQ;AAC5D,kBAAA,MAAM,qCAAqC,GAAG;AAAA,QAAA,CACvD;AAAA,MAAA;AAAA,IACH;AAGF,QAAI,kBAAkB,SAAS;AAC7B,UAAI,CAAC,MAAM,QAAQ,QAAQ,YAAY,GAAG;AAClC,cAAA,IAAI,MAAM,+BAA+B;AAAA,MAAA;AAG7C,UAAA,QAAQ,aAAa,QAAQ;AAC/B,iBAASC,OAAI,IAAA,KAAK,eAAe,QAAQ,YAAY,CAAC;AAAA,MAAA;AAAA,IACxD;AAAA,EAGJ;AAEA,SAAO,EAAE,oBAAoB;AAC/B;;"}
|
|
@@ -47,6 +47,7 @@ import "../api/queries/addons/updateAddons.es.js";
|
|
|
47
47
|
import "../api/queries/attributes/getAttributes.es.js";
|
|
48
48
|
import "../api/queries/attributes/updateAttributes.es.js";
|
|
49
49
|
import "../api/queries/authentication/getAuthentication.es.js";
|
|
50
|
+
import "../api/queries/cloud/cloud.es.js";
|
|
50
51
|
import "../api/queries/entities/getEntity.es.js";
|
|
51
52
|
import "../api/queries/entities/getEntityPanel.es.js";
|
|
52
53
|
import "../api/queries/entities/updateEntity.es.js";
|
|
@@ -55,24 +56,24 @@ import "../api/queries/entityLists/updateLists.es.js";
|
|
|
55
56
|
import "../api/queries/entityLists/getListsAttributes.es.js";
|
|
56
57
|
import "../api/queries/entityLists/updateListsAttributes.es.js";
|
|
57
58
|
import "../api/queries/folders/getFolders.es.js";
|
|
59
|
+
import "../api/queries/grouping/getGrouping.es.js";
|
|
58
60
|
import "../api/queries/overview/getOverview.es.js";
|
|
59
61
|
import "../api/queries/overview/updateOverview.es.js";
|
|
62
|
+
import "../api/queries/permissions/getPermissions.es.js";
|
|
63
|
+
import "../api/queries/products/createProduct.es.js";
|
|
60
64
|
import "../api/queries/project/getProject.es.js";
|
|
61
65
|
import "../api/queries/project/updateProject.es.js";
|
|
62
66
|
import "../api/queries/review/getReview.es.js";
|
|
63
67
|
import "../api/queries/review/updateReview.es.js";
|
|
68
|
+
import "../api/queries/share/share.es.js";
|
|
64
69
|
import "../api/queries/system/getSystem.es.js";
|
|
65
70
|
import "../api/queries/userDashboard/getUserDashboard.es.js";
|
|
66
71
|
import "../api/queries/users/getUsers.es.js";
|
|
67
72
|
import "../api/queries/users/updateUsers.es.js";
|
|
68
|
-
import "../api/queries/watchers/getWatchers.es.js";
|
|
69
|
-
import "../api/queries/permissions/getPermissions.es.js";
|
|
70
|
-
import "../api/queries/grouping/getGrouping.es.js";
|
|
71
73
|
import "../api/queries/versions/updateVersions.es.js";
|
|
72
|
-
import "../api/queries/products/createProduct.es.js";
|
|
73
|
-
import "../api/queries/cloud/cloud.es.js";
|
|
74
74
|
import "../api/queries/views/getViews.es.js";
|
|
75
75
|
import "../api/queries/views/updateViews.es.js";
|
|
76
|
+
import "../api/queries/watchers/getWatchers.es.js";
|
|
76
77
|
const useActionTriggers = ({
|
|
77
78
|
searchParams,
|
|
78
79
|
onSetSearchParams,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActionTriggers.es.js","sources":["../../../../src/hooks/useActionTriggers.ts"],"sourcesContent":["import { useDispatch } from 'react-redux'\nimport customProtocolCheck from 'custom-protocol-check'\nimport { api } from '@shared/api'\n\n\nexport type ActionTriggersProps = {\n searchParams: URLSearchParams\n onSetSearchParams: (params: URLSearchParams) => void\n onNavigate: (uri: string) => void\n}\n\ninterface QueryParams {\n [key: string]: string\n}\n\ninterface ActionPayload {\n query?: QueryParams // adds query params to the URL\n uri?: string // navigates to a different page\n new_tab?: boolean // opens a new tab\n extra_download?: string // triggers a file download from a URL\n extra_clipboard?: string // copies string content to clipboard\n extra_reload?: string[] // list of tags to invalidate\n [key: string]: any\n}\n\nexport const useActionTriggers = ({\n searchParams,\n onSetSearchParams,\n onNavigate,\n}: ActionTriggersProps) => {\n const dispatch = useDispatch()\n const handleActionPayload = (actionType: string, payload: ActionPayload | null): void => {\n if (!payload) return\n\n if (actionType === 'launcher') {\n if (payload?.uri) {\n customProtocolCheck(\n payload.uri,\n () => {},\n () => {},\n 2000,\n )\n }\n } else if (actionType === 'query') {\n // Validate it is an object of key:value pairs with value being string\n const isValid = Object.values(payload.query as QueryParams).every((value) => {\n return typeof value === 'string'\n })\n\n if (!isValid) {\n throw new Error('Invalid payload: query')\n } else {\n // Add query params to URL\n for (const [key, value] of Object.entries(payload.query as QueryParams)) {\n searchParams.set(key, value)\n }\n onSetSearchParams(searchParams)\n }\n } else if (actionType === 'navigate') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: navigate')\n } else {\n // Navigate to the specified page\n onNavigate(payload.uri)\n }\n } else if (actionType === 'redirect') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: redirect')\n } else {\n const newTab = payload?.new_tab || false\n window.open(payload.uri, newTab ? '_blank' : '_self')\n }\n }\n\n //\n // Sub-actions\n //\n\n if ('extra_download' in payload) {\n // Validate it is a string\n if (typeof payload.extra_download !== 'string') {\n throw new Error('Invalid payload: extra_download')\n } else {\n // Trigger file download from the URL\n const downloadUrl = new URL(payload.extra_download, window.location.origin).href\n console.log(downloadUrl)\n // Create a hidden anchor element\n const link = document.createElement('a')\n link.href = downloadUrl\n link.target = '_blank'\n link.rel = 'noopener noreferrer'\n // Set download attribute if it's a direct file download\n // If it's an API endpoint that handles the download, this is still good\n link.download = ''\n // Append to document, click and then remove\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n }\n\n if ('extra_clipboard' in payload) {\n // Validate it is a string\n if (typeof payload.extra_clipboard !== 'string') {\n throw new Error('Invalid payload: extra_clipboard')\n } else {\n // Copy content to clipboard\n navigator.clipboard.writeText(payload.extra_clipboard).catch((err) => {\n console.error('Failed to copy text to clipboard:', err)\n })\n }\n }\n\n if ('extra_reload' in payload) {\n if (!Array.isArray(payload.extra_reload)) {\n throw new Error('Invalid payload: extra_reload')\n }\n\n if (payload.extra_reload.length) {\n dispatch(api.util.invalidateTags(payload.extra_reload))\n }\n }\n\n }\n\n return { handleActionPayload }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useActionTriggers.es.js","sources":["../../../../src/hooks/useActionTriggers.ts"],"sourcesContent":["import { useDispatch } from 'react-redux'\nimport customProtocolCheck from 'custom-protocol-check'\nimport { api } from '@shared/api'\n\n\nexport type ActionTriggersProps = {\n searchParams: URLSearchParams\n onSetSearchParams: (params: URLSearchParams) => void\n onNavigate: (uri: string) => void\n}\n\ninterface QueryParams {\n [key: string]: string\n}\n\ninterface ActionPayload {\n query?: QueryParams // adds query params to the URL\n uri?: string // navigates to a different page\n new_tab?: boolean // opens a new tab\n extra_download?: string // triggers a file download from a URL\n extra_clipboard?: string // copies string content to clipboard\n extra_reload?: string[] // list of tags to invalidate\n [key: string]: any\n}\n\nexport const useActionTriggers = ({\n searchParams,\n onSetSearchParams,\n onNavigate,\n}: ActionTriggersProps) => {\n const dispatch = useDispatch()\n const handleActionPayload = (actionType: string, payload: ActionPayload | null): void => {\n if (!payload) return\n\n if (actionType === 'launcher') {\n if (payload?.uri) {\n customProtocolCheck(\n payload.uri,\n () => {},\n () => {},\n 2000,\n )\n }\n } else if (actionType === 'query') {\n // Validate it is an object of key:value pairs with value being string\n const isValid = Object.values(payload.query as QueryParams).every((value) => {\n return typeof value === 'string'\n })\n\n if (!isValid) {\n throw new Error('Invalid payload: query')\n } else {\n // Add query params to URL\n for (const [key, value] of Object.entries(payload.query as QueryParams)) {\n searchParams.set(key, value)\n }\n onSetSearchParams(searchParams)\n }\n } else if (actionType === 'navigate') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: navigate')\n } else {\n // Navigate to the specified page\n onNavigate(payload.uri)\n }\n } else if (actionType === 'redirect') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: redirect')\n } else {\n const newTab = payload?.new_tab || false\n window.open(payload.uri, newTab ? '_blank' : '_self')\n }\n }\n\n //\n // Sub-actions\n //\n\n if ('extra_download' in payload) {\n // Validate it is a string\n if (typeof payload.extra_download !== 'string') {\n throw new Error('Invalid payload: extra_download')\n } else {\n // Trigger file download from the URL\n const downloadUrl = new URL(payload.extra_download, window.location.origin).href\n console.log(downloadUrl)\n // Create a hidden anchor element\n const link = document.createElement('a')\n link.href = downloadUrl\n link.target = '_blank'\n link.rel = 'noopener noreferrer'\n // Set download attribute if it's a direct file download\n // If it's an API endpoint that handles the download, this is still good\n link.download = ''\n // Append to document, click and then remove\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n }\n\n if ('extra_clipboard' in payload) {\n // Validate it is a string\n if (typeof payload.extra_clipboard !== 'string') {\n throw new Error('Invalid payload: extra_clipboard')\n } else {\n // Copy content to clipboard\n navigator.clipboard.writeText(payload.extra_clipboard).catch((err) => {\n console.error('Failed to copy text to clipboard:', err)\n })\n }\n }\n\n if ('extra_reload' in payload) {\n if (!Array.isArray(payload.extra_reload)) {\n throw new Error('Invalid payload: extra_reload')\n }\n\n if (payload.extra_reload.length) {\n dispatch(api.util.invalidateTags(payload.extra_reload))\n }\n }\n\n }\n\n return { handleActionPayload }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAA2B;AACzB,QAAM,WAAW,YAAY;AACvB,QAAA,sBAAsB,CAAC,YAAoB,YAAwC;AACvF,QAAI,CAAC,QAAS;AAEd,QAAI,eAAe,YAAY;AAC7B,UAAI,mCAAS,KAAK;AAChB;AAAA,UACE,QAAQ;AAAA,UACR,MAAM;AAAA,UAAC;AAAA,UACP,MAAM;AAAA,UAAC;AAAA,UACP;AAAA,QACF;AAAA,MAAA;AAAA,IACF,WACS,eAAe,SAAS;AAE3B,YAAA,UAAU,OAAO,OAAO,QAAQ,KAAoB,EAAE,MAAM,CAAC,UAAU;AAC3E,eAAO,OAAO,UAAU;AAAA,MAAA,CACzB;AAED,UAAI,CAAC,SAAS;AACN,cAAA,IAAI,MAAM,wBAAwB;AAAA,MAAA,OACnC;AAEM,mBAAA,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,KAAoB,GAAG;AAC1D,uBAAA,IAAI,KAAK,KAAK;AAAA,QAAA;AAE7B,0BAAkB,YAAY;AAAA,MAAA;AAAA,IAChC,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AAEL,mBAAW,QAAQ,GAAG;AAAA,MAAA;AAAA,IACxB,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AACC,cAAA,UAAS,mCAAS,YAAW;AACnC,eAAO,KAAK,QAAQ,KAAK,SAAS,WAAW,OAAO;AAAA,MAAA;AAAA,IACtD;AAOF,QAAI,oBAAoB,SAAS;AAE3B,UAAA,OAAO,QAAQ,mBAAmB,UAAU;AACxC,cAAA,IAAI,MAAM,iCAAiC;AAAA,MAAA,OAC5C;AAEC,cAAA,cAAc,IAAI,IAAI,QAAQ,gBAAgB,OAAO,SAAS,MAAM,EAAE;AAC5E,gBAAQ,IAAI,WAAW;AAEjB,cAAA,OAAO,SAAS,cAAc,GAAG;AACvC,aAAK,OAAO;AACZ,aAAK,SAAS;AACd,aAAK,MAAM;AAGX,aAAK,WAAW;AAEP,iBAAA,KAAK,YAAY,IAAI;AAC9B,aAAK,MAAM;AACF,iBAAA,KAAK,YAAY,IAAI;AAAA,MAAA;AAAA,IAChC;AAGF,QAAI,qBAAqB,SAAS;AAE5B,UAAA,OAAO,QAAQ,oBAAoB,UAAU;AACzC,cAAA,IAAI,MAAM,kCAAkC;AAAA,MAAA,OAC7C;AAEL,kBAAU,UAAU,UAAU,QAAQ,eAAe,EAAE,MAAM,CAAC,QAAQ;AAC5D,kBAAA,MAAM,qCAAqC,GAAG;AAAA,QAAA,CACvD;AAAA,MAAA;AAAA,IACH;AAGF,QAAI,kBAAkB,SAAS;AAC7B,UAAI,CAAC,MAAM,QAAQ,QAAQ,YAAY,GAAG;AAClC,cAAA,IAAI,MAAM,+BAA+B;AAAA,MAAA;AAG7C,UAAA,QAAQ,aAAa,QAAQ;AAC/B,iBAAS,IAAI,KAAK,eAAe,QAAQ,YAAY,CAAC;AAAA,MAAA;AAAA,IACxD;AAAA,EAGJ;AAEA,SAAO,EAAE,oBAAoB;AAC/B;"}
|
|
@@ -48,6 +48,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
|
|
|
48
48
|
require("../api/queries/attributes/getAttributes.cjs.js");
|
|
49
49
|
require("../api/queries/attributes/updateAttributes.cjs.js");
|
|
50
50
|
require("../api/queries/authentication/getAuthentication.cjs.js");
|
|
51
|
+
require("../api/queries/cloud/cloud.cjs.js");
|
|
51
52
|
require("../api/queries/entities/getEntity.cjs.js");
|
|
52
53
|
require("../api/queries/entities/getEntityPanel.cjs.js");
|
|
53
54
|
const updateEntity = require("../api/queries/entities/updateEntity.cjs.js");
|
|
@@ -56,24 +57,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
|
|
|
56
57
|
require("../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
57
58
|
require("../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
58
59
|
require("../api/queries/folders/getFolders.cjs.js");
|
|
60
|
+
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
59
61
|
require("../api/queries/overview/getOverview.cjs.js");
|
|
60
62
|
require("../api/queries/overview/updateOverview.cjs.js");
|
|
63
|
+
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
64
|
+
require("../api/queries/products/createProduct.cjs.js");
|
|
61
65
|
require("../api/queries/project/getProject.cjs.js");
|
|
62
66
|
require("../api/queries/project/updateProject.cjs.js");
|
|
63
67
|
require("../api/queries/review/getReview.cjs.js");
|
|
64
68
|
require("../api/queries/review/updateReview.cjs.js");
|
|
69
|
+
require("../api/queries/share/share.cjs.js");
|
|
65
70
|
require("../api/queries/system/getSystem.cjs.js");
|
|
66
71
|
require("../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
67
72
|
require("../api/queries/users/getUsers.cjs.js");
|
|
68
73
|
require("../api/queries/users/updateUsers.cjs.js");
|
|
69
|
-
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
70
|
-
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
71
|
-
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
72
74
|
require("../api/queries/versions/updateVersions.cjs.js");
|
|
73
|
-
require("../api/queries/products/createProduct.cjs.js");
|
|
74
|
-
require("../api/queries/cloud/cloud.cjs.js");
|
|
75
75
|
require("../api/queries/views/getViews.cjs.js");
|
|
76
76
|
require("../api/queries/views/updateViews.cjs.js");
|
|
77
|
+
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
77
78
|
require("../context/RemoteModulesContext.cjs.js");
|
|
78
79
|
const DetailsPanelContext = require("../context/DetailsPanelContext.cjs.js");
|
|
79
80
|
require("../context/ThumbnailUploaderContext.cjs.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityUpdate.cjs.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":["useUpdateEntitiesMutation","useDetailsPanelContext","updateEntity","toast"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useEntityUpdate.cjs.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":["useUpdateEntitiesMutation","useDetailsPanelContext","updateEntity","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAIA,uCAA0B;AAC7C,QAAA,EAAE,eAAe,IAAIC,2CAAuB;AAQ5C,QAAAC,iBAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACRC,oBAAAA,MAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAED,cAAAA,eAAa;AACxB;;"}
|
|
@@ -46,6 +46,7 @@ import "../api/queries/addons/updateAddons.es.js";
|
|
|
46
46
|
import "../api/queries/attributes/getAttributes.es.js";
|
|
47
47
|
import "../api/queries/attributes/updateAttributes.es.js";
|
|
48
48
|
import "../api/queries/authentication/getAuthentication.es.js";
|
|
49
|
+
import "../api/queries/cloud/cloud.es.js";
|
|
49
50
|
import "../api/queries/entities/getEntity.es.js";
|
|
50
51
|
import "../api/queries/entities/getEntityPanel.es.js";
|
|
51
52
|
import { useUpdateEntitiesMutation } from "../api/queries/entities/updateEntity.es.js";
|
|
@@ -54,24 +55,24 @@ import "../api/queries/entityLists/updateLists.es.js";
|
|
|
54
55
|
import "../api/queries/entityLists/getListsAttributes.es.js";
|
|
55
56
|
import "../api/queries/entityLists/updateListsAttributes.es.js";
|
|
56
57
|
import "../api/queries/folders/getFolders.es.js";
|
|
58
|
+
import "../api/queries/grouping/getGrouping.es.js";
|
|
57
59
|
import "../api/queries/overview/getOverview.es.js";
|
|
58
60
|
import "../api/queries/overview/updateOverview.es.js";
|
|
61
|
+
import "../api/queries/permissions/getPermissions.es.js";
|
|
62
|
+
import "../api/queries/products/createProduct.es.js";
|
|
59
63
|
import "../api/queries/project/getProject.es.js";
|
|
60
64
|
import "../api/queries/project/updateProject.es.js";
|
|
61
65
|
import "../api/queries/review/getReview.es.js";
|
|
62
66
|
import "../api/queries/review/updateReview.es.js";
|
|
67
|
+
import "../api/queries/share/share.es.js";
|
|
63
68
|
import "../api/queries/system/getSystem.es.js";
|
|
64
69
|
import "../api/queries/userDashboard/getUserDashboard.es.js";
|
|
65
70
|
import "../api/queries/users/getUsers.es.js";
|
|
66
71
|
import "../api/queries/users/updateUsers.es.js";
|
|
67
|
-
import "../api/queries/watchers/getWatchers.es.js";
|
|
68
|
-
import "../api/queries/permissions/getPermissions.es.js";
|
|
69
|
-
import "../api/queries/grouping/getGrouping.es.js";
|
|
70
72
|
import "../api/queries/versions/updateVersions.es.js";
|
|
71
|
-
import "../api/queries/products/createProduct.es.js";
|
|
72
|
-
import "../api/queries/cloud/cloud.es.js";
|
|
73
73
|
import "../api/queries/views/getViews.es.js";
|
|
74
74
|
import "../api/queries/views/updateViews.es.js";
|
|
75
|
+
import "../api/queries/watchers/getWatchers.es.js";
|
|
75
76
|
import "../context/RemoteModulesContext.es.js";
|
|
76
77
|
import { useDetailsPanelContext } from "../context/DetailsPanelContext.es.js";
|
|
77
78
|
import "../context/ThumbnailUploaderContext.es.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityUpdate.es.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useEntityUpdate.es.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAC7C,QAAA,EAAE,eAAe,IAAI,uBAAuB;AAQ5C,QAAA,eAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACR,YAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAE,aAAa;AACxB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLoadModule.cjs.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["module","useRemoteModules","useState","useRef","useEffect","loadRemote","remote"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"useLoadModule.cjs.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\nimport { usePowerpack } from '@shared/context'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["module","useRemoteModules","useState","useRef","useEffect","loadRemote","remote"],"mappings":";;;;;;AAgBO,MAAM,gBAAgB,CAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,QAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,MAGK;;AACH,QAAM,EAAE,oBAAoB,QAAQ,IAAIC,sCAAiB;AACzD,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,IAAI;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAA2B,KAAK;AAChE,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAS,KAAK;AAC5C,QAAA,eAAeC,aAAU,QAAQ;AAEvCC,QAAAA,UAAU,MAAM;AAEd,QAAI,MAAM;AACR,mBAAa,KAAK;AAClB,kBAAY,IAAI;AAChB;AAAA,IAAA;AAIF,QAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAACJ,QAAQ;AAGzD,UAAM,oBAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK;AAEnE,QAAI,CAAC,mBAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAAA,SAAQ;AACzD,mBAAa,KAAK;AAClB;AAAA,IAAA;AAKA,QAAA,cACA,CAAC,OAAO,IAAI,kBAAkB,cAAc,UAAU,KACtD,aAAa,WAAW,kBAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D;AAAA,QACA;AAAA,QACA,QAAAA;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU;AAAA,MAAA,CACX;AAED,oBAAc,IAAI;AAClB,mBAAa,KAAK;AAGlB;AAAA,IAAA;AAGF,kBAAc,KAAK;AAEb,UAAA,oBAAoB,kBAAkB,QAAQ,MAAM;AAE1D,QAAI,CAAC,mBAAmB;AACtB,mBAAa,KAAK;AAClB,aAAO,QAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAAA,SAAQ;AAAA,IAAA;AAIlE,QAAI,aAAaA,SAAQ;AACvB,mBAAa,KAAK;AAClB;AAAA,IAAA;AAEFK,YAAAA,eAAAA,WAA2B,GAAG,MAAM,IAAIL,OAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACM,YAAW;AACR,cAAA,IAAI,iBAAiBN,OAAM;AACnC,kBAAYA,OAAM;AAClB,mBAAa,KAAK;AACdM,UAAAA,QAAqB,cAAA,UAAUA,QAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAAC,MAAM;AACZ,mBAAa,KAAK;AAClB,cAAQ,MAAM,wBAAwB,QAAQN,SAAQ,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAAC,UAAU,oBAAoB,SAAS,OAAO,QAAQA,SAAQ,YAAY,IAAI,CAAC;AAE5E,SAAA;AAAA,IACL,aAAa;AAAA,IACb;AAAA,MACE,UAAU,aAAaA;AAAA,MACvB;AAAA,MACA,UAAU,aACN;AAAA,QACE,WAAS,aAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,MAAzC,mBAA4C,iBAAgB;AAAA,QACrE,WAAU,yCAAY,QAAQ,QAAQ,QAAO;AAAA,MAAA,IAE/C;AAAA,IAAA;AAAA,EAER;AACF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLoadModule.es.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["loadRemote","remote"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"useLoadModule.es.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\nimport { usePowerpack } from '@shared/context'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["loadRemote","remote"],"mappings":";;;;AAgBO,MAAM,gBAAgB,CAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,MAGK;;AACH,QAAM,EAAE,oBAAoB,QAAQ,IAAI,iBAAiB;AACzD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAI,SAA2B,KAAK;AAChE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAC5C,QAAA,eAAe,OAAU,QAAQ;AAEvC,YAAU,MAAM;AAEd,QAAI,MAAM;AACR,mBAAa,KAAK;AAClB,kBAAY,IAAI;AAChB;AAAA,IAAA;AAIF,QAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,OAAQ;AAGzD,UAAM,oBAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK;AAEnE,QAAI,CAAC,mBAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAQ;AACzD,mBAAa,KAAK;AAClB;AAAA,IAAA;AAKA,QAAA,cACA,CAAC,OAAO,IAAI,kBAAkB,cAAc,UAAU,KACtD,aAAa,WAAW,kBAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU;AAAA,MAAA,CACX;AAED,oBAAc,IAAI;AAClB,mBAAa,KAAK;AAGlB;AAAA,IAAA;AAGF,kBAAc,KAAK;AAEb,UAAA,oBAAoB,kBAAkB,QAAQ,MAAM;AAE1D,QAAI,CAAC,mBAAmB;AACtB,mBAAa,KAAK;AAClB,aAAO,QAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAAA;AAIlE,QAAI,aAAa,QAAQ;AACvB,mBAAa,KAAK;AAClB;AAAA,IAAA;AAEFA,mBAAAA,WAA2B,GAAG,MAAM,IAAI,MAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACC,YAAW;AACR,cAAA,IAAI,iBAAiB,MAAM;AACnC,kBAAY,MAAM;AAClB,mBAAa,KAAK;AACdA,UAAAA,QAAqB,cAAA,UAAUA,QAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAAC,MAAM;AACZ,mBAAa,KAAK;AAClB,cAAQ,MAAM,wBAAwB,QAAQ,QAAQ,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAAC,UAAU,oBAAoB,SAAS,OAAO,QAAQ,QAAQ,YAAY,IAAI,CAAC;AAE5E,SAAA;AAAA,IACL,aAAa;AAAA,IACb;AAAA,MACE,UAAU,aAAa;AAAA,MACvB;AAAA,MACA,UAAU,aACN;AAAA,QACE,WAAS,aAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,MAAzC,mBAA4C,iBAAgB;AAAA,QACrE,WAAU,yCAAY,QAAQ,QAAQ,QAAO;AAAA,MAAA,IAE/C;AAAA,IAAA;AAAA,EAER;AACF;"}
|
|
@@ -47,6 +47,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
|
|
|
47
47
|
require("../api/queries/attributes/getAttributes.cjs.js");
|
|
48
48
|
require("../api/queries/attributes/updateAttributes.cjs.js");
|
|
49
49
|
require("../api/queries/authentication/getAuthentication.cjs.js");
|
|
50
|
+
require("../api/queries/cloud/cloud.cjs.js");
|
|
50
51
|
require("../api/queries/entities/getEntity.cjs.js");
|
|
51
52
|
require("../api/queries/entities/getEntityPanel.cjs.js");
|
|
52
53
|
require("../api/queries/entities/updateEntity.cjs.js");
|
|
@@ -55,24 +56,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
|
|
|
55
56
|
require("../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
56
57
|
require("../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
57
58
|
require("../api/queries/folders/getFolders.cjs.js");
|
|
59
|
+
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
58
60
|
require("../api/queries/overview/getOverview.cjs.js");
|
|
59
61
|
require("../api/queries/overview/updateOverview.cjs.js");
|
|
62
|
+
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
63
|
+
require("../api/queries/products/createProduct.cjs.js");
|
|
60
64
|
require("../api/queries/project/getProject.cjs.js");
|
|
61
65
|
require("../api/queries/project/updateProject.cjs.js");
|
|
62
66
|
require("../api/queries/review/getReview.cjs.js");
|
|
63
67
|
require("../api/queries/review/updateReview.cjs.js");
|
|
68
|
+
require("../api/queries/share/share.cjs.js");
|
|
64
69
|
require("../api/queries/system/getSystem.cjs.js");
|
|
65
70
|
const getUserDashboard = require("../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
66
71
|
require("../api/queries/users/getUsers.cjs.js");
|
|
67
72
|
require("../api/queries/users/updateUsers.cjs.js");
|
|
68
|
-
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
69
|
-
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
70
|
-
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
71
73
|
require("../api/queries/versions/updateVersions.cjs.js");
|
|
72
|
-
require("../api/queries/products/createProduct.cjs.js");
|
|
73
|
-
require("../api/queries/cloud/cloud.cjs.js");
|
|
74
74
|
require("../api/queries/views/getViews.cjs.js");
|
|
75
75
|
require("../api/queries/views/updateViews.cjs.js");
|
|
76
|
+
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
76
77
|
const lodash = require("lodash");
|
|
77
78
|
const useScopedStatuses = (projects, entityTypes) => {
|
|
78
79
|
const response = getUserDashboard.useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScopedStatuses.cjs.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":["useGetProjectsInfoQuery","intersectionBy"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useScopedStatuses.cjs.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":["useGetProjectsInfoQuery","intersectionBy"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,oBAAoB,CAAC,UAAoB,gBAA0B;AAC9E,QAAM,WAAWA,iBAAAA,wBAAwB,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,OAAQ,CAAA,GAAG;AAEtF,MAAI,CAAC,YAAY,CAAC,SAAS,MAAM;AAC/B,WAAO,CAAC;AAAA,EAAA;AAGN,MAAA;AACJ,aAAW,QAAQ,OAAO,OAAO,SAAS,IAAI,GAAqB;AAC3D,UAAA,mBAAmB,KAAK,SAAU;AAAA,MAAO,CAAC,WAC9C,YAAY,MAAM,CAAC,SAAU;;AAAA,gBAAC,OAAO,WAAS,YAAO,UAAP,mBAAc,SAAS;AAAA,OAAM;AAAA,IAC7E;AACA,QAAI,oBAAoB,QAAW;AACf,wBAAA;AAClB;AAAA,IAAA;AAEgB,sBAAAC,OAAA,eAAe,iBAAiB,kBAAkB,MAAM;AAAA,EAAA;AAGrE,SAAA;AACT;AAEa,MAAA,wBAAwB,CAAC,UAA0B,gBAA0B;AACxF,MAAI,eAA+B,OAAO,OAAO,YAAY,CAAA,CAAE;AAE/D,MAAI,aAAa,UAAU,KAAK,aAAa,CAAC,EAAE,UAAU,QAAW;AAC5D,WAAA;AAAA,EAAA;AAGT,SAAO,aAAa,OAAO,CAAC,OAAO,YAAY,MAAM,CAAC,SAAS,GAAG,MAAO,SAAS,IAAI,CAAC,CAAC;AAC1F;;;"}
|
|
@@ -45,6 +45,7 @@ import "../api/queries/addons/updateAddons.es.js";
|
|
|
45
45
|
import "../api/queries/attributes/getAttributes.es.js";
|
|
46
46
|
import "../api/queries/attributes/updateAttributes.es.js";
|
|
47
47
|
import "../api/queries/authentication/getAuthentication.es.js";
|
|
48
|
+
import "../api/queries/cloud/cloud.es.js";
|
|
48
49
|
import "../api/queries/entities/getEntity.es.js";
|
|
49
50
|
import "../api/queries/entities/getEntityPanel.es.js";
|
|
50
51
|
import "../api/queries/entities/updateEntity.es.js";
|
|
@@ -53,24 +54,24 @@ import "../api/queries/entityLists/updateLists.es.js";
|
|
|
53
54
|
import "../api/queries/entityLists/getListsAttributes.es.js";
|
|
54
55
|
import "../api/queries/entityLists/updateListsAttributes.es.js";
|
|
55
56
|
import "../api/queries/folders/getFolders.es.js";
|
|
57
|
+
import "../api/queries/grouping/getGrouping.es.js";
|
|
56
58
|
import "../api/queries/overview/getOverview.es.js";
|
|
57
59
|
import "../api/queries/overview/updateOverview.es.js";
|
|
60
|
+
import "../api/queries/permissions/getPermissions.es.js";
|
|
61
|
+
import "../api/queries/products/createProduct.es.js";
|
|
58
62
|
import "../api/queries/project/getProject.es.js";
|
|
59
63
|
import "../api/queries/project/updateProject.es.js";
|
|
60
64
|
import "../api/queries/review/getReview.es.js";
|
|
61
65
|
import "../api/queries/review/updateReview.es.js";
|
|
66
|
+
import "../api/queries/share/share.es.js";
|
|
62
67
|
import "../api/queries/system/getSystem.es.js";
|
|
63
68
|
import { useGetProjectsInfoQuery } from "../api/queries/userDashboard/getUserDashboard.es.js";
|
|
64
69
|
import "../api/queries/users/getUsers.es.js";
|
|
65
70
|
import "../api/queries/users/updateUsers.es.js";
|
|
66
|
-
import "../api/queries/watchers/getWatchers.es.js";
|
|
67
|
-
import "../api/queries/permissions/getPermissions.es.js";
|
|
68
|
-
import "../api/queries/grouping/getGrouping.es.js";
|
|
69
71
|
import "../api/queries/versions/updateVersions.es.js";
|
|
70
|
-
import "../api/queries/products/createProduct.es.js";
|
|
71
|
-
import "../api/queries/cloud/cloud.es.js";
|
|
72
72
|
import "../api/queries/views/getViews.es.js";
|
|
73
73
|
import "../api/queries/views/updateViews.es.js";
|
|
74
|
+
import "../api/queries/watchers/getWatchers.es.js";
|
|
74
75
|
import { intersectionBy } from "lodash";
|
|
75
76
|
const useScopedStatuses = (projects, entityTypes) => {
|
|
76
77
|
const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScopedStatuses.es.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useScopedStatuses.es.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,oBAAoB,CAAC,UAAoB,gBAA0B;AAC9E,QAAM,WAAW,wBAAwB,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,OAAQ,CAAA,GAAG;AAEtF,MAAI,CAAC,YAAY,CAAC,SAAS,MAAM;AAC/B,WAAO,CAAC;AAAA,EAAA;AAGN,MAAA;AACJ,aAAW,QAAQ,OAAO,OAAO,SAAS,IAAI,GAAqB;AAC3D,UAAA,mBAAmB,KAAK,SAAU;AAAA,MAAO,CAAC,WAC9C,YAAY,MAAM,CAAC,SAAU;;AAAA,gBAAC,OAAO,WAAS,YAAO,UAAP,mBAAc,SAAS;AAAA,OAAM;AAAA,IAC7E;AACA,QAAI,oBAAoB,QAAW;AACf,wBAAA;AAClB;AAAA,IAAA;AAEgB,sBAAA,eAAe,iBAAiB,kBAAkB,MAAM;AAAA,EAAA;AAGrE,SAAA;AACT;AAEa,MAAA,wBAAwB,CAAC,UAA0B,gBAA0B;AACxF,MAAI,eAA+B,OAAO,OAAO,YAAY,CAAA,CAAE;AAE/D,MAAI,aAAa,UAAU,KAAK,aAAa,CAAC,EAAE,UAAU,QAAW;AAC5D,WAAA;AAAA,EAAA;AAGT,SAAO,aAAa,OAAO,CAAC,OAAO,YAAY,MAAM,CAAC,SAAS,GAAG,MAAO,SAAS,IAAI,CAAC,CAAC;AAC1F;"}
|
|
@@ -47,6 +47,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
|
|
|
47
47
|
require("../api/queries/attributes/getAttributes.cjs.js");
|
|
48
48
|
require("../api/queries/attributes/updateAttributes.cjs.js");
|
|
49
49
|
require("../api/queries/authentication/getAuthentication.cjs.js");
|
|
50
|
+
require("../api/queries/cloud/cloud.cjs.js");
|
|
50
51
|
require("../api/queries/entities/getEntity.cjs.js");
|
|
51
52
|
require("../api/queries/entities/getEntityPanel.cjs.js");
|
|
52
53
|
require("../api/queries/entities/updateEntity.cjs.js");
|
|
@@ -55,24 +56,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
|
|
|
55
56
|
require("../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
56
57
|
require("../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
57
58
|
require("../api/queries/folders/getFolders.cjs.js");
|
|
59
|
+
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
58
60
|
require("../api/queries/overview/getOverview.cjs.js");
|
|
59
61
|
require("../api/queries/overview/updateOverview.cjs.js");
|
|
62
|
+
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
63
|
+
require("../api/queries/products/createProduct.cjs.js");
|
|
60
64
|
require("../api/queries/project/getProject.cjs.js");
|
|
61
65
|
require("../api/queries/project/updateProject.cjs.js");
|
|
62
66
|
require("../api/queries/review/getReview.cjs.js");
|
|
63
67
|
require("../api/queries/review/updateReview.cjs.js");
|
|
68
|
+
require("../api/queries/share/share.cjs.js");
|
|
64
69
|
require("../api/queries/system/getSystem.cjs.js");
|
|
65
70
|
require("../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
66
71
|
const getUsers = require("../api/queries/users/getUsers.cjs.js");
|
|
67
72
|
const updateUsers = require("../api/queries/users/updateUsers.cjs.js");
|
|
68
|
-
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
69
|
-
require("../api/queries/permissions/getPermissions.cjs.js");
|
|
70
|
-
require("../api/queries/grouping/getGrouping.cjs.js");
|
|
71
73
|
require("../api/queries/versions/updateVersions.cjs.js");
|
|
72
|
-
require("../api/queries/products/createProduct.cjs.js");
|
|
73
|
-
require("../api/queries/cloud/cloud.cjs.js");
|
|
74
74
|
require("../api/queries/views/getViews.cjs.js");
|
|
75
75
|
require("../api/queries/views/updateViews.cjs.js");
|
|
76
|
+
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
76
77
|
const reactToastify = require("react-toastify");
|
|
77
78
|
const useUserProjectConfig = ({ selectors = [], init }) => {
|
|
78
79
|
const { data: user, isSuccess } = getUsers.useGetCurrentUserQuery();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserProjectConfig.cjs.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":["useGetCurrentUserQuery","useSetFrontendPreferencesMutation","toast"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUserProjectConfig.cjs.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":["useGetCurrentUserQuery","useSetFrontendPreferencesMutation","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAuB,CAAC,EAAE,YAAY,CAAC,GAAG,WAA0B;AAE/E,QAAM,EAAE,MAAM,MAAM,UAAA,IAAcA,SAAAA,uBAAuB;AAEzD,QAAM,EAAE,MAAM,EAAE,qBAAqB,cAAc,CAAA,MAAO,CAAA,MAAO,QAAQ,CAAC;AAE1E,QAAM,aAAa,UAChB,OAAO,CAAC,aAAa,aAAa,UAAa,aAAa,IAAI,EAChE,IAAI,CAAC,aAAa,SAAS,QAAQ,OAAO,EAAE,CAAC;AAEhD,MAAI,aAAa;AACjB,aAAW,YAAY,YAAY;AACjC,iBAAa,yCAAa;AAAA,EAAQ;AAGvB,eAAA,cAAc,QAAQ,CAAC;AAE9B,QAAA,CAAC,qBAAqB,IAAIC,8CAAkC;AAG5D,QAAA,sBAAsB,OAAO,WAAgC;;AAC7D,QAAA;AACE,UAAA,EAAC,6BAAM,MAAM,OAAM,EAAE,MAAM,EAAE,QAAQ,mBAAmB;AAGxD,UAAA,qBAAqB,EAAE,GAAG,YAAY;AAG1C,YAAM,iBAAiB,CAAC,KAAU,MAAgB,UAAoB;AAChE,YAAA,KAAK,WAAW,EAAG,QAAO,EAAE,GAAG,KAAK,GAAG,MAAM;AAEjD,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI;AACzB,cAAM,aAAY,2BAAM,WAAU,CAAC;AAE5B,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,GAAG,eAAe,WAAW,MAAM,KAAK;AAAA,QAChD;AAAA,MACF;AAGqB,2BAAA,eAAe,oBAAoB,YAAY,MAAM;AAE1E,YAAM,sBAAsB;AAAA,QAC1B,UAAU,KAAK;AAAA,QACf,WAAW;AAAA;AAAA,QAEX,sBAAsB;AAAA,MACvB,CAAA,EAAE,OAAO;AAAA,aACH,OAAY;AACnB,cAAQ,MAAM,KAAK;AACbC,oBAAAA,MAAA,OAAM,WAAM,SAAN,mBAAY,MAAM;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,CAAC,YAAY,qBAAqB,EAAE,WAAsB;AACnE;;"}
|
|
@@ -45,6 +45,7 @@ import "../api/queries/addons/updateAddons.es.js";
|
|
|
45
45
|
import "../api/queries/attributes/getAttributes.es.js";
|
|
46
46
|
import "../api/queries/attributes/updateAttributes.es.js";
|
|
47
47
|
import "../api/queries/authentication/getAuthentication.es.js";
|
|
48
|
+
import "../api/queries/cloud/cloud.es.js";
|
|
48
49
|
import "../api/queries/entities/getEntity.es.js";
|
|
49
50
|
import "../api/queries/entities/getEntityPanel.es.js";
|
|
50
51
|
import "../api/queries/entities/updateEntity.es.js";
|
|
@@ -53,24 +54,24 @@ import "../api/queries/entityLists/updateLists.es.js";
|
|
|
53
54
|
import "../api/queries/entityLists/getListsAttributes.es.js";
|
|
54
55
|
import "../api/queries/entityLists/updateListsAttributes.es.js";
|
|
55
56
|
import "../api/queries/folders/getFolders.es.js";
|
|
57
|
+
import "../api/queries/grouping/getGrouping.es.js";
|
|
56
58
|
import "../api/queries/overview/getOverview.es.js";
|
|
57
59
|
import "../api/queries/overview/updateOverview.es.js";
|
|
60
|
+
import "../api/queries/permissions/getPermissions.es.js";
|
|
61
|
+
import "../api/queries/products/createProduct.es.js";
|
|
58
62
|
import "../api/queries/project/getProject.es.js";
|
|
59
63
|
import "../api/queries/project/updateProject.es.js";
|
|
60
64
|
import "../api/queries/review/getReview.es.js";
|
|
61
65
|
import "../api/queries/review/updateReview.es.js";
|
|
66
|
+
import "../api/queries/share/share.es.js";
|
|
62
67
|
import "../api/queries/system/getSystem.es.js";
|
|
63
68
|
import "../api/queries/userDashboard/getUserDashboard.es.js";
|
|
64
69
|
import { useGetCurrentUserQuery } from "../api/queries/users/getUsers.es.js";
|
|
65
70
|
import { useSetFrontendPreferencesMutation } from "../api/queries/users/updateUsers.es.js";
|
|
66
|
-
import "../api/queries/watchers/getWatchers.es.js";
|
|
67
|
-
import "../api/queries/permissions/getPermissions.es.js";
|
|
68
|
-
import "../api/queries/grouping/getGrouping.es.js";
|
|
69
71
|
import "../api/queries/versions/updateVersions.es.js";
|
|
70
|
-
import "../api/queries/products/createProduct.es.js";
|
|
71
|
-
import "../api/queries/cloud/cloud.es.js";
|
|
72
72
|
import "../api/queries/views/getViews.es.js";
|
|
73
73
|
import "../api/queries/views/updateViews.es.js";
|
|
74
|
+
import "../api/queries/watchers/getWatchers.es.js";
|
|
74
75
|
import { toast } from "react-toastify";
|
|
75
76
|
const useUserProjectConfig = ({ selectors = [], init }) => {
|
|
76
77
|
const { data: user, isSuccess } = useGetCurrentUserQuery();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserProjectConfig.es.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUserProjectConfig.es.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAuB,CAAC,EAAE,YAAY,CAAC,GAAG,WAA0B;AAE/E,QAAM,EAAE,MAAM,MAAM,UAAA,IAAc,uBAAuB;AAEzD,QAAM,EAAE,MAAM,EAAE,qBAAqB,cAAc,CAAA,MAAO,CAAA,MAAO,QAAQ,CAAC;AAE1E,QAAM,aAAa,UAChB,OAAO,CAAC,aAAa,aAAa,UAAa,aAAa,IAAI,EAChE,IAAI,CAAC,aAAa,SAAS,QAAQ,OAAO,EAAE,CAAC;AAEhD,MAAI,aAAa;AACjB,aAAW,YAAY,YAAY;AACjC,iBAAa,yCAAa;AAAA,EAAQ;AAGvB,eAAA,cAAc,QAAQ,CAAC;AAE9B,QAAA,CAAC,qBAAqB,IAAI,kCAAkC;AAG5D,QAAA,sBAAsB,OAAO,WAAgC;;AAC7D,QAAA;AACE,UAAA,EAAC,6BAAM,MAAM,OAAM,EAAE,MAAM,EAAE,QAAQ,mBAAmB;AAGxD,UAAA,qBAAqB,EAAE,GAAG,YAAY;AAG1C,YAAM,iBAAiB,CAAC,KAAU,MAAgB,UAAoB;AAChE,YAAA,KAAK,WAAW,EAAG,QAAO,EAAE,GAAG,KAAK,GAAG,MAAM;AAEjD,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI;AACzB,cAAM,aAAY,2BAAM,WAAU,CAAC;AAE5B,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,GAAG,eAAe,WAAW,MAAM,KAAK;AAAA,QAChD;AAAA,MACF;AAGqB,2BAAA,eAAe,oBAAoB,YAAY,MAAM;AAE1E,YAAM,sBAAsB;AAAA,QAC1B,UAAU,KAAK;AAAA,QACf,WAAW;AAAA;AAAA,QAEX,sBAAsB;AAAA,MACvB,CAAA,EAAE,OAAO;AAAA,aACH,OAAY;AACnB,cAAQ,MAAM,KAAK;AACb,YAAA,OAAM,WAAM,SAAN,mBAAY,MAAM;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,CAAC,YAAY,qBAAqB,EAAE,WAAsB;AACnE;"}
|
|
@@ -5,6 +5,7 @@ declare const injectedRtkApi: import('@reduxjs/toolkit/query').Api<import('@redu
|
|
|
5
5
|
saveAccessGroup: import('@reduxjs/toolkit/query').MutationDefinition<SaveAccessGroupApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, unknown, "restApi", unknown>;
|
|
6
6
|
deleteAccessGroup: import('@reduxjs/toolkit/query').MutationDefinition<DeleteAccessGroupApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, unknown, "restApi", unknown>;
|
|
7
7
|
setProjectsAccess: import('@reduxjs/toolkit/query').MutationDefinition<SetProjectsAccessApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, any, "restApi", unknown>;
|
|
8
|
+
getShareOptions: import('@reduxjs/toolkit/query').QueryDefinition<GetShareOptionsApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, ShareOptions, "restApi", unknown>;
|
|
8
9
|
}, "restApi", string, typeof import('@reduxjs/toolkit/query').coreModuleName | typeof import('@reduxjs/toolkit/dist/query/react').reactHooksModuleName>;
|
|
9
10
|
export { injectedRtkApi as api };
|
|
10
11
|
export type GetAccessGroupSchemaApiResponse = any;
|
|
@@ -37,6 +38,10 @@ export type SetProjectsAccessApiArg = {
|
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
40
|
};
|
|
41
|
+
export type GetShareOptionsApiResponse = ShareOptions;
|
|
42
|
+
export type GetShareOptionsApiArg = {
|
|
43
|
+
projectName?: string;
|
|
44
|
+
};
|
|
40
45
|
export type AccessGroupObject = {
|
|
41
46
|
/** Name of the access group */
|
|
42
47
|
name: string;
|
|
@@ -106,3 +111,13 @@ export type Permissions = {
|
|
|
106
111
|
/** Whitelist REST endpoints a user can access */
|
|
107
112
|
endpoints?: EndpointsAccessList;
|
|
108
113
|
};
|
|
114
|
+
export type ShareOption = {
|
|
115
|
+
shareType: string;
|
|
116
|
+
value: string;
|
|
117
|
+
name: string;
|
|
118
|
+
label: string;
|
|
119
|
+
attribute?: string;
|
|
120
|
+
};
|
|
121
|
+
export type ShareOptions = {
|
|
122
|
+
options: ShareOption[];
|
|
123
|
+
};
|