@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,35 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import React, { useCallback, useMemo } from 'react';
3
+ import { RadioButton } from '@gravity-ui/uikit';
4
+ import { Engines } from '../../module/api';
5
+ import { QueryEnginesNames } from '../../utils/query';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ var ALL_ENGINE_KEY = '__all';
8
+ export function QueryEngineFilter(_ref) {
9
+ var value = _ref.value,
10
+ onChange = _ref.onChange,
11
+ className = _ref.className,
12
+ _ref$engines = _ref.engines,
13
+ engines = _ref$engines === void 0 ? Engines : _ref$engines;
14
+ var enginesList = useMemo(function () {
15
+ return [{
16
+ value: ALL_ENGINE_KEY,
17
+ content: 'All'
18
+ }].concat(_toConsumableArray(engines.map(function (engine) {
19
+ return {
20
+ value: engine,
21
+ content: QueryEnginesNames[engine]
22
+ };
23
+ })));
24
+ }, [engines]);
25
+ var onChangeEngineFilter = useCallback(function (engine) {
26
+ onChange(engine === ALL_ENGINE_KEY ? undefined : engine);
27
+ }, [onChange]);
28
+ return /*#__PURE__*/_jsx(RadioButton, {
29
+ className: className,
30
+ options: enginesList,
31
+ value: value || ALL_ENGINE_KEY,
32
+ onUpdate: onChangeEngineFilter
33
+ });
34
+ }
35
+ // #sourceMappingURL=QueryEngineFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","RadioButton","Engines","QueryEnginesNames","jsx","_jsx","ALL_ENGINE_KEY","QueryEngineFilter","_ref","value","onChange","className","_ref$engines","engines","enginesList","content","concat","_toConsumableArray","map","engine","onChangeEngineFilter","undefined","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,OAAOA,KAAK,IAAGC,WAAW,EAAEC,OAAO,QAAO,OAAO;AACjD,SAA4BC,WAAW,QAAO,mBAAmB;AACjE,SAAQC,OAAO,QAAoB,kBAAkB;AACrD,SAAQC,iBAAiB,QAAO,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpD,IAAMC,cAAc,GAAG,OAAO;AAE9B,OAAO,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,cAAGV,OAAO,GAAAU,YAAA;EAOjB,IAAME,WAAW,GAAGd,OAAO,CAAuB,YAAM;IACpD,QACI;MACIS,KAAK,EAAEH,cAAc;MACrBS,OAAO,EAAE;IACb,CAAC,EAAAC,MAAA,CAAAC,kBAAA,CACEJ,OAAO,CAACK,GAAG,CAAC,UAACC,MAAM,EAAK;MACvB,OAAO;QACHV,KAAK,EAAEU,MAAM;QACbJ,OAAO,EAAEZ,iBAAiB,CAACgB,MAAM;MACrC,CAAC;IACL,CAAC,CAAC;EAEV,CAAC,EAAE,CAACN,OAAO,CAAC,CAAC;EAEb,IAAMO,oBAAoB,GAAGrB,WAAW,CACpC,UAACoB,MAAc,EAAK;IAChBT,QAAQ,CAACS,MAAM,KAAKb,cAAc,GAAGe,SAAS,GAAIF,MAAsB,CAAC;EAC7E,CAAC,EACD,CAACT,QAAQ,CAAC,CACb;EACD,oBACIL,IAAA,CAACJ,WAAW;IACRU,SAAS,EAAEA,SAAU;IACrBW,OAAO,EAAER,WAAY;IACrBL,KAAK,EAAEA,KAAK,IAAIH,cAAe;IAC/BiB,QAAQ,EAAEH;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,36 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { TextInput } from '@gravity-ui/uikit';
3
+ import debounce from 'lodash/debounce';
4
+ import React, { useEffect, useMemo, useState } from 'react';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function QueryTextFilter(_ref) {
7
+ var value = _ref.value,
8
+ placeholder = _ref.placeholder,
9
+ onChange = _ref.onChange,
10
+ _ref$delay = _ref.delay,
11
+ delay = _ref$delay === void 0 ? 200 : _ref$delay;
12
+ var _useState = useState(value || ''),
13
+ _useState2 = _slicedToArray(_useState, 2),
14
+ pattern = _useState2[0],
15
+ setPattern = _useState2[1];
16
+ var debouncedChange = useMemo(function () {
17
+ return debounce(function (value) {
18
+ onChange(value);
19
+ }, delay);
20
+ }, [onChange, delay]);
21
+ useEffect(function () {
22
+ debouncedChange(pattern);
23
+ return function () {
24
+ debouncedChange.cancel();
25
+ };
26
+ }, [pattern, debouncedChange]);
27
+ return /*#__PURE__*/_jsx(TextInput, {
28
+ placeholder: placeholder,
29
+ value: pattern,
30
+ onBlur: function onBlur() {
31
+ return debouncedChange.flush();
32
+ },
33
+ onUpdate: setPattern
34
+ });
35
+ }
36
+ // #sourceMappingURL=QueryTextFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextInput","debounce","React","useEffect","useMemo","useState","jsx","_jsx","QueryTextFilter","_ref","value","placeholder","onChange","_ref$delay","delay","_useState","_useState2","_slicedToArray","pattern","setPattern","debouncedChange","cancel","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,SAAQA,SAAS,QAAO,mBAAmB;AAC3C,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,KAAK,IAAGC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAO,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS1D,OAAO,SAASC,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,GAA8BV,QAAQ,CAASK,KAAK,IAAI,EAAE,CAAC;IAAAM,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAApDG,OAAO,GAAAF,UAAA;IAAEG,UAAU,GAAAH,UAAA;EAE1B,IAAMI,eAAe,GAAGhB,OAAO,CAAC,YAAM;IAClC,OAAOH,QAAQ,CAAC,UAACS,KAAa,EAAK;MAC/BE,QAAQ,CAACF,KAAK,CAAC;IACnB,CAAC,EAAEI,KAAK,CAAC;EACb,CAAC,EAAE,CAACF,QAAQ,EAAEE,KAAK,CAAC,CAAC;EAErBX,SAAS,CAAC,YAAM;IACZiB,eAAe,CAACF,OAAO,CAAC;IACxB,OAAO,YAAM;MACTE,eAAe,CAACC,MAAM,EAAE;IAC5B,CAAC;EACL,CAAC,EAAE,CAACH,OAAO,EAAEE,eAAe,CAAC,CAAC;EAE9B,oBACIb,IAAA,CAACP,SAAS;IACNW,WAAW,EAAEA,WAAY;IACzBD,KAAK,EAAEQ,OAAQ;IACfI,MAAM,EAAE,SAAAA,OAAA;MAAA,OAAMF,eAAe,CAACG,KAAK,EAAE;IAAA,CAAC;IACtCC,QAAQ,EAAEL;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,60 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useCallback } from 'react';
3
+ import block from 'bem-cn-lite';
4
+ import { RadioButton } from '@gravity-ui/uikit';
5
+ import { QueriesListAuthorFilter, QueriesListMode } from '../../module/queries_list/types';
6
+ import './index.css';
7
+ import { QueryEngineFilter } from './QueryEngineFilter';
8
+ import { QueryTextFilter } from './QueryTextFilter';
9
+ import { useQuriesHistoryFilter } from '../../hooks/QueryListFilter';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var AuthorFilter = [{
13
+ value: QueriesListAuthorFilter.My,
14
+ content: 'My'
15
+ }, {
16
+ value: QueriesListAuthorFilter.All,
17
+ content: 'All'
18
+ }];
19
+ var b = block('queries-history-filter');
20
+ export function QueriesHistoryListFilter(_ref) {
21
+ var className = _ref.className;
22
+ var _useQuriesHistoryFilt = useQuriesHistoryFilter(),
23
+ _useQuriesHistoryFilt2 = _slicedToArray(_useQuriesHistoryFilt, 3),
24
+ filter = _useQuriesHistoryFilt2[0],
25
+ filterViewMode = _useQuriesHistoryFilt2[1],
26
+ onChange = _useQuriesHistoryFilt2[2];
27
+ var onChangeAuthorFilter = useCallback(function (user) {
28
+ onChange('user', user);
29
+ }, [onChange]);
30
+ var onChangeEngineFilter = useCallback(function (engine) {
31
+ onChange('engine', engine);
32
+ }, [onChange]);
33
+ var onChangeTextFilter = useCallback(function (text) {
34
+ onChange('filter', text || undefined);
35
+ }, [onChange]);
36
+ return /*#__PURE__*/_jsxs("div", {
37
+ className: b(null, className),
38
+ children: [/*#__PURE__*/_jsxs("div", {
39
+ className: b('row'),
40
+ children: [filterViewMode === QueriesListMode.History && /*#__PURE__*/_jsx(RadioButton, {
41
+ className: b('row-item'),
42
+ options: AuthorFilter,
43
+ value: (filter === null || filter === void 0 ? void 0 : filter.user) || QueriesListAuthorFilter.My,
44
+ onUpdate: onChangeAuthorFilter
45
+ }), /*#__PURE__*/_jsx(QueryEngineFilter, {
46
+ className: b('row-item'),
47
+ value: filter === null || filter === void 0 ? void 0 : filter.engine,
48
+ onChange: onChangeEngineFilter
49
+ })]
50
+ }), filterViewMode === QueriesListMode.History && /*#__PURE__*/_jsx("div", {
51
+ className: b('row'),
52
+ children: /*#__PURE__*/_jsx(QueryTextFilter, {
53
+ placeholder: "Search in query name and body",
54
+ value: filter === null || filter === void 0 ? void 0 : filter.filter,
55
+ onChange: onChangeTextFilter
56
+ })
57
+ })]
58
+ });
59
+ }
60
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","block","RadioButton","QueriesListAuthorFilter","QueriesListMode","QueryEngineFilter","QueryTextFilter","useQuriesHistoryFilter","jsx","_jsx","jsxs","_jsxs","AuthorFilter","value","My","content","All","b","QueriesHistoryListFilter","_ref","className","_useQuriesHistoryFilt","_useQuriesHistoryFilt2","_slicedToArray","filter","filterViewMode","onChange","onChangeAuthorFilter","user","onChangeEngineFilter","engine","onChangeTextFilter","text","undefined","children","History","options","onUpdate","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,OAAOA,KAAK,IAAGC,WAAW,QAAO,OAAO;AACxC,OAAOC,KAAK,MAAM,aAAa;AAC/B,SAA4BC,WAAW,QAAO,mBAAmB;AACjE,SAAQC,uBAAuB,EAAEC,eAAe,QAAO,iCAAiC;AAExF,OAAO,cAAc;AACrB,SAAQC,iBAAiB,QAAO,qBAAqB;AAErD,SAAQC,eAAe,QAAO,mBAAmB;AACjD,SAAQC,sBAAsB,QAAO,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnE,IAAMC,YAAkC,GAAG,CACvC;EACIC,KAAK,EAAEV,uBAAuB,CAACW,EAAE;EACjCC,OAAO,EAAE;AACb,CAAC,EACD;EACIF,KAAK,EAAEV,uBAAuB,CAACa,GAAG;EAClCD,OAAO,EAAE;AACb,CAAC,CACJ;AAED,IAAME,CAAC,GAAGhB,KAAK,CAAC,wBAAwB,CAAC;AAKzC,OAAO,SAASiB,wBAAwBA,CAAAC,IAAA,EAA6C;EAAA,IAA3CC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAC/C,IAAAC,qBAAA,GAA2Cd,sBAAsB,EAAE;IAAAe,sBAAA,GAAAC,cAAA,CAAAF,qBAAA;IAA5DG,MAAM,GAAAF,sBAAA;IAAEG,cAAc,GAAAH,sBAAA;IAAEI,QAAQ,GAAAJ,sBAAA;EAEvC,IAAMK,oBAAoB,GAAG3B,WAAW,CACpC,UAAC4B,IAAY,EAAK;IACdF,QAAQ,CAAC,MAAM,EAAEE,IAAI,CAA4B;EACrD,CAAC,EACD,CAACF,QAAQ,CAAC,CACb;EACD,IAAMG,oBAAoB,GAAG7B,WAAW,CACpC,UAAC8B,MAAoB,EAAK;IACtBJ,QAAQ,CAAC,QAAQ,EAAEI,MAAM,CAAC;EAC9B,CAAC,EACD,CAACJ,QAAQ,CAAC,CACb;EACD,IAAMK,kBAAkB,GAAG/B,WAAW,CAClC,UAACgC,IAAa,EAAK;IACfN,QAAQ,CAAC,QAAQ,EAAEM,IAAI,IAAIC,SAAS,CAAC;EACzC,CAAC,EACD,CAACP,QAAQ,CAAC,CACb;EACD,oBACIf,KAAA;IAAKS,SAAS,EAAEH,CAAC,CAAC,IAAI,EAAEG,SAAS,CAAE;IAAAc,QAAA,gBAC/BvB,KAAA;MAAKS,SAAS,EAAEH,CAAC,CAAC,KAAK,CAAE;MAAAiB,QAAA,GACpBT,cAAc,KAAKrB,eAAe,CAAC+B,OAAO,iBACvC1B,IAAA,CAACP,WAAW;QACRkB,SAAS,EAAEH,CAAC,CAAC,UAAU,CAAE;QACzBmB,OAAO,EAAExB,YAAa;QACtBC,KAAK,EAAE,CAAAW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,IAAI,KAAIzB,uBAAuB,CAACW,EAAG;QAClDuB,QAAQ,EAAEV;MAAqB,EAEtC,eACDlB,IAAA,CAACJ,iBAAiB;QACde,SAAS,EAAEH,CAAC,CAAC,UAAU,CAAE;QACzBJ,KAAK,EAAEW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEM,MAAO;QACtBJ,QAAQ,EAAEG;MAAqB,EACjC;IAAA,EACA,EACLJ,cAAc,KAAKrB,eAAe,CAAC+B,OAAO,iBACvC1B,IAAA;MAAKW,SAAS,EAAEH,CAAC,CAAC,KAAK,CAAE;MAAAiB,QAAA,eACrBzB,IAAA,CAACH,eAAe;QACZgC,WAAW,EAAC,+BAA+B;QAC3CzB,KAAK,EAAEW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEA,MAAO;QACtBE,QAAQ,EAAEK;MAAmB;IAC/B,EAET;EAAA,EACC;AAEd"}
@@ -0,0 +1,30 @@
1
+ .queries-tutorial-list {
2
+ display: flex;
3
+ flex-direction: column;
4
+ overflow: auto;
5
+ }
6
+ .queries-tutorial-list__list_loading {
7
+ flex: 0;
8
+ }
9
+ .queries-tutorial-list__loader {
10
+ display: flex;
11
+ justify-content: center;
12
+ margin-top: 20px;
13
+ }
14
+ .queries-tutorial-list__filter {
15
+ padding: 0 12px 8px;
16
+ position: sticky;
17
+ top: 0;
18
+ z-index: 1;
19
+ background: var(--main-background);
20
+ }
21
+
22
+ .query-tutorial-item {
23
+ padding: 0 12px;
24
+ cursor: pointer;
25
+ }
26
+ .query-tutorial-item__icon {
27
+ margin-right: 8px;
28
+ color: var(--yc-color-text-secondary);
29
+ }
30
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.scss","index.css"],"names":[],"mappings":"AAAA;EACI,aAAA;EACA,sBAAA;EACA,cAAA;ACCJ;ADEQ;EACI,OAAA;ACAZ;ADIK;EACG,aAAA;EACA,uBAAA;EACA,gBAAA;ACFR;ADKI;EACI,mBAAA;EAEA,gBAAA;EACA,MAAA;EACA,UAAA;EACA,kCAAA;ACJR;;ADQA;EACI,eAAA;EACA,eAAA;ACLJ;ADOI;EACI,iBAAA;EACA,qCAAA;ACLR","file":"index.css","sourcesContent":[".queries-tutorial-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n\n &__list {\n &_loading {\n flex: 0;\n }\n }\n\n &__loader {\n display: flex;\n justify-content: center;\n margin-top: 20px;\n }\n\n &__filter {\n padding: 0 12px 8px;\n\n position: sticky;\n top: 0;\n z-index: 1;\n background: var(--main-background);\n }\n}\n\n.query-tutorial-item {\n padding: 0 12px;\n cursor: pointer;\n\n &__icon {\n margin-right: 8px;\n color: var(--yc-color-text-secondary);\n }\n}\n",".queries-tutorial-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n.queries-tutorial-list__list_loading {\n flex: 0;\n}\n.queries-tutorial-list__loader {\n display: flex;\n justify-content: center;\n margin-top: 20px;\n}\n.queries-tutorial-list__filter {\n padding: 0 12px 8px;\n position: sticky;\n top: 0;\n z-index: 1;\n background: var(--main-background);\n}\n\n.query-tutorial-item {\n padding: 0 12px;\n cursor: pointer;\n}\n.query-tutorial-item__icon {\n margin-right: 8px;\n color: var(--yc-color-text-secondary);\n}\n\n/*# sourceMappingURL=index.css.map */"]}
@@ -0,0 +1,4 @@
1
+ import './index.scss';
2
+ export declare function QueriesTutorialList({ className }: {
3
+ className: string;
4
+ }): JSX.Element;
@@ -0,0 +1,77 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useMemo } from 'react';
3
+ import cn from 'bem-cn-lite';
4
+ import { Icon, Text, List, Loader } from '@gravity-ui/uikit';
5
+ import { useQueryList } from '../../hooks/QueriesList';
6
+ import { useQueryNavigation } from '../../hooks/Query';
7
+ import tutorialIcon from '../../../../../../img/svg/icons/learn.svg';
8
+ import './index.css';
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { Fragment as _Fragment } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var itemCn = cn('query-tutorial-item');
13
+ var block = cn('queries-tutorial-list');
14
+ function renderItem(item) {
15
+ var _item$annotations, _item$annotations2;
16
+ return /*#__PURE__*/_jsxs(_Fragment, {
17
+ children: [/*#__PURE__*/_jsx(Icon, {
18
+ className: itemCn('icon'),
19
+ data: tutorialIcon
20
+ }), /*#__PURE__*/_jsx(Text, {
21
+ className: itemCn('text'),
22
+ ellipsis: true,
23
+ title: item === null || item === void 0 ? void 0 : (_item$annotations = item.annotations) === null || _item$annotations === void 0 ? void 0 : _item$annotations.title,
24
+ children: (item === null || item === void 0 ? void 0 : (_item$annotations2 = item.annotations) === null || _item$annotations2 === void 0 ? void 0 : _item$annotations2.title) || 'No name'
25
+ })]
26
+ });
27
+ }
28
+ export function QueriesTutorialList(_ref) {
29
+ var className = _ref.className;
30
+ var _useQueryList = useQueryList(),
31
+ _useQueryList2 = _slicedToArray(_useQueryList, 2),
32
+ items = _useQueryList2[0],
33
+ isLoading = _useQueryList2[1];
34
+ var _useQueryNavigation = useQueryNavigation(),
35
+ _useQueryNavigation2 = _slicedToArray(_useQueryNavigation, 2),
36
+ selectedId = _useQueryNavigation2[0],
37
+ goToQuery = _useQueryNavigation2[1];
38
+ var selectedIndex = useMemo(function () {
39
+ return items.findIndex(function (query) {
40
+ return query.id === selectedId;
41
+ });
42
+ }, [selectedId, items]);
43
+ var tutorialFilter = useMemo(function () {
44
+ return function (filter) {
45
+ return function (item) {
46
+ var _item$annotations3, _item$annotations3$ti;
47
+ 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;
48
+ };
49
+ };
50
+ }, []);
51
+ return /*#__PURE__*/_jsxs("div", {
52
+ className: block(null, className),
53
+ children: [/*#__PURE__*/_jsx(List, {
54
+ className: block('list', {
55
+ loading: isLoading
56
+ }),
57
+ filterable: true,
58
+ filterClassName: block('filter'),
59
+ filterPlaceholder: 'Filter by name',
60
+ filterItem: tutorialFilter,
61
+ virtualized: false,
62
+ selectedItemIndex: selectedIndex,
63
+ sortable: false,
64
+ itemHeight: 32,
65
+ itemClassName: itemCn(),
66
+ items: isLoading ? [] : items,
67
+ renderItem: renderItem,
68
+ onItemClick: goToQuery
69
+ }), isLoading && /*#__PURE__*/_jsx("div", {
70
+ className: block('loader'),
71
+ children: /*#__PURE__*/_jsx(Loader, {
72
+ size: "l"
73
+ })
74
+ })]
75
+ });
76
+ }
77
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","cn","Icon","Text","List","Loader","useQueryList","useQueryNavigation","tutorialIcon","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","itemCn","block","renderItem","item","_item$annotations","_item$annotations2","children","className","data","ellipsis","title","annotations","QueriesTutorialList","_ref","_useQueryList","_useQueryList2","_slicedToArray","items","isLoading","_useQueryNavigation","_useQueryNavigation2","selectedId","goToQuery","selectedIndex","findIndex","query","id","tutorialFilter","filter","_item$annotations3","_item$annotations3$ti","toLocaleLowerCase","includes","loading","filterable","filterClassName","filterPlaceholder","filterItem","virtualized","selectedItemIndex","sortable","itemHeight","itemClassName","onItemClick","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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"}
@@ -0,0 +1,36 @@
1
+ .queries-tutorial-list {
2
+ display: flex;
3
+ flex-direction: column;
4
+ overflow: auto;
5
+
6
+ &__list {
7
+ &_loading {
8
+ flex: 0;
9
+ }
10
+ }
11
+
12
+ &__loader {
13
+ display: flex;
14
+ justify-content: center;
15
+ margin-top: 20px;
16
+ }
17
+
18
+ &__filter {
19
+ padding: 0 12px 8px;
20
+
21
+ position: sticky;
22
+ top: 0;
23
+ z-index: 1;
24
+ background: var(--main-background);
25
+ }
26
+ }
27
+
28
+ .query-tutorial-item {
29
+ padding: 0 12px;
30
+ cursor: pointer;
31
+
32
+ &__icon {
33
+ margin-right: 8px;
34
+ color: var(--yc-color-text-secondary);
35
+ }
36
+ }
@@ -4,10 +4,20 @@
4
4
  display: flex;
