@ytsaurus/ui 0.1.0 → 0.2.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 (222) hide show
  1. package/build/cjs/ui/UIFactory.d.ts +1 -0
  2. package/build/cjs/ui/UIFactory.js.map +1 -1
  3. package/build/cjs/ui/common/hammer/format.js +1 -1
  4. package/build/cjs/ui/common/hammer/format.js.map +1 -1
  5. package/build/cjs/ui/components/CollapsibleSection/CollapsibleSection.d.ts +1 -1
  6. package/build/cjs/ui/components/CollapsibleSection/CollapsibleSection.js.map +1 -1
  7. package/build/cjs/ui/components/MetaTable/presets/main.d.ts +1 -1
  8. package/build/cjs/ui/components/MetaTable/presets/main.js +1 -1
  9. package/build/cjs/ui/components/MetaTable/presets/main.js.map +1 -1
  10. package/build/cjs/ui/components/MetaTable/presets/presets.d.ts +29 -0
  11. package/build/cjs/ui/components/MetaTable/presets/presets.js +94 -1
  12. package/build/cjs/ui/components/MetaTable/presets/presets.js.map +1 -1
  13. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.d.ts +2 -0
  14. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +3 -0
  15. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js.map +1 -1
  16. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +12 -4
  17. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js.map +1 -1
  18. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.d.ts +2 -0
  19. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js +29 -0
  20. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js.map +1 -0
  21. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.d.ts +1 -1
  22. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.js.map +1 -1
  23. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.d.ts +5 -0
  24. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js +33 -0
  25. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js.map +1 -0
  26. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +12 -41
  27. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +28 -104
  28. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.js.map +1 -1
  29. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.d.ts +10 -0
  30. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.js +59 -0
  31. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.js.map +1 -0
  32. package/build/cjs/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.js +39 -76
  33. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.js.map +1 -0
  34. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.d.ts +7 -0
  35. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js +43 -0
  36. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js.map +1 -0
  37. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.d.ts +7 -0
  38. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js +44 -0
  39. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js.map +1 -0
  40. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.d.ts +6 -0
  41. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js +66 -0
  42. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js.map +1 -0
  43. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.d.ts +4 -0
  44. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js +82 -0
  45. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js.map +1 -0
  46. package/build/cjs/ui/pages/query-tracker/QueriesList/index.js +51 -5
  47. package/build/cjs/ui/pages/query-tracker/QueriesList/index.js.map +1 -1
  48. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +10 -0
  49. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js +42 -0
  50. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -0
  51. package/build/cjs/ui/pages/query-tracker/hooks/Query/index.d.ts +2 -0
  52. package/build/cjs/ui/pages/query-tracker/hooks/Query/index.js +24 -0
  53. package/build/cjs/ui/pages/query-tracker/hooks/Query/index.js.map +1 -0
  54. package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.d.ts +2 -2
  55. package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.js +4 -3
  56. package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.js.map +1 -1
  57. package/build/cjs/ui/pages/query-tracker/module/api.d.ts +1 -0
  58. package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
  59. package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.d.ts +17 -8
  60. package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.js +38 -22
  61. package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.js.map +1 -1
  62. package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.d.ts +8 -7
  63. package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.js +31 -8
  64. package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.js.map +1 -1
  65. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +18 -8
  66. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.js +46 -22
  67. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.js.map +1 -1
  68. package/build/cjs/ui/pages/query-tracker/module/queries_list/types.d.ts +17 -4
  69. package/build/cjs/ui/pages/query-tracker/module/queries_list/types.js +28 -7
  70. package/build/cjs/ui/pages/query-tracker/module/queries_list/types.js.map +1 -1
  71. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js +2 -1
  72. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  73. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js +2 -1
  74. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  75. package/build/cjs/ui/pages/query-tracker/module/query/utills.d.ts +2 -0
  76. package/build/cjs/ui/pages/query-tracker/module/query/utills.js +17 -0
  77. package/build/cjs/ui/pages/query-tracker/module/query/utills.js.map +1 -0
  78. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +7 -5
  79. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  80. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.d.ts +1 -0
  81. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js.map +1 -1
  82. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +1 -1
  83. package/build/cjs/ui/store/selectors/navigation/content/table.js +9 -3
  84. package/build/cjs/ui/store/selectors/navigation/content/table.js.map +1 -1
  85. package/build/cjs/ui/store/selectors/navigation/navigation.js +1 -1
  86. package/build/cjs/ui/store/selectors/navigation/navigation.js.map +1 -1
  87. package/build/cjs/ui/utils/components/tablet-cells/index.js +1 -1
  88. package/build/cjs/ui/utils/components/tablet-cells/index.js.map +1 -1
  89. package/build/cjs/ui/utils/cypress-attributes.d.ts +2 -0
  90. package/build/cjs/ui/utils/cypress-attributes.js +2 -0
  91. package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
  92. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +1 -1
  93. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  94. package/build/esm/ui/UIFactory.d.ts +1 -0
  95. package/build/esm/ui/UIFactory.js.map +1 -1
  96. package/build/esm/ui/common/hammer/format.js +1 -1
  97. package/build/esm/ui/common/hammer/format.js.map +1 -1
  98. package/build/esm/ui/components/CollapsibleSection/CollapsibleSection.d.ts +1 -1
  99. package/build/esm/ui/components/CollapsibleSection/CollapsibleSection.js.map +1 -1
  100. package/build/esm/ui/components/MetaTable/presets/main.d.ts +1 -1
  101. package/build/esm/ui/components/MetaTable/presets/main.js +1 -1
  102. package/build/esm/ui/components/MetaTable/presets/main.js.map +1 -1
  103. package/build/esm/ui/components/MetaTable/presets/presets.d.ts +29 -0
  104. package/build/esm/ui/components/MetaTable/presets/presets.js +88 -1
  105. package/build/esm/ui/components/MetaTable/presets/presets.js.map +1 -1
  106. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.d.ts +2 -0
  107. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +3 -0
  108. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js.map +1 -1
  109. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +12 -4
  110. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js.map +1 -1
  111. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.d.ts +2 -0
  112. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js +23 -0
  113. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js.map +1 -0
  114. package/build/esm/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.d.ts +1 -1
  115. package/build/esm/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.js.map +1 -1
  116. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.css +5 -0
  117. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.css.map +1 -0
  118. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.d.ts +5 -0
  119. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js +27 -0
  120. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js.map +1 -0
  121. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.scss +6 -0
  122. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +12 -41
  123. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +28 -105
  124. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.js.map +1 -1
  125. package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.d.ts +10 -0
  126. package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.js +51 -0
  127. package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.js.map +1 -0
  128. package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.css +4 -1
  129. package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.css.map +1 -1
  130. package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.scss +4 -1
  131. package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.js +39 -76
  132. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.js.map +1 -0
  133. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.d.ts +7 -0
  134. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js +35 -0
  135. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js.map +1 -0
  136. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.d.ts +7 -0
  137. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js +36 -0
  138. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js.map +1 -0
  139. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.d.ts +6 -0
  140. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js +60 -0
  141. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js.map +1 -0
  142. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.css +30 -0
  143. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.css.map +1 -0
  144. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.d.ts +4 -0
  145. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js +77 -0
  146. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js.map +1 -0
  147. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.scss +36 -0
  148. package/build/esm/ui/pages/query-tracker/QueriesList/index.css +10 -0
  149. package/build/esm/ui/pages/query-tracker/QueriesList/index.css.map +1 -1
  150. package/build/esm/ui/pages/query-tracker/QueriesList/index.js +52 -6
  151. package/build/esm/ui/pages/query-tracker/QueriesList/index.js.map +1 -1
  152. package/build/esm/ui/pages/query-tracker/QueriesList/index.scss +13 -0
  153. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +10 -0
  154. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js +33 -0
  155. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -0
  156. package/build/esm/ui/pages/query-tracker/hooks/Query/index.d.ts +2 -0
  157. package/build/esm/ui/pages/query-tracker/hooks/Query/index.js +16 -0
  158. package/build/esm/ui/pages/query-tracker/hooks/Query/index.js.map +1 -0
  159. package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.d.ts +2 -2
  160. package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.js +4 -3
  161. package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.js.map +1 -1
  162. package/build/esm/ui/pages/query-tracker/module/api.d.ts +1 -0
  163. package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
  164. package/build/esm/ui/pages/query-tracker/module/queries_list/actions.d.ts +17 -8
  165. package/build/esm/ui/pages/query-tracker/module/queries_list/actions.js +33 -19
  166. package/build/esm/ui/pages/query-tracker/module/queries_list/actions.js.map +1 -1
  167. package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.d.ts +8 -7
  168. package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.js +33 -10
  169. package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.js.map +1 -1
  170. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +18 -8
  171. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.js +35 -15
  172. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.js.map +1 -1
  173. package/build/esm/ui/pages/query-tracker/module/queries_list/types.d.ts +17 -4
  174. package/build/esm/ui/pages/query-tracker/module/queries_list/types.js +21 -5
  175. package/build/esm/ui/pages/query-tracker/module/queries_list/types.js.map +1 -1
  176. package/build/esm/ui/pages/query-tracker/module/query/reducer.js +2 -1
  177. package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  178. package/build/esm/ui/pages/query-tracker/module/query/selectors.js +2 -1
  179. package/build/esm/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  180. package/build/esm/ui/pages/query-tracker/module/query/utills.d.ts +2 -0
  181. package/build/esm/ui/pages/query-tracker/module/query/utills.js +8 -0
  182. package/build/esm/ui/pages/query-tracker/module/query/utills.js.map +1 -0
  183. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +8 -6
  184. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  185. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.css +4 -0
  186. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.css.map +1 -0
  187. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.d.ts +1 -0
  188. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js +1 -0
  189. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js.map +1 -1
  190. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.scss +7 -0
  191. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +1 -1
  192. package/build/esm/ui/store/selectors/navigation/content/table.js +9 -3
  193. package/build/esm/ui/store/selectors/navigation/content/table.js.map +1 -1
  194. package/build/esm/ui/store/selectors/navigation/navigation.js +1 -1
  195. package/build/esm/ui/store/selectors/navigation/navigation.js.map +1 -1
  196. package/build/esm/ui/utils/components/tablet-cells/index.js +1 -1
  197. package/build/esm/ui/utils/components/tablet-cells/index.js.map +1 -1
  198. package/build/esm/ui/utils/cypress-attributes.d.ts +2 -0
  199. package/build/esm/ui/utils/cypress-attributes.js +2 -0
  200. package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
  201. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +1 -1
  202. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  203. package/build/img/svg/YT-login-page-background-dark.svg +96 -14
  204. package/build/img/svg/YT-login-page-background-light.svg +94 -14
  205. package/build/img/svg/icons/learn.svg +3 -0
  206. package/package.json +2 -2
  207. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.d.ts +0 -9
  208. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js +0 -76
  209. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js.map +0 -1
  210. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/index.js.map +0 -1
  211. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.d.ts +0 -9
  212. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js +0 -70
  213. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js.map +0 -1
  214. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/index.js.map +0 -1
  215. /package/build/cjs/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.d.ts +0 -0
  216. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.css +0 -0
  217. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.css.map +0 -0
  218. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.d.ts +0 -0
  219. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.scss +0 -0
  220. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.css +0 -0
  221. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.css.map +0 -0
  222. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.scss +0 -0
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getCommonFields = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _ypath = _interopRequireDefault(require("../../../../../common/thor/ypath"));
10
+ var _Link = _interopRequireDefault(require("../../../../../components/Link/Link"));
11
+ var _AutomaticModeSwitch = _interopRequireDefault(require("./AutomaticModeSwitch"));
12
+ var _reduce = _interopRequireDefault(require("lodash/reduce"));
13
+ var _tabletCells = require("../../../../../utils/components/tablet-cells");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var getCommonFields = function getCommonFields(_ref) {
16
+ var cluster = _ref.cluster,
17
+ attributes = _ref.attributes,
18
+ tableType = _ref.tableType,
19
+ onEditEnableReplicatedTableTracker = _ref.onEditEnableReplicatedTableTracker;
20
+ var _ypath$getValues = _ypath["default"].getValues(attributes, ['/sorted', '/chaos_cell_bundle', '/replicated_table_options/enable_replicated_table_tracker']),
21
+ _ypath$getValues2 = (0, _slicedToArray2["default"])(_ypath$getValues, 3),
22
+ sorted = _ypath$getValues2[0],
23
+ chaosCellBundle = _ypath$getValues2[1],
24
+ enable_replicated_table_tracker = _ypath$getValues2[2];
25
+ var chaosUrl = (0, _tabletCells.tabletActiveChaosBundleLink)(cluster, chaosCellBundle);
26
+ var fields = [{
27
+ key: 'tableType',
28
+ label: 'Table type',
29
+ value: tableType
30
+ }, {
31
+ key: 'sorted',
32
+ value: sorted,
33
+ visible: sorted !== undefined
34
+ }, {
35
+ key: 'chaosCellBundle',
36
+ label: 'Chaos cell bundle',
37
+ value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link["default"], {
38
+ theme: 'primary',
39
+ routed: true,
40
+ url: chaosUrl,
41
+ children: chaosCellBundle
42
+ })
43
+ }, {
44
+ key: 'automaticModeSwitch',
45
+ label: 'Table automatic mode switch',
46
+ value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AutomaticModeSwitch["default"], {
47
+ value: enable_replicated_table_tracker,
48
+ onEdit: onEditEnableReplicatedTableTracker
49
+ })
50
+ }];
51
+ var commonFields = (0, _reduce["default"])(fields, function (acc, item) {
52
+ acc[item.key] = item;
53
+ return acc;
54
+ }, {});
55
+ return commonFields;
56
+ };
57
+ // #sourceMappingURL=commonFields.js.map
58
+ exports.getCommonFields = getCommonFields;
59
+ // #sourceMappingURL=commonFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ypath","_interopRequireDefault","require","_Link","_AutomaticModeSwitch","_reduce","_tabletCells","_jsxRuntime","getCommonFields","_ref","cluster","attributes","tableType","onEditEnableReplicatedTableTracker","_ypath$getValues","ypath","getValues","_ypath$getValues2","_slicedToArray","sorted","chaosCellBundle","enable_replicated_table_tracker","chaosUrl","tabletActiveChaosBundleLink","fields","key","label","value","visible","undefined","_jsx","Link","theme","routed","url","children","AutomaticModeSwitch","onEdit","commonFields","reduce","acc","item"],"sources":["commonFields.tsx"],"sourcesContent":["import React from 'react';\nimport ypath from '../../../../../common/thor/ypath';\nimport Link from '../../../../../components/Link/Link';\nimport AutomaticModeSwitch, {Props as AutomaticModeSwitchProps} from './AutomaticModeSwitch';\nimport reduce from 'lodash/reduce';\nimport {MetaTableItem} from '../../../../../components/MetaTable/MetaTable';\nimport {tabletActiveChaosBundleLink} from '../../../../../utils/components/tablet-cells';\n\nexport const getCommonFields = ({\n cluster,\n attributes,\n tableType,\n onEditEnableReplicatedTableTracker,\n}: {\n cluster: string;\n attributes: any;\n isDynamic: boolean;\n tableType: string;\n tabletErrorCount: number;\n onEditEnableReplicatedTableTracker: AutomaticModeSwitchProps['onEdit'];\n}) => {\n const [sorted, chaosCellBundle, enable_replicated_table_tracker] = ypath.getValues(attributes, [\n '/sorted',\n '/chaos_cell_bundle',\n '/replicated_table_options/enable_replicated_table_tracker',\n ]);\n\n const chaosUrl = tabletActiveChaosBundleLink(cluster, chaosCellBundle);\n\n const fields = [\n {\n key: 'tableType',\n label: 'Table type',\n value: tableType,\n },\n {\n key: 'sorted',\n value: sorted,\n visible: sorted !== undefined,\n },\n {\n key: 'chaosCellBundle',\n label: 'Chaos cell bundle',\n value: (\n <Link theme={'primary'} routed url={chaosUrl}>\n {chaosCellBundle}\n </Link>\n ),\n },\n {\n key: 'automaticModeSwitch',\n label: 'Table automatic mode switch',\n value: (\n <AutomaticModeSwitch\n value={enable_replicated_table_tracker}\n onEdit={onEditEnableReplicatedTableTracker}\n />\n ),\n },\n ] as const;\n\n type Fields = typeof fields;\n\n const commonFields = reduce(\n fields,\n (acc, item) => {\n acc[item.key] = item;\n return acc;\n },\n {} as Record<Fields[number]['key'], MetaTableItem>,\n );\n\n return commonFields;\n};\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAAyF,IAAAK,WAAA,GAAAL,OAAA;AAElF,IAAMM,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAYtB;EAAA,IAXFC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,kCAAkC,GAAAJ,IAAA,CAAlCI,kCAAkC;EASlC,IAAAC,gBAAA,GAAmEC,iBAAK,CAACC,SAAS,CAACL,UAAU,EAAE,CAC3F,SAAS,EACT,oBAAoB,EACpB,2DAA2D,CAC9D,CAAC;IAAAM,iBAAA,OAAAC,0BAAA,EAAAJ,gBAAA;IAJKK,MAAM,GAAAF,iBAAA;IAAEG,eAAe,GAAAH,iBAAA;IAAEI,+BAA+B,GAAAJ,iBAAA;EAM/D,IAAMK,QAAQ,GAAG,IAAAC,wCAA2B,EAACb,OAAO,EAAEU,eAAe,CAAC;EAEtE,IAAMI,MAAM,GAAG,CACX;IACIC,GAAG,EAAE,WAAW;IAChBC,KAAK,EAAE,YAAY;IACnBC,KAAK,EAAEf;EACX,CAAC,EACD;IACIa,GAAG,EAAE,QAAQ;IACbE,KAAK,EAAER,MAAM;IACbS,OAAO,EAAET,MAAM,KAAKU;EACxB,CAAC,EACD;IACIJ,GAAG,EAAE,iBAAiB;IACtBC,KAAK,EAAE,mBAAmB;IAC1BC,KAAK,eACD,IAAAG,eAAA,EAACC,gBAAI;MAACC,KAAK,EAAE,SAAU;MAACC,MAAM;MAACC,GAAG,EAAEZ,QAAS;MAAAa,QAAA,EACxCf;IAAe;EAG5B,CAAC,EACD;IACIK,GAAG,EAAE,qBAAqB;IAC1BC,KAAK,EAAE,6BAA6B;IACpCC,KAAK,eACD,IAAAG,eAAA,EAACM,+BAAmB;MAChBT,KAAK,EAAEN,+BAAgC;MACvCgB,MAAM,EAAExB;IAAmC;EAGvD,CAAC,CACK;EAIV,IAAMyB,YAAY,GAAG,IAAAC,kBAAM,EACvBf,MAAM,EACN,UAACgB,GAAG,EAAEC,IAAI,EAAK;IACXD,GAAG,CAACC,IAAI,CAAChB,GAAG,CAAC,GAAGgB,IAAI;IACpB,OAAOD,GAAG;EACd,CAAC,EACD,CAAC,CAAC,CACL;EAED,OAAOF,YAAY;AACvB,CAAC"}
@@ -7,53 +7,29 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.QueriesHistoryList = QueriesHistoryList;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _noop2 = _interopRequireDefault(require("lodash/noop"));
10
- var _hammer = _interopRequireDefault(require("../../../common/hammer"));
10
+ var _hammer = _interopRequireDefault(require("../../../../common/hammer"));
11
11
  var _uikit = require("@gravity-ui/uikit");
