@ytsaurus/ui 0.0.4 → 0.1.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 (224) hide show
  1. package/build/cjs/server/ServerFactory.js +2 -1
  2. package/build/cjs/server/ServerFactory.js.map +1 -1
  3. package/build/cjs/server/config.localcluster.js +1 -1
  4. package/build/cjs/server/config.localcluster.js.map +1 -1
  5. package/build/cjs/server/configs/local.d.ts +3 -0
  6. package/build/cjs/server/configs/local.js +33 -0
  7. package/build/cjs/server/configs/local.js.map +1 -0
  8. package/build/cjs/server/utils/default-settings.js +1 -1
  9. package/build/cjs/server/utils/default-settings.js.map +1 -1
  10. package/build/cjs/shared/ui-settings.d.ts +1 -0
  11. package/build/cjs/shared/ui-settings.js.map +1 -1
  12. package/build/cjs/ui/common/utils/url-encoder.js +1 -0
  13. package/build/cjs/ui/common/utils/url-encoder.js.map +1 -1
  14. package/build/cjs/ui/common/yt-api-init.js +7 -12
  15. package/build/cjs/ui/common/yt-api-init.js.map +1 -1
  16. package/build/cjs/ui/components/EditableAsText/EditableAsText.js +8 -6
  17. package/build/cjs/ui/components/EditableAsText/EditableAsText.js.map +1 -1
  18. package/build/cjs/ui/components/SchemaDataType/SchemaDataType.js +3 -59
  19. package/build/cjs/ui/components/SchemaDataType/SchemaDataType.js.map +1 -1
  20. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.d.ts +48 -0
  21. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.js +65 -0
  22. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.js.map +1 -0
  23. package/build/cjs/ui/config/index.d.ts +1 -0
  24. package/build/cjs/ui/config/index.js +4 -0
  25. package/build/cjs/ui/config/index.js.map +1 -1
  26. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  27. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.d.ts +7 -0
  28. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js +78 -0
  29. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js.map +1 -0
  30. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.d.ts +3 -1
  31. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +10 -2
  32. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.js.map +1 -1
  33. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/index.js +3 -3
  34. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/index.js.map +1 -1
  35. package/build/cjs/ui/pages/query-tracker/QueryDuration/index.js +13 -2
  36. package/build/cjs/ui/pages/query-tracker/QueryDuration/index.js.map +1 -1
  37. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +3 -1
  38. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js +19 -10
  39. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  40. package/build/cjs/ui/pages/query-tracker/QueryResults/index.d.ts +2 -0
  41. package/build/cjs/ui/pages/query-tracker/QueryResults/index.js +2 -3
  42. package/build/cjs/ui/pages/query-tracker/QueryResults/index.js.map +1 -1
  43. package/build/cjs/ui/pages/query-tracker/QueryResultsView/index.js +4 -9
  44. package/build/cjs/ui/pages/query-tracker/QueryResultsView/index.js.map +1 -1
  45. package/build/cjs/ui/pages/query-tracker/QueryStatus/index.js +2 -1
  46. package/build/cjs/ui/pages/query-tracker/QueryStatus/index.js.map +1 -1
  47. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js +14 -2
  48. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  49. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.d.ts +18 -0
  50. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.js +89 -0
  51. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.js.map +1 -0
  52. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.d.ts +4 -0
  53. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js +88 -0
  54. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js.map +1 -0
  55. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.d.ts +1 -0
  56. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js +18 -131
  57. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  58. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.d.ts +5 -0
  59. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.js +78 -0
  60. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.js.map +1 -0
  61. package/build/cjs/ui/pages/query-tracker/module/api.d.ts +15 -13
  62. package/build/cjs/ui/pages/query-tracker/module/api.js +175 -63
  63. package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
  64. package/build/cjs/ui/pages/query-tracker/module/query/actions.d.ts +3 -2
  65. package/build/cjs/ui/pages/query-tracker/module/query/actions.js +83 -23
  66. package/build/cjs/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  67. package/build/cjs/ui/pages/query-tracker/module/query/reducer.d.ts +2 -1
  68. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  69. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +2 -1
  70. package/build/cjs/ui/pages/query-tracker/module/query/url_mapping.js +7 -3
  71. package/build/cjs/ui/pages/query-tracker/module/query/url_mapping.js.map +1 -1
  72. package/build/cjs/ui/pages/query-tracker/module/query_result/actions.js +48 -41
  73. package/build/cjs/ui/pages/query-tracker/module/query_result/actions.js.map +1 -1
  74. package/build/cjs/ui/pages/query-tracker/utils/navigation.d.ts +4 -1
  75. package/build/cjs/ui/pages/query-tracker/utils/navigation.js +8 -3
  76. package/build/cjs/ui/pages/query-tracker/utils/navigation.js.map +1 -1
  77. package/build/cjs/ui/pages/query-tracker/utils/query.d.ts +1 -0
  78. package/build/cjs/ui/pages/query-tracker/utils/query.js +4 -0
  79. package/build/cjs/ui/pages/query-tracker/utils/query.js.map +1 -1
  80. package/build/cjs/ui/pages/query-tracker/utils/query_generate.d.ts +13 -0
  81. package/build/cjs/ui/pages/query-tracker/utils/query_generate.js +84 -0
  82. package/build/cjs/ui/pages/query-tracker/utils/query_generate.js.map +1 -0
  83. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +19 -36
  84. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  85. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.d.ts +0 -1
  86. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js +15 -41
  87. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js.map +1 -1
  88. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.d.ts +1 -2
  89. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js +1 -5
  90. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js.map +1 -1
  91. package/build/cjs/ui/store/selectors/global/index.d.ts +3 -0
  92. package/build/cjs/ui/store/selectors/global/index.js +20 -1
  93. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  94. package/build/esm/server/ServerFactory.js +2 -1
  95. package/build/esm/server/ServerFactory.js.map +1 -1
  96. package/build/esm/server/config.localcluster.js +1 -1
  97. package/build/esm/server/config.localcluster.js.map +1 -1
  98. package/build/esm/server/configs/local.d.ts +3 -0
  99. package/build/esm/server/configs/local.js +28 -0
  100. package/build/esm/server/configs/local.js.map +1 -0
  101. package/build/esm/server/utils/default-settings.js +1 -1
  102. package/build/esm/server/utils/default-settings.js.map +1 -1
  103. package/build/esm/shared/ui-settings.d.ts +1 -0
  104. package/build/esm/shared/ui-settings.js.map +1 -1
  105. package/build/esm/ui/common/utils/url-encoder.js +1 -0
  106. package/build/esm/ui/common/utils/url-encoder.js.map +1 -1
  107. package/build/esm/ui/common/yt-api-init.js +4 -9
  108. package/build/esm/ui/common/yt-api-init.js.map +1 -1
  109. package/build/esm/ui/components/Dialog/Dialog.css +1 -1
  110. package/build/esm/ui/components/Dialog/Dialog.css.map +1 -1
  111. package/build/esm/ui/components/Dialog/Dialog.scss +1 -1
  112. package/build/esm/ui/components/EditableAsText/EditableAsText.js +8 -6
  113. package/build/esm/ui/components/EditableAsText/EditableAsText.js.map +1 -1
  114. package/build/esm/ui/components/SchemaDataType/SchemaDataType.js +2 -57
  115. package/build/esm/ui/components/SchemaDataType/SchemaDataType.js.map +1 -1
  116. package/build/esm/ui/components/SchemaDataType/dateTypesV3.d.ts +48 -0
  117. package/build/esm/ui/components/SchemaDataType/dateTypesV3.js +57 -0
  118. package/build/esm/ui/components/SchemaDataType/dateTypesV3.js.map +1 -0
  119. package/build/esm/ui/config/index.d.ts +1 -0
  120. package/build/esm/ui/config/index.js +3 -0
  121. package/build/esm/ui/config/index.js.map +1 -1
  122. package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  123. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.css +8 -0
  124. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.css.map +1 -0
  125. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.d.ts +7 -0
  126. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js +72 -0
  127. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js.map +1 -0
  128. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.scss +7 -0
  129. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.css +3 -0
  130. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.css.map +1 -1
  131. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.d.ts +3 -1
  132. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +11 -3
  133. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.js.map +1 -1
  134. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.scss +4 -0
  135. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/index.js +4 -4
  136. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/index.js.map +1 -1
  137. package/build/esm/ui/pages/query-tracker/QueryDuration/index.js +13 -2
  138. package/build/esm/ui/pages/query-tracker/QueryDuration/index.js.map +1 -1
  139. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +3 -1
  140. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js +19 -10
  141. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  142. package/build/esm/ui/pages/query-tracker/QueryResults/index.d.ts +2 -0
  143. package/build/esm/ui/pages/query-tracker/QueryResults/index.js +2 -3
  144. package/build/esm/ui/pages/query-tracker/QueryResults/index.js.map +1 -1
  145. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.css +3 -10
  146. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.css.map +1 -1
  147. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.js +4 -9
  148. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.js.map +1 -1
  149. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.scss +3 -11
  150. package/build/esm/ui/pages/query-tracker/QueryStatus/index.css +4 -0
  151. package/build/esm/ui/pages/query-tracker/QueryStatus/index.css.map +1 -1
  152. package/build/esm/ui/pages/query-tracker/QueryStatus/index.js +2 -1
  153. package/build/esm/ui/pages/query-tracker/QueryStatus/index.js.map +1 -1
  154. package/build/esm/ui/pages/query-tracker/QueryStatus/index.scss +4 -0
  155. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js +16 -4
  156. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  157. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.css +19 -0
  158. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.css.map +1 -0
  159. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.d.ts +18 -0
  160. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.js +82 -0
  161. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.js.map +1 -0
  162. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.scss +20 -0
  163. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.css +13 -0
  164. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.css.map +1 -0
  165. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.d.ts +4 -0
  166. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js +82 -0
  167. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js.map +1 -0
  168. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.scss +13 -0
  169. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.css +6 -16
  170. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.css.map +1 -1
  171. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.d.ts +1 -0
  172. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js +19 -133
  173. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  174. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.scss +4 -20
  175. package/build/esm/ui/pages/query-tracker/QueryWidget/index.css +28 -0
  176. package/build/esm/ui/pages/query-tracker/QueryWidget/index.css.map +1 -0
  177. package/build/esm/ui/pages/query-tracker/QueryWidget/index.d.ts +5 -0
  178. package/build/esm/ui/pages/query-tracker/QueryWidget/index.js +73 -0
  179. package/build/esm/ui/pages/query-tracker/QueryWidget/index.js.map +1 -0
  180. package/build/esm/ui/pages/query-tracker/QueryWidget/index.scss +31 -0
  181. package/build/esm/ui/pages/query-tracker/module/api.d.ts +15 -13
  182. package/build/esm/ui/pages/query-tracker/module/api.js +175 -63
  183. package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
  184. package/build/esm/ui/pages/query-tracker/module/query/actions.d.ts +3 -2
  185. package/build/esm/ui/pages/query-tracker/module/query/actions.js +83 -24
  186. package/build/esm/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  187. package/build/esm/ui/pages/query-tracker/module/query/reducer.d.ts +2 -1
  188. package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  189. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +2 -1
  190. package/build/esm/ui/pages/query-tracker/module/query/url_mapping.js +7 -3
  191. package/build/esm/ui/pages/query-tracker/module/query/url_mapping.js.map +1 -1
  192. package/build/esm/ui/pages/query-tracker/module/query_result/actions.js +48 -41
  193. package/build/esm/ui/pages/query-tracker/module/query_result/actions.js.map +1 -1
  194. package/build/esm/ui/pages/query-tracker/utils/navigation.d.ts +4 -1
  195. package/build/esm/ui/pages/query-tracker/utils/navigation.js +8 -3
  196. package/build/esm/ui/pages/query-tracker/utils/navigation.js.map +1 -1
  197. package/build/esm/ui/pages/query-tracker/utils/query.d.ts +1 -0
  198. package/build/esm/ui/pages/query-tracker/utils/query.js +4 -1
  199. package/build/esm/ui/pages/query-tracker/utils/query.js.map +1 -1
  200. package/build/esm/ui/pages/query-tracker/utils/query_generate.d.ts +13 -0
  201. package/build/esm/ui/pages/query-tracker/utils/query_generate.js +73 -0
  202. package/build/esm/ui/pages/query-tracker/utils/query_generate.js.map +1 -0
  203. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +3 -15
  204. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  205. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +19 -36
  206. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  207. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +5 -21
  208. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.css +1 -1
  209. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.css.map +1 -1
  210. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.d.ts +0 -1
  211. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js +16 -42
  212. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js.map +1 -1
  213. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.scss +1 -1
  214. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.css +0 -9
  215. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.css.map +1 -1
  216. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.d.ts +1 -2
  217. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js +1 -5
  218. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js.map +1 -1
  219. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.scss +0 -11
  220. package/build/esm/ui/store/selectors/global/index.d.ts +3 -0
  221. package/build/esm/ui/store/selectors/global/index.js +16 -1
  222. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  223. package/build/img/svg/page-query-tracker.svg +3 -3
  224. package/package.json +3 -3
