@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
@@ -1 +1 @@
1
- {"version":3,"names":["_yt","_interopRequireDefault","require","_createTable","_utils","_rumWrapApi","compressionExtras","labels","items","_toConsumableArray","map","value","content","subItemsMap","zlib_","genComperessionLevelItems","zstd_","brotli_","lzma_","bzip2_","exports","from","to","res","i","push","String","compressionCodecValueFromString","SELECT_EMPTY_VALUE","k","startsWith","substr","length","compressionCodecValueToString","_isEqual","join","StorageOptions","REPLICATION","ERASURE","ERASURE_CODECS","title","storageOptionFromErasureCodec","codec","normalizeErasureCodec","erasureCodec","erasureCodecFromStorageOption","type","InMemoryMode","NONE","COMPRESSED","UNCOMPRESSED","makeUiMarker","ui_marker","prepareSetCommandForBatch","path","additionalParameters","undefined","command","parameters","_objectSpread","force","input","CypressNodeTypes","REPLICATED_TABLE","MAP_NODE","TABLE","createParentsBeforeSet","_x","_x2","_createParentsBeforeSet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","nodePath","attributesToSet","parentPaths","toCreate","_iterator","_step","_loop","wrap","_callee2$","_context3","prev","next","abrupt","Promise","resolve","_forEach","attr","parents","split","key","slice","Object","keys","sort","_createForOfIteratorHelper","_loop$","_context2","yt","v3","exists","then","isCreated","console","log","create","set","stop","s","n","done","delegateYield","t1","e","f","finish","updateNodeAttributes","changes","_isEmpty","requests","oneLevelDiffsParents","oneLevelDiffs","_ref","attrPath","_attrPath$splice","splice","_attrPath$splice2","_slicedToArray","last","parentPath","_path","diff","all","concat","wrapBatchPromise","ytApiV3Id","executeBatch","YTApiId","promises","_map","_ref2","_callee","p","_callee$","_context","updateAttributes","_x3","_x4","oneLevelDiff","modifyGuarantee","data","_cloneDeep","isExists","get","makeBatchSubRequest","setup"],"sources":["cypress-attributes.ts"],"sourcesContent":["import _ from 'lodash';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {SELECT_EMPTY_VALUE} from '../constants/navigation/modals/create-table';\nimport {SelectWithSubItemsProps} from '../components/Dialog/controls/SelectWithSubItems/SelectWithSubItems';\nimport {wrapBatchPromise} from './utils';\nimport {YTApiId, ytApiV3Id} from '../rum/rum-wrap-api';\nimport {BatchSubRequest} from '../../shared/yt-types';\n\nexport interface WithAttrs<T> {\n $attributes: T;\n}\n\nexport const compressionExtras: Pick<SelectWithSubItemsProps, 'labels' | 'items' | 'subItemsMap'> =\n {\n labels: ['codec:', 'level:'],\n items: [\n ...[\n 'none',\n 'snappy',\n 'zlib_',\n 'lz4',\n 'lz4_high_compression',\n 'quick_lz',\n 'zstd_',\n 'brotli_',\n 'lzma_',\n 'bzip2_',\n ].map((value) => ({value, content: value})),\n ],\n subItemsMap: {\n zlib_: genComperessionLevelItems(1, 9),\n zstd_: genComperessionLevelItems(1, 21),\n brotli_: genComperessionLevelItems(1, 11),\n lzma_: genComperessionLevelItems(0, 9),\n bzip2_: genComperessionLevelItems(1, 9),\n },\n };\n\nfunction genComperessionLevelItems(from: number, to: number) {\n const res = [];\n for (let i = from; i <= to; ++i) {\n res.push({value: String(i), content: String(i)});\n }\n return res;\n}\n\nexport function compressionCodecValueFromString(value: string) {\n if (!value) {\n return [SELECT_EMPTY_VALUE];\n }\n\n for (const k in compressionExtras.subItemsMap) {\n if (value.startsWith(k)) {\n return [k, value.substr(k.length)];\n }\n }\n return [value];\n}\n\nexport function compressionCodecValueToString(value: Array<string>) {\n if (_.isEqual(value, [SELECT_EMPTY_VALUE])) {\n return '';\n }\n return value?.join('');\n}\n\ntype StorageOptionsType = 'replication' | 'erasure';\n\nexport const StorageOptions = {\n REPLICATION: 'replication' as StorageOptionsType,\n ERASURE: 'erasure' as StorageOptionsType,\n};\n\nexport const ERASURE_CODECS = [\n {value: 'lrc_12_2_2', title: 'lrc_12_2_2 (recommended)'},\n {value: 'reed_solomon_6_3', title: 'reed_solomon_6_3'},\n];\n\nexport function storageOptionFromErasureCodec(codec: string) {\n return !codec || codec === 'none' ? StorageOptions.REPLICATION : StorageOptions.ERASURE;\n}\n\nexport function normalizeErasureCodec(erasureCodec: string) {\n return !erasureCodec || erasureCodec === 'none' ? ERASURE_CODECS[0].value : erasureCodec;\n}\n\nexport function erasureCodecFromStorageOption(type?: StorageOptionsType, erasureCodec?: string) {\n if (type === StorageOptions.REPLICATION) {\n return 'none';\n }\n return erasureCodec || ERASURE_CODECS[0].value;\n}\n\ntype InMemoryModeType = 'none' | 'compressed' | 'uncompressed';\n\nexport const InMemoryMode = {\n NONE: 'none' as InMemoryModeType,\n COMPRESSED: 'compressed' as InMemoryModeType,\n UNCOMPRESSED: 'uncompressed' as InMemoryModeType,\n};\n\nexport function makeUiMarker(ui_marker: string) {\n return {ui_marker};\n}\n\nexport function prepareSetCommandForBatch(path: string, value: any, additionalParameters?: object) {\n if (value === undefined || value === null) {\n return {\n command: 'remove' as const,\n parameters: {\n path,\n ...additionalParameters,\n },\n };\n }\n\n return {\n command: 'set' as const,\n parameters: {\n path,\n ...additionalParameters,\n force: true,\n },\n input: value,\n };\n}\n\nexport const CypressNodeTypes = {\n REPLICATED_TABLE: 'replicated_table',\n MAP_NODE: 'map_node',\n TABLE: 'table',\n // TODO: add more types\n};\n\nexport async function createParentsBeforeSet(nodePath: string, attributesToSet: Array<string>) {\n if (!attributesToSet.length) {\n return Promise.resolve();\n }\n\n const parentPaths: Record<string, boolean> = {};\n _.forEach(attributesToSet, (attr) => {\n const parents = attr.split('/');\n for (let i = 1; i < parents.length; ++i) {\n const key = parents.slice(0, i).join('/');\n if (key) {\n parentPaths[key] = true;\n }\n }\n });\n const toCreate = Object.keys(parentPaths).sort();\n\n for (const attr of toCreate) {\n const path = nodePath + '/@' + attr;\n await yt.v3.exists({path}).then((isCreated: boolean) => {\n if (!isCreated) {\n console.log({create: path});\n return yt.v3.set({path}, {});\n }\n });\n }\n}\n\nexport function updateNodeAttributes(\n nodePath: string,\n changes: Array<{attr: string; value: any}>,\n): Promise<unknown> {\n if (_.isEmpty(changes)) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [];\n\n const oneLevelDiffsParents: Array<string> = [];\n const oneLevelDiffs: Record<string, Record<string, unknown>> = {};\n _.forEach(changes, ({attr, value}) => {\n const attrPath = attr.split('/');\n if (attrPath.length === 1) {\n const path = nodePath + '/@' + attrPath.join('/');\n requests.push(prepareSetCommandForBatch(path, value));\n } else {\n const [last] = attrPath.splice(attrPath.length - 1, 1);\n const parentPath = attrPath.join('/');\n oneLevelDiffsParents.push(parentPath);\n const path = nodePath + '/@' + parentPath;\n const diff = (oneLevelDiffs[path] = oneLevelDiffs[path] || {});\n diff[last] = value;\n }\n });\n\n return Promise.all([\n ...(requests.length\n ? [wrapBatchPromise(ytApiV3Id.executeBatch(YTApiId.updateNodeAttributes, {requests}))]\n : []),\n createParentsBeforeSet(nodePath, oneLevelDiffsParents).then(() => {\n if (_.isEmpty(oneLevelDiffs)) {\n return Promise.resolve([]);\n }\n\n const promises: Array<Promise<unknown>> = _.map(oneLevelDiffs, async (diff, path) => {\n const p = updateAttributes(path, diff);\n await p;\n return p;\n });\n\n return Promise.all(promises);\n }),\n ]);\n}\n\nfunction updateAttributes(path: string, oneLevelDiff: Record<'string', unknown>) {\n if (_.isEmpty(oneLevelDiff)) {\n return Promise.resolve();\n }\n\n const modifyGuarantee = (data: any = {}) => {\n const res = _.cloneDeep(data);\n _.forEach(oneLevelDiff, (value, key) => {\n if (value === undefined) {\n delete res[key];\n } else {\n res[key] = value;\n }\n });\n if (_.isEqual(data, res)) {\n return Promise.resolve();\n }\n return yt.v3.set({path}, res);\n };\n\n return yt.v3.exists({path}).then((isExists: boolean) => {\n if (isExists) {\n return ytApiV3Id.get(YTApiId.updateAttributes, {path}).then(modifyGuarantee);\n }\n return modifyGuarantee({});\n });\n}\n\nexport function makeBatchSubRequest<T extends BatchSubRequest>(\n command: T['command'],\n parameters: T['parameters'],\n setup?: T['setup'],\n) {\n return {\n command,\n parameters,\n setup,\n } as BatchSubRequest;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_yt","_interopRequireDefault","require","_createTable","_utils","_rumWrapApi","compressionExtras","labels","items","_toConsumableArray","map","value","content","subItemsMap","zlib_","genComperessionLevelItems","zstd_","brotli_","lzma_","bzip2_","exports","from","to","res","i","push","String","compressionCodecValueFromString","SELECT_EMPTY_VALUE","k","startsWith","substr","length","compressionCodecValueToString","_isEqual","join","StorageOptions","REPLICATION","ERASURE","ERASURE_CODECS","title","storageOptionFromErasureCodec","codec","normalizeErasureCodec","erasureCodec","erasureCodecFromStorageOption","type","InMemoryMode","NONE","COMPRESSED","UNCOMPRESSED","makeUiMarker","ui_marker","prepareSetCommandForBatch","path","additionalParameters","undefined","command","parameters","_objectSpread","force","input","CypressNodeTypes","REPLICATED_TABLE","REPLICATION_LOG_TABLE","CHAOS_REPLICATED_TABLE","MAP_NODE","TABLE","createParentsBeforeSet","_x","_x2","_createParentsBeforeSet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","nodePath","attributesToSet","parentPaths","toCreate","_iterator","_step","_loop","wrap","_callee2$","_context3","prev","next","abrupt","Promise","resolve","_forEach","attr","parents","split","key","slice","Object","keys","sort","_createForOfIteratorHelper","_loop$","_context2","yt","v3","exists","then","isCreated","console","log","create","set","stop","s","n","done","delegateYield","t1","e","f","finish","updateNodeAttributes","changes","_isEmpty","requests","oneLevelDiffsParents","oneLevelDiffs","_ref","attrPath","_attrPath$splice","splice","_attrPath$splice2","_slicedToArray","last","parentPath","_path","diff","all","concat","wrapBatchPromise","ytApiV3Id","executeBatch","YTApiId","promises","_map","_ref2","_callee","p","_callee$","_context","updateAttributes","_x3","_x4","oneLevelDiff","modifyGuarantee","data","_cloneDeep","isExists","get","makeBatchSubRequest","setup"],"sources":["cypress-attributes.ts"],"sourcesContent":["import _ from 'lodash';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {SELECT_EMPTY_VALUE} from '../constants/navigation/modals/create-table';\nimport {SelectWithSubItemsProps} from '../components/Dialog/controls/SelectWithSubItems/SelectWithSubItems';\nimport {wrapBatchPromise} from './utils';\nimport {YTApiId, ytApiV3Id} from '../rum/rum-wrap-api';\nimport {BatchSubRequest} from '../../shared/yt-types';\n\nexport interface WithAttrs<T> {\n $attributes: T;\n}\n\nexport const compressionExtras: Pick<SelectWithSubItemsProps, 'labels' | 'items' | 'subItemsMap'> =\n {\n labels: ['codec:', 'level:'],\n items: [\n ...[\n 'none',\n 'snappy',\n 'zlib_',\n 'lz4',\n 'lz4_high_compression',\n 'quick_lz',\n 'zstd_',\n 'brotli_',\n 'lzma_',\n 'bzip2_',\n ].map((value) => ({value, content: value})),\n ],\n subItemsMap: {\n zlib_: genComperessionLevelItems(1, 9),\n zstd_: genComperessionLevelItems(1, 21),\n brotli_: genComperessionLevelItems(1, 11),\n lzma_: genComperessionLevelItems(0, 9),\n bzip2_: genComperessionLevelItems(1, 9),\n },\n };\n\nfunction genComperessionLevelItems(from: number, to: number) {\n const res = [];\n for (let i = from; i <= to; ++i) {\n res.push({value: String(i), content: String(i)});\n }\n return res;\n}\n\nexport function compressionCodecValueFromString(value: string) {\n if (!value) {\n return [SELECT_EMPTY_VALUE];\n }\n\n for (const k in compressionExtras.subItemsMap) {\n if (value.startsWith(k)) {\n return [k, value.substr(k.length)];\n }\n }\n return [value];\n}\n\nexport function compressionCodecValueToString(value: Array<string>) {\n if (_.isEqual(value, [SELECT_EMPTY_VALUE])) {\n return '';\n }\n return value?.join('');\n}\n\ntype StorageOptionsType = 'replication' | 'erasure';\n\nexport const StorageOptions = {\n REPLICATION: 'replication' as StorageOptionsType,\n ERASURE: 'erasure' as StorageOptionsType,\n};\n\nexport const ERASURE_CODECS = [\n {value: 'lrc_12_2_2', title: 'lrc_12_2_2 (recommended)'},\n {value: 'reed_solomon_6_3', title: 'reed_solomon_6_3'},\n];\n\nexport function storageOptionFromErasureCodec(codec: string) {\n return !codec || codec === 'none' ? StorageOptions.REPLICATION : StorageOptions.ERASURE;\n}\n\nexport function normalizeErasureCodec(erasureCodec: string) {\n return !erasureCodec || erasureCodec === 'none' ? ERASURE_CODECS[0].value : erasureCodec;\n}\n\nexport function erasureCodecFromStorageOption(type?: StorageOptionsType, erasureCodec?: string) {\n if (type === StorageOptions.REPLICATION) {\n return 'none';\n }\n return erasureCodec || ERASURE_CODECS[0].value;\n}\n\ntype InMemoryModeType = 'none' | 'compressed' | 'uncompressed';\n\nexport const InMemoryMode = {\n NONE: 'none' as InMemoryModeType,\n COMPRESSED: 'compressed' as InMemoryModeType,\n UNCOMPRESSED: 'uncompressed' as InMemoryModeType,\n};\n\nexport function makeUiMarker(ui_marker: string) {\n return {ui_marker};\n}\n\nexport function prepareSetCommandForBatch(path: string, value: any, additionalParameters?: object) {\n if (value === undefined || value === null) {\n return {\n command: 'remove' as const,\n parameters: {\n path,\n ...additionalParameters,\n },\n };\n }\n\n return {\n command: 'set' as const,\n parameters: {\n path,\n ...additionalParameters,\n force: true,\n },\n input: value,\n };\n}\n\nexport const CypressNodeTypes = {\n REPLICATED_TABLE: 'replicated_table',\n REPLICATION_LOG_TABLE: 'replication_log_table',\n CHAOS_REPLICATED_TABLE: 'chaos_replicated_table',\n MAP_NODE: 'map_node',\n TABLE: 'table',\n // TODO: add more types\n};\n\nexport async function createParentsBeforeSet(nodePath: string, attributesToSet: Array<string>) {\n if (!attributesToSet.length) {\n return Promise.resolve();\n }\n\n const parentPaths: Record<string, boolean> = {};\n _.forEach(attributesToSet, (attr) => {\n const parents = attr.split('/');\n for (let i = 1; i < parents.length; ++i) {\n const key = parents.slice(0, i).join('/');\n if (key) {\n parentPaths[key] = true;\n }\n }\n });\n const toCreate = Object.keys(parentPaths).sort();\n\n for (const attr of toCreate) {\n const path = nodePath + '/@' + attr;\n await yt.v3.exists({path}).then((isCreated: boolean) => {\n if (!isCreated) {\n console.log({create: path});\n return yt.v3.set({path}, {});\n }\n });\n }\n}\n\nexport function updateNodeAttributes(\n nodePath: string,\n changes: Array<{attr: string; value: any}>,\n): Promise<unknown> {\n if (_.isEmpty(changes)) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [];\n\n const oneLevelDiffsParents: Array<string> = [];\n const oneLevelDiffs: Record<string, Record<string, unknown>> = {};\n _.forEach(changes, ({attr, value}) => {\n const attrPath = attr.split('/');\n if (attrPath.length === 1) {\n const path = nodePath + '/@' + attrPath.join('/');\n requests.push(prepareSetCommandForBatch(path, value));\n } else {\n const [last] = attrPath.splice(attrPath.length - 1, 1);\n const parentPath = attrPath.join('/');\n oneLevelDiffsParents.push(parentPath);\n const path = nodePath + '/@' + parentPath;\n const diff = (oneLevelDiffs[path] = oneLevelDiffs[path] || {});\n diff[last] = value;\n }\n });\n\n return Promise.all([\n ...(requests.length\n ? [wrapBatchPromise(ytApiV3Id.executeBatch(YTApiId.updateNodeAttributes, {requests}))]\n : []),\n createParentsBeforeSet(nodePath, oneLevelDiffsParents).then(() => {\n if (_.isEmpty(oneLevelDiffs)) {\n return Promise.resolve([]);\n }\n\n const promises: Array<Promise<unknown>> = _.map(oneLevelDiffs, async (diff, path) => {\n const p = updateAttributes(path, diff);\n await p;\n return p;\n });\n\n return Promise.all(promises);\n }),\n ]);\n}\n\nfunction updateAttributes(path: string, oneLevelDiff: Record<'string', unknown>) {\n if (_.isEmpty(oneLevelDiff)) {\n return Promise.resolve();\n }\n\n const modifyGuarantee = (data: any = {}) => {\n const res = _.cloneDeep(data);\n _.forEach(oneLevelDiff, (value, key) => {\n if (value === undefined) {\n delete res[key];\n } else {\n res[key] = value;\n }\n });\n if (_.isEqual(data, res)) {\n return Promise.resolve();\n }\n return yt.v3.set({path}, res);\n };\n\n return yt.v3.exists({path}).then((isExists: boolean) => {\n if (isExists) {\n return ytApiV3Id.get(YTApiId.updateAttributes, {path}).then(modifyGuarantee);\n }\n return modifyGuarantee({});\n });\n}\n\nexport function makeBatchSubRequest<T extends BatchSubRequest>(\n command: T['command'],\n parameters: T['parameters'],\n setup?: T['setup'],\n) {\n return {\n command,\n parameters,\n setup,\n } as BatchSubRequest;\n}\n"],"mappings":"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"}
@@ -120,7 +120,7 @@ var getInitialFormValues = function getInitialFormValues(data, bundleControllerC
120
120
  exports.getInitialFormValues = getInitialFormValues;
121
121
  function formatNetwork(value) {
122
122
  var formatted = typeof value !== 'undefined' ? (value / 1000e6).toPrecision(2) : 0;
123
- return "".concat(formatted, " Gbit rx/tx");
123
+ return "".concat(formatted, " Gbit RX/TX");
124
124
  }
125
125
  var createConfigurationList = function createConfigurationList(data) {
126
126
  return Object.entries(data).map(function (_ref) {
@@ -1 +1 @@
1
- {"version":3,"names":["_ypath","_interopRequireDefault","require","_hammer","bundleEditorDict","keys","resources","memory_limits","cpu_limits","defaults","error","memory_reset","tablet_static","tablet_dynamic","compressed_block_cache","uncompressed_block_cache","versioned_chunk_meta","lookup_row_cache","threadPool_reset","lookup_thread_pool_size","query_thread_pool_size","write_thread_pool_size","exports","getResourceData","source","resourceType","usage","ypath","getValue","concat","limit","getInitialFormValues","data","bundleControllerConfig","slug","changelogAccount","snapshotAccount","_getResourceData","tablet_count","_getResourceData2","tablet_static_memory","general","abc","changelog_account","snapshot_account","rpc_proxy_count","tablet_node_count","rpc_proxy_resource_guarantee","tablet_node_resource_guarantee","info","undefined","formatNetwork","value","formatted","toPrecision","createConfigurationList","Object","entries","map","_ref","_ref2","_slicedToArray","type","itemData","_itemData$resource_gu","resource_guarantee","net","vcpu","memory","id","hammer","format","initialData","_objectSpread","createParams","formatType","total","used","_hammer$format$format","split","_hammer$format$format2","totalVal","totalPref","params","title","postfix","difference","_hammer$format$format3","_hammer$format$format4","usedVal","usedPref","push","NO_VALUE","prepareAbc","prepareSubmitBundle","form","prepare","_form$getState","getState","dirtyFields","values","addToChange","attr","field","prepareValue","_get","simpleBundleValidate","v","toNumber","Number","isFinite","getResource","current","defaultValues","resourceName","result","create","resourcesKeys","forEach","resName"],"sources":["index.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../../common/thor/ypath';\nimport hammer from '../../../../common/hammer';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport {\n BundleControllerConfig,\n BundleDefaultConfigData,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {BundleParam} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList';\nimport {BundleEditorDialogFormValues} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog';\nimport {FormApi} from '../../../../components/Dialog/Dialog';\n\nexport const bundleEditorDict = {\n keys: {\n resources: [\n 'rpc_proxy_count',\n 'rpc_proxy_resource_guarantee',\n 'tablet_node_count',\n 'tablet_node_resource_guarantee',\n ],\n memory_limits: [\n 'tablet_static',\n 'tablet_dynamic',\n 'compressed_block_cache',\n 'uncompressed_block_cache',\n 'versioned_chunk_meta',\n 'lookup_row_cache',\n ] as const,\n cpu_limits: ['lookup_thread_pool_size', 'query_thread_pool_size', 'write_thread_pool_size'],\n },\n defaults: {\n memory_limits: {\n error: false,\n memory_reset: false,\n tablet_static: 0,\n tablet_dynamic: 0,\n compressed_block_cache: 0,\n uncompressed_block_cache: 0,\n versioned_chunk_meta: 0,\n lookup_row_cache: 0,\n },\n cpu_limits: {\n threadPool_reset: false,\n lookup_thread_pool_size: 0,\n query_thread_pool_size: 0,\n write_thread_pool_size: 0,\n },\n },\n};\n\nexport const getResourceData = (source: object, resourceType: string) => {\n const usage = ypath.getValue(source, `/@resource_usage/${resourceType}`);\n const limit = ypath.getValue(source, `/@resource_limits/${resourceType}`);\n return {\n usage,\n limit,\n };\n};\n\nexport const getInitialFormValues = (\n data: object,\n bundleControllerConfig?: BundleControllerConfig,\n): BundleEditorDialogFormValues => {\n const slug = ypath.getValue(data, '/@abc/slug');\n const changelogAccount = ypath.getValue(data, `/@options/changelog_account`);\n const snapshotAccount = ypath.getValue(data, `/@options/snapshot_account`);\n const {limit: tablet_count} = getResourceData(data, 'tablet_count');\n const {limit: tablet_static_memory} = getResourceData(data, 'tablet_static_memory');\n\n if (!bundleControllerConfig) {\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n tablet_count: tablet_count || 0,\n tablet_static_memory: tablet_static_memory || 0,\n },\n };\n }\n\n const {\n rpc_proxy_count,\n tablet_node_count,\n cpu_limits,\n memory_limits,\n rpc_proxy_resource_guarantee,\n tablet_node_resource_guarantee,\n } = bundleControllerConfig;\n\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n info: '', // system\n tablet_count: tablet_count || 0,\n rpc_proxy_count: rpc_proxy_count, // todo\n rpc_proxy_resource_guarantee: rpc_proxy_resource_guarantee || undefined,\n tablet_node_count: tablet_node_count,\n tablet_node_resource_guarantee: tablet_node_resource_guarantee || undefined,\n },\n memory_limits: {\n error: false, // system\n memory_reset: false, // system\n tablet_static: memory_limits?.tablet_static || 0,\n tablet_dynamic: memory_limits?.tablet_dynamic || 0,\n compressed_block_cache: memory_limits?.compressed_block_cache || 0,\n uncompressed_block_cache: memory_limits?.uncompressed_block_cache || 0,\n versioned_chunk_meta: memory_limits?.versioned_chunk_meta || 0,\n lookup_row_cache: memory_limits?.lookup_row_cache || 0,\n },\n cpu_limits: {\n threadPool_reset: false, //system\n lookup_thread_pool_size: cpu_limits?.lookup_thread_pool_size || 0,\n query_thread_pool_size: cpu_limits?.query_thread_pool_size || 0,\n write_thread_pool_size: cpu_limits?.write_thread_pool_size || 0,\n },\n };\n};\n\nfunction formatNetwork(value?: number) {\n const formatted = typeof value !== 'undefined' ? (value / 1000e6).toPrecision(2) : 0;\n return `${formatted} Gbit rx/tx`;\n}\n\nexport const createConfigurationList = (\n data: BundleDefaultConfigData['rpc_proxy_sizes'] | BundleDefaultConfigData['tablet_node_sizes'],\n) => {\n return Object.entries(data).map(([type, itemData]) => {\n const {net, vcpu, memory} = itemData.resource_guarantee;\n return {\n id: type,\n type,\n memory: hammer.format['Bytes'](memory),\n net: formatNetwork(net),\n vcpu: hammer.format['vCores'](vcpu),\n initialData: {...itemData.resource_guarantee, type},\n };\n });\n};\n\nexport const createParams = (formatType: 'Bytes' | 'vCores', total: number, used?: number) => {\n const [totalVal, totalPref] = hammer.format[formatType](total).split(' ');\n const params: BundleParam[] = [{title: 'Total', value: totalVal, postfix: totalPref}];\n\n if (typeof used !== 'undefined') {\n const difference = total - used;\n const [usedVal, usedPref] = hammer.format[formatType](difference).split(' ');\n params.push({\n title: 'Free',\n value: usedVal === hammer.format.NO_VALUE ? '0' : usedVal,\n postfix: usedPref,\n type: difference >= 0 ? 'positive' : 'negative',\n });\n }\n return params;\n};\n\nfunction prepareAbc(value: {id: number; slug: string}) {\n const {id, slug} = value;\n return id && slug ? {id, slug} : undefined;\n}\n\nexport const prepareSubmitBundle = (form: FormApi<BundleEditorDialogFormValues>) => {\n const prepare: {[path: string]: any} = {};\n const {dirtyFields, values} = form.getState();\n\n function addToChange(attr: string, field: string, prepareValue?: Function) {\n if (!dirtyFields[field]) {\n return;\n }\n const value = _.get(values, field);\n prepare[attr] = typeof prepareValue === 'function' ? prepareValue(value) : value;\n }\n\n // Generel\n addToChange('@abc', 'general.abc', prepareAbc);\n addToChange('@options/changelog_account', 'general.changelog_account');\n addToChange('@options/snapshot_account', 'general.snapshot_account');\n // Resources\n addToChange('@resource_limits/tablet_count', 'resources.tablet_count');\n addToChange('@resource_limits/tablet_static_memory', 'resources.tablet_static_memory');\n addToChange('@bundle_controller_target_config/rpc_proxy_count', 'resources.rpc_proxy_count');\n addToChange(\n '@bundle_controller_target_config/tablet_node_count',\n 'resources.tablet_node_count',\n );\n addToChange(\n '@bundle_controller_target_config/rpc_proxy_resource_guarantee',\n 'resources.rpc_proxy_resource_guarantee',\n );\n addToChange(\n '@bundle_controller_target_config/tablet_node_resource_guarantee',\n 'resources.tablet_node_resource_guarantee',\n );\n // Memory_limits\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_static',\n 'memory_limits.tablet_static',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_dynamic',\n 'memory_limits.tablet_dynamic',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/compressed_block_cache',\n 'memory_limits.compressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/uncompressed_block_cache',\n 'memory_limits.uncompressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/versioned_chunk_meta',\n 'memory_limits.versioned_chunk_meta',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/lookup_row_cache',\n 'memory_limits.lookup_row_cache',\n );\n // Cpu_limits\n addToChange(\n '@bundle_controller_target_config/cpu_limits/lookup_thread_pool_size',\n 'cpu_limits.lookup_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/query_thread_pool_size',\n 'cpu_limits.query_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/write_thread_pool_size',\n 'cpu_limits.write_thread_pool_size',\n );\n\n return prepare;\n};\n\nexport const simpleBundleValidate = (v?: number | string) => {\n const toNumber = Number(v);\n let error;\n if (!Number.isFinite(toNumber)) {\n error = 'Incorrect value';\n }\n\n if (toNumber < 0) {\n error = 'Must be greater than or equal to zero';\n }\n\n return error;\n};\n\nexport function getResource(\n current: any,\n defaultValues: any,\n resourceName: 'cpu_limits' | 'memory_limits',\n) {\n const result = Object.create(null);\n\n const resourcesKeys = bundleEditorDict.keys[resourceName];\n resourcesKeys.forEach((resName) => {\n result[resName] =\n typeof current[resName] !== 'undefined' ? current[resName] : defaultValues[resName];\n });\n return result;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_ypath","_interopRequireDefault","require","_hammer","bundleEditorDict","keys","resources","memory_limits","cpu_limits","defaults","error","memory_reset","tablet_static","tablet_dynamic","compressed_block_cache","uncompressed_block_cache","versioned_chunk_meta","lookup_row_cache","threadPool_reset","lookup_thread_pool_size","query_thread_pool_size","write_thread_pool_size","exports","getResourceData","source","resourceType","usage","ypath","getValue","concat","limit","getInitialFormValues","data","bundleControllerConfig","slug","changelogAccount","snapshotAccount","_getResourceData","tablet_count","_getResourceData2","tablet_static_memory","general","abc","changelog_account","snapshot_account","rpc_proxy_count","tablet_node_count","rpc_proxy_resource_guarantee","tablet_node_resource_guarantee","info","undefined","formatNetwork","value","formatted","toPrecision","createConfigurationList","Object","entries","map","_ref","_ref2","_slicedToArray","type","itemData","_itemData$resource_gu","resource_guarantee","net","vcpu","memory","id","hammer","format","initialData","_objectSpread","createParams","formatType","total","used","_hammer$format$format","split","_hammer$format$format2","totalVal","totalPref","params","title","postfix","difference","_hammer$format$format3","_hammer$format$format4","usedVal","usedPref","push","NO_VALUE","prepareAbc","prepareSubmitBundle","form","prepare","_form$getState","getState","dirtyFields","values","addToChange","attr","field","prepareValue","_get","simpleBundleValidate","v","toNumber","Number","isFinite","getResource","current","defaultValues","resourceName","result","create","resourcesKeys","forEach","resName"],"sources":["index.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../../common/thor/ypath';\nimport hammer from '../../../../common/hammer';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport {\n BundleControllerConfig,\n BundleDefaultConfigData,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {BundleParam} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList';\nimport {BundleEditorDialogFormValues} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog';\nimport {FormApi} from '../../../../components/Dialog/Dialog';\n\nexport const bundleEditorDict = {\n keys: {\n resources: [\n 'rpc_proxy_count',\n 'rpc_proxy_resource_guarantee',\n 'tablet_node_count',\n 'tablet_node_resource_guarantee',\n ],\n memory_limits: [\n 'tablet_static',\n 'tablet_dynamic',\n 'compressed_block_cache',\n 'uncompressed_block_cache',\n 'versioned_chunk_meta',\n 'lookup_row_cache',\n ] as const,\n cpu_limits: ['lookup_thread_pool_size', 'query_thread_pool_size', 'write_thread_pool_size'],\n },\n defaults: {\n memory_limits: {\n error: false,\n memory_reset: false,\n tablet_static: 0,\n tablet_dynamic: 0,\n compressed_block_cache: 0,\n uncompressed_block_cache: 0,\n versioned_chunk_meta: 0,\n lookup_row_cache: 0,\n },\n cpu_limits: {\n threadPool_reset: false,\n lookup_thread_pool_size: 0,\n query_thread_pool_size: 0,\n write_thread_pool_size: 0,\n },\n },\n};\n\nexport const getResourceData = (source: object, resourceType: string) => {\n const usage = ypath.getValue(source, `/@resource_usage/${resourceType}`);\n const limit = ypath.getValue(source, `/@resource_limits/${resourceType}`);\n return {\n usage,\n limit,\n };\n};\n\nexport const getInitialFormValues = (\n data: object,\n bundleControllerConfig?: BundleControllerConfig,\n): BundleEditorDialogFormValues => {\n const slug = ypath.getValue(data, '/@abc/slug');\n const changelogAccount = ypath.getValue(data, `/@options/changelog_account`);\n const snapshotAccount = ypath.getValue(data, `/@options/snapshot_account`);\n const {limit: tablet_count} = getResourceData(data, 'tablet_count');\n const {limit: tablet_static_memory} = getResourceData(data, 'tablet_static_memory');\n\n if (!bundleControllerConfig) {\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n tablet_count: tablet_count || 0,\n tablet_static_memory: tablet_static_memory || 0,\n },\n };\n }\n\n const {\n rpc_proxy_count,\n tablet_node_count,\n cpu_limits,\n memory_limits,\n rpc_proxy_resource_guarantee,\n tablet_node_resource_guarantee,\n } = bundleControllerConfig;\n\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n info: '', // system\n tablet_count: tablet_count || 0,\n rpc_proxy_count: rpc_proxy_count, // todo\n rpc_proxy_resource_guarantee: rpc_proxy_resource_guarantee || undefined,\n tablet_node_count: tablet_node_count,\n tablet_node_resource_guarantee: tablet_node_resource_guarantee || undefined,\n },\n memory_limits: {\n error: false, // system\n memory_reset: false, // system\n tablet_static: memory_limits?.tablet_static || 0,\n tablet_dynamic: memory_limits?.tablet_dynamic || 0,\n compressed_block_cache: memory_limits?.compressed_block_cache || 0,\n uncompressed_block_cache: memory_limits?.uncompressed_block_cache || 0,\n versioned_chunk_meta: memory_limits?.versioned_chunk_meta || 0,\n lookup_row_cache: memory_limits?.lookup_row_cache || 0,\n },\n cpu_limits: {\n threadPool_reset: false, //system\n lookup_thread_pool_size: cpu_limits?.lookup_thread_pool_size || 0,\n query_thread_pool_size: cpu_limits?.query_thread_pool_size || 0,\n write_thread_pool_size: cpu_limits?.write_thread_pool_size || 0,\n },\n };\n};\n\nfunction formatNetwork(value?: number) {\n const formatted = typeof value !== 'undefined' ? (value / 1000e6).toPrecision(2) : 0;\n return `${formatted} Gbit RX/TX`;\n}\n\nexport const createConfigurationList = (\n data: BundleDefaultConfigData['rpc_proxy_sizes'] | BundleDefaultConfigData['tablet_node_sizes'],\n) => {\n return Object.entries(data).map(([type, itemData]) => {\n const {net, vcpu, memory} = itemData.resource_guarantee;\n return {\n id: type,\n type,\n memory: hammer.format['Bytes'](memory),\n net: formatNetwork(net),\n vcpu: hammer.format['vCores'](vcpu),\n initialData: {...itemData.resource_guarantee, type},\n };\n });\n};\n\nexport const createParams = (formatType: 'Bytes' | 'vCores', total: number, used?: number) => {\n const [totalVal, totalPref] = hammer.format[formatType](total).split(' ');\n const params: BundleParam[] = [{title: 'Total', value: totalVal, postfix: totalPref}];\n\n if (typeof used !== 'undefined') {\n const difference = total - used;\n const [usedVal, usedPref] = hammer.format[formatType](difference).split(' ');\n params.push({\n title: 'Free',\n value: usedVal === hammer.format.NO_VALUE ? '0' : usedVal,\n postfix: usedPref,\n type: difference >= 0 ? 'positive' : 'negative',\n });\n }\n return params;\n};\n\nfunction prepareAbc(value: {id: number; slug: string}) {\n const {id, slug} = value;\n return id && slug ? {id, slug} : undefined;\n}\n\nexport const prepareSubmitBundle = (form: FormApi<BundleEditorDialogFormValues>) => {\n const prepare: {[path: string]: any} = {};\n const {dirtyFields, values} = form.getState();\n\n function addToChange(attr: string, field: string, prepareValue?: Function) {\n if (!dirtyFields[field]) {\n return;\n }\n const value = _.get(values, field);\n prepare[attr] = typeof prepareValue === 'function' ? prepareValue(value) : value;\n }\n\n // Generel\n addToChange('@abc', 'general.abc', prepareAbc);\n addToChange('@options/changelog_account', 'general.changelog_account');\n addToChange('@options/snapshot_account', 'general.snapshot_account');\n // Resources\n addToChange('@resource_limits/tablet_count', 'resources.tablet_count');\n addToChange('@resource_limits/tablet_static_memory', 'resources.tablet_static_memory');\n addToChange('@bundle_controller_target_config/rpc_proxy_count', 'resources.rpc_proxy_count');\n addToChange(\n '@bundle_controller_target_config/tablet_node_count',\n 'resources.tablet_node_count',\n );\n addToChange(\n '@bundle_controller_target_config/rpc_proxy_resource_guarantee',\n 'resources.rpc_proxy_resource_guarantee',\n );\n addToChange(\n '@bundle_controller_target_config/tablet_node_resource_guarantee',\n 'resources.tablet_node_resource_guarantee',\n );\n // Memory_limits\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_static',\n 'memory_limits.tablet_static',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_dynamic',\n 'memory_limits.tablet_dynamic',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/compressed_block_cache',\n 'memory_limits.compressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/uncompressed_block_cache',\n 'memory_limits.uncompressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/versioned_chunk_meta',\n 'memory_limits.versioned_chunk_meta',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/lookup_row_cache',\n 'memory_limits.lookup_row_cache',\n );\n // Cpu_limits\n addToChange(\n '@bundle_controller_target_config/cpu_limits/lookup_thread_pool_size',\n 'cpu_limits.lookup_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/query_thread_pool_size',\n 'cpu_limits.query_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/write_thread_pool_size',\n 'cpu_limits.write_thread_pool_size',\n );\n\n return prepare;\n};\n\nexport const simpleBundleValidate = (v?: number | string) => {\n const toNumber = Number(v);\n let error;\n if (!Number.isFinite(toNumber)) {\n error = 'Incorrect value';\n }\n\n if (toNumber < 0) {\n error = 'Must be greater than or equal to zero';\n }\n\n return error;\n};\n\nexport function getResource(\n current: any,\n defaultValues: any,\n resourceName: 'cpu_limits' | 'memory_limits',\n) {\n const result = Object.create(null);\n\n const resourcesKeys = bundleEditorDict.keys[resourceName];\n resourcesKeys.forEach((resName) => {\n result[resName] =\n typeof current[resName] !== 'undefined' ? current[resName] : defaultValues[resName];\n });\n return result;\n}\n"],"mappings":";;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA;;AASO,IAAME,gBAAgB,GAAG;EAC5BC,IAAI,EAAE;IACFC,SAAS,EAAE,CACP,iBAAiB,EACjB,8BAA8B,EAC9B,mBAAmB,EACnB,gCAAgC,CACnC;IACDC,aAAa,EAAE,CACX,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,CACZ;IACVC,UAAU,EAAE,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,wBAAwB;EAC9F,CAAC;EACDC,QAAQ,EAAE;IACNF,aAAa,EAAE;MACXG,KAAK,EAAE,KAAK;MACZC,YAAY,EAAE,KAAK;MACnBC,aAAa,EAAE,CAAC;MAChBC,cAAc,EAAE,CAAC;MACjBC,sBAAsB,EAAE,CAAC;MACzBC,wBAAwB,EAAE,CAAC;MAC3BC,oBAAoB,EAAE,CAAC;MACvBC,gBAAgB,EAAE;IACtB,CAAC;IACDT,UAAU,EAAE;MACRU,gBAAgB,EAAE,KAAK;MACvBC,uBAAuB,EAAE,CAAC;MAC1BC,sBAAsB,EAAE,CAAC;MACzBC,sBAAsB,EAAE;IAC5B;EACJ;AACJ,CAAC;AAAAC,OAAA,CAAAlB,gBAAA,GAAAA,gBAAA;AAEM,IAAMmB,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,MAAc,EAAEC,YAAoB,EAAK;EACrE,IAAMC,KAAK,GAAGC,iBAAK,CAACC,QAAQ,CAACJ,MAAM,sBAAAK,MAAA,CAAsBJ,YAAY,EAAG;EACxE,IAAMK,KAAK,GAAGH,iBAAK,CAACC,QAAQ,CAACJ,MAAM,uBAAAK,MAAA,CAAuBJ,YAAY,EAAG;EACzE,OAAO;IACHC,KAAK,EAALA,KAAK;IACLI,KAAK,EAALA;EACJ,CAAC;AACL,CAAC;AAAAR,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEM,IAAMQ,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC7BC,IAAY,EACZC,sBAA+C,EAChB;EAC/B,IAAMC,IAAI,GAAGP,iBAAK,CAACC,QAAQ,CAACI,IAAI,EAAE,YAAY,CAAC;EAC/C,IAAMG,gBAAgB,GAAGR,iBAAK,CAACC,QAAQ,CAACI,IAAI,gCAAgC;EAC5E,IAAMI,eAAe,GAAGT,iBAAK,CAACC,QAAQ,CAACI,IAAI,+BAA+B;EAC1E,IAAAK,gBAAA,GAA8Bd,eAAe,CAACS,IAAI,EAAE,cAAc,CAAC;IAArDM,YAAY,GAAAD,gBAAA,CAAnBP,KAAK;EACZ,IAAAS,iBAAA,GAAsChB,eAAe,CAACS,IAAI,EAAE,sBAAsB,CAAC;IAArEQ,oBAAoB,GAAAD,iBAAA,CAA3BT,KAAK;EAEZ,IAAI,CAACG,sBAAsB,EAAE;IACzB,OAAO;MACHQ,OAAO,EAAE;QACLC,GAAG,EAAE;UAACR,IAAI,EAAJA;QAAI,CAAC;QACXS,iBAAiB,EAAER,gBAAgB;QACnCS,gBAAgB,EAAER;MACtB,CAAC;MACD9B,SAAS,EAAE;QACPgC,YAAY,EAAEA,YAAY,IAAI,CAAC;QAC/BE,oBAAoB,EAAEA,oBAAoB,IAAI;MAClD;IACJ,CAAC;EACL;EAEA,IACIK,eAAe,GAMfZ,sBAAsB,CANtBY,eAAe;IACfC,iBAAiB,GAKjBb,sBAAsB,CALtBa,iBAAiB;IACjBtC,UAAU,GAIVyB,sBAAsB,CAJtBzB,UAAU;IACVD,aAAa,GAGb0B,sBAAsB,CAHtB1B,aAAa;IACbwC,4BAA4B,GAE5Bd,sBAAsB,CAFtBc,4BAA4B;IAC5BC,8BAA8B,GAC9Bf,sBAAsB,CADtBe,8BAA8B;EAGlC,OAAO;IACHP,OAAO,EAAE;MACLC,GAAG,EAAE;QAACR,IAAI,EAAJA;MAAI,CAAC;MACXS,iBAAiB,EAAER,gBAAgB;MACnCS,gBAAgB,EAAER;IACtB,CAAC;IACD9B,SAAS,EAAE;MACP2C,IAAI,EAAE,EAAE;MAAE;MACVX,YAAY,EAAEA,YAAY,IAAI,CAAC;MAC/BO,eAAe,EAAEA,eAAe;MAAE;MAClCE,4BAA4B,EAAEA,4BAA4B,IAAIG,SAAS;MACvEJ,iBAAiB,EAAEA,iBAAiB;MACpCE,8BAA8B,EAAEA,8BAA8B,IAAIE;IACtE,CAAC;IACD3C,aAAa,EAAE;MACXG,KAAK,EAAE,KAAK;MAAE;MACdC,YAAY,EAAE,KAAK;MAAE;MACrBC,aAAa,EAAE,CAAAL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,aAAa,KAAI,CAAC;MAChDC,cAAc,EAAE,CAAAN,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEM,cAAc,KAAI,CAAC;MAClDC,sBAAsB,EAAE,CAAAP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEO,sBAAsB,KAAI,CAAC;MAClEC,wBAAwB,EAAE,CAAAR,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,wBAAwB,KAAI,CAAC;MACtEC,oBAAoB,EAAE,CAAAT,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,oBAAoB,KAAI,CAAC;MAC9DC,gBAAgB,EAAE,CAAAV,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEU,gBAAgB,KAAI;IACzD,CAAC;IACDT,UAAU,EAAE;MACRU,gBAAgB,EAAE,KAAK;MAAE;MACzBC,uBAAuB,EAAE,CAAAX,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,uBAAuB,KAAI,CAAC;MACjEC,sBAAsB,EAAE,CAAAZ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEY,sBAAsB,KAAI,CAAC;MAC/DC,sBAAsB,EAAE,CAAAb,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,sBAAsB,KAAI;IAClE;EACJ,CAAC;AACL,CAAC;AAAAC,OAAA,CAAAS,oBAAA,GAAAA,oBAAA;AAED,SAASoB,aAAaA,CAACC,KAAc,EAAE;EACnC,IAAMC,SAAS,GAAG,OAAOD,KAAK,KAAK,WAAW,GAAG,CAACA,KAAK,GAAG,MAAM,EAAEE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;EACpF,UAAAzB,MAAA,CAAUwB,SAAS;AACvB;AAEO,IAAME,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAChCvB,IAA+F,EAC9F;EACD,OAAOwB,MAAM,CAACC,OAAO,CAACzB,IAAI,CAAC,CAAC0B,GAAG,CAAC,UAAAC,IAAA,EAAsB;IAAA,IAAAC,KAAA,OAAAC,0BAAA,EAAAF,IAAA;MAApBG,IAAI,GAAAF,KAAA;MAAEG,QAAQ,GAAAH,KAAA;IAC5C,IAAAI,qBAAA,GAA4BD,QAAQ,CAACE,kBAAkB;MAAhDC,GAAG,GAAAF,qBAAA,CAAHE,GAAG;MAAEC,IAAI,GAAAH,qBAAA,CAAJG,IAAI;MAAEC,MAAM,GAAAJ,qBAAA,CAANI,MAAM;IACxB,OAAO;MACHC,EAAE,EAAEP,IAAI;MACRA,IAAI,EAAJA,IAAI;MACJM,MAAM,EAAEE,kBAAM,CAACC,MAAM,CAAC,OAAO,CAAC,CAACH,MAAM,CAAC;MACtCF,GAAG,EAAEf,aAAa,CAACe,GAAG,CAAC;MACvBC,IAAI,EAAEG,kBAAM,CAACC,MAAM,CAAC,QAAQ,CAAC,CAACJ,IAAI,CAAC;MACnCK,WAAW,MAAAC,yBAAA,MAAAA,yBAAA,MAAMV,QAAQ,CAACE,kBAAkB;QAAEH,IAAI,EAAJA;MAAI;IACtD,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAAAxC,OAAA,CAAAiC,uBAAA,GAAAA,uBAAA;AAEM,IAAMmB,YAAY,GAAG,SAAfA,YAAYA,CAAIC,UAA8B,EAAEC,KAAa,EAAEC,IAAa,EAAK;EAC1F,IAAAC,qBAAA,GAA8BR,kBAAM,CAACC,MAAM,CAACI,UAAU,CAAC,CAACC,KAAK,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC;IAAAC,sBAAA,OAAAnB,0BAAA,EAAAiB,qBAAA;IAAlEG,QAAQ,GAAAD,sBAAA;IAAEE,SAAS,GAAAF,sBAAA;EAC1B,IAAMG,MAAqB,GAAG,CAAC;IAACC,KAAK,EAAE,OAAO;IAAEhC,KAAK,EAAE6B,QAAQ;IAAEI,OAAO,EAAEH;EAAS,CAAC,CAAC;EAErF,IAAI,OAAOL,IAAI,KAAK,WAAW,EAAE;IAC7B,IAAMS,UAAU,GAAGV,KAAK,GAAGC,IAAI;IAC/B,IAAAU,sBAAA,GAA4BjB,kBAAM,CAACC,MAAM,CAACI,UAAU,CAAC,CAACW,UAAU,CAAC,CAACP,KAAK,CAAC,GAAG,CAAC;MAAAS,sBAAA,OAAA3B,0BAAA,EAAA0B,sBAAA;MAArEE,OAAO,GAAAD,sBAAA;MAAEE,QAAQ,GAAAF,sBAAA;IACxBL,MAAM,CAACQ,IAAI,CAAC;MACRP,KAAK,EAAE,MAAM;MACbhC,KAAK,EAAEqC,OAAO,KAAKnB,kBAAM,CAACC,MAAM,CAACqB,QAAQ,GAAG,GAAG,GAAGH,OAAO;MACzDJ,OAAO,EAAEK,QAAQ;MACjB5B,IAAI,EAAEwB,UAAU,IAAI,CAAC,GAAG,UAAU,GAAG;IACzC,CAAC,CAAC;EACN;EACA,OAAOH,MAAM;AACjB,CAAC;AAAA7D,OAAA,CAAAoD,YAAA,GAAAA,YAAA;AAED,SAASmB,UAAUA,CAACzC,KAAiC,EAAE;EACnD,IAAOiB,EAAE,GAAUjB,KAAK,CAAjBiB,EAAE;IAAEnC,IAAI,GAAIkB,KAAK,CAAblB,IAAI;EACf,OAAOmC,EAAE,IAAInC,IAAI,GAAG;IAACmC,EAAE,EAAFA,EAAE;IAAEnC,IAAI,EAAJA;EAAI,CAAC,GAAGgB,SAAS;AAC9C;AAEO,IAAM4C,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAA2C,EAAK;EAChF,IAAMC,OAA8B,GAAG,CAAC,CAAC;EACzC,IAAAC,cAAA,GAA8BF,IAAI,CAACG,QAAQ,EAAE;IAAtCC,WAAW,GAAAF,cAAA,CAAXE,WAAW;IAAEC,MAAM,GAAAH,cAAA,CAANG,MAAM;EAE1B,SAASC,WAAWA,CAACC,IAAY,EAAEC,KAAa,EAAEC,YAAuB,EAAE;IACvE,IAAI,CAACL,WAAW,CAACI,KAAK,CAAC,EAAE;MACrB;IACJ;IACA,IAAMnD,KAAK,GAAG,IAAAqD,gBAAA,EAAML,MAAM,EAAEG,KAAK,CAAC;IAClCP,OAAO,CAACM,IAAI,CAAC,GAAG,OAAOE,YAAY,KAAK,UAAU,GAAGA,YAAY,CAACpD,KAAK,CAAC,GAAGA,KAAK;EACpF;;EAEA;EACAiD,WAAW,CAAC,MAAM,EAAE,aAAa,EAAER,UAAU,CAAC;EAC9CQ,WAAW,CAAC,4BAA4B,EAAE,2BAA2B,CAAC;EACtEA,WAAW,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;EACpE;EACAA,WAAW,CAAC,+BAA+B,EAAE,wBAAwB,CAAC;EACtEA,WAAW,CAAC,uCAAuC,EAAE,gCAAgC,CAAC;EACtFA,WAAW,CAAC,kDAAkD,EAAE,2BAA2B,CAAC;EAC5FA,WAAW,CACP,oDAAoD,EACpD,6BAA6B,CAChC;EACDA,WAAW,CACP,+DAA+D,EAC/D,wCAAwC,CAC3C;EACDA,WAAW,CACP,iEAAiE,EACjE,0CAA0C,CAC7C;EACD;EACAA,WAAW,CACP,8DAA8D,EAC9D,6BAA6B,CAChC;EACDA,WAAW,CACP,+DAA+D,EAC/D,8BAA8B,CACjC;EACDA,WAAW,CACP,uEAAuE,EACvE,sCAAsC,CACzC;EACDA,WAAW,CACP,yEAAyE,EACzE,wCAAwC,CAC3C;EACDA,WAAW,CACP,qEAAqE,EACrE,oCAAoC,CACvC;EACDA,WAAW,CACP,iEAAiE,EACjE,gCAAgC,CACnC;EACD;EACAA,WAAW,CACP,qEAAqE,EACrE,oCAAoC,CACvC;EACDA,WAAW,CACP,oEAAoE,EACpE,mCAAmC,CACtC;EACDA,WAAW,CACP,oEAAoE,EACpE,mCAAmC,CACtC;EAED,OAAOL,OAAO;AAClB,CAAC;AAAA1E,OAAA,CAAAwE,mBAAA,GAAAA,mBAAA;AAEM,IAAMY,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,CAAmB,EAAK;EACzD,IAAMC,QAAQ,GAAGC,MAAM,CAACF,CAAC,CAAC;EAC1B,IAAIjG,KAAK;EACT,IAAI,CAACmG,MAAM,CAACC,QAAQ,CAACF,QAAQ,CAAC,EAAE;IAC5BlG,KAAK,GAAG,iBAAiB;EAC7B;EAEA,IAAIkG,QAAQ,GAAG,CAAC,EAAE;IACdlG,KAAK,GAAG,uCAAuC;EACnD;EAEA,OAAOA,KAAK;AAChB,CAAC;AAAAY,OAAA,CAAAoF,oBAAA,GAAAA,oBAAA;AAEM,SAASK,WAAWA,CACvBC,OAAY,EACZC,aAAkB,EAClBC,YAA4C,EAC9C;EACE,IAAMC,MAAM,GAAG3D,MAAM,CAAC4D,MAAM,CAAC,IAAI,CAAC;EAElC,IAAMC,aAAa,GAAGjH,gBAAgB,CAACC,IAAI,CAAC6G,YAAY,CAAC;EACzDG,aAAa,CAACC,OAAO,CAAC,UAACC,OAAO,EAAK;IAC/BJ,MAAM,CAACI,OAAO,CAAC,GACX,OAAOP,OAAO,CAACO,OAAO,CAAC,KAAK,WAAW,GAAGP,OAAO,CAACO,OAAO,CAAC,GAAGN,aAAa,CAACM,OAAO,CAAC;EAC3F,CAAC,CAAC;EACF,OAAOJ,MAAM;AACjB"}
@@ -241,6 +241,7 @@ export interface UIFactory {
241
241
  bundleData?: {
242
242
  $attributes: unknown;
243
243
  };
244
+ clusterUiConfig?: ClusterUiConfig;
244
245
  }): React.ReactNode;
245
246
  getNodeDeployUrl(ypCluster?: string, podId?: string): string | undefined;
246
247
  getNodeNannyUrl(params: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","AppNavigationComponent","defaultAclApi","YTUserSuggest","docsUrls","jsx","_jsx","adminPages","uiFactory","getClusterAppearance","undefined","isWatchMen","makeUrlForExternalUser","makeUrlForTransferTask","makeUrlForNodeIO","makeUrlForTabletCellBundleDashboard","makeUrlForMonitoringDescriptor","makeUrlForUserDashboard","getExtaClusterPages","getExtraRootPages","getExtraReducersAndUrlMapping","getSchedulingExtraTabs","getMonitorComponentForAccount","getMonitorComponentForBundle","getMonitorComponentForOperation","getMonitorComponentForJob","getStatisticsComponentForAccount","getStatisticsComponentForBundle","renderNavigationExtraActions","loadClustersAvailability","Promise","resolve","renderSchedulingLastDayMaximum","renderComponentsNodeCardTop","getExtraMetaTableItemsForComponentsNode","getExtraMetaTableItemsForPool","getExtraMetaTableItemsForBundle","getComponentsNodeDashboardUrl","renderTransferQuotaNoticeForPool","renderTransferQuotaNoticeForAccount","renderTopRowExtraControlsForAccount","renderTopRowExtraControlsForPool","renderTopRowExtraControlsForBundle","renderAccountsTableItemExtraControls","renderSchedulingTableItemExtraControls","renderBundlesTableItemExtraControls","renderControlAbcService","makeSupportContent","getComponentForConsumerMetrics","getComonentForQueueMetrics","renderTableCellBundleEditorNotice","getNodeDeployUrl","getNodeNannyUrl","renderAppNavigation","props","_objectSpread","createNotificationUrl","wrapApp","app","externalSchemaDescriptionSetup","load","_cluster","_path","getAclApi","renderAclSubjectsSuggestControl","children","renderRolesLink","getExternalSettings","renderUserSuggest","getAdminPages","configureUIFactoryItem","k","redefinition","configureUIFactory","overrides","_forEach","_v","key","Proxy","set","Error","isAbcAllowed","abc","onChange","value","id","slug","Boolean"],"sources":["UIFactory.tsx"],"sourcesContent":["import {SVGIconData} from '@gravity-ui/uikit/build/esm/components/Icon/types';\nimport {MetaTableItem} from './components/MetaTable/MetaTable';\nimport _ from 'lodash';\nimport React from 'react';\nimport {Reducer} from 'redux';\nimport {PathParameters} from './store/location';\nimport {ClusterUiConfig} from './store/reducers/global/cluster-ui-config';\nimport {TabletBundle} from './store/reducers/tablet_cell_bundles';\nimport {PoolInfo} from './store/selectors/scheduling/scheduling-pools';\nimport {ClusterConfig} from '../shared/yt-types';\nimport {ClusterAppearance} from './appearance';\nimport AppNavigationComponent, {\n AppNavigationProps,\n} from './containers/AppNavigation/AppNavigationComponent';\nimport {ExternalSchemaDescription} from './pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription';\nimport {AclApi, defaultAclApi} from './utils/acl/external-acl-api';\nimport {SubjectsControlProps} from './components/ACL/SubjectsControl/SubjectsControl';\nimport {SettingsPage} from './containers/SettingsPanel/settings-description';\nimport {UserSuggestProps} from './containers/UserSuggest/UserSuggest';\nimport {YTUserSuggest} from './containers/UserSuggest/YTUserSuggest';\nimport {docsUrls, DocsUrls} from './constants/docsUrls';\n\ntype HeaderItemOrPage =\n | {\n href: string;\n\n pageId?: undefined;\n reactComponent?: undefined;\n reducers?: undefined;\n urlMapping?: undefined;\n }\n | {\n pageId?: string;\n reactComponent?: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n\n href?: undefined;\n };\n\nexport type UIFactoryRootPageInfo = HeaderItemOrPage & {\n title: string;\n getVisible?: () => Promise<boolean>;\n};\n\nexport interface UIFactoryClusterPageInfo {\n title: string;\n pageId: string; // also used as urlMatch for <Route path={`/:cluster/${pageId}`} ... />\n svgIcon?: SVGIconData;\n reducers?: Record<string, Reducer>;\n reactComponent: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n topRowComponent?: React.ComponentType<any>; // used as component for <Route ... component={topRowComponent} />\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface ExternalSchemaDescriptionResponse {\n url?: string;\n externalSchema?: Map<string, ExternalSchemaDescription>;\n}\n\nexport interface ReducersAndUrlMapping {\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface SchedulingExtraTab {\n name: string;\n title?: string;\n component: React.ComponentType<any>;\n}\n\nexport interface UIFactory {\n getClusterAppearance(cluster?: string): undefined | ClusterAppearance;\n\n isWatchMen(login: string): boolean;\n\n makeUrlForExternalUser(login: string): string | undefined;\n makeUrlForTransferTask(operation: unknown): string | undefined;\n makeUrlForNodeIO(cluster: string, host?: string): string | undefined;\n makeUrlForTabletCellBundleDashboard(cluster: string, bundle: string): string | undefined;\n makeUrlForMonitoringDescriptor(\n cluster: string,\n timeRange: {from: string; to?: string},\n monitoring_descriptor?: string,\n ): string | undefined;\n makeUrlForUserDashboard(cluster: string, user: string): string | undefined;\n\n getExtaClusterPages(): Array<UIFactoryClusterPageInfo>;\n getExtraRootPages(): Array<UIFactoryRootPageInfo>;\n\n getExtraReducersAndUrlMapping(): undefined | ReducersAndUrlMapping;\n getSchedulingExtraTabs(params: {\n cluster: string;\n pool: string;\n tree: string;\n extraOptions: {\n isRoot?: boolean;\n isEphemeral?: boolean | undefined;\n };\n }): Array<SchedulingExtraTab>;\n\n getMonitorComponentForAccount():\n | undefined\n | React.ComponentType<{cluster: string; account: string}>;\n getMonitorComponentForBundle():\n | undefined\n | React.ComponentType<{cluster: string; tablet_cell_bundle: string; bundleData: any}>;\n getMonitorComponentForOperation():\n | undefined\n | React.ComponentType<{\n cluster: string;\n operation: {\n startTime: string;\n finishTime?: string;\n pools?: Array<{pool: string; tree: string; slotIndex: number}>;\n };\n }>;\n getMonitorComponentForJob():\n | undefined\n | React.ComponentType<{\n cluster: string;\n job_descriptor: string;\n from?: number;\n to?: number;\n }>;\n\n getStatisticsComponentForAccount():\n | undefined\n | React.ComponentType<{\n cluster: string;\n account: string;\n accountSubtreeAllNames: Array<string>;\n theme: string;\n }>;\n\n getStatisticsComponentForBundle():\n | undefined\n | React.ComponentType<{cluster: string; bundle: string; theme: string}>;\n\n renderNavigationExtraActions(params: {\n className?: string;\n cluster: string;\n path: string;\n type: string;\n attributes: unknown;\n }): React.ReactNode;\n\n loadClustersAvailability(): Promise<Array<{id: string; availability?: 1}>>;\n\n renderSchedulingLastDayMaximum(props: {\n className?: string;\n cluster: string;\n tree: string;\n title?: string;\n sensor: 'max_operation_count' | 'max_running_operation_count';\n format?(sensorValue?: number): string;\n current?: {value: string; title: string};\n showHint?: boolean;\n showAsLink?: boolean;\n }): React.ReactNode;\n\n renderComponentsNodeCardTop(props: {\n className?: string;\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): React.ReactNode;\n\n getComponentsNodeDashboardUrl(props: {cluster: string; host: string}): {\n url?: string;\n title?: string;\n };\n\n renderTransferQuotaNoticeForPool(props: {\n className?: string;\n pool?: PoolInfo;\n parentPool?: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n isTopLevel?: boolean;\n }): React.ReactNode;\n\n renderTransferQuotaNoticeForAccount(props: {\n className?: string;\n isTopLevel?: boolean;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForAccount(props: {\n className?: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForPool(props: {\n itemClassName?: string;\n pool?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForBundle(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n getExtraMetaTableItemsForComponentsNode(props: {\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForPool(props: {\n pool: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForBundle(props: {\n bundle: TabletBundle;\n clusterUiConfig: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n renderAccountsTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n account: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderSchedulingTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n pool: unknown;\n clusterUiConfig: ClusterUiConfig;\n }): React.ReactNode;\n\n renderBundlesTableItemExtraControls(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderControlAbcService<T extends {slug: string; id?: number}>(props: {\n className?: string;\n value?: T;\n onChange: (v?: T) => void;\n placeholder?: string;\n disabled?: boolean;\n }): React.ReactNode;\n\n makeSupportContent(\n params: {login: string; cluster?: string; buttonToWrap?: React.ReactNode},\n makeContent: (onSupportClick: () => void) => React.ReactNode,\n ): React.ReactNode;\n\n getComponentForConsumerMetrics():\n | undefined\n | React.ComponentType<{\n cluster: string;\n path: string;\n targetQueue?: string;\n }>;\n\n getComonentForQueueMetrics(): undefined | React.ComponentType<{cluster: string; path: string}>;\n\n renderTableCellBundleEditorNotice(props: {\n bundleData?: {$attributes: unknown};\n }): React.ReactNode;\n\n getNodeDeployUrl(ypCluster?: string, podId?: string): string | undefined;\n getNodeNannyUrl(params: {\n pod_id?: string;\n nanny_service?: string;\n yp_cluster?: string;\n }): string | undefined;\n\n renderAppNavigation(props: AppNavigationProps): React.ReactElement;\n\n createNotificationUrl(clusterConfig?: ClusterConfig): string | undefined;\n\n wrapApp(app: React.ReactElement): React.ReactElement;\n\n externalSchemaDescriptionSetup: {\n caption?: string;\n load(cluster: string, path: string): Promise<ExternalSchemaDescriptionResponse>;\n };\n\n getAclApi(): AclApi;\n\n renderAclSubjectsSuggestControl(props: SubjectsControlProps): React.ReactNode;\n\n renderRolesLink(params: {cluster: string; login: string; className?: string}): React.ReactNode;\n\n getExternalSettings(params: {\n cluster: string;\n login: string;\n isAdmin: boolean;\n }): Array<SettingsPage>;\n\n renderUserSuggest(props: UserSuggestProps): React.ReactNode;\n\n yqlWidgetSetup?: {\n renderButton(props: {className?: string; isSplit?: string}): React.ReactNode;\n renderWidget(props: {cluster: string; path: string; attributes: unknown}): React.ReactNode;\n renderYqlOperationLink(yqlOperationId: string): React.ReactNode;\n };\n\n getAdminPages(): string[];\n\n docsUrls: DocsUrls;\n}\n\nconst adminPages: string[] = [];\n\nconst uiFactory: UIFactory = {\n getClusterAppearance() {\n return undefined;\n },\n isWatchMen() {\n return false;\n },\n makeUrlForExternalUser() {\n return undefined;\n },\n makeUrlForTransferTask() {\n return undefined;\n },\n makeUrlForNodeIO() {\n return undefined;\n },\n makeUrlForTabletCellBundleDashboard() {\n return undefined;\n },\n makeUrlForMonitoringDescriptor() {\n return undefined;\n },\n makeUrlForUserDashboard() {\n return undefined;\n },\n\n getExtaClusterPages() {\n return [];\n },\n getExtraRootPages() {\n return [];\n },\n\n getExtraReducersAndUrlMapping() {\n return undefined;\n },\n\n getSchedulingExtraTabs() {\n return [];\n },\n\n getMonitorComponentForAccount() {\n return undefined;\n },\n getMonitorComponentForBundle() {\n return undefined;\n },\n getMonitorComponentForOperation() {\n return undefined;\n },\n getMonitorComponentForJob() {\n return undefined;\n },\n getStatisticsComponentForAccount() {\n return undefined;\n },\n getStatisticsComponentForBundle() {\n return undefined;\n },\n\n renderNavigationExtraActions() {\n return null;\n },\n\n loadClustersAvailability() {\n return Promise.resolve([]);\n },\n\n renderSchedulingLastDayMaximum() {\n return undefined;\n },\n\n renderComponentsNodeCardTop() {\n return undefined;\n },\n\n getExtraMetaTableItemsForComponentsNode() {\n return undefined;\n },\n\n getExtraMetaTableItemsForPool() {\n return undefined;\n },\n\n getExtraMetaTableItemsForBundle() {\n return undefined;\n },\n\n getComponentsNodeDashboardUrl() {\n return {};\n },\n\n renderTransferQuotaNoticeForPool() {\n return undefined;\n },\n\n renderTransferQuotaNoticeForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForPool() {\n return undefined;\n },\n\n renderTopRowExtraControlsForBundle() {\n return undefined;\n },\n\n renderAccountsTableItemExtraControls() {\n return undefined;\n },\n\n renderSchedulingTableItemExtraControls() {\n return undefined;\n },\n\n renderBundlesTableItemExtraControls() {\n return undefined;\n },\n\n renderControlAbcService() {\n return undefined;\n },\n\n makeSupportContent() {\n return undefined;\n },\n\n getComponentForConsumerMetrics() {\n return undefined;\n },\n\n getComonentForQueueMetrics() {\n return undefined;\n },\n\n renderTableCellBundleEditorNotice() {\n return undefined;\n },\n\n getNodeDeployUrl() {\n return undefined;\n },\n\n getNodeNannyUrl() {\n return undefined;\n },\n\n renderAppNavigation(props) {\n return <AppNavigationComponent {...props} />;\n },\n\n createNotificationUrl() {\n return undefined;\n },\n\n wrapApp(app) {\n return app;\n },\n\n externalSchemaDescriptionSetup: {\n load(_cluster: string, _path: string) {\n return Promise.resolve({});\n },\n },\n\n getAclApi() {\n return defaultAclApi;\n },\n\n renderAclSubjectsSuggestControl() {\n return <span>AclSubjectsSuggestControl is not implemented</span>;\n },\n\n renderRolesLink() {\n return undefined;\n },\n\n getExternalSettings() {\n return [];\n },\n\n renderUserSuggest(props) {\n return <YTUserSuggest {...props} />;\n },\n\n getAdminPages() {\n return adminPages;\n },\n\n docsUrls: docsUrls,\n};\n\nfunction configureUIFactoryItem<K extends keyof UIFactory>(k: K, redefinition: UIFactory[K]) {\n uiFactory[k] = redefinition;\n}\n\nexport function configureUIFactory(overrides: Partial<UIFactory>) {\n _.forEach(overrides, (_v, k) => {\n const key = k as keyof UIFactory;\n configureUIFactoryItem(key, overrides[key]!);\n });\n}\n\nexport default new Proxy(uiFactory, {\n set: () => {\n throw new Error('Use configureUIFactory(...) method instead of direct modifications');\n },\n});\n\nexport function isAbcAllowed() {\n const abc = uiFactory.renderControlAbcService({\n onChange: () => {},\n value: {id: 123, slug: '123'},\n });\n return Boolean(abc);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","AppNavigationComponent","defaultAclApi","YTUserSuggest","docsUrls","jsx","_jsx","adminPages","uiFactory","getClusterAppearance","undefined","isWatchMen","makeUrlForExternalUser","makeUrlForTransferTask","makeUrlForNodeIO","makeUrlForTabletCellBundleDashboard","makeUrlForMonitoringDescriptor","makeUrlForUserDashboard","getExtaClusterPages","getExtraRootPages","getExtraReducersAndUrlMapping","getSchedulingExtraTabs","getMonitorComponentForAccount","getMonitorComponentForBundle","getMonitorComponentForOperation","getMonitorComponentForJob","getStatisticsComponentForAccount","getStatisticsComponentForBundle","renderNavigationExtraActions","loadClustersAvailability","Promise","resolve","renderSchedulingLastDayMaximum","renderComponentsNodeCardTop","getExtraMetaTableItemsForComponentsNode","getExtraMetaTableItemsForPool","getExtraMetaTableItemsForBundle","getComponentsNodeDashboardUrl","renderTransferQuotaNoticeForPool","renderTransferQuotaNoticeForAccount","renderTopRowExtraControlsForAccount","renderTopRowExtraControlsForPool","renderTopRowExtraControlsForBundle","renderAccountsTableItemExtraControls","renderSchedulingTableItemExtraControls","renderBundlesTableItemExtraControls","renderControlAbcService","makeSupportContent","getComponentForConsumerMetrics","getComonentForQueueMetrics","renderTableCellBundleEditorNotice","getNodeDeployUrl","getNodeNannyUrl","renderAppNavigation","props","_objectSpread","createNotificationUrl","wrapApp","app","externalSchemaDescriptionSetup","load","_cluster","_path","getAclApi","renderAclSubjectsSuggestControl","children","renderRolesLink","getExternalSettings","renderUserSuggest","getAdminPages","configureUIFactoryItem","k","redefinition","configureUIFactory","overrides","_forEach","_v","key","Proxy","set","Error","isAbcAllowed","abc","onChange","value","id","slug","Boolean"],"sources":["UIFactory.tsx"],"sourcesContent":["import {SVGIconData} from '@gravity-ui/uikit/build/esm/components/Icon/types';\nimport {MetaTableItem} from './components/MetaTable/MetaTable';\nimport _ from 'lodash';\nimport React from 'react';\nimport {Reducer} from 'redux';\nimport {PathParameters} from './store/location';\nimport {ClusterUiConfig} from './store/reducers/global/cluster-ui-config';\nimport {TabletBundle} from './store/reducers/tablet_cell_bundles';\nimport {PoolInfo} from './store/selectors/scheduling/scheduling-pools';\nimport {ClusterConfig} from '../shared/yt-types';\nimport {ClusterAppearance} from './appearance';\nimport AppNavigationComponent, {\n AppNavigationProps,\n} from './containers/AppNavigation/AppNavigationComponent';\nimport {ExternalSchemaDescription} from './pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription';\nimport {AclApi, defaultAclApi} from './utils/acl/external-acl-api';\nimport {SubjectsControlProps} from './components/ACL/SubjectsControl/SubjectsControl';\nimport {SettingsPage} from './containers/SettingsPanel/settings-description';\nimport {UserSuggestProps} from './containers/UserSuggest/UserSuggest';\nimport {YTUserSuggest} from './containers/UserSuggest/YTUserSuggest';\nimport {docsUrls, DocsUrls} from './constants/docsUrls';\n\ntype HeaderItemOrPage =\n | {\n href: string;\n\n pageId?: undefined;\n reactComponent?: undefined;\n reducers?: undefined;\n urlMapping?: undefined;\n }\n | {\n pageId?: string;\n reactComponent?: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n\n href?: undefined;\n };\n\nexport type UIFactoryRootPageInfo = HeaderItemOrPage & {\n title: string;\n getVisible?: () => Promise<boolean>;\n};\n\nexport interface UIFactoryClusterPageInfo {\n title: string;\n pageId: string; // also used as urlMatch for <Route path={`/:cluster/${pageId}`} ... />\n svgIcon?: SVGIconData;\n reducers?: Record<string, Reducer>;\n reactComponent: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n topRowComponent?: React.ComponentType<any>; // used as component for <Route ... component={topRowComponent} />\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface ExternalSchemaDescriptionResponse {\n url?: string;\n externalSchema?: Map<string, ExternalSchemaDescription>;\n}\n\nexport interface ReducersAndUrlMapping {\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface SchedulingExtraTab {\n name: string;\n title?: string;\n component: React.ComponentType<any>;\n}\n\nexport interface UIFactory {\n getClusterAppearance(cluster?: string): undefined | ClusterAppearance;\n\n isWatchMen(login: string): boolean;\n\n makeUrlForExternalUser(login: string): string | undefined;\n makeUrlForTransferTask(operation: unknown): string | undefined;\n makeUrlForNodeIO(cluster: string, host?: string): string | undefined;\n makeUrlForTabletCellBundleDashboard(cluster: string, bundle: string): string | undefined;\n makeUrlForMonitoringDescriptor(\n cluster: string,\n timeRange: {from: string; to?: string},\n monitoring_descriptor?: string,\n ): string | undefined;\n makeUrlForUserDashboard(cluster: string, user: string): string | undefined;\n\n getExtaClusterPages(): Array<UIFactoryClusterPageInfo>;\n getExtraRootPages(): Array<UIFactoryRootPageInfo>;\n\n getExtraReducersAndUrlMapping(): undefined | ReducersAndUrlMapping;\n getSchedulingExtraTabs(params: {\n cluster: string;\n pool: string;\n tree: string;\n extraOptions: {\n isRoot?: boolean;\n isEphemeral?: boolean | undefined;\n };\n }): Array<SchedulingExtraTab>;\n\n getMonitorComponentForAccount():\n | undefined\n | React.ComponentType<{cluster: string; account: string}>;\n getMonitorComponentForBundle():\n | undefined\n | React.ComponentType<{cluster: string; tablet_cell_bundle: string; bundleData: any}>;\n getMonitorComponentForOperation():\n | undefined\n | React.ComponentType<{\n cluster: string;\n operation: {\n startTime: string;\n finishTime?: string;\n pools?: Array<{pool: string; tree: string; slotIndex: number}>;\n };\n }>;\n getMonitorComponentForJob():\n | undefined\n | React.ComponentType<{\n cluster: string;\n job_descriptor: string;\n from?: number;\n to?: number;\n }>;\n\n getStatisticsComponentForAccount():\n | undefined\n | React.ComponentType<{\n cluster: string;\n account: string;\n accountSubtreeAllNames: Array<string>;\n theme: string;\n }>;\n\n getStatisticsComponentForBundle():\n | undefined\n | React.ComponentType<{cluster: string; bundle: string; theme: string}>;\n\n renderNavigationExtraActions(params: {\n className?: string;\n cluster: string;\n path: string;\n type: string;\n attributes: unknown;\n }): React.ReactNode;\n\n loadClustersAvailability(): Promise<Array<{id: string; availability?: 1}>>;\n\n renderSchedulingLastDayMaximum(props: {\n className?: string;\n cluster: string;\n tree: string;\n title?: string;\n sensor: 'max_operation_count' | 'max_running_operation_count';\n format?(sensorValue?: number): string;\n current?: {value: string; title: string};\n showHint?: boolean;\n showAsLink?: boolean;\n }): React.ReactNode;\n\n renderComponentsNodeCardTop(props: {\n className?: string;\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): React.ReactNode;\n\n getComponentsNodeDashboardUrl(props: {cluster: string; host: string}): {\n url?: string;\n title?: string;\n };\n\n renderTransferQuotaNoticeForPool(props: {\n className?: string;\n pool?: PoolInfo;\n parentPool?: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n isTopLevel?: boolean;\n }): React.ReactNode;\n\n renderTransferQuotaNoticeForAccount(props: {\n className?: string;\n isTopLevel?: boolean;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForAccount(props: {\n className?: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForPool(props: {\n itemClassName?: string;\n pool?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForBundle(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n getExtraMetaTableItemsForComponentsNode(props: {\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForPool(props: {\n pool: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForBundle(props: {\n bundle: TabletBundle;\n clusterUiConfig: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n renderAccountsTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n account: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderSchedulingTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n pool: unknown;\n clusterUiConfig: ClusterUiConfig;\n }): React.ReactNode;\n\n renderBundlesTableItemExtraControls(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderControlAbcService<T extends {slug: string; id?: number}>(props: {\n className?: string;\n value?: T;\n onChange: (v?: T) => void;\n placeholder?: string;\n disabled?: boolean;\n }): React.ReactNode;\n\n makeSupportContent(\n params: {login: string; cluster?: string; buttonToWrap?: React.ReactNode},\n makeContent: (onSupportClick: () => void) => React.ReactNode,\n ): React.ReactNode;\n\n getComponentForConsumerMetrics():\n | undefined\n | React.ComponentType<{\n cluster: string;\n path: string;\n targetQueue?: string;\n }>;\n\n getComonentForQueueMetrics(): undefined | React.ComponentType<{cluster: string; path: string}>;\n\n renderTableCellBundleEditorNotice(props: {\n bundleData?: {$attributes: unknown};\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n getNodeDeployUrl(ypCluster?: string, podId?: string): string | undefined;\n getNodeNannyUrl(params: {\n pod_id?: string;\n nanny_service?: string;\n yp_cluster?: string;\n }): string | undefined;\n\n renderAppNavigation(props: AppNavigationProps): React.ReactElement;\n\n createNotificationUrl(clusterConfig?: ClusterConfig): string | undefined;\n\n wrapApp(app: React.ReactElement): React.ReactElement;\n\n externalSchemaDescriptionSetup: {\n caption?: string;\n load(cluster: string, path: string): Promise<ExternalSchemaDescriptionResponse>;\n };\n\n getAclApi(): AclApi;\n\n renderAclSubjectsSuggestControl(props: SubjectsControlProps): React.ReactNode;\n\n renderRolesLink(params: {cluster: string; login: string; className?: string}): React.ReactNode;\n\n getExternalSettings(params: {\n cluster: string;\n login: string;\n isAdmin: boolean;\n }): Array<SettingsPage>;\n\n renderUserSuggest(props: UserSuggestProps): React.ReactNode;\n\n yqlWidgetSetup?: {\n renderButton(props: {className?: string; isSplit?: string}): React.ReactNode;\n renderWidget(props: {cluster: string; path: string; attributes: unknown}): React.ReactNode;\n renderYqlOperationLink(yqlOperationId: string): React.ReactNode;\n };\n\n getAdminPages(): string[];\n\n docsUrls: DocsUrls;\n}\n\nconst adminPages: string[] = [];\n\nconst uiFactory: UIFactory = {\n getClusterAppearance() {\n return undefined;\n },\n isWatchMen() {\n return false;\n },\n makeUrlForExternalUser() {\n return undefined;\n },\n makeUrlForTransferTask() {\n return undefined;\n },\n makeUrlForNodeIO() {\n return undefined;\n },\n makeUrlForTabletCellBundleDashboard() {\n return undefined;\n },\n makeUrlForMonitoringDescriptor() {\n return undefined;\n },\n makeUrlForUserDashboard() {\n return undefined;\n },\n\n getExtaClusterPages() {\n return [];\n },\n getExtraRootPages() {\n return [];\n },\n\n getExtraReducersAndUrlMapping() {\n return undefined;\n },\n\n getSchedulingExtraTabs() {\n return [];\n },\n\n getMonitorComponentForAccount() {\n return undefined;\n },\n getMonitorComponentForBundle() {\n return undefined;\n },\n getMonitorComponentForOperation() {\n return undefined;\n },\n getMonitorComponentForJob() {\n return undefined;\n },\n getStatisticsComponentForAccount() {\n return undefined;\n },\n getStatisticsComponentForBundle() {\n return undefined;\n },\n\n renderNavigationExtraActions() {\n return null;\n },\n\n loadClustersAvailability() {\n return Promise.resolve([]);\n },\n\n renderSchedulingLastDayMaximum() {\n return undefined;\n },\n\n renderComponentsNodeCardTop() {\n return undefined;\n },\n\n getExtraMetaTableItemsForComponentsNode() {\n return undefined;\n },\n\n getExtraMetaTableItemsForPool() {\n return undefined;\n },\n\n getExtraMetaTableItemsForBundle() {\n return undefined;\n },\n\n getComponentsNodeDashboardUrl() {\n return {};\n },\n\n renderTransferQuotaNoticeForPool() {\n return undefined;\n },\n\n renderTransferQuotaNoticeForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForPool() {\n return undefined;\n },\n\n renderTopRowExtraControlsForBundle() {\n return undefined;\n },\n\n renderAccountsTableItemExtraControls() {\n return undefined;\n },\n\n renderSchedulingTableItemExtraControls() {\n return undefined;\n },\n\n renderBundlesTableItemExtraControls() {\n return undefined;\n },\n\n renderControlAbcService() {\n return undefined;\n },\n\n makeSupportContent() {\n return undefined;\n },\n\n getComponentForConsumerMetrics() {\n return undefined;\n },\n\n getComonentForQueueMetrics() {\n return undefined;\n },\n\n renderTableCellBundleEditorNotice() {\n return undefined;\n },\n\n getNodeDeployUrl() {\n return undefined;\n },\n\n getNodeNannyUrl() {\n return undefined;\n },\n\n renderAppNavigation(props) {\n return <AppNavigationComponent {...props} />;\n },\n\n createNotificationUrl() {\n return undefined;\n },\n\n wrapApp(app) {\n return app;\n },\n\n externalSchemaDescriptionSetup: {\n load(_cluster: string, _path: string) {\n return Promise.resolve({});\n },\n },\n\n getAclApi() {\n return defaultAclApi;\n },\n\n renderAclSubjectsSuggestControl() {\n return <span>AclSubjectsSuggestControl is not implemented</span>;\n },\n\n renderRolesLink() {\n return undefined;\n },\n\n getExternalSettings() {\n return [];\n },\n\n renderUserSuggest(props) {\n return <YTUserSuggest {...props} />;\n },\n\n getAdminPages() {\n return adminPages;\n },\n\n docsUrls: docsUrls,\n};\n\nfunction configureUIFactoryItem<K extends keyof UIFactory>(k: K, redefinition: UIFactory[K]) {\n uiFactory[k] = redefinition;\n}\n\nexport function configureUIFactory(overrides: Partial<UIFactory>) {\n _.forEach(overrides, (_v, k) => {\n const key = k as keyof UIFactory;\n configureUIFactoryItem(key, overrides[key]!);\n });\n}\n\nexport default new Proxy(uiFactory, {\n set: () => {\n throw new Error('Use configureUIFactory(...) method instead of direct modifications');\n },\n});\n\nexport function isAbcAllowed() {\n const abc = uiFactory.renderControlAbcService({\n onChange: () => {},\n value: {id: 123, slug: '123'},\n });\n return Boolean(abc);\n}\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ function preformat(value) {
13
13
  return value;
14
14
  }
15
15
  function postformat(value) {
16
- var replacements = [['acl', 'ACL'], ['id', 'Id'], ['cpu', 'CPU'], ['gpu', 'GPU'], ['In memory', 'In-memory'], ['Yt', 'YT'], ['Yamr', 'YaMR'], ['Io', 'IO'], ['Ssd', 'SSD'], ['hdd', 'HDD'], ['Rpc', 'RPC'], ['tablet-cell-bundle', 'TABLET CELL BUNDLE'], ['Fifo', 'FIFO'], ['Http', 'HTTP'], ['lastVisited', 'Visited']];
16
+ var replacements = [['acl', 'ACL'], ['id', 'Id'], ['cpu', 'CPU'], ['gpu', 'GPU'], ['In memory', 'In-memory'], ['Yt', 'YT'], ['Yamr', 'YaMR'], ['Io', 'IO'], ['Ssd', 'SSD'], ['hdd', 'HDD'], ['Rpc', 'RPC'], ['VCPU', 'vCPU'], ['vcpu', 'vCPU'], ['tablet-cell-bundle', 'TABLET CELL BUNDLE'], ['Fifo', 'FIFO'], ['Http', 'HTTP'], ['lastVisited', 'Visited']];
17
17
  _.each(replacements, function (replacementSettings) {
18
18
  var regex = new RegExp('(^|\\s)(' + replacementSettings[0] + ')($|\\s)', 'i');
19
19
  var replacement = '$1' + replacementSettings[1] + '$3';
@@ -1 +1 @@
1
- {"version":3,"names":["hammer","require","_","format","parseSetting","_hammer$utils","utils","apply","arguments","preformat","value","replacements","each","replacementSettings","replace","postformat","regex","RegExp","replacement","settings","formatted","delimiter","caps","HYPHEN","rackPartRegex","vector","currentMatch","exec","push","parseInt","toLowerCase","substring","index","length","tmp","Number","isNaN","undefined","Math","floor","concat","digits"],"sources":["format.js"],"sourcesContent":["const hammer = require('@ytsaurus/interface-helpers/lib/hammer');\nconst _ = require('lodash');\n\nconst format = hammer.format;\n\nfunction parseSetting(...args) {\n return hammer.utils.parseSetting(...args);\n}\n\nfunction preformat(value) {\n const replacements = [\n ['dynamic_row_read_rate', 'dynamic_read'],\n ['dynamic_row_lookup_rate', 'dynamic_lookup'],\n ['dynamic_row_delete_rate', 'dynamic_delete'],\n ['dynamic_row_write_rate', 'dynamic_write'],\n ['static_chunk_row_read_rate', 'static_chunk_read'],\n ['static_chunk_row_lookup_rate', 'static_chunk_lookup'],\n ['unmerged_row_read_rate', 'unmerged_read'],\n ['merged_row_read_rate', 'merged_read'],\n [/_count$/, 's'],\n [/_data_size$/, '_size'],\n ];\n\n _.each(replacements, (replacementSettings) => {\n value = value.replace.apply(value, replacementSettings);\n });\n\n return value;\n}\n\nfunction postformat(value) {\n const replacements = [\n ['acl', 'ACL'],\n ['id', 'Id'],\n ['cpu', 'CPU'],\n ['gpu', 'GPU'],\n ['In memory', 'In-memory'],\n ['Yt', 'YT'],\n ['Yamr', 'YaMR'],\n ['Io', 'IO'],\n ['Ssd', 'SSD'],\n ['hdd', 'HDD'],\n ['Rpc', 'RPC'],\n ['tablet-cell-bundle', 'TABLET CELL BUNDLE'],\n ['Fifo', 'FIFO'],\n ['Http', 'HTTP'],\n ['lastVisited', 'Visited'],\n ];\n\n _.each(replacements, (replacementSettings) => {\n const regex = new RegExp('(^|\\\\s)(' + replacementSettings[0] + ')($|\\\\s)', 'i');\n const replacement = '$1' + replacementSettings[1] + '$3';\n value = value.replace(regex, replacement);\n });\n\n return value;\n}\n\n/**\n * Formats API fields. E.g uncompressed_data_size -> Uncompressed size, partition_count -> Partitions\n * @param {String} value\n * @param {Object} settings\n * @returns {String}\n */\nformat['ReadableField'] = function (value, settings) {\n settings = settings || {};\n\n let formatted = value;\n\n if (formatted) {\n formatted = preformat(formatted);\n formatted = format['Readable'](formatted, {\n delimiter: '_',\n caps: parseSetting(settings, 'caps', 'first'),\n });\n formatted = postformat(formatted);\n }\n\n return formatted;\n};\n\nformat['UnderscoreToHyphen'] = format['CssTemplateField'] = function (value) {\n let formatted = value;\n if (formatted) {\n formatted = preformat(formatted).replace(/_/g, hammer.format.HYPHEN);\n }\n return formatted;\n};\n\n/**\n * Parses words and number in rack name and returns a vector that can be used for sorting\n * @param value {String}\n * @returns {Array}\n * @constructor\n */\nformat['RackToVector'] = function (value) {\n const rackPartRegex = /([a-z]+)|(\\d+)|([-.])/i;\n const vector = [];\n let currentMatch;\n\n if (typeof value !== 'undefined') {\n do {\n currentMatch = rackPartRegex.exec(value);\n\n if (currentMatch !== null) {\n if (currentMatch[2]) {\n vector.push(parseInt(currentMatch[2], 10));\n } else if (currentMatch[1]) {\n vector.push(currentMatch[1].toLowerCase());\n } else {\n vector.push(currentMatch[3]);\n }\n\n value = value.substring(currentMatch.index + currentMatch[0].length);\n }\n } while (currentMatch !== null);\n } else {\n vector.push(value);\n }\n\n return vector;\n};\n\nformat['vCores'] = function (value) {\n const tmp = Number.isNaN(value) ? undefined : Math.floor(value / 1000);\n return `${format.Number(tmp)} cores`;\n};\n\nformat['RowsPerSecond'] = function (value, settings = {digits: 2}) {\n if (!value) {\n return format.Number(value, settings);\n }\n return `${format.Number(value, settings)} rows/s`;\n};\n\nexport default format;\n"],"mappings":"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"}
1
+ {"version":3,"names":["hammer","require","_","format","parseSetting","_hammer$utils","utils","apply","arguments","preformat","value","replacements","each","replacementSettings","replace","postformat","regex","RegExp","replacement","settings","formatted","delimiter","caps","HYPHEN","rackPartRegex","vector","currentMatch","exec","push","parseInt","toLowerCase","substring","index","length","tmp","Number","isNaN","undefined","Math","floor","concat","digits"],"sources":["format.js"],"sourcesContent":["const hammer = require('@ytsaurus/interface-helpers/lib/hammer');\nconst _ = require('lodash');\n\nconst format = hammer.format;\n\nfunction parseSetting(...args) {\n return hammer.utils.parseSetting(...args);\n}\n\nfunction preformat(value) {\n const replacements = [\n ['dynamic_row_read_rate', 'dynamic_read'],\n ['dynamic_row_lookup_rate', 'dynamic_lookup'],\n ['dynamic_row_delete_rate', 'dynamic_delete'],\n ['dynamic_row_write_rate', 'dynamic_write'],\n ['static_chunk_row_read_rate', 'static_chunk_read'],\n ['static_chunk_row_lookup_rate', 'static_chunk_lookup'],\n ['unmerged_row_read_rate', 'unmerged_read'],\n ['merged_row_read_rate', 'merged_read'],\n [/_count$/, 's'],\n [/_data_size$/, '_size'],\n ];\n\n _.each(replacements, (replacementSettings) => {\n value = value.replace.apply(value, replacementSettings);\n });\n\n return value;\n}\n\nfunction postformat(value) {\n const replacements = [\n ['acl', 'ACL'],\n ['id', 'Id'],\n ['cpu', 'CPU'],\n ['gpu', 'GPU'],\n ['In memory', 'In-memory'],\n ['Yt', 'YT'],\n ['Yamr', 'YaMR'],\n ['Io', 'IO'],\n ['Ssd', 'SSD'],\n ['hdd', 'HDD'],\n ['Rpc', 'RPC'],\n ['VCPU', 'vCPU'],\n ['vcpu', 'vCPU'],\n ['tablet-cell-bundle', 'TABLET CELL BUNDLE'],\n ['Fifo', 'FIFO'],\n ['Http', 'HTTP'],\n ['lastVisited', 'Visited'],\n ];\n\n _.each(replacements, (replacementSettings) => {\n const regex = new RegExp('(^|\\\\s)(' + replacementSettings[0] + ')($|\\\\s)', 'i');\n const replacement = '$1' + replacementSettings[1] + '$3';\n value = value.replace(regex, replacement);\n });\n\n return value;\n}\n\n/**\n * Formats API fields. E.g uncompressed_data_size -> Uncompressed size, partition_count -> Partitions\n * @param {String} value\n * @param {Object} settings\n * @returns {String}\n */\nformat['ReadableField'] = function (value, settings) {\n settings = settings || {};\n\n let formatted = value;\n\n if (formatted) {\n formatted = preformat(formatted);\n formatted = format['Readable'](formatted, {\n delimiter: '_',\n caps: parseSetting(settings, 'caps', 'first'),\n });\n formatted = postformat(formatted);\n }\n\n return formatted;\n};\n\nformat['UnderscoreToHyphen'] = format['CssTemplateField'] = function (value) {\n let formatted = value;\n if (formatted) {\n formatted = preformat(formatted).replace(/_/g, hammer.format.HYPHEN);\n }\n return formatted;\n};\n\n/**\n * Parses words and number in rack name and returns a vector that can be used for sorting\n * @param value {String}\n * @returns {Array}\n * @constructor\n */\nformat['RackToVector'] = function (value) {\n const rackPartRegex = /([a-z]+)|(\\d+)|([-.])/i;\n const vector = [];\n let currentMatch;\n\n if (typeof value !== 'undefined') {\n do {\n currentMatch = rackPartRegex.exec(value);\n\n if (currentMatch !== null) {\n if (currentMatch[2]) {\n vector.push(parseInt(currentMatch[2], 10));\n } else if (currentMatch[1]) {\n vector.push(currentMatch[1].toLowerCase());\n } else {\n vector.push(currentMatch[3]);\n }\n\n value = value.substring(currentMatch.index + currentMatch[0].length);\n }\n } while (currentMatch !== null);\n } else {\n vector.push(value);\n }\n\n return vector;\n};\n\nformat['vCores'] = function (value) {\n const tmp = Number.isNaN(value) ? undefined : Math.floor(value / 1000);\n return `${format.Number(tmp)} cores`;\n};\n\nformat['RowsPerSecond'] = function (value, settings = {digits: 2}) {\n if (!value) {\n return format.Number(value, settings);\n }\n return `${format.Number(value, settings)} rows/s`;\n};\n\nexport default format;\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare class CollapsibleSectionStateLess extends Component<PropsStateLes
21
21
  toggle: () => void;
22
22
  render(): JSX.Element;
23
23
  }
24
- interface Props {
24
+ export interface Props {
25
25
  className?: string;
26
26
  name: React.ReactNode;
27
27
  collapsed?: boolean;
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","block","ErrorBoundary","Icon","jsx","_jsx","jsxs","_jsxs","b","headingCN","CollapsibleSectionStateLess","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","toggle","onToggle","props","collapsed","_createClass","key","value","render","_this$props","name","children","size","overview","className","clickable","onClick","awesome","defaultProps","CollapsibleSection","_React$useState","useState","_React$useState2","_slicedToArray","setCollapsed","onChange","useCallback","_objectSpread"],"sources":["CollapsibleSection.tsx"],"sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\n\nimport ErrorBoundary from '../../components/ErrorBoundary/ErrorBoundary';\n\nimport './CollapsibleSection.scss';\nimport Icon from '../../components/Icon/Icon';\n\nconst b = block('collapsible-section');\nconst headingCN = block('elements-heading');\n\ntype PropsStateLess = Props & {\n onToggle: Required<Props>['onToggle'];\n};\n\nexport class CollapsibleSectionStateLess extends Component<PropsStateLess> {\n static propTypes = {\n name: PropTypes.node.isRequired,\n collapsed: PropTypes.bool,\n onToggle: PropTypes.func.isRequired,\n size: PropTypes.oneOf(['s', 'ss', 'xs', 'm', 'l', 'xl']),\n children: PropTypes.node,\n overview: PropTypes.node,\n className: PropTypes.string,\n };\n\n static defaultProps = {\n size: 'm',\n collapsed: false,\n };\n\n toggle = () => {\n const {onToggle} = this.props;\n\n onToggle(!this.props.collapsed);\n };\n\n render() {\n const {name, children, size, overview, className, collapsed} = this.props;\n\n return (\n <ErrorBoundary>\n <div className={b(null, className)}>\n <div className={headingCN({size, overview: 'yes'})}>\n <span\n className={headingCN('heading', {\n clickable: 'yes',\n })}\n onClick={this.toggle}\n >\n {name}\n <a>\n <Icon\n className={b('toggler')}\n awesome={collapsed ? 'angle-down' : 'angle-up'}\n />\n </a>\n </span>\n {overview}\n </div>\n\n {!collapsed && <ErrorBoundary>{children}</ErrorBoundary>}\n </div>\n </ErrorBoundary>\n );\n }\n}\n\ninterface Props {\n className?: string;\n name: React.ReactNode;\n collapsed?: boolean;\n onToggle?: (value: boolean) => void;\n\n size?: 'unset' | 'xs' | 's' | 'ss' | 'ns' | 'n' | 'm' | 'l';\n children?: React.ReactNode;\n overview?: React.ReactNode;\n}\n\nexport default function CollapsibleSection(props: Props) {\n const {onToggle} = props;\n const [collapsed, setCollapsed] = React.useState(props.collapsed);\n\n const onChange = React.useCallback(\n (value: boolean) => {\n setCollapsed(value);\n if (onToggle) {\n onToggle(value);\n }\n },\n [setCollapsed, onToggle],\n );\n\n return <CollapsibleSectionStateLess {...props} onToggle={onChange} collapsed={collapsed} />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","block","ErrorBoundary","Icon","jsx","_jsx","jsxs","_jsxs","b","headingCN","CollapsibleSectionStateLess","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","toggle","onToggle","props","collapsed","_createClass","key","value","render","_this$props","name","children","size","overview","className","clickable","onClick","awesome","defaultProps","CollapsibleSection","_React$useState","useState","_React$useState2","_slicedToArray","setCollapsed","onChange","useCallback","_objectSpread"],"sources":["CollapsibleSection.tsx"],"sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\n\nimport ErrorBoundary from '../../components/ErrorBoundary/ErrorBoundary';\n\nimport './CollapsibleSection.scss';\nimport Icon from '../../components/Icon/Icon';\n\nconst b = block('collapsible-section');\nconst headingCN = block('elements-heading');\n\ntype PropsStateLess = Props & {\n onToggle: Required<Props>['onToggle'];\n};\n\nexport class CollapsibleSectionStateLess extends Component<PropsStateLess> {\n static propTypes = {\n name: PropTypes.node.isRequired,\n collapsed: PropTypes.bool,\n onToggle: PropTypes.func.isRequired,\n size: PropTypes.oneOf(['s', 'ss', 'xs', 'm', 'l', 'xl']),\n children: PropTypes.node,\n overview: PropTypes.node,\n className: PropTypes.string,\n };\n\n static defaultProps = {\n size: 'm',\n collapsed: false,\n };\n\n toggle = () => {\n const {onToggle} = this.props;\n\n onToggle(!this.props.collapsed);\n };\n\n render() {\n const {name, children, size, overview, className, collapsed} = this.props;\n\n return (\n <ErrorBoundary>\n <div className={b(null, className)}>\n <div className={headingCN({size, overview: 'yes'})}>\n <span\n className={headingCN('heading', {\n clickable: 'yes',\n })}\n onClick={this.toggle}\n >\n {name}\n <a>\n <Icon\n className={b('toggler')}\n awesome={collapsed ? 'angle-down' : 'angle-up'}\n />\n </a>\n </span>\n {overview}\n </div>\n\n {!collapsed && <ErrorBoundary>{children}</ErrorBoundary>}\n </div>\n </ErrorBoundary>\n );\n }\n}\n\nexport interface Props {\n className?: string;\n name: React.ReactNode;\n collapsed?: boolean;\n onToggle?: (value: boolean) => void;\n\n size?: 'unset' | 'xs' | 's' | 'ss' | 'ns' | 'n' | 'm' | 'l';\n children?: React.ReactNode;\n overview?: React.ReactNode;\n}\n\nexport default function CollapsibleSection(props: Props) {\n const {onToggle} = props;\n const [collapsed, setCollapsed] = React.useState(props.collapsed);\n\n const onChange = React.useCallback(\n (value: boolean) => {\n setCollapsed(value);\n if (onToggle) {\n onToggle(value);\n }\n },\n [setCollapsed, onToggle],\n );\n\n return <CollapsibleSectionStateLess {...props} onToggle={onChange} collapsed={collapsed} />;\n}\n"],"mappings":"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"}
@@ -9,5 +9,5 @@ export default function metaTablePresetMain(attributes: any): ({
9
9
  } | {
10
10
  key: string;
11
11
  value: React.ReactNode;
12
- visible: React.ReactNode;
12
+ visible: boolean;
13
13
  })[];
@@ -58,7 +58,7 @@ export default function metaTablePresetMain(attributes) {
58
58
  }, {
59
59
  key: 'YQL operation',
60
60
  value: yqlLink,
61
- visible: yqlLink
61
+ visible: Boolean(yqlLink)
62
62
  }];
63
63
  }
64
64
  // #sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ypath","Template","UserCard","AccountLink","UIFactory","jsx","_jsx","metaTablePresetMain","attributes","_UIFactory$yqlWidgetS","_ypath$getValues","getValues","_ypath$getValues2","_slicedToArray","id","owner","account","creationTime","modificationTime","accessTime","yql_op_id","yqlLink","yqlWidgetSetup","renderYqlOperationLink","key","value","Id","userName","visible","Boolean","Time","time","valueFormat"],"sources":["main.js"],"sourcesContent":["import React from 'react';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\nimport {Template} from '../../../components/MetaTable/templates/Template';\nimport {UserCard} from '../../UserLink/UserLink';\nimport AccountLink from '../../../pages/accounts/AccountLink';\nimport UIFactory from '../../../UIFactory';\n\nexport default function metaTablePresetMain(attributes) {\n const [id, owner, account, creationTime, modificationTime, accessTime, yql_op_id] =\n ypath.getValues(attributes, [\n '/id',\n '/owner',\n '/account',\n '/creation_time',\n '/modification_time',\n '/access_time',\n '/_yql_op_id',\n ]);\n\n const yqlLink = yql_op_id ? UIFactory.yqlWidgetSetup?.renderYqlOperationLink(yql_op_id) : null;\n\n return [\n {\n key: 'id',\n value: <Template.Id id={id} />,\n },\n {\n key: 'owner',\n value: <UserCard userName={owner} />,\n },\n {\n key: 'account',\n value: <AccountLink account={account} />,\n visible: Boolean(account),\n },\n {\n key: 'creation_time',\n value: <Template.Time time={creationTime} valueFormat=\"DateTime\" />,\n visible: Boolean(creationTime),\n },\n {\n key: 'modification_time',\n value: <Template.Time time={modificationTime} valueFormat=\"DateTime\" />,\n visible: Boolean(modificationTime),\n },\n {\n key: 'access_time',\n value: <Template.Time time={accessTime} valueFormat=\"DateTime\" />,\n visible: Boolean(accessTime),\n },\n {\n key: 'YQL operation',\n value: yqlLink,\n visible: yqlLink,\n },\n ];\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,uCAAuC;AACzD,SAAQC,QAAQ,QAAO,kDAAkD;AACzE,SAAQC,QAAQ,QAAO,yBAAyB;AAChD,OAAOC,WAAW,MAAM,qCAAqC;AAC7D,OAAOC,SAAS,MAAM,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,eAAe,SAASC,mBAAmBA,CAACC,UAAU,EAAE;EAAA,IAAAC,qBAAA;EACpD,IAAAC,gBAAA,GACIV,KAAK,CAACW,SAAS,CAACH,UAAU,EAAE,CACxB,KAAK,EACL,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,aAAa,CAChB,CAAC;IAAAI,iBAAA,GAAAC,cAAA,CAAAH,gBAAA;IATCI,EAAE,GAAAF,iBAAA;IAAEG,KAAK,GAAAH,iBAAA;IAAEI,OAAO,GAAAJ,iBAAA;IAAEK,YAAY,GAAAL,iBAAA;IAAEM,gBAAgB,GAAAN,iBAAA;IAAEO,UAAU,GAAAP,iBAAA;IAAEQ,SAAS,GAAAR,iBAAA;EAWhF,IAAMS,OAAO,GAAGD,SAAS,IAAAX,qBAAA,GAAGL,SAAS,CAACkB,cAAc,cAAAb,qBAAA,uBAAxBA,qBAAA,CAA0Bc,sBAAsB,CAACH,SAAS,CAAC,GAAG,IAAI;EAE9F,OAAO,CACH;IACII,GAAG,EAAE,IAAI;IACTC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAACyB,EAAE;MAACZ,EAAE,EAAEA;IAAG;EAC/B,CAAC,EACD;IACIU,GAAG,EAAE,OAAO;IACZC,KAAK,eAAEnB,IAAA,CAACJ,QAAQ;MAACyB,QAAQ,EAAEZ;IAAM;EACrC,CAAC,EACD;IACIS,GAAG,EAAE,SAAS;IACdC,KAAK,eAAEnB,IAAA,CAACH,WAAW;MAACa,OAAO,EAAEA;IAAQ,EAAG;IACxCY,OAAO,EAAEC,OAAO,CAACb,OAAO;EAC5B,CAAC,EACD;IACIQ,GAAG,EAAE,eAAe;IACpBC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAAC6B,IAAI;MAACC,IAAI,EAAEd,YAAa;MAACe,WAAW,EAAC;IAAU,EAAG;IACnEJ,OAAO,EAAEC,OAAO,CAACZ,YAAY;EACjC,CAAC,EACD;IACIO,GAAG,EAAE,mBAAmB;IACxBC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAAC6B,IAAI;MAACC,IAAI,EAAEb,gBAAiB;MAACc,WAAW,EAAC;IAAU,EAAG;IACvEJ,OAAO,EAAEC,OAAO,CAACX,gBAAgB;EACrC,CAAC,EACD;IACIM,GAAG,EAAE,aAAa;IAClBC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAAC6B,IAAI;MAACC,IAAI,EAAEZ,UAAW;MAACa,WAAW,EAAC;IAAU,EAAG;IACjEJ,OAAO,EAAEC,OAAO,CAACV,UAAU;EAC/B,CAAC,EACD;IACIK,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAEJ,OAAO;IACdO,OAAO,EAAEP;EACb,CAAC,CACJ;AACL"}
1
+ {"version":3,"names":["React","ypath","Template","UserCard","AccountLink","UIFactory","jsx","_jsx","metaTablePresetMain","attributes","_UIFactory$yqlWidgetS","_ypath$getValues","getValues","_ypath$getValues2","_slicedToArray","id","owner","account","creationTime","modificationTime","accessTime","yql_op_id","yqlLink","yqlWidgetSetup","renderYqlOperationLink","key","value","Id","userName","visible","Boolean","Time","time","valueFormat"],"sources":["main.js"],"sourcesContent":["import React from 'react';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\nimport {Template} from '../../../components/MetaTable/templates/Template';\nimport {UserCard} from '../../UserLink/UserLink';\nimport AccountLink from '../../../pages/accounts/AccountLink';\nimport UIFactory from '../../../UIFactory';\n\nexport default function metaTablePresetMain(attributes) {\n const [id, owner, account, creationTime, modificationTime, accessTime, yql_op_id] =\n ypath.getValues(attributes, [\n '/id',\n '/owner',\n '/account',\n '/creation_time',\n '/modification_time',\n '/access_time',\n '/_yql_op_id',\n ]);\n\n const yqlLink = yql_op_id ? UIFactory.yqlWidgetSetup?.renderYqlOperationLink(yql_op_id) : null;\n\n return [\n {\n key: 'id',\n value: <Template.Id id={id} />,\n },\n {\n key: 'owner',\n value: <UserCard userName={owner} />,\n },\n {\n key: 'account',\n value: <AccountLink account={account} />,\n visible: Boolean(account),\n },\n {\n key: 'creation_time',\n value: <Template.Time time={creationTime} valueFormat=\"DateTime\" />,\n visible: Boolean(creationTime),\n },\n {\n key: 'modification_time',\n value: <Template.Time time={modificationTime} valueFormat=\"DateTime\" />,\n visible: Boolean(modificationTime),\n },\n {\n key: 'access_time',\n value: <Template.Time time={accessTime} valueFormat=\"DateTime\" />,\n visible: Boolean(accessTime),\n },\n {\n key: 'YQL operation',\n value: yqlLink,\n visible: Boolean(yqlLink),\n },\n ];\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,uCAAuC;AACzD,SAAQC,QAAQ,QAAO,kDAAkD;AACzE,SAAQC,QAAQ,QAAO,yBAAyB;AAChD,OAAOC,WAAW,MAAM,qCAAqC;AAC7D,OAAOC,SAAS,MAAM,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,eAAe,SAASC,mBAAmBA,CAACC,UAAU,EAAE;EAAA,IAAAC,qBAAA;EACpD,IAAAC,gBAAA,GACIV,KAAK,CAACW,SAAS,CAACH,UAAU,EAAE,CACxB,KAAK,EACL,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,aAAa,CAChB,CAAC;IAAAI,iBAAA,GAAAC,cAAA,CAAAH,gBAAA;IATCI,EAAE,GAAAF,iBAAA;IAAEG,KAAK,GAAAH,iBAAA;IAAEI,OAAO,GAAAJ,iBAAA;IAAEK,YAAY,GAAAL,iBAAA;IAAEM,gBAAgB,GAAAN,iBAAA;IAAEO,UAAU,GAAAP,iBAAA;IAAEQ,SAAS,GAAAR,iBAAA;EAWhF,IAAMS,OAAO,GAAGD,SAAS,IAAAX,qBAAA,GAAGL,SAAS,CAACkB,cAAc,cAAAb,qBAAA,uBAAxBA,qBAAA,CAA0Bc,sBAAsB,CAACH,SAAS,CAAC,GAAG,IAAI;EAE9F,OAAO,CACH;IACII,GAAG,EAAE,IAAI;IACTC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAACyB,EAAE;MAACZ,EAAE,EAAEA;IAAG;EAC/B,CAAC,EACD;IACIU,GAAG,EAAE,OAAO;IACZC,KAAK,eAAEnB,IAAA,CAACJ,QAAQ;MAACyB,QAAQ,EAAEZ;IAAM;EACrC,CAAC,EACD;IACIS,GAAG,EAAE,SAAS;IACdC,KAAK,eAAEnB,IAAA,CAACH,WAAW;MAACa,OAAO,EAAEA;IAAQ,EAAG;IACxCY,OAAO,EAAEC,OAAO,CAACb,OAAO;EAC5B,CAAC,EACD;IACIQ,GAAG,EAAE,eAAe;IACpBC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAAC6B,IAAI;MAACC,IAAI,EAAEd,YAAa;MAACe,WAAW,EAAC;IAAU,EAAG;IACnEJ,OAAO,EAAEC,OAAO,CAACZ,YAAY;EACjC,CAAC,EACD;IACIO,GAAG,EAAE,mBAAmB;IACxBC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAAC6B,IAAI;MAACC,IAAI,EAAEb,gBAAiB;MAACc,WAAW,EAAC;IAAU,EAAG;IACvEJ,OAAO,EAAEC,OAAO,CAACX,gBAAgB;EACrC,CAAC,EACD;IACIM,GAAG,EAAE,aAAa;IAClBC,KAAK,eAAEnB,IAAA,CAACL,QAAQ,CAAC6B,IAAI;MAACC,IAAI,EAAEZ,UAAW;MAACa,WAAW,EAAC;IAAU,EAAG;IACjEJ,OAAO,EAAEC,OAAO,CAACV,UAAU;EAC/B,CAAC,EACD;IACIK,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAEJ,OAAO;IACdO,OAAO,EAAEC,OAAO,CAACR,OAAO;EAC5B,CAAC,CACJ;AACL"}
@@ -3,3 +3,32 @@ export declare function replicatedTableTracker(attributes: any): {
3
3
  value: JSX.Element;
4
4
  visible: boolean;
5
5
  };
6
+ export declare function tableSize(attributes: any, isDynamic: boolean, mediumList: string[]): ({
7
+ key: string;
8
+ value: JSX.Element;
9
+ visible: boolean;
10
+ } | {
11
+ key: string;
12
+ label: string;
13
+ value: any;
14
+ visible: boolean;
15
+ })[];
16
+ export declare function tableStorage(attributes: any, tableType: string): ({
17
+ key: string;
18
+ value: any;
19
+ } | {
20
+ key: string;
21
+ label: string;
22
+ value: string;
23
+ visible?: undefined;
24
+ } | {
25
+ key: string;
26
+ label: string;
27
+ value: JSX.Element;
28
+ visible: boolean;
29
+ })[];
30
+ export declare function dynTableInfo(attributes: any, cluster: string, tabletErrorCount: number): {
31
+ key: string;
32
+ label: string;
33
+ value: any;
34
+ }[];