@ytsaurus/ui 1.8.0 → 1.10.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.
Files changed (159) hide show
  1. package/README.md +0 -1
  2. package/build/cjs/shared/constants/settings-types.d.ts +7 -1
  3. package/build/cjs/shared/constants/settings-types.js.map +1 -1
  4. package/build/cjs/shared/constants/settings.d.ts +1 -0
  5. package/build/cjs/shared/constants/settings.js +1 -0
  6. package/build/cjs/shared/constants/settings.js.map +1 -1
  7. package/build/cjs/ui/components/Icon/Icon.d.ts +1 -0
  8. package/build/cjs/ui/components/Icon/importGravityIcons.d.ts +1 -0
  9. package/build/cjs/ui/components/Icon/importGravityIcons.js +18 -1
  10. package/build/cjs/ui/components/Icon/importGravityIcons.js.map +1 -1
  11. package/build/cjs/ui/containers/SettingsMenu/SettingsMenuItem.d.ts +2 -0
  12. package/build/cjs/ui/containers/SettingsMenu/SettingsMenuItem.js +10 -4
  13. package/build/cjs/ui/containers/SettingsMenu/SettingsMenuItem.js.map +1 -1
  14. package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -2
  15. package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  16. package/build/cjs/ui/hooks/use-prevent-unload.d.ts +3 -0
  17. package/build/cjs/ui/hooks/use-prevent-unload.js +25 -0
  18. package/build/cjs/ui/hooks/use-prevent-unload.js.map +1 -0
  19. package/build/cjs/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js +27 -13
  20. package/build/cjs/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js.map +1 -1
  21. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.d.ts +1 -0
  22. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -1
  23. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
  24. package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.d.ts +2 -0
  25. package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js +28 -0
  26. package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js.map +1 -0
  27. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +1 -7
  28. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js +4 -34
  29. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  30. package/build/cjs/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js +5 -3
  31. package/build/cjs/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js.map +1 -1
  32. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js +11 -11
  33. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  34. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js +3 -2
  35. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  36. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +4 -0
  37. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js +14 -1
  38. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -1
  39. package/build/cjs/ui/pages/query-tracker/module/query/actions.d.ts +1 -1
  40. package/build/cjs/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  41. package/build/cjs/ui/pages/query-tracker/module/query/reducer.d.ts +1 -0
  42. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js +6 -1
  43. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  44. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -0
  45. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js +4 -1
  46. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  47. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +839 -0
  48. package/build/cjs/ui/pages/query-tracker/module/settings/selector.js +12 -0
  49. package/build/cjs/ui/pages/query-tracker/module/settings/selector.js.map +1 -0
  50. package/build/cjs/ui/store/actions/settings/index.d.ts +3 -2
  51. package/build/cjs/ui/store/actions/settings/index.js +8 -2
  52. package/build/cjs/ui/store/actions/settings/index.js.map +1 -1
  53. package/build/cjs/ui/store/reducers/global/cluster-ui-config.d.ts +0 -1
  54. package/build/cjs/ui/store/reducers/global/cluster-ui-config.js.map +1 -1
  55. package/build/cjs/ui/store/selectors/global/index.d.ts +0 -840
  56. package/build/cjs/ui/store/selectors/global/index.js +2 -8
  57. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  58. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +1 -1
  59. package/build/cjs/ui/store/selectors/navigation/content/table.js +2 -3
  60. package/build/cjs/ui/store/selectors/navigation/content/table.js.map +1 -1
  61. package/build/cjs/ui/store/selectors/settings-base.d.ts +3 -0
  62. package/build/cjs/ui/store/selectors/settings-base.js +10 -0
  63. package/build/cjs/ui/store/selectors/settings-base.js.map +1 -0
  64. package/build/esm/shared/constants/settings-types.d.ts +7 -1
  65. package/build/esm/shared/constants/settings-types.js.map +1 -1
  66. package/build/esm/shared/constants/settings.d.ts +1 -0
  67. package/build/esm/shared/constants/settings.js +2 -1
  68. package/build/esm/shared/constants/settings.js.map +1 -1
  69. package/build/esm/ui/components/Icon/Icon.d.ts +1 -0
  70. package/build/esm/ui/components/Icon/importGravityIcons.d.ts +1 -0
  71. package/build/esm/ui/components/Icon/importGravityIcons.js +18 -1
  72. package/build/esm/ui/components/Icon/importGravityIcons.js.map +1 -1
  73. package/build/esm/ui/containers/SettingsMenu/SettingsMenuItem.d.ts +2 -0
  74. package/build/esm/ui/containers/SettingsMenu/SettingsMenuItem.js +11 -5
  75. package/build/esm/ui/containers/SettingsMenu/SettingsMenuItem.js.map +1 -1
  76. package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -3
  77. package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  78. package/build/esm/ui/hooks/use-prevent-unload.d.ts +3 -0
  79. package/build/esm/ui/hooks/use-prevent-unload.js +19 -0
  80. package/build/esm/ui/hooks/use-prevent-unload.js.map +1 -0
  81. package/build/esm/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js +28 -13
  82. package/build/esm/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js.map +1 -1
  83. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.d.ts +1 -0
  84. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -1
  85. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
  86. package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.d.ts +2 -0
  87. package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js +21 -0
  88. package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js.map +1 -0
  89. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +1 -7
  90. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js +4 -34
  91. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  92. package/build/esm/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js +5 -3
  93. package/build/esm/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js.map +1 -1
  94. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js +11 -11
  95. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  96. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js +4 -2
  97. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  98. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +4 -0
  99. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js +13 -0
  100. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -1
  101. package/build/esm/ui/pages/query-tracker/module/query/actions.d.ts +1 -1
  102. package/build/esm/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  103. package/build/esm/ui/pages/query-tracker/module/query/reducer.d.ts +1 -0
  104. package/build/esm/ui/pages/query-tracker/module/query/reducer.js +6 -1
  105. package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  106. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -0
  107. package/build/esm/ui/pages/query-tracker/module/query/selectors.js +3 -0
  108. package/build/esm/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  109. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +839 -0
  110. package/build/esm/ui/pages/query-tracker/module/settings/selector.js +6 -0
  111. package/build/esm/ui/pages/query-tracker/module/settings/selector.js.map +1 -0
  112. package/build/esm/ui/store/actions/settings/index.d.ts +3 -2
  113. package/build/esm/ui/store/actions/settings/index.js +7 -2
  114. package/build/esm/ui/store/actions/settings/index.js.map +1 -1
  115. package/build/esm/ui/store/reducers/global/cluster-ui-config.d.ts +0 -1
  116. package/build/esm/ui/store/reducers/global/cluster-ui-config.js.map +1 -1
  117. package/build/esm/ui/store/selectors/global/index.d.ts +0 -840
  118. package/build/esm/ui/store/selectors/global/index.js +0 -6
  119. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  120. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +1 -1
  121. package/build/esm/ui/store/selectors/navigation/content/table.js +2 -3
  122. package/build/esm/ui/store/selectors/navigation/content/table.js.map +1 -1
  123. package/build/esm/ui/store/selectors/settings-base.d.ts +3 -0
  124. package/build/esm/ui/store/selectors/settings-base.js +4 -0
  125. package/build/esm/ui/store/selectors/settings-base.js.map +1 -0
  126. package/dist/public/build/assets-manifest.json +22 -22
  127. package/dist/public/build/css/{225.b92ccff1.chunk.css → 150.81172525.chunk.css} +1 -1
  128. package/dist/public/build/css/{225.b92ccff1.chunk.css.map → 150.81172525.chunk.css.map} +1 -1
  129. package/dist/public/build/css/{622.fd3f4ea8.chunk.css → 869.8f91d9da.chunk.css} +1 -1
  130. package/dist/public/build/css/{622.fd3f4ea8.chunk.css.map → 869.8f91d9da.chunk.css.map} +1 -1
  131. package/dist/public/build/css/{315.6f50c50a.chunk.css → 934.adfa96ce.chunk.css} +1 -1
  132. package/dist/public/build/css/{315.6f50c50a.chunk.css.map → 934.adfa96ce.chunk.css.map} +1 -1
  133. package/dist/public/build/js/150.911decab.chunk.js +2 -0
  134. package/dist/public/build/js/150.911decab.chunk.js.map +1 -0
  135. package/dist/public/build/js/869.3cf341b5.chunk.js +3 -0
  136. package/dist/public/build/js/869.3cf341b5.chunk.js.map +1 -0
  137. package/dist/public/build/js/925.ef88f4d2.chunk.js +2 -0
  138. package/dist/public/build/js/{925.88573496.chunk.js.map → 925.ef88f4d2.chunk.js.map} +1 -1
  139. package/dist/public/build/js/934.fb5e730e.chunk.js +2 -0
  140. package/dist/public/build/js/934.fb5e730e.chunk.js.map +1 -0
  141. package/dist/public/build/js/main.ff54db3c.js +3 -0
  142. package/dist/public/build/js/{main.f963eaee.js.map → main.ff54db3c.js.map} +1 -1
  143. package/dist/public/build/js/{runtime.f4dc30b7.js → runtime.fea34b4d.js} +2 -2
  144. package/dist/public/build/js/{runtime.f4dc30b7.js.map → runtime.fea34b4d.js.map} +1 -1
  145. package/dist/public/build/manifest.json +18 -18
  146. package/dist/shared/constants/settings-types.d.ts +7 -1
  147. package/dist/shared/constants/settings.d.ts +1 -0
  148. package/dist/shared/constants/settings.js +1 -0
  149. package/package.json +2 -2
  150. package/dist/public/build/js/225.1200e703.chunk.js +0 -2
  151. package/dist/public/build/js/225.1200e703.chunk.js.map +0 -1
  152. package/dist/public/build/js/315.332b1ef1.chunk.js +0 -2
  153. package/dist/public/build/js/315.332b1ef1.chunk.js.map +0 -1
  154. package/dist/public/build/js/622.137ced51.chunk.js +0 -3
  155. package/dist/public/build/js/622.137ced51.chunk.js.map +0 -1
  156. package/dist/public/build/js/925.88573496.chunk.js +0 -2
  157. package/dist/public/build/js/main.f963eaee.js +0 -3
  158. /package/dist/public/build/js/{622.137ced51.chunk.js.LICENSE.txt → 869.3cf341b5.chunk.js.LICENSE.txt} +0 -0
  159. /package/dist/public/build/js/{main.f963eaee.js.LICENSE.txt → main.ff54db3c.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_times","_interopRequireDefault","require","_has","_find","_api","_QueryStatus","_react","_interopRequireWildcard","_reactRedux","_actions","_selectors","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","QueryResultTab","exports","isResultTab","tabId","startsWith","createResultTabId","index","concat","parseResultTabIndex","parts","split","parseInt","undefined","useQueryResultTabs","query","_useState","useState","META","_useState2","_slicedToArray","tab","setTab","_useState3","_useState4","activeResultParams","setResultParams","dispatch","useDispatch","resultsMeta","useSelector","state","getQueryResults","id","activeTabId","useMemo","RESULT","resultIndex","setActiveTab","useCallback","queryId","tabs","items","title","progress","unshift","PROGRESS","QueryStatus","FAILED","ERROR","COMPLETED","_query$progress","yql_statistics","STATISTIC","apply","_toConsumableArray","times_","result_count","num","icon","has_","_jsx","QueryStatusIcon","status","className","isCompleted","find_","CompletedStates","useEffect","_tabs$","loadQueryResultsErrors","category"],"sources":["useQueryResultTabs.tsx"],"sourcesContent":["import {TabsItemProps} from '@gravity-ui/uikit';\nimport times_ from 'lodash/times';\nimport has_ from 'lodash/has';\nimport find_ from 'lodash/find';\nimport {CompletedStates, QueryItem, QueryStatus} from '../../module/api';\nimport {QueryStatusIcon} from '../../QueryStatus';\nimport React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {loadQueryResultsErrors} from '../../module/query_result/actions';\nimport {getQueryResults} from '../../module/query_result/selectors';\nimport {RootState} from '../../../../store/reducers';\n\nexport enum QueryResultTab {\n ERROR = 'error',\n META = 'meta',\n RESULT = 'result',\n STATISTIC = 'statistic',\n PROGRESS = 'progress',\n}\n\nconst isResultTab = (tabId: string) => tabId.startsWith('result/');\n\nconst createResultTabId = (index: number) => `result/${index}`;\n\nconst parseResultTabIndex = (tabId: string) => {\n const parts = tabId.split('/');\n return parts?.[1] ? parseInt(parts?.[1], 10) : undefined;\n};\n\ntype ResultCurrentState = {\n activeTabId: string;\n category: QueryResultTab;\n activeResultParams?: {queryId: string; resultIndex: number};\n};\n\nexport const useQueryResultTabs = (\n query?: QueryItem,\n): [TabsItemProps[], (tab: string, queryId?: string) => void, ResultCurrentState] => {\n const [tab, setTab] = useState<QueryResultTab>(QueryResultTab.META);\n const [activeResultParams, setResultParams] =\n useState<ResultCurrentState['activeResultParams']>(undefined);\n const dispatch = useDispatch();\n const resultsMeta = useSelector((state: RootState) => getQueryResults(state, query?.id || ''));\n\n const activeTabId = useMemo(() => {\n if (tab === QueryResultTab.RESULT) {\n return createResultTabId(activeResultParams?.resultIndex || 0);\n }\n return tab;\n }, [tab, activeResultParams]);\n\n const setActiveTab = useCallback(\n (tabId: string, queryId?: string) => {\n if (isResultTab(tabId)) {\n setTab(QueryResultTab.RESULT);\n const id = queryId || activeResultParams?.queryId;\n if (id) {\n setResultParams({\n queryId: id,\n resultIndex: parseResultTabIndex(tabId) || 0,\n });\n } else {\n setResultParams(undefined);\n }\n } else {\n setTab(tabId as QueryResultTab);\n setResultParams(undefined);\n }\n },\n [activeResultParams],\n );\n\n const tabs = useMemo(() => {\n if (!query) {\n return [];\n }\n const items: TabsItemProps[] = [{id: QueryResultTab.META, title: 'Meta'}];\n if (query.progress) {\n items.unshift({\n id: QueryResultTab.PROGRESS,\n title: 'Progress',\n });\n }\n if (query.state === QueryStatus.FAILED) {\n items.unshift({id: QueryResultTab.ERROR, title: 'Error'});\n } else if (query.state === QueryStatus.COMPLETED) {\n if (query.progress?.yql_statistics) {\n items.unshift({\n id: QueryResultTab.STATISTIC,\n title: 'Statistics',\n });\n }\n items.unshift(\n ...times_(query.result_count, (num) => {\n let icon;\n if (resultsMeta && resultsMeta[num] && has_(resultsMeta[num], 'error')) {\n icon = (\n <QueryStatusIcon\n status={QueryStatus.FAILED}\n className={'query-status_tabs'}\n />\n );\n }\n return {\n id: createResultTabId(num),\n title: query.result_count === 1 ? 'Result' : `Result #${num + 1}`,\n icon,\n };\n }),\n );\n }\n return items;\n }, [query, resultsMeta]);\n\n const isCompleted = find_(CompletedStates, (status) => query?.state === status);\n\n useEffect(() => {\n if (query) {\n dispatch(loadQueryResultsErrors(query));\n }\n setActiveTab(tabs?.[0]?.id, query?.id);\n }, [dispatch, query?.id, isCompleted]);\n\n return [\n tabs,\n setActiveTab,\n {\n activeTabId,\n category: tab,\n activeResultParams,\n },\n ];\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_times","_interopRequireDefault","require","_has","_find","_api","_QueryStatus","_react","_interopRequireWildcard","_reactRedux","_actions","_selectors","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","QueryResultTab","exports","isResultTab","tabId","startsWith","createResultTabId","index","concat","parseResultTabIndex","parts","split","parseInt","undefined","useQueryResultTabs","query","_useState","useState","META","_useState2","_slicedToArray","tab","setTab","_useState3","_useState4","activeResultParams","setResultParams","dispatch","useDispatch","resultsMeta","useSelector","state","getQueryResults","id","activeTabId","useMemo","RESULT","resultIndex","setActiveTab","useCallback","queryId","tabs","_query$progress","_query$progress2","items","title","emptyProgress","progress","yql_plan","Basic","nodes","length","links","unshift","PROGRESS","QueryStatus","FAILED","ERROR","COMPLETED","_query$progress3","yql_statistics","STATISTIC","apply","_toConsumableArray","times_","result_count","num","icon","has_","_jsx","QueryStatusIcon","status","className","isCompleted","find_","CompletedStates","useEffect","_tabs$","loadQueryResultsErrors","category"],"sources":["useQueryResultTabs.tsx"],"sourcesContent":["import {TabsItemProps} from '@gravity-ui/uikit';\nimport times_ from 'lodash/times';\nimport has_ from 'lodash/has';\nimport find_ from 'lodash/find';\nimport {CompletedStates, QueryItem, QueryStatus} from '../../module/api';\nimport {QueryStatusIcon} from '../../QueryStatus';\nimport React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {loadQueryResultsErrors} from '../../module/query_result/actions';\nimport {getQueryResults} from '../../module/query_result/selectors';\nimport {RootState} from '../../../../store/reducers';\n\nexport enum QueryResultTab {\n ERROR = 'error',\n META = 'meta',\n RESULT = 'result',\n STATISTIC = 'statistic',\n PROGRESS = 'progress',\n}\n\nconst isResultTab = (tabId: string) => tabId.startsWith('result/');\n\nconst createResultTabId = (index: number) => `result/${index}`;\n\nconst parseResultTabIndex = (tabId: string) => {\n const parts = tabId.split('/');\n return parts?.[1] ? parseInt(parts?.[1], 10) : undefined;\n};\n\ntype ResultCurrentState = {\n activeTabId: string;\n category: QueryResultTab;\n activeResultParams?: {queryId: string; resultIndex: number};\n};\n\nexport const useQueryResultTabs = (\n query?: QueryItem,\n): [TabsItemProps[], (tab: string, queryId?: string) => void, ResultCurrentState] => {\n const [tab, setTab] = useState<QueryResultTab>(QueryResultTab.META);\n const [activeResultParams, setResultParams] =\n useState<ResultCurrentState['activeResultParams']>(undefined);\n const dispatch = useDispatch();\n const resultsMeta = useSelector((state: RootState) => getQueryResults(state, query?.id || ''));\n\n const activeTabId = useMemo(() => {\n if (tab === QueryResultTab.RESULT) {\n return createResultTabId(activeResultParams?.resultIndex || 0);\n }\n return tab;\n }, [tab, activeResultParams]);\n\n const setActiveTab = useCallback(\n (tabId: string, queryId?: string) => {\n if (isResultTab(tabId)) {\n setTab(QueryResultTab.RESULT);\n const id = queryId || activeResultParams?.queryId;\n if (id) {\n setResultParams({\n queryId: id,\n resultIndex: parseResultTabIndex(tabId) || 0,\n });\n } else {\n setResultParams(undefined);\n }\n } else {\n setTab(tabId as QueryResultTab);\n setResultParams(undefined);\n }\n },\n [activeResultParams],\n );\n\n const tabs = useMemo(() => {\n if (!query) {\n return [];\n }\n const items: TabsItemProps[] = [{id: QueryResultTab.META, title: 'Meta'}];\n const emptyProgress =\n !query.progress?.yql_plan?.Basic.nodes.length &&\n !query.progress?.yql_plan?.Basic.links?.length;\n if (query.progress && !emptyProgress) {\n items.unshift({\n id: QueryResultTab.PROGRESS,\n title: 'Progress',\n });\n }\n if (query.state === QueryStatus.FAILED) {\n items.unshift({id: QueryResultTab.ERROR, title: 'Error'});\n } else if (query.state === QueryStatus.COMPLETED) {\n if (query.progress?.yql_statistics) {\n items.unshift({\n id: QueryResultTab.STATISTIC,\n title: 'Statistics',\n });\n }\n items.unshift(\n ...times_(query.result_count, (num) => {\n let icon;\n if (resultsMeta && resultsMeta[num] && has_(resultsMeta[num], 'error')) {\n icon = (\n <QueryStatusIcon\n status={QueryStatus.FAILED}\n className={'query-status_tabs'}\n />\n );\n }\n return {\n id: createResultTabId(num),\n title: query.result_count === 1 ? 'Result' : `Result #${num + 1}`,\n icon,\n };\n }),\n );\n }\n return items;\n }, [query, resultsMeta]);\n\n const isCompleted = find_(CompletedStates, (status) => query?.state === status);\n\n useEffect(() => {\n if (query) {\n dispatch(loadQueryResultsErrors(query));\n }\n setActiveTab(tabs?.[0]?.id, query?.id);\n }, [dispatch, query?.id, isCompleted]);\n\n return [\n tabs,\n setActiveTab,\n {\n activeTabId,\n category: tab,\n activeResultParams,\n },\n ];\n};\n"],"mappings":"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"}
@@ -14,8 +14,10 @@ var _QueryEditor = _interopRequireDefault(require("../QueryEditor/QueryEditor"))
14
14
  var _context = require("../hooks/QueriesPooling/context");
15
15
  var _api = require("../module/api");
16
16
  var _actions = require("../module/query/actions");
17
+ var _usePreventUnload = require("../../../hooks/use-prevent-unload");
18
+ var _QueriesList = require("../hooks/QueriesList");
17
19
  var _selectors = require("../module/query/selectors");
18
- var _QueriesList = require("../QueriesList");
20
+ var _QueriesList2 = require("../QueriesList");
19
21
  var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
20
22
  require("./QueryTracker.css");
21
23
  var _jsxRuntime = require("react/jsx-runtime");
@@ -70,14 +72,16 @@ function QueryPage(props) {
70
72
  }
71
73
  function QueryTracker(_ref) {
72
74
  var match = _ref.match;
75
+ var _useQueriesListSideba = (0, _QueriesList.useQueriesListSidebarToggle)(),
76
+ isQueriesListSidebarVisible = _useQueriesListSideba.isQueriesListSidebarVisible;
77
+ var isQueryStateDirty = (0, _reactRedux.useSelector)(_selectors.getDirtySinceLastSubmit);
78
+ (0, _usePreventUnload.usePreventUnload)({
79
+ shouldListen: isQueryStateDirty
80
+ });
73
81
  var _useState = (0, _react.useState)(initialSizes),
74
82
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
75
83
  sizes = _useState2[0],
76
84
  setSize = _useState2[1];
77
- var _useState3 = (0, _react.useState)(true),
78
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
79
- listVisible = _useState4[0],
80
- setListVisible = _useState4[1];
81
85
  var getSize = (0, _react.useMemo)(function () {
82
86
  return function () {
83
87
  return sizes;
@@ -105,12 +109,8 @@ function QueryTracker(_ref) {
105
109
  onResizeEnd: setSize,
106
110
  minSize: minSize,
107
111
  getInitialSizes: getSize,
108
- children: [listVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueriesList.QueriesList, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryEditor.default, {
109
- onStartQuery: goToCreatedQuery,
110
- listVisible: {
111
- visible: listVisible,
112
- setVisibility: setListVisible
113
- }
112
+ children: [isQueriesListSidebarVisible ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueriesList2.QueriesList, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryEditor.default, {
113
+ onStartQuery: goToCreatedQuery
114
114
  })]
115
115
  })
116
116
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRedux","_reactRouter","_FlexSplitPane","_interopRequireDefault","_QueryEditor","_context","_api","_actions","_selectors","_QueriesList","_bemCnLite","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","cn","initialSizes","minSize","QueryPageDraft","dispatch","useDispatch","routeParams","useSelector","getQueryGetParams","useEffect","engine","isEngine","QueryEngine","YQL","cluster","path","useDraft","type","SET_QUERY_PARAMS","data","params","_objectSpread","undefined","createQueryFromTablePath","createEmptyQuery","QueryPage","props","match","queryId","loadQuery","QueryTracker","_ref","_useState","useState","_useState2","_slicedToArray","sizes","setSize","_useState3","_useState4","listVisible","setListVisible","getSize","useMemo","goToCreatedQuery","useCallback","goToQuery","_jsxs","_Fragment","children","Switch","_jsx","Route","exact","component","concat","QueriesPooling","FlexSplitPane","className","direction","HORIZONTAL","onResizeEnd","getInitialSizes","QueriesList","QueryEditor","onStartQuery","visible","setVisibility"],"sources":["QueryTracker.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport QueryEditor from '../QueryEditor/QueryEditor';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {QueryEngine, isEngine} from '../module/api';\nimport {\n SET_QUERY_PARAMS,\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../module/query/actions';\nimport {getQueryGetParams} from '../module/query/selectors';\nimport {QueriesList} from '../QueriesList';\n\nimport cn from 'bem-cn-lite';\n\nimport './QueryTracker.scss';\n\nconst b = cn('query-tracker-page');\n\ntype Props = {\n match: {\n path: string;\n params: {\n queryId?: string;\n };\n };\n location: {\n search: string;\n };\n};\n\nconst initialSizes = [23, 77];\nconst minSize = 380; // see history list's cells size\n\nfunction QueryPageDraft() {\n const dispatch = useDispatch();\n const routeParams = useSelector(getQueryGetParams);\n\n useEffect(() => {\n const engine =\n routeParams.engine && isEngine(routeParams.engine)\n ? (routeParams.engine as QueryEngine)\n : QueryEngine.YQL;\n if (routeParams.cluster && routeParams.path) {\n if (routeParams.useDraft) {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {\n ...routeParams,\n useDraft: undefined,\n },\n },\n });\n }\n dispatch(\n createQueryFromTablePath(engine, routeParams.cluster, routeParams.path, {\n useDraft: true,\n }),\n );\n } else {\n dispatch(createEmptyQuery(engine));\n }\n }, [dispatch]);\n return null;\n}\n\nfunction QueryPage(props: Props) {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {},\n },\n });\n if (props.match.params.queryId) {\n dispatch(loadQuery(props.match.params.queryId));\n } else {\n dispatch(createEmptyQuery());\n }\n }, [dispatch, props.match.params.queryId]);\n return null;\n}\n\nexport default function QueryTracker({match}: Props) {\n const [sizes, setSize] = useState(initialSizes);\n const [listVisible, setListVisible] = useState<boolean>(true);\n const getSize = useMemo(() => {\n return () => sizes;\n }, [sizes]);\n const dispatch = useDispatch();\n\n const goToCreatedQuery = useCallback(\n (queryId: string) => {\n dispatch(goToQuery(queryId));\n return true;\n },\n [dispatch],\n );\n return (\n <>\n <Switch>\n <Route exact path={match.path} component={QueryPageDraft} />\n <Route path={`${match.path}/:queryId`} component={QueryPage} />\n </Switch>\n <QueriesPooling>\n <FlexSplitPane\n className={b('container')}\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n minSize={minSize}\n getInitialSizes={getSize}\n >\n {listVisible && <QueriesList />}\n <QueryEditor\n onStartQuery={goToCreatedQuery}\n listVisible={{\n visible: listVisible,\n setVisibility: setListVisible,\n }}\n ></QueryEditor>\n </FlexSplitPane>\n </QueriesPooling>\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRedux","_reactRouter","_FlexSplitPane","_interopRequireDefault","_QueryEditor","_context","_api","_actions","_usePreventUnload","_QueriesList","_selectors","_QueriesList2","_bemCnLite","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","cn","initialSizes","minSize","QueryPageDraft","dispatch","useDispatch","routeParams","useSelector","getQueryGetParams","useEffect","engine","isEngine","QueryEngine","YQL","cluster","path","useDraft","type","SET_QUERY_PARAMS","data","params","_objectSpread","undefined","createQueryFromTablePath","createEmptyQuery","QueryPage","props","match","queryId","loadQuery","QueryTracker","_ref","_useQueriesListSideba","useQueriesListSidebarToggle","isQueriesListSidebarVisible","isQueryStateDirty","getDirtySinceLastSubmit","usePreventUnload","shouldListen","_useState","useState","_useState2","_slicedToArray","sizes","setSize","getSize","useMemo","goToCreatedQuery","useCallback","goToQuery","_jsxs","_Fragment","children","Switch","_jsx","Route","exact","component","concat","QueriesPooling","FlexSplitPane","className","direction","HORIZONTAL","onResizeEnd","getInitialSizes","QueriesList","QueryEditor","onStartQuery"],"sources":["QueryTracker.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport QueryEditor from '../QueryEditor/QueryEditor';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {QueryEngine, isEngine} from '../module/api';\nimport {\n SET_QUERY_PARAMS,\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../module/query/actions';\nimport {usePreventUnload} from '../../../hooks/use-prevent-unload';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\nimport {getDirtySinceLastSubmit, getQueryGetParams} from '../module/query/selectors';\nimport {QueriesList} from '../QueriesList';\n\nimport cn from 'bem-cn-lite';\n\nimport './QueryTracker.scss';\n\nconst b = cn('query-tracker-page');\n\ntype Props = {\n match: {\n path: string;\n params: {\n queryId?: string;\n };\n };\n location: {\n search: string;\n };\n};\n\nconst initialSizes = [23, 77];\nconst minSize = 380; // see history list's cells size\n\nfunction QueryPageDraft() {\n const dispatch = useDispatch();\n const routeParams = useSelector(getQueryGetParams);\n\n useEffect(() => {\n const engine =\n routeParams.engine && isEngine(routeParams.engine)\n ? (routeParams.engine as QueryEngine)\n : QueryEngine.YQL;\n if (routeParams.cluster && routeParams.path) {\n if (routeParams.useDraft) {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {\n ...routeParams,\n useDraft: undefined,\n },\n },\n });\n }\n dispatch(\n createQueryFromTablePath(engine, routeParams.cluster, routeParams.path, {\n useDraft: true,\n }),\n );\n } else {\n dispatch(createEmptyQuery(engine));\n }\n }, [dispatch]);\n return null;\n}\n\nfunction QueryPage(props: Props) {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {},\n },\n });\n if (props.match.params.queryId) {\n dispatch(loadQuery(props.match.params.queryId));\n } else {\n dispatch(createEmptyQuery());\n }\n }, [dispatch, props.match.params.queryId]);\n return null;\n}\n\nexport default function QueryTracker({match}: Props) {\n const {isQueriesListSidebarVisible} = useQueriesListSidebarToggle();\n const isQueryStateDirty = useSelector(getDirtySinceLastSubmit);\n usePreventUnload({shouldListen: isQueryStateDirty});\n const [sizes, setSize] = useState(initialSizes);\n const getSize = useMemo(() => {\n return () => sizes;\n }, [sizes]);\n const dispatch = useDispatch();\n\n const goToCreatedQuery = useCallback(\n (queryId: string) => {\n dispatch(goToQuery(queryId));\n return true;\n },\n [dispatch],\n );\n\n return (\n <>\n <Switch>\n <Route exact path={match.path} component={QueryPageDraft} />\n <Route path={`${match.path}/:queryId`} component={QueryPage} />\n </Switch>\n <QueriesPooling>\n <FlexSplitPane\n className={b('container')}\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n minSize={minSize}\n getInitialSizes={getSize}\n >\n {isQueriesListSidebarVisible ? <QueriesList /> : null}\n <QueryEditor onStartQuery={goToCreatedQuery} />\n </FlexSplitPane>\n </QueriesPooling>\n </>\n );\n}\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ var _settings = require("../../../../shared/constants/settings");
13
13
  var _QueryMetaForm = require("./QueryMetaForm/QueryMetaForm");