@@ -1,10 +1,25 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- import { getQueryTrackerStage } from '../../../config';
4
+ import { allowDirectDownload, getQueryTrackerCluster, getQueryTrackerStage } from '../../../config';
5
5
  import { extractBatchV4Values, splitBatchResults } from '../../../utils/utils';
6
- import { YTApiId, ytApiV4Id } from '../../../rum/rum-wrap-api';
6
+ import { YTApiId, ytApiV4Id, ytApiV3 } from '../../../rum/rum-wrap-api';
7
+ import ypath from '../../../common/thor/ypath';
8
+ import { getClusterConfigByName, getClusterProxy } from '../../../store/selectors/global';
9
+ import { generateQuerySettings, generateQueryText } from '../utils/query_generate';
7
10
  var QT_STAGE = getQueryTrackerStage();
11
+ function getQTApiSetup() {
12
+ var QT_CLUSTER = getQueryTrackerCluster();
13
+ if (QT_CLUSTER) {
14
+ var cluster = getClusterConfigByName(QT_CLUSTER);
15
+ if (cluster) {
16
+ return {
17
+ proxy: getClusterProxy(cluster)
18
+ };
19
+ }
20
+ }
21
+ return {};
22
+ }
8
23
  export var QueryEngine;
9
24
  (function (QueryEngine) {
10
25
  QueryEngine["YT_QL"] = "ql";
@@ -12,12 +27,12 @@ export var QueryEngine;
12
27
  QueryEngine["CHYT"] = "chyt";
13
28
  })(QueryEngine || (QueryEngine = {}));