12
12
  var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
13
- var _reactRouter = require("react-router");
14
13
  var _react = require("react");
15
14
  var _reactRedux = require("react-redux");
16
- var _api = require("../module/api");
17
- var _actions = require("../module/queries_list/actions");
18
- var _selectors = require("../module/queries_list/selectors");
19
- var _QueryStatus = require("../QueryStatus");
20
- var _selectors2 = require("../module/query/selectors");
21
- var _QueriesHistoryFilter = require("./QueriesHistoryFilter");
22
- var _Pagination = _interopRequireDefault(require("../../../components/Pagination/Pagination"));
23
- var _context = require("../hooks/QueriesPooling/context");
24
- var _global = require("../../../store/selectors/global");
25
- var _util = require("../../../components/common/Timeline/util");
26
- var _navigation = require("../utils/navigation");
27
- var _query = require("../utils/query");
28
- var _DataTableYT = _interopRequireDefault(require("../../../components/DataTableYT/DataTableYT"));
15
+ var _api = require("../../module/api");
16
+ var _actions = require("../../module/queries_list/actions");
17
+ var _selectors = require("../../module/queries_list/selectors");
18
+ var _QueryStatus = require("../../QueryStatus");
19
+ var _Pagination = _interopRequireDefault(require("../../../../components/Pagination/Pagination"));
20
+ var _context = require("../../hooks/QueriesPooling/context");
21
+ var _util = require("../../../../components/common/Timeline/util");
22
+ var _query = require("../../utils/query");
23
+ var _DataTableYT = _interopRequireDefault(require("../../../../components/DataTableYT/DataTableYT"));
29
24
  var _reactDataTable = _interopRequireDefault(require("@yandex-cloud/react-data-table"));