14
14
  require("./index.css");
15
15
  var _selectors = require("../module/query/selectors");
16
+ var _QueriesListSidebarToggleButton = require("../QueriesListSidebarToggleButton/QueriesListSidebarToggleButton");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19
  var block = (0, _bemCnLite.default)('query-tracker-top-row-content');
@@ -31,9 +32,9 @@ function QueryHeader() {
31
32
  });
32
33
  }
33
34
  function QueryTrackerTopRow() {
34
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SectionName.RowWithName, {
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_SectionName.RowWithName, {
35
36
  page: _settings.Page.QUERIES,
36
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(QueryHeader, {})
37
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(QueryHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueriesListSidebarToggleButton.QueriesListSidebarToggleButton, {})]
37
38
  });
38
39
  }
39
40
  // #sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_reactRedux","_SectionName","_settings","_QueryMetaForm","_selectors","_jsxRuntime","obj","__esModule","default","block","cn","QueryHeader","routeParams","useSelector","getQueryGetParams","_jsx","className","children","QueryMetaForm","cluster","path","QueryTrackerTopRow","RowWithName","page","Page","QUERIES"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {useSelector} from 'react-redux';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {QueryMetaForm} from './QueryMetaForm/QueryMetaForm';\n\nimport './index.scss';\nimport {getQueryGetParams} from '../module/query/selectors';\n\nconst block = cn('query-tracker-top-row-content');\n\nexport function QueryHeader() {\n const routeParams = useSelector(getQueryGetParams);\n\n return (\n <div className={block()}>\n <div className={block('meta')}>\n <QueryMetaForm\n className={block('meta-form')}\n cluster={routeParams.cluster}\n path={routeParams.path}\n />\n </div>\n </div>\n );\n}\n\nexport default function QueryTrackerTopRow() {\n return (\n <RowWithName page={Page.QUERIES}>\n <QueryHeader />\n </RowWithName>\n );\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAEAA,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAA4D,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE5D,IAAMG,KAAK,GAAG,IAAAC,kBAAE,EAAC,+BAA+B,CAAC;AAE1C,SAASC,WAAWA,CAAA,EAAG;EAC1B,IAAMC,WAAW,GAAG,IAAAC,uBAAW,EAACC,4BAAiB,CAAC;EAElD,oBACI,IAAAC,eAAA;IAAKC,SAAS,EAAEP,KAAK,CAAC,CAAE;IAAAQ,QAAA,eACpB,IAAAF,eAAA;MAAKC,SAAS,EAAEP,KAAK,CAAC,MAAM,CAAE;MAAAQ,QAAA,eAC1B,IAAAF,eAAA,EAACG,4BAAa;QACVF,SAAS,EAAEP,KAAK,CAAC,WAAW,CAAE;QAC9BU,OAAO,EAAEP,WAAW,CAACO,OAAQ;QAC7BC,IAAI,EAAER,WAAW,CAACQ;MAAK,CAC1B;IAAC,CACD;EAAC,CACL,CAAC;AAEd;AAEe,SAASC,kBAAkBA,CAAA,EAAG;EACzC,oBACI,IAAAN,eAAA,EAACO,wBAAW;IAACC,IAAI,EAAEC,cAAI,CAACC,OAAQ;IAAAR,QAAA,eAC5B,IAAAF,eAAA,EAACJ,WAAW,IAAE;EAAC,CACN,CAAC;AAEtB"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_reactRedux","_SectionName","_settings","_QueryMetaForm","_selectors","_QueriesListSidebarToggleButton","_jsxRuntime","obj","__esModule","default","block","cn","QueryHeader","routeParams","useSelector","getQueryGetParams","_jsx","className","children","QueryMetaForm","cluster","path","QueryTrackerTopRow","_jsxs","RowWithName","page","Page","QUERIES","QueriesListSidebarToggleButton"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {useSelector} from 'react-redux';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {QueryMetaForm} from './QueryMetaForm/QueryMetaForm';\n\nimport './index.scss';\nimport {getQueryGetParams} from '../module/query/selectors';\nimport {QueriesListSidebarToggleButton} from '../QueriesListSidebarToggleButton/QueriesListSidebarToggleButton';\n\nconst block = cn('query-tracker-top-row-content');\n\nexport function QueryHeader() {\n const routeParams = useSelector(getQueryGetParams);\n\n return (\n <div className={block()}>\n <div className={block('meta')}>\n <QueryMetaForm\n className={block('meta-form')}\n cluster={routeParams.cluster}\n path={routeParams.path}\n />\n </div>\n </div>\n );\n}\n\nexport default function QueryTrackerTopRow() {\n return (\n <RowWithName page={Page.QUERIES}>\n <QueryHeader />\n <QueriesListSidebarToggleButton />\n </RowWithName>\n );\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAEAA,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,+BAAA,GAAAP,OAAA;AAAgH,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhH,IAAMG,KAAK,GAAG,IAAAC,kBAAE,EAAC,+BAA+B,CAAC;AAE1C,SAASC,WAAWA,CAAA,EAAG;EAC1B,IAAMC,WAAW,GAAG,IAAAC,uBAAW,EAACC,4BAAiB,CAAC;EAElD,oBACI,IAAAC,eAAA;IAAKC,SAAS,EAAEP,KAAK,CAAC,CAAE;IAAAQ,QAAA,eACpB,IAAAF,eAAA;MAAKC,SAAS,EAAEP,KAAK,CAAC,MAAM,CAAE;MAAAQ,QAAA,eAC1B,IAAAF,eAAA,EAACG,4BAAa;QACVF,SAAS,EAAEP,KAAK,CAAC,WAAW,CAAE;QAC9BU,OAAO,EAAEP,WAAW,CAACO,OAAQ;QAC7BC,IAAI,EAAER,WAAW,CAACQ;MAAK,CAC1B;IAAC,CACD;EAAC,CACL,CAAC;AAEd;AAEe,SAASC,kBAAkBA,CAAA,EAAG;EACzC,oBACI,IAAAC,gBAAA,EAACC,wBAAW;IAACC,IAAI,EAAEC,cAAI,CAACC,OAAQ;IAAAT,QAAA,gBAC5B,IAAAF,eAAA,EAACJ,WAAW,IAAE,CAAC,eACf,IAAAI,eAAA,EAACY,8DAA8B,IAAE,CAAC;EAAA,CACzB,CAAC;AAEtB"}