5
5
  flex-direction: column;
6
6
  }
7
+ .queires-list__tabs {
8
+ padding: 0 12px;
9
+ }
7
10
  .queires-list__content {
8
11
  flex: 1;
9
12
  display: flex;
10
13
  flex-direction: column;
11
14
  overflow: auto;
12
15
  }
16
+ .queires-list__filter {
17
+ padding: 12px 12px 0;
18
+ margin-bottom: 8px;
19
+ }
20
+ .queires-list__list-content {
21
+ flex: 1;
22
+ }
13
23
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["index.scss","index.css"],"names":[],"mappings":"AAAA;EACI,OAAA;EAEA,eAAA;EAEA,aAAA;EACA,sBAAA;ACDJ;ADGI;EACI,OAAA;EACA,aAAA;EACA,sBAAA;EACA,cAAA;ACDR","file":"index.css","sourcesContent":[".queires-list {\n flex: 1;\n\n max-width: 100%;\n\n display: flex;\n flex-direction: column;\n\n &__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\n }\n}\n",".queires-list {\n flex: 1;\n max-width: 100%;\n display: flex;\n flex-direction: column;\n}\n.queires-list__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n/*# sourceMappingURL=index.css.map */"]}
1
+ {"version":3,"sources":["index.scss","index.css"],"names":[],"mappings":"AAAA;EACI,OAAA;EAEA,eAAA;EAEA,aAAA;EACA,sBAAA;ACDJ;ADGI;EACI,eAAA;ACDR;ADII;EACI,OAAA;EACA,aAAA;EACA,sBAAA;EACA,cAAA;ACFR;ADKI;EACI,oBAAA;EACA,kBAAA;ACHR;ADMI;EACI,OAAA;ACJR","file":"index.css","sourcesContent":[".queires-list {\n flex: 1;\n\n max-width: 100%;\n\n display: flex;\n flex-direction: column;\n\n &__tabs {\n padding: 0 12px;\n }\n\n &__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\n }\n\n &__filter {\n padding: 12px 12px 0;\n margin-bottom: 8px;\n }\n\n &__list-content {\n flex: 1;\n }\n}\n",".queires-list {\n flex: 1;\n max-width: 100%;\n display: flex;\n flex-direction: column;\n}\n.queires-list__tabs {\n padding: 0 12px;\n}\n.queires-list__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n.queires-list__filter {\n padding: 12px 12px 0;\n margin-bottom: 8px;\n}\n.queires-list__list-content {\n flex: 1;\n}\n\n/*# sourceMappingURL=index.css.map */"]}
@@ -1,17 +1,63 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ var _TabNames;
1
4
  // import {Tabs} from '@gravity-ui/uikit';
