@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
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from '@gravity-ui/uikit';
3
+ import { QueryEngine } from '../module/api';
4
+ import './index.scss';
5
+ export type QueryTracketrNewButtonProps = {
6
+ className?: string;
7
+ view?: ButtonProps['view'];
8
+ cluster: string;
9
+ engines?: QueryEngine[];
10
+ defaultEngine?: QueryEngine;
11
+ target?: '_blank';
12
+ renderDefaultTitle: (props: {
13
+ engine: QueryEngine;
14
+ engineTitle: string;
15
+ }) => React.ReactChild;
16
+ path?: string;
17
+ };
18
+ export declare const QueryTrackerNewButton: ({ className, view, cluster, path, engines, renderDefaultTitle, defaultEngine, target, }: QueryTracketrNewButtonProps) => JSX.Element;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueryTrackerNewButton = void 0;
8
+ var _react = require("react");
9
+ var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
10
+ var _uikit = require("@gravity-ui/uikit");
11
+ var _api = require("../module/api");
12
+ var _navigation = require("../utils/navigation");
13
+ var _Link = _interopRequireDefault(require("../../../components/Link/Link"));
14
+ var _Icon = _interopRequireDefault(require("../../../components/Icon/Icon"));
15
+ var _query = require("../utils/query");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var block = (0, _bemCnLite["default"])('query-new-button');
18
+ var engineSelectorItem = (0, _bemCnLite["default"])('query-language-selector-item');
19
+ var QueryTrackerNewButton = function QueryTrackerNewButton(_ref) {
20
+ var className = _ref.className,
21
+ view = _ref.view,
22
+ cluster = _ref.cluster,
23
+ path = _ref.path,
24
+ _ref$engines = _ref.engines,
25
+ engines = _ref$engines === void 0 ? _api.Engines : _ref$engines,
26
+ renderDefaultTitle = _ref.renderDefaultTitle,
27
+ _ref$defaultEngine = _ref.defaultEngine,
28
+ defaultEngine = _ref$defaultEngine === void 0 ? _api.QueryEngine.YQL : _ref$defaultEngine,
29
+ target = _ref.target;
30
+ var engineOptions = (0, _react.useMemo)(function () {
31
+ return engines.filter(function (engine) {
32
+ return engine !== defaultEngine;
33
+ }).map(function (engine) {
34
+ return {
35
+ value: engine,
36
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link["default"], {
37
+ className: engineSelectorItem('link'),
38
+ routed: target !== '_blank',
39
+ url: (0, _navigation.createNewQueryUrl)(cluster, engine, {
40
+ path: path
41
+ }),
42
+ children: _query.QueryEnginesNames[engine]
43
+ })
44
+ };
45
+ });
46
+ }, [cluster, defaultEngine, engines, path]);
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
48
+ className: block(null, className),
49
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Link["default"], {
50
+ routed: target !== '_blank',
51
+ url: (0, _navigation.createNewQueryUrl)(cluster, defaultEngine, {
52
+ path: path
53
+ }),
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Button, {
55
+ className: block('default'),
56
+ view: view,
57
+ pin: engineOptions !== null && engineOptions !== void 0 && engineOptions.length ? 'round-clear' : 'round-round',
58
+ children: renderDefaultTitle({
59
+ engine: defaultEngine,
60
+ engineTitle: _query.QueryEnginesNames[defaultEngine]
61
+ })
62
+ })
63
+ }), Boolean(engineOptions === null || engineOptions === void 0 ? void 0 : engineOptions.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Select, {
64
+ popupClassName: block('select'),
65
+ options: engineOptions,
66
+ value: undefined,
67
+ renderControl: function renderControl(_ref2) {
68
+ var onClick = _ref2.onClick,
69
+ onKeyDown = _ref2.onKeyDown,
70
+ ref = _ref2.ref;
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Button, {
72
+ ref: ref,
73
+ onClick: onClick,
74
+ extraProps: {
75
+ onKeyDown: onKeyDown
76
+ },
77
+ view: view,
78
+ pin: "clear-round",
79
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon["default"], {
80
+ awesome: "chevron-down"
81
+ })
82
+ });
83
+ }
84
+ })]
85
+ });
86
+ };
87
+ // #sourceMappingURL=index.js.map
88
+ exports.QueryTrackerNewButton = QueryTrackerNewButton;
89
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_api","_navigation","_Link","_Icon","_query","_jsxRuntime","block","cn","engineSelectorItem","QueryTrackerNewButton","_ref","className","view","cluster","path","_ref$engines","engines","Engines","renderDefaultTitle","_ref$defaultEngine","defaultEngine","QueryEngine","YQL","target","engineOptions","useMemo","filter","engine","map","value","content","_jsx","Link","routed","url","createNewQueryUrl","children","QueryEnginesNames","_jsxs","Button","pin","length","engineTitle","Boolean","Select","popupClassName","options","undefined","renderControl","_ref2","onClick","onKeyDown","ref","extraProps","Icon","awesome"],"sources":["index.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {ButtonProps, SelectOption, Button, Select} from '@gravity-ui/uikit';\nimport {Engines, QueryEngine} from '../module/api';\nimport {createNewQueryUrl} from '../utils/navigation';\nimport Link from '../../../components/Link/Link';\nimport Icon from '../../../components/Icon/Icon';\nimport {QueryEnginesNames} from '../utils/query';\n\nimport './index.scss';\n\nconst block = cn('query-new-button');\n\nconst engineSelectorItem = cn('query-language-selector-item');\n\nexport type QueryTracketrNewButtonProps = {\n className?: string;\n view?: ButtonProps['view'];\n cluster: string;\n engines?: QueryEngine[];\n defaultEngine?: QueryEngine;\n target?: '_blank';\n renderDefaultTitle: (props: {engine: QueryEngine; engineTitle: string}) => React.ReactChild;\n path?: string;\n};\n\nexport const QueryTrackerNewButton = ({\n className,\n view,\n cluster,\n path,\n engines = Engines,\n renderDefaultTitle,\n defaultEngine = QueryEngine.YQL,\n target,\n}: QueryTracketrNewButtonProps) => {\n const engineOptions = useMemo<SelectOption[]>(() => {\n return engines\n .filter((engine) => engine !== defaultEngine)\n .map((engine) => ({\n value: engine,\n content: (\n <Link\n className={engineSelectorItem('link')}\n routed={target !== '_blank'}\n url={createNewQueryUrl(cluster, engine, {path})}\n >\n {QueryEnginesNames[engine]}\n </Link>\n ),\n }));\n }, [cluster, defaultEngine, engines, path]);\n\n return (\n <div className={block(null, className)}>\n <Link\n routed={target !== '_blank'}\n url={createNewQueryUrl(cluster, defaultEngine, {path})}\n >\n <Button\n className={block('default')}\n view={view}\n pin={engineOptions?.length ? 'round-clear' : 'round-round'}\n >\n {renderDefaultTitle({\n engine: defaultEngine,\n engineTitle: QueryEnginesNames[defaultEngine],\n })}\n </Button>\n </Link>\n {Boolean(engineOptions?.length) && (\n <Select\n popupClassName={block('select')}\n options={engineOptions}\n value={undefined}\n renderControl={({onClick, onKeyDown, ref}) => (\n <Button\n ref={ref}\n onClick={onClick}\n extraProps={{onKeyDown}}\n view={view}\n pin=\"clear-round\"\n >\n <Icon awesome=\"chevron-down\" />\n </Button>\n )}\n />\n )}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import './index.scss';
2
+ export declare function QueryMetaForm({ className }: {
3
+ className: string;
4
+ }): JSX.Element;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueryMetaForm = QueryMetaForm;
8
+ var _react = require("react");
9
+ var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
10
+ var _uikit = require("@gravity-ui/uikit");
11
+ var _EditableAsText = require("../../../../components/EditableAsText/EditableAsText");
12
+ var _reactRedux = require("react-redux");
13
+ var _api = require("../../module/api");
14
+ var _actions = require("../../module/query/actions");
15
+ var _selectors = require("../../module/query/selectors");
16
+ var _query = require("../../utils/query");
17
+ var _QuerySettingsButton = require("../../QuerySettingsButton");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var EngineOptions = _api.Engines.map(function (key) {
20
+ return {
21
+ value: key,
22
+ content: _query.QueryEnginesNames[key]
23
+ };
24
+ });
25
+ var block = (0, _bemCnLite["default"])('query-tracker-meta-form');
26
+ function QueryMetaForm(_ref) {
27
+ var _draft$annotations;
28
+ var className = _ref.className;
29
+ var dispatch = (0, _reactRedux.useDispatch)();
30
+ var draft = (0, _reactRedux.useSelector)(_selectors.getQueryDraft);
31
+ var originalQuery = (0, _reactRedux.useSelector)(_selectors.getQuery);
32
+ var onEngineChange = (0, _react.useCallback)(function (engines) {
33
+ dispatch({
34
+ type: _actions.SET_QUERY_PATCH,
35
+ data: {
36
+ engine: engines[0]
37
+ }
38
+ });
39
+ }, [dispatch]);
40
+ var onNameChange = (0, _react.useCallback)(function (name) {
41
+ dispatch({
42
+ type: _actions.SET_QUERY_PATCH,
43
+ data: {
44
+ annotations: {
45
+ title: name
46
+ }
47
+ }
48
+ });
49
+ }, [dispatch]);
50
+ var onSettingsChange = (0, _react.useCallback)(function (settings) {
51
+ dispatch({
52
+ type: _actions.SET_QUERY_PATCH,
53
+ data: {
54
+ settings: settings
55
+ }
56
+ });
57
+ }, [dispatch]);
58
+ var queryName = (_draft$annotations = draft.annotations) === null || _draft$annotations === void 0 ? void 0 : _draft$annotations.title;
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
60
+ className: block(null, className),
61
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_EditableAsText.EditableAsText, {
62
+ withControls: true,
63
+ className: block('control', {
64
+ name: true
65
+ }),
66
+ onChange: onNameChange,
67
+ text: queryName,
68
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Text, {
69
+ title: queryName,
70
+ variant: "body-1",
71
+ color: queryName ? 'primary' : 'secondary',
72
+ ellipsis: true,
73
+ children: queryName || 'No name'
74
+ })
75
+ }, originalQuery === null || originalQuery === void 0 ? void 0 : originalQuery.id), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Select, {
76
+ className: block('control'),
77
+ options: EngineOptions,
78
+ value: [draft.engine],
79
+ onUpdate: onEngineChange
80
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_QuerySettingsButton.QuerySettingsButton, {
81
+ className: block('control'),
82
+ settings: draft.settings,
83
+ onChange: onSettingsChange
84
+ })]
85
+ });
86
+ }
87
+ // #sourceMappingURL=index.js.map
88
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_EditableAsText","_reactRedux","_api","_actions","_selectors","_query","_QuerySettingsButton","_jsxRuntime","EngineOptions","Engines","map","key","value","content","QueryEnginesNames","block","cn","QueryMetaForm","_ref","_draft$annotations","className","dispatch","useDispatch","draft","useSelector","getQueryDraft","originalQuery","getQuery","onEngineChange","useCallback","engines","type","SET_QUERY_PATCH","data","engine","onNameChange","name","annotations","title","onSettingsChange","settings","queryName","_jsxs","children","_jsx","EditableAsText","withControls","onChange","text","Text","variant","color","ellipsis","id","Select","options","onUpdate","QuerySettingsButton"],"sources":["index.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport cn from 'bem-cn-lite';\nimport {Select, Text} from '@gravity-ui/uikit';\nimport {EditableAsText} from '../../../../components/EditableAsText/EditableAsText';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Engines} from '../../module/api';\nimport {SET_QUERY_PATCH} from '../../module/query/actions';\nimport {getQueryDraft, getQuery} from '../../module/query/selectors';\nimport {QueryEnginesNames} from '../../utils/query';\nimport {QuerySettingsButton} from '../../QuerySettingsButton';\nimport './index.scss';\n\nconst EngineOptions = Engines.map((key) => ({\n value: key,\n content: QueryEnginesNames[key],\n}));\n\nconst block = cn('query-tracker-meta-form');\nexport function QueryMetaForm({className}: {className: string}) {\n const dispatch = useDispatch();\n const draft = useSelector(getQueryDraft);\n const originalQuery = useSelector(getQuery);\n\n const onEngineChange = useCallback(\n (engines: string[]) => {\n dispatch({\n type: SET_QUERY_PATCH,\n data: {\n engine: engines[0],\n },\n });\n },\n [dispatch],\n );\n\n const onNameChange = useCallback(\n (name: string) => {\n dispatch({\n type: SET_QUERY_PATCH,\n data: {\n annotations: {\n title: name,\n },\n },\n });\n },\n [dispatch],\n );\n\n const onSettingsChange = useCallback(\n (settings: Record<string, string>) => {\n dispatch({\n type: SET_QUERY_PATCH,\n data: {\n settings,\n },\n });\n },\n [dispatch],\n );\n\n const queryName = draft.annotations?.title;\n return (\n <div className={block(null, className)}>\n <EditableAsText\n withControls\n className={block('control', {name: true})}\n onChange={onNameChange}\n text={queryName}\n key={originalQuery?.id}\n >\n <Text\n title={queryName}\n variant=\"body-1\"\n color={queryName ? 'primary' : 'secondary'}\n ellipsis\n >\n {queryName || 'No name'}\n </Text>\n </EditableAsText>\n <Select\n className={block('control')}\n options={EngineOptions}\n value={[draft.engine]}\n onUpdate={onEngineChange}\n />\n <QuerySettingsButton\n className={block('control')}\n settings={draft.settings}\n onChange={onSettingsChange}\n />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import './index.scss';
2
+ export declare function QueryHeader(): JSX.Element;
2
3
  export declare function QueryTrackerTopRow(): JSX.Element;
@@ -4,148 +4,36 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.QueryHeader = QueryHeader;
7
8
  exports.QueryTrackerTopRow = QueryTrackerTopRow;
8
- var _react = require("react");
9
9
  var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
10
- var _SectionName = require("../../../containers/AppNavigation/TopRowContent/SectionName");
11
- var _uikit = require("@gravity-ui/uikit");
12
10
  var _reactRedux = require("react-redux");
13
- var _actions = require("../module/query/actions");
14
- var _selectors = require("../module/query/selectors");
15
11
  var _api = require("../module/api");
16
- var _query = require("../utils/query");
17
- var _chevronDown = _interopRequireDefault(require("../../../../../img/svg/icons/chevron-down.svg"));
18
- var _EditableAsText = require("../../../components/EditableAsText/EditableAsText");
19
- var _QuerySettingsButton = require("../QuerySettingsButton");
12
+ var _QueryTrackerNewButton = require("../QueryTrackerNewButton");
13
+ var _SectionName = require("../../../containers/AppNavigation/TopRowContent/SectionName");
20
14
  var _global = require("../../../store/selectors/global");
21
- var _navigation = require("../utils/navigation");
22
- var _Link = _interopRequireDefault(require("../../../components/Link/Link"));
23
15
  var _settings = require("../../../../shared/constants/settings");
16
+ var _QueryMetaForm = require("./QueryMetaForm");
24
17
  var _jsxRuntime = require("react/jsx-runtime");
25
18
  var block = (0, _bemCnLite["default"])('query-tracker-top-row-content');
26
- var engineBlock = (0, _bemCnLite["default"])('query-tracker-top-row-content');
27
- var Engines = _api.EngineKeys.map(function (key) {
28
- return {
29
- value: key,
30
- content: _query.QueryEnginesNames[key]
31
- };
32
- });
33
- var engineSelectorItem = (0, _bemCnLite["default"])('query-language-selector-item');
34
- var NewQuerySelector = function NewQuerySelector(_ref) {
35
- var defaultEngine = _ref.defaultEngine;
19
+ function QueryHeader() {
36
20
  var cluster = (0, _reactRedux.useSelector)(_global.getCluster);
37
- var engines = (0, _react.useMemo)(function () {
38
- return _api.EngineKeys.map(function (engine) {
39
- return {
40
- value: engine,
41
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link["default"], {
42
- className: engineSelectorItem('link'),
43
- routed: true,
44
- url: (0, _navigation.createNewQueryUrl)(cluster, engine),
45
- children: _query.QueryEnginesNames[engine]
46
- })
47
- };
48
- });
49
- }, [cluster]);
50
- var renderSelectControl = (0, _react.useCallback)(function (_ref2) {
51
- var onClick = _ref2.onClick,
52
- onKeyDown = _ref2.onKeyDown,
53
- ref = _ref2.ref;
54
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Button, {
55
- pin: "brick-round",
56
- ref: ref,
57
- onClick: onClick,
58
- extraProps: {
59
- onKeyDown: onKeyDown
60
- },
61
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Icon, {
62
- data: _chevronDown["default"]
63
- })
64
- });
65
- }, []);
66
21
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
67
- className: engineBlock(),
68
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Link["default"], {
69
- routed: true,
70
- url: (0, _navigation.createNewQueryUrl)(cluster, defaultEngine),
71
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Button, {
72
- className: engineBlock('default'),
73
- pin: "round-brick",
74
- children: ["New query in ", _query.QueryEnginesNames[defaultEngine], " syntax"]
75
- })
76
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Select, {
77
- popupClassName: engineBlock('select'),
78
- options: engines,
79
- renderControl: renderSelectControl
80
- })]
81
- });
82
- };
83
- function QueryTopRow() {
84
- var _draft$annotations;
85
- var dispatch = (0, _reactRedux.useDispatch)();
86
- var draft = (0, _reactRedux.useSelector)(_selectors.getQueryDraft);
87
- var originalQuery = (0, _reactRedux.useSelector)(_selectors.getQuery);
88
- var onEngineChange = (0, _react.useCallback)(function (engines) {
89
- dispatch({
90
- type: _actions.SET_QUERY_PATCH,
91
- data: {
92
- engine: engines[0]
93
- }
94
- });
95
- }, [dispatch]);
96
- var createQuery = (0, _react.useCallback)(function (engine) {
97
- dispatch((0, _actions.createEmptyQuery)(engine));
98
- }, [dispatch]);
99
- var onNameChange = (0, _react.useCallback)(function (name) {
100
- dispatch({
101
- type: _actions.SET_QUERY_PATCH,
102
- data: {
103
- annotations: {
104
- title: name
105
- }
106
- }
107
- });
108
- }, [dispatch]);
109
- var onSettingsChange = (0, _react.useCallback)(function (settings) {
110
- dispatch({
111
- type: _actions.SET_QUERY_PATCH,
112
- data: {
113
- settings: settings
114
- }
115
- });
116
- }, [dispatch]);
117
- var queryName = (_draft$annotations = draft.annotations) === null || _draft$annotations === void 0 ? void 0 : _draft$annotations.title;
118
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
119
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
22
+ className: block(),
23
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
120
24
  className: block('meta'),
121
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_EditableAsText.EditableAsText, {
122
- withControls: true,
123
- className: block('control', {
124
- name: true
125
- }),
126
- onChange: onNameChange,
127
- text: queryName,
128
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Text, {
129
- title: queryName,
130
- variant: "body-1",
131
- color: queryName ? 'primary' : 'secondary',
132
- ellipsis: true,
133
- children: queryName || 'No name'
134
- })
135
- }, originalQuery === null || originalQuery === void 0 ? void 0 : originalQuery.id), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Select, {
136
- className: block('control'),
137
- options: Engines,
138
- value: [draft.engine],
139
- onUpdate: onEngineChange
140
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_QuerySettingsButton.QuerySettingsButton, {
141
- className: block('control'),
142
- settings: draft.settings,
143
- onChange: onSettingsChange
144
- })]
25
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryMetaForm.QueryMetaForm, {
26
+ className: block('meta-form')
27
+ })
145
28
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
146
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(NewQuerySelector, {
29
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryTrackerNewButton.QueryTrackerNewButton, {
147
30
  defaultEngine: _api.QueryEngine.YQL,
148
- onChoose: createQuery
31
+ cluster: cluster,
32
+ engines: _api.Engines,
33
+ renderDefaultTitle: function renderDefaultTitle(_ref) {
34
+ var engineTitle = _ref.engineTitle;
35
+ return "New query in ".concat(engineTitle, " syntax");
36
+ }
149
37
  })
150
38
  })]