@@ -8,3 +8,7 @@ export declare const useQueriesPagination: () => {
8
8
  goBack: () => void;
9
9
  goFirst: () => void;
10
10
  };
11
+ export declare const useQueriesListSidebarToggle: () => {
12
+ isQueriesListSidebarVisible: boolean;
13
+ toggleQueriesListSideBarToggle: () => void;
14
+ };
@@ -3,13 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useQueriesPagination = void 0;
6
+ exports.useQueriesPagination = exports.useQueriesListSidebarToggle = void 0;
7
7
  exports.useQueryList = useQueryList;
8
8
  var _react = require("react");
9
9
  var _reactRedux = require("react-redux");
10
10
  var _api = require("../../module/api");
11
11
  var _selectors = require("../../module/queries_list/selectors");
12
12
  var _actions = require("../../module/queries_list/actions");
13
+ var _settings = require("../../../../store/actions/settings");
14
+ var _selector = require("../../module/settings/selector");
13
15
  function useQueryList() {
14
16
  var items = (0, _reactRedux.useSelector)(_selectors.getQueriesList);
15
17
  var isLoading = (0, _reactRedux.useSelector)(_selectors.isQueriesListLoading);
@@ -37,4 +39,15 @@ var useQueriesPagination = exports.useQueriesPagination = function useQueriesPag
37
39
  goFirst: reset
38
40
  };