14
29
  export var Engines = Object.values(QueryEngine);
15
- export var EngineKeys = [QueryEngine.YQL, QueryEngine.YT_QL, QueryEngine.CHYT];
16
30
  export function isEngine(engine) {
17
31
  return Engines.includes(engine);
18
32
  }
19
33
  export var QueryStatus;
20
34
  (function (QueryStatus) {
35
+ QueryStatus["DRAFT"] = "draft";
21
36
  QueryStatus["RUNNING"] = "running";
22
37
  QueryStatus["PENDING"] = "pending";
23
38
  QueryStatus["COMPLETING"] = "completing";
@@ -29,51 +44,136 @@ export var QueryStatus;
29
44
  })(QueryStatus || (QueryStatus = {}));
30
45
  export var ProgressStatuses = [QueryStatus.RUNNING, QueryStatus.PENDING, QueryStatus.COMPLETING, QueryStatus.FAILING, QueryStatus.ABORTING];
31
46
  export var AbortableStatuses = [QueryStatus.RUNNING, QueryStatus.PENDING];
32
- export var CompletedStates = [QueryStatus.ABORTED, QueryStatus.COMPLETED, QueryStatus.FAILED];
47
+ export var CompletedStates = [QueryStatus.DRAFT, QueryStatus.ABORTED, QueryStatus.COMPLETED, QueryStatus.FAILED];
33
48
  export var QueriesHistoryCursorDirection;
34
49
  (function (QueriesHistoryCursorDirection) {
35
50
  QueriesHistoryCursorDirection["PAST"] = "past";
36
51
  QueriesHistoryCursorDirection["FUTURE"] = "future";
37
52
  })(QueriesHistoryCursorDirection || (QueriesHistoryCursorDirection = {}));
38
- export function loadQueriesList(_ref) {
39
- var params = _ref.params,
40
- cursor = _ref.cursor,
41
- limit = _ref.limit;
53
+ export function generateQueryFromTable(_x, _x2) {
54
+ return _generateQueryFromTable.apply(this, arguments);
55
+ }
56
+ function _generateQueryFromTable() {
57
+ _generateQueryFromTable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(engine, _ref) {
58
+ var cluster, path, selectedCluster, node, schema;
59
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
60
+ while (1) switch (_context.prev = _context.next) {
61
+ case 0:
62
+ cluster = _ref.cluster, path = _ref.path;
63
+ selectedCluster = getClusterConfigByName(cluster);
64
+ _context.next = 4;
65
+ return ytApiV3.get({
66
+ parameters: {
67
+ path: "".concat(path, "/@"),
68
+ attributes: ['type', 'schema'],
69
+ output_format: {
70
+ $value: 'json',
71
+ $attributes: {
72
+ encode_utf8: 'false'
73
+ }
74
+ }
75
+ },
76
+ setup: {
77
+ proxy: getClusterProxy(selectedCluster)
78
+ }
79
+ });
80
+ case 4:
81
+ node = _context.sent;
82
+ if (!(node.type === 'table')) {
83
+ _context.next = 8;
84
+ break;
85
+ }
86
+ schema = ypath.getValue(node.schema);
87
+ return _context.abrupt("return", {
88
+ engine: engine,
89
+ query: generateQueryText(cluster, engine, {
90
+ path: path,
91
+ columns: schema.map(function (_ref3) {
92
+ var name = _ref3.name;
93
+ return name;
94
+ }),
95
+ pageSize: 50,
96
+ schemaExists: Boolean(schema.length)
97
+ }),
98
+ annotations: {},
99
+ settings: generateQuerySettings(engine, cluster)
100
+ });
101
+ case 8:
102
+ return _context.abrupt("return", undefined);
103
+ case 9:
104
+ case "end":
105
+ return _context.stop();
106
+ }
107
+ }, _callee);
108
+ }));
109
+ return _generateQueryFromTable.apply(this, arguments);
110
+ }
111
+ export function loadQueriesList(_ref2) {
112
+ var params = _ref2.params,
113
+ cursor = _ref2.cursor,
114
+ limit = _ref2.limit;
42
115
  return ytApiV4Id.listQueries(YTApiId.listQueries, {
43
116
  parameters: _objectSpread(_objectSpread(_objectSpread({}, params), cursor), {}, {
44
117
  limit: limit,
45
- stage: QT_STAGE
46
- })
118
+ stage: QT_STAGE,
119
+ output_format: {
120
+ $value: 'json',
121
+ $attributes: {
122
+ encode_utf8: 'false'
123
+ }
124
+ }
125
+ }),
126
+ setup: getQTApiSetup()
47
127
  });
48
128
  }
129
+ function makeGetQueryParams(query_id) {
130
+ return {
131
+ query_id: query_id,
132
+ stage: QT_STAGE,
133
+ output_format: {
134
+ $value: 'json',
135
+ $attributes: {
136
+ encode_utf8: 'false'
137
+ }
138
+ }
139
+ };
140
+ }
49
141
  export function getQuery(query_id) {
50
142
  return ytApiV4Id.getQuery(YTApiId.getQuery, {
51
- parameters: {
52
- query_id: query_id,
53
- stage: QT_STAGE
54
- }
143
+ parameters: makeGetQueryParams(query_id),
144
+ setup: getQTApiSetup()
55
145
  });
56
146
  }
57
-
58
- // startQuery(query: DraftQuery)
59
147
  export function startQuery(queryInstance) {
60
148
  var query = queryInstance.query,
61
149
  engine = queryInstance.engine,
62
150
  settings = queryInstance.settings,
63
151
  annotations = queryInstance.annotations;
64
152
  return ytApiV4Id.startQuery(YTApiId.startQuery, {
65
- query: query,
66
- engine: engine,
67
- annotations: annotations,
68
- settings: settings,
69
- stage: QT_STAGE
153
+ parameters: {
154
+ query: query,
155
+ engine: engine,
156
+ annotations: annotations,
157
+ settings: settings,
158
+ stage: QT_STAGE,
159
+ output_format: {
160
+ $value: 'json',
161
+ $attributes: {
162
+ encode_utf8: 'false'
163
+ }
164
+ }
165
+ },
166
+ setup: getQTApiSetup()
70
167
  });
71
168
  }
