@ytsaurus/ui 1.18.0 → 1.19.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 (136) hide show
  1. package/build/cjs/@types/types.d.ts +14 -0
  2. package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js +3 -0
  3. package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
  4. package/build/cjs/ui/hocs/components/Modal/withScope.d.ts +4 -55
  5. package/build/cjs/ui/hocs/components/Modal/withScope.js +8 -55
  6. package/build/cjs/ui/hocs/components/Modal/withScope.js.map +1 -1
  7. package/build/cjs/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
  8. package/build/cjs/ui/hooks/use-hotkeysjs-scope.js +22 -0
  9. package/build/cjs/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
  10. package/build/cjs/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
  11. package/build/cjs/ui/pages/system/Masters/Masters.css +3 -0
  12. package/build/cjs/ui/pages/system/Masters/Masters.css.map +1 -1
  13. package/build/cjs/ui/pages/system/Masters/Masters.d.ts +4 -1
  14. package/build/cjs/ui/pages/system/Masters/Masters.js +22 -3
  15. package/build/cjs/ui/pages/system/Masters/Masters.js.map +1 -1
  16. package/build/cjs/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
  17. package/build/cjs/ui/pages/system/Masters/SystemAlert.js +26 -0
  18. package/build/cjs/ui/pages/system/Masters/SystemAlert.js.map +1 -0
  19. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
  20. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js +27 -0
  21. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
  22. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
  23. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js +8 -4
  24. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
  25. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
  26. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
  27. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
  28. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
  29. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
  30. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  31. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
  32. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
  33. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  34. package/build/cjs/ui/store/actions/operations/detail.js +2 -2
  35. package/build/cjs/ui/store/actions/operations/detail.js.map +1 -1
  36. package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js +1 -1
  37. package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
  38. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -2
  39. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  40. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +1 -1
  41. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  42. package/build/cjs/ui/store/actions/system/masters.d.ts +2 -1
  43. package/build/cjs/ui/store/actions/system/masters.js +54 -42
  44. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  45. package/build/cjs/ui/store/reducers/system/masters.d.ts +12 -3
  46. package/build/cjs/ui/store/reducers/system/masters.js +9 -4
  47. package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
  48. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
  49. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  50. package/build/cjs/ui/store/selectors/system/index.d.ts +2 -1
  51. package/build/cjs/ui/store/selectors/system/index.js.map +1 -1
  52. package/build/cjs/ui/store/selectors/system/masters.d.ts +3 -0
  53. package/build/cjs/ui/store/selectors/system/masters.js +4 -1
  54. package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
  55. package/build/cjs/ui/utils/scheduling/detailsTable.d.ts +387 -326
  56. package/build/cjs/ui/utils/scheduling/detailsTable.js +12 -6
  57. package/build/cjs/ui/utils/scheduling/detailsTable.js.map +1 -1
  58. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
  59. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  60. package/build/cjs/ui/utils/utils.js +2 -1
  61. package/build/cjs/ui/utils/utils.js.map +1 -1
  62. package/build/esm/@types/types.d.ts +14 -0
  63. package/build/esm/ui/components/QuotaEditor/QuotaEditor.js +3 -0
  64. package/build/esm/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
  65. package/build/esm/ui/hocs/components/Modal/withScope.d.ts +4 -55
  66. package/build/esm/ui/hocs/components/Modal/withScope.js +8 -55
  67. package/build/esm/ui/hocs/components/Modal/withScope.js.map +1 -1
  68. package/build/esm/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
  69. package/build/esm/ui/hooks/use-hotkeysjs-scope.js +15 -0
  70. package/build/esm/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
  71. package/build/esm/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
  72. package/build/esm/ui/pages/system/Masters/Masters.css +3 -0
  73. package/build/esm/ui/pages/system/Masters/Masters.css.map +1 -1
  74. package/build/esm/ui/pages/system/Masters/Masters.d.ts +4 -1
  75. package/build/esm/ui/pages/system/Masters/Masters.js +22 -3
  76. package/build/esm/ui/pages/system/Masters/Masters.js.map +1 -1
  77. package/build/esm/ui/pages/system/Masters/Masters.scss +4 -0
  78. package/build/esm/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
  79. package/build/esm/ui/pages/system/Masters/SystemAlert.js +19 -0
  80. package/build/esm/ui/pages/system/Masters/SystemAlert.js.map +1 -0
  81. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
  82. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js +20 -0
  83. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
  84. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
  85. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js +7 -3
  86. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
  87. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
  88. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
  89. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
  90. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
  91. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.scss +6 -0
  92. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
  93. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  94. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
  95. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
  96. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  97. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +0 -4
  98. package/build/esm/ui/store/actions/operations/detail.js +2 -2
  99. package/build/esm/ui/store/actions/operations/detail.js.map +1 -1
  100. package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js +1 -1
  101. package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
  102. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -2
  103. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  104. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +1 -1
  105. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  106. package/build/esm/ui/store/actions/system/masters.d.ts +2 -1
  107. package/build/esm/ui/store/actions/system/masters.js +47 -35
  108. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  109. package/build/esm/ui/store/reducers/system/masters.d.ts +12 -3
  110. package/build/esm/ui/store/reducers/system/masters.js +9 -4
  111. package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
  112. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
  113. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  114. package/build/esm/ui/store/selectors/system/index.d.ts +2 -1
  115. package/build/esm/ui/store/selectors/system/index.js.map +1 -1
  116. package/build/esm/ui/store/selectors/system/masters.d.ts +3 -0
  117. package/build/esm/ui/store/selectors/system/masters.js +3 -0
  118. package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
  119. package/build/esm/ui/utils/scheduling/detailsTable.d.ts +387 -326
  120. package/build/esm/ui/utils/scheduling/detailsTable.js +12 -6
  121. package/build/esm/ui/utils/scheduling/detailsTable.js.map +1 -1
  122. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
  123. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  124. package/build/esm/ui/utils/utils.js +2 -1
  125. package/build/esm/ui/utils/utils.js.map +1 -1
  126. package/dist/public/build/assets-manifest.json +7 -7
  127. package/dist/public/build/css/{main.f7818774.css → main.4c657a42.css} +2 -2
  128. package/dist/public/build/css/main.4c657a42.css.map +1 -0
  129. package/dist/public/build/js/main.38e77012.js +3 -0
  130. package/dist/public/build/js/{main.1b374ad6.js.map → main.38e77012.js.map} +1 -1
  131. package/dist/public/build/manifest.json +4 -4
  132. package/package.json +8 -6
  133. package/scripts/sync-peer-dependencies.js +54 -0
  134. package/dist/public/build/css/main.f7818774.css.map +0 -1
  135. package/dist/public/build/js/main.1b374ad6.js +0 -3
  136. /package/dist/public/build/js/{main.1b374ad6.js.LICENSE.txt → main.38e77012.js.LICENSE.txt} +0 -0
@@ -23,3 +23,17 @@ export interface RemoteCopyParams {
23
23
  pool: string;
24
24
  override?: boolean;
25
25
  }
