@gravity-ui/querieskit 1.5.0 → 1.6.0
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/README.md +28 -0
- package/build/cjs/components/AttachmentList/AttachmentList.js +1 -0
- package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/cjs/components/QueryGraph/QueryGraph.css +70 -0
- package/build/cjs/components/QueryGraph/QueryGraph.css.map +1 -0
- package/build/cjs/components/QueryGraph/QueryGraph.d.ts +4 -0
- package/build/cjs/components/QueryGraph/QueryGraph.js +517 -0
- package/build/cjs/components/QueryGraph/QueryGraph.js.map +1 -0
- package/build/cjs/components/QueryGraph/QueryGraph.stories.d.ts +16 -0
- package/build/cjs/components/QueryGraph/QueryGraph.stories.js +339 -0
- package/build/cjs/components/QueryGraph/QueryGraph.stories.js.map +1 -0
- package/build/cjs/components/QueryGraph/helpers/layout.d.ts +9 -0
- package/build/cjs/components/QueryGraph/helpers/layout.js +138 -0
- package/build/cjs/components/QueryGraph/helpers/layout.js.map +1 -0
- package/build/cjs/components/QueryGraph/helpers/presentation.d.ts +18 -0
- package/build/cjs/components/QueryGraph/helpers/presentation.js +44 -0
- package/build/cjs/components/QueryGraph/helpers/presentation.js.map +1 -0
- package/build/cjs/components/QueryGraph/i18n/dicts.d.ts +55 -0
- package/build/cjs/components/QueryGraph/i18n/dicts.js +14 -0
- package/build/cjs/components/QueryGraph/i18n/dicts.js.map +1 -0
- package/build/cjs/components/QueryGraph/i18n/en.json +26 -0
- package/build/cjs/components/QueryGraph/i18n/index.d.ts +6 -0
- package/build/cjs/components/QueryGraph/i18n/index.js +11 -0
- package/build/cjs/components/QueryGraph/i18n/index.js.map +1 -0
- package/build/cjs/components/QueryGraph/i18n/ru.json +26 -0
- package/build/cjs/components/QueryGraph/index.d.ts +2 -0
- package/build/cjs/components/QueryGraph/index.js +13 -0
- package/build/cjs/components/QueryGraph/index.js.map +1 -0
- package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.d.ts +24 -0
- package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js +307 -0
- package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -0
- package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.d.ts +5 -0
- package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.js +242 -0
- package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.js.map +1 -0
- package/build/cjs/components/QueryGraph/internal/queryGraphIcons.d.ts +12 -0
- package/build/cjs/components/QueryGraph/internal/queryGraphIcons.js +161 -0
- package/build/cjs/components/QueryGraph/internal/queryGraphIcons.js.map +1 -0
- package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.d.ts +22 -0
- package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.js +60 -0
- package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.js.map +1 -0
- package/build/cjs/components/QueryGraph/story/largeGraphData.d.ts +3 -0
- package/build/cjs/components/QueryGraph/story/largeGraphData.js +227 -0
- package/build/cjs/components/QueryGraph/story/largeGraphData.js.map +1 -0
- package/build/cjs/components/index.d.ts +2 -0
- package/build/cjs/components/index.js +9 -1
- package/build/cjs/components/index.js.map +1 -1
- package/build/cjs/helpers/buildColumnsFromKeys.d.ts +1 -1
- package/build/cjs/helpers/buildColumnsFromKeys.js.map +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +11 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.css +13 -1
- package/build/cjs/modules/Attachments/Attachments.css.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.js +4 -4
- package/build/cjs/modules/Attachments/Attachments.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.stories.d.ts +1 -0
- package/build/cjs/modules/Attachments/Attachments.stories.js +92 -2
- package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/cjs/modules/ClustersList/ClustersList.d.ts +1 -1
- package/build/cjs/modules/ClustersList/ClustersList.js +4 -3
- package/build/cjs/modules/ClustersList/ClustersList.js.map +1 -1
- package/build/cjs/modules/HistoryHeader/HistoryHeader.js +4 -3
- package/build/cjs/modules/HistoryHeader/HistoryHeader.js.map +1 -1
- package/build/cjs/modules/HistoryRow/HistoryRow.js +12 -7
- package/build/cjs/modules/HistoryRow/HistoryRow.js.map +1 -1
- package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js +8 -5
- package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
- package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.d.ts +1 -1
- package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js +5 -5
- package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js.map +1 -1
- package/build/cjs/modules/NavigationDetail/NavigationDetail.d.ts +1 -1
- package/build/cjs/modules/NavigationDetail/NavigationDetail.js +2 -2
- package/build/cjs/modules/NavigationDetail/NavigationDetail.js.map +1 -1
- package/build/cjs/modules/NavigationHeader/NavigationHeader.d.ts +1 -1
- package/build/cjs/modules/NavigationHeader/NavigationHeader.js +2 -2
- package/build/cjs/modules/NavigationHeader/NavigationHeader.js.map +1 -1
- package/build/cjs/modules/NavigationItemsList/NavigationItemsList.d.ts +1 -1
- package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js +4 -3
- package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
- package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.d.ts +1 -1
- package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js +2 -2
- package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js.map +1 -1
- package/build/cjs/modules/NavigationMeta/NavigationMeta.js +4 -3
- package/build/cjs/modules/NavigationMeta/NavigationMeta.js.map +1 -1
- package/build/cjs/modules/NavigationMeta/i18n/index.d.ts +2 -2
- package/build/cjs/modules/NavigationPreview/NavigationPreview.d.ts +1 -1
- package/build/cjs/modules/NavigationPreview/NavigationPreview.js +6 -4
- package/build/cjs/modules/NavigationPreview/NavigationPreview.js.map +1 -1
- package/build/cjs/modules/NavigationPreview/helpers/buildPreviewColumns.d.ts +1 -1
- package/build/cjs/modules/NavigationPreview/helpers/buildPreviewColumns.js.map +1 -1
- package/build/cjs/modules/NavigationSchema/NavigationSchema.d.ts +1 -1
- package/build/cjs/modules/NavigationSchema/NavigationSchema.js +4 -3
- package/build/cjs/modules/NavigationSchema/NavigationSchema.js.map +1 -1
- package/build/cjs/modules/NavigationSchema/helpers/buildSchemaColumns.d.ts +1 -1
- package/build/cjs/modules/NavigationSchema/helpers/buildSchemaColumns.js.map +1 -1
- package/build/cjs/modules/NavigationView/NavigationView.d.ts +1 -1
- package/build/cjs/modules/NavigationView/NavigationView.js +4 -3
- package/build/cjs/modules/NavigationView/NavigationView.js.map +1 -1
- package/build/cjs/modules/NavigationView/helpers/buildViewColumns.d.ts +1 -1
- package/build/cjs/modules/NavigationView/helpers/buildViewColumns.js.map +1 -1
- package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.d.ts +1 -1
- package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.js +4 -3
- package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.js.map +1 -1
- package/build/cjs/modules/QueriesList/QueriesList.js +2 -2
- package/build/cjs/modules/QueriesList/QueriesList.js.map +1 -1
- package/build/cjs/modules/QueryProgress/QueryProgress.css +64 -0
- package/build/cjs/modules/QueryProgress/QueryProgress.css.map +1 -0
- package/build/cjs/modules/QueryProgress/QueryProgress.d.ts +4 -0
- package/build/cjs/modules/QueryProgress/QueryProgress.js +135 -0
- package/build/cjs/modules/QueryProgress/QueryProgress.js.map +1 -0
- package/build/cjs/modules/QueryProgress/QueryProgress.stories.d.ts +7 -0
- package/build/cjs/modules/QueryProgress/QueryProgress.stories.js +38 -0
- package/build/cjs/modules/QueryProgress/QueryProgress.stories.js.map +1 -0
- package/build/cjs/modules/QueryProgress/i18n/dicts.d.ts +25 -0
- package/build/cjs/modules/QueryProgress/i18n/dicts.js +14 -0
- package/build/cjs/modules/QueryProgress/i18n/dicts.js.map +1 -0
- package/build/cjs/modules/QueryProgress/i18n/en.json +11 -0
- package/build/cjs/modules/QueryProgress/i18n/index.d.ts +6 -0
- package/build/cjs/modules/QueryProgress/i18n/index.js +11 -0
- package/build/cjs/modules/QueryProgress/i18n/index.js.map +1 -0
- package/build/cjs/modules/QueryProgress/i18n/ru.json +11 -0
- package/build/cjs/modules/QueryProgress/index.d.ts +2 -0
- package/build/cjs/modules/QueryProgress/index.js +13 -0
- package/build/cjs/modules/QueryProgress/index.js.map +1 -0
- package/build/cjs/modules/QueryStatistics/i18n/index.d.ts +2 -2
- package/build/cjs/modules/RowsList/RowsList.js +4 -3
- package/build/cjs/modules/RowsList/RowsList.js.map +1 -1
- package/build/cjs/modules/SavedQueryRow/SavedQueryRow.d.ts +2 -2
- package/build/cjs/modules/SavedQueryRow/SavedQueryRow.js +6 -4
- package/build/cjs/modules/SavedQueryRow/SavedQueryRow.js.map +1 -1
- package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.d.ts +2 -2
- package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.js +4 -3
- package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.js.map +1 -1
- package/build/cjs/modules/TutorialRow/TutorialRow.d.ts +1 -1
- package/build/cjs/modules/TutorialRow/TutorialRow.js +2 -2
- package/build/cjs/modules/TutorialRow/TutorialRow.js.map +1 -1
- package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.d.ts +1 -1
- package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js +4 -3
- package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
- package/build/cjs/modules/index.d.ts +2 -0
- package/build/cjs/modules/index.js +8 -0
- package/build/cjs/modules/index.js.map +1 -1
- package/build/cjs/types/queryGraph.d.ts +87 -0
- package/build/cjs/types/queryGraph.js +6 -0
- package/build/cjs/types/queryGraph.js.map +1 -0
- package/build/cjs/widgets/DashboardCharts/DashboardCharts.js +8 -6
- package/build/cjs/widgets/DashboardCharts/DashboardCharts.js.map +1 -1
- package/build/cjs/widgets/DashboardCharts/types.d.ts +3 -3
- package/build/cjs/widgets/DashboardCharts/types.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +2 -2
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/internal/HistoryRowContent.js +6 -5
- package/build/cjs/widgets/QueriesHistory/internal/HistoryRowContent.js.map +1 -1
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.d.ts +1 -1
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js +13 -9
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
- package/build/cjs/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js +2 -2
- package/build/cjs/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js.map +1 -1
- package/build/cjs/widgets/QueriesNavigation/helpers/createTableDetailConfig.js +8 -5
- package/build/cjs/widgets/QueriesNavigation/helpers/createTableDetailConfig.js.map +1 -1
- package/build/cjs/widgets/QueryResults/QueryResults.js +2 -2
- package/build/cjs/widgets/QueryResults/QueryResults.js.map +1 -1
- package/build/cjs/widgets/QueryResults/i18n/index.d.ts +2 -2
- package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js +4 -3
- package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -1
- package/build/cjs/widgets/SavedQueries/SavedQueries.d.ts +2 -2
- package/build/cjs/widgets/SavedQueries/SavedQueries.js +2 -2
- package/build/cjs/widgets/SavedQueries/SavedQueries.js.map +1 -1
- package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.d.ts +2 -2
- package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.js +6 -5
- package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.js.map +1 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.d.ts +2 -2
- package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js +6 -5
- package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.d.ts +2 -2
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js +6 -4
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
- package/build/esm/components/AttachmentList/AttachmentList.js +1 -0
- package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/esm/components/QueryGraph/QueryGraph.css +70 -0
- package/build/esm/components/QueryGraph/QueryGraph.css.map +1 -0
- package/build/esm/components/QueryGraph/QueryGraph.d.ts +4 -0
- package/build/esm/components/QueryGraph/QueryGraph.js +510 -0
- package/build/esm/components/QueryGraph/QueryGraph.js.map +1 -0
- package/build/esm/components/QueryGraph/QueryGraph.scss +81 -0
- package/build/esm/components/QueryGraph/QueryGraph.stories.d.ts +16 -0
- package/build/esm/components/QueryGraph/QueryGraph.stories.js +331 -0
- package/build/esm/components/QueryGraph/QueryGraph.stories.js.map +1 -0
- package/build/esm/components/QueryGraph/helpers/layout.d.ts +9 -0
- package/build/esm/components/QueryGraph/helpers/layout.js +128 -0
- package/build/esm/components/QueryGraph/helpers/layout.js.map +1 -0
- package/build/esm/components/QueryGraph/helpers/presentation.d.ts +18 -0
- package/build/esm/components/QueryGraph/helpers/presentation.js +35 -0
- package/build/esm/components/QueryGraph/helpers/presentation.js.map +1 -0
- package/build/esm/components/QueryGraph/i18n/dicts.d.ts +55 -0
- package/build/esm/components/QueryGraph/i18n/dicts.js +7 -0
- package/build/esm/components/QueryGraph/i18n/dicts.js.map +1 -0
- package/build/esm/components/QueryGraph/i18n/en.json +26 -0
- package/build/esm/components/QueryGraph/i18n/index.d.ts +6 -0
- package/build/esm/components/QueryGraph/i18n/index.js +4 -0
- package/build/esm/components/QueryGraph/i18n/index.js.map +1 -0
- package/build/esm/components/QueryGraph/i18n/ru.json +26 -0
- package/build/esm/components/QueryGraph/index.d.ts +2 -0
- package/build/esm/components/QueryGraph/index.js +2 -0
- package/build/esm/components/QueryGraph/index.js.map +1 -0
- package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.d.ts +24 -0
- package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js +299 -0
- package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -0
- package/build/esm/components/QueryGraph/internal/QueryGraphPopup.d.ts +5 -0
- package/build/esm/components/QueryGraph/internal/QueryGraphPopup.js +234 -0
- package/build/esm/components/QueryGraph/internal/QueryGraphPopup.js.map +1 -0
- package/build/esm/components/QueryGraph/internal/queryGraphIcons.d.ts +12 -0
- package/build/esm/components/QueryGraph/internal/queryGraphIcons.js +150 -0
- package/build/esm/components/QueryGraph/internal/queryGraphIcons.js.map +1 -0
- package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.d.ts +22 -0
- package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.js +53 -0
- package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.js.map +1 -0
- package/build/esm/components/QueryGraph/story/largeGraphData.d.ts +3 -0
- package/build/esm/components/QueryGraph/story/largeGraphData.js +220 -0
- package/build/esm/components/QueryGraph/story/largeGraphData.js.map +1 -0
- package/build/esm/components/index.d.ts +2 -0
- package/build/esm/components/index.js +1 -0
- package/build/esm/components/index.js.map +1 -1
- package/build/esm/helpers/buildColumnsFromKeys.d.ts +1 -1
- package/build/esm/helpers/buildColumnsFromKeys.js.map +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.css +13 -1
- package/build/esm/modules/Attachments/Attachments.css.map +1 -1
- package/build/esm/modules/Attachments/Attachments.js +5 -5
- package/build/esm/modules/Attachments/Attachments.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.scss +13 -1
- package/build/esm/modules/Attachments/Attachments.stories.d.ts +1 -0
- package/build/esm/modules/Attachments/Attachments.stories.js +91 -1
- package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/esm/modules/ClustersList/ClustersList.d.ts +1 -1
- package/build/esm/modules/ClustersList/ClustersList.js +2 -1
- package/build/esm/modules/ClustersList/ClustersList.js.map +1 -1
- package/build/esm/modules/HistoryHeader/HistoryHeader.js +2 -1
- package/build/esm/modules/HistoryHeader/HistoryHeader.js.map +1 -1
- package/build/esm/modules/HistoryRow/HistoryRow.js +6 -1
- package/build/esm/modules/HistoryRow/HistoryRow.js.map +1 -1
- package/build/esm/modules/HistorySearchRow/HistorySearchRow.js +4 -1
- package/build/esm/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
- package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.d.ts +1 -1
- package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js +1 -1
- package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js.map +1 -1
- package/build/esm/modules/NavigationDetail/NavigationDetail.d.ts +1 -1
- package/build/esm/modules/NavigationDetail/NavigationDetail.js +1 -1
- package/build/esm/modules/NavigationDetail/NavigationDetail.js.map +1 -1
- package/build/esm/modules/NavigationHeader/NavigationHeader.d.ts +1 -1
- package/build/esm/modules/NavigationHeader/NavigationHeader.js +1 -1
- package/build/esm/modules/NavigationHeader/NavigationHeader.js.map +1 -1
- package/build/esm/modules/NavigationItemsList/NavigationItemsList.d.ts +1 -1
- package/build/esm/modules/NavigationItemsList/NavigationItemsList.js +2 -1
- package/build/esm/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
- package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.d.ts +1 -1
- package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js +1 -1
- package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js.map +1 -1
- package/build/esm/modules/NavigationMeta/NavigationMeta.js +2 -1
- package/build/esm/modules/NavigationMeta/NavigationMeta.js.map +1 -1
- package/build/esm/modules/NavigationMeta/i18n/index.d.ts +2 -2
- package/build/esm/modules/NavigationPreview/NavigationPreview.d.ts +1 -1
- package/build/esm/modules/NavigationPreview/NavigationPreview.js +3 -1
- package/build/esm/modules/NavigationPreview/NavigationPreview.js.map +1 -1
- package/build/esm/modules/NavigationPreview/helpers/buildPreviewColumns.d.ts +1 -1
- package/build/esm/modules/NavigationPreview/helpers/buildPreviewColumns.js.map +1 -1
- package/build/esm/modules/NavigationSchema/NavigationSchema.d.ts +1 -1
- package/build/esm/modules/NavigationSchema/NavigationSchema.js +2 -1
- package/build/esm/modules/NavigationSchema/NavigationSchema.js.map +1 -1
- package/build/esm/modules/NavigationSchema/helpers/buildSchemaColumns.d.ts +1 -1
- package/build/esm/modules/NavigationSchema/helpers/buildSchemaColumns.js.map +1 -1
- package/build/esm/modules/NavigationView/NavigationView.d.ts +1 -1
- package/build/esm/modules/NavigationView/NavigationView.js +2 -1
- package/build/esm/modules/NavigationView/NavigationView.js.map +1 -1
- package/build/esm/modules/NavigationView/helpers/buildViewColumns.d.ts +1 -1
- package/build/esm/modules/NavigationView/helpers/buildViewColumns.js.map +1 -1
- package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.d.ts +1 -1
- package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.js +2 -1
- package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.js.map +1 -1
- package/build/esm/modules/QueriesList/QueriesList.js +1 -1
- package/build/esm/modules/QueriesList/QueriesList.js.map +1 -1
- package/build/esm/modules/QueryProgress/QueryProgress.css +64 -0
- package/build/esm/modules/QueryProgress/QueryProgress.css.map +1 -0
- package/build/esm/modules/QueryProgress/QueryProgress.d.ts +4 -0
- package/build/esm/modules/QueryProgress/QueryProgress.js +127 -0
- package/build/esm/modules/QueryProgress/QueryProgress.js.map +1 -0
- package/build/esm/modules/QueryProgress/QueryProgress.scss +72 -0
- package/build/esm/modules/QueryProgress/QueryProgress.stories.d.ts +7 -0
- package/build/esm/modules/QueryProgress/QueryProgress.stories.js +31 -0
- package/build/esm/modules/QueryProgress/QueryProgress.stories.js.map +1 -0
- package/build/esm/modules/QueryProgress/i18n/dicts.d.ts +25 -0
- package/build/esm/modules/QueryProgress/i18n/dicts.js +7 -0
- package/build/esm/modules/QueryProgress/i18n/dicts.js.map +1 -0
- package/build/esm/modules/QueryProgress/i18n/en.json +11 -0
- package/build/esm/modules/QueryProgress/i18n/index.d.ts +6 -0
- package/build/esm/modules/QueryProgress/i18n/index.js +4 -0
- package/build/esm/modules/QueryProgress/i18n/index.js.map +1 -0
- package/build/esm/modules/QueryProgress/i18n/ru.json +11 -0
- package/build/esm/modules/QueryProgress/index.d.ts +2 -0
- package/build/esm/modules/QueryProgress/index.js +2 -0
- package/build/esm/modules/QueryProgress/index.js.map +1 -0
- package/build/esm/modules/QueryStatistics/i18n/index.d.ts +2 -2
- package/build/esm/modules/RowsList/RowsList.js +2 -1
- package/build/esm/modules/RowsList/RowsList.js.map +1 -1
- package/build/esm/modules/SavedQueryRow/SavedQueryRow.d.ts +2 -2
- package/build/esm/modules/SavedQueryRow/SavedQueryRow.js +3 -1
- package/build/esm/modules/SavedQueryRow/SavedQueryRow.js.map +1 -1
- package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.d.ts +2 -2
- package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.js +2 -1
- package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.js.map +1 -1
- package/build/esm/modules/TutorialRow/TutorialRow.d.ts +1 -1
- package/build/esm/modules/TutorialRow/TutorialRow.js +1 -1
- package/build/esm/modules/TutorialRow/TutorialRow.js.map +1 -1
- package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.d.ts +1 -1
- package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js +2 -1
- package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
- package/build/esm/modules/index.d.ts +2 -0
- package/build/esm/modules/index.js +1 -0
- package/build/esm/modules/index.js.map +1 -1
- package/build/esm/types/queryGraph.d.ts +87 -0
- package/build/esm/types/queryGraph.js +2 -0
- package/build/esm/types/queryGraph.js.map +1 -0
- package/build/esm/widgets/DashboardCharts/DashboardCharts.js +4 -2
- package/build/esm/widgets/DashboardCharts/DashboardCharts.js.map +1 -1
- package/build/esm/widgets/DashboardCharts/types.d.ts +3 -3
- package/build/esm/widgets/DashboardCharts/types.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/internal/HistoryRowContent.js +3 -2
- package/build/esm/widgets/QueriesHistory/internal/HistoryRowContent.js.map +1 -1
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.d.ts +1 -1
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js +6 -2
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
- package/build/esm/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js +1 -1
- package/build/esm/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js.map +1 -1
- package/build/esm/widgets/QueriesNavigation/helpers/createTableDetailConfig.js +4 -1
- package/build/esm/widgets/QueriesNavigation/helpers/createTableDetailConfig.js.map +1 -1
- package/build/esm/widgets/QueryResults/QueryResults.js +1 -1
- package/build/esm/widgets/QueryResults/QueryResults.js.map +1 -1
- package/build/esm/widgets/QueryResults/i18n/index.d.ts +2 -2
- package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js +2 -1
- package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -1
- package/build/esm/widgets/SavedQueries/SavedQueries.d.ts +2 -2
- package/build/esm/widgets/SavedQueries/SavedQueries.js +1 -1
- package/build/esm/widgets/SavedQueries/SavedQueries.js.map +1 -1
- package/build/esm/widgets/SavedQueries/SavedQueryRowContent.d.ts +2 -2
- package/build/esm/widgets/SavedQueries/SavedQueryRowContent.js +3 -2
- package/build/esm/widgets/SavedQueries/SavedQueryRowContent.js.map +1 -1
- package/build/esm/widgets/TutorialsHistory/TutorialRowContent.d.ts +2 -2
- package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js +3 -2
- package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.d.ts +2 -2
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js +3 -1
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
- package/package.json +84 -5
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import "core-js/modules/es.array.concat.js";
|
|
4
|
+
import "core-js/modules/es.array.includes.js";
|
|
5
|
+
import "core-js/modules/es.array.is-array.js";
|
|
6
|
+
import "core-js/modules/es.array.join.js";
|
|
7
|
+
import "core-js/modules/es.array.map.js";
|
|
8
|
+
import "core-js/modules/es.array.push.js";
|
|
9
|
+
import "core-js/modules/es.function.name.js";
|
|
10
|
+
import "core-js/modules/es.iterator.constructor.js";
|
|
11
|
+
import "core-js/modules/es.iterator.map.js";
|
|
12
|
+
import "core-js/modules/es.number.to-fixed.js";
|
|
13
|
+
import "core-js/modules/es.object.to-string.js";
|
|
14
|
+
import "core-js/modules/es.string.includes.js";
|
|
15
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
16
|
+
import { Progress, SegmentedRadioGroup, Table, Text } from '@gravity-ui/uikit';
|
|
17
|
+
import i18n from "../i18n";
|
|
18
|
+
import { getQueryGraphNodeIcon } from "./queryGraphIcons";
|
|
19
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
|
+
var jobStatuses = ['pending', 'running', 'completed', 'failed', 'aborted'];
|
|
21
|
+
var jobStatusLabels = {
|
|
22
|
+
pending: 'status_pending',
|
|
23
|
+
running: 'status_running',
|
|
24
|
+
completed: 'status_completed',
|
|
25
|
+
failed: 'status_failed',
|
|
26
|
+
aborted: 'status_aborted'
|
|
27
|
+
};
|
|
28
|
+
export function QueryGraphPopup(_ref) {
|
|
29
|
+
var _node$popup$details, _node$popup6, _ref2, _node$popup$jobs, _node$popup7;
|
|
30
|
+
var node = _ref.node;
|
|
31
|
+
var sections = useMemo(function () {
|
|
32
|
+
var _node$popup, _node$popup2, _node$popup3, _node$popup4, _node$popup5;
|
|
33
|
+
var items = [];
|
|
34
|
+
if ((_node$popup = node.popup) !== null && _node$popup !== void 0 && (_node$popup = _node$popup.stages) !== null && _node$popup !== void 0 && _node$popup.length) items.push('stages');
|
|
35
|
+
if ((_node$popup2 = node.popup) !== null && _node$popup2 !== void 0 && (_node$popup2 = _node$popup2.details) !== null && _node$popup2 !== void 0 && _node$popup2.length) items.push('details');
|
|
36
|
+
if ((_node$popup3 = node.popup) !== null && _node$popup3 !== void 0 && _node$popup3.jobs || node.progress) items.push('jobs');
|
|
37
|
+
if ((_node$popup4 = node.popup) !== null && _node$popup4 !== void 0 && (_node$popup4 = _node$popup4.inputs) !== null && _node$popup4 !== void 0 && _node$popup4.length || (_node$popup5 = node.popup) !== null && _node$popup5 !== void 0 && (_node$popup5 = _node$popup5.outputs) !== null && _node$popup5 !== void 0 && _node$popup5.length) items.push('schemas');
|
|
38
|
+
return items;
|
|
39
|
+
}, [node.popup, node.progress]);
|
|
40
|
+
var _useState = useState(sections[0]),
|
|
41
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
42
|
+
section = _useState2[0],
|
|
43
|
+
setSection = _useState2[1];
|
|
44
|
+
useEffect(function () {
|
|
45
|
+
if (!section || !sections.includes(section)) setSection(sections[0]);
|
|
46
|
+
}, [section, sections]);
|
|
47
|
+
var labels = {
|
|
48
|
+
stages: i18n('value_stages'),
|
|
49
|
+
details: i18n('value_details'),
|
|
50
|
+
jobs: i18n('value_jobs'),
|
|
51
|
+
schemas: i18n('value_schemas')
|
|
52
|
+
};
|
|
53
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
54
|
+
className: "qp-query-graph__popup-content",
|
|
55
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
56
|
+
className: "qp-query-graph__popup-title",
|
|
57
|
+
children: [getQueryGraphNodeIcon(node), /*#__PURE__*/_jsxs("div", {
|
|
58
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
59
|
+
variant: "subheader-1",
|
|
60
|
+
children: node.name
|
|
61
|
+
}), node.label && /*#__PURE__*/_jsx(Text, {
|
|
62
|
+
color: "secondary",
|
|
63
|
+
children: node.label
|
|
64
|
+
})]
|
|
65
|
+
})]
|
|
66
|
+
}), sections.length > 1 && /*#__PURE__*/_jsx(SegmentedRadioGroup, {
|
|
67
|
+
size: "s",
|
|
68
|
+
width: "max",
|
|
69
|
+
value: section,
|
|
70
|
+
onUpdate: function onUpdate(value) {
|
|
71
|
+
return setSection(value);
|
|
72
|
+
},
|
|
73
|
+
children: sections.map(function (item) {
|
|
74
|
+
return /*#__PURE__*/_jsx(SegmentedRadioGroup.Option, {
|
|
75
|
+
value: item,
|
|
76
|
+
children: labels[item]
|
|
77
|
+
}, item);
|
|
78
|
+
})
|
|
79
|
+
}), section === 'stages' && /*#__PURE__*/_jsx(Stages, {
|
|
80
|
+
node: node
|
|
81
|
+
}), section === 'details' && /*#__PURE__*/_jsx(Details, {
|
|
82
|
+
items: (_node$popup$details = (_node$popup6 = node.popup) === null || _node$popup6 === void 0 ? void 0 : _node$popup6.details) !== null && _node$popup$details !== void 0 ? _node$popup$details : []
|
|
83
|
+
}), section === 'jobs' && /*#__PURE__*/_jsx(Jobs, {
|
|
84
|
+
jobs: (_ref2 = (_node$popup$jobs = (_node$popup7 = node.popup) === null || _node$popup7 === void 0 ? void 0 : _node$popup7.jobs) !== null && _node$popup$jobs !== void 0 ? _node$popup$jobs : node.progress) !== null && _ref2 !== void 0 ? _ref2 : {}
|
|
85
|
+
}), section === 'schemas' && /*#__PURE__*/_jsx(Schemas, {
|
|
86
|
+
node: node
|
|
87
|
+
}), !sections.length && node.label && /*#__PURE__*/_jsx(Text, {
|
|
88
|
+
color: "secondary",
|
|
89
|
+
children: node.label
|
|
90
|
+
})]
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function Stages(_ref3) {
|
|
94
|
+
var _node$popup$stages, _node$popup8;
|
|
95
|
+
var node = _ref3.node;
|
|
96
|
+
var data = (_node$popup$stages = (_node$popup8 = node.popup) === null || _node$popup8 === void 0 ? void 0 : _node$popup8.stages) !== null && _node$popup$stages !== void 0 ? _node$popup$stages : [];
|
|
97
|
+
return /*#__PURE__*/_jsx(Table, {
|
|
98
|
+
data: data,
|
|
99
|
+
columns: [{
|
|
100
|
+
id: 'name',
|
|
101
|
+
name: i18n('field_stage')
|
|
102
|
+
}, {
|
|
103
|
+
id: 'duration',
|
|
104
|
+
name: i18n('field_duration'),
|
|
105
|
+
align: 'end',
|
|
106
|
+
template: function template(item) {
|
|
107
|
+
return formatDuration(item.duration);
|
|
108
|
+
}
|
|
109
|
+
}]
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function Details(_ref4) {
|
|
113
|
+
var items = _ref4.items;
|
|
114
|
+
return /*#__PURE__*/_jsx("div", {
|
|
115
|
+
className: "qp-query-graph__details",
|
|
116
|
+
children: items.map(function (item, index) {
|
|
117
|
+
return /*#__PURE__*/_jsx(Detail, {
|
|
118
|
+
item: item
|
|
119
|
+
}, "".concat(item.name, "-").concat(index));
|
|
120
|
+
})
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
function Detail(_ref5) {
|
|
124
|
+
var _item$children;
|
|
125
|
+
var item = _ref5.item;
|
|
126
|
+
var content = item.value === undefined ? null : formatValue(item.value);
|
|
127
|
+
if ((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length) {
|
|
128
|
+
return /*#__PURE__*/_jsxs("details", {
|
|
129
|
+
open: true,
|
|
130
|
+
children: [/*#__PURE__*/_jsx("summary", {
|
|
131
|
+
children: item.name
|
|
132
|
+
}), content && /*#__PURE__*/_jsx(Text, {
|
|
133
|
+
color: "secondary",
|
|
134
|
+
children: content
|
|
135
|
+
}), /*#__PURE__*/_jsx(Details, {
|
|
136
|
+
items: item.children
|
|
137
|
+
})]
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
141
|
+
className: "qp-query-graph__detail-row",
|
|
142
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
143
|
+
color: "secondary",
|
|
144
|
+
children: item.name
|
|
145
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
146
|
+
children: content
|
|
147
|
+
})]
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function Jobs(_ref6) {
|
|
151
|
+
var _jobs$total, _jobs$completed;
|
|
152
|
+
var jobs = _ref6.jobs;
|
|
153
|
+
var rows = jobStatuses.map(function (status) {
|
|
154
|
+
var _jobs$status;
|
|
155
|
+
return {
|
|
156
|
+
status: i18n(jobStatusLabels[status]),
|
|
157
|
+
count: (_jobs$status = jobs[status]) !== null && _jobs$status !== void 0 ? _jobs$status : 0
|
|
158
|
+
};
|
|
159
|
+
});
|
|
160
|
+
var total = (_jobs$total = jobs.total) !== null && _jobs$total !== void 0 ? _jobs$total : 0;
|
|
161
|
+
var completed = (_jobs$completed = jobs.completed) !== null && _jobs$completed !== void 0 ? _jobs$completed : 0;
|
|
162
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
163
|
+
className: "qp-query-graph__jobs",
|
|
164
|
+
children: [/*#__PURE__*/_jsx(Progress, {
|
|
165
|
+
size: "xs",
|
|
166
|
+
value: total > 0 ? completed / total * 100 : 0
|
|
167
|
+
}), /*#__PURE__*/_jsx(Table, {
|
|
168
|
+
data: [].concat(_toConsumableArray(rows), [{
|
|
169
|
+
status: i18n('value_total'),
|
|
170
|
+
count: total
|
|
171
|
+
}]),
|
|
172
|
+
columns: [{
|
|
173
|
+
id: 'status',
|
|
174
|
+
name: i18n('field_status')
|
|
175
|
+
}, {
|
|
176
|
+
id: 'count',
|
|
177
|
+
name: i18n('field_count'),
|
|
178
|
+
align: 'end'
|
|
179
|
+
}]
|
|
180
|
+
})]
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
function Schemas(_ref7) {
|
|
184
|
+
var _node$popup$inputs, _node$popup9, _node$popup$outputs, _node$popup0;
|
|
185
|
+
var node = _ref7.node;
|
|
186
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
187
|
+
className: "qp-query-graph__schemas",
|
|
188
|
+
children: [/*#__PURE__*/_jsx(SchemaGroup, {
|
|
189
|
+
title: i18n('value_inputs'),
|
|
190
|
+
schemas: (_node$popup$inputs = (_node$popup9 = node.popup) === null || _node$popup9 === void 0 ? void 0 : _node$popup9.inputs) !== null && _node$popup$inputs !== void 0 ? _node$popup$inputs : []
|
|
191
|
+
}), /*#__PURE__*/_jsx(SchemaGroup, {
|
|
192
|
+
title: i18n('value_outputs'),
|
|
193
|
+
schemas: (_node$popup$outputs = (_node$popup0 = node.popup) === null || _node$popup0 === void 0 ? void 0 : _node$popup0.outputs) !== null && _node$popup$outputs !== void 0 ? _node$popup$outputs : []
|
|
194
|
+
})]
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function SchemaGroup(_ref8) {
|
|
198
|
+
var title = _ref8.title,
|
|
199
|
+
schemas = _ref8.schemas;
|
|
200
|
+
if (!schemas.length) return null;
|
|
201
|
+
return /*#__PURE__*/_jsxs("details", {
|
|
202
|
+
open: true,
|
|
203
|
+
children: [/*#__PURE__*/_jsx("summary", {
|
|
204
|
+
children: title
|
|
205
|
+
}), schemas.map(function (schema) {
|
|
206
|
+
return /*#__PURE__*/_jsxs("details", {
|
|
207
|
+
open: schemas.length === 1,
|
|
208
|
+
children: [/*#__PURE__*/_jsx("summary", {
|
|
209
|
+
children: schema.name
|
|
210
|
+
}), /*#__PURE__*/_jsx(Table, {
|
|
211
|
+
data: schema.columns,
|
|
212
|
+
columns: [{
|
|
213
|
+
id: 'name',
|
|
214
|
+
name: i18n('field_name')
|
|
215
|
+
}, {
|
|
216
|
+
id: 'type',
|
|
217
|
+
name: i18n('field_type'),
|
|
218
|
+
align: 'end'
|
|
219
|
+
}]
|
|
220
|
+
})]
|
|
221
|
+
}, schema.name);
|
|
222
|
+
})]
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
function formatDuration(value) {
|
|
226
|
+
if (value < 1000) return "".concat(value, " ms");
|
|
227
|
+
return "".concat((value / 1000).toFixed(value < 10000 ? 1 : 0), " s");
|
|
228
|
+
}
|
|
229
|
+
function formatValue(value) {
|
|
230
|
+
if (Array.isArray(value)) return value.map(formatValue).join(', ');
|
|
231
|
+
if (value === null) return 'null';
|
|
232
|
+
return String(value);
|
|
233
|
+
}
|
|
234
|
+
// #sourceMappingURL=QueryGraphPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useState","Progress","SegmentedRadioGroup","Table","Text","i18n","getQueryGraphNodeIcon","jsx","_jsx","jsxs","_jsxs","jobStatuses","jobStatusLabels","pending","running","completed","failed","aborted","QueryGraphPopup","_ref","_node$popup$details","_node$popup6","_ref2","_node$popup$jobs","_node$popup7","node","sections","_node$popup","_node$popup2","_node$popup3","_node$popup4","_node$popup5","items","popup","stages","length","push","details","jobs","progress","inputs","outputs","_useState","_useState2","_slicedToArray","section","setSection","includes","labels","schemas","className","children","variant","name","label","color","size","width","value","onUpdate","map","item","Option","Stages","Details","Jobs","Schemas","_ref3","_node$popup$stages","_node$popup8","data","columns","id","align","template","formatDuration","duration","_ref4","index","Detail","concat","_ref5","_item$children","content","undefined","formatValue","open","_ref6","_jobs$total","_jobs$completed","rows","status","_jobs$status","count","total","_toConsumableArray","_ref7","_node$popup$inputs","_node$popup9","_node$popup$outputs","_node$popup0","SchemaGroup","title","_ref8","schema","toFixed","Array","isArray","join","String"],"sources":["QueryGraphPopup.tsx"],"sourcesContent":["import React, {useEffect, useMemo, useState} from 'react';\nimport {Progress, SegmentedRadioGroup, Table, Text} from '@gravity-ui/uikit';\n\nimport type {\n QueryGraphDetail,\n QueryGraphJobCounts,\n QueryGraphNode,\n QueryGraphSchema,\n} from '../../../types/queryGraph';\nimport i18n from '../i18n';\nimport {getQueryGraphNodeIcon} from './queryGraphIcons';\n\ntype Section = 'stages' | 'details' | 'jobs' | 'schemas';\nconst jobStatuses = ['pending', 'running', 'completed', 'failed', 'aborted'] as const;\nconst jobStatusLabels = {\n pending: 'status_pending',\n running: 'status_running',\n completed: 'status_completed',\n failed: 'status_failed',\n aborted: 'status_aborted',\n} as const;\n\nexport function QueryGraphPopup({node}: {node: QueryGraphNode}) {\n const sections = useMemo(() => {\n const items: Section[] = [];\n if (node.popup?.stages?.length) items.push('stages');\n if (node.popup?.details?.length) items.push('details');\n if (node.popup?.jobs || node.progress) items.push('jobs');\n if (node.popup?.inputs?.length || node.popup?.outputs?.length) items.push('schemas');\n return items;\n }, [node.popup, node.progress]);\n const [section, setSection] = useState<Section | undefined>(sections[0]);\n\n useEffect(() => {\n if (!section || !sections.includes(section)) setSection(sections[0]);\n }, [section, sections]);\n\n const labels: Record<Section, string> = {\n stages: i18n('value_stages'),\n details: i18n('value_details'),\n jobs: i18n('value_jobs'),\n schemas: i18n('value_schemas'),\n };\n\n return (\n <div className=\"qp-query-graph__popup-content\">\n <div className=\"qp-query-graph__popup-title\">\n {getQueryGraphNodeIcon(node)}\n <div>\n <Text variant=\"subheader-1\">{node.name}</Text>\n {node.label && <Text color=\"secondary\">{node.label}</Text>}\n </div>\n </div>\n {sections.length > 1 && (\n <SegmentedRadioGroup\n size=\"s\"\n width=\"max\"\n value={section}\n onUpdate={(value) => setSection(value as Section)}\n >\n {sections.map((item) => (\n <SegmentedRadioGroup.Option key={item} value={item}>\n {labels[item]}\n </SegmentedRadioGroup.Option>\n ))}\n </SegmentedRadioGroup>\n )}\n {section === 'stages' && <Stages node={node} />}\n {section === 'details' && <Details items={node.popup?.details ?? []} />}\n {section === 'jobs' && <Jobs jobs={node.popup?.jobs ?? node.progress ?? {}} />}\n {section === 'schemas' && <Schemas node={node} />}\n {!sections.length && node.label && <Text color=\"secondary\">{node.label}</Text>}\n </div>\n );\n}\n\nfunction Stages({node}: {node: QueryGraphNode}) {\n const data = node.popup?.stages ?? [];\n return (\n <Table\n data={data}\n columns={[\n {id: 'name', name: i18n('field_stage')},\n {\n id: 'duration',\n name: i18n('field_duration'),\n align: 'end',\n template: (item) => formatDuration(item.duration),\n },\n ]}\n />\n );\n}\n\nfunction Details({items}: {items: QueryGraphDetail[]}) {\n return (\n <div className=\"qp-query-graph__details\">\n {items.map((item, index) => (\n <Detail key={`${item.name}-${index}`} item={item} />\n ))}\n </div>\n );\n}\n\nfunction Detail({item}: {item: QueryGraphDetail}) {\n const content = item.value === undefined ? null : formatValue(item.value);\n if (item.children?.length) {\n return (\n <details open>\n <summary>{item.name}</summary>\n {content && <Text color=\"secondary\">{content}</Text>}\n <Details items={item.children} />\n </details>\n );\n }\n return (\n <div className=\"qp-query-graph__detail-row\">\n <Text color=\"secondary\">{item.name}</Text>\n <Text>{content}</Text>\n </div>\n );\n}\n\nfunction Jobs({jobs}: {jobs: QueryGraphJobCounts}) {\n const rows = jobStatuses.map((status) => ({\n status: i18n(jobStatusLabels[status]),\n count: jobs[status] ?? 0,\n }));\n const total = jobs.total ?? 0;\n const completed = jobs.completed ?? 0;\n return (\n <div className=\"qp-query-graph__jobs\">\n <Progress size=\"xs\" value={total > 0 ? (completed / total) * 100 : 0} />\n <Table\n data={[...rows, {status: i18n('value_total'), count: total}]}\n columns={[\n {id: 'status', name: i18n('field_status')},\n {id: 'count', name: i18n('field_count'), align: 'end'},\n ]}\n />\n </div>\n );\n}\n\nfunction Schemas({node}: {node: QueryGraphNode}) {\n return (\n <div className=\"qp-query-graph__schemas\">\n <SchemaGroup title={i18n('value_inputs')} schemas={node.popup?.inputs ?? []} />\n <SchemaGroup title={i18n('value_outputs')} schemas={node.popup?.outputs ?? []} />\n </div>\n );\n}\n\nfunction SchemaGroup({title, schemas}: {title: string; schemas: QueryGraphSchema[]}) {\n if (!schemas.length) return null;\n return (\n <details open>\n <summary>{title}</summary>\n {schemas.map((schema) => (\n <details key={schema.name} open={schemas.length === 1}>\n <summary>{schema.name}</summary>\n <Table\n data={schema.columns}\n columns={[\n {id: 'name', name: i18n('field_name')},\n {id: 'type', name: i18n('field_type'), align: 'end'},\n ]}\n />\n </details>\n ))}\n </details>\n );\n}\n\nfunction formatDuration(value: number) {\n if (value < 1000) return `${value} ms`;\n return `${(value / 1000).toFixed(value < 10000 ? 1 : 0)} s`;\n}\n\nfunction formatValue(value: QueryGraphDetail['value']): string {\n if (Array.isArray(value)) return value.map(formatValue).join(', ');\n if (value === null) return 'null';\n return String(value);\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAGC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAO,OAAO;AACzD,SAAQC,QAAQ,EAAEC,mBAAmB,EAAEC,KAAK,EAAEC,IAAI,QAAO,mBAAmB;AAQ5E,OAAOC,IAAI;AACX,SAAQC,qBAAqB;AAA2B,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGxD,IAAMC,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAU;AACrF,IAAMC,eAAe,GAAG;EACpBC,OAAO,EAAE,gBAAgB;EACzBC,OAAO,EAAE,gBAAgB;EACzBC,SAAS,EAAE,kBAAkB;EAC7BC,MAAM,EAAE,eAAe;EACvBC,OAAO,EAAE;AACb,CAAU;AAEV,OAAO,SAASC,eAAeA,CAAAC,IAAA,EAAiC;EAAA,IAAAC,mBAAA,EAAAC,YAAA,EAAAC,KAAA,EAAAC,gBAAA,EAAAC,YAAA;EAAA,IAA/BC,IAAI,GAAAN,IAAA,CAAJM,IAAI;EACjC,IAAMC,QAAQ,GAAG3B,OAAO,CAAC,YAAM;IAAA,IAAA4B,WAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA;IAC3B,IAAMC,KAAgB,GAAG,EAAE;IAC3B,KAAAL,WAAA,GAAIF,IAAI,CAACQ,KAAK,cAAAN,WAAA,gBAAAA,WAAA,GAAVA,WAAA,CAAYO,MAAM,cAAAP,WAAA,eAAlBA,WAAA,CAAoBQ,MAAM,EAAEH,KAAK,CAACI,IAAI,CAAC,QAAQ,CAAC;IACpD,KAAAR,YAAA,GAAIH,IAAI,CAACQ,KAAK,cAAAL,YAAA,gBAAAA,YAAA,GAAVA,YAAA,CAAYS,OAAO,cAAAT,YAAA,eAAnBA,YAAA,CAAqBO,MAAM,EAAEH,KAAK,CAACI,IAAI,CAAC,SAAS,CAAC;IACtD,IAAI,CAAAP,YAAA,GAAAJ,IAAI,CAACQ,KAAK,cAAAJ,YAAA,eAAVA,YAAA,CAAYS,IAAI,IAAIb,IAAI,CAACc,QAAQ,EAAEP,KAAK,CAACI,IAAI,CAAC,MAAM,CAAC;IACzD,IAAI,CAAAN,YAAA,GAAAL,IAAI,CAACQ,KAAK,cAAAH,YAAA,gBAAAA,YAAA,GAAVA,YAAA,CAAYU,MAAM,cAAAV,YAAA,eAAlBA,YAAA,CAAoBK,MAAM,KAAAJ,YAAA,GAAIN,IAAI,CAACQ,KAAK,cAAAF,YAAA,gBAAAA,YAAA,GAAVA,YAAA,CAAYU,OAAO,cAAAV,YAAA,eAAnBA,YAAA,CAAqBI,MAAM,EAAEH,KAAK,CAACI,IAAI,CAAC,SAAS,CAAC;IACpF,OAAOJ,KAAK;EAChB,CAAC,EAAE,CAACP,IAAI,CAACQ,KAAK,EAAER,IAAI,CAACc,QAAQ,CAAC,CAAC;EAC/B,IAAAG,SAAA,GAA8B1C,QAAQ,CAAsB0B,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAAiB,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAjEG,OAAO,GAAAF,UAAA;IAAEG,UAAU,GAAAH,UAAA;EAE1B7C,SAAS,CAAC,YAAM;IACZ,IAAI,CAAC+C,OAAO,IAAI,CAACnB,QAAQ,CAACqB,QAAQ,CAACF,OAAO,CAAC,EAAEC,UAAU,CAACpB,QAAQ,CAAC,CAAC,CAAC,CAAC;EACxE,CAAC,EAAE,CAACmB,OAAO,EAAEnB,QAAQ,CAAC,CAAC;EAEvB,IAAMsB,MAA+B,GAAG;IACpCd,MAAM,EAAE7B,IAAI,CAAC,cAAc,CAAC;IAC5BgC,OAAO,EAAEhC,IAAI,CAAC,eAAe,CAAC;IAC9BiC,IAAI,EAAEjC,IAAI,CAAC,YAAY,CAAC;IACxB4C,OAAO,EAAE5C,IAAI,CAAC,eAAe;EACjC,CAAC;EAED,oBACIK,KAAA;IAAKwC,SAAS,EAAC,+BAA+B;IAAAC,QAAA,gBAC1CzC,KAAA;MAAKwC,SAAS,EAAC,6BAA6B;MAAAC,QAAA,GACvC7C,qBAAqB,CAACmB,IAAI,CAAC,eAC5Bf,KAAA;QAAAyC,QAAA,gBACI3C,IAAA,CAACJ,IAAI;UAACgD,OAAO,EAAC,aAAa;UAAAD,QAAA,EAAE1B,IAAI,CAAC4B;QAAI,CAAO,CAAC,EAC7C5B,IAAI,CAAC6B,KAAK,iBAAI9C,IAAA,CAACJ,IAAI;UAACmD,KAAK,EAAC,WAAW;UAAAJ,QAAA,EAAE1B,IAAI,CAAC6B;QAAK,CAAO,CAAC;MAAA,CACzD,CAAC;IAAA,CACL,CAAC,EACL5B,QAAQ,CAACS,MAAM,GAAG,CAAC,iBAChB3B,IAAA,CAACN,mBAAmB;MAChBsD,IAAI,EAAC,GAAG;MACRC,KAAK,EAAC,KAAK;MACXC,KAAK,EAAEb,OAAQ;MACfc,QAAQ,EAAE,SAAVA,QAAQA,CAAGD,KAAK;QAAA,OAAKZ,UAAU,CAACY,KAAgB,CAAC;MAAA,CAAC;MAAAP,QAAA,EAEjDzB,QAAQ,CAACkC,GAAG,CAAC,UAACC,IAAI;QAAA,oBACfrD,IAAA,CAACN,mBAAmB,CAAC4D,MAAM;UAAYJ,KAAK,EAAEG,IAAK;UAAAV,QAAA,EAC9CH,MAAM,CAACa,IAAI;QAAC,GADgBA,IAEL,CAAC;MAAA,CAChC;IAAC,CACe,CACxB,EACAhB,OAAO,KAAK,QAAQ,iBAAIrC,IAAA,CAACuD,MAAM;MAACtC,IAAI,EAAEA;IAAK,CAAE,CAAC,EAC9CoB,OAAO,KAAK,SAAS,iBAAIrC,IAAA,CAACwD,OAAO;MAAChC,KAAK,GAAAZ,mBAAA,IAAAC,YAAA,GAAEI,IAAI,CAACQ,KAAK,cAAAZ,YAAA,uBAAVA,YAAA,CAAYgB,OAAO,cAAAjB,mBAAA,cAAAA,mBAAA,GAAI;IAAG,CAAE,CAAC,EACtEyB,OAAO,KAAK,MAAM,iBAAIrC,IAAA,CAACyD,IAAI;MAAC3B,IAAI,GAAAhB,KAAA,IAAAC,gBAAA,IAAAC,YAAA,GAAEC,IAAI,CAACQ,KAAK,cAAAT,YAAA,uBAAVA,YAAA,CAAYc,IAAI,cAAAf,gBAAA,cAAAA,gBAAA,GAAIE,IAAI,CAACc,QAAQ,cAAAjB,KAAA,cAAAA,KAAA,GAAI,CAAC;IAAE,CAAE,CAAC,EAC7EuB,OAAO,KAAK,SAAS,iBAAIrC,IAAA,CAAC0D,OAAO;MAACzC,IAAI,EAAEA;IAAK,CAAE,CAAC,EAChD,CAACC,QAAQ,CAACS,MAAM,IAAIV,IAAI,CAAC6B,KAAK,iBAAI9C,IAAA,CAACJ,IAAI;MAACmD,KAAK,EAAC,WAAW;MAAAJ,QAAA,EAAE1B,IAAI,CAAC6B;IAAK,CAAO,CAAC;EAAA,CAC7E,CAAC;AAEd;AAEA,SAASS,MAAMA,CAAAI,KAAA,EAAiC;EAAA,IAAAC,kBAAA,EAAAC,YAAA;EAAA,IAA/B5C,IAAI,GAAA0C,KAAA,CAAJ1C,IAAI;EACjB,IAAM6C,IAAI,IAAAF,kBAAA,IAAAC,YAAA,GAAG5C,IAAI,CAACQ,KAAK,cAAAoC,YAAA,uBAAVA,YAAA,CAAYnC,MAAM,cAAAkC,kBAAA,cAAAA,kBAAA,GAAI,EAAE;EACrC,oBACI5D,IAAA,CAACL,KAAK;IACFmE,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAE,CACL;MAACC,EAAE,EAAE,MAAM;MAAEnB,IAAI,EAAEhD,IAAI,CAAC,aAAa;IAAC,CAAC,EACvC;MACImE,EAAE,EAAE,UAAU;MACdnB,IAAI,EAAEhD,IAAI,CAAC,gBAAgB,CAAC;MAC5BoE,KAAK,EAAE,KAAK;MACZC,QAAQ,EAAE,SAAVA,QAAQA,CAAGb,IAAI;QAAA,OAAKc,cAAc,CAACd,IAAI,CAACe,QAAQ,CAAC;MAAA;IACrD,CAAC;EACH,CACL,CAAC;AAEV;AAEA,SAASZ,OAAOA,CAAAa,KAAA,EAAuC;EAAA,IAArC7C,KAAK,GAAA6C,KAAA,CAAL7C,KAAK;EACnB,oBACIxB,IAAA;IAAK0C,SAAS,EAAC,yBAAyB;IAAAC,QAAA,EACnCnB,KAAK,CAAC4B,GAAG,CAAC,UAACC,IAAI,EAAEiB,KAAK;MAAA,oBACnBtE,IAAA,CAACuE,MAAM;QAA+BlB,IAAI,EAAEA;MAAK,MAAAmB,MAAA,CAAjCnB,IAAI,CAACR,IAAI,OAAA2B,MAAA,CAAIF,KAAK,CAAiB,CAAC;IAAA,CACvD;EAAC,CACD,CAAC;AAEd;AAEA,SAASC,MAAMA,CAAAE,KAAA,EAAmC;EAAA,IAAAC,cAAA;EAAA,IAAjCrB,IAAI,GAAAoB,KAAA,CAAJpB,IAAI;EACjB,IAAMsB,OAAO,GAAGtB,IAAI,CAACH,KAAK,KAAK0B,SAAS,GAAG,IAAI,GAAGC,WAAW,CAACxB,IAAI,CAACH,KAAK,CAAC;EACzE,KAAAwB,cAAA,GAAIrB,IAAI,CAACV,QAAQ,cAAA+B,cAAA,eAAbA,cAAA,CAAe/C,MAAM,EAAE;IACvB,oBACIzB,KAAA;MAAS4E,IAAI;MAAAnC,QAAA,gBACT3C,IAAA;QAAA2C,QAAA,EAAUU,IAAI,CAACR;MAAI,CAAU,CAAC,EAC7B8B,OAAO,iBAAI3E,IAAA,CAACJ,IAAI;QAACmD,KAAK,EAAC,WAAW;QAAAJ,QAAA,EAAEgC;MAAO,CAAO,CAAC,eACpD3E,IAAA,CAACwD,OAAO;QAAChC,KAAK,EAAE6B,IAAI,CAACV;MAAS,CAAE,CAAC;IAAA,CAC5B,CAAC;EAElB;EACA,oBACIzC,KAAA;IAAKwC,SAAS,EAAC,4BAA4B;IAAAC,QAAA,gBACvC3C,IAAA,CAACJ,IAAI;MAACmD,KAAK,EAAC,WAAW;MAAAJ,QAAA,EAAEU,IAAI,CAACR;IAAI,CAAO,CAAC,eAC1C7C,IAAA,CAACJ,IAAI;MAAA+C,QAAA,EAAEgC;IAAO,CAAO,CAAC;EAAA,CACrB,CAAC;AAEd;AAEA,SAASlB,IAAIA,CAAAsB,KAAA,EAAsC;EAAA,IAAAC,WAAA,EAAAC,eAAA;EAAA,IAApCnD,IAAI,GAAAiD,KAAA,CAAJjD,IAAI;EACf,IAAMoD,IAAI,GAAG/E,WAAW,CAACiD,GAAG,CAAC,UAAC+B,MAAM;IAAA,IAAAC,YAAA;IAAA,OAAM;MACtCD,MAAM,EAAEtF,IAAI,CAACO,eAAe,CAAC+E,MAAM,CAAC,CAAC;MACrCE,KAAK,GAAAD,YAAA,GAAEtD,IAAI,CAACqD,MAAM,CAAC,cAAAC,YAAA,cAAAA,YAAA,GAAI;IAC3B,CAAC;EAAA,CAAC,CAAC;EACH,IAAME,KAAK,IAAAN,WAAA,GAAGlD,IAAI,CAACwD,KAAK,cAAAN,WAAA,cAAAA,WAAA,GAAI,CAAC;EAC7B,IAAMzE,SAAS,IAAA0E,eAAA,GAAGnD,IAAI,CAACvB,SAAS,cAAA0E,eAAA,cAAAA,eAAA,GAAI,CAAC;EACrC,oBACI/E,KAAA;IAAKwC,SAAS,EAAC,sBAAsB;IAAAC,QAAA,gBACjC3C,IAAA,CAACP,QAAQ;MAACuD,IAAI,EAAC,IAAI;MAACE,KAAK,EAAEoC,KAAK,GAAG,CAAC,GAAI/E,SAAS,GAAG+E,KAAK,GAAI,GAAG,GAAG;IAAE,CAAE,CAAC,eACxEtF,IAAA,CAACL,KAAK;MACFmE,IAAI,KAAAU,MAAA,CAAAe,kBAAA,CAAML,IAAI,IAAE;QAACC,MAAM,EAAEtF,IAAI,CAAC,aAAa,CAAC;QAAEwF,KAAK,EAAEC;MAAK,CAAC,EAAE;MAC7DvB,OAAO,EAAE,CACL;QAACC,EAAE,EAAE,QAAQ;QAAEnB,IAAI,EAAEhD,IAAI,CAAC,cAAc;MAAC,CAAC,EAC1C;QAACmE,EAAE,EAAE,OAAO;QAAEnB,IAAI,EAAEhD,IAAI,CAAC,aAAa,CAAC;QAAEoE,KAAK,EAAE;MAAK,CAAC;IACxD,CACL,CAAC;EAAA,CACD,CAAC;AAEd;AAEA,SAASP,OAAOA,CAAA8B,KAAA,EAAiC;EAAA,IAAAC,kBAAA,EAAAC,YAAA,EAAAC,mBAAA,EAAAC,YAAA;EAAA,IAA/B3E,IAAI,GAAAuE,KAAA,CAAJvE,IAAI;EAClB,oBACIf,KAAA;IAAKwC,SAAS,EAAC,yBAAyB;IAAAC,QAAA,gBACpC3C,IAAA,CAAC6F,WAAW;MAACC,KAAK,EAAEjG,IAAI,CAAC,cAAc,CAAE;MAAC4C,OAAO,GAAAgD,kBAAA,IAAAC,YAAA,GAAEzE,IAAI,CAACQ,KAAK,cAAAiE,YAAA,uBAAVA,YAAA,CAAY1D,MAAM,cAAAyD,kBAAA,cAAAA,kBAAA,GAAI;IAAG,CAAE,CAAC,eAC/EzF,IAAA,CAAC6F,WAAW;MAACC,KAAK,EAAEjG,IAAI,CAAC,eAAe,CAAE;MAAC4C,OAAO,GAAAkD,mBAAA,IAAAC,YAAA,GAAE3E,IAAI,CAACQ,KAAK,cAAAmE,YAAA,uBAAVA,YAAA,CAAY3D,OAAO,cAAA0D,mBAAA,cAAAA,mBAAA,GAAI;IAAG,CAAE,CAAC;EAAA,CAChF,CAAC;AAEd;AAEA,SAASE,WAAWA,CAAAE,KAAA,EAAiE;EAAA,IAA/DD,KAAK,GAAAC,KAAA,CAALD,KAAK;IAAErD,OAAO,GAAAsD,KAAA,CAAPtD,OAAO;EAChC,IAAI,CAACA,OAAO,CAACd,MAAM,EAAE,OAAO,IAAI;EAChC,oBACIzB,KAAA;IAAS4E,IAAI;IAAAnC,QAAA,gBACT3C,IAAA;MAAA2C,QAAA,EAAUmD;IAAK,CAAU,CAAC,EACzBrD,OAAO,CAACW,GAAG,CAAC,UAAC4C,MAAM;MAAA,oBAChB9F,KAAA;QAA2B4E,IAAI,EAAErC,OAAO,CAACd,MAAM,KAAK,CAAE;QAAAgB,QAAA,gBAClD3C,IAAA;UAAA2C,QAAA,EAAUqD,MAAM,CAACnD;QAAI,CAAU,CAAC,eAChC7C,IAAA,CAACL,KAAK;UACFmE,IAAI,EAAEkC,MAAM,CAACjC,OAAQ;UACrBA,OAAO,EAAE,CACL;YAACC,EAAE,EAAE,MAAM;YAAEnB,IAAI,EAAEhD,IAAI,CAAC,YAAY;UAAC,CAAC,EACtC;YAACmE,EAAE,EAAE,MAAM;YAAEnB,IAAI,EAAEhD,IAAI,CAAC,YAAY,CAAC;YAAEoE,KAAK,EAAE;UAAK,CAAC;QACtD,CACL,CAAC;MAAA,GARQ+B,MAAM,CAACnD,IASZ,CAAC;IAAA,CACb,CAAC;EAAA,CACG,CAAC;AAElB;AAEA,SAASsB,cAAcA,CAACjB,KAAa,EAAE;EACnC,IAAIA,KAAK,GAAG,IAAI,EAAE,UAAAsB,MAAA,CAAUtB,KAAK;EACjC,UAAAsB,MAAA,CAAU,CAACtB,KAAK,GAAG,IAAI,EAAE+C,OAAO,CAAC/C,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3D;AAEA,SAAS2B,WAAWA,CAAC3B,KAAgC,EAAU;EAC3D,IAAIgD,KAAK,CAACC,OAAO,CAACjD,KAAK,CAAC,EAAE,OAAOA,KAAK,CAACE,GAAG,CAACyB,WAAW,CAAC,CAACuB,IAAI,CAAC,IAAI,CAAC;EAClE,IAAIlD,KAAK,KAAK,IAAI,EAAE,OAAO,MAAM;EACjC,OAAOmD,MAAM,CAACnD,KAAK,CAAC;AACxB","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { QueryGraphNode, QueryGraphNodeStatus } from '../../../types/queryGraph';
|
|
3
|
+
export declare function getDefaultQueryGraphNodeIcon(node: QueryGraphNode): React.ReactElement;
|
|
4
|
+
export declare function getQueryGraphNodeIcon(node: QueryGraphNode): React.ReactElement;
|
|
5
|
+
export declare function getQueryGraphNodeIconSvgs(node: QueryGraphNode): {
|
|
6
|
+
iconSvg: string;
|
|
7
|
+
fallbackIconSvg: string;
|
|
8
|
+
iconColorToken: string;
|
|
9
|
+
fallbackIconColorToken: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function queryGraphIconToSvg(icon: React.ReactNode): string | undefined;
|
|
12
|
+
export declare function getQueryGraphStatusIconSvg(status: QueryGraphNodeStatus): string | undefined;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import "core-js/modules/es.array.iterator.js";
|
|
3
|
+
import "core-js/modules/es.map.js";
|
|
4
|
+
import "core-js/modules/es.object.to-string.js";
|
|
5
|
+
import "core-js/modules/es.string.iterator.js";
|
|
6
|
+
import "core-js/modules/es.string.starts-with.js";
|
|
7
|
+
import "core-js/modules/es.weak-map.js";
|
|
8
|
+
import "core-js/modules/esnext.map.get-or-insert.js";
|
|
9
|
+
import "core-js/modules/esnext.map.get-or-insert-computed.js";
|
|
10
|
+
import "core-js/modules/esnext.weak-map.get-or-insert.js";
|
|
11
|
+
import "core-js/modules/esnext.weak-map.get-or-insert-computed.js";
|
|
12
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import { CircleCheck, CircleMinus, CirclePlay, CircleXmark, CodeCommit, CodeMerge, Eraser, LayoutHeaderCellsLarge, ListTimeline, Molecule, Shuffle } from '@gravity-ui/icons';
|
|
15
|
+
import { renderToStaticMarkup } from 'react-dom/server';
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
// Map, Reduce and MapReduce paths are adapted from the corresponding neutral
|
|
18
|
+
// operation icons in ytsaurus/ytsaurus-ui (Apache-2.0).
|
|
19
|
+
var MapOperationIcon = function MapOperationIcon(props) {
|
|
20
|
+
return /*#__PURE__*/_jsxs("svg", _objectSpread(_objectSpread({
|
|
21
|
+
width: "16",
|
|
22
|
+
height: "16",
|
|
23
|
+
viewBox: "0 0 16 16",
|
|
24
|
+
fill: "none",
|
|
25
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
26
|
+
}, props), {}, {
|
|
27
|
+
children: [/*#__PURE__*/_jsx("path", {
|
|
28
|
+
fill: "currentColor",
|
|
29
|
+
fillRule: "evenodd",
|
|
30
|
+
d: "M3 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M2.25.5a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5M3 8a.75.75 0 1 1-1.5 0A.75.75 0 0 1 3 8m-.75-2.25a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5M3 13.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M2.25 11a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m11.5-8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m0-2.5a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m0-3a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m.75 7.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m-.75-2.25a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5"
|
|
31
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
32
|
+
d: "M4 2.8h8M4 8h8m-5-2.5L9.5 8 7 10.5m-3 2.8h8",
|
|
33
|
+
stroke: "currentColor",
|
|
34
|
+
strokeWidth: "1.5",
|
|
35
|
+
strokeLinecap: "round",
|
|
36
|
+
strokeLinejoin: "round"
|
|
37
|
+
})]
|
|
38
|
+
}));
|
|
39
|
+
};
|
|
40
|
+
var ReduceOperationIcon = function ReduceOperationIcon(props) {
|
|
41
|
+
return /*#__PURE__*/_jsx("svg", _objectSpread(_objectSpread({
|
|
42
|
+
width: "16",
|
|
43
|
+
height: "16",
|
|
44
|
+
viewBox: "0 0 16 16",
|
|
45
|
+
fill: "none",
|
|
46
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
47
|
+
}, props), {}, {
|
|
48
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
49
|
+
fill: "currentColor",
|
|
50
|
+
fillRule: "evenodd",
|
|
51
|
+
d: "M4 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M3.25.5a2.25 2.25 0 0 1 2.122 1.5h.378a3 3 0 0 1 3 3v2.25h3.94l-1.22-1.22a.75.75 0 0 1 1.06-1.06l2.5 2.5a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 1 1-1.06-1.06l1.22-1.22H8.75V11a3 3 0 0 1-3 3h-.378a2.25 2.25 0 1 1 0-1.5h.378A1.5 1.5 0 0 0 7.25 11V8.75H5.372a2.25 2.25 0 1 1 0-1.5H7.25V5a1.5 1.5 0 0 0-1.5-1.5h-.378A2.25 2.25 0 1 1 3.25.5M4 8a.75.75 0 1 1-1.5 0A.75.75 0 0 1 4 8m0 5.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0"
|
|
52
|
+
})
|
|
53
|
+
}));
|
|
54
|
+
};
|
|
55
|
+
var MapReduceOperationIcon = function MapReduceOperationIcon(props) {
|
|
56
|
+
return /*#__PURE__*/_jsxs("svg", _objectSpread(_objectSpread({
|
|
57
|
+
width: "16",
|
|
58
|
+
height: "16",
|
|
59
|
+
viewBox: "0 0 16 16",
|
|
60
|
+
fill: "none",
|
|
61
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
62
|
+
}, props), {}, {
|
|
63
|
+
children: [/*#__PURE__*/_jsx("path", {
|
|
64
|
+
fill: "currentColor",
|
|
65
|
+
fillRule: "evenodd",
|
|
66
|
+
d: "M3 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M4.372 3.5A2.25 2.25 0 1 1 4.372 2H6.25a3 3 0 0 1 3 3v.896A2.25 2.25 0 0 1 10.572 7.25H14a.75.75 0 0 1 0 1.5h-3.428A2.25 2.25 0 0 1 9.25 10.104V11a3 3 0 0 1-3 3H4.372a2.25 2.25 0 1 1 0-1.5H6.25a1.5 1.5 0 0 0 1.5-1.5v-.861a2.25 2.25 0 0 1-1.423-1.393L6.25 8.75H4.372a2.25 2.25 0 1 1 0-1.5H6.25l.077.004A2.25 2.25 0 0 1 7.75 5.861V5a1.5 1.5 0 0 0-1.5-1.5zM3 8a.75.75 0 1 1-1.5 0A.75.75 0 0 1 3 8m0 5.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M9.2 8a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0"
|
|
67
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
68
|
+
d: "M12.5 5.5 15 8l-2.5 2.5",
|
|
69
|
+
stroke: "currentColor",
|
|
70
|
+
strokeWidth: "1.5",
|
|
71
|
+
strokeLinecap: "round",
|
|
72
|
+
strokeLinejoin: "round"
|
|
73
|
+
})]
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
var operationIcons = {
|
|
77
|
+
read: ListTimeline,
|
|
78
|
+
map: MapOperationIcon,
|
|
79
|
+
reduce: ReduceOperationIcon,
|
|
80
|
+
'map-reduce': MapReduceOperationIcon,
|
|
81
|
+
merge: CodeMerge,
|
|
82
|
+
sort: Shuffle,
|
|
83
|
+
erase: Eraser,
|
|
84
|
+
commit: CodeCommit,
|
|
85
|
+
operation: Molecule
|
|
86
|
+
};
|
|
87
|
+
var statusIcons = {
|
|
88
|
+
running: CirclePlay,
|
|
89
|
+
completed: CircleCheck,
|
|
90
|
+
failed: CircleXmark,
|
|
91
|
+
aborted: CircleMinus
|
|
92
|
+
};
|
|
93
|
+
var statusIconSvgCache = new Map();
|
|
94
|
+
var defaultIconSvgCache = new Map();
|
|
95
|
+
var customIconSvgCache = new WeakMap();
|
|
96
|
+
export function getDefaultQueryGraphNodeIcon(node) {
|
|
97
|
+
var _node$operationType;
|
|
98
|
+
var IconComponent = node.kind === 'operation' ? operationIcons[(_node$operationType = node.operationType) !== null && _node$operationType !== void 0 ? _node$operationType : 'operation'] : LayoutHeaderCellsLarge;
|
|
99
|
+
return /*#__PURE__*/_jsx(IconComponent, {});
|
|
100
|
+
}
|
|
101
|
+
export function getQueryGraphNodeIcon(node) {
|
|
102
|
+
return /*#__PURE__*/React.isValidElement(node.icon) && queryGraphIconToSvg(node.icon) ? node.icon : getDefaultQueryGraphNodeIcon(node);
|
|
103
|
+
}
|
|
104
|
+
export function getQueryGraphNodeIconSvgs(node) {
|
|
105
|
+
var _node$operationType2;
|
|
106
|
+
var defaultKey = node.kind === 'operation' ? "operation:".concat((_node$operationType2 = node.operationType) !== null && _node$operationType2 !== void 0 ? _node$operationType2 : 'operation') : 'resource';
|
|
107
|
+
var defaultIconColorToken = '--g-color-text-misc';
|
|
108
|
+
var fallbackIconSvg = defaultIconSvgCache.get(defaultKey);
|
|
109
|
+
if (!fallbackIconSvg) {
|
|
110
|
+
var _queryGraphIconToSvg;
|
|
111
|
+
fallbackIconSvg = (_queryGraphIconToSvg = queryGraphIconToSvg(getDefaultQueryGraphNodeIcon(node))) !== null && _queryGraphIconToSvg !== void 0 ? _queryGraphIconToSvg : '';
|
|
112
|
+
defaultIconSvgCache.set(defaultKey, fallbackIconSvg);
|
|
113
|
+
}
|
|
114
|
+
if (! /*#__PURE__*/React.isValidElement(node.icon)) {
|
|
115
|
+
return {
|
|
116
|
+
iconSvg: fallbackIconSvg,
|
|
117
|
+
fallbackIconSvg: fallbackIconSvg,
|
|
118
|
+
iconColorToken: defaultIconColorToken,
|
|
119
|
+
fallbackIconColorToken: defaultIconColorToken
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
var iconSvg = customIconSvgCache.get(node.icon);
|
|
123
|
+
if (!customIconSvgCache.has(node.icon)) {
|
|
124
|
+
iconSvg = queryGraphIconToSvg(node.icon);
|
|
125
|
+
customIconSvgCache.set(node.icon, iconSvg);
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
iconSvg: iconSvg !== null && iconSvg !== void 0 ? iconSvg : fallbackIconSvg,
|
|
129
|
+
fallbackIconSvg: fallbackIconSvg,
|
|
130
|
+
iconColorToken: iconSvg ? '--g-color-text-primary' : defaultIconColorToken,
|
|
131
|
+
fallbackIconColorToken: defaultIconColorToken
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
export function queryGraphIconToSvg(icon) {
|
|
135
|
+
if (! /*#__PURE__*/React.isValidElement(icon)) return undefined;
|
|
136
|
+
try {
|
|
137
|
+
var markup = renderToStaticMarkup(icon);
|
|
138
|
+
return markup.startsWith('<svg') ? markup : undefined;
|
|
139
|
+
} catch (_unused) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
export function getQueryGraphStatusIconSvg(status) {
|
|
144
|
+
if (statusIconSvgCache.has(status)) return statusIconSvgCache.get(status);
|
|
145
|
+
var StatusIcon = statusIcons[status];
|
|
146
|
+
var svg = StatusIcon ? queryGraphIconToSvg(/*#__PURE__*/_jsx(StatusIcon, {})) : undefined;
|
|
147
|
+
statusIconSvgCache.set(status, svg);
|
|
148
|
+
return svg;
|
|
149
|
+
}
|
|
150
|
+
// #sourceMappingURL=queryGraphIcons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","CircleCheck","CircleMinus","CirclePlay","CircleXmark","CodeCommit","CodeMerge","Eraser","LayoutHeaderCellsLarge","ListTimeline","Molecule","Shuffle","renderToStaticMarkup","jsx","_jsx","jsxs","_jsxs","MapOperationIcon","props","_objectSpread","width","height","viewBox","fill","xmlns","children","fillRule","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","ReduceOperationIcon","MapReduceOperationIcon","operationIcons","read","map","reduce","merge","sort","erase","commit","operation","statusIcons","running","completed","failed","aborted","statusIconSvgCache","Map","defaultIconSvgCache","customIconSvgCache","WeakMap","getDefaultQueryGraphNodeIcon","node","_node$operationType","IconComponent","kind","operationType","getQueryGraphNodeIcon","isValidElement","icon","queryGraphIconToSvg","getQueryGraphNodeIconSvgs","_node$operationType2","defaultKey","concat","defaultIconColorToken","fallbackIconSvg","get","_queryGraphIconToSvg","set","iconSvg","iconColorToken","fallbackIconColorToken","has","undefined","markup","startsWith","_unused","getQueryGraphStatusIconSvg","status","StatusIcon","svg"],"sources":["queryGraphIcons.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CircleCheck,\n CircleMinus,\n CirclePlay,\n CircleXmark,\n CodeCommit,\n CodeMerge,\n Eraser,\n LayoutHeaderCellsLarge,\n ListTimeline,\n Molecule,\n Shuffle,\n} from '@gravity-ui/icons';\nimport {renderToStaticMarkup} from 'react-dom/server';\n\nimport type {\n QueryGraphNode,\n QueryGraphNodeStatus,\n QueryGraphOperationType,\n} from '../../../types/queryGraph';\n\ntype SvgIcon = (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;\n\n// Map, Reduce and MapReduce paths are adapted from the corresponding neutral\n// operation icons in ytsaurus/ytsaurus-ui (Apache-2.0).\nconst MapOperationIcon: SvgIcon = (props) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M3 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M2.25.5a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5M3 8a.75.75 0 1 1-1.5 0A.75.75 0 0 1 3 8m-.75-2.25a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5M3 13.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M2.25 11a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m11.5-8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m0-2.5a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m0-3a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m.75 7.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m-.75-2.25a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5\"\n />\n <path\n d=\"M4 2.8h8M4 8h8m-5-2.5L9.5 8 7 10.5m-3 2.8h8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nconst ReduceOperationIcon: SvgIcon = (props) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M4 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M3.25.5a2.25 2.25 0 0 1 2.122 1.5h.378a3 3 0 0 1 3 3v2.25h3.94l-1.22-1.22a.75.75 0 0 1 1.06-1.06l2.5 2.5a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 1 1-1.06-1.06l1.22-1.22H8.75V11a3 3 0 0 1-3 3h-.378a2.25 2.25 0 1 1 0-1.5h.378A1.5 1.5 0 0 0 7.25 11V8.75H5.372a2.25 2.25 0 1 1 0-1.5H7.25V5a1.5 1.5 0 0 0-1.5-1.5h-.378A2.25 2.25 0 1 1 3.25.5M4 8a.75.75 0 1 1-1.5 0A.75.75 0 0 1 4 8m0 5.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0\"\n />\n </svg>\n);\n\nconst MapReduceOperationIcon: SvgIcon = (props) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M3 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M4.372 3.5A2.25 2.25 0 1 1 4.372 2H6.25a3 3 0 0 1 3 3v.896A2.25 2.25 0 0 1 10.572 7.25H14a.75.75 0 0 1 0 1.5h-3.428A2.25 2.25 0 0 1 9.25 10.104V11a3 3 0 0 1-3 3H4.372a2.25 2.25 0 1 1 0-1.5H6.25a1.5 1.5 0 0 0 1.5-1.5v-.861a2.25 2.25 0 0 1-1.423-1.393L6.25 8.75H4.372a2.25 2.25 0 1 1 0-1.5H6.25l.077.004A2.25 2.25 0 0 1 7.75 5.861V5a1.5 1.5 0 0 0-1.5-1.5zM3 8a.75.75 0 1 1-1.5 0A.75.75 0 0 1 3 8m0 5.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0M9.2 8a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0\"\n />\n <path\n d=\"M12.5 5.5 15 8l-2.5 2.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nconst operationIcons: Record<QueryGraphOperationType, SvgIcon> = {\n read: ListTimeline,\n map: MapOperationIcon,\n reduce: ReduceOperationIcon,\n 'map-reduce': MapReduceOperationIcon,\n merge: CodeMerge,\n sort: Shuffle,\n erase: Eraser,\n commit: CodeCommit,\n operation: Molecule,\n};\n\nconst statusIcons: Partial<Record<QueryGraphNodeStatus, SvgIcon>> = {\n running: CirclePlay,\n completed: CircleCheck,\n failed: CircleXmark,\n aborted: CircleMinus,\n};\nconst statusIconSvgCache = new Map<QueryGraphNodeStatus, string | undefined>();\nconst defaultIconSvgCache = new Map<string, string>();\nconst customIconSvgCache = new WeakMap<object, string | undefined>();\n\nexport function getDefaultQueryGraphNodeIcon(node: QueryGraphNode): React.ReactElement {\n const IconComponent =\n node.kind === 'operation'\n ? operationIcons[node.operationType ?? 'operation']\n : LayoutHeaderCellsLarge;\n return <IconComponent />;\n}\n\nexport function getQueryGraphNodeIcon(node: QueryGraphNode): React.ReactElement {\n return React.isValidElement(node.icon) && queryGraphIconToSvg(node.icon)\n ? node.icon\n : getDefaultQueryGraphNodeIcon(node);\n}\n\nexport function getQueryGraphNodeIconSvgs(node: QueryGraphNode) {\n const defaultKey =\n node.kind === 'operation' ? `operation:${node.operationType ?? 'operation'}` : 'resource';\n const defaultIconColorToken = '--g-color-text-misc';\n let fallbackIconSvg = defaultIconSvgCache.get(defaultKey);\n if (!fallbackIconSvg) {\n fallbackIconSvg = queryGraphIconToSvg(getDefaultQueryGraphNodeIcon(node)) ?? '';\n defaultIconSvgCache.set(defaultKey, fallbackIconSvg);\n }\n\n if (!React.isValidElement(node.icon)) {\n return {\n iconSvg: fallbackIconSvg,\n fallbackIconSvg,\n iconColorToken: defaultIconColorToken,\n fallbackIconColorToken: defaultIconColorToken,\n };\n }\n let iconSvg = customIconSvgCache.get(node.icon);\n if (!customIconSvgCache.has(node.icon)) {\n iconSvg = queryGraphIconToSvg(node.icon);\n customIconSvgCache.set(node.icon, iconSvg);\n }\n return {\n iconSvg: iconSvg ?? fallbackIconSvg,\n fallbackIconSvg,\n iconColorToken: iconSvg ? '--g-color-text-primary' : defaultIconColorToken,\n fallbackIconColorToken: defaultIconColorToken,\n };\n}\n\nexport function queryGraphIconToSvg(icon: React.ReactNode): string | undefined {\n if (!React.isValidElement(icon)) return undefined;\n try {\n const markup = renderToStaticMarkup(icon);\n return markup.startsWith('<svg') ? markup : undefined;\n } catch {\n return undefined;\n }\n}\n\nexport function getQueryGraphStatusIconSvg(status: QueryGraphNodeStatus) {\n if (statusIconSvgCache.has(status)) return statusIconSvgCache.get(status);\n const StatusIcon = statusIcons[status];\n const svg = StatusIcon ? queryGraphIconToSvg(<StatusIcon />) : undefined;\n statusIconSvgCache.set(status, svg);\n return svg;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ConverterResult } from '@gravity-ui/graph';
|
|
2
|
+
type QueryGraphLayoutInput = {
|
|
3
|
+
structureKey: string;
|
|
4
|
+
blocks: Array<{
|
|
5
|
+
id: string;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}>;
|
|
9
|
+
connections: Array<{
|
|
10
|
+
id: string;
|
|
11
|
+
sourceBlockId: string;
|
|
12
|
+
targetBlockId: string;
|
|
13
|
+
}>;
|
|
14
|
+
onError?: (error: Error) => void;
|
|
15
|
+
};
|
|
16
|
+
export declare function useQueryGraphLayout({ structureKey, blocks, connections, onError, }: QueryGraphLayoutInput): {
|
|
17
|
+
result: ConverterResult | undefined;
|
|
18
|
+
resolvedStructureKey: string | undefined;
|
|
19
|
+
isInitialLoading: boolean;
|
|
20
|
+
error: Error | undefined;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { useLayeredLayout } from '@gravity-ui/graph';
|
|
4
|
+
export function useQueryGraphLayout(_ref) {
|
|
5
|
+
var structureKey = _ref.structureKey,
|
|
6
|
+
blocks = _ref.blocks,
|
|
7
|
+
connections = _ref.connections,
|
|
8
|
+
onError = _ref.onError;
|
|
9
|
+
var onErrorRef = useRef(onError);
|
|
10
|
+
onErrorRef.current = onError;
|
|
11
|
+
var requestedKeyRef = useRef(structureKey);
|
|
12
|
+
var _useState = useState(),
|
|
13
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
14
|
+
resolved = _useState2[0],
|
|
15
|
+
setResolved = _useState2[1];
|
|
16
|
+
var _useState3 = useState(),
|
|
17
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
18
|
+
error = _useState4[0],
|
|
19
|
+
setError = _useState4[1];
|
|
20
|
+
var handleError = useCallback(function (nextError) {
|
|
21
|
+
var _onErrorRef$current;
|
|
22
|
+
setError(nextError);
|
|
23
|
+
(_onErrorRef$current = onErrorRef.current) === null || _onErrorRef$current === void 0 || _onErrorRef$current.call(onErrorRef, nextError);
|
|
24
|
+
}, []);
|
|
25
|
+
var _useLayeredLayout = useLayeredLayout({
|
|
26
|
+
blocks: blocks,
|
|
27
|
+
connections: connections,
|
|
28
|
+
onError: handleError
|
|
29
|
+
}),
|
|
30
|
+
result = _useLayeredLayout.result,
|
|
31
|
+
isLoading = _useLayeredLayout.isLoading;
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
setError(undefined);
|
|
34
|
+
}, [structureKey]);
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
if (isLoading) requestedKeyRef.current = structureKey;
|
|
37
|
+
}, [isLoading, structureKey]);
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
if (!isLoading && result && requestedKeyRef.current === structureKey) {
|
|
40
|
+
setResolved({
|
|
41
|
+
structureKey: structureKey,
|
|
42
|
+
result: result
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}, [isLoading, result, structureKey]);
|
|
46
|
+
return {
|
|
47
|
+
result: resolved === null || resolved === void 0 ? void 0 : resolved.result,
|
|
48
|
+
resolvedStructureKey: resolved === null || resolved === void 0 ? void 0 : resolved.structureKey,
|
|
49
|
+
isInitialLoading: isLoading && !resolved,
|
|
50
|
+
error: error
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
// #sourceMappingURL=useQueryGraphLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","useLayeredLayout","useQueryGraphLayout","_ref","structureKey","blocks","connections","onError","onErrorRef","current","requestedKeyRef","_useState","_useState2","_slicedToArray","resolved","setResolved","_useState3","_useState4","error","setError","handleError","nextError","_onErrorRef$current","call","_useLayeredLayout","result","isLoading","undefined","resolvedStructureKey","isInitialLoading"],"sources":["useQueryGraphLayout.ts"],"sourcesContent":["import {useCallback, useEffect, useRef, useState} from 'react';\nimport {type ConverterResult, useLayeredLayout} from '@gravity-ui/graph';\n\ntype QueryGraphLayoutInput = {\n structureKey: string;\n blocks: Array<{id: string; width: number; height: number}>;\n connections: Array<{\n id: string;\n sourceBlockId: string;\n targetBlockId: string;\n }>;\n onError?: (error: Error) => void;\n};\n\ntype ResolvedLayout = {structureKey: string; result: ConverterResult};\n\nexport function useQueryGraphLayout({\n structureKey,\n blocks,\n connections,\n onError,\n}: QueryGraphLayoutInput) {\n const onErrorRef = useRef(onError);\n onErrorRef.current = onError;\n const requestedKeyRef = useRef(structureKey);\n const [resolved, setResolved] = useState<ResolvedLayout>();\n const [error, setError] = useState<Error>();\n\n const handleError = useCallback((nextError: Error) => {\n setError(nextError);\n onErrorRef.current?.(nextError);\n }, []);\n const {result, isLoading} = useLayeredLayout({blocks, connections, onError: handleError});\n\n useEffect(() => {\n setError(undefined);\n }, [structureKey]);\n useEffect(() => {\n if (isLoading) requestedKeyRef.current = structureKey;\n }, [isLoading, structureKey]);\n useEffect(() => {\n if (!isLoading && result && requestedKeyRef.current === structureKey) {\n setResolved({structureKey, result});\n }\n }, [isLoading, result, structureKey]);\n\n return {\n result: resolved?.result,\n resolvedStructureKey: resolved?.structureKey,\n isInitialLoading: isLoading && !resolved,\n error,\n };\n}\n"],"mappings":";AAAA,SAAQA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAO,OAAO;AAC9D,SAA8BC,gBAAgB,QAAO,mBAAmB;AAexE,OAAO,SAASC,mBAAmBA,CAAAC,IAAA,EAKT;EAAA,IAJtBC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IACZC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAEP,IAAMC,UAAU,GAAGT,MAAM,CAACQ,OAAO,CAAC;EAClCC,UAAU,CAACC,OAAO,GAAGF,OAAO;EAC5B,IAAMG,eAAe,GAAGX,MAAM,CAACK,YAAY,CAAC;EAC5C,IAAAO,SAAA,GAAgCX,QAAQ,CAAiB,CAAC;IAAAY,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAnDG,QAAQ,GAAAF,UAAA;IAAEG,WAAW,GAAAH,UAAA;EAC5B,IAAAI,UAAA,GAA0BhB,QAAQ,CAAQ,CAAC;IAAAiB,UAAA,GAAAJ,cAAA,CAAAG,UAAA;IAApCE,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EAEtB,IAAMG,WAAW,GAAGvB,WAAW,CAAC,UAACwB,SAAgB,EAAK;IAAA,IAAAC,mBAAA;IAClDH,QAAQ,CAACE,SAAS,CAAC;IACnB,CAAAC,mBAAA,GAAAd,UAAU,CAACC,OAAO,cAAAa,mBAAA,eAAlBA,mBAAA,CAAAC,IAAA,CAAAf,UAAU,EAAWa,SAAS,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EACN,IAAAG,iBAAA,GAA4BvB,gBAAgB,CAAC;MAACI,MAAM,EAANA,MAAM;MAAEC,WAAW,EAAXA,WAAW;MAAEC,OAAO,EAAEa;IAAW,CAAC,CAAC;IAAlFK,MAAM,GAAAD,iBAAA,CAANC,MAAM;IAAEC,SAAS,GAAAF,iBAAA,CAATE,SAAS;EAExB5B,SAAS,CAAC,YAAM;IACZqB,QAAQ,CAACQ,SAAS,CAAC;EACvB,CAAC,EAAE,CAACvB,YAAY,CAAC,CAAC;EAClBN,SAAS,CAAC,YAAM;IACZ,IAAI4B,SAAS,EAAEhB,eAAe,CAACD,OAAO,GAAGL,YAAY;EACzD,CAAC,EAAE,CAACsB,SAAS,EAAEtB,YAAY,CAAC,CAAC;EAC7BN,SAAS,CAAC,YAAM;IACZ,IAAI,CAAC4B,SAAS,IAAID,MAAM,IAAIf,eAAe,CAACD,OAAO,KAAKL,YAAY,EAAE;MAClEW,WAAW,CAAC;QAACX,YAAY,EAAZA,YAAY;QAAEqB,MAAM,EAANA;MAAM,CAAC,CAAC;IACvC;EACJ,CAAC,EAAE,CAACC,SAAS,EAAED,MAAM,EAAErB,YAAY,CAAC,CAAC;EAErC,OAAO;IACHqB,MAAM,EAAEX,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEW,MAAM;IACxBG,oBAAoB,EAAEd,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEV,YAAY;IAC5CyB,gBAAgB,EAAEH,SAAS,IAAI,CAACZ,QAAQ;IACxCI,KAAK,EAALA;EACJ,CAAC;AACL","ignoreList":[]}
|