72
169
  export function abortQuery(query_id, message) {
73
170
  return ytApiV4Id.abortQuery(YTApiId.abortQuery, {
74
- query_id: query_id,
75
- message: message,
76
- stage: QT_STAGE
171
+ parameters: {
172
+ query_id: query_id,
173
+ message: message,
174
+ stage: QT_STAGE
175
+ },
176
+ setup: getQTApiSetup()
77
177
  });
78
178
  }
79
179
  export function readQueryResults(query_id) {
@@ -81,18 +181,22 @@ export function readQueryResults(query_id) {
81
181
  var cursor = arguments.length > 2 ? arguments[2] : undefined;
82
182
  var settings = arguments.length > 3 ? arguments[3] : undefined;
83
183
  return ytApiV4Id.readQueryResults(YTApiId.readQueryResults, {
84
- query_id: query_id,
85
- result_index: result_index,
86
- lower_row_index: cursor === null || cursor === void 0 ? void 0 : cursor.start,
87
- upper_row_index: cursor === null || cursor === void 0 ? void 0 : cursor.end,
88
- output_format: {
89
- $value: 'web_json',
90
- $attributes: {
91
- value_format: 'yql',
92
- field_weight_limit: settings === null || settings === void 0 ? void 0 : settings.cellsSize
93
- }
184
+ parameters: {
185
+ query_id: query_id,
186
+ result_index: result_index,
187
+ lower_row_index: cursor === null || cursor === void 0 ? void 0 : cursor.start,
188
+ upper_row_index: cursor === null || cursor === void 0 ? void 0 : cursor.end,
189
+ output_format: {
190
+ $value: 'web_json',
191
+ $attributes: {
192
+ value_format: 'yql',
193
+ field_weight_limit: settings === null || settings === void 0 ? void 0 : settings.cellsSize,
194
+ encode_utf8: 'false'
195
+ }
196
+ },
197
+ stage: QT_STAGE
94
198
  },
95
- stage: QT_STAGE
199
+ setup: getQTApiSetup()
96
200
  });
97
201
  }
98
202
  export function getDownloadQueryResultURL(cluster, queryId) {
@@ -108,65 +212,73 @@ export function getDownloadQueryResultURL(cluster, queryId) {
108
212
  if (QT_STAGE) {
109
213
  params.set('stage', QT_STAGE);
110
214
  }
111
- return "/api/yt/".concat(cluster, "/api/v4/read_query_result?").concat(params.toString());
215
+ var clusterConfig = getClusterConfigByName(getQueryTrackerCluster() || cluster);
216
+ if (clusterConfig) {
217
+ var base = allowDirectDownload() ? "//".concat(clusterConfig.proxy, "/api/v4/read_query_result") : "/api/yt/".concat(clusterConfig.id, "/api/v4/read_query_result");
218
+ return "".concat(base, "?").concat(params.toString());
219
+ }
220
+ return '';
112
221
  }
113
- export function requestQueries(_x) {
222
+ export function requestQueries(_x3) {
114
223
  return _requestQueries.apply(this, arguments);
115
224
  }
116
225
  function _requestQueries() {
117
- _requestQueries = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(ids) {
226
+ _requestQueries = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(ids) {
118
227
  var _extracted$results;
119
228
  var requests, resp, extracted, _splitBatchResults, results;
120
- return _regeneratorRuntime.wrap(function _callee$(_context) {
121
- while (1) switch (_context.prev = _context.next) {
229
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
230
+ while (1) switch (_context2.prev = _context2.next) {
122
231
  case 0:
123
232
  requests = ids.map(function (query_id) {
124
233
  return {
125
234
  command: 'get_query',
126
- parameters: {
127
- query_id: query_id,
128
- stage: QT_STAGE
129
- }
235
+ parameters: makeGetQueryParams(query_id)
130
236
  };
131
237
  });
132
- _context.next = 3;
238
+ _context2.next = 3;
133
239
  return ytApiV4Id.executeBatch(YTApiId.getQuery, {
134
- requests: requests
240
+ parameters: {
241
+ requests: requests
242
+ },
243
+ setup: getQTApiSetup()
135
244
  });
136
245
  case 3:
137
- resp = _context.sent;
246
+ resp = _context2.sent;
138
247
  extracted = extractBatchV4Values(resp, requests);
139
248
  _splitBatchResults = splitBatchResults((_extracted$results = extracted.results) !== null && _extracted$results !== void 0 ? _extracted$results : []), results = _splitBatchResults.results;
140
- return _context.abrupt("return", results);
249
+ return _context2.abrupt("return", results);
141
250
  case 7:
142
251
  case "end":
143
- return _context.stop();
252
+ return _context2.stop();
144
253
  }
145
- }, _callee);
254
+ }, _callee2);
146
255
  }));
147
256
  return _requestQueries.apply(this, arguments);
148
257
  }
149
- export function getQueryResultMeta(_x2) {
258
+ export function getQueryResultMeta(_x4) {
150
259
  return _getQueryResultMeta.apply(this, arguments);
151
260
  }
152
261
  function _getQueryResultMeta() {
153
- _getQueryResultMeta = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(query_id) {
262
+ _getQueryResultMeta = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(query_id) {
154
263
  var result_index,
155
- _args2 = arguments;
156
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
157
- while (1) switch (_context2.prev = _context2.next) {
264
+ _args3 = arguments;
265
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
266
+ while (1) switch (_context3.prev = _context3.next) {
158
267
  case 0:
159
- result_index = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 0;
160
- return _context2.abrupt("return", ytApiV4Id.getQueryResults(YTApiId.readQueryResults, {
161
- query_id: query_id,
162
- result_index: result_index,
163
- stage: QT_STAGE
268
+ result_index = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : 0;
269
+ return _context3.abrupt("return", ytApiV4Id.getQueryResults(YTApiId.readQueryResults, {
270
+ parameters: {
271
+ query_id: query_id,
272
+ result_index: result_index,
273
+ stage: QT_STAGE
274
+ },
275
+ setup: getQTApiSetup()
164
276
  }));
165
277
  case 2:
166
278
  case "end":
167
- return _context2.stop();
279
+ return _context3.stop();
168
280
  }
169
- }, _callee2);
281
+ }, _callee3);
170
282
  }));
171
283
  return _getQueryResultMeta.apply(this, arguments);
172
284
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getQueryTrackerStage","extractBatchV4Values","splitBatchResults","YTApiId","ytApiV4Id","QT_STAGE","QueryEngine","Engines","Object","values","EngineKeys","YQL","YT_QL","CHYT","isEngine","engine","includes","QueryStatus","ProgressStatuses","RUNNING","PENDING","COMPLETING","FAILING","ABORTING","AbortableStatuses","CompletedStates","ABORTED","COMPLETED","FAILED","QueriesHistoryCursorDirection","loadQueriesList","_ref","params","cursor","limit","listQueries","parameters","_objectSpread","stage","getQuery","query_id","startQuery","queryInstance","query","settings","annotations","abortQuery","message","readQueryResults","result_index","arguments","length","undefined","lower_row_index","start","upper_row_index","end","output_format","$value","$attributes","value_format","field_weight_limit","cellsSize","getDownloadQueryResultURL","cluster","queryId","resultIndex","URLSearchParams","toString","set","concat","requestQueries","_x","_requestQueries","apply","_asyncToGenerator","_regeneratorRuntime","mark","_callee","ids","_extracted$results","requests","resp","extracted","_splitBatchResults","results","wrap","_callee$","_context","prev","next","map","command","executeBatch","sent","abrupt","stop","getQueryResultMeta","_x2","_getQueryResultMeta","_callee2","_args2","_callee2$","_context2","getQueryResults"],"sources":["api.ts"],"sourcesContent":["import {getQueryTrackerStage} from '../../../config';\nimport {extractBatchV4Values, splitBatchResults} from '../../../utils/utils';\nimport {BatchResultsItem} from '../../../../shared/yt-types';\nimport {YTApiId, ytApiV4Id} from '../../../rum/rum-wrap-api';\n\nimport {Plan} from './types/plan';\nimport {TypeArray} from '../../../components/SchemaDataType/dataTypes';\n\nconst QT_STAGE = getQueryTrackerStage();\n\nexport enum QueryEngine {\n YT_QL = 'ql',\n YQL = 'yql',\n\n CHYT = 'chyt',\n}\n\nexport const Engines = Object.values(QueryEngine);\n\nexport const EngineKeys = [QueryEngine.YQL, QueryEngine.YT_QL, QueryEngine.CHYT];\n\nexport function isEngine(engine: string): engine is QueryEngine {\n return Engines.includes(engine as unknown as QueryEngine);\n}\n\nexport type QueryItemId = string;\n\nexport type YQLStatistic = {sum?: number; count?: number; avg?: number; max?: number; min?: number};\n\nexport type YQLSstatistics = Record<string, any>;\n\nexport interface DraftQuery {\n engine: QueryEngine;\n query: string;\n attributes?: {\n title?: string;\n };\n annotations?: {\n title?: string;\n };\n settings?: {};\n}\n\nexport interface QueryItem extends DraftQuery {\n id: QueryItemId;\n start_time: string;\n finish_time: string;\n user: string;\n state: QueryStatus;\n result_count: number;\n progress?: {\n yql_plan?: Plan;\n yql_statistics?: YQLSstatistics;\n };\n error: unknown;\n}\n\nexport enum QueryStatus {\n RUNNING = 'running',\n PENDING = 'pending',\n COMPLETING = 'completing',\n COMPLETED = 'completed',\n FAILING = 'failing',\n FAILED = 'failed',\n ABORTING = 'aborting',\n ABORTED = 'aborted',\n}\n\nexport const ProgressStatuses = [\n QueryStatus.RUNNING,\n QueryStatus.PENDING,\n QueryStatus.COMPLETING,\n QueryStatus.FAILING,\n QueryStatus.ABORTING,\n];\n\nexport const AbortableStatuses = [QueryStatus.RUNNING, QueryStatus.PENDING];\n\nexport const CompletedStates = [QueryStatus.ABORTED, QueryStatus.COMPLETED, QueryStatus.FAILED];\n\nexport enum QueriesHistoryCursorDirection {\n PAST = 'past',\n FUTURE = 'future',\n}\n\nexport type QueriiesListCursorParams = {\n cursor_time: string;\n cursor_direction: QueriesHistoryCursorDirection;\n};\n\nexport type QueriesListParams = {\n user?: string;\n engine?: string;\n filter?: string;\n};\n\nexport type QueriesListRequestParams = {\n params: QueriesListParams;\n cursor?: QueriiesListCursorParams;\n limit?: number;\n};\n\nexport function loadQueriesList({params, cursor, limit}: QueriesListRequestParams): Promise<{\n incomplete: boolean;\n queries: QueryItem[];\n timestamp: number;\n}> {\n return ytApiV4Id.listQueries(YTApiId.listQueries, {\n parameters: {\n ...params,\n ...cursor,\n limit,\n stage: QT_STAGE,\n },\n });\n}\n\nexport function getQuery(query_id: string): Promise<QueryItem> {\n return ytApiV4Id.getQuery(YTApiId.getQuery, {\n parameters: {\n query_id,\n stage: QT_STAGE,\n },\n });\n}\n\n// startQuery(query: DraftQuery)\nexport function startQuery(queryInstance: DraftQuery): Promise<{query_id: QueryItemId}> {\n const {query, engine, settings, annotations} = queryInstance;\n return ytApiV4Id.startQuery(YTApiId.startQuery, {\n query,\n engine,\n annotations,\n settings,\n stage: QT_STAGE,\n });\n}\n\nexport function abortQuery(query_id: string, message?: string): Promise<void> {\n return ytApiV4Id.abortQuery(YTApiId.abortQuery, {\n query_id,\n message,\n stage: QT_STAGE,\n });\n}\n\ntype QueryResult = {\n all_column_names: string[];\n incomplete_all_column_names: boolean;\n incomplete_columns: boolean;\n rows: Record<string, [unknown, string]>[]; //Record<string, {$value: unknown; $type: string}>[];\n yql_type_registry: TypeArray[];\n};\n\nexport function readQueryResults(\n query_id: string,\n result_index = 0,\n cursor?: {start: number; end: number},\n settings?: {\n cellsSize: number;\n },\n): Promise<QueryResult> {\n return ytApiV4Id.readQueryResults(YTApiId.readQueryResults, {\n query_id,\n result_index,\n lower_row_index: cursor?.start,\n upper_row_index: cursor?.end,\n output_format: {\n $value: 'web_json',\n $attributes: {\n value_format: 'yql',\n field_weight_limit: settings?.cellsSize,\n },\n },\n stage: QT_STAGE,\n });\n}\n\nexport function getDownloadQueryResultURL(\n cluster: string,\n queryId: string,\n resultIndex = 0,\n cursor?: {start: number; end: number},\n) {\n const params = new URLSearchParams({\n query_id: queryId,\n result_index: resultIndex.toString(),\n ...(cursor\n ? {\n lower_row_index: cursor.start.toString(),\n upper_row_index: cursor.end.toString(),\n }\n : {}),\n });\n\n if (QT_STAGE) {\n params.set('stage', QT_STAGE);\n }\n return `/api/yt/${cluster}/api/v4/read_query_result?${params.toString()}`;\n}\n\nexport async function requestQueries(ids: string[]): Promise<QueryItem[]> {\n const requests: any[] = ids.map((query_id) => ({\n command: 'get_query',\n parameters: {\n query_id,\n stage: QT_STAGE,\n },\n }));\n const resp = (await ytApiV4Id.executeBatch(YTApiId.getQuery, {\n requests,\n })) as unknown as {results: BatchResultsItem<QueryItem>[]};\n\n const extracted = extractBatchV4Values(resp, requests);\n const {results} = splitBatchResults(extracted.results ?? []);\n return results;\n}\n\nexport type QueryResultMeta = {\n id: string;\n result_index: number;\n schema: {\n $attributes: {\n strict: boolean;\n unique_keys: boolean;\n };\n $value: {\n name: string;\n required: boolean;\n type: string;\n type_v3: {\n type_name: string;\n item: string;\n };\n }[];\n };\n data_statistics: {\n chunk_count: number;\n row_count: number;\n uncompressed_data_size: number;\n compressed_data_size: number;\n data_weight: number;\n regular_disk_space: number;\n erasure_disk_space: number;\n unmerged_row_count: number;\n unmerged_data_weight: number;\n };\n};\n\nexport async function getQueryResultMeta(\n query_id: string,\n result_index = 0,\n): Promise<QueryResultMeta | undefined> {\n return ytApiV4Id.getQueryResults(YTApiId.readQueryResults, {\n query_id,\n result_index,\n stage: QT_STAGE,\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["allowDirectDownload","getQueryTrackerCluster","getQueryTrackerStage","extractBatchV4Values","splitBatchResults","YTApiId","ytApiV4Id","ytApiV3","ypath","getClusterConfigByName","getClusterProxy","generateQuerySettings","generateQueryText","QT_STAGE","getQTApiSetup","QT_CLUSTER","cluster","proxy","QueryEngine","Engines","Object","values","isEngine","engine","includes","QueryStatus","ProgressStatuses","RUNNING","PENDING","COMPLETING","FAILING","ABORTING","AbortableStatuses","CompletedStates","DRAFT","ABORTED","COMPLETED","FAILED","QueriesHistoryCursorDirection","generateQueryFromTable","_x","_x2","_generateQueryFromTable","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","path","selectedCluster","node","schema","wrap","_callee$","_context","prev","next","get","parameters","concat","attributes","output_format","$value","$attributes","encode_utf8","setup","sent","type","getValue","abrupt","query","columns","map","_ref3","name","pageSize","schemaExists","Boolean","length","annotations","settings","undefined","stop","loadQueriesList","_ref2","params","cursor","limit","listQueries","_objectSpread","stage","makeGetQueryParams","query_id","getQuery","startQuery","queryInstance","abortQuery","message","readQueryResults","result_index","lower_row_index","start","upper_row_index","end","value_format","field_weight_limit","cellsSize","getDownloadQueryResultURL","queryId","resultIndex","URLSearchParams","toString","set","clusterConfig","base","id","requestQueries","_x3","_requestQueries","_callee2","ids","_extracted$results","requests","resp","extracted","_splitBatchResults","results","_callee2$","_context2","command","executeBatch","getQueryResultMeta","_x4","_getQueryResultMeta","_callee3","_args3","_callee3$","_context3","getQueryResults"],"sources":["api.ts"],"sourcesContent":["import {allowDirectDownload, getQueryTrackerCluster, getQueryTrackerStage} from '../../../config';\nimport {extractBatchV4Values, splitBatchResults} from '../../../utils/utils';\nimport {BatchResultsItem} from '../../../../shared/yt-types';\nimport {YTApiId, ytApiV4Id, ytApiV3} from '../../../rum/rum-wrap-api';\nimport ypath from '../../../common/thor/ypath';\nimport {Plan} from './types/plan';\nimport {TypeArray} from '../../../components/SchemaDataType/dataTypes';\nimport {getClusterConfigByName, getClusterProxy} from '../../../store/selectors/global';\nimport {generateQuerySettings, generateQueryText} from '../utils/query_generate';\n\nconst QT_STAGE = getQueryTrackerStage();\n\nfunction getQTApiSetup(): {proxy?: string} {\n const QT_CLUSTER = getQueryTrackerCluster();\n if (QT_CLUSTER) {\n const cluster = getClusterConfigByName(QT_CLUSTER);\n if (cluster) {\n return {\n proxy: getClusterProxy(cluster),\n };\n }\n }\n return {};\n}\n\nexport enum QueryEngine {\n YT_QL = 'ql',\n YQL = 'yql',\n\n CHYT = 'chyt',\n}\n\nexport const Engines = Object.values(QueryEngine);\n\nexport function isEngine(engine: string): engine is QueryEngine {\n return Engines.includes(engine as unknown as QueryEngine);\n}\n\nexport type QueryItemId = string;\n\nexport type YQLStatistic = {sum?: number; count?: number; avg?: number; max?: number; min?: number};\n\nexport type YQLSstatistics = Record<string, any>;\n\nexport interface DraftQuery {\n engine: QueryEngine;\n query: string;\n annotations?: {\n title?: string;\n };\n settings?: {};\n}\n\nexport interface QueryItem extends DraftQuery {\n id: QueryItemId;\n start_time: string;\n finish_time: string;\n user: string;\n state: QueryStatus;\n result_count: number;\n progress?: {\n yql_plan?: Plan;\n yql_statistics?: YQLSstatistics;\n };\n error: unknown;\n}\n\nexport enum QueryStatus {\n DRAFT = 'draft',\n RUNNING = 'running',\n PENDING = 'pending',\n COMPLETING = 'completing',\n COMPLETED = 'completed',\n FAILING = 'failing',\n FAILED = 'failed',\n ABORTING = 'aborting',\n ABORTED = 'aborted',\n}\n\nexport const ProgressStatuses = [\n QueryStatus.RUNNING,\n QueryStatus.PENDING,\n QueryStatus.COMPLETING,\n QueryStatus.FAILING,\n QueryStatus.ABORTING,\n];\n\nexport const AbortableStatuses = [QueryStatus.RUNNING, QueryStatus.PENDING];\n\nexport const CompletedStates = [\n QueryStatus.DRAFT,\n QueryStatus.ABORTED,\n QueryStatus.COMPLETED,\n QueryStatus.FAILED,\n];\n\nexport enum QueriesHistoryCursorDirection {\n PAST = 'past',\n FUTURE = 'future',\n}\n\nexport type QueriiesListCursorParams = {\n cursor_time: string;\n cursor_direction: QueriesHistoryCursorDirection;\n};\n\nexport type QueriesListParams = {\n user?: string;\n engine?: string;\n filter?: string;\n};\n\nexport type QueriesListRequestParams = {\n params: QueriesListParams;\n cursor?: QueriiesListCursorParams;\n limit?: number;\n};\n\nexport async function generateQueryFromTable(\n engine: QueryEngine,\n {cluster, path}: {cluster: string; path: string},\n): Promise<DraftQuery | undefined> {\n const selectedCluster = getClusterConfigByName(cluster);\n const node = await ytApiV3.get({\n parameters: {\n path: `${path}/@`,\n attributes: ['type', 'schema'],\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n setup: {\n proxy: getClusterProxy(selectedCluster),\n },\n });\n if (node.type === 'table') {\n const schema = ypath.getValue(node.schema) as {name: string}[];\n return {\n engine,\n query: generateQueryText(cluster, engine, {\n path,\n columns: schema.map(({name}) => name),\n pageSize: 50,\n schemaExists: Boolean(schema.length),\n }),\n annotations: {},\n settings: generateQuerySettings(engine, cluster),\n };\n }\n return undefined;\n}\n\nexport function loadQueriesList({params, cursor, limit}: QueriesListRequestParams): Promise<{\n incomplete: boolean;\n queries: QueryItem[];\n timestamp: number;\n}> {\n return ytApiV4Id.listQueries(YTApiId.listQueries, {\n parameters: {\n ...params,\n ...cursor,\n limit,\n stage: QT_STAGE,\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n setup: getQTApiSetup(),\n });\n}\n\nfunction makeGetQueryParams(query_id: string) {\n return {\n query_id,\n stage: QT_STAGE,\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n };\n}\n\nexport function getQuery(query_id: string): Promise<QueryItem> {\n return ytApiV4Id.getQuery(YTApiId.getQuery, {\n parameters: makeGetQueryParams(query_id),\n setup: getQTApiSetup(),\n });\n}\n\nexport function startQuery(queryInstance: DraftQuery): Promise<{query_id: QueryItemId}> {\n const {query, engine, settings, annotations} = queryInstance;\n return ytApiV4Id.startQuery(YTApiId.startQuery, {\n parameters: {\n query,\n engine,\n annotations,\n settings,\n stage: QT_STAGE,\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n setup: getQTApiSetup(),\n });\n}\n\nexport function abortQuery(query_id: string, message?: string): Promise<void> {\n return ytApiV4Id.abortQuery(YTApiId.abortQuery, {\n parameters: {\n query_id,\n message,\n stage: QT_STAGE,\n },\n setup: getQTApiSetup(),\n });\n}\n\ntype QueryResult = {\n all_column_names: string[];\n incomplete_all_column_names: boolean;\n incomplete_columns: boolean;\n rows: Record<string, [unknown, string]>[]; //Record<string, {$value: unknown; $type: string}>[];\n yql_type_registry: TypeArray[];\n};\n\nexport function readQueryResults(\n query_id: string,\n result_index = 0,\n cursor?: {start: number; end: number},\n settings?: {\n cellsSize: number;\n },\n): Promise<QueryResult> {\n return ytApiV4Id.readQueryResults(YTApiId.readQueryResults, {\n parameters: {\n query_id,\n result_index,\n lower_row_index: cursor?.start,\n upper_row_index: cursor?.end,\n output_format: {\n $value: 'web_json',\n $attributes: {\n value_format: 'yql',\n field_weight_limit: settings?.cellsSize,\n encode_utf8: 'false',\n },\n },\n stage: QT_STAGE,\n },\n setup: getQTApiSetup(),\n });\n}\n\nexport function getDownloadQueryResultURL(\n cluster: string,\n queryId: string,\n resultIndex = 0,\n cursor?: {start: number; end: number},\n) {\n const params = new URLSearchParams({\n query_id: queryId,\n result_index: resultIndex.toString(),\n ...(cursor\n ? {\n lower_row_index: cursor.start.toString(),\n upper_row_index: cursor.end.toString(),\n }\n : {}),\n });\n\n if (QT_STAGE) {\n params.set('stage', QT_STAGE);\n }\n const clusterConfig = getClusterConfigByName(getQueryTrackerCluster() || cluster);\n if (clusterConfig) {\n const base = allowDirectDownload()\n ? `//${clusterConfig.proxy}/api/v4/read_query_result`\n : `/api/yt/${clusterConfig.id}/api/v4/read_query_result`;\n return `${base}?${params.toString()}`;\n }\n return '';\n}\n\nexport async function requestQueries(ids: string[]): Promise<QueryItem[]> {\n const requests: any[] = ids.map((query_id) => ({\n command: 'get_query',\n parameters: makeGetQueryParams(query_id),\n }));\n const resp = (await ytApiV4Id.executeBatch(YTApiId.getQuery, {\n parameters: {requests},\n setup: getQTApiSetup(),\n })) as unknown as {results: BatchResultsItem<QueryItem>[]};\n\n const extracted = extractBatchV4Values(resp, requests);\n const {results} = splitBatchResults(extracted.results ?? []);\n return results;\n}\n\nexport type QueryResultMetaScheme = {\n name: string;\n required: boolean;\n type: string;\n type_v3: {\n type_name: string;\n item: string;\n };\n};\n\nexport type QueryResultMeta = {\n id: string;\n result_index: number;\n schema: {\n $attributes: {\n strict: boolean;\n unique_keys: boolean;\n };\n $value: QueryResultMetaScheme[];\n };\n data_statistics: {\n chunk_count: number;\n row_count: number;\n uncompressed_data_size: number;\n compressed_data_size: number;\n data_weight: number;\n regular_disk_space: number;\n erasure_disk_space: number;\n unmerged_row_count: number;\n unmerged_data_weight: number;\n };\n};\n\nexport async function getQueryResultMeta(\n query_id: string,\n result_index = 0,\n): Promise<QueryResultMeta | undefined> {\n return ytApiV4Id.getQueryResults(YTApiId.readQueryResults, {\n parameters: {query_id, result_index, stage: QT_STAGE},\n setup: getQTApiSetup(),\n });\n}\n"],"mappings":"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"}
@@ -17,7 +17,8 @@ export type SetQueryErrorLoadAction = ActionD<typeof SET_QUERY_LOAD_ERROR, Error
17
17
  export declare const SET_QUERY_PATCH = "query-tracker/SET_QUERY_PATCH";
18
18
  export type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, Pick<QueryState, 'draft'>>;
19
19
  export declare function loadQuery(queryId: string): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction>;
20
- export declare function createEmptyQuery(engine?: QueryEngine, query?: string): ThunkAction<any, RootState, any, SetQueryAction>;
21
- export declare function runQuery(): ThunkAction<any, RootState, any, SetQueryAction>;
20
+ export declare function createQueryFromTablePath(engine: QueryEngine, cluster: string, path: string): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction>;
21
+ export declare function createEmptyQuery(engine?: QueryEngine, query?: string, settings?: Record<string, string>): ThunkAction<any, RootState, any, SetQueryAction>;
22
+ export declare function runQuery(afterCreate?: (query_id: string) => boolean | void): ThunkAction<any, RootState, any, SetQueryAction>;
22
23
  export declare function abortCurrentQuery(): ThunkAction<any, RootState, any, SetQueryAction>;
23
24
  export declare function goToQuery(query_id: string): ThunkAction<any, RootState, any, never>;
@@ -2,7 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _regeneratorRuntime from "@babel/runtime/regenerator";
3
3
  import { createQueryUrl } from '../../utils/navigation';
4
4
  import { getCluster } from '../../../../store/selectors/global';
5
- import { getQuery, abortQuery, QueryEngine, startQuery } from '../api';
5
+ import { getQuery, abortQuery, QueryEngine, startQuery, generateQueryFromTable } from '../api';
6
6
  import { requestQueriesList } from '../queries_list/actions';
7
7
  import { getCurrentQuery, getQueryDraft } from './selectors';
8
8
  import { getAppBrowserHistory } from '../../../../store/window-store';
@@ -54,9 +54,65 @@ export function loadQuery(queryId) {
54
54
  };
55
55
  }();
56
56
  }
57
+ export function createQueryFromTablePath(engine, cluster, path) {
58
+ return /*#__PURE__*/function () {
59
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(dispatch) {
60
+ var draft;
61
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
62
+ while (1) switch (_context2.prev = _context2.next) {
63
+ case 0:
64
+ dispatch({
65
+ type: SET_QUERY,
66
+ data: {
67
+ initialQuery: undefined
68
+ }
69
+ });
70
+ dispatch({
71
+ type: REQUEST_QUERY
72
+ });
73
+ _context2.prev = 2;
74
+ _context2.next = 5;
75
+ return wrapApiPromiseByToaster(generateQueryFromTable(engine, {
76
+ cluster: cluster,
77
+ path: path
78
+ }), {
79
+ toasterName: 'load_query',
80
+ skipSuccessToast: true,
81
+ errorTitle: 'Failed to load query'
82
+ });
83
+ case 5:
84
+ draft = _context2.sent;
85
+ if (draft) {
86
+ dispatch({
87
+ type: SET_QUERY,
88
+ data: {
89
+ initialQuery: draft
90
+ }
91
+ });
92
+ } else {
93
+ dispatch(createEmptyQuery(engine));
94
+ }
95
+ _context2.next = 12;
96
+ break;
97
+ case 9:
98
+ _context2.prev = 9;
99
+ _context2.t0 = _context2["catch"](2);
100
+ dispatch(createEmptyQuery(engine));
101
+ case 12:
102
+ case "end":
103
+ return _context2.stop();
104
+ }
105
+ }, _callee2, null, [[2, 9]]);
106
+ }));
107
+ return function (_x2) {
108
+ return _ref2.apply(this, arguments);
109
+ };
110
+ }();
111
+ }
57
112
  export function createEmptyQuery() {
58
113
  var engine = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : QueryEngine.YQL;
59
114
  var query = arguments.length > 1 ? arguments[1] : undefined;
115
+ var settings = arguments.length > 2 ? arguments[2] : undefined;
60
116
  return function (dispatch) {
61
117
  dispatch({
62
118
  type: SET_QUERY,
@@ -64,57 +120,60 @@ export function createEmptyQuery() {
64
120
  initialQuery: {
65
121
  query: query || '',
66
122
  engine: engine,
67
- settings: {}
123
+ settings: settings || {}
68
124
  }
69
125
  }
70
126
  });
71
127
  };
72
128
  }
