@ynput/ayon-frontend-shared 0.2.21 → 0.2.23
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.cjs10.js +4 -4
- 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.cjs8.js +4 -4
- package/dist/_virtual/index.cjs9.js +4 -4
- package/dist/_virtual/index.es10.js +4 -4
- 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/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +4 -4
- 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/node_modules/unified/lib/index.cjs.js +2 -2
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/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/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/vfile/lib/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/ViewsMenu/SectionHeader.cjs.js +17 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js +17 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js +37 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js +37 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js +13 -2
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js +14 -3
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js +1 -2
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js +2 -3
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +38 -6
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +39 -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 +61 -23
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +61 -23
- 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 +2 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js +2 -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/ViewsMenu/SectionHeader.d.ts +6 -0
- package/dist/types/containers/Views/ViewsMenu/SectionHeader.styled.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenu/ViewsMenu.d.ts +8 -3
- 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 +7 -6
- 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
|
@@ -45,6 +45,7 @@ import "../addons/updateAddons.es.js";
|
|
|
45
45
|
import "../attributes/getAttributes.es.js";
|
|
46
46
|
import "../attributes/updateAttributes.es.js";
|
|
47
47
|
import "../authentication/getAuthentication.es.js";
|
|
48
|
+
import "../cloud/cloud.es.js";
|
|
48
49
|
import "../entities/getEntity.es.js";
|
|
49
50
|
import "../entities/getEntityPanel.es.js";
|
|
50
51
|
import "../entities/updateEntity.es.js";
|
|
@@ -53,23 +54,23 @@ import "../entityLists/updateLists.es.js";
|
|
|
53
54
|
import "../entityLists/getListsAttributes.es.js";
|
|
54
55
|
import "../entityLists/updateListsAttributes.es.js";
|
|
55
56
|
import "../folders/getFolders.es.js";
|
|
57
|
+
import "../grouping/getGrouping.es.js";
|
|
56
58
|
import { parseAllAttribs } from "../overview/getOverview.es.js";
|
|
57
59
|
import "../overview/updateOverview.es.js";
|
|
60
|
+
import "../permissions/getPermissions.es.js";
|
|
61
|
+
import "../products/createProduct.es.js";
|
|
58
62
|
import "../project/getProject.es.js";
|
|
59
63
|
import "../project/updateProject.es.js";
|
|
60
64
|
import "../review/getReview.es.js";
|
|
61
65
|
import "../review/updateReview.es.js";
|
|
66
|
+
import "../share/share.es.js";
|
|
62
67
|
import "../system/getSystem.es.js";
|
|
63
68
|
import "../userDashboard/getUserDashboard.es.js";
|
|
64
69
|
import "./updateUsers.es.js";
|
|
65
|
-
import "../watchers/getWatchers.es.js";
|
|
66
|
-
import "../permissions/getPermissions.es.js";
|
|
67
|
-
import "../grouping/getGrouping.es.js";
|
|
68
70
|
import "../versions/updateVersions.es.js";
|
|
69
|
-
import "../products/createProduct.es.js";
|
|
70
|
-
import "../cloud/cloud.es.js";
|
|
71
71
|
import "../views/getViews.es.js";
|
|
72
72
|
import "../views/updateViews.es.js";
|
|
73
|
+
import "../watchers/getWatchers.es.js";
|
|
73
74
|
const USER_BY_NAME_QUERY = `
|
|
74
75
|
query UserList($name:String!) {
|
|
75
76
|
users(name: $name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { gqlApi, usersApi } from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\nconst enhancedApi = usersApi.enhanceEndpoints({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["usersApi","gqlApi","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { gqlApi, usersApi } from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\nconst enhancedApi = usersApi.enhanceEndpoints({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["usersApi","gqlApi","_a"],"mappings":"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"}
|
|
@@ -77,7 +77,11 @@ const getViewsApi = views.api.enhanceEndpoints({
|
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
getDefaultView: {
|
|
80
|
-
providesTags: (result, _e, { viewType, projectName }) => result ? [{ type: "view", id: result.id }, getScopeTag(viewType, projectName)] : [getScopeTag(viewType, projectName)]
|
|
80
|
+
providesTags: (result, _e, { viewType, projectName }) => result ? [{ type: "view", id: result.id }, getScopeTag(viewType, projectName)] : [getScopeTag(viewType, projectName)],
|
|
81
|
+
transformErrorResponse: (error) => {
|
|
82
|
+
var _a;
|
|
83
|
+
return (_a = error.data) == null ? void 0 : _a.detail;
|
|
84
|
+
}
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViews.cjs.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport const getScopeTag = (viewType: string, projectName?: string) => {\n return {\n type: 'view',\n id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ''}`,\n }\n}\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [\n VIEW_LIST_TAG,\n getScopeTag(viewType, projectName),\n ...result.map((v) => ({ type: 'view', id: v.id })),\n ]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getWorkingView: {\n providesTags: (result, _e, { viewType, projectName }) => [\n { type: 'view', id: result?.id },\n getScopeTag(viewType, projectName),\n VIEW_LIST_TAG,\n ],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getDefaultView: {\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [{ type: 'view', id: result.id }, getScopeTag(viewType, projectName)]\n : [getScopeTag(viewType, projectName)],\n },\n },\n})\n\nexport const {\n useListViewsQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useGetDefaultViewQuery,\n} = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGa,MAAA,cAAc,CAAC,UAAkB,gBAAyB;AAC9D,SAAA;AAAA,IACL,MAAM;AAAA,IACN,IAAI,GAAG,SAAS,YAAa,CAAA,GAAG,cAAc,IAAI,YAAY,aAAa,KAAK,EAAE;AAAA,EACpF;AACF;AAEA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,UAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBACrC,SACI;AAAA,QACE;AAAA,QACA,YAAY,UAAU,WAAW;AAAA,QACjC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK;AAAA,MACnD,IACA,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBAAkB;AAAA,QACvD,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG;AAAA,QAC/B,YAAY,UAAU,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,YAAA,MACrC,SACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"getViews.cjs.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport const getScopeTag = (viewType: string, projectName?: string) => {\n return {\n type: 'view',\n id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ''}`,\n }\n}\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [\n VIEW_LIST_TAG,\n getScopeTag(viewType, projectName),\n ...result.map((v) => ({ type: 'view', id: v.id })),\n ]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getWorkingView: {\n providesTags: (result, _e, { viewType, projectName }) => [\n { type: 'view', id: result?.id },\n getScopeTag(viewType, projectName),\n VIEW_LIST_TAG,\n ],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getDefaultView: {\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [{ type: 'view', id: result.id }, getScopeTag(viewType, projectName)]\n : [getScopeTag(viewType, projectName)],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n },\n})\n\nexport const {\n useListViewsQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useGetDefaultViewQuery,\n} = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGa,MAAA,cAAc,CAAC,UAAkB,gBAAyB;AAC9D,SAAA;AAAA,IACL,MAAM;AAAA,IACN,IAAI,GAAG,SAAS,YAAa,CAAA,GAAG,cAAc,IAAI,YAAY,aAAa,KAAK,EAAE;AAAA,EACpF;AACF;AAEA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,UAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBACrC,SACI;AAAA,QACE;AAAA,QACA,YAAY,UAAU,WAAW;AAAA,QACjC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK;AAAA,MACnD,IACA,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBAAkB;AAAA,QACvD,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG;AAAA,QAC/B,YAAY,UAAU,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,YAAA,MACrC,SACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAO,GAAA,GAAM,YAAY,UAAU,WAAW,CAAC,IACpE,CAAC,YAAY,UAAU,WAAW,CAAC;AAAA,MACzC,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IAAA;AAAA,EACtD;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;;;;;;;"}
|
|
@@ -75,7 +75,11 @@ const getViewsApi = injectedRtkApi.enhanceEndpoints({
|
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
getDefaultView: {
|
|
78
|
-
providesTags: (result, _e, { viewType, projectName }) => result ? [{ type: "view", id: result.id }, getScopeTag(viewType, projectName)] : [getScopeTag(viewType, projectName)]
|
|
78
|
+
providesTags: (result, _e, { viewType, projectName }) => result ? [{ type: "view", id: result.id }, getScopeTag(viewType, projectName)] : [getScopeTag(viewType, projectName)],
|
|
79
|
+
transformErrorResponse: (error) => {
|
|
80
|
+
var _a;
|
|
81
|
+
return (_a = error.data) == null ? void 0 : _a.detail;
|
|
82
|
+
}
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViews.es.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport const getScopeTag = (viewType: string, projectName?: string) => {\n return {\n type: 'view',\n id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ''}`,\n }\n}\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [\n VIEW_LIST_TAG,\n getScopeTag(viewType, projectName),\n ...result.map((v) => ({ type: 'view', id: v.id })),\n ]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getWorkingView: {\n providesTags: (result, _e, { viewType, projectName }) => [\n { type: 'view', id: result?.id },\n getScopeTag(viewType, projectName),\n VIEW_LIST_TAG,\n ],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getDefaultView: {\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [{ type: 'view', id: result.id }, getScopeTag(viewType, projectName)]\n : [getScopeTag(viewType, projectName)],\n },\n },\n})\n\nexport const {\n useListViewsQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useGetDefaultViewQuery,\n} = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGa,MAAA,cAAc,CAAC,UAAkB,gBAAyB;AAC9D,SAAA;AAAA,IACL,MAAM;AAAA,IACN,IAAI,GAAG,SAAS,YAAa,CAAA,GAAG,cAAc,IAAI,YAAY,aAAa,KAAK,EAAE;AAAA,EACpF;AACF;AAEA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,eAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBACrC,SACI;AAAA,QACE;AAAA,QACA,YAAY,UAAU,WAAW;AAAA,QACjC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK;AAAA,MACnD,IACA,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBAAkB;AAAA,QACvD,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG;AAAA,QAC/B,YAAY,UAAU,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,YAAA,MACrC,SACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"getViews.es.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport const getScopeTag = (viewType: string, projectName?: string) => {\n return {\n type: 'view',\n id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ''}`,\n }\n}\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [\n VIEW_LIST_TAG,\n getScopeTag(viewType, projectName),\n ...result.map((v) => ({ type: 'view', id: v.id })),\n ]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getWorkingView: {\n providesTags: (result, _e, { viewType, projectName }) => [\n { type: 'view', id: result?.id },\n getScopeTag(viewType, projectName),\n VIEW_LIST_TAG,\n ],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getDefaultView: {\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [{ type: 'view', id: result.id }, getScopeTag(viewType, projectName)]\n : [getScopeTag(viewType, projectName)],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n },\n})\n\nexport const {\n useListViewsQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useGetDefaultViewQuery,\n} = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGa,MAAA,cAAc,CAAC,UAAkB,gBAAyB;AAC9D,SAAA;AAAA,IACL,MAAM;AAAA,IACN,IAAI,GAAG,SAAS,YAAa,CAAA,GAAG,cAAc,IAAI,YAAY,aAAa,KAAK,EAAE;AAAA,EACpF;AACF;AAEA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,eAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBACrC,SACI;AAAA,QACE;AAAA,QACA,YAAY,UAAU,WAAW;AAAA,QACjC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK;AAAA,MACnD,IACA,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBAAkB;AAAA,QACvD,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG;AAAA,QAC/B,YAAY,UAAU,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,YAAA,MACrC,SACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAO,GAAA,GAAM,YAAY,UAAU,WAAW,CAAC,IACpE,CAAC,YAAY,UAAU,WAAW,CAAC;AAAA,MACzC,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IAAA;AAAA,EACtD;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;"}
|
|
@@ -61,7 +61,6 @@ const updateViewsApi = getViews.getViewsApi.enhanceEndpoints({
|
|
|
61
61
|
...existingId && { id: existingId }
|
|
62
62
|
// Keep existing ID if it exists
|
|
63
63
|
};
|
|
64
|
-
console.log("Updated working view:", updatedWorkingView);
|
|
65
64
|
Object.assign(draft, updatedWorkingView);
|
|
66
65
|
}
|
|
67
66
|
)
|
|
@@ -145,7 +144,6 @@ const updateViewsApi = getViews.getViewsApi.enhanceEndpoints({
|
|
|
145
144
|
projectName
|
|
146
145
|
})(state);
|
|
147
146
|
const view = (_a2 = listViewData == null ? void 0 : listViewData.data) == null ? void 0 : _a2.find((v) => v.id === viewId);
|
|
148
|
-
console.debug("updating default view:", viewId, "found in list:", view);
|
|
149
147
|
if (view) {
|
|
150
148
|
Object.assign(draft, view);
|
|
151
149
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateViews.cjs.js","sources":["../../../../../../src/api/queries/views/updateViews.ts"],"sourcesContent":["import { ViewListItemModel } from '@shared/api/generated'\nimport { getScopeTag, getViewsApi } from './getViews'\n\nconst updateViewsApi = getViewsApi.enhanceEndpoints({\n endpoints: {\n createView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { payload } = arg\n const state = getState()\n // @ts-expect-error - user is not typed in the state\n const user = state.user.name\n\n // Optimistically update the view list\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'listViews',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n const newView: ViewListItemModel = {\n ...payload,\n working: payload.working || false,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n position: draft.length + 1, // Add to the end of the list\n owner: user,\n editable: true,\n access: {},\n }\n if (payload.working) {\n // For working views, find and replace the existing working view\n const existingWorkingIndex = draft.findIndex((view) => view.working === true)\n if (existingWorkingIndex !== -1) {\n // Keep the existing ID but update all other properties\n const existingId = draft[existingWorkingIndex].id\n draft[existingWorkingIndex] = { ...newView, id: existingId }\n } else {\n // No existing working view, add the new one\n draft.push(newView)\n }\n } else {\n // For non-working views, add to the list as usual\n draft.push(newView)\n }\n\n // finally sort the view by position and then by label\n draft.sort((a, b) => {\n if (a.position !== b.position) {\n return a.position - b.position\n }\n return a.label.localeCompare(b.label)\n })\n },\n ),\n )\n\n // Also update the getWorkingView cache if this is a working view\n let workingViewPatch\n if (payload.working) {\n workingViewPatch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getWorkingView',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n // Preserve the existing ID if there's already a working view\n const existingId = draft?.id\n const updatedWorkingView = {\n ...payload,\n working: true,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n owner: user,\n ...(existingId && { id: existingId }), // Keep existing ID if it exists\n }\n console.log('Updated working view:', updatedWorkingView)\n // Update the working view cache with the new view data\n Object.assign(draft, updatedWorkingView)\n },\n ),\n )\n }\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic updates\n patch.undo()\n if (workingViewPatch) {\n workingViewPatch.undo()\n }\n console.error('Failed to create view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, payload }) => [\n { type: 'view', id: payload.id },\n getScopeTag(viewType, projectName),\n ],\n },\n updateView: {\n transformErrorResponse: (error: any) => error.data?.detail,\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n deleteView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {\n const { viewId, projectName, viewType } = arg\n // Optimistically remove the view from the list\n const patch = dispatch(\n getViewsApi.util.updateQueryData('listViews', { viewType, projectName }, (draft) => {\n return draft.filter((view) => view.id !== viewId)\n }),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to delete view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n setDefaultView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { setDefaultViewRequestModel, projectName, viewType } = arg\n const { viewId } = setDefaultViewRequestModel\n const state = getState()\n // get current state of default view\n const currentDefaultView = getViewsApi.endpoints.getDefaultView.select({\n viewType,\n projectName,\n })(state)\n\n // check if there is even a cache for the default view\n if (currentDefaultView?.isSuccess && currentDefaultView.data?.id) {\n // Optimistically update the default view\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getDefaultView',\n { viewType, projectName },\n (draft) => {\n if (draft) {\n // Try to find the view in the listViews cache\n const listViewData = getViewsApi.endpoints.listViews.select({\n viewType,\n projectName,\n })(state)\n const view = listViewData?.data?.find((v) => v.id === viewId)\n\n console.debug('updating default view:', viewId, 'found in list:', view)\n\n if (view) {\n // If the view is found in the listViews cache, update the getDefaultView cache with the full view data\n Object.assign(draft, view)\n } else {\n // If the view is not found, only update the ID\n draft.id = viewId\n }\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to set default view:', error)\n }\n } else {\n console.warn(\n 'No current default view found, skipping optimistic update and invalidating default view cache',\n )\n // If there is no current default view, we skip the optimistic update\n // it will be handled by the invalidation below\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the default view cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, setDefaultViewRequestModel }) => [\n { type: 'view', id: setDefaultViewRequestModel.viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n },\n})\n\nexport const {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n} = updateViewsApi\nexport { updateViewsApi as viewsQueries }\n"],"names":["getViewsApi","getScopeTag","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateViews.cjs.js","sources":["../../../../../../src/api/queries/views/updateViews.ts"],"sourcesContent":["import { ViewListItemModel } from '@shared/api/generated'\nimport { getScopeTag, getViewsApi } from './getViews'\n\nconst updateViewsApi = getViewsApi.enhanceEndpoints({\n endpoints: {\n createView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { payload } = arg\n const state = getState()\n // @ts-expect-error - user is not typed in the state\n const user = state.user.name\n\n // Optimistically update the view list\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'listViews',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n const newView: ViewListItemModel = {\n ...payload,\n working: payload.working || false,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n position: draft.length + 1, // Add to the end of the list\n owner: user,\n editable: true,\n access: {},\n }\n if (payload.working) {\n // For working views, find and replace the existing working view\n const existingWorkingIndex = draft.findIndex((view) => view.working === true)\n if (existingWorkingIndex !== -1) {\n // Keep the existing ID but update all other properties\n const existingId = draft[existingWorkingIndex].id\n draft[existingWorkingIndex] = { ...newView, id: existingId }\n } else {\n // No existing working view, add the new one\n draft.push(newView)\n }\n } else {\n // For non-working views, add to the list as usual\n draft.push(newView)\n }\n\n // finally sort the view by position and then by label\n draft.sort((a, b) => {\n if (a.position !== b.position) {\n return a.position - b.position\n }\n return a.label.localeCompare(b.label)\n })\n },\n ),\n )\n\n // Also update the getWorkingView cache if this is a working view\n let workingViewPatch\n if (payload.working) {\n workingViewPatch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getWorkingView',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n // Preserve the existing ID if there's already a working view\n const existingId = draft?.id\n const updatedWorkingView = {\n ...payload,\n working: true,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n owner: user,\n ...(existingId && { id: existingId }), // Keep existing ID if it exists\n }\n // Update the working view cache with the new view data\n Object.assign(draft, updatedWorkingView)\n },\n ),\n )\n }\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic updates\n patch.undo()\n if (workingViewPatch) {\n workingViewPatch.undo()\n }\n console.error('Failed to create view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, payload }) => [\n { type: 'view', id: payload.id },\n getScopeTag(viewType, projectName),\n ],\n },\n updateView: {\n transformErrorResponse: (error: any) => error.data?.detail,\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n deleteView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {\n const { viewId, projectName, viewType } = arg\n // Optimistically remove the view from the list\n const patch = dispatch(\n getViewsApi.util.updateQueryData('listViews', { viewType, projectName }, (draft) => {\n return draft.filter((view) => view.id !== viewId)\n }),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to delete view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n setDefaultView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { setDefaultViewRequestModel, projectName, viewType } = arg\n const { viewId } = setDefaultViewRequestModel\n const state = getState()\n // get current state of default view\n const currentDefaultView = getViewsApi.endpoints.getDefaultView.select({\n viewType,\n projectName,\n })(state)\n\n // check if there is even a cache for the default view\n if (currentDefaultView?.isSuccess && currentDefaultView.data?.id) {\n // Optimistically update the default view\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getDefaultView',\n { viewType, projectName },\n (draft) => {\n if (draft) {\n // Try to find the view in the listViews cache\n const listViewData = getViewsApi.endpoints.listViews.select({\n viewType,\n projectName,\n })(state)\n const view = listViewData?.data?.find((v) => v.id === viewId)\n\n if (view) {\n // If the view is found in the listViews cache, update the getDefaultView cache with the full view data\n Object.assign(draft, view)\n } else {\n // If the view is not found, only update the ID\n draft.id = viewId\n }\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to set default view:', error)\n }\n } else {\n console.warn(\n 'No current default view found, skipping optimistic update and invalidating default view cache',\n )\n // If there is no current default view, we skip the optimistic update\n // it will be handled by the invalidation below\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the default view cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, setDefaultViewRequestModel }) => [\n { type: 'view', id: setDefaultViewRequestModel.viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n },\n})\n\nexport const {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n} = updateViewsApi\nexport { updateViewsApi as viewsQueries }\n"],"names":["getViewsApi","getScopeTag","_a"],"mappings":"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"}
|
|
@@ -59,7 +59,6 @@ const updateViewsApi = getViewsApi.enhanceEndpoints({
|
|
|
59
59
|
...existingId && { id: existingId }
|
|
60
60
|
// Keep existing ID if it exists
|
|
61
61
|
};
|
|
62
|
-
console.log("Updated working view:", updatedWorkingView);
|
|
63
62
|
Object.assign(draft, updatedWorkingView);
|
|
64
63
|
}
|
|
65
64
|
)
|
|
@@ -143,7 +142,6 @@ const updateViewsApi = getViewsApi.enhanceEndpoints({
|
|
|
143
142
|
projectName
|
|
144
143
|
})(state);
|
|
145
144
|
const view = (_a2 = listViewData == null ? void 0 : listViewData.data) == null ? void 0 : _a2.find((v) => v.id === viewId);
|
|
146
|
-
console.debug("updating default view:", viewId, "found in list:", view);
|
|
147
145
|
if (view) {
|
|
148
146
|
Object.assign(draft, view);
|
|
149
147
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateViews.es.js","sources":["../../../../../../src/api/queries/views/updateViews.ts"],"sourcesContent":["import { ViewListItemModel } from '@shared/api/generated'\nimport { getScopeTag, getViewsApi } from './getViews'\n\nconst updateViewsApi = getViewsApi.enhanceEndpoints({\n endpoints: {\n createView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { payload } = arg\n const state = getState()\n // @ts-expect-error - user is not typed in the state\n const user = state.user.name\n\n // Optimistically update the view list\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'listViews',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n const newView: ViewListItemModel = {\n ...payload,\n working: payload.working || false,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n position: draft.length + 1, // Add to the end of the list\n owner: user,\n editable: true,\n access: {},\n }\n if (payload.working) {\n // For working views, find and replace the existing working view\n const existingWorkingIndex = draft.findIndex((view) => view.working === true)\n if (existingWorkingIndex !== -1) {\n // Keep the existing ID but update all other properties\n const existingId = draft[existingWorkingIndex].id\n draft[existingWorkingIndex] = { ...newView, id: existingId }\n } else {\n // No existing working view, add the new one\n draft.push(newView)\n }\n } else {\n // For non-working views, add to the list as usual\n draft.push(newView)\n }\n\n // finally sort the view by position and then by label\n draft.sort((a, b) => {\n if (a.position !== b.position) {\n return a.position - b.position\n }\n return a.label.localeCompare(b.label)\n })\n },\n ),\n )\n\n // Also update the getWorkingView cache if this is a working view\n let workingViewPatch\n if (payload.working) {\n workingViewPatch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getWorkingView',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n // Preserve the existing ID if there's already a working view\n const existingId = draft?.id\n const updatedWorkingView = {\n ...payload,\n working: true,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n owner: user,\n ...(existingId && { id: existingId }), // Keep existing ID if it exists\n }\n console.log('Updated working view:', updatedWorkingView)\n // Update the working view cache with the new view data\n Object.assign(draft, updatedWorkingView)\n },\n ),\n )\n }\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic updates\n patch.undo()\n if (workingViewPatch) {\n workingViewPatch.undo()\n }\n console.error('Failed to create view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, payload }) => [\n { type: 'view', id: payload.id },\n getScopeTag(viewType, projectName),\n ],\n },\n updateView: {\n transformErrorResponse: (error: any) => error.data?.detail,\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n deleteView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {\n const { viewId, projectName, viewType } = arg\n // Optimistically remove the view from the list\n const patch = dispatch(\n getViewsApi.util.updateQueryData('listViews', { viewType, projectName }, (draft) => {\n return draft.filter((view) => view.id !== viewId)\n }),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to delete view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n setDefaultView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { setDefaultViewRequestModel, projectName, viewType } = arg\n const { viewId } = setDefaultViewRequestModel\n const state = getState()\n // get current state of default view\n const currentDefaultView = getViewsApi.endpoints.getDefaultView.select({\n viewType,\n projectName,\n })(state)\n\n // check if there is even a cache for the default view\n if (currentDefaultView?.isSuccess && currentDefaultView.data?.id) {\n // Optimistically update the default view\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getDefaultView',\n { viewType, projectName },\n (draft) => {\n if (draft) {\n // Try to find the view in the listViews cache\n const listViewData = getViewsApi.endpoints.listViews.select({\n viewType,\n projectName,\n })(state)\n const view = listViewData?.data?.find((v) => v.id === viewId)\n\n console.debug('updating default view:', viewId, 'found in list:', view)\n\n if (view) {\n // If the view is found in the listViews cache, update the getDefaultView cache with the full view data\n Object.assign(draft, view)\n } else {\n // If the view is not found, only update the ID\n draft.id = viewId\n }\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to set default view:', error)\n }\n } else {\n console.warn(\n 'No current default view found, skipping optimistic update and invalidating default view cache',\n )\n // If there is no current default view, we skip the optimistic update\n // it will be handled by the invalidation below\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the default view cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, setDefaultViewRequestModel }) => [\n { type: 'view', id: setDefaultViewRequestModel.viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n },\n})\n\nexport const {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n} = updateViewsApi\nexport { updateViewsApi as viewsQueries }\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateViews.es.js","sources":["../../../../../../src/api/queries/views/updateViews.ts"],"sourcesContent":["import { ViewListItemModel } from '@shared/api/generated'\nimport { getScopeTag, getViewsApi } from './getViews'\n\nconst updateViewsApi = getViewsApi.enhanceEndpoints({\n endpoints: {\n createView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { payload } = arg\n const state = getState()\n // @ts-expect-error - user is not typed in the state\n const user = state.user.name\n\n // Optimistically update the view list\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'listViews',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n const newView: ViewListItemModel = {\n ...payload,\n working: payload.working || false,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n position: draft.length + 1, // Add to the end of the list\n owner: user,\n editable: true,\n access: {},\n }\n if (payload.working) {\n // For working views, find and replace the existing working view\n const existingWorkingIndex = draft.findIndex((view) => view.working === true)\n if (existingWorkingIndex !== -1) {\n // Keep the existing ID but update all other properties\n const existingId = draft[existingWorkingIndex].id\n draft[existingWorkingIndex] = { ...newView, id: existingId }\n } else {\n // No existing working view, add the new one\n draft.push(newView)\n }\n } else {\n // For non-working views, add to the list as usual\n draft.push(newView)\n }\n\n // finally sort the view by position and then by label\n draft.sort((a, b) => {\n if (a.position !== b.position) {\n return a.position - b.position\n }\n return a.label.localeCompare(b.label)\n })\n },\n ),\n )\n\n // Also update the getWorkingView cache if this is a working view\n let workingViewPatch\n if (payload.working) {\n workingViewPatch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getWorkingView',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n // Preserve the existing ID if there's already a working view\n const existingId = draft?.id\n const updatedWorkingView = {\n ...payload,\n working: true,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n owner: user,\n ...(existingId && { id: existingId }), // Keep existing ID if it exists\n }\n // Update the working view cache with the new view data\n Object.assign(draft, updatedWorkingView)\n },\n ),\n )\n }\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic updates\n patch.undo()\n if (workingViewPatch) {\n workingViewPatch.undo()\n }\n console.error('Failed to create view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, payload }) => [\n { type: 'view', id: payload.id },\n getScopeTag(viewType, projectName),\n ],\n },\n updateView: {\n transformErrorResponse: (error: any) => error.data?.detail,\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n deleteView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {\n const { viewId, projectName, viewType } = arg\n // Optimistically remove the view from the list\n const patch = dispatch(\n getViewsApi.util.updateQueryData('listViews', { viewType, projectName }, (draft) => {\n return draft.filter((view) => view.id !== viewId)\n }),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to delete view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n setDefaultView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { setDefaultViewRequestModel, projectName, viewType } = arg\n const { viewId } = setDefaultViewRequestModel\n const state = getState()\n // get current state of default view\n const currentDefaultView = getViewsApi.endpoints.getDefaultView.select({\n viewType,\n projectName,\n })(state)\n\n // check if there is even a cache for the default view\n if (currentDefaultView?.isSuccess && currentDefaultView.data?.id) {\n // Optimistically update the default view\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getDefaultView',\n { viewType, projectName },\n (draft) => {\n if (draft) {\n // Try to find the view in the listViews cache\n const listViewData = getViewsApi.endpoints.listViews.select({\n viewType,\n projectName,\n })(state)\n const view = listViewData?.data?.find((v) => v.id === viewId)\n\n if (view) {\n // If the view is found in the listViews cache, update the getDefaultView cache with the full view data\n Object.assign(draft, view)\n } else {\n // If the view is not found, only update the ID\n draft.id = viewId\n }\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to set default view:', error)\n }\n } else {\n console.warn(\n 'No current default view found, skipping optimistic update and invalidating default view cache',\n )\n // If there is no current default view, we skip the optimistic update\n // it will be handled by the invalidation below\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the default view cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, setDefaultViewRequestModel }) => [\n { type: 'view', id: setDefaultViewRequestModel.viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n },\n})\n\nexport const {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n} = updateViewsApi\nexport { updateViewsApi as viewsQueries }\n"],"names":["_a"],"mappings":";AAGM,MAAA,iBAAiB,YAAY,iBAAiB;AAAA,EAClD,WAAW;AAAA,IACT,YAAY;AAAA,MACV,gBAAgB,OAAO,KAAK,EAAE,UAAU,gBAAgB,eAAe;AAC/D,cAAA,EAAE,YAAY;AACpB,cAAM,QAAQ,SAAS;AAEjB,cAAA,OAAO,MAAM,KAAK;AAGxB,cAAM,QAAQ;AAAA,UACZ,YAAY,KAAK;AAAA,YACf;AAAA,YACA,EAAE,UAAU,IAAI,UAAU,aAAa,IAAI,YAAY;AAAA,YACvD,CAAC,UAAU;AACT,oBAAM,UAA6B;AAAA,gBACjC,GAAG;AAAA,gBACH,SAAS,QAAQ,WAAW;AAAA,gBAC5B,OAAO,IAAI,cAAc,YAAY;AAAA,gBACrC,YAAY;AAAA,gBACZ,UAAU,MAAM,SAAS;AAAA;AAAA,gBACzB,OAAO;AAAA,gBACP,UAAU;AAAA,gBACV,QAAQ,CAAA;AAAA,cACV;AACA,kBAAI,QAAQ,SAAS;AAEnB,sBAAM,uBAAuB,MAAM,UAAU,CAAC,SAAS,KAAK,YAAY,IAAI;AAC5E,oBAAI,yBAAyB,IAAI;AAEzB,wBAAA,aAAa,MAAM,oBAAoB,EAAE;AAC/C,wBAAM,oBAAoB,IAAI,EAAE,GAAG,SAAS,IAAI,WAAW;AAAA,gBAAA,OACtD;AAEL,wBAAM,KAAK,OAAO;AAAA,gBAAA;AAAA,cACpB,OACK;AAEL,sBAAM,KAAK,OAAO;AAAA,cAAA;AAId,oBAAA,KAAK,CAAC,GAAG,MAAM;AACf,oBAAA,EAAE,aAAa,EAAE,UAAU;AACtB,yBAAA,EAAE,WAAW,EAAE;AAAA,gBAAA;AAExB,uBAAO,EAAE,MAAM,cAAc,EAAE,KAAK;AAAA,cAAA,CACrC;AAAA,YAAA;AAAA,UACH;AAAA,QAEJ;AAGI,YAAA;AACJ,YAAI,QAAQ,SAAS;AACA,6BAAA;AAAA,YACjB,YAAY,KAAK;AAAA,cACf;AAAA,cACA,EAAE,UAAU,IAAI,UAAU,aAAa,IAAI,YAAY;AAAA,cACvD,CAAC,UAAU;AAET,sBAAM,aAAa,+BAAO;AAC1B,sBAAM,qBAAqB;AAAA,kBACzB,GAAG;AAAA,kBACH,SAAS;AAAA,kBACT,OAAO,IAAI,cAAc,YAAY;AAAA,kBACrC,YAAY;AAAA,kBACZ,OAAO;AAAA,kBACP,GAAI,cAAc,EAAE,IAAI,WAAW;AAAA;AAAA,gBACrC;AAEO,uBAAA,OAAO,OAAO,kBAAkB;AAAA,cAAA;AAAA,YACzC;AAAA,UAEJ;AAAA,QAAA;AAGE,YAAA;AACI,gBAAA;AAAA,iBACC,OAAO;AAEd,gBAAM,KAAK;AACX,cAAI,kBAAkB;AACpB,6BAAiB,KAAK;AAAA,UAAA;AAEhB,kBAAA,MAAM,0BAA0B,KAAK;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA;AAAA,MAEpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,cAAc;AAAA,QAC/D,EAAE,MAAM,QAAQ,IAAI,QAAQ,GAAG;AAAA,QAC/B,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IAErC;AAAA,IACA,YAAY;AAAA,MACV,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,MACpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,aAAa;AAAA,QAC9D,EAAE,MAAM,QAAQ,IAAI,OAAO;AAAA,QAC3B,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IAErC;AAAA,IACA,YAAY;AAAA,MACV,gBAAgB,OAAO,KAAK,EAAE,UAAU,qBAAqB;AAC3D,cAAM,EAAE,QAAQ,aAAa,SAAa,IAAA;AAE1C,cAAM,QAAQ;AAAA,UACZ,YAAY,KAAK,gBAAgB,aAAa,EAAE,UAAU,YAAA,GAAe,CAAC,UAAU;AAClF,mBAAO,MAAM,OAAO,CAAC,SAAS,KAAK,OAAO,MAAM;AAAA,UACjD,CAAA;AAAA,QACH;AAEI,YAAA;AACI,gBAAA;AAAA,iBACC,OAAO;AAEd,gBAAM,KAAK;AACH,kBAAA,MAAM,0BAA0B,KAAK;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA;AAAA,MAEpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,aAAa;AAAA,QAC9D,EAAE,MAAM,QAAQ,IAAI,OAAO;AAAA,QAC3B,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IAErC;AAAA,IACA,gBAAgB;AAAA,MACd,gBAAgB,OAAO,KAAK,EAAE,UAAU,gBAAgB,eAAe;;AACrE,cAAM,EAAE,4BAA4B,aAAa,SAAa,IAAA;AACxD,cAAA,EAAE,WAAW;AACnB,cAAM,QAAQ,SAAS;AAEvB,cAAM,qBAAqB,YAAY,UAAU,eAAe,OAAO;AAAA,UACrE;AAAA,UACA;AAAA,QACD,CAAA,EAAE,KAAK;AAGR,aAAI,yDAAoB,gBAAa,wBAAmB,SAAnB,mBAAyB,KAAI;AAEhE,gBAAM,QAAQ;AAAA,YACZ,YAAY,KAAK;AAAA,cACf;AAAA,cACA,EAAE,UAAU,YAAY;AAAA,cACxB,CAAC,UAAU;;AACT,oBAAI,OAAO;AAET,wBAAM,eAAe,YAAY,UAAU,UAAU,OAAO;AAAA,oBAC1D;AAAA,oBACA;AAAA,kBACD,CAAA,EAAE,KAAK;AACF,wBAAA,QAAOA,MAAA,6CAAc,SAAd,gBAAAA,IAAoB,KAAK,CAAC,MAAM,EAAE,OAAO;AAEtD,sBAAI,MAAM;AAED,2BAAA,OAAO,OAAO,IAAI;AAAA,kBAAA,OACpB;AAEL,0BAAM,KAAK;AAAA,kBAAA;AAAA,gBACb;AAAA,cACF;AAAA,YACF;AAAA,UAEJ;AAEI,cAAA;AACI,kBAAA;AAAA,mBACC,OAAO;AAEd,kBAAM,KAAK;AACH,oBAAA,MAAM,+BAA+B,KAAK;AAAA,UAAA;AAAA,QACpD,OACK;AACG,kBAAA;AAAA,YACN;AAAA,UACF;AAAA,QAAA;AAAA,MAIJ;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA;AAAA,MAEpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,iCAAiC;AAAA,QAClF,EAAE,MAAM,QAAQ,IAAI,2BAA2B,OAAO;AAAA,QACtD,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IACnC;AAAA,EACF;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;"}
|
|
@@ -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
|
const getEntity = 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 ayonReactComponents = require("@ynput/ayon-react-components");
|
|
79
80
|
const DetailsDialog = ({
|
|
80
81
|
projectName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsDialog.cjs.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["useGetEntityQuery","toast","jsx","Dialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DetailsDialog.cjs.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["useGetEntityQuery","toast","jsx","Dialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA0B;AAClB,QAAA;AAAA,IACJ,OAAO,CAAC;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACEA,UAAA;AAAA,IACF,EAAE,aAAa,YAAwB,UAAU,UAAU,CAAC,EAAE;AAAA,IAC9D,EAAE,MAAM,CAAC,QAAQ;AAAA,EACnB;AAEI,MAAA,WAAA;AACF,QAAI,SAAS;AACLC,oBAAAA,MAAA,MAAM,0BAA0B,KAAK,EAAE;AAAA,IAAA;AAAA,EAC/C;AAEF,MAAI,CAAC,WAAW,KAAK,SAAS,EAAU,QAAA;AAGtC,SAAAC,2BAAA,kBAAA;AAAA,IAACC,oBAAA;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAK;AAAA,MACL,OAAO,EAAE,OAAO,OAAO;AAAA,MACvB,QAAQ,GAAG,UAAU;AAAA,MAErB,4DAAC,OACE,EAAA,UAAA;AAAA,QAAA,CAAC,aAAa,CAAC,WAAW,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA,QACtD,aAAa;AAAA,QACb,WAAW;AAAA,MAAA,EACd,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
|
|
@@ -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 { useGetEntityQuery } from "../../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
|
import { Dialog } from "@ynput/ayon-react-components";
|
|
77
78
|
const DetailsDialog = ({
|
|
78
79
|
projectName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsDialog.es.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DetailsDialog.es.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA0B;AAClB,QAAA;AAAA,IACJ,OAAO,CAAC;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAAA,IACF,EAAE,aAAa,YAAwB,UAAU,UAAU,CAAC,EAAE;AAAA,IAC9D,EAAE,MAAM,CAAC,QAAQ;AAAA,EACnB;AAEI,MAAA,WAAA;AACF,QAAI,SAAS;AACL,YAAA,MAAM,0BAA0B,KAAK,EAAE;AAAA,IAAA;AAAA,EAC/C;AAEF,MAAI,CAAC,WAAW,KAAK,SAAS,EAAU,QAAA;AAGtC,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAK;AAAA,MACL,OAAO,EAAE,OAAO,OAAO;AAAA,MACvB,QAAQ,GAAG,UAAU;AAAA,MAErB,iDAAC,OACE,EAAA,UAAA;AAAA,QAAA,CAAC,aAAa,CAAC,WAAW,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA,QACtD,aAAa;AAAA,QACb,WAAW;AAAA,MAAA,EACd,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -54,6 +54,7 @@ require("../../api/queries/addons/updateAddons.cjs.js");
|
|
|
54
54
|
require("../../api/queries/attributes/getAttributes.cjs.js");
|
|
55
55
|
require("../../api/queries/attributes/updateAttributes.cjs.js");
|
|
56
56
|
require("../../api/queries/authentication/getAuthentication.cjs.js");
|
|
57
|
+
require("../../api/queries/cloud/cloud.cjs.js");
|
|
57
58
|
require("../../api/queries/entities/getEntity.cjs.js");
|
|
58
59
|
require("../../api/queries/entities/getEntityPanel.cjs.js");
|
|
59
60
|
require("../../api/queries/entities/updateEntity.cjs.js");
|
|
@@ -62,24 +63,24 @@ require("../../api/queries/entityLists/updateLists.cjs.js");
|
|
|
62
63
|
require("../../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
63
64
|
require("../../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
64
65
|
require("../../api/queries/folders/getFolders.cjs.js");
|
|
66
|
+
require("../../api/queries/grouping/getGrouping.cjs.js");
|
|
65
67
|
require("../../api/queries/overview/getOverview.cjs.js");
|
|
66
68
|
require("../../api/queries/overview/updateOverview.cjs.js");
|
|
69
|
+
require("../../api/queries/permissions/getPermissions.cjs.js");
|
|
70
|
+
require("../../api/queries/products/createProduct.cjs.js");
|
|
67
71
|
const getProject = require("../../api/queries/project/getProject.cjs.js");
|
|
68
72
|
require("../../api/queries/project/updateProject.cjs.js");
|
|
69
73
|
require("../../api/queries/review/getReview.cjs.js");
|
|
70
74
|
require("../../api/queries/review/updateReview.cjs.js");
|
|
75
|
+
require("../../api/queries/share/share.cjs.js");
|
|
71
76
|
const getSystem = require("../../api/queries/system/getSystem.cjs.js");
|
|
72
77
|
require("../../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
73
78
|
require("../../api/queries/users/getUsers.cjs.js");
|
|
74
79
|
require("../../api/queries/users/updateUsers.cjs.js");
|
|
75
|
-
require("../../api/queries/watchers/getWatchers.cjs.js");
|
|
76
|
-
require("../../api/queries/permissions/getPermissions.cjs.js");
|
|
77
|
-
require("../../api/queries/grouping/getGrouping.cjs.js");
|
|
78
80
|
require("../../api/queries/versions/updateVersions.cjs.js");
|
|
79
|
-
require("../../api/queries/products/createProduct.cjs.js");
|
|
80
|
-
require("../../api/queries/cloud/cloud.cjs.js");
|
|
81
81
|
require("../../api/queries/views/getViews.cjs.js");
|
|
82
82
|
require("../../api/queries/views/updateViews.cjs.js");
|
|
83
|
+
require("../../api/queries/watchers/getWatchers.cjs.js");
|
|
83
84
|
const DetailsPanelAttributesEditor = require("./DetailsPanelAttributesEditor.cjs.js");
|
|
84
85
|
require("../../context/RemoteModulesContext.cjs.js");
|
|
85
86
|
require("../../../../_virtual/runtime.cjs.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelAttributes.cjs.js","sources":["../../../../../src/components/DetailsPanelAttributes/DetailsPanelAttributes.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { Section } from '@ynput/ayon-react-components'\nimport { getMixedState } from '@shared/util'\nimport { useGetSiteInfoQuery, useGetProjectQuery } from '@shared/api'\nimport {\n DetailsPanelAttributesEditor,\n AttributeField,\n DetailsPanelAttributesEditorProps,\n} from './DetailsPanelAttributesEditor'\nimport { useEntityUpdate } from '@shared/hooks'\nimport { upperFirst } from 'lodash'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\ntype EntityForm = {\n id: string\n name: string\n label: string | null | undefined\n entityType: 'folder' | 'task' | 'product' | 'version'\n taskType?: string\n folderType?: string\n productType?: string\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n projectName: string\n path: string\n // attribs\n [key: string]: string | number | boolean | Date | any[] | Record<string, any> | undefined | null\n}\n\n// all fields in entity form are visible\nconst visibleFields: Array<keyof EntityForm> = [\n 'id',\n 'name',\n 'label',\n 'entityType',\n 'taskType',\n 'folderType',\n 'productType',\n 'tags',\n 'status',\n 'updatedAt',\n 'createdAt',\n 'projectName',\n 'path',\n]\n\nconst readOnlyFields: Array<keyof EntityForm> = [\n 'id',\n 'entityType',\n 'projectName',\n 'path',\n 'createdAt',\n 'updatedAt',\n]\n\nexport type DetailsPanelAttributesProps = {\n entities: DetailsPanelEntityData[]\n isLoading: boolean\n}\n\nexport const DetailsPanelAttributes = ({\n entities = [],\n isLoading,\n}: DetailsPanelAttributesProps) => {\n // form for project data\n const [mixedFields, setMixedFields] = useState<string[]>([])\n const [formData, setFormData] = useState<EntityForm | null>(null)\n\n const buildInitialForm = () => {\n // Group entity values by field name\n const valuesByField: Record<string, any[]> = {}\n // Track which fields have mixed values\n const mixedFieldsSet = new Set<string>()\n\n entities.forEach((entity) => {\n const mappedEntity: EntityForm = {\n id: entity.id,\n name: entity.name,\n label: entity.label,\n entityType: entity.entityType as 'folder' | 'task' | 'product' | 'version',\n createdAt: entity.createdAt,\n updatedAt: entity.updatedAt,\n projectName: entity.projectName,\n status: entity.status,\n tags: entity.tags || [],\n path: entity.path,\n folderType: entity.folder?.folderType,\n productType: entity.product?.productType,\n taskType: entity.task?.taskType,\n }\n\n // Process regular fields\n Object.keys(mappedEntity).forEach((key) => {\n if (visibleFields.includes(key as keyof EntityForm)) {\n valuesByField[key] = valuesByField[key] || []\n valuesByField[key].push((mappedEntity as any)[key])\n }\n })\n\n // Process attrib fields\n if (entity.attrib) {\n Object.keys(entity.attrib).forEach((key) => {\n const attribKey = `attrib.${key}`\n valuesByField[attribKey] = valuesByField[attribKey] || []\n valuesByField[attribKey].push(entity.attrib?.[key])\n })\n }\n })\n\n // Apply getMixedState to each field\n const formData = Object.entries(valuesByField).reduce((result, [key, values]) => {\n const { value, isMixed } = getMixedState(values)\n result[key] = value\n\n // Add to mixedFields if this field has mixed values\n if (isMixed) {\n mixedFieldsSet.add(key)\n }\n\n return result\n }, {} as Record<string, any>)\n\n setFormData(formData as EntityForm)\n // Update the mixedFields state with all fields that have mixed values\n setMixedFields(Array.from(mixedFieldsSet))\n }\n\n useEffect(() => {\n if (isLoading || entities.length === 0) return\n buildInitialForm()\n }, [entities, isLoading])\n\n const { data: projectData } = useGetProjectQuery(\n { projectName: formData?.projectName || '' },\n { skip: !formData?.projectName || mixedFields.includes('projectName') },\n )\n const { folderTypes = [], taskTypes = [], statuses = [], tags = [] } = projectData || {}\n\n const { data: info } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n // build the fields array for defining the schema\n const fields: AttributeField[] = useMemo(() => {\n // Create custom fields as proper AttributeModel objects\n const customFieldsData: AttributeField[] = [\n {\n name: 'name',\n data: {\n type: 'string',\n title: 'Name',\n description: 'The name of the entity, used for identification in the pipeline',\n },\n },\n {\n name: 'label',\n data: {\n type: 'string',\n title: 'Label',\n description: 'Used as a nice visual label only',\n },\n },\n {\n name: 'folderType',\n hidden: formData?.entityType !== 'folder',\n data: {\n type: 'string',\n title: 'Folder Type',\n description: 'Type of the folder',\n enum: folderTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon,\n })),\n },\n },\n {\n name: 'taskType',\n hidden: formData?.entityType !== 'task',\n data: {\n type: 'string',\n title: 'Task Type',\n description: 'Type of the task',\n enum: taskTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon,\n })),\n },\n },\n {\n name: 'status',\n data: {\n type: 'string',\n title: 'Status',\n description: 'The state the entity is in, is it approved or in progress etc.',\n enum: statuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n })),\n },\n },\n {\n name: 'tags',\n data: {\n type: 'list_of_strings',\n title: 'Tags',\n enum: tags.map((tag) => ({\n value: tag.name,\n label: tag.name,\n color: tag.color,\n })),\n },\n },\n ]\n\n // Filter API attributes based on entity type\n const apiAttributesData: AttributeField[] = formData?.entityType\n ? attributes\n .filter((attr) => attr.scope?.includes(formData.entityType))\n .map((attr) => ({\n name: 'attrib.' + attr.name,\n data: attr.data,\n }))\n : []\n\n const readOnlyFieldsData: AttributeField[] = readOnlyFields.map((field) => ({\n name: field as string,\n readonly: true,\n data: {\n type: 'string',\n title: upperFirst(field as string),\n },\n }))\n\n // Combine custom fields with API attributes\n const allFieldsData = [...customFieldsData, ...apiAttributesData, ...readOnlyFieldsData]\n const sortToTop = ['path', 'name']\n const sortedFieldsData = [...allFieldsData].sort((a, b) => {\n const aIndex = sortToTop.indexOf(a.name)\n const bIndex = sortToTop.indexOf(b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n\n return sortedFieldsData\n }, [attributes, folderTypes, taskTypes, statuses, tags, formData?.entityType])\n\n //\n let enableEditing = false\n if (\n ['task', 'folder'].includes(formData?.entityType || '') &&\n !mixedFields.includes('projectName')\n ) {\n enableEditing = true\n }\n\n const entityType = formData?.entityType || 'task'\n const projectName = formData?.projectName || ''\n\n // Setup entity update functionality\n const { updateEntity } = useEntityUpdate({\n entities: entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName || '',\n folderId: entity.folder?.id,\n users: entity.task?.assignees || [],\n })),\n entityType,\n })\n\n const handleChange: DetailsPanelAttributesEditorProps['onChange'] = (key, value) => {\n if (key.startsWith('attrib.')) {\n value = {\n [key.replace('attrib.', '')]: value,\n }\n key = 'attrib'\n }\n\n console.log('handleChange', key, value)\n\n // update the form data\n // @ts-ignore\n setFormData((prev) => ({\n ...prev,\n [key]: value,\n }))\n\n // update the entity in database\n updateEntity(key, value)\n }\n\n return (\n <Section style={{ padding: 8, overflow: 'hidden' }}>\n <DetailsPanelAttributesEditor\n fields={fields}\n form={formData || {}}\n mixedFields={mixedFields}\n isLoading={isLoading}\n enableEditing={enableEditing}\n onChange={handleChange}\n />\n </Section>\n )\n}\n"],"names":["useState","_a","formData","getMixedState","useEffect","useGetProjectQuery","useGetSiteInfoQuery","useMemo","upperFirst","useEntityUpdate","jsx","Section","DetailsPanelAttributesEditor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanelAttributes.cjs.js","sources":["../../../../../src/components/DetailsPanelAttributes/DetailsPanelAttributes.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { Section } from '@ynput/ayon-react-components'\nimport { getMixedState } from '@shared/util'\nimport { useGetSiteInfoQuery, useGetProjectQuery } from '@shared/api'\nimport {\n DetailsPanelAttributesEditor,\n AttributeField,\n DetailsPanelAttributesEditorProps,\n} from './DetailsPanelAttributesEditor'\nimport { useEntityUpdate } from '@shared/hooks'\nimport { upperFirst } from 'lodash'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\ntype EntityForm = {\n id: string\n name: string\n label: string | null | undefined\n entityType: 'folder' | 'task' | 'product' | 'version'\n taskType?: string\n folderType?: string\n productType?: string\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n projectName: string\n path: string\n // attribs\n [key: string]: string | number | boolean | Date | any[] | Record<string, any> | undefined | null\n}\n\n// all fields in entity form are visible\nconst visibleFields: Array<keyof EntityForm> = [\n 'id',\n 'name',\n 'label',\n 'entityType',\n 'taskType',\n 'folderType',\n 'productType',\n 'tags',\n 'status',\n 'updatedAt',\n 'createdAt',\n 'projectName',\n 'path',\n]\n\nconst readOnlyFields: Array<keyof EntityForm> = [\n 'id',\n 'entityType',\n 'projectName',\n 'path',\n 'createdAt',\n 'updatedAt',\n]\n\nexport type DetailsPanelAttributesProps = {\n entities: DetailsPanelEntityData[]\n isLoading: boolean\n}\n\nexport const DetailsPanelAttributes = ({\n entities = [],\n isLoading,\n}: DetailsPanelAttributesProps) => {\n // form for project data\n const [mixedFields, setMixedFields] = useState<string[]>([])\n const [formData, setFormData] = useState<EntityForm | null>(null)\n\n const buildInitialForm = () => {\n // Group entity values by field name\n const valuesByField: Record<string, any[]> = {}\n // Track which fields have mixed values\n const mixedFieldsSet = new Set<string>()\n\n entities.forEach((entity) => {\n const mappedEntity: EntityForm = {\n id: entity.id,\n name: entity.name,\n label: entity.label,\n entityType: entity.entityType as 'folder' | 'task' | 'product' | 'version',\n createdAt: entity.createdAt,\n updatedAt: entity.updatedAt,\n projectName: entity.projectName,\n status: entity.status,\n tags: entity.tags || [],\n path: entity.path,\n folderType: entity.folder?.folderType,\n productType: entity.product?.productType,\n taskType: entity.task?.taskType,\n }\n\n // Process regular fields\n Object.keys(mappedEntity).forEach((key) => {\n if (visibleFields.includes(key as keyof EntityForm)) {\n valuesByField[key] = valuesByField[key] || []\n valuesByField[key].push((mappedEntity as any)[key])\n }\n })\n\n // Process attrib fields\n if (entity.attrib) {\n Object.keys(entity.attrib).forEach((key) => {\n const attribKey = `attrib.${key}`\n valuesByField[attribKey] = valuesByField[attribKey] || []\n valuesByField[attribKey].push(entity.attrib?.[key])\n })\n }\n })\n\n // Apply getMixedState to each field\n const formData = Object.entries(valuesByField).reduce((result, [key, values]) => {\n const { value, isMixed } = getMixedState(values)\n result[key] = value\n\n // Add to mixedFields if this field has mixed values\n if (isMixed) {\n mixedFieldsSet.add(key)\n }\n\n return result\n }, {} as Record<string, any>)\n\n setFormData(formData as EntityForm)\n // Update the mixedFields state with all fields that have mixed values\n setMixedFields(Array.from(mixedFieldsSet))\n }\n\n useEffect(() => {\n if (isLoading || entities.length === 0) return\n buildInitialForm()\n }, [entities, isLoading])\n\n const { data: projectData } = useGetProjectQuery(\n { projectName: formData?.projectName || '' },\n { skip: !formData?.projectName || mixedFields.includes('projectName') },\n )\n const { folderTypes = [], taskTypes = [], statuses = [], tags = [] } = projectData || {}\n\n const { data: info } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n // build the fields array for defining the schema\n const fields: AttributeField[] = useMemo(() => {\n // Create custom fields as proper AttributeModel objects\n const customFieldsData: AttributeField[] = [\n {\n name: 'name',\n data: {\n type: 'string',\n title: 'Name',\n description: 'The name of the entity, used for identification in the pipeline',\n },\n },\n {\n name: 'label',\n data: {\n type: 'string',\n title: 'Label',\n description: 'Used as a nice visual label only',\n },\n },\n {\n name: 'folderType',\n hidden: formData?.entityType !== 'folder',\n data: {\n type: 'string',\n title: 'Folder Type',\n description: 'Type of the folder',\n enum: folderTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon,\n })),\n },\n },\n {\n name: 'taskType',\n hidden: formData?.entityType !== 'task',\n data: {\n type: 'string',\n title: 'Task Type',\n description: 'Type of the task',\n enum: taskTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon,\n })),\n },\n },\n {\n name: 'status',\n data: {\n type: 'string',\n title: 'Status',\n description: 'The state the entity is in, is it approved or in progress etc.',\n enum: statuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n })),\n },\n },\n {\n name: 'tags',\n data: {\n type: 'list_of_strings',\n title: 'Tags',\n enum: tags.map((tag) => ({\n value: tag.name,\n label: tag.name,\n color: tag.color,\n })),\n },\n },\n ]\n\n // Filter API attributes based on entity type\n const apiAttributesData: AttributeField[] = formData?.entityType\n ? attributes\n .filter((attr) => attr.scope?.includes(formData.entityType))\n .map((attr) => ({\n name: 'attrib.' + attr.name,\n data: attr.data,\n }))\n : []\n\n const readOnlyFieldsData: AttributeField[] = readOnlyFields.map((field) => ({\n name: field as string,\n readonly: true,\n data: {\n type: 'string',\n title: upperFirst(field as string),\n },\n }))\n\n // Combine custom fields with API attributes\n const allFieldsData = [...customFieldsData, ...apiAttributesData, ...readOnlyFieldsData]\n const sortToTop = ['path', 'name']\n const sortedFieldsData = [...allFieldsData].sort((a, b) => {\n const aIndex = sortToTop.indexOf(a.name)\n const bIndex = sortToTop.indexOf(b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n\n return sortedFieldsData\n }, [attributes, folderTypes, taskTypes, statuses, tags, formData?.entityType])\n\n //\n let enableEditing = false\n if (\n ['task', 'folder'].includes(formData?.entityType || '') &&\n !mixedFields.includes('projectName')\n ) {\n enableEditing = true\n }\n\n const entityType = formData?.entityType || 'task'\n const projectName = formData?.projectName || ''\n\n // Setup entity update functionality\n const { updateEntity } = useEntityUpdate({\n entities: entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName || '',\n folderId: entity.folder?.id,\n users: entity.task?.assignees || [],\n })),\n entityType,\n })\n\n const handleChange: DetailsPanelAttributesEditorProps['onChange'] = (key, value) => {\n if (key.startsWith('attrib.')) {\n value = {\n [key.replace('attrib.', '')]: value,\n }\n key = 'attrib'\n }\n\n console.log('handleChange', key, value)\n\n // update the form data\n // @ts-ignore\n setFormData((prev) => ({\n ...prev,\n [key]: value,\n }))\n\n // update the entity in database\n updateEntity(key, value)\n }\n\n return (\n <Section style={{ padding: 8, overflow: 'hidden' }}>\n <DetailsPanelAttributesEditor\n fields={fields}\n form={formData || {}}\n mixedFields={mixedFields}\n isLoading={isLoading}\n enableEditing={enableEditing}\n onChange={handleChange}\n />\n </Section>\n )\n}\n"],"names":["useState","_a","formData","getMixedState","useEffect","useGetProjectQuery","useGetSiteInfoQuery","useMemo","upperFirst","useEntityUpdate","jsx","Section","DetailsPanelAttributesEditor"],"mappings":"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"}
|
|
@@ -52,6 +52,7 @@ import "../../api/queries/addons/updateAddons.es.js";
|
|
|
52
52
|
import "../../api/queries/attributes/getAttributes.es.js";
|
|
53
53
|
import "../../api/queries/attributes/updateAttributes.es.js";
|
|
54
54
|
import "../../api/queries/authentication/getAuthentication.es.js";
|
|
55
|
+
import "../../api/queries/cloud/cloud.es.js";
|
|
55
56
|
import "../../api/queries/entities/getEntity.es.js";
|
|
56
57
|
import "../../api/queries/entities/getEntityPanel.es.js";
|
|
57
58
|
import "../../api/queries/entities/updateEntity.es.js";
|
|
@@ -60,24 +61,24 @@ import "../../api/queries/entityLists/updateLists.es.js";
|
|
|
60
61
|
import "../../api/queries/entityLists/getListsAttributes.es.js";
|
|
61
62
|
import "../../api/queries/entityLists/updateListsAttributes.es.js";
|
|
62
63
|
import "../../api/queries/folders/getFolders.es.js";
|
|
64
|
+
import "../../api/queries/grouping/getGrouping.es.js";
|
|
63
65
|
import "../../api/queries/overview/getOverview.es.js";
|
|
64
66
|
import "../../api/queries/overview/updateOverview.es.js";
|
|
67
|
+
import "../../api/queries/permissions/getPermissions.es.js";
|
|
68
|
+
import "../../api/queries/products/createProduct.es.js";
|
|
65
69
|
import { useGetProjectQuery } from "../../api/queries/project/getProject.es.js";
|
|
66
70
|
import "../../api/queries/project/updateProject.es.js";
|
|
67
71
|
import "../../api/queries/review/getReview.es.js";
|
|
68
72
|
import "../../api/queries/review/updateReview.es.js";
|
|
73
|
+
import "../../api/queries/share/share.es.js";
|
|
69
74
|
import { useGetSiteInfoQuery } from "../../api/queries/system/getSystem.es.js";
|
|
70
75
|
import "../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
71
76
|
import "../../api/queries/users/getUsers.es.js";
|
|
72
77
|
import "../../api/queries/users/updateUsers.es.js";
|
|
73
|
-
import "../../api/queries/watchers/getWatchers.es.js";
|
|
74
|
-
import "../../api/queries/permissions/getPermissions.es.js";
|
|
75
|
-
import "../../api/queries/grouping/getGrouping.es.js";
|
|
76
78
|
import "../../api/queries/versions/updateVersions.es.js";
|
|
77
|
-
import "../../api/queries/products/createProduct.es.js";
|
|
78
|
-
import "../../api/queries/cloud/cloud.es.js";
|
|
79
79
|
import "../../api/queries/views/getViews.es.js";
|
|
80
80
|
import "../../api/queries/views/updateViews.es.js";
|
|
81
|
+
import "../../api/queries/watchers/getWatchers.es.js";
|
|
81
82
|
import { DetailsPanelAttributesEditor } from "./DetailsPanelAttributesEditor.es.js";
|
|
82
83
|
import "../../context/RemoteModulesContext.es.js";
|
|
83
84
|
import "../../../../_virtual/runtime.es.js";
|