30
- var _QueryListFilter = require("../hooks/QueryListFilter");
31
- var _types = require("../module/queries_list/types");
32
- var _QueryDuration = require("../QueryDuration");
25
+ var _QueryListFilter = require("../../hooks/QueryListFilter");
26
+ var _types = require("../../module/queries_list/types");
27
+ var _QueryDuration = require("../../QueryDuration");
28
+ var _Query = require("../../hooks/Query");
29
+ var _QueriesList = require("../../hooks/QueriesList");
33
30
  var _jsxRuntime = require("react/jsx-runtime");
34
31
  var b = (0, _bemCnLite["default"])('queries-history-list');
35
32
  var itemBlock = (0, _bemCnLite["default"])('query-history-item');
36
- var useQueriesHistoryCursor = function useQueriesHistoryCursor() {
37
- var dispatch = (0, _reactRedux.useDispatch)();
38
- var cursor = (0, _reactRedux.useSelector)(_selectors.getQueriesHistoryCursor);
39
- var hasNext = (0, _reactRedux.useSelector)(_selectors.hasQueriesListMore);
40
- var goNext = (0, _react.useCallback)(function () {
41
- dispatch((0, _actions.loadNextQueriesList)(_api.QueriesHistoryCursorDirection.PAST));
42
- }, [dispatch]);
43
- var goBack = (0, _react.useCallback)(function () {
44
- dispatch((0, _actions.loadNextQueriesList)(_api.QueriesHistoryCursorDirection.FUTURE));
45
- }, [dispatch]);
46
- var reset = (0, _react.useCallback)(function () {
47
- dispatch((0, _actions.resetCursor)());
48
- }, [dispatch]);
49
- return {
50
- first: !(cursor !== null && cursor !== void 0 && cursor.cursorTime),
51
- last: !hasNext,
52
- goNext: goNext,
53
- goBack: goBack,
54
- goFirst: reset
55
- };
56
- };
57
33
  function useQueriesHistoryUpdate() {
58
34
  var pollingContext = (0, _react.useContext)(_context.QueriesPoolingContext);
59
35
  var uncompletedItems = (0, _reactRedux.useSelector)(_selectors.getUncompletedItems);
@@ -78,7 +54,7 @@ function useRefreshHistoryList() {
78
54
  var timer;
79
55
  function start() {
80
56
  timer = setTimeout(function () {
81
- dispatch((0, _actions.refreshQueryHistoryListIfNeeded)(start));
57
+ dispatch((0, _actions.refreshQueriesListIfNeeded)(start));
82
58
  }, timeout);
83
59
  }
84
60
  start();
@@ -90,25 +66,10 @@ function useRefreshHistoryList() {
90
66
  }, [timeout, dispatch]);
91
67
  }