26
+
27
+ export type Pick2<
28
+ T extends object,
29
+ K1 extends keyof T,
30
+ K2 extends keyof T[K1],
31
+ /** R new type for T[K1][K2], do not provide it to infer corresponding types from T */
32
+ R = never,
33
+ > = {
34
+ [L1 in K1]: T[L1] extends object
35
+ ? {[L2 in K2]: R extends never ? T[L1][L2] : R}
36
+ : R extends never
37
+ ? T[L1]
38
+ : R;
39
+ };
@@ -209,6 +209,9 @@ var QuotaEditor = exports.default = /*#__PURE__*/function (_React$Component) {
209
209
  if (currentAccount === srcAccount) {
210
210
  return 'The same source account';
211
211
  }
212
+ if (newLimit <= this.props.prevLimit) {
213
+ return undefined;
214
+ }
212
215
  var maxLimit = this.getMaxLimit();
213
216
  if (srcAccount && (maxLimit === undefined || newLimit > maxLimit)) {
214
217
  return 'New value is too big';
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_hammer","_NumberInput","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","QuotaEditor","exports","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","apply","concat","onEnterKeyDown","_this$props$onEnterKe","props","onBytesChange","value","_this$props","onChange","sourceAccount","limit","source","error","checkForError","onAccountChange","_this$props2","_createClass","key","render","_this$props3","className","format","sourceSuggestTitle","renderSourceSuggest","limitInputTitle","showHint","decimalPlaces","sourceSuggestDisabled","_jsxs","children","_jsx","disabled","React","Fragment","getFreeFormatted","NumberInputWithError","getLimit","min","getMinLimit","max","getMaxLimit","qa","_this$props4","prevLimit","undefined","getFreeImpl","info","calcLimitTotal","total","allowChildrenOverCommit","_info$totalChildrenLi","totalChildrenLimit","free","Math","maxValue","_this$props$prevLimit","itemLimit","_this$props$limit","itemNewLimit","_free","getFree","account","getInfoByName","_this$props5","currentAccount","_getInfoByName","res","hammer","NO_VALUE","NumberInput","Number","newLimit","srcAccount","isNaN","maxLimit","Component"],"sources":["QuotaEditor.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport hammer from '../../common/hammer';\nimport NumberInput, {\n NumberInputProps,\n NumberInputWithError,\n NumberInputWithErrorProps,\n} from '../../components/NumberInput/NumberInput';\n\nimport './QuotaEditor.scss';\n\nconst block = cn('yt-quota-editor');\n\nexport interface QuotaEditorProps {\n className?: string;\n limit: number | undefined;\n\n min?: number;\n max?: number;\n\n error?: string;\n prevLimit?: number;\n format: NumberInputProps['format'];\n decimalPlaces?: number;\n currentAccount: string;\n sourceAccount?: string;\n\n showHint?: boolean;\n\n onChange: (value: {limit?: number; source?: string; error?: string}) => void;\n onEnterKeyDown?: () => void;\n\n getInfoByName: (account: string) => {\n limit?: number;\n total?: number;\n totalChildrenLimit?: number;\n allowChildrenOverCommit?: number;\n };\n\n limitInputTitle?: React.ReactNode;\n sourceSuggestTitle?: React.ReactNode;\n renderSourceSuggest?: (props: SuggestProps) => React.ReactNode;\n sourceSuggestDisabled?: boolean;\n}\n\ninterface SuggestProps {\n value: string;\n onChange: (value?: string) => void;\n disabled?: boolean;\n}\n\nexport default class QuotaEditor extends React.Component<QuotaEditorProps> {\n render() {\n const {\n className,\n format,\n sourceSuggestTitle,\n renderSourceSuggest,\n sourceAccount,\n limitInputTitle,\n showHint,\n error,\n decimalPlaces,\n sourceSuggestDisabled,\n } = this.props;\n\n return (\n <div className={block(null, className)}>\n {renderSourceSuggest && (\n <div className={block('item')}>\n <div className={block('item-title')}>\n {sourceSuggestTitle || 'Account to distribution'}\n </div>\n {renderSourceSuggest({\n value: sourceAccount || '',\n onChange: this.onAccountChange,\n disabled: sourceSuggestDisabled,\n })}\n <div className={block('free')}>\n <React.Fragment>\n Free to distribute\n <span className={block('free-value')}>\n {' '}\n {this.getFreeFormatted()}\n </span>\n </React.Fragment>\n </div>\n </div>\n )}\n <div className={block('item')}>\n <div className={block('item-title')}>\n {limitInputTitle || 'New quota limit'}\n </div>\n <NumberInputWithError\n onChange={this.onBytesChange}\n value={{value: this.getLimit(), error}}\n format={format}\n showHint={showHint}\n min={this.getMinLimit()}\n max={this.getMaxLimit()}\n onEnterKeyDown={this.onEnterKeyDown}\n decimalPlaces={decimalPlaces}\n qa=\"quota-editor-new-limit\"\n />\n </div>\n </div>\n );\n }\n\n private onEnterKeyDown = () => {\n const {onEnterKeyDown = () => {}} = this.props;\n onEnterKeyDown();\n };\n\n private onBytesChange: NumberInputWithErrorProps['onChange'] = (value) => {\n const {onChange, sourceAccount} = this.props;\n onChange({\n limit: value?.value,\n source: sourceAccount,\n error: value?.error || this.checkForError(value?.value, sourceAccount),\n });\n };\n\n private onAccountChange = (source?: string) => {\n const {onChange, limit, error} = this.props;\n onChange({\n limit,\n source,\n error: error || this.checkForError(limit, source),\n });\n };\n\n private getLimit() {\n const {limit, prevLimit} = this.props;\n return limit !== undefined ? limit : prevLimit;\n }\n\n private getFreeImpl() {\n const {sourceAccount} = this.props;\n const info = this.calcLimitTotal(sourceAccount);\n const {limit, total, allowChildrenOverCommit, totalChildrenLimit = 0} = info;\n if (limit === undefined || total === undefined) {\n return {};\n }\n\n if (allowChildrenOverCommit) {\n const free = Math.max(0, limit);\n return {\n free,\n maxValue: free,\n };\n } else {\n const {prevLimit: itemLimit = 0} = this.props;\n const {limit: itemNewLimit = itemLimit} = this.props;\n const free = Math.max(0, limit - totalChildrenLimit);\n return {\n free: free + itemLimit - itemNewLimit,\n maxValue: free + itemLimit,\n };\n }\n }\n\n private getFree() {\n return this.getFreeImpl().free!;\n }\n\n private calcLimitTotal(account = '') {\n return this.props.getInfoByName(account);\n }\n\n private getMinLimit() {\n const {min} = this.props;\n if (min !== undefined) {\n return min;\n }\n\n const {currentAccount, getInfoByName} = this.props;\n const {totalChildrenLimit, total} = getInfoByName(currentAccount);\n const res = (total || 0) + (totalChildrenLimit || 0);\n\n return res;\n }\n\n private getMaxLimit() {\n const {max} = this.props;\n if (max !== undefined) {\n return max;\n }\n return this.getFreeImpl().maxValue!;\n }\n\n private getFreeFormatted() {\n const {sourceAccount} = this.props;\n if (!sourceAccount) {\n return hammer.format.NO_VALUE;\n }\n return NumberInput.format(Number(this.getFree()), this.props.format);\n }\n\n private checkForError(newLimit?: number, srcAccount?: string) {\n if (newLimit === undefined) {\n return undefined;\n }\n\n if (isNaN(newLimit!)) {\n return 'wrong format!';\n }\n\n const {currentAccount} = this.props;\n if (currentAccount === srcAccount) {\n return 'The same source account';\n }\n\n const maxLimit = this.getMaxLimit();\n\n if (srcAccount && (maxLimit === undefined || newLimit > maxLimit)) {\n return 'New value is too big';\n }\n\n return undefined;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_hammer","_NumberInput","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","QuotaEditor","exports","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","apply","concat","onEnterKeyDown","_this$props$onEnterKe","props","onBytesChange","value","_this$props","onChange","sourceAccount","limit","source","error","checkForError","onAccountChange","_this$props2","_createClass","key","render","_this$props3","className","format","sourceSuggestTitle","renderSourceSuggest","limitInputTitle","showHint","decimalPlaces","sourceSuggestDisabled","_jsxs","children","_jsx","disabled","React","Fragment","getFreeFormatted","NumberInputWithError","getLimit","min","getMinLimit","max","getMaxLimit","qa","_this$props4","prevLimit","undefined","getFreeImpl","info","calcLimitTotal","total","allowChildrenOverCommit","_info$totalChildrenLi","totalChildrenLimit","free","Math","maxValue","_this$props$prevLimit","itemLimit","_this$props$limit","itemNewLimit","_free","getFree","account","getInfoByName","_this$props5","currentAccount","_getInfoByName","res","hammer","NO_VALUE","NumberInput","Number","newLimit","srcAccount","isNaN","maxLimit","Component"],"sources":["QuotaEditor.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport hammer from '../../common/hammer';\nimport NumberInput, {\n NumberInputProps,\n NumberInputWithError,\n NumberInputWithErrorProps,\n} from '../../components/NumberInput/NumberInput';\n\nimport './QuotaEditor.scss';\n\nconst block = cn('yt-quota-editor');\n\nexport interface QuotaEditorProps {\n className?: string;\n limit: number | undefined;\n\n min?: number;\n max?: number;\n\n error?: string;\n prevLimit?: number;\n format: NumberInputProps['format'];\n decimalPlaces?: number;\n currentAccount: string;\n sourceAccount?: string;\n\n showHint?: boolean;\n\n onChange: (value: {limit?: number; source?: string; error?: string}) => void;\n onEnterKeyDown?: () => void;\n\n getInfoByName: (account: string) => {\n limit?: number;\n total?: number;\n totalChildrenLimit?: number;\n allowChildrenOverCommit?: number;\n };\n\n limitInputTitle?: React.ReactNode;\n sourceSuggestTitle?: React.ReactNode;\n renderSourceSuggest?: (props: SuggestProps) => React.ReactNode;\n sourceSuggestDisabled?: boolean;\n}\n\ninterface SuggestProps {\n value: string;\n onChange: (value?: string) => void;\n disabled?: boolean;\n}\n\nexport default class QuotaEditor extends React.Component<QuotaEditorProps> {\n render() {\n const {\n className,\n format,\n sourceSuggestTitle,\n renderSourceSuggest,\n sourceAccount,\n limitInputTitle,\n showHint,\n error,\n decimalPlaces,\n sourceSuggestDisabled,\n } = this.props;\n\n return (\n <div className={block(null, className)}>\n {renderSourceSuggest && (\n <div className={block('item')}>\n <div className={block('item-title')}>\n {sourceSuggestTitle || 'Account to distribution'}\n </div>\n {renderSourceSuggest({\n value: sourceAccount || '',\n onChange: this.onAccountChange,\n disabled: sourceSuggestDisabled,\n })}\n <div className={block('free')}>\n <React.Fragment>\n Free to distribute\n <span className={block('free-value')}>\n {' '}\n {this.getFreeFormatted()}\n </span>\n </React.Fragment>\n </div>\n </div>\n )}\n <div className={block('item')}>\n <div className={block('item-title')}>\n {limitInputTitle || 'New quota limit'}\n </div>\n <NumberInputWithError\n onChange={this.onBytesChange}\n value={{value: this.getLimit(), error}}\n format={format}\n showHint={showHint}\n min={this.getMinLimit()}\n max={this.getMaxLimit()}\n onEnterKeyDown={this.onEnterKeyDown}\n decimalPlaces={decimalPlaces}\n qa=\"quota-editor-new-limit\"\n />\n </div>\n </div>\n );\n }\n\n private onEnterKeyDown = () => {\n const {onEnterKeyDown = () => {}} = this.props;\n onEnterKeyDown();\n };\n\n private onBytesChange: NumberInputWithErrorProps['onChange'] = (value) => {\n const {onChange, sourceAccount} = this.props;\n onChange({\n limit: value?.value,\n source: sourceAccount,\n error: value?.error || this.checkForError(value?.value, sourceAccount),\n });\n };\n\n private onAccountChange = (source?: string) => {\n const {onChange, limit, error} = this.props;\n onChange({\n limit,\n source,\n error: error || this.checkForError(limit, source),\n });\n };\n\n private getLimit() {\n const {limit, prevLimit} = this.props;\n return limit !== undefined ? limit : prevLimit;\n }\n\n private getFreeImpl() {\n const {sourceAccount} = this.props;\n const info = this.calcLimitTotal(sourceAccount);\n const {limit, total, allowChildrenOverCommit, totalChildrenLimit = 0} = info;\n if (limit === undefined || total === undefined) {\n return {};\n }\n\n if (allowChildrenOverCommit) {\n const free = Math.max(0, limit);\n return {\n free,\n maxValue: free,\n };\n } else {\n const {prevLimit: itemLimit = 0} = this.props;\n const {limit: itemNewLimit = itemLimit} = this.props;\n const free = Math.max(0, limit - totalChildrenLimit);\n return {\n free: free + itemLimit - itemNewLimit,\n maxValue: free + itemLimit,\n };\n }\n }\n\n private getFree() {\n return this.getFreeImpl().free!;\n }\n\n private calcLimitTotal(account = '') {\n return this.props.getInfoByName(account);\n }\n\n private getMinLimit() {\n const {min} = this.props;\n if (min !== undefined) {\n return min;\n }\n\n const {currentAccount, getInfoByName} = this.props;\n const {totalChildrenLimit, total} = getInfoByName(currentAccount);\n const res = (total || 0) + (totalChildrenLimit || 0);\n\n return res;\n }\n\n private getMaxLimit() {\n const {max} = this.props;\n if (max !== undefined) {\n return max;\n }\n return this.getFreeImpl().maxValue!;\n }\n\n private getFreeFormatted() {\n const {sourceAccount} = this.props;\n if (!sourceAccount) {\n return hammer.format.NO_VALUE;\n }\n return NumberInput.format(Number(this.getFree()), this.props.format);\n }\n\n private checkForError(newLimit?: number, srcAccount?: string) {\n if (newLimit === undefined) {\n return undefined;\n }\n\n if (isNaN(newLimit!)) {\n return 'wrong format!';\n }\n\n const {currentAccount} = this.props;\n if (currentAccount === srcAccount) {\n return 'The same source account';\n }\n\n if (newLimit <= this.props.prevLimit!) {\n return undefined;\n }\n\n const maxLimit = this.getMaxLimit();\n\n if (srcAccount && (maxLimit === undefined || newLimit > maxLimit)) {\n return 'New value is too big';\n }\n\n return undefined;\n }\n}\n"],"mappings":"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"}
@@ -1,55 +1,4 @@
1
- export default function withScope(scope: any): (Component: any) => {
2
- new (props: any): {
3
- componentDidMount(): void;
4
- prevScope: null;
5
- componentDidUpdate(prevProps: any): void;
6
- componentWillUnmount(): void;
7
- render(): React.JSX.Element;
8
- context: unknown;
9
- setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
10
- forceUpdate(callback?: (() => void) | undefined): void;
11
- readonly props: Readonly<any>;
12
- state: Readonly<any>;
13
- refs: {
14
- [key: string]: React.ReactInstance;
15
- };
16
- shouldComponentUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): boolean;
17
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
18
- getSnapshotBeforeUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>): any;
19
- componentWillMount?(): void;
20
- UNSAFE_componentWillMount?(): void;
21
- componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
22
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
23
- componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
24
- UNSAFE_componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
25
- };
26
- new (props: any, context: any): {
27
- componentDidMount(): void;
28
- prevScope: null;
29
- componentDidUpdate(prevProps: any): void;
30
- componentWillUnmount(): void;
31
- render(): React.JSX.Element;
32
- context: unknown;
33
- setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
34
- forceUpdate(callback?: (() => void) | undefined): void;
35
- readonly props: Readonly<any>;
36
- state: Readonly<any>;
37
- refs: {
38
- [key: string]: React.ReactInstance;
39
- };
40
- shouldComponentUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): boolean;
41
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
42
- getSnapshotBeforeUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>): any;
43
- componentWillMount?(): void;
44
- UNSAFE_componentWillMount?(): void;
45
- componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
46
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
47
- componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
48
- UNSAFE_componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
49
- };
50
- propTypes: {
51
- visible: PropTypes.Validator<boolean>;
52
- };
53
- displayName: string;
54
- contextType?: React.Context<any> | undefined;
55
- };
1
+ import React from 'react';
2
+ export default function withScope(scope: string): <P>(Component: React.ComponentType<P>) => React.FC<P & {
3
+ visible: true;
4
+ }>;
@@ -5,66 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = withScope;
7
7
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
- var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
12
8
  var _react = _interopRequireDefault(require("react"));