39
41
  };
42
+ var useQueriesListSidebarToggle = exports.useQueriesListSidebarToggle = function useQueriesListSidebarToggle() {
43
+ var dispatch = (0, _reactRedux.useDispatch)();
44
+ var isQueriesListSidebarVisible = (0, _reactRedux.useSelector)(_selector.getSettingQueryTrackerQueriesListSidebarVisibilityMode);
45
+ var toggleQueriesListSideBarToggle = function toggleQueriesListSideBarToggle() {
46
+ dispatch((0, _settings.setSettingByKey)('global::queryTracker::queriesListSidebarVisibilityMode', !isQueriesListSidebarVisible));
47
+ };
48
+ return {
49
+ isQueriesListSidebarVisible: isQueriesListSidebarVisible,
50
+ toggleQueriesListSideBarToggle: toggleQueriesListSideBarToggle
51
+ };
52
+ };
40
53
  // #sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactRedux","_api","_selectors","_actions","useQueryList","items","useSelector","getQueriesList","isLoading","isQueriesListLoading","useQueriesPagination","exports","dispatch","useDispatch","cursor","getQueriesListCursor","hasNext","hasQueriesListMore","goNext","useCallback","loadNextQueriesList","QueriesHistoryCursorDirection","PAST","goBack","FUTURE","reset","resetCursor","first","cursorTime","last","currentCursorTime","goFirst"],"sources":["index.ts"],"sourcesContent":["import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesHistoryCursorDirection, QueryItem} from '../../module/api';\nimport {\n getQueriesList,\n getQueriesListCursor,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport {loadNextQueriesList, resetCursor} from '../../module/queries_list/actions';\n\nexport function useQueryList(): [QueryItem[], boolean] {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n return [items, isLoading];\n}\n\nexport const useQueriesPagination = () => {\n const dispatch = useDispatch();\n const cursor = useSelector(getQueriesListCursor);\n const hasNext = useSelector(hasQueriesListMore);\n\n const goNext = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n }, [dispatch]);\n\n const goBack = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));\n }, [dispatch]);\n\n const reset = useCallback(() => {\n dispatch(resetCursor());\n }, [dispatch]);\n\n return {\n first: !cursor?.cursorTime,\n last: !hasNext,\n currentCursorTime: cursor?.cursorTime,\n goNext,\n goBack,\n goFirst: reset,\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAMA,IAAAI,QAAA,GAAAJ,OAAA;AAEO,SAASK,YAAYA,CAAA,EAA2B;EACnD,IAAMC,KAAK,GAAG,IAAAC,uBAAW,EAACC,yBAAc,CAAC;EACzC,IAAMC,SAAS,GAAG,IAAAF,uBAAW,EAACG,+BAAoB,CAAC;EAEnD,OAAO,CAACJ,KAAK,EAAEG,SAAS,CAAC;AAC7B;AAEO,IAAME,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EACtC,IAAME,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,IAAMC,MAAM,GAAG,IAAAR,uBAAW,EAACS,+BAAoB,CAAC;EAChD,IAAMC,OAAO,GAAG,IAAAV,uBAAW,EAACW,6BAAkB,CAAC;EAE/C,IAAMC,MAAM,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAC7BP,QAAQ,CAAC,IAAAQ,4BAAmB,EAACC,kCAA6B,CAACC,IAAI,CAAC,CAAC;EACrE,CAAC,EAAE,CAACV,QAAQ,CAAC,CAAC;EAEd,IAAMW,MAAM,GAAG,IAAAJ,kBAAW,EAAC,YAAM;IAC7BP,QAAQ,CAAC,IAAAQ,4BAAmB,EAACC,kCAA6B,CAACG,MAAM,CAAC,CAAC;EACvE,CAAC,EAAE,CAACZ,QAAQ,CAAC,CAAC;EAEd,IAAMa,KAAK,GAAG,IAAAN,kBAAW,EAAC,YAAM;IAC5BP,QAAQ,CAAC,IAAAc,oBAAW,EAAC,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACd,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHe,KAAK,EAAE,EAACb,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEc,UAAU;IAC1BC,IAAI,EAAE,CAACb,OAAO;IACdc,iBAAiB,EAAEhB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,UAAU;IACrCV,MAAM,EAANA,MAAM;IACNK,MAAM,EAANA,MAAM;IACNQ,OAAO,EAAEN;EACb,CAAC;AACL,CAAC"}