92
68
  function useQueryHistoryList() {
93
- var dispatch = (0, _reactRedux.useDispatch)();
94
- var isLoading = (0, _reactRedux.useSelector)(_selectors.isQueriesListLoading);
95
- var items = (0, _reactRedux.useSelector)(_selectors.getQueriesList);
96
- (0, _react.useEffect)(function () {
97
- dispatch((0, _actions.requestQueriesList)());
98
- }, []);
69
+ useRefreshHistoryList();
99
70
  useQueriesHistoryUpdate();
100
- useRefreshHistoryList(5000);
101
- return [items, isLoading];
71
+ return (0, _QueriesList.useQueryList)();
102
72
  }
103
- var useQueryNavigation = function useQueryNavigation() {
104
- var selectedItem = (0, _reactRedux.useSelector)(_selectors2.getQuery);
105
- var cluster = (0, _reactRedux.useSelector)(_global.getCluster);
106
- var history = (0, _reactRouter.useHistory)();
107
- var goToQuery = (0, _react.useCallback)(function (item) {
108
- history.push((0, _navigation.createQueryUrl)(cluster, item.id));
109
- }, [history]);
110
- return [selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id, goToQuery];
111
- };
112
73
  var NameColumns = {
113
74
  name: 'Name',
114
75
  align: 'left',
@@ -196,22 +157,21 @@ var tableSettings = {
196
157
  syncHeadOnResize: true
197
158
  };
198
159
  function QueriesHistoryList() {
199
- // const mainLocation = useParams();
200
160
  var _useQueryHistoryList = useQueryHistoryList(),
201
161
  _useQueryHistoryList2 = (0, _slicedToArray2["default"])(_useQueryHistoryList, 2),
202
162
  items = _useQueryHistoryList2[0],
203
163
  isLoading = _useQueryHistoryList2[1];
204
164
  var _useQuriesHistoryFilt = (0, _QueryListFilter.useQuriesHistoryFilter)(),
205
- _useQuriesHistoryFilt2 = (0, _slicedToArray2["default"])(_useQuriesHistoryFilt, 2),
206
- filter = _useQuriesHistoryFilt2[0],
207
- setFilter = _useQuriesHistoryFilt2[1];
208
- var _useQueriesHistoryCur = useQueriesHistoryCursor(),
209
- first = _useQueriesHistoryCur.first,
210
- last = _useQueriesHistoryCur.last,
211
- goBack = _useQueriesHistoryCur.goBack,
212
- goNext = _useQueriesHistoryCur.goNext,
213
- goFirst = _useQueriesHistoryCur.goFirst;
214
- var _useQueryNavigation = useQueryNavigation(),
165
+ _useQuriesHistoryFilt2 = (0, _slicedToArray2["default"])(_useQuriesHistoryFilt, 1),
166
+ filter = _useQuriesHistoryFilt2[0];
167
+ var timestamp = (0, _reactRedux.useSelector)(_selectors.getQueriesListTimestamp);
168
+ var _useQueriesPagination = (0, _QueriesList.useQueriesPagination)(),
169
+ first = _useQueriesPagination.first,
170
+ last = _useQueriesPagination.last,
171
+ goBack = _useQueriesPagination.goBack,
172
+ goNext = _useQueriesPagination.goNext,
173
+ goFirst = _useQueriesPagination.goFirst;
174
+ var _useQueryNavigation = (0, _Query.useQueryNavigation)(),
215
175
  _useQueryNavigation2 = (0, _slicedToArray2["default"])(_useQueryNavigation, 2),
216
176
  selectedId = _useQueryNavigation2[0],
217
177
  goToQuery = _useQueryNavigation2[1];
@@ -219,24 +179,27 @@ function QueriesHistoryList() {
219
179
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
220
180
  columns = _useState2[0],
221
181
  setColumns = _useState2[1];
182
+ var scrollElemRef = (0, _react.useRef)(null);
222
183
  (0, _react.useEffect)(function () {
223
184
  if (!isLoading || !(items !== null && items !== void 0 && items.length)) {
224
- setColumns(filter.user === _types.QueriesHistoryAuthor.My ? MyColumns : AllColumns);
185
+ setColumns(filter.user === _types.QueriesListAuthorFilter.My ? MyColumns : AllColumns);
225
186
  }
226
187
  }, [items, setColumns, filter.user, isLoading]);
188
+ (0, _react.useEffect)(function () {
189
+ if (scrollElemRef !== null && scrollElemRef !== void 0 && scrollElemRef.current) {
190
+ scrollElemRef.current.scrollTop = 0;
191
+ }
192
+ }, [scrollElemRef, timestamp]);
227
193
  var setClassName = (0, _react.useCallback)(function (item) {
228
194
  return itemBlock({
229
195
  selected: item.id === selectedId
230
196
  });
231
197
  }, [selectedId]);
232
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
198
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
233
199
  className: b(),
234
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_QueriesHistoryFilter.QuriesHistoryListFilter, {
235
- className: b('filter'),
236
- filter: filter,
237
- onChange: setFilter
238
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
200
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
239
201
  className: b('list-wrapper'),
202
+ ref: scrollElemRef,
240
203
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DataTableYT["default"], {
241
204
  className: b('list'),
242
205
  loading: isLoading,
@@ -272,7 +235,7 @@ function QueriesHistoryList() {
272
235
  }
273
236
  })
274
237
  })]
275
- })]
238
+ })
276
239
  });
277
240
  }