13
- var _hotkeysJs = _interopRequireDefault(require("hotkeys-js"));
14
9
  var _utils = require("../../../utils");
10
+ var _useHotkeysjsScope = require("../../../hooks/use-hotkeysjs-scope");
15
11
  var _jsxRuntime = require("react/jsx-runtime");
16
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
13
  function withScope(scope) {
18
- return function (Component) {
19
- var _class;
20
- return _class = /*#__PURE__*/function (_React$Component) {
21
- (0, _inherits2.default)(WithScope, _React$Component);
22
- var _super = (0, _createSuper2.default)(WithScope);
23
- function WithScope() {
24
- var _this;
25
- (0, _classCallCheck2.default)(this, WithScope);
26
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
- args[_key] = arguments[_key];
28
- }
29
- _this = _super.call.apply(_super, [this].concat(args));
30
- _this.prevScope = null;
31
- return _this;
32
- }
33
- (0, _createClass2.default)(WithScope, [{
34
- key: "componentDidMount",
35
- value: function componentDidMount() {
36
- this.prevScope = _hotkeysJs.default.getScope();
37
- if (this.props.visible) {
38
- _hotkeysJs.default.setScope(scope);
39
- }
40
- }
41
- }, {
42
- key: "componentDidUpdate",
43
- value: function componentDidUpdate(prevProps) {
44
- var prevVisible = prevProps.visible;
45
- var visible = this.props.visible;
46
- if (prevVisible !== visible) {
47
- if (visible) {
48
- this.prevScope = _hotkeysJs.default.getScope();
49
- _hotkeysJs.default.setScope(scope);
50
- } else {
51
- _hotkeysJs.default.setScope(this.prevScope);
52
- }
53
- }
54
- }
55
- }, {
56
- key: "componentWillUnmount",
57
- value: function componentWillUnmount() {
58
- _hotkeysJs.default.setScope(this.prevScope);
59
- }
60
- }, {
61
- key: "render",
62
- value: function render() {
63
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, (0, _objectSpread2.default)({}, this.props));
64
- }
65
- }]);
66
- return WithScope;
67
- }(_react.default.Component), _class.displayName = "WithScope(".concat((0, _utils.getDisplayName)(Component), ")"), _class;
14
+ return function wrap(Component) {
15
+ var ResComponent = function WithScope(props) {
16
+ (0, _useHotkeysjsScope.useHotkeysScope)(scope, props.visible);
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, (0, _objectSpread2.default)({}, props));
18
+ };
19
+ ResComponent.displayName = "WithScope(".concat((0, _utils.getDisplayName)(Component), ")");
20
+ return ResComponent;
68
21
  };