1
+ {"version":3,"names":["_react","require","_reactRedux","_api","_selectors","_actions","_settings","_selector","useQueryList","items","useSelector","getQueriesList","isLoading","isQueriesListLoading","useQueriesPagination","exports","dispatch","useDispatch","cursor","getQueriesListCursor","hasNext","hasQueriesListMore","goNext","useCallback","loadNextQueriesList","QueriesHistoryCursorDirection","PAST","goBack","FUTURE","reset","resetCursor","first","cursorTime","last","currentCursorTime","goFirst","useQueriesListSidebarToggle","isQueriesListSidebarVisible","getSettingQueryTrackerQueriesListSidebarVisibilityMode","toggleQueriesListSideBarToggle","setSettingByKey"],"sources":["index.ts"],"sourcesContent":["import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesHistoryCursorDirection, QueryItem} from '../../module/api';\nimport {\n getQueriesList,\n getQueriesListCursor,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport {loadNextQueriesList, resetCursor} from '../../module/queries_list/actions';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getSettingQueryTrackerQueriesListSidebarVisibilityMode} from '../../module/settings/selector';\n\nexport function useQueryList(): [QueryItem[], boolean] {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n return [items, isLoading];\n}\n\nexport const useQueriesPagination = () => {\n const dispatch = useDispatch();\n const cursor = useSelector(getQueriesListCursor);\n const hasNext = useSelector(hasQueriesListMore);\n\n const goNext = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n }, [dispatch]);\n\n const goBack = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));\n }, [dispatch]);\n\n const reset = useCallback(() => {\n dispatch(resetCursor());\n }, [dispatch]);\n\n return {\n first: !cursor?.cursorTime,\n last: !hasNext,\n currentCursorTime: cursor?.cursorTime,\n goNext,\n goBack,\n goFirst: reset,\n };\n};\n\nexport const useQueriesListSidebarToggle = () => {\n const dispatch = useDispatch();\n const isQueriesListSidebarVisible = useSelector(\n getSettingQueryTrackerQueriesListSidebarVisibilityMode,\n );\n\n const toggleQueriesListSideBarToggle = () => {\n dispatch(\n setSettingByKey<boolean>(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n !isQueriesListSidebarVisible,\n ),\n );\n };\n\n return {\n isQueriesListSidebarVisible,\n toggleQueriesListSideBarToggle,\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAMA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAEO,SAASO,YAAYA,CAAA,EAA2B;EACnD,IAAMC,KAAK,GAAG,IAAAC,uBAAW,EAACC,yBAAc,CAAC;EACzC,IAAMC,SAAS,GAAG,IAAAF,uBAAW,EAACG,+BAAoB,CAAC;EAEnD,OAAO,CAACJ,KAAK,EAAEG,SAAS,CAAC;AAC7B;AAEO,IAAME,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EACtC,IAAME,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,IAAMC,MAAM,GAAG,IAAAR,uBAAW,EAACS,+BAAoB,CAAC;EAChD,IAAMC,OAAO,GAAG,IAAAV,uBAAW,EAACW,6BAAkB,CAAC;EAE/C,IAAMC,MAAM,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAC7BP,QAAQ,CAAC,IAAAQ,4BAAmB,EAACC,kCAA6B,CAACC,IAAI,CAAC,CAAC;EACrE,CAAC,EAAE,CAACV,QAAQ,CAAC,CAAC;EAEd,IAAMW,MAAM,GAAG,IAAAJ,kBAAW,EAAC,YAAM;IAC7BP,QAAQ,CAAC,IAAAQ,4BAAmB,EAACC,kCAA6B,CAACG,MAAM,CAAC,CAAC;EACvE,CAAC,EAAE,CAACZ,QAAQ,CAAC,CAAC;EAEd,IAAMa,KAAK,GAAG,IAAAN,kBAAW,EAAC,YAAM;IAC5BP,QAAQ,CAAC,IAAAc,oBAAW,EAAC,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACd,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHe,KAAK,EAAE,EAACb,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEc,UAAU;IAC1BC,IAAI,EAAE,CAACb,OAAO;IACdc,iBAAiB,EAAEhB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,UAAU;IACrCV,MAAM,EAANA,MAAM;IACNK,MAAM,EAANA,MAAM;IACNQ,OAAO,EAAEN;EACb,CAAC;AACL,CAAC;AAEM,IAAMO,2BAA2B,GAAArB,OAAA,CAAAqB,2BAAA,GAAG,SAA9BA,2BAA2BA,CAAA,EAAS;EAC7C,IAAMpB,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,IAAMoB,2BAA2B,GAAG,IAAA3B,uBAAW,EAC3C4B,gEACJ,CAAC;EAED,IAAMC,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAA,EAAS;IACzCvB,QAAQ,CACJ,IAAAwB,yBAAe,EACX,wDAAwD,EACxD,CAACH,2BACL,CACJ,CAAC;EACL,CAAC;EAED,OAAO;IACHA,2BAA2B,EAA3BA,2BAA2B;IAC3BE,8BAA8B,EAA9BA;EACJ,CAAC;AACL,CAAC"}
@@ -18,7 +18,7 @@ export type UpdateQueryAction = ActionD<typeof UPDATE_QUERY, QueryItem>;
18
18
  export declare const SET_QUERY_LOAD_ERROR = "query-tracker/SET_QUERY_LOAD_ERROR";
19
19
  export type SetQueryErrorLoadAction = ActionD<typeof SET_QUERY_LOAD_ERROR, Error | string>;
20
20
  export declare const SET_QUERY_PATCH = "query-tracker/SET_QUERY_PATCH";
21
- export type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, Pick<QueryState, 'draft'>>;
21
+ export type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, QueryState['draft']>;
22
22
  export declare const SET_QUERY_PARAMS = "query-tracker/SET_QUERY_PARAMS";
23
23
  export type SetQueryParamsAction = ActionD<typeof SET_QUERY_PARAMS, Partial<Pick<QueryState, 'params'>>>;
24
24
  export declare function loadQuery(queryId: string): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction>;
@@ -1 +1 @@
1
- {"version":3,"names":["_navigation","require","_global","_api","_actions","_selectors","_windowStore","_utils","_utills","_interopRequireDefault","obj","__esModule","default","REQUEST_QUERY","exports","SET_QUERY_READY","SET_QUERY","UPDATE_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_PATCH","SET_QUERY_PARAMS","loadQuery","queryId","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","_getState","query","wrap","_callee$","_context","prev","next","type","wrapApiPromiseByToaster","getQuery","toasterName","skipSuccessToast","errorTitle","sent","data","initialQuery","prepareQueryPlanIds","t0","createEmptyQuery","stop","_x","_x2","apply","arguments","updateQueryDraft","createQueryFromTablePath","engine","cluster","path","options","_ref2","_callee2","draft","_callee2$","_context2","generateQueryFromTable","useDraft","_x3","length","undefined","QueryEngine","YQL","settings","runQuery","afterCreate","_ref3","_callee3","getState","state","_yield$wrapApiPromise","query_id","handled","_callee3$","_context3","getQueryDraft","startQuery","requestQueriesList","_x4","_x5","abortCurrentQuery","_ref4","_callee4","currentQuery","_callee4$","_context4","getCurrentQuery","abortQuery","id","_x6","_x7","goToQuery","_","getCluster","history","getAppBrowserHistory","push","createQueryUrl"],"sources":["actions.ts"],"sourcesContent":["import {createQueryUrl} from '../../utils/navigation';\nimport {Action} from 'redux';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../../store/reducers';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {ActionD} from '../../../../types';\nimport {\n QueryEngine,\n QueryItem,\n abortQuery,\n generateQueryFromTable,\n getQuery,\n startQuery,\n} from '../api';\nimport {requestQueriesList} from '../queries_list/actions';\nimport {getCurrentQuery, getQueryDraft} from './selectors';\nimport {getAppBrowserHistory} from '../../../../store/window-store';\nimport {QueryState} from './reducer';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {prepareQueryPlanIds} from './utills';\n\nexport const REQUEST_QUERY = 'query-tracker/REQUEST_QUERY';\nexport type RequestQueryAction = Action<typeof REQUEST_QUERY>;\n\nexport const SET_QUERY_READY = 'query-tracker/SET_QUERY_READY';\nexport type SetQueryReadyAction = Action<typeof SET_QUERY_READY>;\n\nexport const SET_QUERY = 'query-tracker/SET_QUERY';\nexport type SetQueryAction = ActionD<\n typeof SET_QUERY,\n {\n initialQuery?: QueryItem;\n draftText?: string;\n }\n>;\n\nexport const UPDATE_QUERY = 'query-tracker/UPDATE_QUERY';\nexport type UpdateQueryAction = ActionD<typeof UPDATE_QUERY, QueryItem>;\n\nexport const SET_QUERY_LOAD_ERROR = 'query-tracker/SET_QUERY_LOAD_ERROR';\nexport type SetQueryErrorLoadAction = ActionD<typeof SET_QUERY_LOAD_ERROR, Error | string>;\n\nexport const SET_QUERY_PATCH = 'query-tracker/SET_QUERY_PATCH';\nexport type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, Pick<QueryState, 'draft'>>;\n\nexport const SET_QUERY_PARAMS = 'query-tracker/SET_QUERY_PARAMS';\nexport type SetQueryParamsAction = ActionD<\n typeof SET_QUERY_PARAMS,\n Partial<Pick<QueryState, 'params'>>\n>;\n\nexport function loadQuery(\n queryId: string,\n): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction> {\n return async (dispatch, _getState) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const query = await wrapApiPromiseByToaster(dispatch(getQuery(queryId)), {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n });\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: prepareQueryPlanIds(query),\n },\n });\n } catch (e: unknown) {\n dispatch(createEmptyQuery());\n }\n };\n}\n\nexport function updateQueryDraft(data: Partial<QueryState['draft']>) {\n return {type: SET_QUERY_PATCH, data};\n}\n\nexport function createQueryFromTablePath(\n engine: QueryEngine,\n cluster: string,\n path: string,\n options?: {useDraft?: boolean},\n): ThunkAction<\n any,\n RootState,\n any,\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction\n | SetQueryReadyAction\n> {\n return async (dispatch) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const draft = await wrapApiPromiseByToaster(\n generateQueryFromTable(engine, {cluster, path}),\n {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n },\n );\n if (draft) {\n if (options?.useDraft) {\n dispatch({\n type: UPDATE_QUERY,\n data: draft as QueryItem,\n });\n dispatch({type: SET_QUERY_READY});\n } else {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: draft as QueryItem,\n },\n });\n }\n } else {\n dispatch(createEmptyQuery(engine));\n }\n } catch (e) {\n dispatch(createEmptyQuery(engine));\n }\n };\n}\n\nexport function createEmptyQuery(\n engine = QueryEngine.YQL,\n query?: string,\n settings?: Record<string, string>,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return (dispatch) => {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: {\n query: query || '',\n engine,\n settings: settings || {},\n } as QueryItem,\n },\n });\n };\n}\n\nexport function runQuery(\n afterCreate?: (query_id: string) => boolean | void,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const query = getQueryDraft(state);\n const {query_id} = await wrapApiPromiseByToaster(dispatch(startQuery(query)), {\n toasterName: 'start_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to start query',\n });\n const handled = afterCreate?.(query_id);\n if (!handled) {\n dispatch(loadQuery(query_id));\n }\n dispatch(requestQueriesList());\n };\n}\n\nexport function abortCurrentQuery(): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const currentQuery = getCurrentQuery(state);\n if (currentQuery) {\n await wrapApiPromiseByToaster(dispatch(abortQuery({query_id: currentQuery?.id})), {\n toasterName: 'abort_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to abort query',\n });\n dispatch(loadQuery(currentQuery?.id));\n dispatch(requestQueriesList());\n }\n };\n}\n\nexport function goToQuery(query_id: string): ThunkAction<any, RootState, any, never> {\n return (_, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n const history = getAppBrowserHistory();\n history.push(createQueryUrl(cluster, query_id));\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_navigation","require","_global","_api","_actions","_selectors","_windowStore","_utils","_utills","_interopRequireDefault","obj","__esModule","default","REQUEST_QUERY","exports","SET_QUERY_READY","SET_QUERY","UPDATE_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_PATCH","SET_QUERY_PARAMS","loadQuery","queryId","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","_getState","query","wrap","_callee$","_context","prev","next","type","wrapApiPromiseByToaster","getQuery","toasterName","skipSuccessToast","errorTitle","sent","data","initialQuery","prepareQueryPlanIds","t0","createEmptyQuery","stop","_x","_x2","apply","arguments","updateQueryDraft","createQueryFromTablePath","engine","cluster","path","options","_ref2","_callee2","draft","_callee2$","_context2","generateQueryFromTable","useDraft","_x3","length","undefined","QueryEngine","YQL","settings","runQuery","afterCreate","_ref3","_callee3","getState","state","_yield$wrapApiPromise","query_id","handled","_callee3$","_context3","getQueryDraft","startQuery","requestQueriesList","_x4","_x5","abortCurrentQuery","_ref4","_callee4","currentQuery","_callee4$","_context4","getCurrentQuery","abortQuery","id","_x6","_x7","goToQuery","_","getCluster","history","getAppBrowserHistory","push","createQueryUrl"],"sources":["actions.ts"],"sourcesContent":["import {createQueryUrl} from '../../utils/navigation';\nimport {Action} from 'redux';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../../store/reducers';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {ActionD} from '../../../../types';\nimport {\n QueryEngine,\n QueryItem,\n abortQuery,\n generateQueryFromTable,\n getQuery,\n startQuery,\n} from '../api';\nimport {requestQueriesList} from '../queries_list/actions';\nimport {getCurrentQuery, getQueryDraft} from './selectors';\nimport {getAppBrowserHistory} from '../../../../store/window-store';\nimport {QueryState} from './reducer';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {prepareQueryPlanIds} from './utills';\n\nexport const REQUEST_QUERY = 'query-tracker/REQUEST_QUERY';\nexport type RequestQueryAction = Action<typeof REQUEST_QUERY>;\n\nexport const SET_QUERY_READY = 'query-tracker/SET_QUERY_READY';\nexport type SetQueryReadyAction = Action<typeof SET_QUERY_READY>;\n\nexport const SET_QUERY = 'query-tracker/SET_QUERY';\nexport type SetQueryAction = ActionD<\n typeof SET_QUERY,\n {\n initialQuery?: QueryItem;\n draftText?: string;\n }\n>;\n\nexport const UPDATE_QUERY = 'query-tracker/UPDATE_QUERY';\nexport type UpdateQueryAction = ActionD<typeof UPDATE_QUERY, QueryItem>;\n\nexport const SET_QUERY_LOAD_ERROR = 'query-tracker/SET_QUERY_LOAD_ERROR';\nexport type SetQueryErrorLoadAction = ActionD<typeof SET_QUERY_LOAD_ERROR, Error | string>;\n\nexport const SET_QUERY_PATCH = 'query-tracker/SET_QUERY_PATCH';\nexport type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, QueryState['draft']>;\n\nexport const SET_QUERY_PARAMS = 'query-tracker/SET_QUERY_PARAMS';\nexport type SetQueryParamsAction = ActionD<\n typeof SET_QUERY_PARAMS,\n Partial<Pick<QueryState, 'params'>>\n>;\n\nexport function loadQuery(\n queryId: string,\n): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction> {\n return async (dispatch, _getState) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const query = await wrapApiPromiseByToaster(dispatch(getQuery(queryId)), {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n });\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: prepareQueryPlanIds(query),\n },\n });\n } catch (e: unknown) {\n dispatch(createEmptyQuery());\n }\n };\n}\n\nexport function updateQueryDraft(data: Partial<QueryState['draft']>) {\n return {type: SET_QUERY_PATCH, data};\n}\n\nexport function createQueryFromTablePath(\n engine: QueryEngine,\n cluster: string,\n path: string,\n options?: {useDraft?: boolean},\n): ThunkAction<\n any,\n RootState,\n any,\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction\n | SetQueryReadyAction\n> {\n return async (dispatch) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const draft = await wrapApiPromiseByToaster(\n generateQueryFromTable(engine, {cluster, path}),\n {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n },\n );\n if (draft) {\n if (options?.useDraft) {\n dispatch({\n type: UPDATE_QUERY,\n data: draft as QueryItem,\n });\n dispatch({type: SET_QUERY_READY});\n } else {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: draft as QueryItem,\n },\n });\n }\n } else {\n dispatch(createEmptyQuery(engine));\n }\n } catch (e) {\n dispatch(createEmptyQuery(engine));\n }\n };\n}\n\nexport function createEmptyQuery(\n engine = QueryEngine.YQL,\n query?: string,\n settings?: Record<string, string>,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return (dispatch) => {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: {\n query: query || '',\n engine,\n settings: settings || {},\n } as QueryItem,\n },\n });\n };\n}\n\nexport function runQuery(\n afterCreate?: (query_id: string) => boolean | void,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const query = getQueryDraft(state);\n const {query_id} = await wrapApiPromiseByToaster(dispatch(startQuery(query)), {\n toasterName: 'start_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to start query',\n });\n const handled = afterCreate?.(query_id);\n if (!handled) {\n dispatch(loadQuery(query_id));\n }\n dispatch(requestQueriesList());\n };\n}\n\nexport function abortCurrentQuery(): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const currentQuery = getCurrentQuery(state);\n if (currentQuery) {\n await wrapApiPromiseByToaster(dispatch(abortQuery({query_id: currentQuery?.id})), {\n toasterName: 'abort_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to abort query',\n });\n dispatch(loadQuery(currentQuery?.id));\n dispatch(requestQueriesList());\n }\n };\n}\n\nexport function goToQuery(query_id: string): ThunkAction<any, RootState, any, never> {\n return (_, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n const history = getAppBrowserHistory();\n history.push(createQueryUrl(cluster, query_id));\n };\n}\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface QueryState {
9
9
  cluster?: string;
10
10
  useDraft?: boolean;
11
11
  };
12
+ dirtySinceLastSubmit: boolean;
12
13
  state: 'init' | 'loading' | 'ready' | 'error';
13
14
  }
14
15
  export declare function reducer(state: QueryState | undefined, action: Actions): QueryState;
@@ -19,6 +19,7 @@ var initState = {
19
19
  queryItem: undefined,
20
20
  draft: (0, _objectSpread2.default)({}, initialQueryDraftState),
21
21
  params: {},
22
+ dirtySinceLastSubmit: false,
22
23
  state: 'init'
23
24
  };
24
25
  function reducer() {
@@ -30,6 +31,7 @@ function reducer() {
30
31
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
31
32
  queryItem: action.data.initialQuery,
32
33
  draft: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialQueryDraftState), action.data.initialQuery ? (0, _utills.cleanupQueryForDraft)((0, _objectSpread2.default)({}, action.data.initialQuery)) : {}),
34
+ dirtySinceLastSubmit: false,
33
35
  state: 'ready'
34
36
  });