151
39
  });
@@ -153,8 +41,7 @@ function QueryTopRow() {
153
41
  function QueryTrackerTopRow() {
154
42
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SectionName.RowWithName, {
155
43
  page: _settings.Page.QUERIES,
156
- className: block(),
157
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(QueryTopRow, {})
44
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(QueryHeader, {})
158
45
  });
159
46
  }
160
47
  // #sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_SectionName","_uikit","_reactRedux","_actions","_selectors","_api","_query","_chevronDown","_EditableAsText","_QuerySettingsButton","_global","_navigation","_Link","_settings","_jsxRuntime","block","cn","engineBlock","Engines","EngineKeys","map","key","value","content","QueryEnginesNames","engineSelectorItem","NewQuerySelector","_ref","defaultEngine","cluster","useSelector","getCluster","engines","useMemo","engine","_jsx","Link","className","routed","url","createNewQueryUrl","children","renderSelectControl","useCallback","_ref2","onClick","onKeyDown","ref","Button","pin","extraProps","Icon","data","chevronDownIcon","_jsxs","Select","popupClassName","options","renderControl","QueryTopRow","_draft$annotations","dispatch","useDispatch","draft","getQueryDraft","originalQuery","getQuery","onEngineChange","type","SET_QUERY_PATCH","createQuery","createEmptyQuery","onNameChange","name","annotations","title","onSettingsChange","settings","queryName","_Fragment","EditableAsText","withControls","onChange","text","Text","variant","color","ellipsis","id","onUpdate","QuerySettingsButton","QueryEngine","YQL","onChoose","QueryTrackerTopRow","RowWithName","page","Page","QUERIES"],"sources":["index.tsx"],"sourcesContent":["import React, {useCallback, useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Button, Icon, Select, SelectOption, Text, SelectProps} from '@gravity-ui/uikit';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {createEmptyQuery, SET_QUERY_PATCH} from '../module/query/actions';\nimport {getQuery, getQueryDraft} from '../module/query/selectors';\nimport {EngineKeys, QueryEngine} from '../module/api';\nimport {QueryEnginesNames} from '../utils/query';\nimport chevronDownIcon from '../../../../../img/svg/icons/chevron-down.svg';\nimport {EditableAsText} from '../../../components/EditableAsText/EditableAsText';\nimport {QuerySettingsButton} from '../QuerySettingsButton';\nimport {getCluster} from '../../../store/selectors/global';\nimport {createNewQueryUrl} from '../utils/navigation';\nimport Link from '../../../components/Link/Link';\nimport {Page} from '../../../../shared/constants/settings';\nimport './index.scss';\n\nconst block = cn('query-tracker-top-row-content');\n\nconst engineBlock = cn('query-tracker-top-row-content');\n\nconst Engines = EngineKeys.map((key) => ({\n value: key,\n content: QueryEnginesNames[key],\n}));\n\nconst engineSelectorItem = cn('query-language-selector-item');\n\nconst NewQuerySelector = ({\n defaultEngine,\n}: {\n defaultEngine: QueryEngine;\n onChoose?: (engine: QueryEngine) => void;\n}) => {\n const cluster = useSelector(getCluster);\n\n const engines = useMemo<SelectOption[]>(() => {\n return EngineKeys.map((engine) => ({\n value: engine,\n content: (\n <Link\n className={engineSelectorItem('link')}\n routed\n url={createNewQueryUrl(cluster, engine)}\n >\n {QueryEnginesNames[engine]}\n </Link>\n ),\n }));\n }, [cluster]);\n\n const renderSelectControl = useCallback<Required<SelectProps>['renderControl']>(\n ({onClick, onKeyDown, ref}) => {\n return (\n <Button pin=\"brick-round\" ref={ref} onClick={onClick} extraProps={{onKeyDown}}>\n <Icon data={chevronDownIcon} />\n </Button>\n );\n },\n [],\n );\n\n return (\n <div className={engineBlock()}>\n <Link routed url={createNewQueryUrl(cluster, defaultEngine)}>\n <Button className={engineBlock('default')} pin=\"round-brick\">\n New query in {QueryEnginesNames[defaultEngine]} syntax\n </Button>\n </Link>\n <Select\n popupClassName={engineBlock('select')}\n options={engines}\n renderControl={renderSelectControl}\n />\n </div>\n );\n};\n\nfunction QueryTopRow() {\n const dispatch = useDispatch();\n const draft = useSelector(getQueryDraft);\n const originalQuery = useSelector(getQuery);\n\n const onEngineChange = useCallback(\n (engines: string[]) => {\n dispatch({\n type: SET_QUERY_PATCH,\n data: {\n engine: engines[0],\n },\n });\n },\n [dispatch],\n );\n const createQuery = useCallback(\n (engine: QueryEngine) => {\n dispatch(createEmptyQuery(engine));\n },\n [dispatch],\n );\n\n const onNameChange = useCallback(\n (name: string) => {\n dispatch({\n type: SET_QUERY_PATCH,\n data: {\n annotations: {\n title: name,\n },\n },\n });\n },\n [dispatch],\n );\n\n const onSettingsChange = useCallback(\n (settings: Record<string, string>) => {\n dispatch({\n type: SET_QUERY_PATCH,\n data: {\n settings,\n },\n });\n },\n [dispatch],\n );\n\n const queryName = draft.annotations?.title;\n\n return (\n <>\n <div className={block('meta')}>\n <EditableAsText\n withControls\n className={block('control', {name: true})}\n onChange={onNameChange}\n text={queryName}\n key={originalQuery?.id}\n >\n <Text\n title={queryName}\n variant=\"body-1\"\n color={queryName ? 'primary' : 'secondary'}\n ellipsis\n >\n {queryName || 'No name'}\n </Text>\n </EditableAsText>\n <Select\n className={block('control')}\n options={Engines}\n value={[draft.engine]}\n onUpdate={onEngineChange}\n />\n <QuerySettingsButton\n className={block('control')}\n settings={draft.settings}\n onChange={onSettingsChange}\n />\n </div>\n <div>\n <NewQuerySelector defaultEngine={QueryEngine.YQL} onChoose={createQuery} />\n </div>\n </>\n );\n}\n\nexport function QueryTrackerTopRow() {\n return (\n <RowWithName page={Page.QUERIES} className={block()}>\n <QueryTopRow />\n </RowWithName>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_bemCnLite","_interopRequireDefault","require","_reactRedux","_api","_QueryTrackerNewButton","_SectionName","_global","_settings","_QueryMetaForm","_jsxRuntime","block","cn","QueryHeader","cluster","useSelector","getCluster","_jsxs","className","children","_jsx","QueryMetaForm","QueryTrackerNewButton","defaultEngine","QueryEngine","YQL","engines","Engines","renderDefaultTitle","_ref","engineTitle","concat","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 {Engines, QueryEngine} from '../module/api';\nimport {QueryTrackerNewButton} from '../QueryTrackerNewButton';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {getCluster} from '../../../store/selectors/global';\nimport {Page} from '../../../../shared/constants/settings';\nimport {QueryMetaForm} from './QueryMetaForm';\n\nimport './index.scss';\n\nconst block = cn('query-tracker-top-row-content');\n\nexport function QueryHeader() {\n const cluster = useSelector(getCluster);\n\n return (\n <div className={block()}>\n <div className={block('meta')}>\n <QueryMetaForm className={block('meta-form')} />\n </div>\n <div>\n <QueryTrackerNewButton\n defaultEngine={QueryEngine.YQL}\n cluster={cluster}\n engines={Engines}\n renderDefaultTitle={({engineTitle}) => `New query in ${engineTitle} syntax`}\n />\n </div>\n </div>\n );\n}\n\nexport function QueryTrackerTopRow() {\n return (\n <RowWithName page={Page.QUERIES}>\n <QueryHeader />\n </RowWithName>\n );\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAEsB,IAAAQ,WAAA,GAAAR,OAAA;AAEtB,IAAMS,KAAK,GAAG,IAAAC,qBAAE,EAAC,+BAA+B,CAAC;AAE1C,SAASC,WAAWA,CAAA,EAAG;EAC1B,IAAMC,OAAO,GAAG,IAAAC,uBAAW,EAACC,kBAAU,CAAC;EAEvC,oBACI,IAAAC,gBAAA;IAAKC,SAAS,EAAEP,KAAK,EAAG;IAAAQ,QAAA,gBACpB,IAAAC,eAAA;MAAKF,SAAS,EAAEP,KAAK,CAAC,MAAM,CAAE;MAAAQ,QAAA,eAC1B,IAAAC,eAAA,EAACC,4BAAa;QAACH,SAAS,EAAEP,KAAK,CAAC,WAAW;MAAE;IAAG,EAC9C,eACN,IAAAS,eAAA;MAAAD,QAAA,eACI,IAAAC,eAAA,EAACE,4CAAqB;QAClBC,aAAa,EAAEC,gBAAW,CAACC,GAAI;QAC/BX,OAAO,EAAEA,OAAQ;QACjBY,OAAO,EAAEC,YAAQ;QACjBC,kBAAkB,EAAE,SAAAA,mBAAAC,IAAA;UAAA,IAAEC,WAAW,GAAAD,IAAA,CAAXC,WAAW;UAAA,uBAAAC,MAAA,CAAsBD,WAAW;QAAA;MAAU;IAC9E,EACA;EAAA,EACJ;AAEd;AAEO,SAASE,kBAAkBA,CAAA,EAAG;EACjC,oBACI,IAAAZ,eAAA,EAACa,wBAAW;IAACC,IAAI,EAAEC,cAAI,CAACC,OAAQ;IAAAjB,QAAA,eAC5B,IAAAC,eAAA,EAACP,WAAW;EAAG,EACL;AAEtB"}
