@ytsaurus/ui 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/build/cjs/server/ServerFactory.js +2 -1
  2. package/build/cjs/server/ServerFactory.js.map +1 -1
  3. package/build/cjs/server/config.localcluster.js +1 -1
  4. package/build/cjs/server/config.localcluster.js.map +1 -1
  5. package/build/cjs/server/configs/local.d.ts +3 -0
  6. package/build/cjs/server/configs/local.js +33 -0
  7. package/build/cjs/server/configs/local.js.map +1 -0
  8. package/build/cjs/server/utils/default-settings.js +1 -1
  9. package/build/cjs/server/utils/default-settings.js.map +1 -1
  10. package/build/cjs/shared/ui-settings.d.ts +1 -0
  11. package/build/cjs/shared/ui-settings.js.map +1 -1
  12. package/build/cjs/ui/common/utils/url-encoder.js +1 -0
  13. package/build/cjs/ui/common/utils/url-encoder.js.map +1 -1
  14. package/build/cjs/ui/common/yt-api-init.js +7 -12
  15. package/build/cjs/ui/common/yt-api-init.js.map +1 -1
  16. package/build/cjs/ui/components/EditableAsText/EditableAsText.js +8 -6
  17. package/build/cjs/ui/components/EditableAsText/EditableAsText.js.map +1 -1
  18. package/build/cjs/ui/components/SchemaDataType/SchemaDataType.js +3 -59
  19. package/build/cjs/ui/components/SchemaDataType/SchemaDataType.js.map +1 -1
  20. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.d.ts +48 -0
  21. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.js +65 -0
  22. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.js.map +1 -0
  23. package/build/cjs/ui/config/index.d.ts +1 -0
  24. package/build/cjs/ui/config/index.js +4 -0
  25. package/build/cjs/ui/config/index.js.map +1 -1
  26. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  27. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.d.ts +7 -0
  28. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js +78 -0
  29. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js.map +1 -0
  30. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.d.ts +3 -1
  31. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +10 -2
  32. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.js.map +1 -1
  33. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/index.js +3 -3
  34. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/index.js.map +1 -1
  35. package/build/cjs/ui/pages/query-tracker/QueryDuration/index.js +13 -2
  36. package/build/cjs/ui/pages/query-tracker/QueryDuration/index.js.map +1 -1
  37. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +3 -1
  38. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js +19 -10
  39. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  40. package/build/cjs/ui/pages/query-tracker/QueryResults/index.d.ts +2 -0
  41. package/build/cjs/ui/pages/query-tracker/QueryResults/index.js +2 -3
  42. package/build/cjs/ui/pages/query-tracker/QueryResults/index.js.map +1 -1
  43. package/build/cjs/ui/pages/query-tracker/QueryResultsView/index.js +4 -9
  44. package/build/cjs/ui/pages/query-tracker/QueryResultsView/index.js.map +1 -1
  45. package/build/cjs/ui/pages/query-tracker/QueryStatus/index.js +2 -1
  46. package/build/cjs/ui/pages/query-tracker/QueryStatus/index.js.map +1 -1
  47. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js +14 -2
  48. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  49. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.d.ts +18 -0
  50. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.js +89 -0
  51. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.js.map +1 -0
  52. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.d.ts +4 -0
  53. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js +88 -0
  54. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js.map +1 -0
  55. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.d.ts +1 -0
  56. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js +18 -131
  57. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  58. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.d.ts +5 -0
  59. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.js +78 -0
  60. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.js.map +1 -0
  61. package/build/cjs/ui/pages/query-tracker/module/api.d.ts +15 -13
  62. package/build/cjs/ui/pages/query-tracker/module/api.js +175 -63
  63. package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
  64. package/build/cjs/ui/pages/query-tracker/module/query/actions.d.ts +3 -2
  65. package/build/cjs/ui/pages/query-tracker/module/query/actions.js +83 -23
  66. package/build/cjs/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  67. package/build/cjs/ui/pages/query-tracker/module/query/reducer.d.ts +2 -1
  68. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  69. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +2 -1
  70. package/build/cjs/ui/pages/query-tracker/module/query/url_mapping.js +7 -3
  71. package/build/cjs/ui/pages/query-tracker/module/query/url_mapping.js.map +1 -1
  72. package/build/cjs/ui/pages/query-tracker/module/query_result/actions.js +48 -41
  73. package/build/cjs/ui/pages/query-tracker/module/query_result/actions.js.map +1 -1
  74. package/build/cjs/ui/pages/query-tracker/utils/navigation.d.ts +4 -1
  75. package/build/cjs/ui/pages/query-tracker/utils/navigation.js +8 -3
  76. package/build/cjs/ui/pages/query-tracker/utils/navigation.js.map +1 -1
  77. package/build/cjs/ui/pages/query-tracker/utils/query.d.ts +1 -0
  78. package/build/cjs/ui/pages/query-tracker/utils/query.js +4 -0
  79. package/build/cjs/ui/pages/query-tracker/utils/query.js.map +1 -1
  80. package/build/cjs/ui/pages/query-tracker/utils/query_generate.d.ts +13 -0
  81. package/build/cjs/ui/pages/query-tracker/utils/query_generate.js +84 -0
  82. package/build/cjs/ui/pages/query-tracker/utils/query_generate.js.map +1 -0
  83. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +19 -36
  84. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  85. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.d.ts +0 -1
  86. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js +15 -41
  87. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js.map +1 -1
  88. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.d.ts +1 -2
  89. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js +1 -5
  90. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js.map +1 -1
  91. package/build/cjs/ui/store/selectors/global/index.d.ts +3 -0
  92. package/build/cjs/ui/store/selectors/global/index.js +20 -1
  93. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  94. package/build/esm/server/ServerFactory.js +2 -1
  95. package/build/esm/server/ServerFactory.js.map +1 -1
  96. package/build/esm/server/config.localcluster.js +1 -1
  97. package/build/esm/server/config.localcluster.js.map +1 -1
  98. package/build/esm/server/configs/local.d.ts +3 -0
  99. package/build/esm/server/configs/local.js +28 -0
  100. package/build/esm/server/configs/local.js.map +1 -0
  101. package/build/esm/server/utils/default-settings.js +1 -1
  102. package/build/esm/server/utils/default-settings.js.map +1 -1
  103. package/build/esm/shared/ui-settings.d.ts +1 -0
  104. package/build/esm/shared/ui-settings.js.map +1 -1
  105. package/build/esm/ui/common/utils/url-encoder.js +1 -0
  106. package/build/esm/ui/common/utils/url-encoder.js.map +1 -1
  107. package/build/esm/ui/common/yt-api-init.js +4 -9
  108. package/build/esm/ui/common/yt-api-init.js.map +1 -1
  109. package/build/esm/ui/components/Dialog/Dialog.css +1 -1
  110. package/build/esm/ui/components/Dialog/Dialog.css.map +1 -1
  111. package/build/esm/ui/components/Dialog/Dialog.scss +1 -1
  112. package/build/esm/ui/components/EditableAsText/EditableAsText.js +8 -6
  113. package/build/esm/ui/components/EditableAsText/EditableAsText.js.map +1 -1
  114. package/build/esm/ui/components/SchemaDataType/SchemaDataType.js +2 -57
  115. package/build/esm/ui/components/SchemaDataType/SchemaDataType.js.map +1 -1
  116. package/build/esm/ui/components/SchemaDataType/dateTypesV3.d.ts +48 -0
  117. package/build/esm/ui/components/SchemaDataType/dateTypesV3.js +57 -0
  118. package/build/esm/ui/components/SchemaDataType/dateTypesV3.js.map +1 -0
  119. package/build/esm/ui/config/index.d.ts +1 -0
  120. package/build/esm/ui/config/index.js +3 -0
  121. package/build/esm/ui/config/index.js.map +1 -1
  122. package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  123. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.css +8 -0
  124. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.css.map +1 -0
  125. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.d.ts +7 -0
  126. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js +72 -0
  127. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js.map +1 -0
  128. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.scss +7 -0
  129. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.css +3 -0
  130. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.css.map +1 -1
  131. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.d.ts +3 -1
  132. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +11 -3
  133. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.js.map +1 -1
  134. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.scss +4 -0
  135. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/index.js +4 -4
  136. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/index.js.map +1 -1
  137. package/build/esm/ui/pages/query-tracker/QueryDuration/index.js +13 -2
  138. package/build/esm/ui/pages/query-tracker/QueryDuration/index.js.map +1 -1
  139. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +3 -1
  140. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js +19 -10
  141. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  142. package/build/esm/ui/pages/query-tracker/QueryResults/index.d.ts +2 -0
  143. package/build/esm/ui/pages/query-tracker/QueryResults/index.js +2 -3
  144. package/build/esm/ui/pages/query-tracker/QueryResults/index.js.map +1 -1
  145. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.css +3 -10
  146. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.css.map +1 -1
  147. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.js +4 -9
  148. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.js.map +1 -1
  149. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.scss +3 -11
  150. package/build/esm/ui/pages/query-tracker/QueryStatus/index.css +4 -0
  151. package/build/esm/ui/pages/query-tracker/QueryStatus/index.css.map +1 -1
  152. package/build/esm/ui/pages/query-tracker/QueryStatus/index.js +2 -1
  153. package/build/esm/ui/pages/query-tracker/QueryStatus/index.js.map +1 -1
  154. package/build/esm/ui/pages/query-tracker/QueryStatus/index.scss +4 -0
  155. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js +16 -4
  156. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  157. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.css +19 -0
  158. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.css.map +1 -0
  159. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.d.ts +18 -0
  160. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.js +82 -0
  161. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.js.map +1 -0
  162. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.scss +20 -0
  163. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.css +13 -0
  164. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.css.map +1 -0
  165. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.d.ts +4 -0
  166. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js +82 -0
  167. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js.map +1 -0
  168. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.scss +13 -0
  169. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.css +6 -16
  170. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.css.map +1 -1
  171. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.d.ts +1 -0
  172. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js +19 -133
  173. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  174. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.scss +4 -20
  175. package/build/esm/ui/pages/query-tracker/QueryWidget/index.css +28 -0
  176. package/build/esm/ui/pages/query-tracker/QueryWidget/index.css.map +1 -0
  177. package/build/esm/ui/pages/query-tracker/QueryWidget/index.d.ts +5 -0
  178. package/build/esm/ui/pages/query-tracker/QueryWidget/index.js +73 -0
  179. package/build/esm/ui/pages/query-tracker/QueryWidget/index.js.map +1 -0
  180. package/build/esm/ui/pages/query-tracker/QueryWidget/index.scss +31 -0
  181. package/build/esm/ui/pages/query-tracker/module/api.d.ts +15 -13
  182. package/build/esm/ui/pages/query-tracker/module/api.js +175 -63
  183. package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
  184. package/build/esm/ui/pages/query-tracker/module/query/actions.d.ts +3 -2
  185. package/build/esm/ui/pages/query-tracker/module/query/actions.js +83 -24
  186. package/build/esm/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  187. package/build/esm/ui/pages/query-tracker/module/query/reducer.d.ts +2 -1
  188. package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  189. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +2 -1
  190. package/build/esm/ui/pages/query-tracker/module/query/url_mapping.js +7 -3
  191. package/build/esm/ui/pages/query-tracker/module/query/url_mapping.js.map +1 -1
  192. package/build/esm/ui/pages/query-tracker/module/query_result/actions.js +48 -41
  193. package/build/esm/ui/pages/query-tracker/module/query_result/actions.js.map +1 -1
  194. package/build/esm/ui/pages/query-tracker/utils/navigation.d.ts +4 -1
  195. package/build/esm/ui/pages/query-tracker/utils/navigation.js +8 -3
  196. package/build/esm/ui/pages/query-tracker/utils/navigation.js.map +1 -1
  197. package/build/esm/ui/pages/query-tracker/utils/query.d.ts +1 -0
  198. package/build/esm/ui/pages/query-tracker/utils/query.js +4 -1
  199. package/build/esm/ui/pages/query-tracker/utils/query.js.map +1 -1
  200. package/build/esm/ui/pages/query-tracker/utils/query_generate.d.ts +13 -0
  201. package/build/esm/ui/pages/query-tracker/utils/query_generate.js +73 -0
  202. package/build/esm/ui/pages/query-tracker/utils/query_generate.js.map +1 -0
  203. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +3 -15
  204. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  205. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +19 -36
  206. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  207. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +5 -21
  208. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.css +1 -1
  209. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.css.map +1 -1
  210. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.d.ts +0 -1
  211. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js +16 -42
  212. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js.map +1 -1
  213. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.scss +1 -1
  214. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.css +0 -9
  215. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.css.map +1 -1
  216. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.d.ts +1 -2
  217. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js +1 -5
  218. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js.map +1 -1
  219. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.scss +0 -11
  220. package/build/esm/ui/store/selectors/global/index.d.ts +3 -0
  221. package/build/esm/ui/store/selectors/global/index.js +16 -1
  222. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  223. package/build/img/svg/page-query-tracker.svg +3 -3
  224. package/package.json +3 -3