35
37
  }
@@ -63,8 +65,11 @@ function reducer() {
63
65
  }
64
66
  case _actions.SET_QUERY_PATCH:
65
67
  {
68
+ var _action$data2;
69
+ var hasQuery = Boolean(action === null || action === void 0 || (_action$data2 = action.data) === null || _action$data2 === void 0 ? void 0 : _action$data2.query);
66
70
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
67
- draft: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.draft), action.data)
71
+ draft: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.draft), action.data),
72
+ dirtySinceLastSubmit: hasQuery
68
73
  });
69
74
  }
70
75
  case _actions.SET_QUERY_PARAMS:
@@ -1 +1 @@
1
- {"version":3,"names":["_api","require","_actions","_utills","_interopRequireDefault","obj","__esModule","default","initialQueryDraftState","engine","QueryEngine","YQL","query","files","settings","initState","queryItem","undefined","draft","_objectSpread","params","state","reducer","arguments","length","action","type","SET_QUERY","data","initialQuery","cleanupQueryForDraft","UPDATE_QUERY","_action$data","error","REQUEST_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_READY","SET_QUERY_PATCH","SET_QUERY_PARAMS"],"sources":["reducer.ts"],"sourcesContent":["import {DraftQuery, QueryEngine, QueryItem} from '../api';\nimport {\n REQUEST_QUERY,\n RequestQueryAction,\n SET_QUERY,\n SET_QUERY_LOAD_ERROR,\n SET_QUERY_PARAMS,\n SET_QUERY_PATCH,\n SET_QUERY_READY,\n SetQueryAction,\n SetQueryErrorLoadAction,\n SetQueryParamsAction,\n SetQueryPatchAction,\n SetQueryReadyAction,\n UPDATE_QUERY,\n UpdateQueryAction,\n} from './actions';\nimport {cleanupQueryForDraft} from './utills';\n\nexport interface QueryState {\n queryItem?: QueryItem;\n draft: DraftQuery;\n params: {\n engine?: string;\n path?: string;\n cluster?: string;\n useDraft?: boolean;\n };\n state: 'init' | 'loading' | 'ready' | 'error';\n}\n\nconst initialQueryDraftState: QueryState['draft'] = {\n engine: QueryEngine.YQL,\n query: '',\n files: [],\n settings: {},\n};\n\nconst initState: QueryState = {\n queryItem: undefined,\n draft: {...initialQueryDraftState},\n params: {},\n state: 'init',\n};\n\nexport function reducer(state = initState, action: Actions): QueryState {\n switch (action.type) {\n case SET_QUERY: {\n return {\n ...state,\n queryItem: action.data.initialQuery,\n draft: {\n ...initialQueryDraftState,\n ...(action.data.initialQuery\n ? cleanupQueryForDraft({\n ...action.data.initialQuery,\n })\n : {}),\n },\n state: 'ready',\n };\n }\n case UPDATE_QUERY: {\n return {\n ...state,\n queryItem: action.data,\n draft: {\n ...state.draft,\n error: action.data?.error,\n },\n };\n }\n case REQUEST_QUERY: {\n return {\n ...state,\n state: 'loading',\n };\n }\n case SET_QUERY_LOAD_ERROR: {\n return {\n ...state,\n state: 'error',\n };\n }\n case SET_QUERY_READY: {\n return {\n ...state,\n state: 'ready',\n };\n }\n case SET_QUERY_PATCH: {\n return {\n ...state,\n draft: {\n ...state.draft,\n ...action.data,\n },\n };\n }\n case SET_QUERY_PARAMS: {\n return {\n ...state,\n params: {\n ...action.data.params,\n },\n };\n }\n }\n return state;\n}\n\ntype Actions =\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction\n | SetQueryParamsAction\n | SetQueryReadyAction;\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAgBA,IAAAE,OAAA,GAAAF,OAAA;AAA6C,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAc7C,IAAMG,sBAA2C,GAAG;EAChDC,MAAM,EAAEC,gBAAW,CAACC,GAAG;EACvBC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,QAAQ,EAAE,CAAC;AACf,CAAC;AAED,IAAMC,SAAqB,GAAG;EAC1BC,SAAS,EAAEC,SAAS;EACpBC,KAAK,MAAAC,sBAAA,MAAMX,sBAAsB,CAAC;EAClCY,MAAM,EAAE,CAAC,CAAC;EACVC,KAAK,EAAE;AACX,CAAC;AAEM,SAASC,OAAOA,CAAA,EAAiD;EAAA,IAAhDD,KAAK,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAN,SAAA,GAAAM,SAAA,MAAGR,SAAS;EAAA,IAAEU,MAAe,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAN,SAAA;EACtD,QAAQQ,MAAM,CAACC,IAAI;IACf,KAAKC,kBAAS;MAAE;QACZ,WAAAR,sBAAA,MAAAA,sBAAA,MACOE,KAAK;UACRL,SAAS,EAAES,MAAM,CAACG,IAAI,CAACC,YAAY;UACnCX,KAAK,MAAAC,sBAAA,MAAAA,sBAAA,MACEX,sBAAsB,GACrBiB,MAAM,CAACG,IAAI,CAACC,YAAY,GACtB,IAAAC,4BAAoB,MAAAX,sBAAA,MACbM,MAAM,CAACG,IAAI,CAACC,YAAY,CAC9B,CAAC,GACF,CAAC,CAAC,CACX;UACDR,KAAK,EAAE;QAAO;MAEtB;IACA,KAAKU,qBAAY;MAAE;QAAA,IAAAC,YAAA;QACf,WAAAb,sBAAA,MAAAA,sBAAA,MACOE,KAAK;UACRL,SAAS,EAAES,MAAM,CAACG,IAAI;UACtBV,KAAK,MAAAC,sBAAA,MAAAA,sBAAA,MACEE,KAAK,CAACH,KAAK;YACde,KAAK,GAAAD,YAAA,GAAEP,MAAM,CAACG,IAAI,cAAAI,YAAA,uBAAXA,YAAA,CAAaC;UAAK;QAC5B;MAET;IACA,KAAKC,sBAAa;MAAE;QAChB,WAAAf,sBAAA,MAAAA,sBAAA,MACOE,KAAK;UACRA,KAAK,EAAE;QAAS;MAExB;IACA,KAAKc,6BAAoB;MAAE;QACvB,WAAAhB,sBAAA,MAAAA,sBAAA,MACOE,KAAK;UACRA,KAAK,EAAE;QAAO;MAEtB;IACA,KAAKe,wBAAe;MAAE;QAClB,WAAAjB,sBAAA,MAAAA,sBAAA,MACOE,KAAK;UACRA,KAAK,EAAE;QAAO;MAEtB;IACA,KAAKgB,wBAAe;MAAE;QAClB,WAAAlB,sBAAA,MAAAA,sBAAA,MACOE,KAAK;UACRH,KAAK,MAAAC,sBAAA,MAAAA,sBAAA,MACEE,KAAK,CAACH,KAAK,GACXO,MAAM,CAACG,IAAI;QACjB;MAET;IACA,KAAKU,yBAAgB;MAAE;QACnB,WAAAnB,sBAAA,MAAAA,sBAAA,MACOE,KAAK;UACRD,MAAM,MAAAD,sBAAA,MACCM,MAAM,CAACG,IAAI,CAACR,MAAM;QACxB;MAET;EACJ;EACA,OAAOC,KAAK;AAChB"}
1
+ {"version":3,"names":["_api","require","_actions","_utills","_interopRequireDefault","obj","__esModule","default","initialQueryDraftState","engine","QueryEngine","YQL","query","files","settings","initState","queryItem","undefined","draft","_objectSpread","params","dirtySinceLastSubmit","state","reducer","arguments","length","action","type","SET_QUERY","data","initialQuery","cleanupQueryForDraft","UPDATE_QUERY","_action$data","error","REQUEST_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_READY","SET_QUERY_PATCH","_action$data2","hasQuery","Boolean","SET_QUERY_PARAMS"],"sources":["reducer.ts"],"sourcesContent":["import {DraftQuery, QueryEngine, QueryItem} from '../api';\nimport {\n REQUEST_QUERY,\n RequestQueryAction,\n SET_QUERY,\n SET_QUERY_LOAD_ERROR,\n SET_QUERY_PARAMS,\n SET_QUERY_PATCH,\n SET_QUERY_READY,\n SetQueryAction,\n SetQueryErrorLoadAction,\n SetQueryParamsAction,\n SetQueryPatchAction,\n SetQueryReadyAction,\n UPDATE_QUERY,\n UpdateQueryAction,\n} from './actions';\nimport {cleanupQueryForDraft} from './utills';\n\nexport interface QueryState {\n queryItem?: QueryItem;\n draft: DraftQuery;\n params: {\n engine?: string;\n path?: string;\n cluster?: string;\n useDraft?: boolean;\n };\n dirtySinceLastSubmit: boolean;\n state: 'init' | 'loading' | 'ready' | 'error';\n}\n\nconst initialQueryDraftState: QueryState['draft'] = {\n engine: QueryEngine.YQL,\n query: '',\n files: [],\n settings: {},\n};\n\nconst initState: QueryState = {\n queryItem: undefined,\n draft: {...initialQueryDraftState},\n params: {},\n dirtySinceLastSubmit: false,\n state: 'init',\n};\n\nexport function reducer(state = initState, action: Actions): QueryState {\n switch (action.type) {\n case SET_QUERY: {\n return {\n ...state,\n queryItem: action.data.initialQuery,\n draft: {\n ...initialQueryDraftState,\n ...(action.data.initialQuery\n ? cleanupQueryForDraft({\n ...action.data.initialQuery,\n })\n : {}),\n },\n dirtySinceLastSubmit: false,\n state: 'ready',\n };\n }\n case UPDATE_QUERY: {\n return {\n ...state,\n queryItem: action.data,\n draft: {\n ...state.draft,\n error: action.data?.error,\n },\n };\n }\n case REQUEST_QUERY: {\n return {\n ...state,\n state: 'loading',\n };\n }\n case SET_QUERY_LOAD_ERROR: {\n return {\n ...state,\n state: 'error',\n };\n }\n case SET_QUERY_READY: {\n return {\n ...state,\n state: 'ready',\n };\n }\n case SET_QUERY_PATCH: {\n const hasQuery = Boolean(action?.data?.query);\n\n return {\n ...state,\n draft: {\n ...state.draft,\n ...action.data,\n },\n dirtySinceLastSubmit: hasQuery,\n };\n }\n case SET_QUERY_PARAMS: {\n return {\n ...state,\n params: {\n ...action.data.params,\n },\n };\n }\n }\n return state;\n}\n\ntype Actions =\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction\n | SetQueryParamsAction\n | SetQueryReadyAction;\n"],"mappings":"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"}
@@ -861,3 +861,4 @@ export declare const getQueryTrackerRequestOptions: ((state: any) => QTRequestOp
861
861
  clearCache: () => void;
862
862
  };
863
863
  export declare const getQueryEditorErrors: (state: RootState) => QTEditorError[];
864
+ export declare const getDirtySinceLastSubmit: (state: RootState) => boolean;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isQueryLoading = exports.isQueryExecuted = exports.isQueryDraftEditted = exports.hasLoadedQueryItem = exports.getQueryTrackerRequestOptions = exports.getQueryText = exports.getQueryGetParams = exports.getQueryEngine = exports.getQueryEditorErrors = exports.getQueryDraft = exports.getQuery = exports.getCurrentQuery = void 0;
6
+ exports.isQueryLoading = exports.isQueryExecuted = exports.isQueryDraftEditted = exports.hasLoadedQueryItem = exports.getQueryTrackerRequestOptions = exports.getQueryText = exports.getQueryGetParams = exports.getQueryEngine = exports.getQueryEditorErrors = exports.getQueryDraft = exports.getQuery = exports.getDirtySinceLastSubmit = exports.getCurrentQuery = void 0;
7
7
  var _reselect = require("reselect");
8
8
  var _api = require("../api");
9
9
  var _settingsTs = require("../../../../store/selectors/settings-ts");
@@ -88,4 +88,7 @@ var getQueryEditorErrors = exports.getQueryEditorErrors = function getQueryEdito
88
88
  }