73
- export function runQuery() {
129
+ export function runQuery(afterCreate) {
74
130
  return /*#__PURE__*/function () {
75
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(dispatch, getState) {
76
- var state, query, _yield$wrapApiPromise, query_id;
77
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
78
- while (1) switch (_context2.prev = _context2.next) {
131
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(dispatch, getState) {
132
+ var state, query, _yield$wrapApiPromise, query_id, handled;
133
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
134
+ while (1) switch (_context3.prev = _context3.next) {
79
135
  case 0:
80
136
  state = getState();
81
137
  query = getQueryDraft(state);
82
- _context2.next = 4;
138
+ _context3.next = 4;
83
139
  return wrapApiPromiseByToaster(startQuery(query), {
84
140
  toasterName: 'start_query',
85
141
  skipSuccessToast: true,
86
142
  errorTitle: 'Failed to start query'
87
143
  });
88
144
  case 4:
89
- _yield$wrapApiPromise = _context2.sent;
145
+ _yield$wrapApiPromise = _context3.sent;
90
146
  query_id = _yield$wrapApiPromise.query_id;
91
- dispatch(goToQuery(query_id));
147
+ handled = afterCreate === null || afterCreate === void 0 ? void 0 : afterCreate(query_id);
148
+ if (!handled) {
149
+ dispatch(loadQuery(query_id));
150
+ }
92
151
  dispatch(requestQueriesList());
93
- case 8:
152
+ case 9:
94
153
  case "end":
95
- return _context2.stop();
154
+ return _context3.stop();
96
155
  }
97
- }, _callee2);
156
+ }, _callee3);
98
157
  }));