@@ -0,0 +1,5 @@
1
+ import './index.scss';
2
+ export type QueryWidgetProps = {
3
+ onClose: () => void;
4
+ };
5
+ export declare function QueryWidget({ onClose }: QueryWidgetProps): JSX.Element;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueryWidget = QueryWidget;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
11
+ var _QueryEditor = require("../QueryEditor/QueryEditor");
12
+ var _QueryMetaForm = require("../QueryTrackerTopRow/QueryMetaForm");
13
+ var _Icon = _interopRequireDefault(require("../../../components/Icon/Icon"));
14
+ var _reactRedux = require("react-redux");
15
+ var _global = require("../../../store/selectors/global");
16
+ var _navigation = require("../utils/navigation");
17
+ var _uikit = require("@gravity-ui/uikit");
18
+ var _QueryTrackerNewButton = require("../QueryTrackerNewButton");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ var block = (0, _bemCnLite["default"])('query-widget');
21
+ function QueryWidget(_ref) {
22
+ var onClose = _ref.onClose;
23
+ var cluster = (0, _reactRedux.useSelector)(_global.getCluster);
24
+ var _useState = (0, _react.useState)(null),
25
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
26
+ queryId = _useState2[0],
27
+ setQueryId = _useState2[1];
28
+ var onStartQuery = (0, _react.useCallback)(function (query) {
29
+ setQueryId(query);
30
+ }, [setQueryId]);
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
32
+ className: block(),
33
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
34
+ className: block('header'),
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryMetaForm.QueryMetaForm, {
36
+ className: block('meta-form')
37
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
38
+ className: block('header-controls'),
39
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
40
+ className: block('header-control-left'),
41
+ children: queryId && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Button, {
42
+ className: block('control'),
43
+ view: "outlined",
44
+ href: (0, _navigation.createQueryUrl)(cluster, queryId),
45
+ target: "_blank",
46
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon["default"], {
47
+ awesome: "external-link"
48
+ }), "Open query"]
49
+ })
50
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
51
+ className: block('header-control-right'),
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryTrackerNewButton.QueryTrackerNewButton, {
53
+ className: block('control'),
54
+ renderDefaultTitle: function renderDefaultTitle(_ref2) {
55
+ var engineTitle = _ref2.engineTitle;
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
57
+ children: ["Open query in ", engineTitle, " syntax"]
58
+ });
59
+ },
60
+ cluster: cluster,
61
+ target: "_blank"
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Button, {
63
+ view: "flat",
64
+ className: block('control'),
65
+ onClick: onClose,
66
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon["default"], {
67
+ awesome: "times"
68
+ })
69
+ })]
70
+ })]
71
+ })]
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryEditor.QueryEditor, {
73
+ onStartQuery: onStartQuery
74
+ })]
75
+ });
76
+ }
77
+ // #sourceMappingURL=index.js.map
78
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_QueryEditor","_QueryMetaForm","_Icon","_reactRedux","_global","_navigation","_uikit","_QueryTrackerNewButton","_jsxRuntime","block","cn","QueryWidget","_ref","onClose","cluster","useSelector","getCluster","_useState","useState","_useState2","_slicedToArray","queryId","setQueryId","onStartQuery","useCallback","query","_jsxs","className","children","_jsx","QueryMetaForm","Button","view","href","createQueryUrl","target","Icon","awesome","QueryTrackerNewButton","renderDefaultTitle","_ref2","engineTitle","_Fragment","onClick","QueryEditor"],"sources":["index.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport cn from 'bem-cn-lite';\nimport {QueryEditor} from '../QueryEditor/QueryEditor';\nimport {QueryMetaForm} from '../QueryTrackerTopRow/QueryMetaForm';\nimport Icon from '../../../components/Icon/Icon';\nimport {useSelector} from 'react-redux';\nimport {getCluster} from '../../../store/selectors/global';\nimport {createQueryUrl} from '../utils/navigation';\nimport {Button} from '@gravity-ui/uikit';\nimport {QueryTrackerNewButton} from '../QueryTrackerNewButton';\nimport './index.scss';\n\nconst block = cn('query-widget');\n\nexport type QueryWidgetProps = {onClose: () => void};\n\nexport function QueryWidget({onClose}: QueryWidgetProps) {\n const cluster = useSelector(getCluster);\n const [queryId, setQueryId] = useState<string | null>(null);\n const onStartQuery = useCallback(\n (query: string) => {\n setQueryId(query);\n },\n [setQueryId],\n );\n return (\n <div className={block()}>\n <div className={block('header')}>\n <QueryMetaForm className={block('meta-form')} />\n <div className={block('header-controls')}>\n <div className={block('header-control-left')}>\n {queryId && (\n <Button\n className={block('control')}\n view=\"outlined\"\n href={createQueryUrl(cluster, queryId)}\n target=\"_blank\"\n >\n <Icon awesome=\"external-link\" />\n Open query\n </Button>\n )}\n </div>\n <div className={block('header-control-right')}>\n <QueryTrackerNewButton\n className={block('control')}\n renderDefaultTitle={({engineTitle}) => (\n <>Open query in {engineTitle} syntax</>\n )}\n cluster={cluster}\n target=\"_blank\"\n />\n <Button view=\"flat\" className={block('control')} onClick={onClose}>\n <Icon awesome=\"times\" />\n </Button>\n </div>\n </div>\n </div>\n <QueryEditor onStartQuery={onStartQuery} />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -6,7 +6,6 @@ export declare enum QueryEngine {
6
6
  CHYT = "chyt"
7
7
  }
8
8
  export declare const Engines: QueryEngine[];
9
- export declare const EngineKeys: QueryEngine[];
10
9
  export declare function isEngine(engine: string): engine is QueryEngine;
11
10
  export type QueryItemId = string;
12
11
  export type YQLStatistic = {
@@ -20,9 +19,6 @@ export type YQLSstatistics = Record<string, any>;
20
19
  export interface DraftQuery {
21
20
  engine: QueryEngine;
22
21
  query: string;
23
- attributes?: {
24
- title?: string;
25
- };
26
22
  annotations?: {
27
23
  title?: string;
28
24
  };
@@ -42,6 +38,7 @@ export interface QueryItem extends DraftQuery {
42
38
  error: unknown;
43
39
  }
44
40
  export declare enum QueryStatus {
41
+ DRAFT = "draft",
45
42
  RUNNING = "running",
46
43
  PENDING = "pending",
47
44
  COMPLETING = "completing",
@@ -72,6 +69,10 @@ export type QueriesListRequestParams = {
72
69
  cursor?: QueriiesListCursorParams;
73
70
  limit?: number;
74
71
  };
72
+ export declare function generateQueryFromTable(engine: QueryEngine, { cluster, path }: {
73
+ cluster: string;
74
+ path: string;
75
+ }): Promise<DraftQuery | undefined>;
75
76
  export declare function loadQueriesList({ params, cursor, limit }: QueriesListRequestParams): Promise<{
76
77
  incomplete: boolean;
77
78
  queries: QueryItem[];
@@ -100,6 +101,15 @@ export declare function getDownloadQueryResultURL(cluster: string, queryId: stri
100
101
  end: number;
101
102
  }): string;
102
103
  export declare function requestQueries(ids: string[]): Promise<QueryItem[]>;
104
+ export type QueryResultMetaScheme = {
105
+ name: string;
106
+ required: boolean;
107
+ type: string;
108
+ type_v3: {
109
+ type_name: string;
110
+ item: string;
111
+ };
112
+ };
103
113
  export type QueryResultMeta = {
104
114
  id: string;
105
115
  result_index: number;
@@ -108,15 +118,7 @@ export type QueryResultMeta = {
108
118
  strict: boolean;
109
119
  unique_keys: boolean;
110
120
  };
111
- $value: {
112
- name: string;
113
- required: boolean;
114
- type: string;
115
- type_v3: {
116
- type_name: string;
117
- item: string;
118
- };
119
- }[];
121
+ $value: QueryResultMetaScheme[];
120
122
  };
121
123
  data_statistics: {
122
124
  chunk_count: number;