69
22
  }
70
23
  // #sourceMappingURL=withScope.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_hotkeysJs","_utils","_jsxRuntime","obj","__esModule","default","withScope","scope","Component","_class","_React$Component","_inherits","WithScope","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","prevScope","_createClass","key","value","componentDidMount","getScope","props","visible","setScope","componentDidUpdate","prevProps","prevVisible","componentWillUnmount","render","_jsx","_objectSpread","React","displayName","getDisplayName"],"sources":["withScope.js"],"sourcesContent":["import React from 'react';\nimport key from 'hotkeys-js';\nimport PropTypes from 'prop-types';\n\nimport {getDisplayName} from '../../../utils';\n\nexport default function withScope(scope) {\n return (Component) => {\n return class WithScope extends React.Component {\n static propTypes = {\n visible: PropTypes.bool.isRequired,\n };\n\n static displayName = `WithScope(${getDisplayName(Component)})`;\n\n componentDidMount() {\n this.prevScope = key.getScope();\n\n if (this.props.visible) {\n key.setScope(scope);\n }\n }\n\n componentDidUpdate(prevProps) {\n const {visible: prevVisible} = prevProps;\n const {visible} = this.props;\n\n if (prevVisible !== visible) {\n if (visible) {\n this.prevScope = key.getScope();\n key.setScope(scope);\n } else {\n key.setScope(this.prevScope);\n }\n }\n }\n\n componentWillUnmount() {\n key.setScope(this.prevScope);\n }\n\n prevScope = null;\n\n render() {\n return <Component {...this.props} />;\n }\n };\n };\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/B,SAASG,SAASA,CAACC,KAAK,EAAE;EACrC,OAAO,UAACC,SAAS,EAAK;IAAA,IAAAC,MAAA;IAClB,OAAAA,MAAA,0BAAAC,gBAAA;MAAA,IAAAC,kBAAA,EAAAC,SAAA,EAAAF,gBAAA;MAAA,IAAAG,MAAA,OAAAC,qBAAA,EAAAF,SAAA;MAAA,SAAAA,UAAA;QAAA,IAAAG,KAAA;QAAA,IAAAC,wBAAA,QAAAJ,SAAA;QAAA,SAAAK,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;UAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;QAAA;QAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;QAAAL,KAAA,CAiCIW,SAAS,GAAG,IAAI;QAAA,OAAAX,KAAA;MAAA;MAAA,IAAAY,qBAAA,EAAAf,SAAA;QAAAgB,GAAA;QAAAC,KAAA,EA1BhB,SAAAC,kBAAA,EAAoB;UAChB,IAAI,CAACJ,SAAS,GAAGE,kBAAG,CAACG,QAAQ,CAAC,CAAC;UAE/B,IAAI,IAAI,CAACC,KAAK,CAACC,OAAO,EAAE;YACpBL,kBAAG,CAACM,QAAQ,CAAC3B,KAAK,CAAC;UACvB;QACJ;MAAC;QAAAqB,GAAA;QAAAC,KAAA,EAED,SAAAM,mBAAmBC,SAAS,EAAE;UAC1B,IAAgBC,WAAW,GAAID,SAAS,CAAjCH,OAAO;UACd,IAAOA,OAAO,GAAI,IAAI,CAACD,KAAK,CAArBC,OAAO;UAEd,IAAII,WAAW,KAAKJ,OAAO,EAAE;YACzB,IAAIA,OAAO,EAAE;cACT,IAAI,CAACP,SAAS,GAAGE,kBAAG,CAACG,QAAQ,CAAC,CAAC;cAC/BH,kBAAG,CAACM,QAAQ,CAAC3B,KAAK,CAAC;YACvB,CAAC,MAAM;cACHqB,kBAAG,CAACM,QAAQ,CAAC,IAAI,CAACR,SAAS,CAAC;YAChC;UACJ;QACJ;MAAC;QAAAE,GAAA;QAAAC,KAAA,EAED,SAAAS,qBAAA,EAAuB;UACnBV,kBAAG,CAACM,QAAQ,CAAC,IAAI,CAACR,SAAS,CAAC;QAChC;MAAC;QAAAE,GAAA;QAAAC,KAAA,EAID,SAAAU,OAAA,EAAS;UACL,oBAAO,IAAAC,eAAA,EAAChC,SAAS,MAAAiC,sBAAA,MAAK,IAAI,CAACT,KAAK,CAAG,CAAC;QACxC;MAAC;MAAA,OAAApB,SAAA;IAAA,EArC0B8B,cAAK,CAAClC,SAAS,GAAAC,MAAA,CAKnCkC,WAAW,gBAAAlB,MAAA,CAAgB,IAAAmB,qBAAc,EAACpC,SAAS,CAAC,QAAAC,MAAA;EAkCnE,CAAC;AACL"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_utils","_useHotkeysjsScope","_jsxRuntime","obj","__esModule","default","withScope","scope","wrap","Component","ResComponent","WithScope","props","useHotkeysScope","visible","_jsx","_objectSpread","displayName","concat","getDisplayName"],"sources":["withScope.tsx"],"sourcesContent":["import React from 'react';\n\nimport {getDisplayName} from '../../../utils';\nimport {useHotkeysScope} from '../../../hooks/use-hotkeysjs-scope';\n\nexport default function withScope(scope: string) {\n return function wrap<P>(Component: React.ComponentType<P>) {\n type Props = P & {visible: true};\n const ResComponent: React.FC<Props> = function WithScope(props) {\n useHotkeysScope(scope, props.visible);\n return <Component {...props} />;\n };\n\n ResComponent.displayName = `WithScope(${getDisplayName(Component)})`;\n return ResComponent;\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAAmE,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpD,SAASG,SAASA,CAACC,KAAa,EAAE;EAC7C,OAAO,SAASC,IAAIA,CAAIC,SAAiC,EAAE;IAEvD,IAAMC,YAA6B,GAAG,SAASC,SAASA,CAACC,KAAK,EAAE;MAC5D,IAAAC,kCAAe,EAACN,KAAK,EAAEK,KAAK,CAACE,OAAO,CAAC;MACrC,oBAAO,IAAAC,eAAA,EAACN,SAAS,MAAAO,sBAAA,MAAKJ,KAAK,CAAG,CAAC;IACnC,CAAC;IAEDF,YAAY,CAACO,WAAW,gBAAAC,MAAA,CAAgB,IAAAC,qBAAc,EAACV,SAAS,CAAC,MAAG;IACpE,OAAOC,YAAY;EACvB,CAAC;AACL"}