2
- import React from 'react';
5
+ import React, { useCallback, useEffect, useMemo } from 'react';
3
6
  import block from 'bem-cn-lite';
4
- import { QueriesHistoryList } from '../QueriesHistoryList';
7
+ import { Tabs } from '@gravity-ui/uikit';
8
+ import { QueriesHistoryList } from './QueriesHistoryList';
9
+ import { getQueriesListMode } from '../module/queries_list/selectors';
10
+ import { useSelector, useDispatch } from 'react-redux';
11
+ import { QueriesListMode, QueriesListModes } from '../module/queries_list/types';
12
+ import { applyListMode, requestQueriesList } from '../module/queries_list/actions';
5
13
  import './index.css';
14
+ import { QueriesTutorialList } from './QueriesTutorialList';
15
+ import { QueriesHistoryListFilter } from './QueriesListFilter';
6
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
18
  var b = block('queires-list');
19
+ var TabNames = (_TabNames = {}, _defineProperty(_TabNames, QueriesListMode.History, 'History'), _defineProperty(_TabNames, QueriesListMode.Tutorials, 'Tutorials'), _TabNames);
20
+ var useQueryTabs = function useQueryTabs() {
21
+ var dispatch = useDispatch();
22
+ var selectedTab = useSelector(getQueriesListMode);
23
+ var setTab = useCallback(function (tab) {
24
+ dispatch(applyListMode(tab));
25
+ }, [dispatch]);
26
+ var tabOptions = useMemo(function () {
27
+ return QueriesListModes.map(function (tab) {
28
+ return {
29
+ id: tab,
30
+ title: TabNames[tab]
31
+ };
32
+ });
33
+ }, []);
34
+ return [tabOptions, (selectedTab || QueriesListMode.History).toString(), setTab];
35
+ };
8
36
  export function QueriesList() {
9
- return /*#__PURE__*/_jsx("div", {
37
+ var _useQueryTabs = useQueryTabs(),
38
+ _useQueryTabs2 = _slicedToArray(_useQueryTabs, 3),
39
+ tabs = _useQueryTabs2[0],
40
+ tab = _useQueryTabs2[1],
41
+ setTab = _useQueryTabs2[2];
42
+ var dispatch = useDispatch();
43
+ useEffect(function () {
44
+ dispatch(requestQueriesList());
45
+ }, []);
46
+ return /*#__PURE__*/_jsxs("div", {
10
47
  className: b(),
11
- children: /*#__PURE__*/_jsx("div", {
48
+ children: [/*#__PURE__*/_jsx(Tabs, {
49
+ className: b('tabs'),
50
+ items: tabs,
51
+ activeTab: tab,
52
+ onSelectTab: setTab
53
+ }), /*#__PURE__*/_jsxs("div", {
12
54
  className: b('content'),
13
- children: /*#__PURE__*/_jsx(QueriesHistoryList, {})
14
- })
55
+ children: [/*#__PURE__*/_jsx(QueriesHistoryListFilter, {
56
+ className: b('filter')
57
+ }), tab === QueriesListMode.History && /*#__PURE__*/_jsx(QueriesHistoryList, {}), tab === QueriesListMode.Tutorials && /*#__PURE__*/_jsx(QueriesTutorialList, {
58
+ className: b('list-content')
59
+ })]
60
+ })]
15
61
  });
16
62
  }
17
63
  // #sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","block","QueriesHistoryList","jsx","_jsx","b","QueriesList","className","children"],"sources":["index.tsx"],"sourcesContent":["// import {Tabs} from '@gravity-ui/uikit';\nimport React from 'react';\nimport block from 'bem-cn-lite';\nimport {QueriesHistoryList} from '../QueriesHistoryList';\n\nimport './index.scss';\n\nconst b = block('queires-list');\n\nexport function QueriesList() {\n return (\n <div className={b()}>\n <div className={b('content')}>\n <QueriesHistoryList />\n </div>\n </div>\n );\n}\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,aAAa;AAC/B,SAAQC,kBAAkB,QAAO,uBAAuB;AAExD,OAAO,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtB,IAAMC,CAAC,GAAGJ,KAAK,CAAC,cAAc,CAAC;AAE/B,OAAO,SAASK,WAAWA,CAAA,EAAG;EAC1B,oBACIF,IAAA;IAAKG,SAAS,EAAEF,CAAC,EAAG;IAAAG,QAAA,eAChBJ,IAAA;MAAKG,SAAS,EAAEF,CAAC,CAAC,SAAS,CAAE;MAAAG,QAAA,eACzBJ,IAAA,CAACF,kBAAkB;IAAG;EACpB,EACJ;AAEd"}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","block","Tabs","QueriesHistoryList","getQueriesListMode","useSelector","useDispatch","QueriesListMode","QueriesListModes","applyListMode","requestQueriesList","QueriesTutorialList","QueriesHistoryListFilter","jsx","_jsx","jsxs","_jsxs","b","TabNames","_TabNames","_defineProperty","History","Tutorials","useQueryTabs","dispatch","selectedTab","setTab","tab","tabOptions","map","id","title","toString","QueriesList","_useQueryTabs","_useQueryTabs2","_slicedToArray","tabs","className","children","items","activeTab","onSelectTab"],"sources":["index.tsx"],"sourcesContent":["// import {Tabs} from '@gravity-ui/uikit';\nimport React, {useCallback, useEffect, useMemo} from 'react';\nimport block from 'bem-cn-lite';\nimport {Tabs, TabsItemProps} from '@gravity-ui/uikit';\nimport {QueriesHistoryList} from './QueriesHistoryList';\n\nimport {getQueriesListMode} from '../module/queries_list/selectors';\nimport {useSelector, useDispatch} from 'react-redux';\nimport {QueriesListMode, QueriesListModes} from '../module/queries_list/types';\nimport {applyListMode, requestQueriesList} from '../module/queries_list/actions';\n\nimport './index.scss';\nimport {QueriesTutorialList} from './QueriesTutorialList';\nimport {QueriesHistoryListFilter} from './QueriesListFilter';\n\nconst b = block('queires-list');\n\nconst TabNames = {\n [QueriesListMode.History]: 'History',\n [QueriesListMode.Tutorials]: 'Tutorials',\n};\n\nconst useQueryTabs = (): [TabsItemProps[], string, (tab: string) => void] => {\n const dispatch = useDispatch();\n const selectedTab = useSelector(getQueriesListMode);\n const setTab = useCallback(\n (tab: string) => {\n dispatch(applyListMode(tab as QueriesListMode));\n },\n [dispatch],\n );\n\n const tabOptions = useMemo<TabsItemProps[]>(() => {\n return QueriesListModes.map((tab) => {\n return {\n id: tab as unknown as string,\n title: TabNames[tab],\n };\n });\n }, []);\n return [tabOptions, (selectedTab || QueriesListMode.History).toString(), setTab];\n};\n\nexport function QueriesList() {\n const [tabs, tab, setTab] = useQueryTabs();\n\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(requestQueriesList());\n }, []);\n\n return (\n <div className={b()}>\n <Tabs className={b('tabs')} items={tabs} activeTab={tab} onSelectTab={setTab} />\n <div className={b('content')}>\n <QueriesHistoryListFilter className={b('filter')} />\n\n {tab === QueriesListMode.History && <QueriesHistoryList />}\n {tab === QueriesListMode.Tutorials && (\n <QueriesTutorialList className={b('list-content')} />\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -6,10 +6,23 @@
6
6
  display: flex;
7
7
  flex-direction: column;
8
8
 
9
+ &__tabs {
10
+ padding: 0 12px;
11
+ }
12
+
9
13
  &__content {
10
14
  flex: 1;
11
15
  display: flex;
12
16
  flex-direction: column;
13
17
  overflow: auto;
14
18
  }
19
+
20
+ &__filter {
21
+ padding: 12px 12px 0;
22
+ margin-bottom: 8px;
23
+ }
24
+
25
+ &__list-content {
26
+ flex: 1;
27
+ }
15
28
  }
@@ -0,0 +1,10 @@
1
+ import { QueryItem } from '../../module/api';
2
+ export declare function useQueryList(): [QueryItem[], boolean];
3
+ export declare const useQueriesPagination: () => {
4
+ first: boolean;
5
+ last: boolean;
6
+ currentCursorTime: string | undefined;
7
+ goNext: () => void;
8
+ goBack: () => void;
9
+ goFirst: () => void;
10
+ };
@@ -0,0 +1,33 @@
1
+ import { useCallback } from 'react';
2
+ import { useDispatch, useSelector } from 'react-redux';
3
+ import { QueriesHistoryCursorDirection } from '../../module/api';
4
+ import { isQueriesListLoading, getQueriesList, getQueriesListCursor, hasQueriesListMore } from '../../module/queries_list/selectors';
5
+ import { loadNextQueriesList, resetCursor } from '../../module/queries_list/actions';
6
+ export function useQueryList() {
7
+ var items = useSelector(getQueriesList);
8
+ var isLoading = useSelector(isQueriesListLoading);
9
+ return [items, isLoading];
10
+ }
11
+ export var useQueriesPagination = function useQueriesPagination() {
12
+ var dispatch = useDispatch();
13
+ var cursor = useSelector(getQueriesListCursor);
14
+ var hasNext = useSelector(hasQueriesListMore);
15
+ var goNext = useCallback(function () {
16
+ dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));
17
+ }, [dispatch]);
18
+ var goBack = useCallback(function () {
19
+ dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));
20
+ }, [dispatch]);
21
+ var reset = useCallback(function () {
22
+ dispatch(resetCursor());
23
+ }, [dispatch]);
24
+ return {
25
+ first: !(cursor !== null && cursor !== void 0 && cursor.cursorTime),
26
+ last: !hasNext,
27
+ currentCursorTime: cursor === null || cursor === void 0 ? void 0 : cursor.cursorTime,
28
+ goNext: goNext,
29
+ goBack: goBack,
30
+ goFirst: reset
31
+ };
32
+ };
33
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useDispatch","useSelector","QueriesHistoryCursorDirection","isQueriesListLoading","getQueriesList","getQueriesListCursor","hasQueriesListMore","loadNextQueriesList","resetCursor","useQueryList","items","isLoading","useQueriesPagination","dispatch","cursor","hasNext","goNext","PAST","goBack","FUTURE","reset","first","cursorTime","last","currentCursorTime","goFirst"],"sources":["index.ts"],"sourcesContent":["import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesHistoryCursorDirection, QueryItem} from '../../module/api';\nimport {\n isQueriesListLoading,\n getQueriesList,\n getQueriesListCursor,\n hasQueriesListMore,\n} from '../../module/queries_list/selectors';\nimport {loadNextQueriesList, resetCursor} from '../../module/queries_list/actions';\n\nexport function useQueryList(): [QueryItem[], boolean] {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n return [items, isLoading];\n}\n\nexport const useQueriesPagination = () => {\n const dispatch = useDispatch();\n const cursor = useSelector(getQueriesListCursor);\n const hasNext = useSelector(hasQueriesListMore);\n\n const goNext = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n }, [dispatch]);\n\n const goBack = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));\n }, [dispatch]);\n\n const reset = useCallback(() => {\n dispatch(resetCursor());\n }, [dispatch]);\n\n return {\n first: !cursor?.cursorTime,\n last: !hasNext,\n currentCursorTime: cursor?.cursorTime,\n goNext,\n goBack,\n goFirst: reset,\n };\n};\n"],"mappings":"AAAA,SAAQA,WAAW,QAAO,OAAO;AACjC,SAAQC,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,SAAQC,6BAA6B,QAAkB,kBAAkB;AACzE,SACIC,oBAAoB,EACpBC,cAAc,EACdC,oBAAoB,EACpBC,kBAAkB,QACf,qCAAqC;AAC5C,SAAQC,mBAAmB,EAAEC,WAAW,QAAO,mCAAmC;AAElF,OAAO,SAASC,YAAYA,CAAA,EAA2B;EACnD,IAAMC,KAAK,GAAGT,WAAW,CAACG,cAAc,CAAC;EACzC,IAAMO,SAAS,GAAGV,WAAW,CAACE,oBAAoB,CAAC;EAEnD,OAAO,CAACO,KAAK,EAAEC,SAAS,CAAC;AAC7B;AAEA,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EACtC,IAAMC,QAAQ,GAAGb,WAAW,EAAE;EAC9B,IAAMc,MAAM,GAAGb,WAAW,CAACI,oBAAoB,CAAC;EAChD,IAAMU,OAAO,GAAGd,WAAW,CAACK,kBAAkB,CAAC;EAE/C,IAAMU,MAAM,GAAGjB,WAAW,CAAC,YAAM;IAC7Bc,QAAQ,CAACN,mBAAmB,CAACL,6BAA6B,CAACe,IAAI,CAAC,CAAC;EACrE,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,IAAMK,MAAM,GAAGnB,WAAW,CAAC,YAAM;IAC7Bc,QAAQ,CAACN,mBAAmB,CAACL,6BAA6B,CAACiB,MAAM,CAAC,CAAC;EACvE,CAAC,EAAE,CAACN,QAAQ,CAAC,CAAC;EAEd,IAAMO,KAAK,GAAGrB,WAAW,CAAC,YAAM;IAC5Bc,QAAQ,CAACL,WAAW,EAAE,CAAC;EAC3B,CAAC,EAAE,CAACK,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHQ,KAAK,EAAE,EAACP,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEQ,UAAU;IAC1BC,IAAI,EAAE,CAACR,OAAO;IACdS,iBAAiB,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEQ,UAAU;IACrCN,MAAM,EAANA,MAAM;IACNE,MAAM,EAANA,MAAM;IACNO,OAAO,EAAEL;EACb,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { QueryItem } from '../../module/api';
2
+ export declare const useQueryNavigation: () => [string | undefined, (id: QueryItem) => void];
@@ -0,0 +1,16 @@
1
+ import { useCallback } from 'react';
2
+ import { useSelector } from 'react-redux';
3
+ import { useHistory } from 'react-router';
4
+ import { createQueryUrl } from '../../utils/navigation';
5
+ import { getCluster } from '../../../../store/selectors/global';
6
+ import { getQuery } from '../../module/query/selectors';
7
+ export var useQueryNavigation = function useQueryNavigation() {
8
+ var selectedItem = useSelector(getQuery);
9
+ var cluster = useSelector(getCluster);
10
+ var history = useHistory();
11
+ var goToQuery = useCallback(function (item) {
12
+ history.push(createQueryUrl(cluster, item.id));
13
+ }, [history]);
14
+ return [selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id, goToQuery];
15
+ };
16
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useSelector","useHistory","createQueryUrl","getCluster","getQuery","useQueryNavigation","selectedItem","cluster","history","goToQuery","item","push","id"],"sources":["index.ts"],"sourcesContent":["import {useCallback} from 'react';\nimport {useSelector} from 'react-redux';\nimport {useHistory} from 'react-router';\nimport {createQueryUrl} from '../../utils/navigation';\nimport {QueryItem} from '../../module/api';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getQuery} from '../../module/query/selectors';\n\nexport const useQueryNavigation = (): [QueryItem['id'] | undefined, (id: QueryItem) => void] => {\n const selectedItem = useSelector(getQuery);\n const cluster = useSelector(getCluster);\n const history = useHistory();\n\n const goToQuery = useCallback(\n (item: QueryItem) => {\n history.push(createQueryUrl(cluster, item.id));\n },\n [history],\n );\n\n return [selectedItem?.id, goToQuery];\n};\n"],"mappings":"AAAA,SAAQA,WAAW,QAAO,OAAO;AACjC,SAAQC,WAAW,QAAO,aAAa;AACvC,SAAQC,UAAU,QAAO,cAAc;AACvC,SAAQC,cAAc,QAAO,wBAAwB;AAErD,SAAQC,UAAU,QAAO,oCAAoC;AAC7D,SAAQC,QAAQ,QAAO,8BAA8B;AAErD,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA,EAAiE;EAC5F,IAAMC,YAAY,GAAGN,WAAW,CAACI,QAAQ,CAAC;EAC1C,IAAMG,OAAO,GAAGP,WAAW,CAACG,UAAU,CAAC;EACvC,IAAMK,OAAO,GAAGP,UAAU,EAAE;EAE5B,IAAMQ,SAAS,GAAGV,WAAW,CACzB,UAACW,IAAe,EAAK;IACjBF,OAAO,CAACG,IAAI,CAACT,cAAc,CAACK,OAAO,EAAEG,IAAI,CAACE,EAAE,CAAC,CAAC;EAClD,CAAC,EACD,CAACJ,OAAO,CAAC,CACZ;EAED,OAAO,CAACF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEM,EAAE,EAAEH,SAAS,CAAC;AACxC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { QueriesListState } from '../..//module/queries_list/reducer';
2
- export declare const useQuriesHistoryFilter: () => [import("../../module/queries_list/types").QueriesHistoryFilter, <K extends keyof import("../../module/queries_list/types").QueriesHistoryFilter>(filter: K, value: import("../../module/queries_list/types").QueriesHistoryFilter[K]) => void];
1
+ import { QueriesListFilter, QueriesListMode } from '../../module/queries_list/types';
2
+ export declare const useQuriesHistoryFilter: () => [QueriesListFilter, QueriesListMode, <K extends keyof QueriesListFilter>(filter: K, value: QueriesListFilter[K]) => void];
@@ -2,13 +2,14 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { useSelector, useDispatch } from 'react-redux';
3
3
  import { useCallback } from 'react';