278
241
  // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hammer","_interopRequireDefault","require","_uikit","_bemCnLite","_react","_reactRedux","_api","_actions","_selectors","_QueryStatus","_Pagination","_context","_util","_query","_DataTableYT","_reactDataTable","_QueryListFilter","_types","_QueryDuration","_Query","_QueriesList","_jsxRuntime","b","block","itemBlock","useQueriesHistoryUpdate","pollingContext","useContext","QueriesPoolingContext","uncompletedItems","useSelector","getUncompletedItems","dispatch","useDispatch","useEffect","pollingEffect","length","watch","items","type","UPDATE_QUERIES_LIST","data","useRefreshHistoryList","timeout","arguments","undefined","timer","start","setTimeout","refreshQueriesListIfNeeded","clearTimeout","useQueryHistoryList","useQueryList","NameColumns","name","align","className","render","_ref","_row$annotations","row","annotations","title","_jsxs","children","_jsx","QueryStatusIcon","status","state","Text","color","ellipsis","TypeColumns","width","_ref2","variant","engine","QueryEnginesNames","DurationColumns","_ref3","QueryStatus","RUNNING","hammer","format","NO_VALUE","QueryDuration","query","StartedColumns","_ref4","formatDateCompact","start_time","AuthorColumns","_ref5","user","MyColumns","AllColumns","tableSettings","displayIndices","sortable","stickyHead","DataTable","MOVING","syncHeadOnResize","QueriesHistoryList","_useQueryHistoryList","_useQueryHistoryList2","_slicedToArray","isLoading","_useQuriesHistoryFilt","useQuriesHistoryFilter","_useQuriesHistoryFilt2","filter","timestamp","getQueriesListTimestamp","_useQueriesPagination","useQueriesPagination","first","last","goBack","goNext","goFirst","_useQueryNavigation","useQueryNavigation","_useQueryNavigation2","selectedId","goToQuery","_useState","useState","_useState2","columns","setColumns","scrollElemRef","useRef","QueriesListAuthorFilter","My","current","scrollTop","setClassName","useCallback","item","selected","id","ref","DataTableYT","loading","useThemeYT","rowKey","onRowClick","disableRightGap","settings","rowClassName","Pagination","size","handler","disabled","previous","next","_noop"],"sources":["index.tsx"],"sourcesContent":["import hammer from '../../../../common/hammer';\nimport {Text} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport React, {useCallback, useContext, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueryItem, QueryStatus} from '../../module/api';\nimport {refreshQueriesListIfNeeded, UPDATE_QUERIES_LIST} from '../../module/queries_list/actions';\nimport {getQueriesListTimestamp, getUncompletedItems} from '../../module/queries_list/selectors';\nimport {QueryStatusIcon} from '../../QueryStatus';\n\nimport './index.scss';\nimport Pagination from '../../../../components/Pagination/Pagination';\nimport {noop} from 'lodash';\nimport {QueriesPoolingContext} from '../../hooks/QueriesPooling/context';\nimport {formatDateCompact} from '../../../../components/common/Timeline/util';\nimport {QueryEnginesNames} from '../../utils/query';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport DataTable, {Column, Settings} from '@yandex-cloud/react-data-table';\nimport {useQuriesHistoryFilter} from '../../hooks/QueryListFilter';\nimport {QueriesListAuthorFilter} from '../../module/queries_list/types';\nimport {QueryDuration} from '../../QueryDuration';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport {useQueriesPagination, useQueryList} from '../../hooks/QueriesList';\n\nconst b = block('queries-history-list');\n\nconst itemBlock = block('query-history-item');\n\nfunction useQueriesHistoryUpdate() {\n const pollingContext = useContext(QueriesPoolingContext);\n const uncompletedItems = useSelector(getUncompletedItems);\n const dispatch = useDispatch();\n\n useEffect(\n function pollingEffect() {\n if (!uncompletedItems?.length) {\n return;\n }\n return pollingContext.watch(uncompletedItems, (items) => {\n dispatch({\n type: UPDATE_QUERIES_LIST,\n data: items,\n });\n });\n },\n [uncompletedItems],\n );\n}\n\nfunction useRefreshHistoryList(timeout = 5000) {\n // Naive history list's polling impl\n const dispatch = useDispatch();\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n function start() {\n timer = setTimeout(() => {\n dispatch(refreshQueriesListIfNeeded(start));\n }, timeout);\n }\n\n start();\n\n return () => {\n if (timer) {\n clearTimeout(timer);\n }\n };\n }, [timeout, dispatch]);\n}\n\nfunction useQueryHistoryList() {\n useRefreshHistoryList();\n useQueriesHistoryUpdate();\n return useQueryList();\n}\n\nconst NameColumns: Column<QueryItem> = {\n name: 'Name',\n align: 'left',\n className: itemBlock('name_row'),\n render: ({row}) => {\n const name = row.annotations?.title;\n return (\n <div className={itemBlock('name')} title={name}>\n <QueryStatusIcon className={itemBlock('status-icon')} status={row.state} />\n <Text\n className={itemBlock('name-container')}\n color={name ? 'primary' : 'secondary'}\n ellipsis\n >\n {name || 'No name'}\n </Text>\n </div>\n );\n },\n};\n\nconst TypeColumns: Column<QueryItem> = {\n name: 'Type',\n align: 'center',\n width: 60,\n render: ({row}) => {\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {row.engine in QueryEnginesNames ? QueryEnginesNames[row.engine] : row.engine}\n </Text>\n );\n },\n};\n\nconst DurationColumns: Column<QueryItem> = {\n name: 'Duration',\n align: 'left',\n width: 100,\n render: ({row}) => {\n if (row.state === QueryStatus.RUNNING) {\n return hammer.format.NO_VALUE;\n }\n return <QueryDuration query={row} />;\n },\n};\n\nconst StartedColumns: Column<QueryItem> = {\n name: 'Started',\n align: 'left',\n width: 120,\n render: ({row}) => {\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {formatDateCompact(row.start_time)}\n </Text>\n );\n },\n};\n\nconst AuthorColumns: Column<QueryItem> = {\n name: 'Author',\n align: 'left',\n width: 120,\n className: itemBlock('author_row'),\n render: ({row}) => {\n return (\n <Text variant=\"body-1\" ellipsis title={row.user}>\n {row.user}\n </Text>\n );\n },\n};\n\nconst MyColumns: Column<QueryItem>[] = [NameColumns, TypeColumns, DurationColumns, StartedColumns];\nconst AllColumns: Column<QueryItem>[] = [\n NameColumns,\n TypeColumns,\n DurationColumns,\n AuthorColumns,\n StartedColumns,\n];\n\nconst tableSettings: Settings = {\n displayIndices: false,\n sortable: false,\n stickyHead: DataTable.MOVING,\n syncHeadOnResize: true,\n};\n\nexport function QueriesHistoryList() {\n const [items, isLoading] = useQueryHistoryList();\n\n const [filter] = useQuriesHistoryFilter();\n\n const timestamp = useSelector(getQueriesListTimestamp);\n\n const {first, last, goBack, goNext, goFirst} = useQueriesPagination();\n\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const [columns, setColumns] = useState<Column<QueryItem>[]>([]);\n\n const scrollElemRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!isLoading || !items?.length) {\n setColumns(filter.user === QueriesListAuthorFilter.My ? MyColumns : AllColumns);\n }\n }, [items, setColumns, filter.user, isLoading]);\n\n useEffect(() => {\n if (scrollElemRef?.current) {\n scrollElemRef.current.scrollTop = 0;\n }\n }, [scrollElemRef, timestamp]);\n\n const setClassName = useCallback(\n (item: QueryItem) => {\n return itemBlock({\n selected: item.id === selectedId,\n });\n },\n [selectedId],\n );\n\n return (\n <div className={b()}>\n <div className={b('list-wrapper')} ref={scrollElemRef}>\n <DataTableYT\n className={b('list')}\n loading={isLoading}\n columns={columns}\n data={items}\n useThemeYT={true}\n rowKey={(row) => row.id}\n onRowClick={goToQuery}\n disableRightGap={true}\n settings={tableSettings}\n rowClassName={setClassName}\n />\n <div className={b('pagination')}>\n {(!first || !last) && (\n <Pagination\n size=\"m\"\n first={{\n handler: goFirst,\n disabled: first,\n }}\n previous={{\n handler: goBack,\n disabled: first,\n }}\n next={{\n handler: goNext,\n disabled: last,\n }}\n last={{\n handler: noop,\n disabled: true,\n }}\n />\n )}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { QueryEngine } from '../../module/api';