@@ -0,0 +1 @@
1
+ export declare function useHotkeysScope(scope: string, visible: boolean): void;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useHotkeysScope = useHotkeysScope;
7
+ var _hotkeysJs = _interopRequireDefault(require("hotkeys-js"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function useHotkeysScope(scope, visible) {
11
+ _react.default.useEffect(function () {
12
+ if (!visible) {
13
+ return undefined;
14
+ }
15
+ var prevScope = _hotkeysJs.default.getScope();
16
+ _hotkeysJs.default.setScope(scope);
17
+ return function () {
18
+ _hotkeysJs.default.setScope(prevScope);
19
+ };
20
+ }, [scope, visible]);
21
+ }
22
+ // #sourceMappingURL=use-hotkeysjs-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hotkeysJs","_interopRequireDefault","require","_react","obj","__esModule","default","useHotkeysScope","scope","visible","React","useEffect","undefined","prevScope","key","getScope","setScope"],"sources":["use-hotkeysjs-scope.ts"],"sourcesContent":["import key from 'hotkeys-js';\nimport React from 'react';\n\nexport function useHotkeysScope(scope: string, visible: boolean) {\n React.useEffect(() => {\n if (!visible) {\n return undefined;\n }\n\n const prevScope = key.getScope();\n key.setScope(scope);\n\n return () => {\n key.setScope(prevScope);\n };\n }, [scope, visible]);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAElB,SAASG,eAAeA,CAACC,KAAa,EAAEC,OAAgB,EAAE;EAC7DC,cAAK,CAACC,SAAS,CAAC,YAAM;IAClB,IAAI,CAACF,OAAO,EAAE;MACV,OAAOG,SAAS;IACpB;IAEA,IAAMC,SAAS,GAAGC,kBAAG,CAACC,QAAQ,CAAC,CAAC;IAChCD,kBAAG,CAACE,QAAQ,CAACR,KAAK,CAAC;IAEnB,OAAO,YAAM;MACTM,kBAAG,CAACE,QAAQ,CAACH,SAAS,CAAC;IAC3B,CAAC;EACL,CAAC,EAAE,CAACL,KAAK,EAAEC,OAAO,CAAC,CAAC;AACxB"}
@@ -1,56 +1,2 @@
1
- declare const _default: {
2
- new (props: any): {
3
- componentDidMount(): void;
4
- prevScope: null;
5
- componentDidUpdate(prevProps: any): void;
6
- componentWillUnmount(): void;
7
- render(): React.JSX.Element;
8
- context: unknown;
9
- setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
10
- forceUpdate(callback?: (() => void) | undefined): void;
11
- readonly props: Readonly<any>;
12
- state: Readonly<any>;
13
- refs: {
14
- [key: string]: React.ReactInstance;
15
- };
16
- shouldComponentUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): boolean;
17
- componentDidCatch?(error: globalThis.Error, errorInfo: React.ErrorInfo): void;
18
- getSnapshotBeforeUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>): any;
19
- componentWillMount?(): void;
20
- UNSAFE_componentWillMount?(): void;
21
- componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
22
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
23
- componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
24
- UNSAFE_componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
25
- };
26
- new (props: any, context: any): {
27
- componentDidMount(): void;
28
- prevScope: null;
29
- componentDidUpdate(prevProps: any): void;
30
- componentWillUnmount(): void;
31
- render(): React.JSX.Element;
32
- context: unknown;
33
- setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
34
- forceUpdate(callback?: (() => void) | undefined): void;
35
- readonly props: Readonly<any>;
36
- state: Readonly<any>;
37
- refs: {
38
- [key: string]: React.ReactInstance;
39
- };
40
- shouldComponentUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): boolean;
41
- componentDidCatch?(error: globalThis.Error, errorInfo: React.ErrorInfo): void;
42
- getSnapshotBeforeUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>): any;
43
- componentWillMount?(): void;
44
- UNSAFE_componentWillMount?(): void;
45
- componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
46
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
47
- componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
48
- UNSAFE_componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
49
- };
50
- propTypes: {
51
- visible: PropTypes.Validator<boolean>;
52
- };
53
- displayName: string;
54
- contextType?: React.Context<any> | undefined;
55
- };
1
+ declare const _default: any;
56
2
  export default _default;
@@ -34,4 +34,7 @@
34
34
  .system-master__providers {
35
35
  margin-right: 100px;
36
36
  }
37
+ .system-master__alerts {
38
+ margin-bottom: 20px;
39
+ }
37
40
  /*# sourceMappingURL=Masters.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["Masters.scss"],"names":[],"mappings":"AAUI;EACI,iBAAA;AATR;AAYI;EAVA,aAAA;EACA,qCAAA;EACA,kBAAA;EAUI,sBAAA;AARR;AAUQ;EACI,eAAA;AARZ;AAWQ;EACI,iBAAA;AATZ;AAaI;EAvBA,aAAA;EACA,qCAAA;EACA,mBAAA;AAaJ;AAYI;EACI,eAAA;AAVR;AAaI;EACI,mBAAA;AAXR;AAcI;EACI,mBAAA;AAZR;AAeI;EACI,aAAA;EACA,eAAA;AAbR;AAgBI;EACI,mBAAA;AAdR","file":"Masters.css","sourcesContent":["@import '../../../styles/common';\n@import '../../../styles/mixins';\n\n@mixin three-column-grid($row-gap) {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-gap: $row-gap 80px;\n}\n\n.system-master {\n &__container-host-radio {\n margin-left: 20px;\n }\n\n &__all-masters {\n @include three-column-grid(8px);\n grid-auto-flow: column;\n\n & .elements-heading {\n grid-row-end: 1;\n }\n\n & .system-master__group {\n grid-row-start: 1;\n }\n }\n\n &__secondary-masters {\n @include three-column-grid(20px);\n }\n\n &__maintenance-hover {\n display: inline;\n }\n\n &__primary-master {\n margin-bottom: 40px;\n }\n\n &__secondary-masters {\n margin-bottom: 20px;\n }\n\n &__flex {\n display: flex;\n flex-wrap: wrap;\n }\n\n &__providers {\n margin-right: 100px;\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["Masters.scss"],"names":[],"mappings":"AAUI;EACI,iBAAA;AATR;AAYI;EAVA,aAAA;EACA,qCAAA;EACA,kBAAA;EAUI,sBAAA;AARR;AAUQ;EACI,eAAA;AARZ;AAWQ;EACI,iBAAA;AATZ;AAaI;EAvBA,aAAA;EACA,qCAAA;EACA,mBAAA;AAaJ;AAYI;EACI,eAAA;AAVR;AAaI;EACI,mBAAA;AAXR;AAcI;EACI,mBAAA;AAZR;AAeI;EACI,aAAA;EACA,eAAA;AAbR;AAgBI;EACI,mBAAA;AAdR;AAiBI;EACI,mBAAA;AAfR","file":"Masters.css","sourcesContent":["@import '../../../styles/common';\n@import '../../../styles/mixins';\n\n@mixin three-column-grid($row-gap) {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-gap: $row-gap 80px;\n}\n\n.system-master {\n &__container-host-radio {\n margin-left: 20px;\n }\n\n &__all-masters {\n @include three-column-grid(8px);\n grid-auto-flow: column;\n\n & .elements-heading {\n grid-row-end: 1;\n }\n\n & .system-master__group {\n grid-row-start: 1;\n }\n }\n\n &__secondary-masters {\n @include three-column-grid(20px);\n }\n\n &__maintenance-hover {\n display: inline;\n }\n\n &__primary-master {\n margin-bottom: 40px;\n }\n\n &__secondary-masters {\n margin-bottom: 20px;\n }\n\n &__flex {\n display: flex;\n flex-wrap: wrap;\n }\n\n &__providers {\n margin-right: 100px;\n }\n\n &__alerts {\n margin-bottom: 20px;\n }\n}\n"],"sourceRoot":""}
@@ -1,4 +1,5 @@
1
1
  declare const _default: import("react-redux").ConnectedComponent<typeof Masters, import("react-redux").Omit<PropTypes.InferProps<{
2
+ alerts: PropTypes.Requireable<(object | null | undefined)[]>;
2
3
  counters: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
3
4
  flags: PropTypes.Requireable<object>;
4
5
  states: PropTypes.Requireable<object>;
@@ -8,10 +9,11 @@ declare const _default: import("react-redux").ConnectedComponent<typeof Masters,
8
9
  secondary: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
9
10
  providers: PropTypes.Validator<NonNullable<PropTypes.InferProps<any>>>;
10
11
  discovery: PropTypes.Validator<NonNullable<PropTypes.InferProps<any>>>;
11
- }>, "counters" | "primary" | "secondary" | "providers" | "discovery" | "initialized">>;
12
+ }>, "alerts" | "counters" | "primary" | "secondary" | "providers" | "discovery" | "initialized">>;
12
13
  export default _default;
13
14
  declare class Masters extends React.Component<any, any, any> {
14
15
  static propTypes: {
16
+ alerts: PropTypes.Requireable<(object | null | undefined)[]>;
15
17
  counters: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
16
18
  flags: PropTypes.Requireable<object>;
17
19
  states: PropTypes.Requireable<object>;
@@ -30,6 +32,7 @@ declare class Masters extends React.Component<any, any, any> {
30
32
  allowVoting: boolean;
31
33
  }) => React.JSX.Element[];
32
34
  renderMasterTypeSwitcher(): React.JSX.Element;
35
+ renderAlerts(): React.JSX.Element;
33
36
  renderContent(): React.JSX.Element;
34
37
  renderSection(name: any, heading: any, data: any, { allowVoting }?: {
35
38
  allowVoting: boolean;
@@ -24,6 +24,7 @@ var _settingsTs = require("../../../store/selectors/settings-ts");
24
24
  var _settings = require("../../../store/actions/settings/settings");
25
25
  var _useUpdater = require("../../../hooks/use-updater");
26
26
  require("./Masters.css");
27
+ var _SystemAlert = require("./SystemAlert");
27
28
  var _jsxRuntime = require("react/jsx-runtime");
28
29
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
29
30
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -99,6 +100,13 @@ var Masters = /*#__PURE__*/function (_Component) {
99
100
  className: b('container-host-radio')
100
101
  });