4
4
  import { applyFilter } from '../../module/queries_list/actions';
5
- import { getQueriesHistoryFilter } from '../..//module/queries_list/selectors';
5
+ import { getQueriesListFilter, getQueriesListMode } from '../../module/queries_list/selectors';
6
6
  export var useQuriesHistoryFilter = function useQuriesHistoryFilter() {
7
- var filter = useSelector(getQueriesHistoryFilter);
7
+ var filter = useSelector(getQueriesListFilter);
8
+ var filterPreset = useSelector(getQueriesListMode);
8
9
  var dispatch = useDispatch();
9
10
  var setFilter = useCallback(function setFilter(name, value) {
10
11
  dispatch(applyFilter(_defineProperty({}, name, value)));
11
12
  }, [dispatch]);
12
- return [filter, setFilter];
13
+ return [filter, filterPreset, setFilter];
13
14
  };
14
15
  // #sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelector","useDispatch","useCallback","applyFilter","getQueriesHistoryFilter","useQuriesHistoryFilter","filter","dispatch","setFilter","name","value","_defineProperty"],"sources":["index.ts"],"sourcesContent":["import {useSelector, useDispatch} from 'react-redux';\nimport {useCallback} from 'react';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {QueriesListState} from '../..//module/queries_list/reducer';\nimport {getQueriesHistoryFilter} from '../..//module/queries_list/selectors';\n\nexport const useQuriesHistoryFilter = (): [\n QueriesListState['filter'],\n <K extends keyof QueriesListState['filter']>(\n filter: K,\n value: QueriesListState['filter'][K],\n ) => void,\n] => {\n const filter = useSelector(getQueriesHistoryFilter);\n const dispatch = useDispatch();\n const setFilter = useCallback(\n function setFilter<K extends keyof QueriesListState['filter']>(\n name: K,\n value: QueriesListState['filter'][K],\n ) {\n dispatch(\n applyFilter({\n [name]: value,\n }),\n );\n },\n [dispatch],\n );\n return [filter, setFilter];\n};\n"],"mappings":";AAAA,SAAQA,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,SAAQC,WAAW,QAAO,OAAO;AACjC,SAAQC,WAAW,QAAO,mCAAmC;AAE7D,SAAQC,uBAAuB,QAAO,sCAAsC;AAE5E,OAAO,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAM9B;EACD,IAAMC,MAAM,GAAGN,WAAW,CAACI,uBAAuB,CAAC;EACnD,IAAMG,QAAQ,GAAGN,WAAW,EAAE;EAC9B,IAAMO,SAAS,GAAGN,WAAW,CACzB,SAASM,SAASA,CACdC,IAAO,EACPC,KAAoC,EACtC;IACEH,QAAQ,CACJJ,WAAW,CAAAQ,eAAA,KACNF,IAAI,EAAGC,KAAK,EACf,CACL;EACL,CAAC,EACD,CAACH,QAAQ,CAAC,CACb;EACD,OAAO,CAACD,MAAM,EAAEE,SAAS,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"names":["useSelector","useDispatch","useCallback","applyFilter","getQueriesListFilter","getQueriesListMode","useQuriesHistoryFilter","filter","filterPreset","dispatch","setFilter","name","value","_defineProperty"],"sources":["index.ts"],"sourcesContent":["import {useSelector, useDispatch} from 'react-redux';\nimport {useCallback} from 'react';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {getQueriesListFilter, getQueriesListMode} from '../../module/queries_list/selectors';\nimport {QueriesListFilter, QueriesListMode} from '../../module/queries_list/types';\n\nexport const useQuriesHistoryFilter = (): [\n QueriesListFilter,\n QueriesListMode,\n <K extends keyof QueriesListFilter>(filter: K, value: QueriesListFilter[K]) => void,\n] => {\n const filter = useSelector(getQueriesListFilter);\n const filterPreset = useSelector(getQueriesListMode);\n const dispatch = useDispatch();\n const setFilter = useCallback(\n function setFilter<K extends keyof QueriesListFilter>(\n name: K,\n value: QueriesListFilter[K],\n ) {\n dispatch(\n applyFilter({\n [name]: value,\n }),\n );\n },\n [dispatch],\n );\n return [filter, filterPreset, setFilter];\n};\n"],"mappings":";AAAA,SAAQA,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,SAAQC,WAAW,QAAO,OAAO;AACjC,SAAQC,WAAW,QAAO,mCAAmC;AAC7D,SAAQC,oBAAoB,EAAEC,kBAAkB,QAAO,qCAAqC;AAG5F,OAAO,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAI9B;EACD,IAAMC,MAAM,GAAGP,WAAW,CAACI,oBAAoB,CAAC;EAChD,IAAMI,YAAY,GAAGR,WAAW,CAACK,kBAAkB,CAAC;EACpD,IAAMI,QAAQ,GAAGR,WAAW,EAAE;EAC9B,IAAMS,SAAS,GAAGR,WAAW,CACzB,SAASQ,SAASA,CACdC,IAAO,EACPC,KAA2B,EAC7B;IACEH,QAAQ,CACJN,WAAW,CAAAU,eAAA,KACNF,IAAI,EAAGC,KAAK,EACf,CACL;EACL,CAAC,EACD,CAACH,QAAQ,CAAC,CACb;EACD,OAAO,CAACF,MAAM,EAAEC,YAAY,EAAEE,SAAS,CAAC;AAC5C,CAAC"}