99
- return function (_x2, _x3) {
100
- return _ref2.apply(this, arguments);
158
+ return function (_x3, _x4) {
159
+ return _ref3.apply(this, arguments);
101
160
  };
102
161
  }();
103
162
  }
104
163
  export function abortCurrentQuery() {
105
164
  return /*#__PURE__*/function () {
106
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(dispatch, getState) {
165
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(dispatch, getState) {
107
166
  var state, currentQuery;
108
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
109
- while (1) switch (_context3.prev = _context3.next) {
167
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
168
+ while (1) switch (_context4.prev = _context4.next) {
110
169
  case 0:
111
170
  state = getState();
112
171
  currentQuery = getCurrentQuery(state);
113
172
  if (!currentQuery) {
114
- _context3.next = 7;
173
+ _context4.next = 7;
115
174
  break;
116
175
  }
117
- _context3.next = 5;
176
+ _context4.next = 5;
118
177
  return wrapApiPromiseByToaster(abortQuery(currentQuery === null || currentQuery === void 0 ? void 0 : currentQuery.id), {
119
178
  toasterName: 'abort_query',
120
179
  skipSuccessToast: true,
@@ -125,12 +184,12 @@ export function abortCurrentQuery() {
125
184
  dispatch(requestQueriesList());
126
185
  case 7:
127
186
  case "end":
128
- return _context3.stop();
187
+ return _context4.stop();
129
188
  }
130
- }, _callee3);
189
+ }, _callee4);
131
190
  }));
132
- return function (_x4, _x5) {
133
- return _ref3.apply(this, arguments);
191
+ return function (_x5, _x6) {
192
+ return _ref4.apply(this, arguments);
134
193
  };
135
194
  }();
136
195
  }