101
102
  }
103
+ }, {
104
+ key: "renderAlerts",
105
+ value: function renderAlerts() {
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemAlert.SystemAlert, {
107
+ className: b('alerts')
108
+ });
109
+ }
102
110
  }, {
103
111
  key: "renderContent",
104
112
  value: function renderContent() {
@@ -115,7 +123,7 @@ var Masters = /*#__PURE__*/function (_Component) {
115
123
  });
116
124
  return fitIntoSection ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
117
125
  className: b('all-masters'),
118
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
126
+ children: [this.renderAlerts(), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
119
127
  className: headingCN,
120
128
  children: ["Primary Masters", this.renderMasterTypeSwitcher()]
121
129
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MasterGroup.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
@@ -151,7 +159,7 @@ var Masters = /*#__PURE__*/function (_Component) {
151
159
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MasterGroup.default, (0, _objectSpread2.default)({}, queueAgents))]
152
160
  })]
153
161
  }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
154
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
162
+ children: [this.renderAlerts(), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
155
163
  className: headingCN,
156
164
  children: ["Primary Masters", this.renderMasterTypeSwitcher()]
157
165
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MasterGroup.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
@@ -210,8 +218,17 @@ var Masters = /*#__PURE__*/function (_Component) {
210
218
  'weak-quorum': 'warning'
211
219
  };
212
220
  var counterGroups = [['recovery', 'unavailable'], ['primary', 'secondary'], ['no-quorum', 'weak-quorum', 'quorum']];
221
+ var labels = [];
222
+ var alertsCount = this.props.alerts.length;
223
+ if (alertsCount > 0) {
224
+ labels.push({
225
+ text: "".concat(alertsCount, " alert").concat(alertsCount > 1 ? 's' : ''),
226
+ theme: 'warning'
227
+ });
228
+ }
213
229
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemStateOverview.default, {
214
230
  tab: "masters",
231
+ labels: labels,
215
232
  counters: counters,
216
233
  stateThemeMappings: stateThemeMappings,
217
234
  stateOverview: stateOverview,
@@ -257,7 +274,8 @@ function mapStateToProps(state) {
257
274
  discovery = _state$system$masters.discovery,
258
275
  queueAgents = _state$system$masters.queueAgents,
259
276
  counters = _state$system$masters.counters,
260
- initialized = _state$system$masters.initialized;
277
+ initialized = _state$system$masters.initialized,
278
+ alerts = _state$system$masters.alerts;
261
279
  return {
262
280
  initialized: initialized,
263
281
  secondary: secondary,
@@ -266,6 +284,7 @@ function mapStateToProps(state) {
266
284
  discovery: discovery,
267
285
  queueAgents: queueAgents,
268
286
  counters: counters,
287
+ alerts: alerts,
269
288
  collapsibleSize: (0, _global.getUISizes)().collapsibleSize,
270
289
  collapsed: (0, _settingsTs.getSettingsSystemMastersCollapsed)(state)
271
290
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRedux","_bemCnLite","_interopRequireDefault","_CollapsibleSection","_VisibleHostTypeRadioButton","_utils","_SystemStateOverview","_MasterGroup","_masters","_global","_settingsTs","_settings","_useUpdater","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","block","headingCN","size","computeStateProgress","counters","total","sortStateProgress","_map","states","count","state","value","title","theme","quorum","Masters","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","apply","concat","onToggle","_this$props","props","setSettingsSystemMastersCollapsed","prevCollapsed","collapsed","renderMastersGroups","masters","gridRowStart","_ref","undefined","allowVoting","master","_jsx","MasterGroup","_objectSpread","cellTag","_createClass","key","mastersFitIntoSection","_providers$instances","_discovery$instances","_queueAgents$instance","_this$props2","secondary","providers","discovery","queueAgents","groupsCount","instances","renderMasterTypeSwitcher","VisibleHostTypeRadioButton","className","renderContent","_providers$instances2","_discovery$instances2","_queueAgents$instance2","_providers$instances3","_discovery$instances3","_this$props3","primary","fitIntoSection","secondaryGroups","_jsxs","children","Boolean","React","Fragment","renderSection","name","heading","data","_ref2","renderOverview","stateOverview","view","stack","stateThemeMappings","unavailable","recovery","counterGroups","SystemStateOverview","tab","counterGroup","renderImpl","_this$props4","initialized","collapsibleSize","content","overview","CollapsibleSectionStateLess","render","MastersUpdater","Component","mapStateToProps","_state$system$masters","system","getUISizes","getSettingsSystemMastersCollapsed","mapDispatchToProps","dispatch","useDispatch","updateFn","useMemo","allowUpdate","loadMasters","then","_ref3","isRetryFutile","useUpdater","_default","exports","connect"],"sources":["Masters.js"],"sourcesContent":["import React, {Component} from 'react';\nimport {connect, useDispatch} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {CollapsibleSectionStateLess} from '../../../components/CollapsibleSection/CollapsibleSection';\nimport VisibleHostTypeRadioButton from '../../../pages/system/VisibleHostTypeRadioButton';\nimport {sortStateProgress} from '../../../utils';\nimport SystemStateOverview from '../SystemStateOverview/SystemStateOverview';\nimport MasterGroup from './MasterGroup';\n\nimport {loadMasters} from '../../../store/actions/system/masters';\nimport {getUISizes} from '../../../store/selectors/global';\nimport {getSettingsSystemMastersCollapsed} from '../../../store/selectors/settings-ts';\nimport {setSettingsSystemMastersCollapsed} from '../../../store/actions/settings/settings';\nimport {useUpdater} from '../../../hooks/use-updater';\n\nimport './Masters.scss';\n\nconst b = block('system-master');\nconst headingCN = block('elements-heading')({size: 's'});\n\nfunction computeStateProgress(counters) {\n const total = counters.total;\n\n return sortStateProgress(\n _.map(counters.states, (count, state) => {\n return {\n value: total && (count / total) * 100,\n title: 'State: ' + state,\n theme:\n {\n quorum: 'success',\n 'weak-quorum': 'warning',\n 'no-quorum': 'danger',\n }[state] || 'default',\n };\n }),\n );\n}\n\nclass Masters extends Component {\n static propTypes = {\n // from connect\n counters: PropTypes.shape({\n flags: PropTypes.object,\n states: PropTypes.object,\n }).isRequired,\n initialized: PropTypes.bool.isRequired,\n primary: PropTypes.shape(MasterGroup.propTypes).isRequired,\n secondary: PropTypes.arrayOf(PropTypes.shape(MasterGroup.propTypes)),\n providers: PropTypes.shape(MasterGroup.propTypes).isRequired,\n discovery: PropTypes.shape(MasterGroup.propTypes).isRequired,\n };\n\n onToggle = () => {\n const {setSettingsSystemMastersCollapsed, collapsed: prevCollapsed} = this.props;\n setSettingsSystemMastersCollapsed(!prevCollapsed);\n };\n\n mastersFitIntoSection() {\n const {secondary, providers, discovery, queueAgents} = this.props;\n\n let groupsCount = 1; // for primary masters;\n groupsCount += secondary?.length || 0;\n groupsCount += providers?.instances?.length ? 1 : 0;\n groupsCount += discovery?.instances?.length ? 1 : 0;\n groupsCount += queueAgents?.instances?.length ? 1 : 0;\n\n return groupsCount <= 3;\n }\n\n renderMastersGroups = (masters, gridRowStart, {allowVoting} = {allowVoting: false}) =>\n _.map(masters, (master) => (\n <MasterGroup\n key={master.cellTag}\n {...master}\n gridRowStart={gridRowStart}\n allowVoting={allowVoting}\n />\n ));\n\n renderMasterTypeSwitcher() {\n return <VisibleHostTypeRadioButton className={b('container-host-radio')} />;\n }\n\n renderContent() {\n const {primary, secondary, providers, discovery, queueAgents} = this.props;\n\n const fitIntoSection = this.mastersFitIntoSection();\n\n const secondaryGroups = this.renderMastersGroups(secondary, fitIntoSection, {\n allowVoting: true,\n });\n\n return fitIntoSection ? (\n <div className={b('all-masters')}>\n <div className={headingCN}>\n Primary Masters\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup className={b('primary-master')} {...primary} allowVoting />\n {Boolean(secondary?.length) && (\n <React.Fragment>\n <div className={headingCN}>Secondary Masters</div>\n {secondaryGroups}\n </React.Fragment>\n )}\n {Boolean(providers?.instances?.length) && (\n <React.Fragment>\n <div className={headingCN}>\n Timestamp providers\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup\n {...providers}\n className={b('timestamp-providers')}\n gridRowStart\n allowVoting\n />\n </React.Fragment>\n )}\n {Boolean(discovery?.instances?.length) && (\n <React.Fragment>\n <div className={headingCN}>\n Discovery servers\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup\n {...discovery}\n className={b('discovery-servers')}\n gridRowStart\n />\n </React.Fragment>\n )}\n {Boolean(queueAgents?.instances?.length) && (\n <React.Fragment>\n <div className={headingCN}>\n Queue agents\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup {...queueAgents} />\n </React.Fragment>\n )}\n </div>\n ) : (\n <div>\n <div className={headingCN}>\n Primary Masters\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup className={b('primary-master')} {...primary} allowVoting />\n {Boolean(secondary?.length) && (\n <React.Fragment>\n <div className={headingCN}>Secondary Masters</div>\n <div className={b('secondary-masters')}>{secondaryGroups}</div>\n </React.Fragment>\n )}\n\n <div className={b('flex')}>\n {Boolean(providers?.instances?.length) &&\n this.renderSection('providers', 'Timestamp providers', providers, {\n allowVoting: true,\n })}\n {Boolean(discovery?.instances?.length) &&\n this.renderSection('discovery', 'Discovery servers', discovery)}\n {Boolean(queueAgents?.length) &&\n this.renderSection('queueAgents', 'Queue agents', queueAgents)}\n </div>\n </div>\n );\n }\n\n renderSection(name, heading, data, {allowVoting} = {allowVoting: false}) {\n return (\n <div className={b(name)}>\n <div className={headingCN}>{heading}</div>\n <div className={b(`${name}-hosts`)}>\n <MasterGroup {...data} allowVoting={allowVoting} />\n </div>\n </div>\n );\n }\n\n renderOverview() {\n const {counters} = this.props;\n\n const stateOverview = counters && {\n value: 100,\n view: 'thin',\n stack: computeStateProgress(counters),\n };\n const stateThemeMappings = {\n unavailable: 'danger',\n recovery: 'warning',\n 'no-quorum': 'danger',\n 'weak-quorum': 'warning',\n };\n const counterGroups = [\n ['recovery', 'unavailable'],\n ['primary', 'secondary'],\n ['no-quorum', 'weak-quorum', 'quorum'],\n ];\n\n return (\n <SystemStateOverview\n tab=\"masters\"\n counters={counters}\n stateThemeMappings={stateThemeMappings}\n stateOverview={stateOverview}\n counterGroup={counterGroups}\n />\n );\n }\n\n renderImpl() {\n const {initialized, collapsibleSize, collapsed} = this.props;\n\n if (!initialized) {\n return null;\n }\n\n const content = this.renderContent();\n const overview = this.renderOverview();\n\n return (\n <CollapsibleSectionStateLess\n name={'Masters'}\n overview={overview}\n collapsed={collapsed}\n onToggle={this.onToggle}\n size={collapsibleSize}\n >\n {content}\n </CollapsibleSectionStateLess>\n );\n }\n\n render() {\n return (\n <React.Fragment>\n <MastersUpdater />\n {this.renderImpl()}\n </React.Fragment>\n );\n }\n}\n\nfunction mapStateToProps(state) {\n const {secondary, primary, providers, discovery, queueAgents, counters, initialized} =\n state.system.masters;\n return {\n initialized,\n secondary,\n primary,\n providers,\n discovery,\n queueAgents,\n counters,\n collapsibleSize: getUISizes().collapsibleSize,\n collapsed: getSettingsSystemMastersCollapsed(state),\n };\n}\n\nconst mapDispatchToProps = {\n setSettingsSystemMastersCollapsed,\n};\n\nfunction MastersUpdater() {\n const dispatch = useDispatch();\n\n const updateFn = React.useMemo(() => {\n let allowUpdate = true;\n return () => {\n if (allowUpdate) {\n dispatch(loadMasters()).then(({isRetryFutile} = {}) => {\n if (isRetryFutile) {\n allowUpdate = false;\n }\n });\n }\n };\n }, [dispatch]);\n\n useUpdater(updateFn);\n\n return null;\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Masters);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRedux","_bemCnLite","_interopRequireDefault","_CollapsibleSection","_VisibleHostTypeRadioButton","_utils","_SystemStateOverview","_MasterGroup","_masters","_global","_settingsTs","_settings","_useUpdater","_SystemAlert","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","block","headingCN","size","computeStateProgress","counters","total","sortStateProgress","_map","states","count","state","value","title","theme","quorum","Masters","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","apply","concat","onToggle","_this$props","props","setSettingsSystemMastersCollapsed","prevCollapsed","collapsed","renderMastersGroups","masters","gridRowStart","_ref","undefined","allowVoting","master","_jsx","MasterGroup","_objectSpread","cellTag","_createClass","key","mastersFitIntoSection","_providers$instances","_discovery$instances","_queueAgents$instance","_this$props2","secondary","providers","discovery","queueAgents","groupsCount","instances","renderMasterTypeSwitcher","VisibleHostTypeRadioButton","className","renderAlerts","SystemAlert","renderContent","_providers$instances2","_discovery$instances2","_queueAgents$instance2","_providers$instances3","_discovery$instances3","_this$props3","primary","fitIntoSection","secondaryGroups","_jsxs","children","Boolean","React","Fragment","renderSection","name","heading","data","_ref2","renderOverview","stateOverview","view","stack","stateThemeMappings","unavailable","recovery","counterGroups","labels","alertsCount","alerts","push","text","SystemStateOverview","tab","counterGroup","renderImpl","_this$props4","initialized","collapsibleSize","content","overview","CollapsibleSectionStateLess","render","MastersUpdater","Component","mapStateToProps","_state$system$masters","system","getUISizes","getSettingsSystemMastersCollapsed","mapDispatchToProps","dispatch","useDispatch","updateFn","useMemo","allowUpdate","loadMasters","then","_ref3","isRetryFutile","useUpdater","_default","exports","connect"],"sources":["Masters.js"],"sourcesContent":["import React, {Component} from 'react';\nimport {connect, useDispatch} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {CollapsibleSectionStateLess} from '../../../components/CollapsibleSection/CollapsibleSection';\nimport VisibleHostTypeRadioButton from '../../../pages/system/VisibleHostTypeRadioButton';\nimport {sortStateProgress} from '../../../utils';\nimport SystemStateOverview from '../SystemStateOverview/SystemStateOverview';\nimport MasterGroup from './MasterGroup';\n\nimport {loadMasters} from '../../../store/actions/system/masters';\nimport {getUISizes} from '../../../store/selectors/global';\nimport {getSettingsSystemMastersCollapsed} from '../../../store/selectors/settings-ts';\nimport {setSettingsSystemMastersCollapsed} from '../../../store/actions/settings/settings';\nimport {useUpdater} from '../../../hooks/use-updater';\n\nimport './Masters.scss';\nimport {SystemAlert} from './SystemAlert';\n\nconst b = block('system-master');\nconst headingCN = block('elements-heading')({size: 's'});\n\nfunction computeStateProgress(counters) {\n const total = counters.total;\n\n return sortStateProgress(\n _.map(counters.states, (count, state) => {\n return {\n value: total && (count / total) * 100,\n title: 'State: ' + state,\n theme:\n {\n quorum: 'success',\n 'weak-quorum': 'warning',\n 'no-quorum': 'danger',\n }[state] || 'default',\n };\n }),\n );\n}\n\nclass Masters extends Component {\n static propTypes = {\n // from connect\n alerts: PropTypes.arrayOf(PropTypes.object),\n counters: PropTypes.shape({\n flags: PropTypes.object,\n states: PropTypes.object,\n }).isRequired,\n initialized: PropTypes.bool.isRequired,\n primary: PropTypes.shape(MasterGroup.propTypes).isRequired,\n secondary: PropTypes.arrayOf(PropTypes.shape(MasterGroup.propTypes)),\n providers: PropTypes.shape(MasterGroup.propTypes).isRequired,\n discovery: PropTypes.shape(MasterGroup.propTypes).isRequired,\n };\n\n onToggle = () => {\n const {setSettingsSystemMastersCollapsed, collapsed: prevCollapsed} = this.props;\n setSettingsSystemMastersCollapsed(!prevCollapsed);\n };\n\n mastersFitIntoSection() {\n const {secondary, providers, discovery, queueAgents} = this.props;\n\n let groupsCount = 1; // for primary masters;\n groupsCount += secondary?.length || 0;\n groupsCount += providers?.instances?.length ? 1 : 0;\n groupsCount += discovery?.instances?.length ? 1 : 0;\n groupsCount += queueAgents?.instances?.length ? 1 : 0;\n\n return groupsCount <= 3;\n }\n\n renderMastersGroups = (masters, gridRowStart, {allowVoting} = {allowVoting: false}) =>\n _.map(masters, (master) => (\n <MasterGroup\n key={master.cellTag}\n {...master}\n gridRowStart={gridRowStart}\n allowVoting={allowVoting}\n />\n ));\n\n renderMasterTypeSwitcher() {\n return <VisibleHostTypeRadioButton className={b('container-host-radio')} />;\n }\n\n renderAlerts() {\n return <SystemAlert className={b('alerts')} />;\n }\n\n renderContent() {\n const {primary, secondary, providers, discovery, queueAgents} = this.props;\n\n const fitIntoSection = this.mastersFitIntoSection();\n\n const secondaryGroups = this.renderMastersGroups(secondary, fitIntoSection, {\n allowVoting: true,\n });\n\n return fitIntoSection ? (\n <div className={b('all-masters')}>\n {this.renderAlerts()}\n <div className={headingCN}>\n Primary Masters\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup className={b('primary-master')} {...primary} allowVoting />\n {Boolean(secondary?.length) && (\n <React.Fragment>\n <div className={headingCN}>Secondary Masters</div>\n {secondaryGroups}\n </React.Fragment>\n )}\n {Boolean(providers?.instances?.length) && (\n <React.Fragment>\n <div className={headingCN}>\n Timestamp providers\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup\n {...providers}\n className={b('timestamp-providers')}\n gridRowStart\n allowVoting\n />\n </React.Fragment>\n )}\n {Boolean(discovery?.instances?.length) && (\n <React.Fragment>\n <div className={headingCN}>\n Discovery servers\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup\n {...discovery}\n className={b('discovery-servers')}\n gridRowStart\n />\n </React.Fragment>\n )}\n {Boolean(queueAgents?.instances?.length) && (\n <React.Fragment>\n <div className={headingCN}>\n Queue agents\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup {...queueAgents} />\n </React.Fragment>\n )}\n </div>\n ) : (\n <div>\n {this.renderAlerts()}\n <div className={headingCN}>\n Primary Masters\n {this.renderMasterTypeSwitcher()}\n </div>\n <MasterGroup className={b('primary-master')} {...primary} allowVoting />\n {Boolean(secondary?.length) && (\n <React.Fragment>\n <div className={headingCN}>Secondary Masters</div>\n <div className={b('secondary-masters')}>{secondaryGroups}</div>\n </React.Fragment>\n )}\n <div className={b('flex')}>\n {Boolean(providers?.instances?.length) &&\n this.renderSection('providers', 'Timestamp providers', providers, {\n allowVoting: true,\n })}\n {Boolean(discovery?.instances?.length) &&\n this.renderSection('discovery', 'Discovery servers', discovery)}\n {Boolean(queueAgents?.length) &&\n this.renderSection('queueAgents', 'Queue agents', queueAgents)}\n </div>\n </div>\n );\n }\n\n renderSection(name, heading, data, {allowVoting} = {allowVoting: false}) {\n return (\n <div className={b(name)}>\n <div className={headingCN}>{heading}</div>\n <div className={b(`${name}-hosts`)}>\n <MasterGroup {...data} allowVoting={allowVoting} />\n </div>\n </div>\n );\n }\n\n renderOverview() {\n const {counters} = this.props;\n\n const stateOverview = counters && {\n value: 100,\n view: 'thin',\n stack: computeStateProgress(counters),\n };\n const stateThemeMappings = {\n unavailable: 'danger',\n recovery: 'warning',\n 'no-quorum': 'danger',\n 'weak-quorum': 'warning',\n };\n const counterGroups = [\n ['recovery', 'unavailable'],\n ['primary', 'secondary'],\n ['no-quorum', 'weak-quorum', 'quorum'],\n ];\n\n const labels = [];\n const alertsCount = this.props.alerts.length;\n if (alertsCount > 0) {\n labels.push({\n text: `${alertsCount} alert${alertsCount > 1 ? 's' : ''}`,\n theme: 'warning',\n });\n }\n\n return (\n <SystemStateOverview\n tab=\"masters\"\n labels={labels}\n counters={counters}\n stateThemeMappings={stateThemeMappings}\n stateOverview={stateOverview}\n counterGroup={counterGroups}\n />\n );\n }\n\n renderImpl() {\n const {initialized, collapsibleSize, collapsed} = this.props;\n\n if (!initialized) {\n return null;\n }\n\n const content = this.renderContent();\n const overview = this.renderOverview();\n\n return (\n <CollapsibleSectionStateLess\n name={'Masters'}\n overview={overview}\n collapsed={collapsed}\n onToggle={this.onToggle}\n size={collapsibleSize}\n >\n {content}\n </CollapsibleSectionStateLess>\n );\n }\n\n render() {\n return (\n <React.Fragment>\n <MastersUpdater />\n {this.renderImpl()}\n </React.Fragment>\n );\n }\n}\n\nfunction mapStateToProps(state) {\n const {secondary, primary, providers, discovery, queueAgents, counters, initialized, alerts} =\n state.system.masters;\n return {\n initialized,\n secondary,\n primary,\n providers,\n discovery,\n queueAgents,\n counters,\n alerts,\n collapsibleSize: getUISizes().collapsibleSize,\n collapsed: getSettingsSystemMastersCollapsed(state),\n };\n}\n\nconst mapDispatchToProps = {\n setSettingsSystemMastersCollapsed,\n};\n\nfunction MastersUpdater() {\n const dispatch = useDispatch();\n\n const updateFn = React.useMemo(() => {\n let allowUpdate = true;\n return () => {\n if (allowUpdate) {\n dispatch(loadMasters()).then(({isRetryFutile} = {}) => {\n if (isRetryFutile) {\n allowUpdate = false;\n }\n });\n }\n };\n }, [dispatch]);\n\n useUpdater(updateFn);\n\n return null;\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Masters);\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ export declare const SystemAlert: FC<{
3
+ className?: string;
4
+ }>;