89
89
  return res;
90
90
  };
91
+ var getDirtySinceLastSubmit = exports.getDirtySinceLastSubmit = function getDirtySinceLastSubmit(state) {
92
+ return state.queryTracker.query.dirtySinceLastSubmit;
93
+ };
91
94
  // #sourceMappingURL=selectors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reselect","require","_api","_settingsTs","_config","_utils","_selectors","_forOwn","_interopRequireDefault","obj","__esModule","default","QT_STAGE","getQueryTrackerStage","getState","state","queryTracker","query","getQuery","exports","queryItem","getQueryGetParams","params","getQueryDraft","draft","getQueryText","getQueryEngine","engine","isQueryLoading","isQueryExecuted","Boolean","id","QueryStatus","DRAFT","getCurrentQuery","isQueryDraftEditted","createSelector","hasLoadedQueryItem","getQueryTrackerRequestOptions","getSettingQueryTrackerStage","getSettingQueryTrackerYQLAgentStage","stage","yqlAgentStage","res","getQueryEditorErrors","checkIsEditorError","error","attributes","push","inner_errors","length","forEach","inner_error","_getState$draft","isYTError","results","getQueryResults","forOwn_","value"],"sources":["selectors.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport {RootState} from '../../../../store/reducers';\nimport {QTRequestOptions, QueryStatus} from '../api';\nimport {\n getSettingQueryTrackerStage,\n getSettingQueryTrackerYQLAgentStage,\n} from '../../../../store/selectors/settings-ts';\nimport {getQueryTrackerStage} from '../../../../config';\nimport {QTEditorError} from '../types/editor';\nimport {YTError} from '../../../../types';\nimport {isYTError} from '../../../../../shared/utils';\nimport {getQueryResults} from '../query_result/selectors';\nimport forOwn_ from 'lodash/forOwn';\n\nconst QT_STAGE = getQueryTrackerStage();\nconst getState = (state: RootState) => state.queryTracker.query;\n\nexport const getQuery = (state: RootState) => getState(state).queryItem;\nexport const getQueryGetParams = (state: RootState) => getState(state).params;\n\nexport const getQueryDraft = (state: RootState) => getState(state).draft;\n\nexport const getQueryText = (state: RootState) => getState(state).draft.query;\n\nexport const getQueryEngine = (state: RootState) => getState(state).draft.engine;\n\nexport const isQueryLoading = (state: RootState) => getState(state).state === 'loading';\n\nexport const isQueryExecuted = (state: RootState): boolean => {\n const queryItem = getState(state).queryItem;\n // TODO: Use real query's state\n return Boolean(queryItem?.id) && queryItem?.state !== QueryStatus.DRAFT;\n};\n\nexport const getCurrentQuery = (state: RootState) => getState(state).queryItem;\n\nexport const isQueryDraftEditted = createSelector([getQuery, getQueryDraft], (query, draft) => {\n return query?.query !== draft.query;\n});\n\nexport const hasLoadedQueryItem = (state: RootState) => {\n const queryItem = getState(state).queryItem;\n return Boolean(queryItem?.id);\n};\n\nexport const getQueryTrackerRequestOptions = createSelector(\n [getSettingQueryTrackerStage, getSettingQueryTrackerYQLAgentStage],\n (stage, yqlAgentStage) => {\n const res: QTRequestOptions = {\n stage: stage || QT_STAGE,\n yqlAgentStage,\n };\n return res;\n },\n);\n\nexport const getQueryEditorErrors = (state: RootState): QTEditorError[] => {\n const res: QTEditorError[] = [];\n const checkIsEditorError = (error: YTError) => {\n if (error.attributes) {\n if ('end_position' in error.attributes && 'start_position' in error.attributes) {\n res.push(error as QTEditorError);\n }\n }\n if (error.inner_errors && error.inner_errors.length !== 0) {\n error.inner_errors.forEach((inner_error) => checkIsEditorError(inner_error));\n }\n };\n\n const {error, id} = getState(state).draft;\n if (isYTError(error)) {\n checkIsEditorError(error);\n }\n if (id && !isQueryDraftEditted(state)) {\n const results = getQueryResults(state, id);\n if (results) {\n forOwn_(results, (value) => {\n if (value.state === 'error' && isYTError(value.error)) {\n checkIsEditorError(value.error);\n }\n });\n }\n }\n\n return res;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reselect","require","_api","_settingsTs","_config","_utils","_selectors","_forOwn","_interopRequireDefault","obj","__esModule","default","QT_STAGE","getQueryTrackerStage","getState","state","queryTracker","query","getQuery","exports","queryItem","getQueryGetParams","params","getQueryDraft","draft","getQueryText","getQueryEngine","engine","isQueryLoading","isQueryExecuted","Boolean","id","QueryStatus","DRAFT","getCurrentQuery","isQueryDraftEditted","createSelector","hasLoadedQueryItem","getQueryTrackerRequestOptions","getSettingQueryTrackerStage","getSettingQueryTrackerYQLAgentStage","stage","yqlAgentStage","res","getQueryEditorErrors","checkIsEditorError","error","attributes","push","inner_errors","length","forEach","inner_error","_getState$draft","isYTError","results","getQueryResults","forOwn_","value","getDirtySinceLastSubmit","dirtySinceLastSubmit"],"sources":["selectors.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport {RootState} from '../../../../store/reducers';\nimport {QTRequestOptions, QueryStatus} from '../api';\nimport {\n getSettingQueryTrackerStage,\n getSettingQueryTrackerYQLAgentStage,\n} from '../../../../store/selectors/settings-ts';\nimport {getQueryTrackerStage} from '../../../../config';\nimport {QTEditorError} from '../types/editor';\nimport {YTError} from '../../../../types';\nimport {isYTError} from '../../../../../shared/utils';\nimport {getQueryResults} from '../query_result/selectors';\nimport forOwn_ from 'lodash/forOwn';\n\nconst QT_STAGE = getQueryTrackerStage();\nconst getState = (state: RootState) => state.queryTracker.query;\n\nexport const getQuery = (state: RootState) => getState(state).queryItem;\nexport const getQueryGetParams = (state: RootState) => getState(state).params;\n\nexport const getQueryDraft = (state: RootState) => getState(state).draft;\n\nexport const getQueryText = (state: RootState) => getState(state).draft.query;\n\nexport const getQueryEngine = (state: RootState) => getState(state).draft.engine;\n\nexport const isQueryLoading = (state: RootState) => getState(state).state === 'loading';\n\nexport const isQueryExecuted = (state: RootState): boolean => {\n const queryItem = getState(state).queryItem;\n // TODO: Use real query's state\n return Boolean(queryItem?.id) && queryItem?.state !== QueryStatus.DRAFT;\n};\n\nexport const getCurrentQuery = (state: RootState) => getState(state).queryItem;\n\nexport const isQueryDraftEditted = createSelector([getQuery, getQueryDraft], (query, draft) => {\n return query?.query !== draft.query;\n});\n\nexport const hasLoadedQueryItem = (state: RootState) => {\n const queryItem = getState(state).queryItem;\n return Boolean(queryItem?.id);\n};\n\nexport const getQueryTrackerRequestOptions = createSelector(\n [getSettingQueryTrackerStage, getSettingQueryTrackerYQLAgentStage],\n (stage, yqlAgentStage) => {\n const res: QTRequestOptions = {\n stage: stage || QT_STAGE,\n yqlAgentStage,\n };\n return res;\n },\n);\n\nexport const getQueryEditorErrors = (state: RootState): QTEditorError[] => {\n const res: QTEditorError[] = [];\n const checkIsEditorError = (error: YTError) => {\n if (error.attributes) {\n if ('end_position' in error.attributes && 'start_position' in error.attributes) {\n res.push(error as QTEditorError);\n }\n }\n if (error.inner_errors && error.inner_errors.length !== 0) {\n error.inner_errors.forEach((inner_error) => checkIsEditorError(inner_error));\n }\n };\n\n const {error, id} = getState(state).draft;\n if (isYTError(error)) {\n checkIsEditorError(error);\n }\n if (id && !isQueryDraftEditted(state)) {\n const results = getQueryResults(state, id);\n if (results) {\n forOwn_(results, (value) => {\n if (value.state === 'error' && isYTError(value.error)) {\n checkIsEditorError(value.error);\n }\n });\n }\n }\n\n return res;\n};\n\nexport const getDirtySinceLastSubmit = (state: RootState) =>\n state.queryTracker.query.dirtySinceLastSubmit;\n"],"mappings":"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"}