@@ -98,6 +98,7 @@ export function BundleEditorDialog() {
98
98
  fields: [{
99
99
  name: 'info',
100
100
  type: 'block',
101
+ fullWidth: true,
101
102
  extras: {
102
103
  children: /*#__PURE__*/_jsxs(Info, {
103
104
  className: block('info'),
@@ -116,11 +117,10 @@ export function BundleEditorDialog() {
116
117
  })
117
118
  }
118
119
  }, {
119
- className: block('dialog-field-without-default-label'),
120
120
  name: 'tablet_count',
121
121
  type: 'bundle-input',
122
+ caption: 'Tablet count',
122
123
  extras: {
123
- title: 'Tablet count',
124
124
  format: 'Number',
125
125
  withoutDetailedBar: true,
126
126
  progress: {
@@ -131,42 +131,40 @@ export function BundleEditorDialog() {
131
131
  }, {
132
132
  section: 'RPC proxy'
133
133
  }, {
134
- className: block('dialog-field-without-default-label'),
135
134
  type: 'bundle-input',
136
135
  name: 'rpc_proxy_count',
136
+ caption: 'Rpc proxy count',
137
137
  extras: {
138
- title: 'Rpc proxy count',
139
138
  format: 'Number',
140
139
  withoutDetailedBar: true,
141
140
  hasClear: true
142
141
  },
143
142
  validator: simpleBundleValidate
144
143
  }, {
145
- className: block('dialog-field-with-transfer-to-another-line'),
146
144
  type: 'bundle-table-field',
147
145
  name: 'rpc_proxy_resource_guarantee',
148
146
  caption: 'Instance configuration',
147
+ fullWidth: true,
149
148
  extras: {
150
149
  data: rpcConfigurations
151
150
  }
152
151
  }, {
153
152
  section: 'Tablet node'
154
153
  }, {
155
- className: block('dialog-field-without-default-label'),
156
154
  type: 'bundle-input',
157
155
  name: 'tablet_node_count',
156
+ caption: 'Tablet node count',
158
157
  extras: {
159
- title: 'Tablet node count',
160
158
  format: 'Number',
161
159
  withoutDetailedBar: true,
162
160
  hasClear: true
163
161
  },
164
162
  validator: simpleBundleValidate
165
163
  }, {
166
- className: block('dialog-field-with-transfer-to-another-line'),
167
164
  type: 'bundle-table-field',
168
165
  name: 'tablet_node_resource_guarantee',
169
166
  caption: 'Instance configuration',
167
+ fullWidth: true,
170
168
  extras: function extras(values, form) {
171
169
  var onRadioClick = function onRadioClick(value) {
172
170
  var nodeConfigurationType = value.type || '';
@@ -190,11 +188,10 @@ export function BundleEditorDialog() {
190
188
  type: 'tab-vertical',
191
189
  size: 's',
192
190
  fields: [{
193
- className: block('dialog-field-without-default-label'),
194
191
  name: 'tablet_count',
195
192
  type: 'bundle-input',
193
+ caption: 'Tablet count',
196
194
  extras: {
197
- title: 'Tablet count',
198
195
  format: 'Number',
199
196
  withoutDetailedBar: true,
200
197
  progress: {
@@ -203,11 +200,10 @@ export function BundleEditorDialog() {
203
200
  },
204
201
  validator: simpleBundleValidate
205
202
  }, {
206
- className: block('dialog-field-without-default-label'),
207
203
  name: 'tablet_static_memory',
208
204
  type: 'bundle-input',
205
+ caption: 'Tablet static memory',
209
206
  extras: {
210
- title: 'Tablet static memory',
211
207
  format: 'Bytes',
212
208
  progress: {
213
209
  usage: tabletStaticMemoryUsage
@@ -230,7 +226,7 @@ export function BundleEditorDialog() {
230
226
  fields: [{
231
227
  name: 'memory_reset',
232
228
  type: 'bundle-title',
233
- className: block('dialog-field-without-default-label'),
229
+ caption: 'Memory',
234
230
  extras: function extras(allValues, form) {
235
231
  var _allValues$resources;
236
232
  var tablet_node_resource_guarantee = (_allValues$resources = allValues.resources) === null || _allValues$resources === void 0 ? void 0 : _allValues$resources.tablet_node_resource_guarantee;
@@ -246,7 +242,6 @@ export function BundleEditorDialog() {
246
242
  if (!tablet_node_resource_guarantee) {
247
243
  return {
248
244
  params: [],
249
- title: 'Memory',
250
245
  onReset: onReset
251
246
  };
252
247
  }
@@ -257,66 +252,59 @@ export function BundleEditorDialog() {
257
252
  }, 0);
258
253
  return {
259
254
  params: createParams('Bytes', memory, used),
260
- title: 'Memory',
261
255
  onReset: onReset
262
256
  };
263
257
  }
264
258
  }, {
265
- className: block('dialog-field-without-default-label'),
266
259
  name: 'tablet_static',
267
260
  type: 'bundle-input',
261
+ caption: 'Tablet static',
268
262
  extras: {
269
- title: 'Tablet static',
270
263
  format: 'Bytes',
271
264
  hasClear: true
272
265
  },
273
266
  validator: simpleBundleValidate
274
267
  }, {
275
- className: block('dialog-field-without-default-label'),
276
268
  name: 'tablet_dynamic',
277
269
  type: 'bundle-input',
270
+ caption: 'Tablet dynamic',
278
271
  extras: {
279
- title: 'Tablet dynamic',
280
272
  format: 'Bytes',
281
273
  hasClear: true
282
274
  },
283
275
  validator: simpleBundleValidate
284
276
  }, {
285
- className: block('dialog-field-without-default-label'),
286
277
  name: 'compressed_block_cache',
287
278
  type: 'bundle-input',
279
+ caption: 'Compressed block cache',
288
280
  extras: {
289
- title: 'Compressed block cache',
290
281
  format: 'Bytes',
291
282
  hasClear: true
292
283
  },
293
284
  validator: simpleBundleValidate
294
285
  }, {
295
- className: block('dialog-field-without-default-label'),
296
286
  name: 'uncompressed_block_cache',
297
287
  type: 'bundle-input',
288
+ caption: 'Uncompressed block cache',
298
289
  extras: {
299
- title: 'Uncompressed block cache',
300
290
  format: 'Bytes',
301
291
  hasClear: true
302
292
  },
303
293
  validator: simpleBundleValidate
304
294
  }, {
305
- className: block('dialog-field-without-default-label'),
306
295
  name: 'versioned_chunk_meta',
307
296
  type: 'bundle-input',
297
+ caption: 'Versioned chunk meta',
308
298
  extras: {
309
- title: 'Versioned chunk meta',
310
299
  format: 'Bytes',
311
300
  hasClear: true
312
301
  },
313
302
  validator: simpleBundleValidate
314
303
  }, {
315
- className: block('dialog-field-without-default-label'),
316
304
  name: 'lookup_row_cache',
317
305
  type: 'bundle-input',
306
+ caption: 'Lookup row cache',
318
307
  extras: {
319
- title: 'Lookup row cache',
320
308
  format: 'Bytes',
321
309
  hasClear: true
322
310
  },
@@ -360,14 +348,13 @@ export function BundleEditorDialog() {
360
348
  fields: [{
361
349
  name: 'threadPool_reset',
362
350
  type: 'bundle-title',
363
- className: block('dialog-field-without-default-label'),
351
+ caption: 'vCPU',
364
352
  extras: function extras(allValues, form) {
365
353
  var _allValues$resources2;
366
354
  var tablet_node_resource_guarantee = (_allValues$resources2 = allValues.resources) === null || _allValues$resources2 === void 0 ? void 0 : _allValues$resources2.tablet_node_resource_guarantee;
367
355
  if (!tablet_node_resource_guarantee || !tablet_node_resource_guarantee.type || !bundleDefaultConfig) {
368
356
  return {
369
357
  params: [],
370
- title: 'vCPU',
371
358
  onReset: function onReset() {}
372
359
  };
373
360
  }
@@ -383,38 +370,34 @@ export function BundleEditorDialog() {
383
370
  var vcpu = tablet_node_resource_guarantee.vcpu;
384
371
  return {
385
372
  params: createParams('vCores', vcpu),
386
- title: 'vCPU',
387
373
  onReset: onReset
388
374
  };
389
375
  }
390
376
  }, {
391
- className: block('dialog-field-without-default-label'),
392
377
  name: 'lookup_thread_pool_size',
393
378
  type: 'bundle-input',
379
+ caption: 'Lookup thread pool size',
394
380
  extras: {
395
- title: 'Lookup thread pool size',
396
381
  postfix: 'threads',
397
382
  format: 'Number',
398
383
  hasClear: true
399
384
  },
400
385
  validator: simpleBundleValidate
401
386
  }, {
402
- className: block('dialog-field-without-default-label'),
403
387
  name: 'query_thread_pool_size',
404
388
  type: 'bundle-input',
389
+ caption: 'Query thread pool size',
405
390
  extras: {
406
- title: 'Query thread pool size',
407
391
  postfix: 'threads',
408
392
  format: 'Number',
409
393
  hasClear: true
410
394
  },
411
395
  validator: simpleBundleValidate
412
396
  }, {
413
- className: block('dialog-field-without-default-label'),
414
397
  name: 'write_thread_pool_size',
415
398
  type: 'bundle-input',
399
+ caption: 'Write thread pool size',
416
400
  extras: {
417
- title: 'Write thread pool size',
418
401
  postfix: 'threads',
419
402
  format: 'Number',
420
403
  hasClear: true
@@ -1 +1 @@
1
- {"version":3,"names":["React","useDispatch","useSelector","cn","Info","BundleParamsList","Dialog","FORM_ERROR","DialogError","hammer","isDeveloper","hideTabletCellBundleEditor","setBundleEditorController","getBundleEditorData","getTabletCellBundleEditorState","bundleEditorDict","createConfigurationList","createParams","getInitialFormValues","getResource","getResourceData","prepareSubmitBundle","simpleBundleValidate","UIFactory","isAbcAllowed","jsx","_jsx","jsxs","_jsxs","block","BundleEditorDialog","_useSelector","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","_useSelector2","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","allowEdit","initialValues","_ref","rpc_proxy_sizes","tablet_node_sizes","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","_toConsumableArray","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","children","className","renderTableCellBundleEditorNotice","params","value","format","resource_quota","memory","vcpu","withoutDetailedBar","progress","validator","section","hasClear","values","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","resultThreadPool","change","_objectSpread","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_allValues$resources","tablet_node_resource_guarantee","resources","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","undefined","hasError","_get","errorText","validateMemoryLimits","header","message","renderThreadPoolTab","_allValues$resources2","postfix","push","dispatch","onClose","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","t0","validationErrors","_defineProperty","error","stop","_x","apply","arguments","_isEmpty","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","Object","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport Dialog, {\n FormApi,\n FORM_ERROR,\n DialogError,\n DialogField,\n DialogTabField,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {getBundleEditorData} from '../../../../store/selectors/tablet_cell_bundles';\nimport {BundleResourceGuarantee} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getInitialFormValues,\n getResource,\n getResourceData,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\n\nimport './BundleEditorDialog.scss';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general?: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources?: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits?: {\n error?: boolean; // system\n memory_reset: boolean; // system\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n };\n cpu_limits?: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: BundleEditorDialogFormValues = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({bundleData})}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_count',\n type: 'bundle-input',\n extras: {\n title: 'Tablet count',\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {section: 'RPC proxy'},\n {\n className: block('dialog-field-without-default-label'),\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n extras: {\n title: 'Rpc proxy count',\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-with-transfer-to-another-line'),\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n className: block('dialog-field-without-default-label'),\n type: 'bundle-input',\n name: 'tablet_node_count',\n extras: {\n title: 'Tablet node count',\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-with-transfer-to-another-line'),\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n extras: function (values, form) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_count',\n type: 'bundle-input',\n extras: {\n title: 'Tablet count',\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_static_memory',\n type: 'bundle-input',\n extras: {\n title: 'Tablet static memory',\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n className: block('dialog-field-without-default-label'),\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n title: 'Memory',\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n return sum + (allValues?.memory_limits?.[k] || 0);\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n title: 'Memory',\n onReset,\n };\n },\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_static',\n type: 'bundle-input',\n extras: {\n title: 'Tablet static',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_dynamic',\n type: 'bundle-input',\n extras: {\n title: 'Tablet dynamic',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'compressed_block_cache',\n type: 'bundle-input',\n extras: {\n title: 'Compressed block cache',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n extras: {\n title: 'Uncompressed block cache',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n extras: {\n title: 'Versioned chunk meta',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'lookup_row_cache',\n type: 'bundle-input',\n extras: {\n title: 'Lookup row cache',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n extras(allValues, form) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pool',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n className: block('dialog-field-without-default-label'),\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n title: 'vCPU',\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n title: 'vCPU',\n onReset,\n };\n },\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n extras: {\n title: 'Lookup thread pool size',\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n extras: {\n title: 'Query thread pool size',\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n extras: {\n title: 'Write thread pool size',\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (_.isEmpty(data)) {\n return null;\n }\n\n return (\n <Dialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,OAAOC,EAAE,MAAM,aAAa;AAG5B,SAAQC,IAAI,QAAO,kCAAkC;AACrD,SAAQC,gBAAgB,QAAO,gDAAgD;AAC/E,OAAOC,MAAM,IAETC,UAAU,EACVC,WAAW,QAGR,sCAAsC;AAC7C,OAAOC,MAAM,MAAM,2BAA2B;AAE9C,SAAQC,WAAW,QAAO,oCAAoC;AAC9D,SACIC,0BAA0B,EAC1BC,yBAAyB,QACtB,yEAAyE;AAChF,SAAQC,mBAAmB,QAAO,iDAAiD;AAEnF,SAAQC,8BAA8B,QAAO,2EAA2E;AAExH,SACIC,gBAAgB,EAChBC,uBAAuB,EACvBC,YAAY,EACZC,oBAAoB,EACpBC,WAAW,EACXC,eAAe,EACfC,mBAAmB,EACnBC,oBAAoB,QACjB,oEAAoE;AAC3E,OAAOC,SAAS,IAAGC,YAAY,QAAO,uBAAuB;AAE7D,OAAO,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnC,IAAMC,KAAK,GAAG1B,EAAE,CAAC,eAAe,CAAC;AAmCjC,OAAO,SAAS2B,kBAAkBA,CAAA,EAAG;EACjC,IAAAC,YAAA,GAMI7B,WAAW,CAACY,8BAA8B,CAAC;IAL3CkB,aAAa,GAAAD,YAAA,CAAbC,aAAa;IACbC,UAAU,GAAAF,YAAA,CAAVE,UAAU;IACVC,UAAU,GAAAH,YAAA,CAAVG,UAAU;IACVC,IAAI,GAAAJ,YAAA,CAAJI,IAAI;IACkBC,UAAU,GAAAL,YAAA,CAAhCM,oBAAoB;EAExB,IAAAC,aAAA,GAA6CpC,WAAW,CAACW,mBAAmB,CAAC;IAAvD0B,mBAAmB,GAAAD,aAAA,CAAlCE,aAAa;EAEpB,IAAMC,sBAAsB,GAAGP,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEQ,+BAA+B;EAC1E,IAAMC,sBAAsB,GAAG,CAAAT,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEU,wBAAwB,KAAI,KAAK;EAE5E,IAAAC,gBAAA,GAAkCzB,eAAe,CAACe,IAAI,EAAE,cAAc,CAAC;IAAzDW,gBAAgB,GAAAD,gBAAA,CAAvBE,KAAK;EACZ,IAAAC,iBAAA,GAAyC5B,eAAe,CAACe,IAAI,EAAE,sBAAsB,CAAC;IAAxEc,uBAAuB,GAAAD,iBAAA,CAA9BD,KAAK;EAEZ,IAAMG,SAAS,GAAGhD,WAAW,CAACQ,WAAW,CAAC;EAE1C,IAAMyC,aAA2C,GAAI,YAAM;IACvD,IAAI,CAACR,sBAAsB,EAAE;MACzB,OAAOzB,oBAAoB,CAACiB,IAAI,CAAC;IACrC;IACA,IAAI,CAACM,sBAAsB,EAAE;MACzB,OAAO,CAAC,CAAC;IACb;IACA,OAAOvB,oBAAoB,CAACiB,IAAI,EAAEM,sBAAsB,CAAC;EAC7D,CAAC,EAAG;EAEJ,IAAAW,IAAA,GAAiD,YAAM;MACnD,IAAI,CAACb,mBAAmB,EAAE;QACtB,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;MACnB;MACA,IAAOc,eAAe,GAAuBd,mBAAmB,CAAzDc,eAAe;QAAEC,iBAAiB,GAAIf,mBAAmB,CAAxCe,iBAAiB;MAEzC,OAAO,CACHtC,uBAAuB,CAACqC,eAAe,CAAC,EACxCrC,uBAAuB,CAACsC,iBAAiB,CAAC,CAC7C;IACL,CAAC,EAAG;IAAAC,KAAA,GAAAC,cAAA,CAAAJ,IAAA;IAVGK,iBAAiB,GAAAF,KAAA;IAAEG,kBAAkB,GAAAH,KAAA;EAY5C,IAAMI,iBAA4E,GAAG;IACjFC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,SAAS;IAChBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,KAAAC,MAAA,CAAAC,kBAAA,CACE,CAAC1C,YAAY,EAAE,GACb,EAAE,GACF,CACI;MACIoC,IAAI,EAAE,KAAK;MACXE,IAAI,EAAE,aAAsB;MAC5BK,OAAO,EAAE,aAAa;MACtBC,MAAM,EAAE;QACJC,WAAW,EAAE,uBAAuB;QACpCC,QAAQ,EAAE,CAACpB;MACf;IACJ,CAAC,CACJ,IACP;MACIU,IAAI,EAAE,mBAAmB;MACzBE,IAAI,EAAE,+BAA+B;MACrCK,OAAO,EAAE,2BAA2B;MACpCC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACpB;MACf;IACJ,CAAC,EACD;MACIU,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,+BAA+B;MACrCK,OAAO,EAAE,0BAA0B;MACnCC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACpB;MACf;IACJ,CAAC;EAET,CAAC;EAED,IAAMsB,iBAA4E,GAAG;IACjFZ,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,MAAM;MACZE,IAAI,EAAE,OAAO;MACbM,MAAM,EAAE;QACJK,QAAQ,eACJ7C,KAAA,CAACxB,IAAI;UAACsE,SAAS,EAAE7C,KAAK,CAAC,MAAM,CAAE;UAAA4C,QAAA,GAC1BlD,SAAS,CAACoD,iCAAiC,CAAC;YAACzC,UAAU,EAAVA;UAAU,CAAC,CAAC,eAC1DR,IAAA,CAACrB,gBAAgB;YACbqE,SAAS,EAAE7C,KAAK,CAAC,QAAQ,CAAE;YAC3B+C,MAAM,EAAE,CACJ;cACIf,KAAK,EAAE,QAAQ;cACfgB,KAAK,EAAEpE,MAAM,CAACqE,MAAM,CAAC,OAAO,CAAC,CACzB,CAAA1C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2C,cAAc,CAACC,MAAM,KAAI,GAAG;YAEhD,CAAC,EACD;cACInB,KAAK,EAAE,MAAM;cACbgB,KAAK,EAAEpE,MAAM,CAACqE,MAAM,CAAC,QAAQ,CAAC,CAC1B,CAAA1C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2C,cAAc,CAACE,IAAI,KAAI,GAAG;YAE9C,CAAC;UACH,EACJ;QAAA;MAGd;IACJ,CAAC,EACD;MACIP,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,cAAc;QACrBiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACNpC,KAAK,EAAED;QACX;MACJ,CAAC;MACDsC,SAAS,EAAE9D;IACf,CAAC,EACD;MAAC+D,OAAO,EAAE;IAAW,CAAC,EACtB;MACIX,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtDiC,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,iBAAiB;MACvBQ,MAAM,EAAE;QACJP,KAAK,EAAE,iBAAiB;QACxBiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBI,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,4CAA4C,CAAC;MAC9DiC,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,8BAA8B;MACpCO,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJjC,IAAI,EAAEsB;MACV;IACJ,CAAC,EACD;MAAC4B,OAAO,EAAE;IAAa,CAAC,EACxB;MACIX,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtDiC,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,mBAAmB;MACzBQ,MAAM,EAAE;QACJP,KAAK,EAAE,mBAAmB;QAC1BiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBI,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,4CAA4C,CAAC;MAC9DiC,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,gCAAgC;MACtCO,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE,SAAAA,OAAUmB,MAAM,EAAEC,IAAI,EAAE;QAC5B,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIZ,KAA8B,EAAK;UACrD,IAAMa,qBAAqB,GAAGb,KAAK,CAACf,IAAI,IAAI,EAAE;UAE9C,IAAM6B,aAAa,GACf,CAAApD,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEe,iBAAiB,CAACoC,qBAAqB,CAAC,CACxDE,cAAc,CAACC,aAAa,KAAI,CAAC,CAAC;UAC3C,IAAMC,iBAAiB,GACnB,CAAAvD,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEe,iBAAiB,CAACoC,qBAAqB,CAAC,CACxDE,cAAc,CAACG,UAAU,KAAI,CAAC,CAAC;UAExC,IAAMC,YAAY,GAAG7E,WAAW,CAC5BoE,MAAM,CAACM,aAAa,EACpBF,aAAa,EACb,eAAe,CAClB;UACD,IAAMM,gBAAgB,GAAG9E,WAAW,CAChCoE,MAAM,CAACQ,UAAU,EACjBD,iBAAiB,EACjB,YAAY,CACf;UAEDN,IAAI,CAACU,MAAM,CAAC,eAAe,EAAAC,aAAA,CAAAA,aAAA,KACpBpF,gBAAgB,CAACqF,QAAQ,CAACP,aAAa,GACvCG,YAAY,EACjB;UACFR,IAAI,CAACU,MAAM,CAAC,YAAY,EAAAC,aAAA,CAAAA,aAAA,KACjBpF,gBAAgB,CAACqF,QAAQ,CAACL,UAAU,GACpCE,gBAAgB,EACrB;QACN,CAAC;QAED,OAAO;UACH9D,IAAI,EAAEuB,kBAAkB;UACxB+B,YAAY,EAAZA;QACJ,CAAC;MACL;IACJ,CAAC;EAET,CAAC;EAED,IAAMY,uBAAkF,GAAG;IACvFzC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,CACJ;MACIU,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,cAAc;QACrBiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACNpC,KAAK,EAAED;QACX;MACJ,CAAC;MACDsC,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,sBAAsB;QAC7BiB,MAAM,EAAE,OAAO;QACfK,QAAQ,EAAE;UACNpC,KAAK,EAAEE;QACX;MACJ,CAAC;MACDmC,SAAS,EAAE9D;IACf,CAAC;EAET,CAAC;EAED,IAAMgF,eAA0E,GAAG;IAC/E1C,IAAI,EAAE,eAAe;IACrBC,KAAK,EAAE,QAAQ;IACfC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTwC,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACD1C,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBY,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,MAAM,EAAE,SAAAA,OAACuC,SAAS,EAAEnB,IAAI,EAAK;QAAA,IAAAoB,oBAAA;QACzB,IAAMC,8BAA8B,IAAAD,oBAAA,GAChCD,SAAS,CAACG,SAAS,cAAAF,oBAAA,uBAAnBA,oBAAA,CAAqBC,8BAA8B;QAEvD,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IACI,CAACF,8BAA8B,IAC/B,CAACA,8BAA8B,CAAC/C,IAAI,IACpC,CAACvB,mBAAmB,EACtB;YACE;UACJ;UACA,IAAMuB,IAAI,GAAG+C,8BAA8B,CAAC/C,IAAI;UAChD,IAAOR,iBAAiB,GAAIf,mBAAmB,CAAxCe,iBAAiB;UACxB,IAAOuC,aAAa,GAAIvC,iBAAiB,CAACQ,IAAI,CAAC,CAAC8B,cAAc,CAAvDC,aAAa;UAEpBL,IAAI,CAACU,MAAM,CAAC,eAAe,EAAAC,aAAA,CAAAA,aAAA,KACpBpF,gBAAgB,CAACqF,QAAQ,CAACP,aAAa,GACvCA,aAAa,EAClB;QACN,CAAC;QAED,IAAI,CAACgB,8BAA8B,EAAE;UACjC,OAAO;YACHjC,MAAM,EAAE,EAAE;YACVf,KAAK,EAAE,QAAQ;YACfkD,OAAO,EAAPA;UACJ,CAAC;QACL;QACA,IAAO/B,MAAM,GAAI6B,8BAA8B,CAAxC7B,MAAM;QAEb,IAAMgC,IAAI,GAAGjG,gBAAgB,CAACkG,IAAI,CAACpB,aAAa,CAACqB,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAK;UAAA,IAAAC,qBAAA;UAChE,OAAOF,GAAG,IAAI,CAAAR,SAAS,aAATA,SAAS,wBAAAU,qBAAA,GAATV,SAAS,CAAEd,aAAa,cAAAwB,qBAAA,uBAAxBA,qBAAA,CAA2BD,CAAC,CAAC,KAAI,CAAC,CAAC;QACrD,CAAC,EAAE,CAAC,CAAC;QAEL,OAAO;UACHxC,MAAM,EAAE3D,YAAY,CAAC,OAAO,EAAE+D,MAAM,EAAEgC,IAAI,CAAC;UAC3CnD,KAAK,EAAE,QAAQ;UACfkD,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACIrC,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,eAAe;MACrBE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,eAAe;QACtBiB,MAAM,EAAE,OAAO;QACfQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,gBAAgB;MACtBE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,gBAAgB;QACvBiB,MAAM,EAAE,OAAO;QACfQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,wBAAwB;QAC/BiB,MAAM,EAAE,OAAO;QACfQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,0BAA0B;MAChCE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,0BAA0B;QACjCiB,MAAM,EAAE,OAAO;QACfQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,sBAAsB;QAC7BiB,MAAM,EAAE,OAAO;QACfQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,kBAAkB;QACzBiB,MAAM,EAAE,OAAO;QACfQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIwC,IAAI,EAAE,OAAO;MACbF,IAAI,EAAE,OAAO;MACbwB,SAAS,EAAE,SAAAA,UAACsB,CAAM;QAAA,OAAMA,CAAC,GAAGA,CAAC,GAAGY,SAAS;MAAA,CAAC;MAC1ClD,MAAM,WAAAA,OAACuC,SAAS,EAAEnB,IAAI,EAAE;QACpB,IAAM+B,QAAQ,GAAGC,IAAA,CAAMb,SAAS,EAAE,qBAAqB,CAAC;QACxD,IAAMc,SAAS,GAAGC,oBAAoB,CAACf,SAAS,CAAC;QAEjD,IAAIc,SAAS,IAAI,CAACF,QAAQ,EAAE;UACxB/B,IAAI,CAACU,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC;QAC5C,CAAC,MAAM,IAAI,CAACuB,SAAS,IAAIF,QAAQ,EAAE;UAC/B/B,IAAI,CAACU,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC;QAC7C;QAEA,OAAO;UACHzB,QAAQ,EAAE,CAACgD,SAAS,GAAG,IAAI,gBACvB/F,IAAA,CAAClB,WAAW;YAACmH,MAAM,EAAE,OAAQ;YAACC,OAAO,eAAElG,IAAA;cAAA+C,QAAA,EAAOgD;YAAS;UAAS;QAExE,CAAC;MACL;IACJ,CAAC;EAET,CAAC;EAED,IAAMI,mBAA8E,GAAG;IACnFjE,IAAI,EAAE,YAAY;IAClBC,KAAK,EAAE,aAAa;IACpBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTwC,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACD1C,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBY,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,MAAM,EAAE,SAAAA,OAACuC,SAAS,EAAEnB,IAAI,EAAK;QAAA,IAAAsC,qBAAA;QACzB,IAAMjB,8BAA8B,IAAAiB,qBAAA,GAChCnB,SAAS,CAACG,SAAS,cAAAgB,qBAAA,uBAAnBA,qBAAA,CAAqBjB,8BAA8B;QAEvD,IACI,CAACA,8BAA8B,IAC/B,CAACA,8BAA8B,CAAC/C,IAAI,IACpC,CAACvB,mBAAmB,EACtB;UACE,OAAO;YACHqC,MAAM,EAAE,EAAE;YACVf,KAAK,EAAE,MAAM;YACbkD,OAAO,EAAE,SAAAA,QAAA,EAAM,CAAC;UACpB,CAAC;QACL;QAEA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IAAMjD,IAAI,GAAG+C,8BAA8B,CAAC/C,IAAI;UAChD,IAAI,CAACA,IAAI,EAAE;YACP;UACJ;UAEA,IAAOR,iBAAiB,GAAIf,mBAAmB,CAAxCe,iBAAiB;UACxB,IAAOyC,UAAU,GAAIzC,iBAAiB,CAACQ,IAAI,CAAC,CAAC8B,cAAc,CAApDG,UAAU;UAEjBP,IAAI,CAACU,MAAM,CAAC,YAAY,EAAAC,aAAA,CAAAA,aAAA,KACjBpF,gBAAgB,CAACqF,QAAQ,CAACL,UAAU,GACpCA,UAAU,EACf;QACN,CAAC;QAED,IAAOd,IAAI,GAAI4B,8BAA8B,CAAtC5B,IAAI;QAEX,OAAO;UACHL,MAAM,EAAE3D,YAAY,CAAC,QAAQ,EAAEgE,IAAI,CAAC;UACpCpB,KAAK,EAAE,MAAM;UACbkD,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACIrC,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,yBAAyB;MAC/BE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,yBAAyB;QAChCkE,OAAO,EAAE,SAAS;QAClBjD,MAAM,EAAE,QAAQ;QAChBQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,wBAAwB;QAC/BkE,OAAO,EAAE,SAAS;QAClBjD,MAAM,EAAE,QAAQ;QAChBQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC,EACD;MACIoD,SAAS,EAAE7C,KAAK,CAAC,oCAAoC,CAAC;MACtD+B,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBM,MAAM,EAAE;QACJP,KAAK,EAAE,wBAAwB;QAC/BkE,OAAO,EAAE,SAAS;QAClBjD,MAAM,EAAE,QAAQ;QAChBQ,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9D;IACf,CAAC;EAET,CAAC;EAED,IAAM0C,MAAM,GAAG,CAACL,iBAAiB,CAAC;EAClC,IAAIhB,sBAAsB,EAAE;IACxBqB,MAAM,CAACgE,IAAI,CAACxD,iBAAiB,EAAE8B,eAAe,EAAEuB,mBAAmB,CAAC;EACxE,CAAC,MAAM;IACH7D,MAAM,CAACgE,IAAI,CAAC3B,uBAAuB,CAAC;EACxC;EAEA,IAAM4B,QAAQ,GAAGhI,WAAW,EAAE;EAC9B,IAAMiI,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAClBD,QAAQ,CAACtH,0BAA0B,EAAE,CAAC;EAC1C,CAAC;EAED,IAAMwH,QAAQ;IAAA,IAAAC,KAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,QAAOhD,IAA2C;MAAA,IAAAiD,YAAA;MAAA,OAAAH,mBAAA,CAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,IAC1D7G,UAAU;cAAA2G,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WACJ,CAAC,CAAC;UAAA;YAGPN,YAAY,GAAGpH,mBAAmB,CAACmE,IAAI,CAAC;YAAAoD,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OAGpCb,QAAQ,CACVrH,yBAAyB,CAAC;cACtBqB,UAAU,EAAVA,UAAU;cACVE,IAAI,EAAEsG;YACV,CAAC,CAAC,CACL;UAAA;YAAA,OAAAG,QAAA,CAAAG,MAAA,WACMzB,SAAS;UAAA;YAAAsB,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA;YAAA,OAAAA,QAAA,CAAAG,MAAA,WAET;cACHE,gBAAgB,EAAAC,eAAA,KACX3I,UAAU,eAAGmB,IAAA,CAAClB,WAAW;gBAAC2I,KAAK,EAAAP,QAAA,CAAAI;cAAQ,EAAG;YAEnD,CAAC;UAAA;UAAA;YAAA,OAAAJ,QAAA,CAAAQ,IAAA;QAAA;MAAA,GAAAZ,OAAA;IAAA,CAER;IAAA,gBAtBKL,QAAQA,CAAAkB,EAAA;MAAA,OAAAjB,KAAA,CAAAkB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAsBb;EAED,IAAIC,QAAA,CAAUrH,IAAI,CAAC,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBACIT,IAAA,CAACpB,MAAM;IACHoE,SAAS,EAAE7C,KAAK,CAAC,QAAQ,CAAE;IAC3B4H,WAAW,EAAE;MACT5F,KAAK,EAAE5B;IACX,CAAE;IACF8B,IAAI,EAAC,GAAG;IACRZ,aAAa,EAAEA,aAAc;IAC7BuG,OAAO,EAAE1H,aAAc;IACvB2H,KAAK,EAAExB,QAAS;IAChBD,OAAO,EAAEA,OAAQ;IACjBlE,MAAM,EAAEA;EAAO,EACjB;AAEV;AAEA,SAAS0D,oBAAoBA,CAACnC,MAAoC,EAAE;EAAA,IAAAqE,iBAAA;EAChE,KAAAA,iBAAA,GAAIrE,MAAM,CAACuB,SAAS,cAAA8C,iBAAA,eAAhBA,iBAAA,CAAkB/C,8BAA8B,EAAE;IAAA,IAAAgD,qBAAA;IAClD,IAAMC,YAAY,GAAG,EAAAD,qBAAA,GAAAtE,MAAM,CAACuB,SAAS,CAACD,8BAA8B,cAAAgD,qBAAA,uBAA/CA,qBAAA,CAAiD7E,MAAM,KAAI,CAAC;IACjF,IAAM+E,eAAe,GACjBC,MAAM,CAACzE,MAAM,CAACA,MAAM,CAACM,aAAa,IAAI,CAAC,CAAC,CAAC,CAACqB,MAAM,CAAC,UAAC+C,GAAW,EAAEvD,CAAmB,EAAK;MACnF,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;QACvB,OAAOuD,GAAG;MACd;MACA,OAAOA,GAAG,GAAGvD,CAAC;IAClB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;IAEd,IAAIqD,eAAe,GAAGD,YAAY,EAAE;MAChC,OAAO,yDAAyD;IACpE;EACJ;EAEA,OAAO,EAAE;AACb"}
1
+ {"version":3,"names":["React","useDispatch","useSelector","cn","Info","BundleParamsList","Dialog","FORM_ERROR","DialogError","hammer","isDeveloper","hideTabletCellBundleEditor","setBundleEditorController","getBundleEditorData","getTabletCellBundleEditorState","bundleEditorDict","createConfigurationList","createParams","getInitialFormValues","getResource","getResourceData","prepareSubmitBundle","simpleBundleValidate","UIFactory","isAbcAllowed","jsx","_jsx","jsxs","_jsxs","block","BundleEditorDialog","_useSelector","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","_useSelector2","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","allowEdit","initialValues","_ref","rpc_proxy_sizes","tablet_node_sizes","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","_toConsumableArray","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","children","className","renderTableCellBundleEditorNotice","params","value","format","resource_quota","memory","vcpu","withoutDetailedBar","progress","validator","section","hasClear","values","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","resultThreadPool","change","_objectSpread","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_allValues$resources","tablet_node_resource_guarantee","resources","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","undefined","hasError","_get","errorText","validateMemoryLimits","header","message","renderThreadPoolTab","_allValues$resources2","postfix","push","dispatch","onClose","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","t0","validationErrors","_defineProperty","error","stop","_x","apply","arguments","_isEmpty","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","Object","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport Dialog, {\n FormApi,\n FORM_ERROR,\n DialogError,\n DialogField,\n DialogTabField,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {getBundleEditorData} from '../../../../store/selectors/tablet_cell_bundles';\nimport {BundleResourceGuarantee} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getInitialFormValues,\n getResource,\n getResourceData,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\n\nimport './BundleEditorDialog.scss';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general?: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources?: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits?: {\n error?: boolean; // system\n memory_reset: boolean; // system\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n };\n cpu_limits?: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: BundleEditorDialogFormValues = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({bundleData})}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'Rpc proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, form) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n return sum + (allValues?.memory_limits?.[k] || 0);\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n extras(allValues, form) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pool',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (_.isEmpty(data)) {\n return null;\n }\n\n return (\n <Dialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
 
11
11
  .df-dialog__tabs-content {
12
12
  overflow-y: auto;
13
+ overflow-x: hidden;
13
14
  }
14
15
 
15
16
  .yc-dialog-divider {
@@ -19,28 +20,11 @@
19
20
  .df-dialog__error-message {
20
21
  white-space: pre;
21
22
  }
22
- }
23
-
24
- &__dialog-field-without-default-label {
25
- .df-dialog__label {
26
- display: none;
27
- }
28
-
29
- .df-dialog__field-error {
30
- display: none;
31
- }
32
-
33
- .df-dialog__field-wrapper {
34
- width: 100%;
35
- }
36
- }
37
-
38
- &__dialog-field-with-transfer-to-another-line {
39
- flex-wrap: wrap;
40
23
 
41
- .df-dialog__field-wrapper {
42
- width: 100%;
43
- margin-top: 12px;
24
+ .df-dialog__field-group_type_bundle-title {
25
+ .df-dialog__label-text {
26
+ font-weight: 700;
27
+ }
44
28
  }
45
29
  }
46
30
 
@@ -18,7 +18,7 @@
18
18
  .bundle-input__right {
19
19
  flex-shrink: 0;
20
20
  display: flex;
21
- width: 450px;
21
+ width: 100%;
22
22
  margin-left: auto;
23
23
  }
24
24
  .bundle-input__label_required::after {
@@ -1 +1 @@
1
- {"version":3,"sources":["BundleInput.scss","BundleInput.css"],"names":[],"mappings":"AAAA;EACI,qBAAA;EACA,4BAAA;EAEA,0CAAA;EACA,mCAAA;ACAJ;ADEI;EACI,aAAA;EACA,8BAAA;EACA,mBAAA;ACAR;ADEQ;EACI,iCAAA;ACAZ;ADII;EACI,aAAA;ACFR;ADKI;EACI,cAAA;EACA,aAAA;EACA,YAAA;EACA,iBAAA;ACHR;ADOQ;EACI,YAAA;EACA,kCAAA;ACLZ;ADSI;EACI,YAAA;ACPR;ADUI;EACI,gBAAA;ACRR;ADWI;EACI,aAAA;EACA,mBAAA;ACTR;ADYI;EACI,iCAAA;ACVR;ADaI;EACI,kCAAA;ACXR;ADcI;EACI,iCAAA;EACA,SAAA;ACZR;ADeI;EACI,qCAAA;ACbR;ADgBI;EAEI,0CAAA;EACA,8CAAA;EACA,qCAAA;ACfR;ADkBI;EACI,0CAAA;EACA,8CAAA;EACA,kCAAA;AChBR","file":"BundleInput.css","sourcesContent":[".bundle-input {\n --vertical-space: 8px;\n --default-input-width: 200px;\n\n font-size: var(--yc-text-body-2-font-size);\n color: var(--yc-color-text-primary);\n\n &__row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & + & {\n margin-top: var(--vertical-space);\n }\n }\n\n &__left {\n display: flex;\n }\n\n &__right {\n flex-shrink: 0;\n display: flex;\n width: 450px;\n margin-left: auto;\n }\n\n &__label {\n &_required::after {\n content: '*';\n color: var(--yc-color-text-danger);\n }\n }\n\n &__label-text {\n height: 28px;\n }\n\n &__tooltip {\n margin-left: 5px;\n }\n\n &__control-block {\n display: flex;\n align-items: center;\n }\n\n &__input {\n width: var(--default-input-width);\n }\n\n &__meta {\n margin-left: var(--vertical-space);\n }\n\n &__progress {\n width: var(--default-input-width);\n margin: 0;\n }\n\n &__usage {\n color: var(--yc-color-text-secondary);\n }\n\n &__meta,\n &__hint {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-secondary);\n }\n\n &__error {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-danger);\n }\n}\n",".bundle-input {\n --vertical-space: 8px;\n --default-input-width: 200px;\n font-size: var(--yc-text-body-2-font-size);\n color: var(--yc-color-text-primary);\n}\n.bundle-input__row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.bundle-input__row + .bundle-input__row {\n margin-top: var(--vertical-space);\n}\n.bundle-input__left {\n display: flex;\n}\n.bundle-input__right {\n flex-shrink: 0;\n display: flex;\n width: 450px;\n margin-left: auto;\n}\n.bundle-input__label_required::after {\n content: \"*\";\n color: var(--yc-color-text-danger);\n}\n.bundle-input__label-text {\n height: 28px;\n}\n.bundle-input__tooltip {\n margin-left: 5px;\n}\n.bundle-input__control-block {\n display: flex;\n align-items: center;\n}\n.bundle-input__input {\n width: var(--default-input-width);\n}\n.bundle-input__meta {\n margin-left: var(--vertical-space);\n}\n.bundle-input__progress {\n width: var(--default-input-width);\n margin: 0;\n}\n.bundle-input__usage {\n color: var(--yc-color-text-secondary);\n}\n.bundle-input__meta, .bundle-input__hint {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-secondary);\n}\n.bundle-input__error {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-danger);\n}\n\n/*# sourceMappingURL=BundleInput.css.map */"]}
1
+ {"version":3,"sources":["BundleInput.scss","BundleInput.css"],"names":[],"mappings":"AAAA;EACI,qBAAA;EACA,4BAAA;EAEA,0CAAA;EACA,mCAAA;ACAJ;ADEI;EACI,aAAA;EACA,8BAAA;EACA,mBAAA;ACAR;ADEQ;EACI,iCAAA;ACAZ;ADII;EACI,aAAA;ACFR;ADKI;EACI,cAAA;EACA,aAAA;EACA,WAAA;EACA,iBAAA;ACHR;ADOQ;EACI,YAAA;EACA,kCAAA;ACLZ;ADSI;EACI,YAAA;ACPR;ADUI;EACI,gBAAA;ACRR;ADWI;EACI,aAAA;EACA,mBAAA;ACTR;ADYI;EACI,iCAAA;ACVR;ADaI;EACI,kCAAA;ACXR;ADcI;EACI,iCAAA;EACA,SAAA;ACZR;ADeI;EACI,qCAAA;ACbR;ADgBI;EAEI,0CAAA;EACA,8CAAA;EACA,qCAAA;ACfR;ADkBI;EACI,0CAAA;EACA,8CAAA;EACA,kCAAA;AChBR","file":"BundleInput.css","sourcesContent":[".bundle-input {\n --vertical-space: 8px;\n --default-input-width: 200px;\n\n font-size: var(--yc-text-body-2-font-size);\n color: var(--yc-color-text-primary);\n\n &__row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & + & {\n margin-top: var(--vertical-space);\n }\n }\n\n &__left {\n display: flex;\n }\n\n &__right {\n flex-shrink: 0;\n display: flex;\n width: 100%;\n margin-left: auto;\n }\n\n &__label {\n &_required::after {\n content: '*';\n color: var(--yc-color-text-danger);\n }\n }\n\n &__label-text {\n height: 28px;\n }\n\n &__tooltip {\n margin-left: 5px;\n }\n\n &__control-block {\n display: flex;\n align-items: center;\n }\n\n &__input {\n width: var(--default-input-width);\n }\n\n &__meta {\n margin-left: var(--vertical-space);\n }\n\n &__progress {\n width: var(--default-input-width);\n margin: 0;\n }\n\n &__usage {\n color: var(--yc-color-text-secondary);\n }\n\n &__meta,\n &__hint {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-secondary);\n }\n\n &__error {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-danger);\n }\n}\n",".bundle-input {\n --vertical-space: 8px;\n --default-input-width: 200px;\n font-size: var(--yc-text-body-2-font-size);\n color: var(--yc-color-text-primary);\n}\n.bundle-input__row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.bundle-input__row + .bundle-input__row {\n margin-top: var(--vertical-space);\n}\n.bundle-input__left {\n display: flex;\n}\n.bundle-input__right {\n flex-shrink: 0;\n display: flex;\n width: 100%;\n margin-left: auto;\n}\n.bundle-input__label_required::after {\n content: \"*\";\n color: var(--yc-color-text-danger);\n}\n.bundle-input__label-text {\n height: 28px;\n}\n.bundle-input__tooltip {\n margin-left: 5px;\n}\n.bundle-input__control-block {\n display: flex;\n align-items: center;\n}\n.bundle-input__input {\n width: var(--default-input-width);\n}\n.bundle-input__meta {\n margin-left: var(--vertical-space);\n}\n.bundle-input__progress {\n width: var(--default-input-width);\n margin: 0;\n}\n.bundle-input__usage {\n color: var(--yc-color-text-secondary);\n}\n.bundle-input__meta, .bundle-input__hint {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-secondary);\n}\n.bundle-input__error {\n font-size: var(--yc-text-body-1-font-size);\n line-height: var(--yc-text-body-1-line-height);\n color: var(--yc-color-text-danger);\n}\n\n/*# sourceMappingURL=BundleInput.css.map */"]}
@@ -3,7 +3,6 @@ import { DialogControlProps } from '../../../../../../components/Dialog/Dialog.t
3
3
  import { ThemeThreshold } from '../../../../../../utils/progress';
4
4
  import './BundleInput.scss';
5
5
  type BundleInputProps = DialogControlProps<number | undefined, {
6
- title: string;
7
6
  postfix?: string;
8
7
  hint?: string;
9
8
  className?: string;
@@ -2,9 +2,9 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import React, { useEffect, useState } from 'react';
4
4
  import cn from 'bem-cn-lite';
5
- import { Icon, Popover, Progress, TextInput } from '@gravity-ui/uikit';
6
- import tooltipIcon from '../../../../../../../../img/svg/tooltip-icon.svg';
5
+ import { Progress, TextInput } from '@gravity-ui/uikit';
7
6
  import { formatValue, parseValue } from '../../../../../../components/NumberInput/NumberInput';
7
+ import { Tooltip } from '../../../../../../components/Tooltip/Tooltip';
8
8
  import { calcProgressProps } from '../../../../../../utils/utils';
9
9
  import './BundleInput.css';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -20,14 +20,10 @@ function errorFromValue(value) {
20
20
  return undefined;
21
21
  }
22
22
  export function BundleInput(props) {
23
- var className = props.className,
24
- value = props.value,
23
+ var value = props.value,
25
24
  onChange = props.onChange,
26
25
  postfix = props.postfix,
27
26
  hint = props.hint,
28
- tooltip = props.tooltip,
29
- required = props.required,
30
- title = props.title,
31
27
  readonly = props.readonly,
32
28
  format = props.format,
33
29
  progress = props.progress,
@@ -93,29 +89,10 @@ export function BundleInput(props) {
93
89
  var text = focused ? rawValue : formattedValue;
94
90
  var calcProgress = progress && calcProgressProps((progress === null || progress === void 0 ? void 0 : progress.usage) || 0, Number(value) || 0, format);
95
91
  return /*#__PURE__*/_jsxs("div", {
96
- className: block(null, className),
97
- children: [/*#__PURE__*/_jsxs("div", {
92
+ className: block(null),
93
+ children: [/*#__PURE__*/_jsx("div", {
98
94
  className: block('row'),
99
- children: [/*#__PURE__*/_jsxs("div", {
100
- className: block('left'),
101
- children: [/*#__PURE__*/_jsx("label", {
102
- className: block('label', {
103
- required: required
104
- }),
105
- children: title
106
- }), Boolean(tooltip) && /*#__PURE__*/_jsx("div", {
107
- className: block('tooltip'),
108
- children: /*#__PURE__*/_jsx(Popover, {
109
- content: tooltip,
110
- delayOpening: 150,
111
- delayClosing: 150,
112
- placement: ['bottom', 'top', 'right'],
113
- children: /*#__PURE__*/_jsx(Icon, {
114
- data: tooltipIcon
115
- })
116
- })
117
- })]
118
- }), /*#__PURE__*/_jsx("div", {
95
+ children: /*#__PURE__*/_jsx("div", {
119
96
  className: block('right'),
120
97
  children: /*#__PURE__*/_jsxs("div", {
121
98
  className: block('control-block'),
@@ -139,21 +116,18 @@ export function BundleInput(props) {
139
116
  data: postfix || formattedValue
140
117
  })]
141
118
  })
142
- })]
143
- }), calcProgress && /*#__PURE__*/_jsxs("div", {
119
+ })
120
+ }), calcProgress && /*#__PURE__*/_jsx("div", {
144
121
  className: block('row'),
145
- children: [/*#__PURE__*/_jsx("div", {
146
- className: block('left'),
147
- children: /*#__PURE__*/_jsx("span", {
148
- className: block('usage'),
149
- children: "Usage"
122
+ children: /*#__PURE__*/_jsx(Tooltip, {
123
+ content: "Usage",
124
+ children: /*#__PURE__*/_jsx("div", {
125
+ className: block('left'),
126
+ children: /*#__PURE__*/_jsx(Progress, _objectSpread({
127
+ className: block('progress')
128
+ }, calcProgress))
150
129
  })
151
- }), /*#__PURE__*/_jsx("div", {
152
- className: block('right'),
153
- children: /*#__PURE__*/_jsx(Progress, _objectSpread({
154
- className: block('progress')
155
- }, calcProgress))
156
- })]
130
+ })
157
131
  }), !parsedError && hint && /*#__PURE__*/_jsx("div", {
158
132
  className: block('row'),
159
133
  children: /*#__PURE__*/_jsx("span", {