2
+ export declare function QueryEngineFilter({ value, onChange, className, engines, }: {
3
+ engines?: QueryEngine[];
4
+ value?: QueryEngine;
5
+ className?: string;
6
+ onChange: (value?: QueryEngine) => void;
7
+ }): JSX.Element;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueryEngineFilter = QueryEngineFilter;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _react = require("react");
10
+ var _uikit = require("@gravity-ui/uikit");
11
+ var _api = require("../../module/api");
12
+ var _query = require("../../utils/query");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var ALL_ENGINE_KEY = '__all';
15
+ function QueryEngineFilter(_ref) {
16
+ var value = _ref.value,
17
+ onChange = _ref.onChange,
18
+ className = _ref.className,
19
+ _ref$engines = _ref.engines,
20
+ engines = _ref$engines === void 0 ? _api.Engines : _ref$engines;
21
+ var enginesList = (0, _react.useMemo)(function () {
22
+ return [{
23
+ value: ALL_ENGINE_KEY,
24
+ content: 'All'
25
+ }].concat((0, _toConsumableArray2["default"])(engines.map(function (engine) {
26
+ return {
27
+ value: engine,
28
+ content: _query.QueryEnginesNames[engine]
29
+ };
30
+ })));
31
+ }, [engines]);
32
+ var onChangeEngineFilter = (0, _react.useCallback)(function (engine) {
33
+ onChange(engine === ALL_ENGINE_KEY ? undefined : engine);
34
+ }, [onChange]);
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.RadioButton, {
36
+ className: className,
37
+ options: enginesList,
38
+ value: value || ALL_ENGINE_KEY,
39
+ onUpdate: onChangeEngineFilter
40
+ });
41
+ }
42
+ // #sourceMappingURL=QueryEngineFilter.js.map
43
+ // #sourceMappingURL=QueryEngineFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_uikit","_api","_query","_jsxRuntime","ALL_ENGINE_KEY","QueryEngineFilter","_ref","value","onChange","className","_ref$engines","engines","Engines","enginesList","useMemo","content","concat","_toConsumableArray","map","engine","QueryEnginesNames","onChangeEngineFilter","useCallback","undefined","_jsx","RadioButton","options","onUpdate"],"sources":["QueryEngineFilter.tsx"],"sourcesContent":["import React, {useCallback, useMemo} from 'react';\nimport {ControlGroupOption, RadioButton} from '@gravity-ui/uikit';\nimport {Engines, QueryEngine} from '../../module/api';\nimport {QueryEnginesNames} from '../../utils/query';\n\nconst ALL_ENGINE_KEY = '__all';\n\nexport function QueryEngineFilter({\n value,\n onChange,\n className,\n engines = Engines,\n}: {\n engines?: QueryEngine[];\n value?: QueryEngine;\n className?: string;\n onChange: (value?: QueryEngine) => void;\n}) {\n const enginesList = useMemo<ControlGroupOption[]>(() => {\n return [\n {\n value: ALL_ENGINE_KEY,\n content: 'All',\n },\n ...engines.map((engine) => {\n return {\n value: engine,\n content: QueryEnginesNames[engine],\n };\n }),\n ];\n }, [engines]);\n\n const onChangeEngineFilter = useCallback(\n (engine: string) => {\n onChange(engine === ALL_ENGINE_KEY ? undefined : (engine as QueryEngine));\n },\n [onChange],\n );\n return (\n <RadioButton\n className={className}\n options={enginesList}\n value={value || ALL_ENGINE_KEY}\n onUpdate={onChangeEngineFilter}\n />\n );\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAAoD,IAAAI,WAAA,GAAAJ,OAAA;AAEpD,IAAMK,cAAc,GAAG,OAAO;AAEvB,SAASC,iBAAiBA,CAAAC,IAAA,EAU9B;EAAA,IATCC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAAC,YAAA,GAAAJ,IAAA,CACTK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAGE,YAAO,GAAAF,YAAA;EAOjB,IAAMG,WAAW,GAAG,IAAAC,cAAO,EAAuB,YAAM;IACpD,QACI;MACIP,KAAK,EAAEH,cAAc;MACrBW,OAAO,EAAE;IACb,CAAC,EAAAC,MAAA,KAAAC,8BAAA,EACEN,OAAO,CAACO,GAAG,CAAC,UAACC,MAAM,EAAK;MACvB,OAAO;QACHZ,KAAK,EAAEY,MAAM;QACbJ,OAAO,EAAEK,wBAAiB,CAACD,MAAM;MACrC,CAAC;IACL,CAAC,CAAC;EAEV,CAAC,EAAE,CAACR,OAAO,CAAC,CAAC;EAEb,IAAMU,oBAAoB,GAAG,IAAAC,kBAAW,EACpC,UAACH,MAAc,EAAK;IAChBX,QAAQ,CAACW,MAAM,KAAKf,cAAc,GAAGmB,SAAS,GAAIJ,MAAsB,CAAC;EAC7E,CAAC,EACD,CAACX,QAAQ,CAAC,CACb;EACD,oBACI,IAAAgB,eAAA,EAACC,kBAAW;IACRhB,SAAS,EAAEA,SAAU;IACrBiB,OAAO,EAAEb,WAAY;IACrBN,KAAK,EAAEA,KAAK,IAAIH,cAAe;IAC/BuB,QAAQ,EAAEN;EAAqB,EACjC;AAEV"}
@@ -0,0 +1,7 @@
1
+ export type QueryTextFilterProps = {
2
+ value?: string;
3
+ placeholder: string;
4
+ onChange: (value?: string) => void;
5
+ delay?: number;
6
+ };
7
+ export declare function QueryTextFilter({ value, placeholder, onChange, delay }: QueryTextFilterProps): JSX.Element;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueryTextFilter = QueryTextFilter;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _uikit = require("@gravity-ui/uikit");
10
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
11
+ var _react = require("react");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function QueryTextFilter(_ref) {
14
+ var value = _ref.value,
15
+ placeholder = _ref.placeholder,
16
+ onChange = _ref.onChange,
17
+ _ref$delay = _ref.delay,
18
+ delay = _ref$delay === void 0 ? 200 : _ref$delay;
19
+ var _useState = (0, _react.useState)(value || ''),
20
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
21
+ pattern = _useState2[0],
22
+ setPattern = _useState2[1];
23
+ var debouncedChange = (0, _react.useMemo)(function () {
24
+ return (0, _debounce["default"])(function (value) {
25
+ onChange(value);
26
+ }, delay);
27
+ }, [onChange, delay]);
28
+ (0, _react.useEffect)(function () {
29
+ debouncedChange(pattern);
30
+ return function () {
31
+ debouncedChange.cancel();
32
+ };
33
+ }, [pattern, debouncedChange]);
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.TextInput, {
35
+ placeholder: placeholder,
36
+ value: pattern,
37
+ onBlur: function onBlur() {
38
+ return debouncedChange.flush();
39
+ },
40
+ onUpdate: setPattern
41
+ });
42
+ }
43
+ // #sourceMappingURL=QueryTextFilter.js.map
44
+ // #sourceMappingURL=QueryTextFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_uikit","require","_debounce","_interopRequireDefault","_react","_jsxRuntime","QueryTextFilter","_ref","value","placeholder","onChange","_ref$delay","delay","_useState","useState","_useState2","_slicedToArray","pattern","setPattern","debouncedChange","useMemo","debounce","useEffect","cancel","_jsx","TextInput","onBlur","flush","onUpdate"],"sources":["QueryTextFilter.tsx"],"sourcesContent":["import {TextInput} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport React, {useEffect, useMemo, useState} from 'react';\n\nexport type QueryTextFilterProps = {\n value?: string;\n placeholder: string;\n onChange: (value?: string) => void;\n delay?: number;\n};\n\nexport function QueryTextFilter({value, placeholder, onChange, delay = 200}: QueryTextFilterProps) {\n const [pattern, setPattern] = useState<string>(value || '');\n\n const debouncedChange = useMemo(() => {\n return debounce((value: string) => {\n onChange(value);\n }, delay);\n }, [onChange, delay]);\n\n useEffect(() => {\n debouncedChange(pattern);\n return () => {\n debouncedChange.cancel();\n };\n }, [pattern, debouncedChange]);\n\n return (\n <TextInput\n placeholder={placeholder}\n value={pattern}\n onBlur={() => debouncedChange.flush()}\n onUpdate={setPattern}\n />\n );\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA0D,IAAAI,WAAA,GAAAJ,OAAA;AASnD,SAASK,eAAeA,CAAAC,IAAA,EAAoE;EAAA,IAAlEC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAAC,UAAA,GAAAJ,IAAA,CAAEK,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,GAAG,GAAAA,UAAA;EACtE,IAAAE,SAAA,GAA8B,IAAAC,eAAQ,EAASN,KAAK,IAAI,EAAE,CAAC;IAAAO,UAAA,OAAAC,0BAAA,EAAAH,SAAA;IAApDI,OAAO,GAAAF,UAAA;IAAEG,UAAU,GAAAH,UAAA;EAE1B,IAAMI,eAAe,GAAG,IAAAC,cAAO,EAAC,YAAM;IAClC,OAAO,IAAAC,oBAAQ,EAAC,UAACb,KAAa,EAAK;MAC/BE,QAAQ,CAACF,KAAK,CAAC;IACnB,CAAC,EAAEI,KAAK,CAAC;EACb,CAAC,EAAE,CAACF,QAAQ,EAAEE,KAAK,CAAC,CAAC;EAErB,IAAAU,gBAAS,EAAC,YAAM;IACZH,eAAe,CAACF,OAAO,CAAC;IACxB,OAAO,YAAM;MACTE,eAAe,CAACI,MAAM,EAAE;IAC5B,CAAC;EACL,CAAC,EAAE,CAACN,OAAO,EAAEE,eAAe,CAAC,CAAC;EAE9B,oBACI,IAAAK,eAAA,EAACC,gBAAS;IACNhB,WAAW,EAAEA,WAAY;IACzBD,KAAK,EAAES,OAAQ;IACfS,MAAM,EAAE,SAAAA,OAAA;MAAA,OAAMP,eAAe,CAACQ,KAAK,EAAE;IAAA,CAAC;IACtCC,QAAQ,EAAEV;EAAW,EACvB;AAEV"}
@@ -0,0 +1,6 @@
1
+ import './index.scss';
2
+ type QueriesHistoryListFilterProps = {
3
+ className?: string;
4
+ };
5
+ export declare function QueriesHistoryListFilter({ className }: QueriesHistoryListFilterProps): JSX.Element;
6
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueriesHistoryListFilter = QueriesHistoryListFilter;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
11
+ var _uikit = require("@gravity-ui/uikit");
12
+ var _types = require("../../module/queries_list/types");
13
+ var _QueryEngineFilter = require("./QueryEngineFilter");
14
+ var _QueryTextFilter = require("./QueryTextFilter");
15
+ var _QueryListFilter = require("../../hooks/QueryListFilter");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var AuthorFilter = [{
18
+ value: _types.QueriesListAuthorFilter.My,
19
+ content: 'My'
20
+ }, {
21
+ value: _types.QueriesListAuthorFilter.All,
22
+ content: 'All'
23
+ }];
24
+ var b = (0, _bemCnLite["default"])('queries-history-filter');
25
+ function QueriesHistoryListFilter(_ref) {
26
+ var className = _ref.className;
27
+ var _useQuriesHistoryFilt = (0, _QueryListFilter.useQuriesHistoryFilter)(),
28
+ _useQuriesHistoryFilt2 = (0, _slicedToArray2["default"])(_useQuriesHistoryFilt, 3),
29
+ filter = _useQuriesHistoryFilt2[0],
30
+ filterViewMode = _useQuriesHistoryFilt2[1],
31
+ onChange = _useQuriesHistoryFilt2[2];
32
+ var onChangeAuthorFilter = (0, _react.useCallback)(function (user) {
33
+ onChange('user', user);
34
+ }, [onChange]);
35
+ var onChangeEngineFilter = (0, _react.useCallback)(function (engine) {
36
+ onChange('engine', engine);
37
+ }, [onChange]);
38
+ var onChangeTextFilter = (0, _react.useCallback)(function (text) {
39
+ onChange('filter', text || undefined);
40
+ }, [onChange]);
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
42
+ className: b(null, className),
43
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
44
+ className: b('row'),
45
+ children: [filterViewMode === _types.QueriesListMode.History && /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.RadioButton, {
46
+ className: b('row-item'),
47
+ options: AuthorFilter,
48
+ value: (filter === null || filter === void 0 ? void 0 : filter.user) || _types.QueriesListAuthorFilter.My,
49
+ onUpdate: onChangeAuthorFilter
50
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryEngineFilter.QueryEngineFilter, {
51
+ className: b('row-item'),
52
+ value: filter === null || filter === void 0 ? void 0 : filter.engine,
53
+ onChange: onChangeEngineFilter
54
+ })]
55
+ }), filterViewMode === _types.QueriesListMode.History && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
56
+ className: b('row'),
57
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryTextFilter.QueryTextFilter, {
58
+ placeholder: "Search in query name and body",
59
+ value: filter === null || filter === void 0 ? void 0 : filter.filter,
60
+ onChange: onChangeTextFilter
61
+ })
62
+ })]
63
+ });
64
+ }
65
+ // #sourceMappingURL=index.js.map
66
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_types","_QueryEngineFilter","_QueryTextFilter","_QueryListFilter","_jsxRuntime","AuthorFilter","value","QueriesListAuthorFilter","My","content","All","b","block","QueriesHistoryListFilter","_ref","className","_useQuriesHistoryFilt","useQuriesHistoryFilter","_useQuriesHistoryFilt2","_slicedToArray","filter","filterViewMode","onChange","onChangeAuthorFilter","useCallback","user","onChangeEngineFilter","engine","onChangeTextFilter","text","undefined","_jsxs","children","QueriesListMode","History","_jsx","RadioButton","options","onUpdate","QueryEngineFilter","QueryTextFilter","placeholder"],"sources":["index.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport block from 'bem-cn-lite';\nimport {ControlGroupOption, RadioButton} from '@gravity-ui/uikit';\nimport {QueriesListAuthorFilter, QueriesListMode} from '../../module/queries_list/types';\n\nimport './index.scss';\nimport {QueryEngineFilter} from './QueryEngineFilter';\nimport {QueryEngine} from '../../module/api';\nimport {QueryTextFilter} from './QueryTextFilter';\nimport {useQuriesHistoryFilter} from '../../hooks/QueryListFilter';\n\nconst AuthorFilter: ControlGroupOption[] = [\n {\n value: QueriesListAuthorFilter.My,\n content: 'My',\n },\n {\n value: QueriesListAuthorFilter.All,\n content: 'All',\n },\n];\n\nconst b = block('queries-history-filter');\n\ntype QueriesHistoryListFilterProps = {\n className?: string;\n};\nexport function QueriesHistoryListFilter({className}: QueriesHistoryListFilterProps) {\n const [filter, filterViewMode, onChange] = useQuriesHistoryFilter();\n\n const onChangeAuthorFilter = useCallback(\n (user: string) => {\n onChange('user', user as QueriesListAuthorFilter);\n },\n [onChange],\n );\n const onChangeEngineFilter = useCallback(\n (engine?: QueryEngine) => {\n onChange('engine', engine);\n },\n [onChange],\n );\n const onChangeTextFilter = useCallback(\n (text?: string) => {\n onChange('filter', text || undefined);\n },\n [onChange],\n );\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n {filterViewMode === QueriesListMode.History && (\n <RadioButton\n className={b('row-item')}\n options={AuthorFilter}\n value={filter?.user || QueriesListAuthorFilter.My}\n onUpdate={onChangeAuthorFilter}\n />\n )}\n <QueryEngineFilter\n className={b('row-item')}\n value={filter?.engine}\n onChange={onChangeEngineFilter}\n />\n </div>\n {filterViewMode === QueriesListMode.History && (\n <div className={b('row')}>\n <QueryTextFilter\n placeholder=\"Search in query name and body\"\n value={filter?.filter}\n onChange={onChangeTextFilter}\n />\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAGA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAAmE,IAAAQ,WAAA,GAAAR,OAAA;AAEnE,IAAMS,YAAkC,GAAG,CACvC;EACIC,KAAK,EAAEC,8BAAuB,CAACC,EAAE;EACjCC,OAAO,EAAE;AACb,CAAC,EACD;EACIH,KAAK,EAAEC,8BAAuB,CAACG,GAAG;EAClCD,OAAO,EAAE;AACb,CAAC,CACJ;AAED,IAAME,CAAC,GAAG,IAAAC,qBAAK,EAAC,wBAAwB,CAAC;AAKlC,SAASC,wBAAwBA,CAAAC,IAAA,EAA6C;EAAA,IAA3CC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAC/C,IAAAC,qBAAA,GAA2C,IAAAC,uCAAsB,GAAE;IAAAC,sBAAA,OAAAC,0BAAA,EAAAH,qBAAA;IAA5DI,MAAM,GAAAF,sBAAA;IAAEG,cAAc,GAAAH,sBAAA;IAAEI,QAAQ,GAAAJ,sBAAA;EAEvC,IAAMK,oBAAoB,GAAG,IAAAC,kBAAW,EACpC,UAACC,IAAY,EAAK;IACdH,QAAQ,CAAC,MAAM,EAAEG,IAAI,CAA4B;EACrD,CAAC,EACD,CAACH,QAAQ,CAAC,CACb;EACD,IAAMI,oBAAoB,GAAG,IAAAF,kBAAW,EACpC,UAACG,MAAoB,EAAK;IACtBL,QAAQ,CAAC,QAAQ,EAAEK,MAAM,CAAC;EAC9B,CAAC,EACD,CAACL,QAAQ,CAAC,CACb;EACD,IAAMM,kBAAkB,GAAG,IAAAJ,kBAAW,EAClC,UAACK,IAAa,EAAK;IACfP,QAAQ,CAAC,QAAQ,EAAEO,IAAI,IAAIC,SAAS,CAAC;EACzC,CAAC,EACD,CAACR,QAAQ,CAAC,CACb;EACD,oBACI,IAAAS,gBAAA;IAAKhB,SAAS,EAAEJ,CAAC,CAAC,IAAI,EAAEI,SAAS,CAAE;IAAAiB,QAAA,gBAC/B,IAAAD,gBAAA;MAAKhB,SAAS,EAAEJ,CAAC,CAAC,KAAK,CAAE;MAAAqB,QAAA,GACpBX,cAAc,KAAKY,sBAAe,CAACC,OAAO,iBACvC,IAAAC,eAAA,EAACC,kBAAW;QACRrB,SAAS,EAAEJ,CAAC,CAAC,UAAU,CAAE;QACzB0B,OAAO,EAAEhC,YAAa;QACtBC,KAAK,EAAE,CAAAc,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,IAAI,KAAIlB,8BAAuB,CAACC,EAAG;QAClD8B,QAAQ,EAAEf;MAAqB,EAEtC,eACD,IAAAY,eAAA,EAACI,oCAAiB;QACdxB,SAAS,EAAEJ,CAAC,CAAC,UAAU,CAAE;QACzBL,KAAK,EAAEc,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,MAAO;QACtBL,QAAQ,EAAEI;MAAqB,EACjC;IAAA,EACA,EACLL,cAAc,KAAKY,sBAAe,CAACC,OAAO,iBACvC,IAAAC,eAAA;MAAKpB,SAAS,EAAEJ,CAAC,CAAC,KAAK,CAAE;MAAAqB,QAAA,eACrB,IAAAG,eAAA,EAACK,gCAAe;QACZC,WAAW,EAAC,+BAA+B;QAC3CnC,KAAK,EAAEc,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEA,MAAO;QACtBE,QAAQ,EAAEM;MAAmB;IAC/B,EAET;EAAA,EACC;AAEd"}
@@ -0,0 +1,4 @@
1
+ import './index.scss';
2
+ export declare function QueriesTutorialList({ className }: {
3
+ className: string;
4
+ }): JSX.Element;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueriesTutorialList = QueriesTutorialList;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
11
+ var _uikit = require("@gravity-ui/uikit");
12
+ var _QueriesList = require("../../hooks/QueriesList");
13
+ var _Query = require("../../hooks/Query");
14
+ var _learn = _interopRequireDefault(require("../../../../../../img/svg/icons/learn.svg"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var itemCn = (0, _bemCnLite["default"])('query-tutorial-item');
17
+ var block = (0, _bemCnLite["default"])('queries-tutorial-list');
18
+ function renderItem(item) {
19
+ var _item$annotations, _item$annotations2;
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
21
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Icon, {
22
+ className: itemCn('icon'),
23
+ data: _learn["default"]
24
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Text, {
25
+ className: itemCn('text'),
26
+ ellipsis: true,
27
+ title: item === null || item === void 0 ? void 0 : (_item$annotations = item.annotations) === null || _item$annotations === void 0 ? void 0 : _item$annotations.title,
28
+ children: (item === null || item === void 0 ? void 0 : (_item$annotations2 = item.annotations) === null || _item$annotations2 === void 0 ? void 0 : _item$annotations2.title) || 'No name'
29
+ })]
30
+ });
31
+ }
32
+ function QueriesTutorialList(_ref) {
33
+ var className = _ref.className;
34
+ var _useQueryList = (0, _QueriesList.useQueryList)(),
35
+ _useQueryList2 = (0, _slicedToArray2["default"])(_useQueryList, 2),
36
+ items = _useQueryList2[0],
37
+ isLoading = _useQueryList2[1];
38
+ var _useQueryNavigation = (0, _Query.useQueryNavigation)(),
39
+ _useQueryNavigation2 = (0, _slicedToArray2["default"])(_useQueryNavigation, 2),
40
+ selectedId = _useQueryNavigation2[0],
41
+ goToQuery = _useQueryNavigation2[1];
42
+ var selectedIndex = (0, _react.useMemo)(function () {
43
+ return items.findIndex(function (query) {
44
+ return query.id === selectedId;
45
+ });
46
+ }, [selectedId, items]);
47
+ var tutorialFilter = (0, _react.useMemo)(function () {
48
+ return function (filter) {
49
+ return function (item) {
50
+ var _item$annotations3, _item$annotations3$ti;
51
+ return (item === null || item === void 0 ? void 0 : (_item$annotations3 = item.annotations) === null || _item$annotations3 === void 0 ? void 0 : (_item$annotations3$ti = _item$annotations3.title) === null || _item$annotations3$ti === void 0 ? void 0 : _item$annotations3$ti.toLocaleLowerCase().includes(filter.toLocaleLowerCase())) || false;
52
+ };
53
+ };
54
+ }, []);
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
56
+ className: block(null, className),
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.List, {
58
+ className: block('list', {
59
+ loading: isLoading
60
+ }),
61
+ filterable: true,
62
+ filterClassName: block('filter'),
63
+ filterPlaceholder: 'Filter by name',
64
+ filterItem: tutorialFilter,
65
+ virtualized: false,
66
+ selectedItemIndex: selectedIndex,
67
+ sortable: false,
68
+ itemHeight: 32,
69
+ itemClassName: itemCn(),
70
+ items: isLoading ? [] : items,
71
+ renderItem: renderItem,
72
+ onItemClick: goToQuery
73
+ }), isLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
74
+ className: block('loader'),
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Loader, {
76
+ size: "l"
77
+ })
78
+ })]
79
+ });
80
+ }
81
+ // #sourceMappingURL=index.js.map
82
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_QueriesList","_Query","_learn","_jsxRuntime","itemCn","cn","block","renderItem","item","_item$annotations","_item$annotations2","_jsxs","_Fragment","children","_jsx","Icon","className","data","tutorialIcon","Text","ellipsis","title","annotations","QueriesTutorialList","_ref","_useQueryList","useQueryList","_useQueryList2","_slicedToArray","items","isLoading","_useQueryNavigation","useQueryNavigation","_useQueryNavigation2","selectedId","goToQuery","selectedIndex","useMemo","findIndex","query","id","tutorialFilter","filter","_item$annotations3","_item$annotations3$ti","toLocaleLowerCase","includes","List","loading","filterable","filterClassName","filterPlaceholder","filterItem","virtualized","selectedItemIndex","sortable","itemHeight","itemClassName","onItemClick","Loader","size"],"sources":["index.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {Icon, Text, List, ListItemData, Loader} from '@gravity-ui/uikit';\nimport {QueryItem} from '../../module/api';\nimport {useQueryList} from '../../hooks/QueriesList';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport tutorialIcon from '../../../../../../img/svg/icons/learn.svg';\nimport './index.scss';\n\nconst itemCn = cn('query-tutorial-item');\nconst block = cn('queries-tutorial-list');\n\nfunction renderItem(item: QueryItem) {\n return (\n <>\n <Icon className={itemCn('icon')} data={tutorialIcon} />\n <Text className={itemCn('text')} ellipsis title={item?.annotations?.title}>\n {item?.annotations?.title || 'No name'}\n </Text>\n </>\n );\n}\n\nexport function QueriesTutorialList({className}: {className: string}) {\n const [items, isLoading] = useQueryList();\n\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const selectedIndex = useMemo(() => {\n return items.findIndex((query) => query.id === selectedId);\n }, [selectedId, items]);\n\n const tutorialFilter = useMemo(() => {\n return (filter: string) => {\n return (item: ListItemData<QueryItem>) => {\n return (\n item?.annotations?.title\n ?.toLocaleLowerCase()\n .includes(filter.toLocaleLowerCase()) || false\n );\n };\n };\n }, []);\n\n return (\n <div className={block(null, className)}>\n <List\n className={block('list', {loading: isLoading})}\n filterable={true}\n filterClassName={block('filter')}\n filterPlaceholder={'Filter by name'}\n filterItem={tutorialFilter}\n virtualized={false}\n selectedItemIndex={selectedIndex}\n sortable={false}\n itemHeight={32}\n itemClassName={itemCn()}\n items={isLoading ? [] : items}\n renderItem={renderItem}\n onItemClick={goToQuery}\n />\n {isLoading && (\n <div className={block('loader')}>\n <Loader size=\"l\" />\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}