@ytsaurus/ui 1.63.0 → 1.63.1
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.
- package/dist/public/build/assets-manifest.json +64 -64
- package/dist/public/build/css/7540.b48a154e.chunk.css +2 -0
- package/dist/public/build/css/7540.b48a154e.chunk.css.map +1 -0
- package/dist/public/build/css/navigation.0a141599.chunk.css +2 -0
- package/dist/public/build/css/navigation.0a141599.chunk.css.map +1 -0
- package/dist/public/build/css/{system.17b114fc.chunk.css → system.221e5d53.chunk.css} +2 -2
- package/dist/public/build/css/{system.17b114fc.chunk.css.map → system.221e5d53.chunk.css.map} +1 -1
- package/dist/public/build/js/1110.a7382226.chunk.js +2 -0
- package/dist/public/build/js/1110.a7382226.chunk.js.map +1 -0
- package/dist/public/build/js/1394.011da2d1.chunk.js +2 -0
- package/dist/public/build/js/1394.011da2d1.chunk.js.map +1 -0
- package/dist/public/build/js/2447.35b478a9.chunk.js +2 -0
- package/dist/public/build/js/2447.35b478a9.chunk.js.map +1 -0
- package/dist/public/build/js/4364.aa1ab5fb.chunk.js +2 -0
- package/dist/public/build/js/4364.aa1ab5fb.chunk.js.map +1 -0
- package/dist/public/build/js/5451.50d8f2b2.chunk.js +3 -0
- package/dist/public/build/js/5451.50d8f2b2.chunk.js.LICENSE.txt +5 -0
- package/dist/public/build/js/5451.50d8f2b2.chunk.js.map +1 -0
- package/dist/public/build/js/5770.0d8fda01.chunk.js +2 -0
- package/dist/public/build/js/5770.0d8fda01.chunk.js.map +1 -0
- package/dist/public/build/js/{7077.b11a392b.chunk.js → 7077.7dab612c.chunk.js} +2 -2
- package/dist/public/build/js/{7077.b11a392b.chunk.js.map → 7077.7dab612c.chunk.js.map} +1 -1
- package/dist/public/build/js/7959.e0d47dec.chunk.js +2 -0
- package/dist/public/build/js/7959.e0d47dec.chunk.js.map +1 -0
- package/dist/public/build/js/{8460.b18e700b.chunk.js → 8460.2b27e2b7.chunk.js} +2 -2
- package/dist/public/build/js/{8460.b18e700b.chunk.js.map → 8460.2b27e2b7.chunk.js.map} +1 -1
- package/dist/public/build/js/{8778.8d098a1f.chunk.js → 8778.d97acdd6.chunk.js} +2 -2
- package/dist/public/build/js/8778.d97acdd6.chunk.js.map +1 -0
- package/dist/public/build/js/accounts.badfc837.chunk.js +2 -0
- package/dist/public/build/js/{accounts.63268a11.chunk.js.map → accounts.badfc837.chunk.js.map} +1 -1
- package/dist/public/build/js/{acl.80417421.chunk.js → acl.cd1fe761.chunk.js} +2 -2
- package/dist/public/build/js/acl.cd1fe761.chunk.js.map +1 -0
- package/dist/public/build/js/cluster-menu.bf57160d.chunk.js +2 -0
- package/dist/public/build/js/cluster-menu.bf57160d.chunk.js.map +1 -0
- package/dist/public/build/js/{cluster-page-wrapper.58e8e93a.chunk.js → cluster-page-wrapper.c9e6c27c.chunk.js} +2 -2
- package/dist/public/build/js/{cluster-page-wrapper.58e8e93a.chunk.js.map → cluster-page-wrapper.c9e6c27c.chunk.js.map} +1 -1
- package/dist/public/build/js/job.31c91355.chunk.js +2 -0
- package/dist/public/build/js/job.31c91355.chunk.js.map +1 -0
- package/dist/public/build/js/main.61fc9935.js +3 -0
- package/dist/public/build/js/{main.34718e0a.js.map → main.61fc9935.js.map} +1 -1
- package/dist/public/build/js/{manage-tokens.c996037c.chunk.js → manage-tokens.e9106aad.chunk.js} +2 -2
- package/dist/public/build/js/{manage-tokens.c996037c.chunk.js.map → manage-tokens.e9106aad.chunk.js.map} +1 -1
- package/dist/public/build/js/navigation.22bd542f.chunk.js +2 -0
- package/dist/public/build/js/navigation.22bd542f.chunk.js.map +1 -0
- package/dist/public/build/js/{odin.ddcd41de.chunk.js → odin.7eefabce.chunk.js} +2 -2
- package/dist/public/build/js/{odin.ddcd41de.chunk.js.map → odin.7eefabce.chunk.js.map} +1 -1
- package/dist/public/build/js/operations.3feb2deb.chunk.js +2 -0
- package/dist/public/build/js/operations.3feb2deb.chunk.js.map +1 -0
- package/dist/public/build/js/{query-results.99804b61.chunk.js → query-results.4c207fef.chunk.js} +2 -2
- package/dist/public/build/js/{query-results.99804b61.chunk.js.map → query-results.4c207fef.chunk.js.map} +1 -1
- package/dist/public/build/js/query-tracker.badbc586.chunk.js +2 -0
- package/dist/public/build/js/query-tracker.badbc586.chunk.js.map +1 -0
- package/dist/public/build/js/{runtime.2a81b524.js → runtime.f98c3e55.js} +2 -2
- package/dist/public/build/js/{runtime.2a81b524.js.map → runtime.f98c3e55.js.map} +1 -1
- package/dist/public/build/js/scheduling.73b1257c.chunk.js +2 -0
- package/dist/public/build/js/scheduling.73b1257c.chunk.js.map +1 -0
- package/dist/public/build/js/{system.6843a1a3.chunk.js → system.25e9136a.chunk.js} +2 -2
- package/dist/public/build/js/system.25e9136a.chunk.js.map +1 -0
- package/dist/public/build/js/tablet.7401a5ec.chunk.js +2 -0
- package/dist/public/build/js/tablet.7401a5ec.chunk.js.map +1 -0
- package/dist/public/build/js/{yt-df-dialog.6b4604c0.chunk.js → yt-df-dialog.69fc013a.chunk.js} +2 -2
- package/dist/public/build/js/{yt-df-dialog.6b4604c0.chunk.js.map → yt-df-dialog.69fc013a.chunk.js.map} +1 -1
- package/dist/public/build/manifest.json +60 -60
- package/package.json +3 -3
- package/dist/public/build/css/7540.56f97199.chunk.css +0 -2
- package/dist/public/build/css/7540.56f97199.chunk.css.map +0 -1
- package/dist/public/build/css/navigation.97755959.chunk.css +0 -2
- package/dist/public/build/css/navigation.97755959.chunk.css.map +0 -1
- package/dist/public/build/js/1110.d02f593c.chunk.js +0 -2
- package/dist/public/build/js/1110.d02f593c.chunk.js.map +0 -1
- package/dist/public/build/js/1394.f5423b9c.chunk.js +0 -2
- package/dist/public/build/js/1394.f5423b9c.chunk.js.map +0 -1
- package/dist/public/build/js/2447.d0a0e8ad.chunk.js +0 -2
- package/dist/public/build/js/2447.d0a0e8ad.chunk.js.map +0 -1
- package/dist/public/build/js/4364.277e1cfa.chunk.js +0 -2
- package/dist/public/build/js/4364.277e1cfa.chunk.js.map +0 -1
- package/dist/public/build/js/5770.c5499ce7.chunk.js +0 -2
- package/dist/public/build/js/5770.c5499ce7.chunk.js.map +0 -1
- package/dist/public/build/js/7891.2ce56be7.chunk.js +0 -3
- package/dist/public/build/js/7891.2ce56be7.chunk.js.LICENSE.txt +0 -14
- package/dist/public/build/js/7891.2ce56be7.chunk.js.map +0 -1
- package/dist/public/build/js/7959.eb292cbd.chunk.js +0 -2
- package/dist/public/build/js/7959.eb292cbd.chunk.js.map +0 -1
- package/dist/public/build/js/8778.8d098a1f.chunk.js.map +0 -1
- package/dist/public/build/js/accounts.63268a11.chunk.js +0 -2
- package/dist/public/build/js/acl.80417421.chunk.js.map +0 -1
- package/dist/public/build/js/cluster-menu.e484a2ca.chunk.js +0 -2
- package/dist/public/build/js/cluster-menu.e484a2ca.chunk.js.map +0 -1
- package/dist/public/build/js/job.5ed7166b.chunk.js +0 -2
- package/dist/public/build/js/job.5ed7166b.chunk.js.map +0 -1
- package/dist/public/build/js/main.34718e0a.js +0 -3
- package/dist/public/build/js/navigation.364e68be.chunk.js +0 -2
- package/dist/public/build/js/navigation.364e68be.chunk.js.map +0 -1
- package/dist/public/build/js/operations.b353981f.chunk.js +0 -2
- package/dist/public/build/js/operations.b353981f.chunk.js.map +0 -1
- package/dist/public/build/js/query-tracker.fba0ec95.chunk.js +0 -2
- package/dist/public/build/js/query-tracker.fba0ec95.chunk.js.map +0 -1
- package/dist/public/build/js/scheduling.115669fe.chunk.js +0 -2
- package/dist/public/build/js/scheduling.115669fe.chunk.js.map +0 -1
- package/dist/public/build/js/system.6843a1a3.chunk.js.map +0 -1
- package/dist/public/build/js/tablet.40ad9054.chunk.js +0 -2
- package/dist/public/build/js/tablet.40ad9054.chunk.js.map +0 -1
- /package/dist/public/build/js/{main.34718e0a.js.LICENSE.txt → main.61fc9935.js.LICENSE.txt} +0 -0
package/dist/public/build/css/{system.17b114fc.chunk.css.map → system.221e5d53.chunk.css.map}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"css/system.17b114fc.chunk.css","mappings":"AACI,6BACI,yCACA,aAGJ,0BAEI,mBADA,eACA,CAEA,mCAEI,oBADA,gBACA,CCRJ,8CACI,mBAGJ,2BACI,eACA,iBACA,kBAGJ,2BACI,kBAGJ,0BAEI,kBADA,aAGA,sBADA,8CACA,CAEA,+BACI,uBCvBR,mCACI,eACA,kBAGA,yBAEA,kDACI,aACA,yBACA,qDACI,iBAEA,mBAKJ,uKACI,iBAMhB,iBACI,gBAEI,+BACI,2BAEA,oDACI,qCAGR,8BACI,0BAEA,mDACI,oCCxChB,0BAEI,mBADA,aAEA,eAGA,qBAFA,iBACA,gBACA,CAEA,0CACI,gBAGJ,iCACI,YCdZ,WAWI,kBAWA,wBAfA,qBASA,cAGA,iBACA,gBAVA,WATa,CAYb,iBAXc,CAUd,gBAVc,CAad,gBAXA,kBAcA,kBAbA,QAIA,UAaA,CAEA,wBACI,sCAGJ,+BACI,qCAGJ,wBACI,sCAGJ,+BACI,qCAGJ,yBACI,qCAGJ,gCACI,oCAGJ,gFAGI,mCAGJ,4GAII,sCCzDJ,iCACI,0BAEA,gDACI,2BAIR,iCACI,0BCNJ,4BACI,mBAGJ,oBACI,iBAGJ,qBAII,aADA,aAQA,oBANA,uHACI,CAJJ,mBADA,eAUA,CAEA,oCACI,iBAIR,oBACI,iBACA,iBAMA,0DAHI,2BAMA,CAHJ,0BAGI,oBAFA,qBAEA,CAGJ,kCACI,SAIR,oBAGI,mBADA,aAEA,UAHA,gBAGA,CAEA,yBACI,cCnDR,gBACA,uBAFA,kBAEA,CDsDI,wBACI,cACA,kBAGJ,kDACI,mBAGJ,2BACI,8BAKJ,6BACI,mBAIQ,oDACI,2BAIR,wCACI,2BAGJ,2CACI,0BAOR,sCACI,SAIR,4BACI,iBAOJ,yDACI,eAIR,yBACI,aACA,8BACI,+BE5GR,qCACI,iBAGJ,4BARA,kBAFA,aAYI,sBAXJ,mCAWI,CAEA,8CACI,eAGJ,kDACI,iBAIR,kCArBA,mBAFA,aACA,mCACA,CAyBA,kCACI,eAGJ,+BACI,mBAGJ,kCACI,mBAGJ,qBACI,aACA,eACA,WAGJ,0BACI,mBAGJ,uBACI,mBCnDJ,8BACI,iBAEJ,2BACI,aACA,eAGJ,gDAGI,kBADA,aAEA,sBAEA,mBACA,eAGJ,mBAGI,cAFA,aACA,yDACA,CAGJ,wBACI,aACA,UAEA,gCACI,cF3BR,gBACA,uBAFA,kBAEA,CE8BI,4BACI,gBACA,kBAGJ,0DACI,mBAIR,qBAEI,4BADA,gBACA,CC/CJ,gBACI,mBAMQ,+CACI,WAEJ,qDACI,YAEJ,4DACI,YAKJ,yHACI,YAEJ,0DACI,YAEJ,4DACI,YAEJ,kDACI,WAEJ,wDACI,YAEJ,6DACI,YAEJ,6CACI,YCvCpB,YACI,aACA,sBAEA,WAAU,CADV,wBACA,CAEA,sBAEI,aADA,UACA,CAGJ,kBACI,aACA,yBACI,kBAIR,qBACI,WCnBR,eAQI,qCAJA,kBAHA,aACA,sBACA,iBAEA,gBAEA,YACA,CAEA,0BACI,oBAGJ,iCACI,mBAGJ,qBAEI,6BAA6B,CAD7B,4BAC8B,CAGlC,2BACI,aACA,eACA,MACA,gBAKJ,8BACI,aACA,sBAEA,WANa,CAKb,8BAEA,YAGJ,2BACI,gBAGJ,gCACI,iBAGJ,wBAGI,0CADA,WApBa,CAsBb,cAHA,OAGA,CAGJ,4BACI,2BAGJ,0BAEI,YADA,UACA,CAGJ,yBAGI,iBAFA,aACA,sDACA,YAGJ,uBACI,qBAGJ,6BAOI,oDAHA,kBAHA,qBAEA,YAEA,iBAHA,UAKA,CAEA,0CACI,sCAGJ,2CACI,qCAGJ,yCACI,sCAGJ,yCACI,mCAGJ,mCACI,sCAIR,6BACI,iBAGJ,6BAEI,mBADA,YACA,CAGJ,oCACI,iBCjHJ,gCACI,gBAGJ,6BAEI,oBADA,gBACA,CAGJ,0BACI,iBACA","sources":["webpack://@ytsaurus/ui/./src/ui/pages/system/System/System.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Resources/Resources.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/SystemCounters/SystemCounters.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/SystemStateOverview/SystemStateOverview.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/NodeQuad/NodeQuad.scss","webpack://@ytsaurus/ui/./src/ui/pages/components/SwitchLeaderShortInfo/SwitchLeaderShortInfo.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Masters/MasterGroup.scss","webpack://@ytsaurus/ui/./src/ui/styles/mixins.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Masters/Masters.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/SchedulersAndAgents/Schedulers.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Chunks/Chunks.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/ProxiesImpl/StatsInfo.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/ProxiesImpl/RoleGroup.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Nodes/Nodes.scss"],"sourcesContent":[".system {\n .collapsible-section {\n border-top: solid var(--dark-divider) 1px;\n margin-top: 0;\n }\n\n .elements-heading {\n margin-bottom: 0;\n align-items: center;\n\n &__heading {\n padding-top: 20px;\n padding-bottom: 20px;\n }\n }\n}\n",".system {\n &__resources {\n margin-bottom: 20px;\n\n &-message {\n margin-bottom: 20px;\n }\n\n &-heading {\n font-size: 16px;\n line-height: 20px;\n margin-bottom: 3px;\n }\n\n &-caption {\n margin-bottom: 5px;\n }\n\n &-meters {\n display: grid;\n grid-gap: 9px 60px;\n grid-template-rows: repeat(4, minmax(20px, auto));\n grid-auto-flow: column;\n\n &-disk {\n grid-column-end: span 3;\n }\n }\n }\n}\n",".system {\n &__heading-overview {\n &-counters {\n font-size: 12px;\n margin-right: 10px;\n\n //line-height: @font-size;\n text-transform: uppercase;\n\n & .elements-list {\n display: flex;\n justify-content: flex-end;\n & > li {\n margin-left: 10px;\n\n white-space: nowrap;\n }\n li.counter_flag + li.counter_state {\n margin-left: 30px;\n }\n li.counter_state + li.counter_total {\n margin-left: 30px;\n }\n }\n }\n }\n\n &__counter {\n font-weight: normal;\n &_theme {\n &_warning {\n color: var(--warning-color);\n\n .g-link_view_primary {\n color: var(--warning-color) !important;\n }\n }\n &_danger {\n color: var(--danger-color);\n\n .g-link_view_primary {\n color: var(--danger-color) !important;\n }\n }\n }\n }\n}\n",".system {\n &__heading-overview {\n display: flex;\n align-items: center;\n font-size: 14px;\n line-height: 24px;\n margin-left: auto;\n letter-spacing: 0.05em;\n\n .elements-label {\n margin-left: 5px;\n }\n\n &-states {\n width: 200px;\n }\n }\n}\n",".node-quad {\n $node-width: 14px;\n $node-margin: 4px;\n\n position: relative;\n top: 2px;\n\n display: inline-block;\n\n width: $node-width;\n height: $node-width;\n border-radius: 2px;\n margin-right: $node-margin;\n margin-bottom: $node-margin;\n\n overflow: hidden;\n flex-shrink: 0;\n\n text-align: center;\n font-size: 0.65rem;\n font-weight: bold;\n\n color: var(--light-text);\n\n &_theme_online {\n background-color: var(--success-color);\n }\n\n &_theme_online-letter {\n background-color: var(--success-text);\n }\n\n &_theme_banned {\n background-color: var(--warning-color);\n }\n\n &_theme_banned-letter {\n background-color: var(--warning-text);\n }\n\n &_theme_offline {\n background-color: var(--danger-color);\n }\n\n &_theme_offline-letter {\n background-color: var(--danger-text);\n }\n\n &_theme_other,\n &_theme_other-letter,\n &_theme_following {\n background-color: var(--info-color);\n }\n\n &_theme_mixed,\n &_theme_registered,\n &_theme_unregistered,\n &_theme_nonvoting {\n background-color: var(--default-color);\n }\n}\n",".switch-leader-short-info {\n &__state {\n text-transform: capitalize;\n\n &_state_complete {\n color: var(--success-color);\n }\n }\n\n &__value {\n text-transform: capitalize;\n }\n}\n","@import '../../../styles/common';\n@import '../../../styles/mixins';\n\n.master-group {\n &__availability {\n grid-column: status;\n }\n\n &__role {\n grid-column: role;\n }\n\n &__group {\n margin-top: 12px;\n margin-bottom: 18px;\n display: grid;\n grid-gap: 8px;\n grid-template-columns: /* the comment is required to fix lint error without `style-lint-disable-line` */\n [status] 14px\n [role] minmax(max-content, 100px)\n [icon] minmax(30px, max-content)\n [host] max-content;\n\n grid-auto-rows: 20px;\n\n &_grid-row-start {\n grid-row-start: 1;\n }\n }\n\n &__icon {\n grid-column: icon;\n justify-self: end;\n\n &-maintenance {\n color: var(--secondary-text);\n }\n\n &-glyph {\n vertical-align: middle;\n color: var(--secondary-text);\n display: inline-flex;\n }\n\n &-glyph.yt-icon {\n top: -1px;\n }\n }\n\n &__host {\n grid-column: host;\n display: flex;\n align-items: center;\n gap: 0 4px;\n\n &-name {\n flex: 0 1 auto;\n @include ellipsis();\n }\n\n &-btn {\n flex: 0 0 auto;\n visibility: hidden;\n }\n\n &:hover &-btn {\n visibility: visible;\n }\n\n &_quorum {\n justify-content: space-between;\n }\n }\n\n &__quorum {\n &-status {\n grid-column: status;\n\n &_state {\n &_present {\n .yt-icon {\n color: var(--success-color);\n }\n }\n\n &_weak {\n color: var(--warning-color);\n }\n\n &_missing {\n color: var(--danger-color);\n }\n\n &_unknown {\n }\n }\n\n .yt-icon {\n top: -1px;\n }\n }\n\n &-label {\n grid-column: role;\n }\n\n &-version {\n cursor: pointer;\n }\n\n &-cell {\n cursor: pointer;\n }\n }\n\n &__nonvoting {\n display: none;\n &_show {\n display: unset;\n }\n }\n}\n","@import './fonts';\n@import './common';\n\n@mixin ellipsis() {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n@mixin text-label() {\n font-size: 0.9em;\n text-transform: uppercase;\n letter-spacing: 1px;\n}\n\n// reset\n\n@mixin reset-ul() {\n margin: 0;\n padding: 0;\n}\n\n@mixin reset-li() {\n list-style-type: none;\n}\n\n// font\n\n@mixin yt-fonts() {\n font-family: var(--g-font-family-sans);\n font-size: var(--g-font-size);\n line-height: var(--g-line-height);\n}\n\n// heading\n\n@mixin heading-size($key) {\n $sizes: (\n s: (\n 16px,\n 20px,\n $offset-heading-small,\n ),\n xs: (\n 18px,\n 20px,\n $offset-heading-small-x,\n ),\n m: (\n 20px,\n 24px,\n $offset-heading-medium,\n ),\n l: (\n 24px,\n 28px,\n $offset-heading-large,\n ),\n xl: (\n 24px,\n 28px,\n $offset-heading-large,\n ),\n );\n $size: map-get($sizes, $key);\n\n font-size: nth($size, 1);\n line-height: nth($size, 2);\n margin: 0;\n margin-bottom: nth($size, 3);\n}\n\n$stickyVerticalPadding: 10px;\n\n@mixin sticky-style() {\n position: fixed;\n top: var(--app-header-height);\n left: var(--gn-aside-header-size);\n right: 0;\n\n padding: $stickyVerticalPadding 20px;\n\n box-shadow: 0 1px 10px var(--opacity-background);\n background-color: var(--main-background);\n border-bottom: 1px solid var(--dark-divider);\n z-index: var(--fixed-toolbar-z-index);\n}\n","@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 gap: 0 20px;\n }\n\n &__providers {\n margin-right: 100px;\n }\n\n &__alerts {\n margin-bottom: 20px;\n }\n}\n","@import '../../../styles/mixins';\n\n.system {\n &__container-host-radio {\n margin-left: 20px;\n }\n &__schedulers-agents {\n display: flex;\n flex-wrap: wrap;\n }\n\n &__schedulers-hosts,\n &__agents-hosts {\n display: grid;\n grid-gap: 8px 80px;\n grid-auto-flow: column;\n\n margin-bottom: 18px;\n margin-top: 8px;\n }\n\n &__scheduler {\n display: grid;\n grid-template-columns: 14px 100px 30px minmax(150px, 380px);\n grid-gap: 12px;\n }\n\n &__scheduler-host {\n display: flex;\n gap: 0 4px;\n\n &-address {\n flex: 0 1 auto;\n @include ellipsis();\n }\n\n &-btn {\n margin-top: -3px;\n visibility: hidden;\n }\n\n &:hover &-btn {\n visibility: visible;\n }\n }\n\n &__maintenance {\n justify-self: end;\n color: var(--secondary-text);\n }\n}\n",".system {\n &__chunks {\n margin-bottom: 20px;\n }\n\n .chunk-cells {\n &__table {\n &-item_type {\n &_cell-tag {\n width: 65px;\n }\n &_foreign-chunks {\n width: 105px;\n }\n &_overreplicated-chunks {\n width: 147px;\n }\n &_underreplicated-chunks {\n width: 156px;\n }\n &_quorum-missing-chunks {\n width: 156px;\n }\n &_data-missing-chunks {\n width: 131px;\n }\n &_parity-missing-chunks {\n width: 140px;\n }\n &_lost-chunks {\n width: 66px;\n }\n &_lost-vital-chunks {\n width: 102px;\n }\n &_unsafely-placed-chunks {\n width: 153px;\n }\n &_chunks {\n width: 125px;\n }\n }\n }\n }\n}\n",".stats-info {\n display: flex;\n flex-direction: column;\n text-transform: uppercase;\n flex-grow: 1;\n\n &__progress {\n width: 100%;\n margin: 4px 0;\n }\n\n &__info {\n display: flex;\n &_hidden {\n visibility: hidden;\n }\n }\n\n &__subtext {\n width: 50px;\n }\n}\n",".yt-role-group {\n display: flex;\n flex-direction: column;\n min-height: 120px;\n border-radius: 4px;\n overflow: hidden;\n\n padding: 16px;\n border: 1px solid var(--dark-divider);\n\n &__container {\n padding-bottom: 20px;\n }\n\n &__groups-container {\n margin-bottom: 18px;\n }\n\n &__name {\n color: var(--bluejeans-color);\n --g-text-body-font-weight: 600;\n }\n\n &__rack-nodes {\n display: flex;\n flex-wrap: wrap;\n gap: 0px;\n margin-top: 20px;\n }\n\n $progressHeight: 82px;\n\n &__progress-text {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: $progressHeight;\n width: 164px;\n }\n\n &__expand-btn {\n margin-top: -4px;\n }\n\n &__progress-number {\n line-height: 20px;\n }\n\n &__divider {\n width: 0;\n height: $progressHeight;\n border-left: 1px solid var(--dark-divider);\n margin: 0 20px;\n }\n\n &__bottom-info {\n color: var(--default-color);\n }\n\n &__cube-icon {\n width: 18px;\n height: 18px;\n }\n\n &__counters {\n display: grid;\n grid-template-columns: auto 1fr auto 1fr auto 1fr auto;\n row-gap: 4px;\n }\n\n &__status {\n display: inline-block;\n }\n\n &__status-color {\n display: inline-block;\n width: 14px;\n height: 14px;\n border-radius: 2px;\n margin-right: 4px;\n\n background-color: var(--g-color-base-generic-medium);\n\n &_theme_online {\n background-color: var(--success-color);\n }\n\n &_theme_offline {\n background-color: var(--danger-color);\n }\n\n &_theme_alert {\n background-color: var(--warning-color);\n }\n\n &_theme_other {\n background-color: var(--info-color);\n }\n\n &_empty {\n background-color: var(--light-divider);\n }\n }\n\n &__status-label {\n line-height: 14px;\n }\n\n &__status-count {\n display: flex;\n align-items: center;\n }\n\n &__status-count-number {\n line-height: 14px;\n }\n}\n",".system-nodes {\n .elements-heading {\n margin-bottom: 0;\n }\n\n &__group-summary {\n padding-left: 4px;\n padding-bottom: 20px;\n }\n\n &__expand-btn {\n margin-left: 20px;\n margin-right: 10px;\n }\n}\n"],"names":[],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"css/system.221e5d53.chunk.css","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/pages/system/System/System.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Resources/Resources.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/SystemCounters/SystemCounters.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/SystemStateOverview/SystemStateOverview.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/NodeQuad/NodeQuad.scss","webpack://@ytsaurus/ui/./src/ui/pages/components/SwitchLeaderShortInfo/SwitchLeaderShortInfo.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Masters/MasterGroup.scss","webpack://@ytsaurus/ui/./src/ui/styles/mixins.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Masters/Masters.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/SchedulersAndAgents/Schedulers.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Chunks/Chunks.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/ProxiesImpl/StatsInfo.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/ProxiesImpl/RoleGroup.scss","webpack://@ytsaurus/ui/./src/ui/pages/system/Nodes/Nodes.scss"],"sourcesContent":[".system {\n .collapsible-section {\n border-top: solid var(--dark-divider) 1px;\n margin-top: 0;\n }\n\n .elements-heading {\n margin-bottom: 0;\n align-items: center;\n\n &__heading {\n padding-top: 20px;\n padding-bottom: 20px;\n }\n }\n}\n",".system {\n &__resources {\n margin-bottom: 20px;\n\n &-message {\n margin-bottom: 20px;\n }\n\n &-heading {\n font-size: 16px;\n line-height: 20px;\n margin-bottom: 3px;\n }\n\n &-caption {\n margin-bottom: 5px;\n }\n\n &-meters {\n display: grid;\n grid-gap: 9px 60px;\n grid-template-rows: repeat(4, minmax(20px, auto));\n grid-auto-flow: column;\n\n &-disk {\n grid-column-end: span 3;\n }\n }\n }\n}\n",".system {\n &__heading-overview {\n &-counters {\n font-size: 12px;\n margin-right: 10px;\n\n //line-height: @font-size;\n text-transform: uppercase;\n\n & .elements-list {\n display: flex;\n justify-content: flex-end;\n & > li {\n margin-left: 10px;\n\n white-space: nowrap;\n }\n li.counter_flag + li.counter_state {\n margin-left: 30px;\n }\n li.counter_state + li.counter_total {\n margin-left: 30px;\n }\n }\n }\n }\n\n &__counter {\n font-weight: normal;\n &_theme {\n &_warning {\n color: var(--warning-color);\n\n .g-link_view_primary {\n color: var(--warning-color) !important;\n }\n }\n &_danger {\n color: var(--danger-color);\n\n .g-link_view_primary {\n color: var(--danger-color) !important;\n }\n }\n }\n }\n}\n",".system {\n &__heading-overview {\n display: flex;\n align-items: center;\n font-size: 14px;\n line-height: 24px;\n margin-left: auto;\n letter-spacing: 0.05em;\n\n .elements-label {\n margin-left: 5px;\n }\n\n &-states {\n width: 200px;\n }\n }\n}\n",".node-quad {\n $node-width: 14px;\n $node-margin: 4px;\n\n position: relative;\n top: 2px;\n\n display: inline-block;\n\n width: $node-width;\n height: $node-width;\n border-radius: 2px;\n margin-right: $node-margin;\n margin-bottom: $node-margin;\n\n overflow: hidden;\n flex-shrink: 0;\n\n text-align: center;\n font-size: 0.65rem;\n font-weight: bold;\n\n color: var(--light-text);\n\n &_theme_online {\n background-color: var(--success-color);\n }\n\n &_theme_online-letter {\n background-color: var(--success-text);\n }\n\n &_theme_banned {\n background-color: var(--warning-color);\n }\n\n &_theme_banned-letter {\n background-color: var(--warning-text);\n }\n\n &_theme_offline {\n background-color: var(--danger-color);\n }\n\n &_theme_offline-letter {\n background-color: var(--danger-text);\n }\n\n &_theme_other,\n &_theme_other-letter,\n &_theme_following {\n background-color: var(--info-color);\n }\n\n &_theme_mixed,\n &_theme_registered,\n &_theme_unregistered,\n &_theme_nonvoting {\n background-color: var(--default-color);\n }\n}\n",".switch-leader-short-info {\n &__state {\n text-transform: capitalize;\n\n &_state_complete {\n color: var(--success-color);\n }\n }\n\n &__value {\n text-transform: capitalize;\n }\n}\n","@import '../../../styles/common';\n@import '../../../styles/mixins';\n\n.master-group {\n &__availability {\n grid-column: status;\n }\n\n &__role {\n grid-column: role;\n }\n\n &__group {\n margin-top: 12px;\n margin-bottom: 18px;\n display: grid;\n grid-gap: 8px;\n grid-template-columns: /* the comment is required to fix lint error without `style-lint-disable-line` */\n [status] 14px\n [role] minmax(max-content, 100px)\n [icon] minmax(30px, max-content)\n [host] max-content;\n\n grid-auto-rows: 20px;\n\n &_grid-row-start {\n grid-row-start: 1;\n }\n }\n\n &__icon {\n grid-column: icon;\n justify-self: end;\n\n &-maintenance {\n color: var(--secondary-text);\n }\n\n &-glyph {\n vertical-align: middle;\n color: var(--secondary-text);\n display: inline-flex;\n }\n\n &-glyph.yt-icon {\n top: -1px;\n }\n }\n\n &__host {\n grid-column: host;\n display: flex;\n align-items: center;\n gap: 0 4px;\n\n &-name {\n flex: 0 1 auto;\n @include ellipsis();\n }\n\n &-btn {\n flex: 0 0 auto;\n visibility: hidden;\n }\n\n &:hover &-btn {\n visibility: visible;\n }\n\n &_quorum {\n justify-content: space-between;\n }\n }\n\n &__quorum {\n &-status {\n grid-column: status;\n\n &_state {\n &_present {\n .yt-icon {\n color: var(--success-color);\n }\n }\n\n &_weak {\n color: var(--warning-color);\n }\n\n &_missing {\n color: var(--danger-color);\n }\n\n &_unknown {\n }\n }\n\n .yt-icon {\n top: -1px;\n }\n }\n\n &-label {\n grid-column: role;\n }\n\n &-version {\n cursor: pointer;\n }\n\n &-cell {\n cursor: pointer;\n }\n }\n\n &__nonvoting {\n display: none;\n &_show {\n display: unset;\n }\n }\n}\n","@import './fonts';\n@import './common';\n\n@mixin ellipsis() {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n@mixin text-label() {\n font-size: 0.9em;\n text-transform: uppercase;\n letter-spacing: 1px;\n}\n\n// reset\n\n@mixin reset-ul() {\n margin: 0;\n padding: 0;\n}\n\n@mixin reset-li() {\n list-style-type: none;\n}\n\n// font\n\n@mixin yt-fonts() {\n font-family: var(--g-font-family-sans);\n font-size: var(--g-font-size);\n line-height: var(--g-line-height);\n}\n\n// heading\n\n@mixin heading-size($key) {\n $sizes: (\n s: (\n 16px,\n 20px,\n $offset-heading-small,\n ),\n xs: (\n 18px,\n 20px,\n $offset-heading-small-x,\n ),\n m: (\n 20px,\n 24px,\n $offset-heading-medium,\n ),\n l: (\n 24px,\n 28px,\n $offset-heading-large,\n ),\n xl: (\n 24px,\n 28px,\n $offset-heading-large,\n ),\n );\n $size: map-get($sizes, $key);\n\n font-size: nth($size, 1);\n line-height: nth($size, 2);\n margin: 0;\n margin-bottom: nth($size, 3);\n}\n\n$stickyVerticalPadding: 10px;\n\n@mixin sticky-style() {\n position: fixed;\n top: var(--app-header-height);\n left: var(--gn-aside-header-size);\n right: 0;\n\n padding: $stickyVerticalPadding 20px;\n\n box-shadow: 0 1px 10px var(--opacity-background);\n background-color: var(--main-background);\n border-bottom: 1px solid var(--dark-divider);\n z-index: var(--fixed-toolbar-z-index);\n}\n","@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 gap: 0 20px;\n }\n\n &__providers {\n margin-right: 100px;\n }\n\n &__alerts {\n margin-bottom: 20px;\n }\n}\n","@import '../../../styles/mixins';\n\n.system {\n &__container-host-radio {\n margin-left: 20px;\n }\n &__schedulers-agents {\n display: flex;\n flex-wrap: wrap;\n }\n\n &__schedulers-hosts,\n &__agents-hosts {\n display: grid;\n grid-gap: 8px 80px;\n grid-auto-flow: column;\n\n margin-bottom: 18px;\n margin-top: 8px;\n }\n\n &__scheduler {\n display: grid;\n grid-template-columns: 14px 100px 30px minmax(150px, 380px);\n grid-gap: 12px;\n }\n\n &__scheduler-host {\n display: flex;\n gap: 0 4px;\n\n &-address {\n flex: 0 1 auto;\n @include ellipsis();\n }\n\n &-btn {\n margin-top: -3px;\n visibility: hidden;\n }\n\n &:hover &-btn {\n visibility: visible;\n }\n }\n\n &__maintenance {\n justify-self: end;\n color: var(--secondary-text);\n }\n}\n",".system {\n &__chunks {\n margin-bottom: 20px;\n }\n\n .chunk-cells {\n &__table {\n &-item_type {\n &_cell-tag {\n width: 65px;\n }\n &_foreign-chunks {\n width: 105px;\n }\n &_overreplicated-chunks {\n width: 147px;\n }\n &_underreplicated-chunks {\n width: 156px;\n }\n &_quorum-missing-chunks {\n width: 156px;\n }\n &_data-missing-chunks {\n width: 131px;\n }\n &_parity-missing-chunks {\n width: 140px;\n }\n &_lost-chunks {\n width: 66px;\n }\n &_lost-vital-chunks {\n width: 102px;\n }\n &_unsafely-placed-chunks {\n width: 153px;\n }\n &_chunks {\n width: 125px;\n }\n }\n }\n }\n}\n",".stats-info {\n display: flex;\n flex-direction: column;\n text-transform: uppercase;\n flex-grow: 1;\n\n &__progress {\n width: 100%;\n margin: 4px 0;\n }\n\n &__info {\n display: flex;\n &_hidden {\n visibility: hidden;\n }\n }\n\n &__subtext {\n width: 50px;\n }\n}\n",".yt-role-group {\n display: flex;\n flex-direction: column;\n min-height: 120px;\n border-radius: 4px;\n overflow: hidden;\n\n padding: 16px;\n border: 1px solid var(--dark-divider);\n\n &__container {\n padding-bottom: 20px;\n }\n\n &__groups-container {\n margin-bottom: 18px;\n }\n\n &__name {\n color: var(--bluejeans-color);\n --g-text-body-font-weight: 600;\n }\n\n &__rack-nodes {\n display: flex;\n flex-wrap: wrap;\n gap: 0px;\n margin-top: 20px;\n }\n\n $progressHeight: 82px;\n\n &__progress-text {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: $progressHeight;\n width: 164px;\n }\n\n &__expand-btn {\n margin-top: -4px;\n }\n\n &__progress-number {\n line-height: 20px;\n }\n\n &__divider {\n width: 0;\n height: $progressHeight;\n border-left: 1px solid var(--dark-divider);\n margin: 0 20px;\n }\n\n &__bottom-info {\n color: var(--default-color);\n }\n\n &__cube-icon {\n width: 18px;\n height: 18px;\n }\n\n &__counters {\n display: grid;\n grid-template-columns: auto 1fr auto 1fr auto 1fr auto;\n row-gap: 4px;\n }\n\n &__status {\n display: inline-block;\n }\n\n &__status-color {\n display: inline-block;\n width: 14px;\n height: 14px;\n border-radius: 2px;\n margin-right: 4px;\n\n background-color: var(--g-color-base-generic-medium);\n\n &_theme_online {\n background-color: var(--success-color);\n }\n\n &_theme_offline {\n background-color: var(--danger-color);\n }\n\n &_theme_alert {\n background-color: var(--warning-color);\n }\n\n &_theme_other {\n background-color: var(--info-color);\n }\n\n &_empty {\n background-color: var(--light-divider);\n }\n }\n\n &__status-label {\n line-height: 14px;\n }\n\n &__status-count {\n display: flex;\n align-items: center;\n }\n\n &__status-count-number {\n line-height: 14px;\n }\n}\n",".system-nodes {\n .elements-heading {\n margin-bottom: 0;\n }\n\n &__group-summary {\n padding-left: 4px;\n padding-bottom: 20px;\n }\n\n &__expand-btn {\n margin-left: 8px;\n margin-right: 10px;\n }\n}\n"],"names":[],"sourceRoot":""}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[1110],{34413:(e,t,n)=>{n.d(t,{A:()=>k});var r=n(40319),s=n(77810),i=n(76872),o=n(88314),a=n.n(o),l=n(10559),c=n(85137),u=n(55695),d=n(92423),m=n(72679),h=n(38226),p=n(44458),f=n(64922),v=(0,i.A)("yt-page-counter");function A(e){var t=e.pageIndex,n=e.pageCount,r=e.className;return void 0===t||void 0===n?null:n>1?(0,f.jsxs)("span",{className:v(null,r),children:["Page: ",(t||0)+1," / ",n]}):null}const b=s.memo(A);var x=n(38198),y=n(12680),g=(0,i.A)("column-header");function C(e){var t=e.column,n=e.title,r=e.shortTitle,s=null!=n?n:a()(t);return{nameContent:r||s,titleContent:s}}function k(e){var t=e.className,n=e.align,i=e.order,o=e.onSort,a=e.multisortIndex,l=e.loading,u=e.pageIndex,d=e.pageCount,m=function(e){if(void 0===e.options){var t=e.column,n=e.allowUnordered,s=e.withUndefined,i=e.title,o=e.shortTitle,a=e.allowedOrderTypes;return(0,r.A)({column:t,allowUnordered:n,withUndefined:s,allowedOrderTypes:a},C({column:t,title:i,shortTitle:o}))}var l=e.column,c=e.options,u=e.title,d=e.shortTitle,m=c.find((function(e){var t=e.column;return l===t}));return m||(0,y.N1)({message:"Unexpected behavior: missing value in ColumnHeader.props.options",additional:e}),(0,r.A)((0,r.A)({subColumn:C((0,r.A)({},m))},m),C({column:"",title:u,shortTitle:d}))}(e),v=m.column,A=m.allowUnordered,k=m.withUndefined,I=m.nameContent,_=m.titleContent,j=m.allowedOrderTypes,z=m.subColumn,N=s.useCallback((function(e){var t=j?(0,p.Pc)(i,j):(0,p.$N)(i,A,k);null==o||o(v,t,{currentOrder:i,multisort:e.ctrlKey||e.metaKey})}),[v,i,o,A,j,k]),S=Boolean(o);return(0,f.jsxs)("div",{className:g(null,t),children:[(0,f.jsxs)("div",{className:g("label-icon",{sortable:S,align:n}),onClick:S?N:void 0,children:[(0,f.jsx)("span",{className:g("label"),title:_,children:I}),(0,f.jsx)("span",{className:g("icon"),children:(0,f.jsx)(h.A,{hidden:!S,order:i})}),void 0!==a&&(0,f.jsxs)("span",{className:g("multisort"),children:[" ",(0,f.jsx)("sup",{children:a})]}),Boolean(i)&&Boolean(z)&&(0,f.jsx)(c.E,{className:g("label",{"sub-column":!0}),variant:"caption-2",title:null==z?void 0:z.titleContent,color:"dark-secondary",children:null==z?void 0:z.nameContent})]}),(0,f.jsx)(w,{options:e.options,order:i,onSort:o}),void 0!==l&&(0,f.jsx)("div",{className:g("loader"),children:(0,f.jsx)(x.A,{visible:l})}),Boolean(d)&&(0,f.jsx)(b,{className:g("page-counter"),pageIndex:u,pageCount:d})]})}function w(e){var t=e.order,n=e.options,r=e.onSort;return n?(0,f.jsx)(u.r,{items:n.map((function(e){return{text:C(e).titleContent,action:function(){if(r){var n=e.column,s=e.allowUnordered,i=e.withUndefined,o=e.allowedOrderTypes,a=o?(0,p.Pc)(t,o):(0,p.$N)(t,s,i);r(n,a,{currentOrder:t})}}}})),renderSwitcher:function(e){var t=e.onClick;return(0,f.jsx)(d.$,{onClick:t,view:"flat",size:"xs",children:(0,f.jsx)(m.I,{size:12,data:l.A})})}}):null}},5172:(e,t,n)=>{n.d(t,{A:()=>P,Y:()=>E});var r=n(9736),s=n(13322),i=n(29121),o=n(12937),a=n(10785),l=n(26718),c=n(40319),u=n(77810),d=n(75826),m=n.n(d),h=n(76872),p=n(43676),f=n(25147),v=n.n(f),A=n(15757),b=n.n(A),x=n(45098),y=n.n(x),g=n(49214),C=n.n(g),k=n(27528),w=n.n(k),I=n(90636),_=n.n(I),j=n(75414),z=n.n(j),N=n(65692),S=n(60620),M=n(29241),O=n(51806),D=n(64922),B=(0,h.A)("column-selector");function E(e){return w()(e,(function(e){return(0,c.A)({},e)}))}var R=(0,p.ni)((function(){return(0,D.jsx)("div",{className:B("drag-handle"),children:(0,D.jsx)(S.A,{face:"solid",awesome:"list"})})})),F=(0,p.HK)((function(e){var t=e.item,n=e.isSortable,r=e.isSelectable,s=e.isDisabled,i=e.itemRenderer,o=e.onCheckBoxChange,a=e.withClickableHandler,l=!s&&!t.disabled,c=B("list-item",{selected:t.checked&&l&&"yes",selectable:r&&l&&"yes",disabled:!l&&"yes"});return(0,D.jsxs)("div",{className:c,children:[n&&t.checked&&(0,D.jsx)(R,{}),(0,D.jsxs)("div",{className:B("list-item-name"),children:[t.keyColumn&&(0,D.jsx)(S.A,{awesome:"key"}),i(t)]}),l&&a&&(0,D.jsx)("span",{className:B("list-item-check"),onClick:o,"data-item":t.name,children:(0,D.jsx)(S.A,{awesome:"check"})}),!l&&(0,D.jsx)(S.A,{className:B("list-item-lock"),awesome:"lock"})]})})),L=(0,p.SG)((function(e){var t=e.items,n=e.isSortable,r=e.isDisabled,s=e.itemRenderer,i=e.onCheckBoxChange,o=e.isSelectable,a=e.useStaticSize,l=e.withClickableHandler,c=void 0===l||l,u=n?"simple":"uniform",d={"static-size":a};return(0,D.jsx)("div",{className:B("list",d),children:(0,D.jsx)(v(),{itemRenderer:function(e,a){var l=t[e];return(0,D.jsx)(F,{index:e,item:l,disabled:!n,isSortable:n,isDisabled:r,isSelectable:o,itemRenderer:s,onCheckBoxChange:i,withClickableHandler:c},a)},length:t.length,type:u})})})),P=function(e){(0,a.A)(n,e);var t=(0,l.A)(n);function n(e){var o;(0,i.A)(this,n);var a=e.items,l=e.isHeadless,u=e.showSelectedOnly;(o=t.call(this,e)).toggleItem=function(e){o.withActualItems((function(t){var n=t.items,r=(n=(0,s.A)(n)).findIndex((function(t){return t.name===e})),i=n[r];return n[r]=(0,c.A)((0,c.A)({},i),{},{checked:!i.checked}),{items:n}}))},o.selectAllItems=function(){o.withActualItems((function(e){var t=e.items,n=o.getVisibleItemsMap();return t=(0,s.A)(t),b()(t,(function(e,r){n[e.name]&&(e.checked||e.disabled||(t[r]=(0,c.A)((0,c.A)({},e),{},{checked:!0})))})),{items:t}}))},o.deselectAllItems=function(){o.withActualItems((function(e){var t=e.items,n=o.getVisibleItemsMap();return t=(0,s.A)(t),b()(t,(function(e,r){n[e.name]&&e.checked&&!e.disabled&&(t[r]=(0,c.A)((0,c.A)({},e),{},{checked:!1}))})),{items:t}}))},o.invertItems=function(){o.withActualItems((function(e){var t=e.items,n=o.getVisibleItemsMap();return t=(0,s.A)(t),b()(t,(function(e,r){n[e.name]&&(e.disabled||(t[r]=(0,c.A)((0,c.A)({},e),{},{checked:!e.checked})))})),{items:t}}))},o._handleCheckBoxChange=function(e){o.toggleItem(e.currentTarget.getAttribute("data-item"))},o._handleSortEnd=function(e){var t=e.oldIndex,n=e.newIndex;t!==n&&o.withActualItems((function(e){var i=e.items;i=(0,s.A)(i);var a=o.getVisibleItems().items,l=i.findIndex((function(e){return e.name===a[t].name})),c=i.findIndex((function(e){return e.name===a[n].name})),u=i.splice(l,1),d=(0,r.A)(u,1)[0];return i.splice(c,0,d),{items:i}}))},o._handleDefaultSort=function(){o.withActualItems((function(e){return{items:e.items.sort((function(e,t){var n=e.caption||e.name,r=t.caption||t.name;return n.localeCompare(r)}))}}))},o._toggleShownItems=function(){o.setState((function(e){return{showSelectedOnly:!e.showSelectedOnly}}))},o._changeFilter=function(e){o.setState({filter:e})};var d={showSelectedOnly:u,filter:""};return l&&Object.assign(d,{items:E(a)}),o.state=d,o}return(0,o.A)(n,[{key:"items",get:function(){return this.props.isHeadless?this.state.items:this.props.items}},{key:"buttonALLisDisabled",get:function(){return this.items.every((function(e){return e.checked}))}},{key:"buttonNONEisDisabled",get:function(){return!this.items.some((function(e){return e.checked}))}},{key:"withActualItems",value:function(e){var t=this,n=this.props.onChange;if(this.props.isHeadless){var r=e({items:this.state.items||[]}).items;this.setState({items:r},(function(){n({items:(0,s.A)(t.state.items)})}))}else{var i=e({items:this.props.items||[]}).items;n({items:(0,s.A)(i)})}}},{key:"renderSearchBox",value:function(){return(0,D.jsx)(N.k,{placeholder:"Search...",onUpdate:this._changeFilter,value:this.state.filter,hasClear:!0})}},{key:"renderControls",value:function(){var e=this.props,t=e.isFilterable,n=e.isSelectable,r=e.isSortable,s=e.isHeadless,i={size:"m",className:B("controls-item")};return(0,D.jsxs)("div",{className:B("controls"),children:[t&&this.renderSearchBox(),s&&(0,D.jsxs)(O.A,(0,c.A)((0,c.A)({},i),{},{onClick:this._toggleShownItems,children:["Selected ",(0,D.jsx)("span",{className:"elements-secondary-text",children:C()(this.items,(function(e){return e.checked})).length})]})),n&&(0,D.jsx)(O.A,(0,c.A)((0,c.A)({},i),{},{disabled:this.buttonALLisDisabled,onClick:this.selectAllItems,children:"Add all"})),n&&(0,D.jsx)(O.A,(0,c.A)((0,c.A)({},i),{},{onClick:this.invertItems,children:"Invert list"})),!n&&(0,D.jsx)(O.A,(0,c.A)((0,c.A)({},i),{},{disabled:this.buttonNONEisDisabled,onClick:this.deselectAllItems,children:"Remove all"})),r&&(0,D.jsx)(O.A,(0,c.A)((0,c.A)({},i),{},{onClick:this._handleDefaultSort,children:"Default sort"}))]})}},{key:"filterItemsByName",value:function(e){var t=new RegExp(y()(this.state.filter),"i");return C()(e,(function(e){return t.test(e.name)}))}},{key:"filterItems",value:function(e){e=this.props.showDisabledItems?e:C()(e,(function(e){return!e.disabled}));var t=this.filterItemsByName(e);return this.state.showSelectedOnly?C()(t,(function(e){return e.checked})):t}},{key:"getVisibleItems",value:function(){var e=this.filterItems(this.items),t=_()(e,(function(e){return e.keyColumn})),n=(0,r.A)(t,2),s=n[0];return{items:n[1],keyItems:s}}},{key:"getVisibleItemsMap",value:function(){return z()(this.filterItems(this.items),(function(e,t){return e[t.name]=t,e}),{})}},{key:"renderList",value:function(){var e=this.props,t=e.isSortable,n=e.isSelectable,r=e.itemRenderer,s=e.children,i=e.isHeadless,o=this.getVisibleItems(),a=o.items,l=o.keyItems,c=B("content",{headless:i?void 0:"no",empty:a.length?void 0:"yes"},"pretty-scroll");return(0,D.jsxs)("div",{className:c,children:[l.length>0&&(0,D.jsxs)(u.Fragment,{children:[(0,D.jsx)(L,{lockAxis:"y",isDisabled:!1,isSortable:!1,isSelectable:n,items:l,itemRenderer:r,helperClass:B("list-item",{helper:"yes"}),onCheckBoxChange:this._handleCheckBoxChange}),a.length>0&&(0,D.jsx)("div",{className:B("separator")})]}),a.length>0&&(0,D.jsx)(L,{items:a,isSelectable:n,isSortable:t,itemRenderer:r,lockAxis:"y",helperClass:B("list-item",{helper:"yes"}),onSortEnd:this._handleSortEnd,onCheckBoxChange:this._handleCheckBoxChange,useDragHandle:!0}),!l.length&&!a.length&&s]})}},{key:"render",value:function(){var e=this.props,t=e.isHeadless,n=e.isSortable,r=e.className,s=B({headless:t?"yes":void 0,sortable:n?void 0:"no"},r);return(0,D.jsxs)("div",{className:s,children:[this.renderControls(),this.renderList()]})}}]),n}(u.Component);P.itemsProps=m().arrayOf(m().shape({name:m().string.isRequired,checked:m().bool.isRequired,keyColumn:m().bool,caption:m().string,disabled:m().bool})),P.defaultProps={itemRenderer:function(e){var t=e.name,n=e.caption,r=void 0===n?t:n;return(0,M.S5)(r,{asHTML:!1})},isSortable:!1,isHeadless:!1,isSelectable:!0,isFilterable:!0,showSelectedOnly:!1}},48890:(e,t,n)=>{n.d(t,{A:()=>w});var r=n(18801),s=n(40319),i=n(29121),o=n(12937),a=n(10785),l=n(26718),c=n(77810),u=n(73822),d=n(76872),m=n(39760),h=n.n(m),p=n(27528),f=n.n(p),v=n(75414),A=n.n(v),b=n(11960),x=n(5172),y=n(64922);const g=function(e){return(0,y.jsx)("svg",(0,s.A)((0,s.A)({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 194"},e),{},{children:(0,y.jsxs)("g",{fill:"none",fillRule:"evenodd",stroke:"#999",opacity:.22,children:[(0,y.jsx)("path",{strokeWidth:2,d:"M97.116 188.443h1v1h-1zM96.424 185.293h1.1v1h-1.1zM95.374 182.143h2.34v1h-2.34zM94.324 178.993h4.2v1h-4.2zM93.273 175.842h6.679v1h-6.679zM91.173 172.692h9.779v1h-9.779zM89.597 169.542h13.499v1H89.597zM87.496 166.391h17.839v1H87.496zM84.871 163.241h22.798v1H84.871zM81.719 160.091h28.998v1H81.719zM78.043 156.94h35.817v1H78.043zM73.842 153.623h45.117v1H73.842z"}),(0,y.jsx)("ellipse",{cx:96.77,cy:96.61,strokeWidth:8,rx:92.403,ry:92.61}),(0,y.jsx)("ellipse",{cx:96.669,cy:96.371,strokeWidth:4,rx:37.057,ry:37.141}),(0,y.jsx)("ellipse",{cx:97.269,cy:96.915,strokeWidth:8,rx:11.499,ry:11.532}),(0,y.jsx)("path",{strokeLinecap:"square",strokeWidth:4,d:"M34.504 34.653 66.12 66.34"}),(0,y.jsx)("path",{strokeDasharray:"8,8",strokeWidth:4,d:"M33.023 44.104V148.48M160.116 44.104V148.48"}),(0,y.jsx)("path",{strokeLinecap:"square",strokeWidth:4,d:"M159.603 34.653 127.986 66.34M34.504 159.798l31.617-31.685M159.603 159.798l-31.617-31.685"})]})}))};var C=["isVisible","entity"],k=(0,d.A)("column-selector-modal"),w=function(e){(0,a.A)(n,e);var t=(0,l.A)(n);function n(){var e;(0,i.A)(this,n);for(var r=arguments.length,s=new Array(r),o=0;o<r;o++)s[o]=arguments[o];return(e=t.call.apply(t,[this].concat(s))).state={srcItems:e.props.srcItems||e.props.items,items:(0,x.Y)(e.props.items),itemsOrder:e._getItemsOrder(e.props.items)},e._handleCONFIRMButtonClick=function(){var t=e.state.items;e.props.onConfirm(t)},e._handleCANCELButtonClick=function(){var t=e.props.items,n=e._getItemsOrder(t);e.setState({items:e._getOrderedItems((0,x.Y)(t)),itemsOrder:n}),e.props.onCancel()},e.onSourceChange=function(t){var n=t.items,r=e.state.items,s=A()(n,(function(e,t){return e[t.name]=t,e}),{}),i=[],o=[];h()(r,(function(e){var t=s[e.name];t&&t.checked!==e.checked?(t.keyColumn?i:o).push(t):i.push(e)}));var a=i.concat(o);e.setState({items:e._getOrderedItems(a),srcItems:e.calculateSrcItems(s)})},e.onDestinationChange=function(t){var n=t.items,r=A()(n,(function(e,t){return e[t.name]=t,e}),{}),s=e._getItemsOrder(n);e.setState({items:e._getOrderedItems(n,s),itemsOrder:s,srcItems:e.calculateSrcItems(r)})},e}return(0,o.A)(n,[{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.items,r=t.srcItems;e.items===n&&e.srcItems===r||this.setState({srcItems:r||this.props.items,items:this._getOrderedItems((0,x.Y)(n))})}},{key:"_getItemsOrder",value:function(e){return f()(e,(function(e){return e.name}))}},{key:"_getOrderedItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.itemsOrder;return e.sort((function(e,n){return t.indexOf(e.name)-t.indexOf(n.name)}))}},{key:"_getSelectorProps",value:function(e,t){return(0,s.A)((0,s.A)({},e),{},{items:t,showDisabledItems:!0,isHeadless:!1,isFilterable:!0,onChange:this.onSourceChange})}},{key:"_getSortableSelectorProps",value:function(e,t){return(0,s.A)((0,s.A)({},e),{},{items:t,isSelectable:!1,isSortable:!0,showSelectedOnly:!0,onChange:this.onDestinationChange})}},{key:"calculateSrcItems",value:function(e){return f()(this.state.srcItems,(function(t){var n=e[t.name];return n&&n.checked!==t.checked?n:t}))}},{key:"renderColumnSelector",value:function(e){var t=e.props,n=e.title,r=e.description,i=e.className;return(0,y.jsx)(x.A,(0,s.A)((0,s.A)({},t),{},{className:i,children:(0,y.jsxs)("div",{className:k("no-content"),children:[(0,y.jsx)("p",{children:(0,y.jsx)("strong",{children:n})}),(0,y.jsx)("p",{children:r}),(0,y.jsx)(g,{})]})}))}},{key:"renderContent",value:function(){var e=this.props,t=e.isVisible,n=e.entity,s=(0,r.A)(e,C),i=this.state,o=i.items,a=i.srcItems,l=(0,d.A)("elements-heading")({size:"s"},k("header")),c=this._getSelectorProps(s,a),u=this._getSortableSelectorProps(c,o),m=A()(u.items,(function(e,t){return t.disabled||!t.checked?e:++e}),0);return t&&(0,y.jsxs)("div",{className:k(),children:[(0,y.jsxs)("div",{className:k("panel",{left:"yes"}),children:[(0,y.jsxs)("div",{className:l,children:["All ",(0,y.jsx)("span",{className:"elements-secondary-text",children:a.length})]}),this.renderColumnSelector({props:c,title:"No available ".concat(n),description:"No ".concat(n," matching your filtering criteria")})]}),(0,y.jsxs)("div",{className:k("panel"),children:[(0,y.jsxs)("div",{className:l,children:["Selected ",(0,y.jsx)("span",{className:"elements-secondary-text",children:m})]}),this.renderColumnSelector({props:u,title:"No selected ".concat(n),description:"Add ".concat(n," you need from the All section.")})]})]})}},{key:"render",value:function(){var e=this.props,t=e.isVisible,n=e.entity,r="".concat(u.A.format.FirstUppercase(n)," setup");return(0,y.jsx)(b.A,{size:"l",title:r,borderless:!0,visible:t,confirmText:"Apply",onConfirm:this._handleCONFIRMButtonClick,onCancel:this._handleCANCELButtonClick,content:this.renderContent(),contentClassName:"column-selector-modal-content"})}}]),n}(c.Component);w.defaultProps={entity:"columns"}},17852:(e,t,n)=>{n.d(t,{D7:()=>h,lN:()=>A,om:()=>m,ps:()=>f});var r=n(13322),s=n(40319),i=n(76872),o=n(49214),a=n.n(o),l=n(39760),c=n.n(l),u=n(27528),d=n.n(u),m=(0,i.A)("role-list-control");function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=[],s=[],i=[];c()(e,(function(e){var t=e.isUnrecognized,o=e.isRequested,a=e.isApproved,l=e.isDepriving;t?i.push(e):l?s.push(e):a||o?r.push(e):n.push(e)}));var o=n.map((function(e){return p(e)})),a=t.map((function(e){return{title:e,data:{},frozen:!0}}));return{newItems:[],current:{title:"Current",data:o.concat(a)},toAdd:{title:"Will be added",itemClassName:m("item-to-add"),data:r.map((function(e){return p(e,{frozen:!0})}))},toRemove:{title:"Will be removed",itemClassName:m("item-to-remove"),data:s.map((function(e){return p(e,{frozen:!0})}))},unrecognized:{title:"Unrecognized",itemClassName:m("item-unrecognized"),data:i.map((function(e){return p(e,{frozen:!0})}))}}}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,s.A)({title:e.text||e.value,data:e},t)}function f(e){var t=e.current,n=e.newItems,s=e.toAdd;return[].concat((0,r.A)(n),(0,r.A)(v(t)),(0,r.A)(v(s)))}function v(e){var t=(e||{}).data;return d()(a()(t,(function(e){return!e.removed})),(function(e){var t=e.data||{};return{type:t.type,value:t.value}}))}function A(e){var t=e.current,n=e.newItems||[],r=(t&&t.data||[]).filter((function(e){return e.removed}));return{added:n.map((function(e){var t=e.type,n=e.value;return"users"===t?{user:n}:{group:n}})),removed:r.map((function(e){var t=e.data||{},n=t.value;return"users"===t.type?{user:n}:{group:n}}))}}},20361:(e,t,n)=>{n.d(t,{J_:()=>x,Vm:()=>j,yz:()=>z,yZ:()=>_,lN:()=>k.lN,Y:()=>y,Ln:()=>C,D7:()=>k.D7,ps:()=>k.ps});var r=n(28407),s=n(70232),i=n.n(s),o=n(77810),a=n(33882),l=n(40319),c=n(9736),u=n(64922),d=n(68175),m=n(76872),h=n(81738),p=n(29347),f=n.n(p),v=n(27528),A=n.n(v),b=(0,m.A)("yt-dialog-error");function x(e){return(0,u.jsx)(h.A,(0,l.A)((0,l.A)({},e),{},{className:b()}))}function y(e){return f()(A()(e,(function(e,t){return e?{name:"error_".concat(t),type:"block",extras:{children:(0,u.jsx)(x,{error:e})}}:void 0})))}var g="FINAL_FORM/form-error";function C(e){return{validationErrors:(0,d.A)({},g,(0,u.jsx)(x,{error:e}))}}var k=n(17852);function w(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(164),n.e(2209),n.e(6756),n.e(2640),n.e(6652),n.e(937),n.e(3776),n.e(3716),n.e(5423),n.e(9641),n.e(6019),n.e(3320),n.e(1051),n.e(8512),n.e(7315),n.e(5695),n.e(3990),n.e(3724),n.e(9558),n.e(8427),n.e(5451),n.e(3784),n.e(2736)]).then(n.bind(n,36381))}var I,_=(I=(0,a.A)(o.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return e.t0=e.sent.YTDialog,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),function(e){var t=o.useState(!1),n=(0,c.A)(t,2),r=n[0],s=n[1];return o.useEffect((function(){!r&&e.visible&&s(!0)}),[e.visible,r]),r?(0,u.jsx)(I,(0,l.A)({},e)):null});(0,a.A)(o.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return e.t0=e.sent.RoleListControl,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");var j=(0,a.A)(o.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return e.t0=e.sent.EditableList,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),z=(0,a.A)(o.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return e.t0=e.sent.TabFieldVertical,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"")},43279:(e,t,n)=>{n.d(t,{l:()=>m,c:()=>d});var r=n(9736),s=n(77810),i=n(76872),o=n(65692),a=n(60620),l=n(51806),c=n(64922),u=(0,i.A)("editable-as-text");function d(e){var t=e.children,n=e.onChange,i=e.text,d=e.className,m=e.withControls,h=e.size,p=e.disableEdit,f=e.cancelOnClose,v=e.openOnClick,A=e.renderEditor,b=e.onModeChange,x=e.saveButtonView,y=void 0===x?"normal":x,g=e.cancelButtonView,C=void 0===g?"normal":g,k=s.useState(!1),w=(0,r.A)(k,2),I=w[0],_=w[1],j=s.useState(i||""),z=(0,r.A)(j,2),N=z[0],S=z[1];(0,s.useEffect)((function(){S(i||"")}),[i]);var M=(0,s.useCallback)((function(e){b&&b(e),_(e)}),[b]),O=s.useCallback((function(){M(!1),f&&S(i||"")}),[f,M,i]),D=(0,s.useCallback)((function(){M(!0)}),[M]),B=s.useCallback((function(e){return S(null!=e?e:"")}),[S]),E=(0,s.useCallback)((function(){M(!1),n(N)}),[n,M,N]),R=(0,s.useCallback)((function(){M(!1),S(i||"")}),[M,i]),F=(0,s.useCallback)((function(e){M(!1),n(e)}),[M,n]),L=s.useCallback((function(e){"Enter"===e.key&&E(),"Escape"===e.key&&R()}),[E,R]),P=h||"m";return(0,c.jsx)("div",{className:u(null,[d||"",I?"edit":""]),onClick:function(){!I&&v&&D()},children:I?(0,c.jsxs)(c.Fragment,{children:[A?A({value:N,onChange:B,className:u("control"),onBlur:O,onApply:F}):(0,c.jsx)(o.k,{className:u("control"),autoFocus:!0,size:P,value:N,onUpdate:B,onKeyDown:L,onBlur:O}),m&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.A,{className:u("control"),view:y,extraProps:{onMouseDown:E},size:P,children:(0,c.jsx)(a.A,{awesome:"check",size:P})}),(0,c.jsx)(l.A,{className:u("control"),view:C,extraProps:{onMouseDown:R},size:P,children:(0,c.jsx)(a.A,{awesome:"times",size:P})})]})]}):(0,c.jsxs)(s.Fragment,{children:[t,!p&&(0,c.jsx)(l.A,{className:u("control",{type:"edit"}),view:"outlined",onClick:D,size:P,children:(0,c.jsx)(a.A,{awesome:"pencil",size:P})})]})})}function m(e){var t=e.onClick,n=e.size,r=void 0===n?"m":n;return(0,c.jsx)(l.A,{className:u("edit-btn"),onClick:t,size:r,children:(0,c.jsx)(a.A,{awesome:"pencil"})})}},79484:(e,t,n)=>{n.d(t,{A:()=>y});var r=n(40319),s=n(29121),i=n(12937),o=n(10785),a=n(26718),l=n(77810),c=n(75826),u=n.n(c),d=n(76872),m=n(27528),h=n.n(m),p=n(55695),f=n(92423),v=n(60620),A=n(39566),b=n(64922),x=(0,d.A)("favourites"),y=function(e){(0,o.A)(n,e);var t=(0,a.A)(n);function n(){var e;(0,s.A)(this,n);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(e=t.call.apply(t,[this].concat(i))).state={isActive:e.props.isActive},e.toggleActive=function(){var t=e.props.onToggle;e.setState((function(e){return{isActive:!e.isActive}})),t()},e.onItemClick=function(t){(0,e.props.onItemClick)(t)},e}return(0,i.A)(n,[{key:"renderDropDownMenu",value:function(){var e=this,t=this.props.items,n=h()(t,(function(t){return{text:t.path,action:function(){return e.onItemClick(t)}}}));0===t.length&&n.push({action:function(){},text:"No favourites"});var r=this.renderButton({view:"normal",size:"m",pin:"brick-round",title:"View favourites",children:(0,b.jsx)(v.A,{awesome:"angle-down"})});return(0,b.jsx)(p.r,{popupProps:{className:x("popup",{empty:0===t.length})},items:n,switcher:r})}},{key:"renderHotkey",value:function(){return(0,b.jsx)(A.A,{settings:[{keys:"f",handler:this.toggleActive,scope:"all"}]})}},{key:"renderButton",value:function(e){var t=this.props.theme?{view:"outlined"}:{};return(0,b.jsx)(f.$,(0,r.A)((0,r.A)({},e),t))}},{key:"render",value:function(){var e=this.props,t=e.toggleDisabled,n=e.className,r=e.theme,s=this.state.isActive;return(0,b.jsxs)("div",{className:x(null,n),children:[(0,b.jsx)("div",{className:x("star-btn",{clear:"clear"===r}),children:this.renderButton({view:"outlined-info",selected:s,size:"m",pin:"clear"===r?"round-brick":"round-clear",title:"Add to favourites [F]",onClick:this.toggleActive,disabled:t,children:(0,b.jsx)(v.A,{awesome:s?"star-alt":"star"})})}),this.renderDropDownMenu(),this.renderHotkey()]})}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.isActive!==t.isActive?{isActive:e.isActive}:null}}]),n}(l.Component);y.itemType=u().shape({path:u().string})},38226:(e,t,n)=>{n.d(t,{A:()=>b});var r,s=n(29121),i=n(12937),o=n(10785),a=n(26718),l=n(68175),c=n(77810),u=n(76872),d=n(64772),m=n(60620),h=n(34380),p=n(44458),f=n(64922),v=(0,u.A)("sort-icon"),A=(r={},(0,l.A)(r,"","sort"),(0,l.A)(r,"asc","sort-up"),(0,l.A)(r,"desc","sort-down"),(0,l.A)(r,"asc-undefined","arrow-to-bottom"),(0,l.A)(r,"desc-undefined","arrow-from-bottom"),(0,l.A)(r,"undefined-asc","arrow-from-top"),(0,l.A)(r,"undefined-desc","arrow-to-top"),r),b=function(e){(0,o.A)(n,e);var t=(0,a.A)(n);function n(){var e;(0,s.A)(this,n);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(e=t.call.apply(t,[this].concat(i))).onClick=function(){var t=e.props,n=t.order,r=t.onChange,s=t.allowUnordered,i=t.withUndefined;r&&r((0,p.$N)(n,s,i))},e}return(0,i.A)(n,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.label,r=e.order,s=e.hidden,i=A[r||""];return(0,f.jsxs)("span",{className:v({hidden:s},t),onClick:this.onClick,children:[n&&(0,f.jsx)("span",{className:v("label"),children:n}),(0,f.jsx)(h.m,{className:v("icon"),content:r?d.A.ReadableField(r):"Unordered",children:(0,f.jsx)(m.A,{awesome:i,face:"solid"})})]})}}]),n}(c.Component)},60680:(e,t,n)=>{n.d(t,{yN:()=>u,uL:()=>p,IS:()=>h,L1:()=>c,W1:()=>d,N5:()=>m});var r=n(40319),s=(n(77810),n(76872)),i=n(3659),o=n(53332),a=n(64922),l=(0,s.A)("yt-text");function c(e){var t=e.children,n=e.disabled;return(0,a.jsx)("span",{className:l("secondary",{disabled:n}),children:t})}function u(e){var t=e.children;return(0,a.jsx)("span",{className:l("bold"),children:t})}function d(e){var t=e.children;return(0,a.jsx)(c,{children:(0,a.jsx)(u,{children:t})})}function m(e){var t=e.children,n=e.className;return(0,a.jsx)("span",{className:l("warning",n),children:t})}function h(e){var t=e.children;return(0,a.jsx)("span",{className:l("no-wrap"),children:t})}function p(e){var t=e.text,n=i.A.prettyprint(t,(0,r.A)((0,r.A)({},o.EP),{},{asHTML:!0}));return(0,a.jsx)("span",{className:l("escaped"),dangerouslySetInnerHTML:{__html:n}})}},53364:(e,t,n)=>{n.d(t,{A:()=>h});var r=n(40319),s=n(29121),i=n(12937),o=n(10785),a=n(26718),l=n(77810),c=n(22483),u=n(53332),d=n(26264),m=n(64922);function h(e){var t;return t=function(t){(0,o.A)(l,t);var n=(0,a.A)(l);function l(){return(0,s.A)(this,l),n.apply(this,arguments)}return(0,i.A)(l,[{key:"render",value:function(){return c.createPortal((0,m.jsx)(e,(0,r.A)({},this.props)),document.getElementById(d.g))}}]),l}(l.Component),t.displayName="WithSplit(".concat((0,u.Mn)(e),")"),t}},38462:(e,t,n)=>{n.d(t,{Zh:()=>p});var r=n(9736),s=n(77810),i=n(15647),o=n(53364),a=n(33882),l=n(53246),c=n(41866),u=n(38198),d=n(64922),m=s.lazy((function(){return Promise.all([n.e(8096),n.e(164),n.e(1524),n.e(7540),n.e(2209),n.e(7954),n.e(3266),n.e(7970),n.e(6652),n.e(6193),n.e(3872),n.e(417),n.e(3716),n.e(1337),n.e(628),n.e(2099),n.e(1394),n.e(3990),n.e(3735),n.e(9045),n.e(6692),n.e(5770),n.e(4016),n.e(4066)]).then(n.bind(n,1103))})),h=(0,o.A)((0,a.A)(m,(0,d.jsx)(u.A,{visible:!0,centered:!0,size:"l"})));function p(){var e=s.useState(!1),t=(0,r.A)(e,2),n=t[0],o=t[1],a=(0,i.wA)(),u=s.useCallback((function(){a((0,l.Po)(c.g9)),o(!0)}),[o,a]),m=s.useCallback((function(){o(!1),a((0,l.Dw)())}),[o,a]);return{closeWidget:m,openWidget:u,widgetOpened:n,widgetContent:n?(0,d.jsx)(h,{onClose:m}):null}}},94285:(e,t,n)=>{n.d(t,{DO:()=>P,GR:()=>U,JP:()=>I,K:()=>q,Nd:()=>D,QJ:()=>k,RC:()=>V,U5:()=>W,UI:()=>O,Xj:()=>B,dz:()=>y,jU:()=>H,l9:()=>x,p1:()=>g,px:()=>C,sD:()=>z,tC:()=>_,um:()=>b,uo:()=>E,v8:()=>M,vY:()=>j,yb:()=>R,zQ:()=>T});var r=n(49214),s=n.n(r),i=n(34455),o=n.n(i),a=n(27528),l=n.n(a),c=n(31285),u=n.n(c),d=n(18472),m=n(6184),h=n(52797),p=n(73928),f=n(53332),v=n(44458),A=n(94544),b=function(e){return e.chaos_cell_bundles.loaded},x=function(e){return e.chaos_cell_bundles.loading},y=function(e){return e.chaos_cell_bundles.bundlesSort},g=function(e){return e.chaos_cell_bundles.bundlesNameFilter},C=function(e){return e.chaos_cell_bundles.bundlesAccountFilter},k=function(e){return e.chaos_cell_bundles.bundlesTagNodeFilter},w=function(e){return e.chaos_cell_bundles.bundles},I=function(e){return e.chaos_cell_bundles.activeBundle},_=function(e){return e.chaos_cell_bundles.bundlesTableMode},j=(0,d.Mz)([w,I],(function(e,t){return o()(e,(function(e){return e.bundle===t}))})),z=(0,d.Mz)([w],(function(e){return(0,p.Sx)(e)})),N=new Set(["bundle","health","tabletCells","tablets","uncompressed","compressed","enable_bundle_balancer","node_tag_filter","memory","tablet_count","tablet_count_limit","tablet_count_free","tablet_count_percentage","tablet_static_memory","tablet_static_memory_limit","tablet_static_memory_free","tablet_static_memory_percentage"]),S=(0,d.Mz)([w,g,C,k],(function(e,t,n,r){var i=[];if(t){var o=t.toLowerCase();i.push((function(e){return-1!==e.bundle.toLowerCase().indexOf(o)}))}if(n){var a=n.toLowerCase();i.push((function(e){var t=e.changelog_account,n=e.snapshot_account;return Boolean(t)&&-1!==t.toLowerCase().indexOf(a)||Boolean(n)&&-1!==n.toLowerCase().indexOf(a)}))}if(r){var l=r.toLowerCase();i.push((function(e){var t=e.node_tag_filter;return Boolean(t)&&-1!==t.toLowerCase().indexOf(l)}))}return i.length?s()(e,m.concatByAnd.apply(void 0,i)):e})),M=(0,d.Mz)([S,y],(function(e,t){var n=t.column,r=t.order;return n&&r?(0,A.Af)({bundles:e,column:n,order:r,columnsSortable:N}):e})),O=function(e){return e.chaos_cell_bundles.cells},D=function(e){return e.chaos_cell_bundles.cellsSort},B=function(e){return e.chaos_cell_bundles.cellsIdFilter},E=function(e){return e.chaos_cell_bundles.cellsBundleFilter},R=function(e){return e.chaos_cell_bundles.cellsHostFilter},F=(0,d.Mz)([O,I],(function(e,t){return t?s()(e,(function(e){return Boolean(e.bundle)&&t===e.bundle})):e})),L=(0,d.Mz)([F,B,E,R,I],(function(e,t,n,r){var i=[];return t&&i.push((function(e){return-1!==e.id.indexOf(t)})),n&&i.push((function(e){return Boolean(e.bundle)&&-1!==e.bundle.indexOf(n)})),r&&i.push((function(e){return Boolean(e.peerAddress)&&-1!==e.peerAddress.indexOf(r)})),i.length?s()(e,m.concatByAnd.apply(void 0,i)):e}));function P(e,t){return e?s()(t,(function(t){return t.bundle===e})):[]}var H=(0,d.Mz)([L,D],(function(e,t){return(0,v.gn)(e,t)})),T=(0,d.Mz)([O],(function(e){return u()(l()(e,"bundle")).sort()})),V=(0,d.Mz)([F],(function(e){return u()(l()(e,"peerAddress")).sort()})),U=(0,d.Mz)([I,L],(function(e,t){return e?W(t):""}));function W(e){return u()(l()(e,(function(e){var t=e.peerAddress;return(0,f.Q4)(t)})).filter(Boolean)).sort().join("|")}var q=(0,d.Mz)([h.dB,I],(function(e,t){var n=[{text:"",href:(0,p.Hq)(e),title:"<bundles>"}];return t&&n.push({text:t,href:(0,p.j3)(e,t)}),n}))},39e3:(e,t,n)=>{n.d(t,{Az:()=>I,DL:()=>z,Es:()=>_,FG:()=>y,Gi:()=>g,O1:()=>v,Tf:()=>b,b6:()=>f,c6:()=>A,cD:()=>k,dm:()=>p,rV:()=>x,wz:()=>w});var r=n(13322),s=n(40319),i=n(18472),o=n(31285),a=n.n(o),l=n(29347),c=n.n(l),u=n(6184),d=n(44458),m=n(42772),h=function(e){return e.chyt.list.data},p=(0,i.Mz)([h],(function(e){var t=e.items,n=void 0===t?[]:t;return a()(n.map((function(e){return e.creator}))).sort()})),f=(0,i.Mz)([h],(function(e){var t=e.items,n=void 0===t?[]:t;return c()(a()(n.map((function(e){return e.health}))).sort())})),v=(0,i.Mz)([h],(function(e){var t=e.items,n=void 0===t?[]:t;return a()(n.map((function(e){return e.state}))).sort()})),A=function(e){return e.chyt.clique.currentClique},b=function(e){return e.chyt.listFilters.name},x=function(e){return e.chyt.listFilters.health},y=function(e){return e.chyt.listFilters.creator},g=function(e){return e.chyt.listFilters.state},C={instance_count:!0,total_cpu:!0,total_memory:!0,creation_time:!0,stage:!0,yt_operation_start_time:!0,yt_operation_finish_time:!0,speclet_modification_time:!0,strawberry_state_modification_time:!0,pool:!0,health:!0,creator:!0,state:!0},k=(0,i.Mz)([function(e){var t;return null!==(t=(0,m.u)(e)["global::chyt::list_columns"])&&void 0!==t?t:["health","state","instance_count","total_cpu","total_memory","creator","creation_time"]}],(function(e){var t=new Set(e);return c()(e.map((function(e){return C[e]&&t.has(e)?e:null})))})),w=(0,i.Mz)([k],(function(e){var t=new Set(e),n=e.map((function(e){return{checked:!0,column:e}}));return Object.keys(C).forEach((function(e){var r=e;t.has(r)||n.push({checked:!1,column:r})})),n})),I=function(e){return e.chyt.listFilters.sortState},_=(0,i.Mz)([I],(function(e){return e.reduce((function(t,n,r){return n.column&&(t[n.column]=(0,s.A)((0,s.A)({},n),{},{multisortIndex:e.length>1?r+1:void 0})),t}),{})})),j=(0,i.Mz)([b,y,g,x],(function(e,t,n,s){var i=c()([e?function(t){return-1!==t.alias.indexOf(e)}:void 0,void 0!==t?function(e){return t===e.creator}:void 0,n?function(e){return n===e.state}:void 0,s?function(e){return s===e.health}:void 0]);return i.length?u.concatByAnd.apply(void 0,(0,r.A)(i)):void 0})),z=(0,i.Mz)([h,I,j],(function(e,t,n){var r=e.items,s=void 0===r?[]:r,i=n?s.filter(n):s;return(0,d.jt)(i,t)}))},82947:(e,t,n)=>{n.d(t,{$7:()=>w,As:()=>z,CY:()=>I,En:()=>y,F6:()=>j,Gf:()=>v,M3:()=>b,NF:()=>N,Pc:()=>C,Wl:()=>k,YZ:()=>S,jO:()=>M,qZ:()=>x,sO:()=>O,tZ:()=>A,wE:()=>_});var r=n(34455),s=n.n(r),i=n(63281),o=n.n(i),a=n(18472),l=n(29730),c=n(19314),u=n(99526),d=n(57602),m=n(66205),h=n(85749),p=n(94285),f=n(39e3),v=(0,a.Mz)([l.th,l.O6],D),A=(0,a.Mz)([l.th,l.O6],B),b=(0,a.Mz)([A],E),x=(0,a.Mz)([u.yq,v],R),y=(0,a.Mz)([l.th,l.mR],D),g=(0,a.Mz)([l.th,l.mR],B),C=((0,a.Mz)([g],E),(0,a.Mz)([f.c6,y],R)),k=(0,a.Mz)([l.th,l.sX],D),w=(0,a.Mz)([l.th,l.sX],B),I=(0,a.Mz)([w],E),_=(0,a.Mz)([d.Yn,k],R),j=(0,a.Mz)([l.th,l.cY],D),z=(0,a.Mz)([m.d_,m.Jv,j],(function(e,t,n){return Boolean(s()(n,(function(n){return n.path==="".concat(e,"[").concat(t,"]")})))})),N=(0,a.Mz)([l.th,l.r_],D),S=(0,a.Mz)([h.OR,N],R),M=(0,a.Mz)([l.th,l.VI],D),O=(0,a.Mz)([p.JP,M],R);function D(e,t){var n=e(c.Ou.LOCAL.FAVOURITES,t);return o()(n,"path")}function B(e,t){return e(c.Ou.LOCAL.LAST_VISITED,t)||[]}function E(e){return o()(e,(function(e){return-e.count}))}function R(e,t){return Boolean(s()(t,(function(t){return t.path===e})))}},4386:(e,t,n)=>{n.d(t,{Dn:()=>m,MZ:()=>p,VK:()=>h,Ze:()=>v,cm:()=>u,e$:()=>A,eg:()=>x,fj:()=>b,kl:()=>f,lD:()=>d});var r=n(40319),s=n(18472),i=n(30063),o=n.n(i),a=n(29730),l=n(73849),c=(0,s.Mz)([a.gV,a.gd,a.D,a.cX,a.ah],(function(e,t,n,s,i){return(0,r.A)({format:e,showDecoded:t,compact:n,escapeWhitespace:s,binaryAsHex:i,asHTML:!0},(0,l.t)())})),u=(0,s.Mz)([c],o()),d=(0,s.Mz)([c],o()),m=(0,s.Mz)([c],o()),h=(0,s.Mz)([c],o()),p=(0,s.Mz)([c],o()),f=(0,s.Mz)([c],o()),v=(0,s.Mz)([c],o()),A=(0,s.Mz)([c],o()),b=(0,s.Mz)([c],o()),x=(0,s.Mz)([c],o())},10559:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(40319),s=n(64922);const i=function(e){return(0,s.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,s.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z",clipRule:"evenodd"})}))}},65315:(e,t,n)=>{n.d(t,{BI:()=>w,t9:()=>k,hR:()=>C});var r=n(77810),s=n(31680),i=n.n(s),o=n(21086),a=n(64196);const l=(0,o.om)("breadcrumbs");function c(e){return r.createElement("button",Object.assign({},e,{type:"button",className:l("switcher",{more:!0})}))}const u=(0,o.om)("breadcrumbs"),d=r.memo((function({item:e,isCurrent:t,isPrevCurrent:n,renderItemContent:s,renderItem:i}){const o=s?s(e,t,n):e.text;if(i)return i({item:e,children:o,isCurrent:t,isPrevCurrent:n});const l=e.title||e.text;return n||!t?void 0!==e.href?r.createElement(a.N,{key:e.text,view:"secondary",href:e.href,title:l,onClick:e.action,className:u("item",{"prev-current":n})},o):r.createElement(c,{key:e.text,title:l,onClick:e.action},o):r.createElement("div",{title:l,className:u("item",{current:!0})},o)}));d.displayName="Breadcrumbs.Item";var m=n(55695),h=n(54205);const p=JSON.parse('{"label_more":"Show more"}'),f=JSON.parse('{"label_more":"Показать больше"}'),v=(0,h.N)({en:p,ru:f},"Breadcrumbs"),A=(0,o.om)("breadcrumbs");function b({popupStyle:e,popupPlacement:t,items:n}){return r.createElement(m.r,{items:n,popupProps:{className:A("popup",{staircase:"staircase"===e}),placement:t},renderSwitcher:({onClick:e})=>r.createElement(c,{title:v("label_more"),onClick:e},"...")})}b.displayName="Breadcrumbs.More";const x=(0,o.om)("breadcrumbs");function y({renderItemDivider:e}){return r.createElement("div",{"aria-hidden":!0,className:x("divider")},e?e():"/")}y.displayName="Breadcrumbs.Separator";const g=(0,o.om)("breadcrumbs");var C,k;!function(e){e[e.One=1]="One",e[e.Two=2]="Two"}(C||(C={})),function(e){e[e.Zero=0]="Zero",e[e.One=1]="One"}(k||(k={}));class w extends r.Component{static prepareInitialState(e){const{firstDisplayedItemsCount:t}=e;return{calculated:!1,rootItem:t?e.items[0]:void 0,visibleItems:e.items.slice(t),hiddenItems:[],allItems:e.items}}static getDerivedStateFromProps(e,t){return t.allItems!==e.items?w.prepareInitialState(e):null}constructor(e){super(e),this.handleResize=()=>{const e=w.prepareInitialState(this.props);this.setState(e,this.recalculate)},this.handleResize=i()(this.handleResize,200),"undefined"!=typeof window&&(this.resizeObserver=new ResizeObserver(this.handleResize)),this.container=r.createRef(),this.state=w.prepareInitialState(e)}componentDidMount(){var e;this.recalculate(),null===(e=this.resizeObserver)||void 0===e||e.observe(this.container.current)}componentDidUpdate(e){e.items!==this.state.allItems&&this.recalculate()}componentWillUnmount(){var e;null===(e=this.resizeObserver)||void 0===e||e.disconnect()}render(){const{className:e,qa:t}=this.props,{calculated:n}=this.state;return r.createElement("div",{className:g({calculated:n?"yes":"no"},e),"data-qa":t},r.createElement("div",{className:g("inner"),ref:this.container},this.renderRootItem(),this.renderMoreItem(),this.renderVisibleItems()))}renderItem(e,t,n,s){return r.createElement(d,{item:e,isCurrent:t,isPrevCurrent:n,renderItemContent:s||this.props.renderItemContent,renderItem:this.props.renderItem})}renderItemDivider(){const{renderItemDivider:e}=this.props;return r.createElement(y,{renderItemDivider:e})}renderRootItem(){const{renderRootContent:e}=this.props,{rootItem:t,visibleItems:n}=this.state,r=0===n.length;return t?this.renderItem(t,r,!1,e):null}renderVisibleItems(){const{visibleItems:e}=this.state;return e.map(((e,t,n)=>{const s=t===n.length-1,i=t===n.length-2;return r.createElement(r.Fragment,{key:t},this.renderItemDivider(),this.renderItem(e,s,i))}))}renderMoreItem(){const{hiddenItems:e}=this.state;if(0===e.length)return null;const{popupStyle:t,popupPlacement:n,renderItemDivider:s}=this.props;return r.createElement(r.Fragment,null,r.createElement(y,{renderItemDivider:s}),r.createElement(b,{items:e,popupPlacement:n,popupStyle:t}))}recalculate(){var e;const{items:t,lastDisplayedItemsCount:n,firstDisplayedItemsCount:r}=this.props;let s=(null===(e=this.container.current)||void 0===e?void 0:e.offsetWidth)||0;if(this.container.current&&s>0){s+=4;const e=Array.from(this.container.current.querySelectorAll(`.${g("divider")}`)),i=[...Array.from(this.container.current.querySelectorAll(`.${g("switcher")}`)),...Array.from(this.container.current.querySelectorAll(`.${g("item")}`))],o=i.map(((e,t)=>e.scrollWidth+(t===i.length-1?4:8))),a=e.map((e=>e.offsetWidth));let l=o.reduce(((e,t,r,s)=>{const i=s.length-1===r,o=n===C.Two&&s.length-2===r;return i||o?e+Math.min(t,200):e+t}),0)+a.reduce(((e,t)=>e+t),0),c=1;for(;l>s&&c<i.length-n;)1===c&&(l+=34+a[c]),l-=o[c]+a[c],c++;this.setState({calculated:!0,visibleItems:t.slice(c-(1-r)),hiddenItems:t.slice(r,c-(1-r))})}}}w.defaultProps={popupPlacement:["bottom","top"]}}}]);
|
2
|
+
//# sourceMappingURL=1110.a7382226.chunk.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"js/1110.a7382226.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/PageCounter/PageCounter.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnHeader/ColumnHeader.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/ColumnSelector.js","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/modal-no-content.svg","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelectorModal/ColumnSelectorModal.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/controls/RoleListControl/utils.ts","webpack://@ytsaurus/ui/./src/ui/components/Dialog/DialogError.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/index.tsx","webpack://@ytsaurus/ui/./src/ui/hocs/withDelayedMount.tsx","webpack://@ytsaurus/ui/./src/ui/components/EditableAsText/EditableAsText.tsx","webpack://@ytsaurus/ui/./src/ui/components/Favourites/Favourites.tsx","webpack://@ytsaurus/ui/./src/ui/components/SortIcon/SortIcon.tsx","webpack://@ytsaurus/ui/./src/ui/components/Text/Text.tsx","webpack://@ytsaurus/ui/./src/ui/hocs/withSplit.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryWidget/side-panel.tsx","webpack://@ytsaurus/ui/./src/ui/store/selectors/chaos_cell_bundles/index.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/chyt/index.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/favourites.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/thor/unipika.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/bars-descending-align-left.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Breadcrumbs/BreadcrumbsButton.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Breadcrumbs/BreadcrumbsItem.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Breadcrumbs/i18n/index.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Breadcrumbs/BreadcrumbsMore.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Breadcrumbs/BreadcrumbsSeparator.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Breadcrumbs/Breadcrumbs.js"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\n\nconst block = cn('yt-page-counter');\n\nexport interface PageCounterProps {\n className?: string;\n pageIndex?: number;\n pageCount?: number;\n}\n\nfunction PageCounter({pageIndex, pageCount, className}: PageCounterProps) {\n if (pageIndex === undefined || pageCount === undefined) {\n return null;\n }\n\n return pageCount! > 1 ? (\n <span className={block(null, className)}>\n Page: {(pageIndex || 0) + 1} / {pageCount}\n </span>\n ) : null;\n}\n\nexport default React.memo(PageCounter);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport capitalize_ from 'lodash/capitalize';\n\nimport barsDescendingSvg from '@gravity-ui/icons/svgs/bars-descending-align-left.svg';\nimport {Button, DropdownMenu, Icon, Text} from '@gravity-ui/uikit';\n\nimport SortIcon from '../../components/SortIcon/SortIcon';\n\nimport {OrderType, calculateNextOrderValue, nextSortOrderValue} from '../../utils/sort-helpers';\nimport PageCounter, {PageCounterProps} from '../../components/PageCounter/PageCounter';\nimport Loader from '../../components/Loader/Loader';\nimport {rumLogError} from '../../rum/rum-counter';\n\nimport './ColumnHeader.scss';\n\nconst block = cn('column-header');\n\nexport type ColumnInfo<T> = {\n column: T;\n title?: string;\n shortTitle?: string;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n allowUnordered?: boolean;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n withUndefined?: boolean;\n allowedOrderTypes?: Array<OrderType>;\n};\n\nexport type HasSortColumn<T> =\n | (ColumnInfo<T> & {options?: undefined})\n | ({\n title: string;\n shortTitle?: string;\n column: T;\n options: Array<ColumnInfo<T>>;\n } & Partial<Record<keyof Omit<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>, undefined>>);\n\nexport type ColumnHeaderProps<T extends string = string> = PageCounterProps &\n HasSortColumn<T> & {\n className?: string;\n order?: OrderType;\n multisortIndex?: number;\n onSort?: (\n column: T,\n nextOrder: OrderType,\n options: {currentOrder?: OrderType; multisort?: boolean},\n ) => void;\n\n loading?: boolean;\n\n align?: 'center' | 'left' | 'right';\n };\n\ntype NameTitleContent = {\n nameContent: string;\n titleContent: string;\n};\n\nfunction getNameTitle<T extends string>({\n column,\n title,\n shortTitle,\n}: Pick<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>): NameTitleContent {\n const t = title ?? capitalize_(column);\n const nameContent = !shortTitle ? t : shortTitle;\n return {nameContent, titleContent: t};\n}\n\nfunction useColumnInfo<T extends string = string>(\n props: ColumnHeaderProps<T>,\n): ColumnInfo<T> & NameTitleContent & {subColumn?: NameTitleContent} {\n if (props.options === undefined) {\n const {column, allowUnordered, withUndefined, title, shortTitle, allowedOrderTypes} = props;\n return {\n column,\n allowUnordered,\n withUndefined,\n allowedOrderTypes,\n ...getNameTitle({column, title, shortTitle}),\n };\n }\n\n const {column: value, options, title, shortTitle} = props;\n const columnData = options.find(({column}) => value === column)!;\n if (!columnData) {\n rumLogError({\n message: 'Unexpected behavior: missing value in ColumnHeader.props.options',\n additional: props,\n });\n }\n return {\n subColumn: getNameTitle({...columnData}),\n ...columnData,\n ...getNameTitle({column: '', title, shortTitle}),\n };\n}\n\nexport default function ColumnHeader<T extends string = string>(props: ColumnHeaderProps<T>) {\n const {className, align, order, onSort, multisortIndex, loading, pageIndex, pageCount} = props;\n const {\n column,\n allowUnordered,\n withUndefined,\n nameContent,\n titleContent,\n allowedOrderTypes,\n subColumn,\n } = useColumnInfo(props);\n\n const changeHandler = React.useCallback(\n (e: React.MouseEvent) => {\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort?.(column, nextOrder, {\n currentOrder: order,\n multisort: e.ctrlKey || e.metaKey,\n });\n },\n [column, order, onSort, allowUnordered, allowedOrderTypes, withUndefined],\n );\n\n const sortable = Boolean(onSort);\n\n return (\n <div className={block(null, className)}>\n <div\n className={block('label-icon', {sortable, align})}\n onClick={sortable ? changeHandler : undefined}\n >\n <span className={block('label')} title={titleContent}>\n {nameContent}\n </span>\n <span className={block('icon')}>\n <SortIcon hidden={!sortable} order={order} />\n </span>\n {multisortIndex !== undefined && (\n <span className={block('multisort')}>\n <sup>{multisortIndex}</sup>\n </span>\n )}\n {Boolean(order) && Boolean(subColumn) && (\n <Text\n className={block('label', {'sub-column': true})}\n variant=\"caption-2\"\n title={subColumn?.titleContent}\n color=\"dark-secondary\"\n >\n {subColumn?.nameContent}\n </Text>\n )}\n </div>\n <SubColumnSelector options={props.options} order={order} onSort={onSort} />\n {loading !== undefined && (\n <div className={block('loader')}>\n <Loader visible={loading} />\n </div>\n )}\n {Boolean(pageCount) && (\n <PageCounter\n className={block('page-counter')}\n pageIndex={pageIndex}\n pageCount={pageCount}\n />\n )}\n </div>\n );\n}\n\nfunction SubColumnSelector<T extends string>({\n order,\n options,\n onSort,\n}: Pick<ColumnHeaderProps<T>, 'onSort'> & {\n order?: ColumnHeaderProps<T>['order'];\n options?: Array<ColumnInfo<T>>;\n}) {\n return !options ? null : (\n <DropdownMenu\n items={options.map((x) => {\n const {titleContent} = getNameTitle(x);\n return {\n text: titleContent,\n action() {\n if (!onSort) {\n return;\n }\n const {column, allowUnordered, withUndefined, allowedOrderTypes} = x;\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort(column, nextOrder, {\n currentOrder: order,\n });\n },\n };\n })}\n renderSwitcher={({onClick}) => (\n <Button onClick={onClick} view=\"flat\" size=\"xs\">\n <Icon size={12} data={barsDescendingSvg} />\n </Button>\n )}\n />\n );\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {sortableContainer, sortableElement, sortableHandle} from 'react-sortable-hoc';\nimport ReactList from 'react-list';\n\nimport each_ from 'lodash/each';\nimport escapeRegExp_ from 'lodash/escapeRegExp';\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\nimport reduce_ from 'lodash/reduce';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../../components/Icon/Icon';\n\nimport {renderText} from '../../components/templates/utils';\n\nimport './ColumnSelector.scss';\nimport Button from '../Button/Button';\n\nconst b = cn('column-selector');\n\nexport function makeItemsCopy(items) {\n return map_(items, (item) => {\n return {...item};\n });\n}\n\nconst DragHandle = sortableHandle(() => (\n <div className={b('drag-handle')}>\n <Icon face=\"solid\" awesome=\"list\" />\n </div>\n));\n\nconst SortableItem = sortableElement(\n ({\n item,\n isSortable,\n isSelectable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n withClickableHandler,\n }) => {\n const active = !isDisabled && !item.disabled;\n const className = b('list-item', {\n selected: item.checked && active && 'yes',\n selectable: isSelectable && active && 'yes',\n disabled: !active && 'yes',\n });\n\n return (\n <div className={className}>\n {isSortable && item.checked && <DragHandle />}\n <div className={b('list-item-name')}>\n {item.keyColumn && <Icon awesome=\"key\" />}\n {itemRenderer(item)}\n </div>\n {active && withClickableHandler && (\n <span\n className={b('list-item-check')}\n onClick={onCheckBoxChange}\n data-item={item.name}\n >\n <Icon awesome=\"check\" />\n </span>\n )}\n {!active && <Icon className={b('list-item-lock')} awesome=\"lock\" />}\n </div>\n );\n },\n);\n\nconst SortableList = sortableContainer(\n ({\n items,\n isSortable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n isSelectable,\n useStaticSize,\n withClickableHandler = true,\n }) => {\n const renderer = (index, key) => {\n const item = items[index];\n return (\n <SortableItem\n key={key}\n index={index}\n item={item}\n disabled={!isSortable}\n isSortable={isSortable}\n isDisabled={isDisabled}\n isSelectable={isSelectable}\n itemRenderer={itemRenderer}\n onCheckBoxChange={onCheckBoxChange}\n withClickableHandler={withClickableHandler}\n />\n );\n };\n // Use 'simple' placement for draggable items because 'uniform' produces bugs when items are dragged outside the viewport\n const type = isSortable ? 'simple' : 'uniform';\n const mods = {'static-size': useStaticSize};\n\n return (\n <div className={b('list', mods)}>\n <ReactList itemRenderer={renderer} length={items.length} type={type} />\n </div>\n );\n },\n);\n\nexport default class ColumnSelector extends Component {\n static itemsProps = PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n keyColumn: PropTypes.bool,\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n }),\n );\n\n static propTypes = {\n className: PropTypes.string,\n items: ColumnSelector.itemsProps.isRequired,\n showDisabledItems: PropTypes.bool,\n isSortable: PropTypes.bool,\n isSelectable: PropTypes.bool,\n isFilterable: PropTypes.bool,\n showSelectedOnly: PropTypes.bool,\n isHeadless: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n children: PropTypes.node,\n itemRenderer: PropTypes.func,\n };\n\n static defaultProps = {\n itemRenderer: ({name, caption = name}) => renderText(caption, {asHTML: false}),\n isSortable: false,\n isHeadless: false,\n isSelectable: true,\n isFilterable: true,\n showSelectedOnly: false,\n };\n\n constructor(props) {\n const {items, isHeadless, showSelectedOnly} = props;\n super(props);\n\n const state = {\n showSelectedOnly,\n filter: '',\n };\n if (isHeadless) {\n Object.assign(state, {items: makeItemsCopy(items)});\n }\n this.state = state;\n }\n\n get items() {\n return this.props.isHeadless ? this.state.items : this.props.items;\n }\n\n get buttonALLisDisabled() {\n return this.items.every((item) => item.checked);\n }\n\n get buttonNONEisDisabled() {\n return !this.items.some((item) => item.checked);\n }\n\n /*\n Takes items from the proper place (props or state), modifies them and writes them back at the same place.\n */\n withActualItems(func) {\n const {onChange} = this.props;\n // headless widget keeps its state to itself, but calls onChange as a way of notifying caller about changes\n if (this.props.isHeadless) {\n const {items} = func({items: this.state.items || []});\n this.setState({items}, () => {\n onChange({items: [...this.state.items]});\n });\n } else {\n // widget inside modal passes all changes to the modal component where they are put into state\n const {items} = func({items: this.props.items || []});\n onChange({items: [...items]});\n }\n }\n\n toggleItem = (name) => {\n this.withActualItems(({items}) => {\n items = [...items];\n const index = items.findIndex((item) => item.name === name);\n const changedItem = items[index];\n items[index] = {...changedItem, checked: !changedItem.checked};\n\n return {items};\n });\n };\n\n selectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (!item.checked && !item.disabled) {\n items[index] = {...item, checked: true};\n }\n });\n\n return {items};\n });\n };\n\n deselectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (item.checked && !item.disabled) {\n items[index] = {...item, checked: false};\n }\n });\n\n return {items};\n });\n };\n\n invertItems = () => {\n this.withActualItems(({items}) => {\n const visibleItems = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleItems[item.name]) {\n return;\n }\n if (!item.disabled) {\n items[index] = {...item, checked: !item.checked};\n }\n });\n\n return {items};\n });\n };\n\n _handleCheckBoxChange = (event) => {\n this.toggleItem(event.currentTarget.getAttribute('data-item'));\n };\n\n _handleSortEnd = ({oldIndex, newIndex}) => {\n if (oldIndex === newIndex) {\n return;\n }\n\n this.withActualItems(({items}) => {\n items = [...items];\n\n const {items: visibleItems} = this.getVisibleItems();\n const fromIndex = items.findIndex((item) => item.name === visibleItems[oldIndex].name);\n const toIndex = items.findIndex((item) => item.name === visibleItems[newIndex].name);\n\n const [removed] = items.splice(fromIndex, 1);\n items.splice(toIndex, 0, removed);\n\n return {items};\n });\n };\n\n _handleDefaultSort = () => {\n this.withActualItems(({items}) => {\n return {\n items: items.sort((a, b) => {\n const aCaption = a.caption || a.name;\n const bCaption = b.caption || b.name;\n\n return aCaption.localeCompare(bCaption);\n }),\n };\n });\n };\n\n _toggleShownItems = () => {\n this.setState((prevState) => ({\n showSelectedOnly: !prevState.showSelectedOnly,\n }));\n };\n\n _changeFilter = (filter) => {\n this.setState({filter});\n };\n\n renderSearchBox() {\n return (\n <TextInput\n placeholder=\"Search...\"\n onUpdate={this._changeFilter}\n value={this.state.filter}\n hasClear={true}\n />\n );\n }\n\n renderControls() {\n const {isFilterable, isSelectable, isSortable, isHeadless} = this.props;\n const btnProps = {\n size: 'm',\n className: b('controls-item'),\n };\n\n return (\n <div className={b('controls')}>\n {isFilterable && this.renderSearchBox()}\n {isHeadless && (\n <Button {...btnProps} onClick={this._toggleShownItems}>\n Selected \n <span className=\"elements-secondary-text\">\n {filter_(this.items, (item) => item.checked).length}\n </span>\n </Button>\n )}\n {isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonALLisDisabled}\n onClick={this.selectAllItems}\n >\n Add all\n </Button>\n )}\n {isSelectable && (\n <Button {...btnProps} onClick={this.invertItems}>\n Invert list\n </Button>\n )}\n {!isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonNONEisDisabled}\n onClick={this.deselectAllItems}\n >\n Remove all\n </Button>\n )}\n {isSortable && (\n <Button {...btnProps} onClick={this._handleDefaultSort}>\n Default sort\n </Button>\n )}\n </div>\n );\n }\n\n filterItemsByName(items) {\n const re = new RegExp(escapeRegExp_(this.state.filter), 'i');\n return filter_(items, (item) => re.test(item.name));\n }\n\n filterItems(items) {\n const {showDisabledItems} = this.props;\n items = showDisabledItems ? items : filter_(items, (item) => !item.disabled);\n\n const visibleItems = this.filterItemsByName(items);\n return this.state.showSelectedOnly\n ? filter_(visibleItems, (item) => item.checked)\n : visibleItems;\n }\n\n getVisibleItems() {\n const toSplit = this.filterItems(this.items);\n const [keyItems, items] = partition_(toSplit, (item) => item.keyColumn);\n return {items, keyItems};\n }\n\n getVisibleItemsMap() {\n return reduce_(\n this.filterItems(this.items),\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {},\n );\n }\n\n renderList() {\n const {isSortable, isSelectable, itemRenderer, children, isHeadless} = this.props;\n\n const {items, keyItems} = this.getVisibleItems();\n\n const className = b(\n 'content',\n {\n headless: isHeadless ? undefined : 'no',\n empty: items.length ? undefined : 'yes',\n },\n 'pretty-scroll',\n );\n\n return (\n <div className={className}>\n {keyItems.length > 0 && (\n <React.Fragment>\n <SortableList\n lockAxis=\"y\"\n isDisabled={false}\n isSortable={false}\n isSelectable={isSelectable}\n items={keyItems}\n itemRenderer={itemRenderer}\n helperClass={b('list-item', {helper: 'yes'})}\n onCheckBoxChange={this._handleCheckBoxChange}\n />\n {items.length > 0 && <div className={b('separator')} />}\n </React.Fragment>\n )}\n {items.length > 0 && (\n <SortableList\n items={items}\n isSelectable={isSelectable}\n isSortable={isSortable}\n itemRenderer={itemRenderer}\n lockAxis=\"y\"\n helperClass={b('list-item', {helper: 'yes'})}\n onSortEnd={this._handleSortEnd}\n onCheckBoxChange={this._handleCheckBoxChange}\n useDragHandle\n />\n )}\n {!keyItems.length && !items.length && children}\n </div>\n );\n }\n\n render() {\n const {isHeadless, isSortable, className} = this.props;\n const classNames = b(\n {\n headless: isHeadless ? 'yes' : undefined,\n sortable: isSortable ? undefined : 'no',\n },\n className,\n );\n return (\n <div className={classNames}>\n {this.renderControls()}\n {this.renderList()}\n </div>\n );\n }\n}\n","const SvgModalNoContent = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 194 194\" {...props}><g fill=\"none\" fillRule=\"evenodd\" stroke=\"#999\" opacity={0.22}><path strokeWidth={2} d=\"M97.116 188.443h1v1h-1zM96.424 185.293h1.1v1h-1.1zM95.374 182.143h2.34v1h-2.34zM94.324 178.993h4.2v1h-4.2zM93.273 175.842h6.679v1h-6.679zM91.173 172.692h9.779v1h-9.779zM89.597 169.542h13.499v1H89.597zM87.496 166.391h17.839v1H87.496zM84.871 163.241h22.798v1H84.871zM81.719 160.091h28.998v1H81.719zM78.043 156.94h35.817v1H78.043zM73.842 153.623h45.117v1H73.842z\" /><ellipse cx={96.77} cy={96.61} strokeWidth={8} rx={92.403} ry={92.61} /><ellipse cx={96.669} cy={96.371} strokeWidth={4} rx={37.057} ry={37.141} /><ellipse cx={97.269} cy={96.915} strokeWidth={8} rx={11.499} ry={11.532} /><path strokeLinecap=\"square\" strokeWidth={4} d=\"M34.504 34.653 66.12 66.34\" /><path strokeDasharray=\"8,8\" strokeWidth={4} d=\"M33.023 44.104V148.48M160.116 44.104V148.48\" /><path strokeLinecap=\"square\" strokeWidth={4} d=\"M159.603 34.653 127.986 66.34M34.504 159.798l31.617-31.685M159.603 159.798l-31.617-31.685\" /></g></svg>;\nexport default SvgModalNoContent;","import React from 'react';\nimport hammer from '../../common/hammer';\nimport block from 'bem-cn-lite';\n\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\nimport Modal from '../Modal/Modal';\nimport ColumnSelector, {makeItemsCopy} from '../ColumnSelector/ColumnSelector';\nimport NoContentImage from '../../assets/img/svg/modal-no-content.svg';\n\nimport './ColumnSelectorModal.scss';\n\nconst b = block('column-selector-modal');\n\nexport type ColumnSelectorModalProps<DataT> = {\n items: Array<ColumnSelectorItem<DataT>>;\n srcItems: Array<ColumnSelectorItem<DataT>>;\n isVisible?: boolean;\n onChange: (items: Array<ColumnSelectorItem<DataT>>) => void;\n onConfirm: (items: Array<ColumnSelectorItem<DataT>>) => void;\n onCancel: () => void;\n\n itemRenderer: (item: ColumnSelectorItem<DataT>) => React.ReactNode;\n entity: string;\n};\n\nexport type ColumnSelectorItem<DataT> = {\n name: string;\n checked: boolean;\n data: DataT;\n disabled?: boolean;\n keyColumn?: boolean;\n};\n\ntype Props<T> = ColumnSelectorModalProps<T>;\n\ntype State<T> = Pick<Props<T>, 'items' | 'srcItems'> & {itemsOrder: Array<string>};\n\nexport default class ColumnSelectorModal<T = never> extends React.Component<Props<T>, State<T>> {\n static defaultProps: Partial<Props<unknown>> = {\n entity: 'columns',\n };\n\n state: State<T> = {\n srcItems: this.props.srcItems || this.props.items,\n items: makeItemsCopy(this.props.items),\n itemsOrder: this._getItemsOrder(this.props.items),\n };\n\n // in React 16.3 there is another way to do it: getDerivedStateFromProps;\n // revise this place once received data is managed by Redux\n componentDidUpdate(prevProps: Props<T>) {\n const {items, srcItems} = this.props;\n if (prevProps.items !== items || prevProps.srcItems !== srcItems) {\n // don't update itemsOrder\n this.setState({\n srcItems: srcItems || this.props.items,\n items: this._getOrderedItems(makeItemsCopy(items)),\n });\n }\n }\n\n _handleCONFIRMButtonClick = () => {\n const {items} = this.state;\n this.props.onConfirm(items);\n };\n\n _handleCANCELButtonClick = () => {\n const {items} = this.props;\n const order = this._getItemsOrder(items);\n // reset state to initial on cancel\n this.setState({\n items: this._getOrderedItems(makeItemsCopy(items)),\n itemsOrder: order,\n });\n this.props.onCancel();\n };\n\n _getItemsOrder(items: Props<T>['items']) {\n return map_(items, (item) => item.name);\n }\n\n _getOrderedItems(items: Props<T>['items'], order = this.state.itemsOrder) {\n return items.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n\n _getSelectorProps<P>(props: P, items: Props<T>['items']) {\n return {\n ...props,\n items,\n showDisabledItems: true,\n isHeadless: false,\n isFilterable: true,\n onChange: this.onSourceChange,\n };\n }\n\n _getSortableSelectorProps<P>(props: P, items: Props<T>['items']) {\n return {\n ...props,\n items,\n isSelectable: false,\n isSortable: true,\n showSelectedOnly: true,\n onChange: this.onDestinationChange,\n };\n }\n\n calculateSrcItems(newItemsMap: Record<string, ColumnSelectorItem<T>>) {\n return map_(this.state.srcItems, (item) => {\n const newItem = newItemsMap[item.name];\n\n if (newItem && newItem.checked !== item.checked) {\n return newItem;\n }\n\n return item;\n });\n }\n\n onSourceChange = ({items: newItems}: Pick<Props<T>, 'items'>) => {\n const {items} = this.state;\n const newItemsMap = reduce_(\n newItems,\n (acc, data) => {\n acc[data.name] = data;\n return acc;\n },\n {} as Record<string, ColumnSelectorItem<T>>,\n );\n\n const unchanged: Props<T>['items'] = [];\n const changed: Props<T>['items'] = [];\n forEach_(items, (item) => {\n const newItem = newItemsMap[item.name];\n if (newItem && newItem.checked !== item.checked) {\n const dst = newItem.keyColumn ? unchanged : changed;\n dst.push(newItem);\n } else {\n unchanged.push(item);\n }\n });\n\n const preparedItems = unchanged.concat(changed);\n // don't update itemsOrder\n this.setState({\n items: this._getOrderedItems(preparedItems),\n srcItems: this.calculateSrcItems(newItemsMap),\n });\n };\n\n onDestinationChange = ({items: newItems}: Pick<Props<T>, 'items'>) => {\n const newItemsMap = reduce_(\n newItems,\n (acc, data) => {\n acc[data.name] = data;\n return acc;\n },\n {} as Record<string, ColumnSelectorItem<T>>,\n );\n\n const order = this._getItemsOrder(newItems);\n\n this.setState({\n items: this._getOrderedItems(newItems, order),\n itemsOrder: order,\n srcItems: this.calculateSrcItems(newItemsMap),\n });\n };\n\n renderColumnSelector({\n props,\n title,\n description,\n className,\n }: {\n props: object;\n title: string;\n description: string;\n className?: string;\n }) {\n return (\n <ColumnSelector {...props} className={className}>\n <div className={b('no-content')}>\n <p>\n <strong>{title}</strong>\n </p>\n <p>{description}</p>\n <NoContentImage />\n </div>\n </ColumnSelector>\n );\n }\n\n renderContent() {\n const {isVisible, entity, ...rest} = this.props; // eslint-disable-line\n const {items, srcItems} = this.state;\n\n const headingCN = block('elements-heading')({size: 's'}, b('header'));\n\n const selectorProps = this._getSelectorProps(rest, srcItems);\n const sortableSelectorProps = this._getSortableSelectorProps(selectorProps, items);\n const selectedItemsCount = reduce_(\n sortableSelectorProps.items,\n (acc, item) => (item.disabled || !item.checked ? acc : ++acc),\n 0,\n );\n\n return (\n isVisible && (\n <div className={b()}>\n <div className={b('panel', {left: 'yes'})}>\n <div className={headingCN}>\n All \n <span className=\"elements-secondary-text\">{srcItems.length}</span>\n </div>\n\n {this.renderColumnSelector({\n props: selectorProps,\n title: `No available ${entity}`,\n description: `No ${entity} matching your filtering criteria`,\n })}\n </div>\n\n <div className={b('panel')}>\n <div className={headingCN}>\n Selected \n <span className=\"elements-secondary-text\">{selectedItemsCount}</span>\n </div>\n\n {this.renderColumnSelector({\n props: sortableSelectorProps,\n title: `No selected ${entity}`,\n description: `Add ${entity} you need from the All section.`,\n })}\n </div>\n </div>\n )\n );\n }\n\n render() {\n const {isVisible, entity} = this.props;\n const title = `${hammer.format['FirstUppercase'](entity)} setup`;\n\n return (\n <Modal\n size=\"l\"\n title={title}\n borderless={true}\n visible={isVisible}\n confirmText=\"Apply\"\n onConfirm={this._handleCONFIRMButtonClick}\n onCancel={this._handleCANCELButtonClick}\n content={this.renderContent()}\n contentClassName=\"column-selector-modal-content\"\n />\n );\n }\n}\n","import cn from 'bem-cn-lite';\n\nimport filter_ from 'lodash/filter';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport type {EditableManyListsItemType} from '../../../../components/Dialog';\nimport type {ResponsibleType, RoleConverted} from '../../../../utils/acl/acl-types';\nimport type {PreparedRole} from '../../../../utils/acl';\nimport {RoleListControlProps} from './RoleListControl';\n\nexport const block = cn('role-list-control');\n\nexport function prepareRoleListValue(roles: Array<PreparedRole>, otherMembers: Array<string> = []) {\n const current: typeof roles = [];\n const toAdd: typeof roles = [];\n const toRemove: typeof roles = [];\n const unrecognized: typeof roles = [];\n forEach_(roles, (item) => {\n const {isUnrecognized, isRequested, isApproved, isDepriving} = item;\n if (isUnrecognized) {\n unrecognized.push(item);\n } else if (isDepriving) {\n toRemove.push(item);\n } else if (isApproved || isRequested) {\n toAdd.push(item);\n } else {\n current.push(item);\n }\n });\n\n const currentArr = current.map((item) => prepareItemOfCurrent(item));\n const otherArr = otherMembers.map((item) => ({\n title: item,\n data: {},\n frozen: true,\n }));\n\n return {\n newItems: [],\n current: {title: 'Current', data: currentArr.concat(otherArr)},\n toAdd: {\n title: 'Will be added',\n itemClassName: block('item-to-add'),\n data: toAdd.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n toRemove: {\n title: 'Will be removed',\n itemClassName: block('item-to-remove'),\n data: toRemove.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n unrecognized: {\n title: 'Unrecognized',\n itemClassName: block('item-unrecognized'),\n data: unrecognized.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n };\n}\n\nfunction prepareItemOfCurrent(role: PreparedRole, extraProps: any = {}) {\n return {\n title: role.text || role.value,\n data: role,\n ...extraProps,\n };\n}\n\nexport function roleListValueToSubjectList(\n value: RoleListControlProps['value'],\n): Array<ResponsibleType> {\n const {current, newItems, toAdd} = value;\n return [\n ...newItems,\n ...manyListDataItemToSubjectList(current),\n ...manyListDataItemToSubjectList(toAdd),\n ];\n}\n\nfunction manyListDataItemToSubjectList(\n manyListDataItem: EditableManyListsItemType<RoleConverted>,\n): Array<ResponsibleType> {\n const {data} = manyListDataItem || {};\n return map_(\n filter_(data, ({removed}) => !removed),\n ({data}) => {\n const {type, value} = data || {};\n return {type: type!, value: value!};\n },\n );\n}\n\nexport function extractChangedSubjects(value: {\n current: EditableManyListsItemType<RoleConverted>;\n newItems: Array<ResponsibleType>;\n}) {\n const {current, newItems} = value;\n const added = newItems || [];\n const removed = ((current && current.data) || []).filter(({removed}) => removed);\n return {\n added: added.map(({type, value}) => {\n return type === 'users' ? {user: value} : {group: value};\n }),\n removed: removed.map(({data}) => {\n const {value, type} = data || {};\n return type === 'users' ? {user: value} : {group: value};\n }),\n };\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport type {FORM_ERROR as FormErrorType} from './index';\n\nimport {FIX_MY_TYPE, YTError} from '../../types';\nimport Block from '../../components/Block/Block';\n\nimport compact_ from 'lodash/compact';\nimport map_ from 'lodash/map';\n\nconst block = cn('yt-dialog-error');\n\nexport function DialogError(props: FIX_MY_TYPE) {\n return <Block {...props} className={block()} />;\n}\n\nexport function makeErrorFields(errors: Array<YTError | Error | undefined>) {\n return compact_(\n map_(errors, (error, index) => {\n return error\n ? {\n name: `error_${index}`,\n type: 'block' as const,\n extras: {\n children: <DialogError error={error} />,\n },\n }\n : undefined;\n }),\n );\n}\n\nconst FORM_ERROR: typeof FormErrorType = 'FINAL_FORM/form-error';\n\nexport function makeFormSubmitError(error: YTError) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n}\n","import React from 'react';\nimport withLazyLoading from '../../hocs/withLazyLoading';\nimport {withDelayedMount} from '../../hocs/withDelayedMount';\n\nimport type {\n registerDialogControl as RegisterDialogControlFn,\n registerDialogTabControl as RegisterDialogTabControlFn,\n YTDialogType,\n} from './Dialog';\n\nexport type * from './Dialog';\nexport * from './DialogError';\nexport * from './controls/RoleListControl/utils';\n\nexport function importYTDFDialog() {\n return import(/* webpackChunkName: \"yt-df-dialog\" */ './Dialog');\n}\n\nexport const YTDFDialog = withDelayedMount(\n withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).YTDialog};\n }),\n '',\n ),\n) as YTDialogType;\n\nexport function useControlRegistration(\n fn: (params: {\n registerDialogControl: typeof RegisterDialogControlFn;\n registerDialogTabControl: typeof RegisterDialogTabControlFn;\n }) => void,\n) {\n importYTDFDialog().then(({registerDialogControl, registerDialogTabControl}) => {\n fn({registerDialogControl, registerDialogTabControl});\n });\n}\n\nexport type {RoleListControlProps} from './controls/RoleListControl/RoleListControl';\nexport const RoleListControl = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).RoleListControl};\n }),\n '',\n);\n\nexport const EditableList = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).EditableList};\n }),\n '',\n);\n\nexport const TabFieldVertical = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).TabFieldVertical};\n }),\n '',\n);\n","import React from 'react';\n\n/**\n * The hoc allows to delay mounting until `props.visible == true`.\n * The hoc might be useful to wrap components wrapped by React.lazy\n * @param Component\n * @returns\n */\nexport function withDelayedMount<P extends {visible?: boolean}>(Component: React.ComponentType<P>) {\n return function MountOnFirstVisible(props: P) {\n const [mounted, setMounted] = React.useState(false);\n React.useEffect(() => {\n if (!mounted && props.visible) {\n setMounted(true);\n }\n }, [props.visible, mounted]);\n return !mounted ? null : <Component {...props} />;\n };\n}\n","import React, {useCallback, useEffect} from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../Icon/Icon';\n\nimport './EditableAsText.scss';\nimport Button, {ButtonProps} from '../Button/Button';\nconst block = cn('editable-as-text');\n\ninterface Props {\n className?: string;\n editorClassName?: string;\n\n text?: string;\n children: React.ReactNode;\n onChange: (v?: string) => void;\n disableEdit?: boolean;\n withControls?: boolean;\n cancelOnClose?: boolean;\n openOnClick?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\n saveButtonView?: ButtonProps['view'];\n cancelButtonView?: ButtonProps['view'];\n\n renderEditor?: (props: {\n value?: string;\n onBlur: () => void;\n onChange: (value?: string) => void;\n className?: string;\n onApply: (value?: string) => void;\n }) => React.ReactNode;\n onModeChange?: (isEdit: boolean) => void;\n}\n\nexport function EditableAsText(props: Props) {\n const {\n children,\n onChange,\n text,\n className,\n withControls,\n size,\n disableEdit,\n cancelOnClose,\n openOnClick,\n renderEditor,\n onModeChange,\n saveButtonView = 'normal',\n cancelButtonView = 'normal',\n } = props;\n const [editMode, setEditMode] = React.useState(false);\n const [input, setInput] = React.useState(text || '');\n\n useEffect(() => {\n setInput(text || '');\n }, [text]);\n\n const handleChangeMode = useCallback(\n (isEdit: boolean) => {\n if (onModeChange) onModeChange(isEdit);\n setEditMode(isEdit);\n },\n [onModeChange],\n );\n\n const closeEditMode = React.useCallback(() => {\n handleChangeMode(false);\n if (cancelOnClose) setInput(text || '');\n }, [cancelOnClose, handleChangeMode, text]);\n\n const startTextEdit = useCallback(() => {\n handleChangeMode(true);\n }, [handleChangeMode]);\n\n const handleWrapClick = () => {\n if (!editMode && openOnClick) {\n startTextEdit();\n }\n };\n\n const handleChange = React.useCallback((val?: string) => setInput(val ?? ''), [setInput]);\n\n const applyValue = useCallback(() => {\n handleChangeMode(false);\n onChange(input);\n }, [onChange, handleChangeMode, input]);\n\n const closeAndResetValue = useCallback(() => {\n handleChangeMode(false);\n setInput(text || '');\n }, [handleChangeMode, text]);\n\n const onApply = useCallback(\n (value?: string) => {\n handleChangeMode(false);\n onChange(value);\n },\n [handleChangeMode, onChange],\n );\n\n const handleKeyDown = React.useCallback(\n (evt: React.KeyboardEvent<HTMLElement>) => {\n if (evt.key === 'Enter') {\n applyValue();\n }\n if (evt.key === 'Escape') {\n closeAndResetValue();\n }\n },\n [applyValue, closeAndResetValue],\n );\n\n const controlSize = size ? size : 'm';\n\n return (\n <div\n className={block(null, [className || '', editMode ? 'edit' : ''])}\n onClick={handleWrapClick}\n >\n {editMode ? (\n <>\n {renderEditor ? (\n renderEditor({\n value: input,\n onChange: handleChange,\n className: block('control'),\n onBlur: closeEditMode,\n onApply,\n })\n ) : (\n <TextInput\n className={block('control')}\n autoFocus\n size={controlSize}\n value={input}\n onUpdate={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={closeEditMode}\n />\n )}\n {withControls && (\n <>\n <Button\n className={block('control')}\n view={saveButtonView}\n extraProps={{onMouseDown: applyValue}}\n size={controlSize}\n >\n <Icon awesome={'check'} size={controlSize} />\n </Button>\n <Button\n className={block('control')}\n view={cancelButtonView}\n extraProps={{onMouseDown: closeAndResetValue}}\n size={controlSize}\n >\n <Icon awesome={'times'} size={controlSize} />\n </Button>\n </>\n )}\n </>\n ) : (\n <React.Fragment>\n {children}\n {!disableEdit && (\n <Button\n className={block('control', {type: 'edit'})}\n view=\"outlined\"\n onClick={startTextEdit}\n size={controlSize}\n >\n <Icon awesome={'pencil'} size={controlSize} />\n </Button>\n )}\n </React.Fragment>\n )}\n </div>\n );\n}\n\nexport function EditButton({\n onClick,\n size = 'm',\n}: {\n onClick: () => void;\n size?: ButtonProps['size'];\n}) {\n return (\n <Button className={block('edit-btn')} onClick={onClick} size={size}>\n <Icon awesome={'pencil'} />\n </Button>\n );\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\n\nimport map_ from 'lodash/map';\n\nimport {Button, ButtonProps, DropdownMenu} from '@gravity-ui/uikit';\n\nimport Icon from '../Icon/Icon';\nimport Hotkey from '../../components/Hotkey/Hotkey';\n\nimport './Favourites.scss';\n\nconst b = block('favourites');\n\ninterface Props {\n className?: string;\n isActive: boolean;\n items: Array<FavouritesItem>;\n onItemClick: (item: FavouritesItem) => void;\n toggleDisabled?: boolean;\n onToggle: () => void;\n theme?: 'clear';\n}\n\nexport interface FavouritesItem {\n path: string;\n}\n\ninterface State {\n isActive: boolean;\n}\n\nexport default class Favourites extends Component<Props, State> {\n static itemType = PropTypes.shape({\n path: PropTypes.string,\n });\n\n static propTypes = {\n isActive: PropTypes.bool.isRequired,\n items: PropTypes.arrayOf(Favourites.itemType),\n onItemClick: PropTypes.func,\n toggleDisabled: PropTypes.bool,\n onToggle: PropTypes.func,\n className: PropTypes.string,\n theme: PropTypes.string,\n };\n\n static getDerivedStateFromProps(props: Props, state: State) {\n if (props.isActive !== state.isActive) {\n return {isActive: props.isActive};\n }\n return null;\n }\n\n state = {\n isActive: this.props.isActive,\n };\n\n toggleActive = () => {\n const {onToggle} = this.props;\n\n this.setState((prevState) => ({isActive: !prevState.isActive}));\n onToggle();\n };\n\n onItemClick = (item: FavouritesItem) => {\n const {onItemClick} = this.props;\n onItemClick(item);\n };\n\n renderDropDownMenu() {\n const {items} = this.props;\n\n const dropItems = map_(items, (item) => {\n return {\n text: item.path,\n action: () => this.onItemClick(item),\n };\n });\n if (items.length === 0) {\n dropItems.push({\n action: () => {},\n text: 'No favourites',\n });\n }\n\n const switcher = this.renderButton({\n view: 'normal',\n size: 'm',\n pin: 'brick-round',\n title: 'View favourites',\n children: <Icon awesome=\"angle-down\" />,\n });\n\n return (\n <DropdownMenu\n popupProps={{\n className: b('popup', {empty: items.length === 0}),\n }}\n items={dropItems}\n switcher={switcher}\n />\n );\n }\n\n renderHotkey() {\n return <Hotkey settings={[{keys: 'f', handler: this.toggleActive, scope: 'all'}]} />;\n }\n\n renderButton(buttonProps: ButtonProps & {disabled?: boolean}) {\n const {theme} = this.props;\n const themeProps = !theme ? {} : {view: 'outlined' as const};\n return <Button {...buttonProps} {...themeProps} />;\n }\n\n render() {\n const {toggleDisabled, className, theme} = this.props;\n const {isActive} = this.state;\n\n return (\n <div className={b(null, className)}>\n <div className={b('star-btn', {clear: theme === 'clear'})}>\n {this.renderButton({\n view: 'outlined-info',\n selected: isActive,\n size: 'm',\n pin: theme === 'clear' ? 'round-brick' : 'round-clear',\n title: 'Add to favourites [F]',\n onClick: this.toggleActive,\n disabled: toggleDisabled,\n children: <Icon awesome={isActive ? 'star-alt' : 'star'} />,\n })}\n </div>\n {this.renderDropDownMenu()}\n {this.renderHotkey()}\n </div>\n );\n }\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport format from '../../common/hammer/format';\nimport Icon from '../../components/Icon/Icon';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport {OrderType, nextSortOrderValue} from '../../utils/sort-helpers';\n\nimport './SortIcon.scss';\n\nconst block = cn('sort-icon');\n\nconst ICON_BY_TYPE = {\n ['']: 'sort',\n asc: 'sort-up',\n desc: 'sort-down',\n 'asc-undefined': 'arrow-to-bottom',\n 'desc-undefined': 'arrow-from-bottom',\n 'undefined-asc': 'arrow-from-top',\n 'undefined-desc': 'arrow-to-top',\n} as const;\n\ninterface Props {\n className?: string;\n label?: string;\n onChange?: (nextOrder: OrderType) => void;\n order?: OrderType;\n hidden?: boolean;\n allowUnordered?: boolean;\n withUndefined?: boolean;\n}\n\nexport default class SortIcon extends React.Component<Props> {\n onClick = () => {\n const {order, onChange, allowUnordered, withUndefined} = this.props;\n if (!onChange) {\n return;\n }\n\n const nextOrder = nextSortOrderValue(order, allowUnordered, withUndefined);\n onChange(nextOrder);\n };\n\n render() {\n const {className, label, order, hidden} = this.props;\n const icon = ICON_BY_TYPE[order || ''];\n\n return (\n <span className={block({hidden}, className)} onClick={this.onClick}>\n {label && <span className={block('label')}>{label}</span>}\n <Tooltip\n className={block('icon')}\n content={order ? format.ReadableField(order) : 'Unordered'}\n >\n <Icon awesome={icon} face=\"solid\" />\n </Tooltip>\n </span>\n );\n }\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport './Text.scss';\nimport unipika from '../../common/thor/unipika';\nimport {UNIPIKA_ESCAPED_SETTINGS} from '../../utils';\n\nconst block = cn('yt-text');\n\ninterface Props {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function Secondary({children, disabled}: Props & {disabled?: boolean}) {\n return <span className={block('secondary', {disabled})}>{children}</span>;\n}\n\nexport function Bold({children}: Props) {\n return <span className={block('bold')}>{children}</span>;\n}\n\nexport function SecondaryBold({children}: Props) {\n return (\n <Secondary>\n <Bold>{children}</Bold>\n </Secondary>\n );\n}\n\nexport function Warning({children, className}: Props) {\n return <span className={block('warning', className)}>{children}</span>;\n}\n\nexport function NoWrap({children}: Props) {\n return <span className={block('no-wrap')}>{children}</span>;\n}\n\nexport function Escaped({text}: {text: string}) {\n const textNode = unipika.prettyprint(text, {\n ...UNIPIKA_ESCAPED_SETTINGS,\n asHTML: true,\n });\n return <span className={block('escaped')} dangerouslySetInnerHTML={{__html: textNode}} />;\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport {getDisplayName} from '../utils';\nimport {SPLIT_PANE_ID} from '../constants/index';\n\nexport default function withSplit<P>(Component: React.ComponentType<P>) {\n return class WithSplit extends React.Component<P> {\n static displayName = `WithSplit(${getDisplayName(Component)})`;\n\n render() {\n return ReactDOM.createPortal(\n <Component {...this.props} />,\n document.getElementById(SPLIT_PANE_ID)!,\n );\n }\n };\n}\n","import React from 'react';\nimport {useDispatch} from 'react-redux';\n\nimport withSplit from '../../../hocs/withSplit';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\nimport type {QueryWidgetProps} from './index';\nimport {mergeScreen, splitScreen} from '../../../store/actions/global';\nimport {SPLIT_TYPE} from '../../../constants/components/nodes/nodes';\nimport Loader from '../../../components/Loader/Loader';\n\nexport const QueryWidgetLazy = React.lazy(\n () => import(/* webpackChunkName: \"query-widget\" */ './index'),\n);\n\nexport const QueryWidgetPortal = withSplit(\n withLazyLoading<QueryWidgetProps>(QueryWidgetLazy, <Loader visible centered size=\"l\" />),\n);\n\nexport function useQueryWidgetSidePanel() {\n const [widgetOpened, setWidgetOpened] = React.useState(false);\n const dispatch = useDispatch();\n\n const openWidget = React.useCallback(() => {\n dispatch(splitScreen(SPLIT_TYPE));\n setWidgetOpened(true);\n }, [setWidgetOpened, dispatch]);\n\n const onClose = React.useCallback(() => {\n setWidgetOpened(false);\n dispatch(mergeScreen());\n }, [setWidgetOpened, dispatch]);\n\n return {\n closeWidget: onClose,\n openWidget,\n widgetOpened,\n widgetContent: widgetOpened ? <QueryWidgetPortal onClose={onClose} /> : null,\n };\n}\n","import filter_ from 'lodash/filter';\nimport find_ from 'lodash/find';\nimport map_ from 'lodash/map';\nimport uniq_ from 'lodash/uniq';\n\nimport {createSelector} from 'reselect';\n\nimport {concatByAnd} from '../../../common/hammer/predicate';\nimport type {RootState} from '../../../store/reducers';\nimport type {ChaosBundle, ChaosCell} from '../../../store/reducers/chaos_cell_bundles';\nimport {getCluster} from '../../../store/selectors/global';\nimport {\n aggregateTotal,\n tabletActiveChaosBundleLink,\n tabletChaosBundleRootLink,\n} from '../../../utils/components/tablet-cells';\nimport {prepareHost} from '../../../utils';\nimport {sortArrayBySortState} from '../../../utils/sort-helpers';\nimport {sortTableBundles} from '../../../utils/tablet_cell_bundles';\n\nexport const getChaosIsLoaded = (state: RootState) => state.chaos_cell_bundles.loaded;\nexport const getChaosIsLoading = (state: RootState) => state.chaos_cell_bundles.loading;\nexport const getChaosError = (state: RootState) => state.chaos_cell_bundles.error;\n\nexport const getChaosBundlesSortState = (state: RootState) => state.chaos_cell_bundles.bundlesSort;\n\nexport const getChaosBundlesNameFilter = (state: RootState) =>\n state.chaos_cell_bundles.bundlesNameFilter;\nexport const getChaosBundlesAccountFilter = (state: RootState) =>\n state.chaos_cell_bundles.bundlesAccountFilter;\nexport const getChaosBundlesTagNodeFilter = (state: RootState) =>\n state.chaos_cell_bundles.bundlesTagNodeFilter;\n\nexport const getChaosBundles = (state: RootState) => state.chaos_cell_bundles.bundles;\n\nexport const getChaosActiveBundle = (state: RootState) => state.chaos_cell_bundles.activeBundle;\n\nexport const getChaosBundlesTableMode = (state: RootState) =>\n state.chaos_cell_bundles.bundlesTableMode;\n\nexport const getChaosActiveBundleData = createSelector(\n [getChaosBundles, getChaosActiveBundle],\n (bundles, activeBundle) => {\n return find_(bundles, (item) => item.bundle === activeBundle);\n },\n);\n\nexport const getChaosBundlesTotal = createSelector(\n [getChaosBundles],\n (bundles): ChaosBundle => aggregateTotal(bundles),\n);\n\nconst COLUMNS_SORTABLE_AS_IS = new Set<keyof ChaosBundle>([\n 'bundle',\n 'health',\n 'tabletCells',\n 'tablets',\n 'uncompressed',\n 'compressed',\n 'enable_bundle_balancer',\n 'node_tag_filter',\n 'memory',\n 'tablet_count',\n 'tablet_count_limit',\n 'tablet_count_free',\n 'tablet_count_percentage',\n 'tablet_static_memory',\n 'tablet_static_memory_limit',\n 'tablet_static_memory_free',\n 'tablet_static_memory_percentage',\n]);\n\nexport const getChaosBundlesFiltered = createSelector(\n [\n getChaosBundles,\n getChaosBundlesNameFilter,\n getChaosBundlesAccountFilter,\n getChaosBundlesTagNodeFilter,\n ],\n (bundles, nameFilter, accountFilter, tagNodeFilter) => {\n const predicates: Array<(item: ChaosBundle) => boolean> = [];\n if (nameFilter) {\n const lowerNameFilter = nameFilter.toLowerCase();\n predicates.push((item) => {\n return -1 !== item.bundle.toLowerCase().indexOf(lowerNameFilter);\n });\n }\n\n if (accountFilter) {\n const lowerAccountFilter = accountFilter.toLowerCase();\n predicates.push((item) => {\n const {changelog_account, snapshot_account} = item;\n return (\n (Boolean(changelog_account) &&\n -1 !== changelog_account.toLowerCase().indexOf(lowerAccountFilter)) ||\n (Boolean(snapshot_account) &&\n -1 !== snapshot_account.toLowerCase().indexOf(lowerAccountFilter))\n );\n });\n }\n\n if (tagNodeFilter) {\n const lowerTagNodeFilter = tagNodeFilter.toLowerCase();\n predicates.push((item) => {\n const {node_tag_filter} = item;\n return (\n Boolean(node_tag_filter) &&\n -1 !== node_tag_filter.toLowerCase().indexOf(lowerTagNodeFilter)\n );\n });\n }\n\n return !predicates.length ? bundles : filter_(bundles, concatByAnd(...predicates));\n },\n);\n\nexport const getChaosBundlesSorted = createSelector(\n [getChaosBundlesFiltered, getChaosBundlesSortState],\n (bundles, {column, order}) => {\n if (!column || !order) {\n return bundles;\n }\n\n return sortTableBundles({bundles, column, order, columnsSortable: COLUMNS_SORTABLE_AS_IS});\n },\n);\n\nexport const getChaosCells = (state: RootState) => state.chaos_cell_bundles.cells;\nexport const getChaosCellsSortState = (state: RootState) => state.chaos_cell_bundles.cellsSort;\n\nexport const getChaosCellsIdFilter = (state: RootState) => state.chaos_cell_bundles.cellsIdFilter;\nexport const getChaosCellsBundleFilter = (state: RootState) =>\n state.chaos_cell_bundles.cellsBundleFilter;\nexport const getChaosCellsHostFilter = (state: RootState) =>\n state.chaos_cell_bundles.cellsHostFilter;\n\nexport const getChaosCellsOfActiveAccount = createSelector(\n [getChaosCells, getChaosActiveBundle],\n (cells, activeBundle) => {\n if (!activeBundle) {\n return cells;\n }\n\n return filter_(cells, (item) => {\n return Boolean(item.bundle) && activeBundle === item.bundle;\n });\n },\n);\n\nexport const getChaosCellsFiltered = createSelector(\n [\n getChaosCellsOfActiveAccount,\n getChaosCellsIdFilter,\n getChaosCellsBundleFilter,\n getChaosCellsHostFilter,\n getChaosActiveBundle,\n ],\n (cells, idFilter, bundleFilter, hostFilter) => {\n const predicates: Array<(item: ChaosCell) => boolean> = [];\n if (idFilter) {\n predicates.push((item) => {\n return -1 !== item.id.indexOf(idFilter);\n });\n }\n\n if (bundleFilter) {\n predicates.push((item) => {\n return Boolean(item.bundle) && -1 !== item.bundle.indexOf(bundleFilter);\n });\n }\n\n if (hostFilter) {\n predicates.push((item) => {\n return Boolean(item.peerAddress) && -1 !== item.peerAddress.indexOf(hostFilter);\n });\n }\n return !predicates.length ? cells : filter_(cells, concatByAnd(...predicates));\n },\n);\n\nexport function filterChaosCellsByBundle(bundle: string, cells: Array<ChaosCell>) {\n if (!bundle) {\n return [];\n }\n\n return filter_(cells, (item) => item.bundle === bundle);\n}\n\nexport const getChaosCellsSorted = createSelector(\n [getChaosCellsFiltered, getChaosCellsSortState],\n (cells, sortState) => {\n return sortArrayBySortState(cells, sortState);\n },\n);\n\nexport const getChaosCellsBundles = createSelector([getChaosCells], (cells) => {\n return uniq_(map_(cells, 'bundle')).sort();\n});\n\nexport const getChaosCellsHosts = createSelector([getChaosCellsOfActiveAccount], (cells) => {\n return uniq_(map_(cells, 'peerAddress')).sort();\n});\n\nexport const getChaosCellsHostsOfActiveBundle = createSelector(\n [getChaosActiveBundle, getChaosCellsFiltered],\n (activeBundle: string, cells: Array<ChaosCell>) => {\n if (!activeBundle) {\n return '';\n }\n return prepareHostsFromCells(cells);\n },\n);\n\nexport function prepareHostsFromCells(cells: Array<ChaosCell>) {\n return uniq_(map_(cells, ({peerAddress}) => prepareHost(peerAddress)).filter(Boolean))\n .sort()\n .join('|');\n}\n\nexport interface ChaosCellBundlesBreadcrumbsItem {\n text: string;\n href: string;\n title?: string;\n}\n\nexport const getChaosBreadcrumbItems = createSelector(\n [getCluster, getChaosActiveBundle],\n (cluster, activeBundle): Array<ChaosCellBundlesBreadcrumbsItem> => {\n const res: Array<ChaosCellBundlesBreadcrumbsItem> = [\n {\n text: '',\n href: tabletChaosBundleRootLink(cluster),\n title: '<bundles>',\n },\n ];\n\n if (activeBundle) {\n res.push({\n text: activeBundle,\n href: tabletActiveChaosBundleLink(cluster, activeBundle),\n });\n }\n\n return res;\n },\n);\n","import {createSelector} from 'reselect';\nimport uniq_ from 'lodash/uniq';\nimport compact_ from 'lodash/compact';\n\nimport {concatByAnd} from '../../../common/hammer/predicate';\n\nimport {RootState} from '../../../store/reducers';\nimport {ChytInfo} from '../../../store/reducers/chyt/list';\nimport {SortState} from '../../../types';\nimport {multiSortBySortStateArray} from '../../../utils/sort-helpers';\nimport {StrawberryListAttributes} from '../../../utils/strawberryControllerApi';\nimport {getSettingsData} from '../settings-base';\n\nexport const getChytListData = (state: RootState) => state.chyt.list.data;\n\nexport const getChytListAvailableCreators = createSelector([getChytListData], (data) => {\n const {items = []} = data;\n return uniq_(items.map((item) => item.creator!)).sort();\n});\n\nexport const getChytListAvailableHealths = createSelector([getChytListData], (data) => {\n const {items = []} = data;\n return compact_(uniq_(items.map((item) => item.health)).sort());\n});\n\nexport const getChytListAvailableStates = createSelector([getChytListData], (data) => {\n const {items = []} = data;\n return uniq_(items.map((item) => item.state!)).sort();\n});\n\nexport const getChytCurrentAlias = (state: RootState) => state.chyt.clique.currentClique;\n\nexport const getChytListFilterAlias = (state: RootState) => state.chyt.listFilters.name;\nexport const getChytListFilterHealth = (state: RootState) => state.chyt.listFilters.health;\nexport const getChytListFilterCreator = (state: RootState) => state.chyt.listFilters.creator;\nexport const getChytListFilterState = (state: RootState) => state.chyt.listFilters.state;\n\ntype ChytListColumns = Exclude<StrawberryListAttributes, 'yt_operation_id'>;\nconst CHYT_LIST_SELECTABLE_COLUMNS: Record<Exclude<ChytListColumns, 'health_reason'>, true> = {\n instance_count: true,\n total_cpu: true,\n total_memory: true,\n creation_time: true,\n stage: true,\n yt_operation_start_time: true,\n yt_operation_finish_time: true,\n speclet_modification_time: true,\n strawberry_state_modification_time: true,\n pool: true,\n health: true,\n creator: true,\n state: true,\n};\n\nexport type ChytSelectableColumn = keyof typeof CHYT_LIST_SELECTABLE_COLUMNS;\n\ntype ChytColumnItem = {checked: boolean; column: ChytListColumns};\n\nexport const getChytListColumnsFromSettings = (state: RootState) => {\n return (\n getSettingsData(state)['global::chyt::list_columns'] ??\n ([\n 'health',\n 'state',\n 'instance_count',\n 'total_cpu',\n 'total_memory',\n 'creator',\n 'creation_time',\n ] as const)\n );\n};\n\nexport const getChytListVisibleColumns = createSelector(\n [getChytListColumnsFromSettings],\n (columns): Array<ChytSelectableColumn> => {\n const userColumns = new Set(columns);\n return compact_(\n columns.map((k) => {\n return CHYT_LIST_SELECTABLE_COLUMNS[\n k as keyof typeof CHYT_LIST_SELECTABLE_COLUMNS\n ] && userColumns.has(k)\n ? (k as ChytSelectableColumn)\n : null;\n }),\n );\n },\n);\n\nexport const getChytListColumns = createSelector(\n [getChytListVisibleColumns],\n (columns): Array<ChytColumnItem> => {\n const userColumns = new Set(columns);\n const res = columns.map((column) => {\n return {checked: true, column};\n });\n\n Object.keys(CHYT_LIST_SELECTABLE_COLUMNS).forEach((k) => {\n const column = k as ChytSelectableColumn;\n if (!userColumns.has(column)) {\n res.push({checked: false, column});\n }\n });\n\n return res;\n },\n);\n\nexport const getChytListTableSortState = (state: RootState) => state.chyt.listFilters.sortState;\n\nexport const getChytListTableSortStateByName = createSelector(\n [getChytListTableSortState],\n (sortState) => {\n return sortState.reduce(\n (acc, item, index) => {\n if (item.column) {\n acc[item.column] = {\n ...item,\n multisortIndex: sortState.length > 1 ? index + 1 : undefined,\n };\n }\n return acc;\n },\n {} as Record<keyof ChytInfo, SortState<keyof ChytInfo> & {multisortIndex?: number}>,\n );\n },\n);\n\nconst getChytFilterPredicate = createSelector(\n [\n getChytListFilterAlias,\n getChytListFilterCreator,\n getChytListFilterState,\n getChytListFilterHealth,\n ],\n (alias, creator, state, health) => {\n const predicates = compact_([\n alias ? (item: ChytInfo) => -1 !== item.alias.indexOf(alias) : undefined,\n creator !== undefined ? (item: ChytInfo) => creator === item.creator : undefined,\n state ? (item: ChytInfo) => state === item.state : undefined,\n health ? (item: ChytInfo) => health === item.health : undefined,\n ]);\n\n return predicates.length ? concatByAnd(...predicates) : undefined;\n },\n);\n\nexport const getChytListTableItems = createSelector(\n [getChytListData, getChytListTableSortState, getChytFilterPredicate],\n (data, sortState, predicate) => {\n const {items = []} = data;\n\n const filteredItems = !predicate ? items : items.filter(predicate);\n\n const sortedItems = multiSortBySortStateArray(filteredItems, sortState);\n\n return sortedItems;\n },\n);\n","import find_ from 'lodash/find';\nimport sortBy_ from 'lodash/sortBy';\n\nimport {createSelector} from 'reselect';\n\nimport {\n getAccountsNS,\n getBundlesNS,\n getChaosBundlesNS,\n getChytNS,\n getClusterNS,\n getSchedulingNS,\n makeGetSetting,\n} from '../../store/selectors/settings';\nimport {SettingName} from '../../../shared/constants/settings';\nimport {getActiveAccount} from '../../store/selectors/accounts/accounts';\nimport {getPath} from '../../store/selectors/navigation';\nimport {getPool, getTree} from '../../store/selectors/scheduling/scheduling';\nimport {getTabletsActiveBundle} from './tablet_cell_bundles';\nimport {getChaosActiveBundle} from './chaos_cell_bundles';\nimport {getChytCurrentAlias} from './chyt';\n\n//************* Selectors for Accounts *****************\n\nexport const getFavouriteAccounts = createSelector(\n [makeGetSetting, getAccountsNS],\n prepareFavourites,\n);\n\nexport const getLastVisitedAccounts = createSelector(\n [makeGetSetting, getAccountsNS],\n prepareLastVisited,\n);\n\nexport const getPopularAccounts = createSelector([getLastVisitedAccounts], preparePopulars);\n\nexport const isActiveAcountInFavourites = createSelector(\n [getActiveAccount, getFavouriteAccounts],\n prepareIsInFavourites,\n);\n\nexport const getFavouriteChyt = createSelector([makeGetSetting, getChytNS], prepareFavourites);\n\nexport const getLastVisitedChyt = createSelector([makeGetSetting, getChytNS], prepareLastVisited);\n\nexport const getPopularChyt = createSelector([getLastVisitedChyt], preparePopulars);\n\nexport const isActiveCliqueInFavourites = createSelector(\n [getChytCurrentAlias, getFavouriteChyt],\n prepareIsInFavourites,\n);\n\n//************* Selectors for Navigation *****************\n\nexport const getFavouritePaths = createSelector([makeGetSetting, getClusterNS], prepareFavourites);\n\nexport const getLastVisitedPaths = createSelector(\n [makeGetSetting, getClusterNS],\n prepareLastVisited,\n);\n\nexport const getPopularPaths = createSelector([getLastVisitedPaths], preparePopulars);\n\nexport const isCurrentPathInFavourites = createSelector(\n [getPath, getFavouritePaths],\n prepareIsInFavourites,\n);\n\n//************* Selectors for Scheduling *****************\n\nexport const getFavouritePools = createSelector(\n [makeGetSetting, getSchedulingNS],\n prepareFavourites,\n);\n\nexport const isActivePoolInFavourites = createSelector(\n [getPool, getTree, getFavouritePools],\n prepareIsPoolInFavourites,\n);\n\n//************* Selectors for Bundles *****************\n\nexport const getFavouriteBundles = createSelector(\n [makeGetSetting, getBundlesNS],\n prepareFavourites,\n);\n\nexport const isActiveBundleInFavourites = createSelector(\n [getTabletsActiveBundle, getFavouriteBundles],\n prepareIsInFavourites,\n);\n\n// ************ Selectors for Chaos bundles ***********\n\nexport const getFavouriteChaosBundles = createSelector(\n [makeGetSetting, getChaosBundlesNS],\n prepareFavourites,\n);\n\nexport const isActiveChaosBundleInFavourites = createSelector(\n [getChaosActiveBundle, getFavouriteChaosBundles],\n prepareIsInFavourites,\n);\n\n//********************** Helpers *************************\n\nfunction prepareFavourites(getSetting, parentNS) {\n const items = getSetting(SettingName.LOCAL.FAVOURITES, parentNS);\n return sortBy_(items, 'path');\n}\n\nfunction prepareLastVisited(settingGetter, parentNS) {\n return settingGetter(SettingName.LOCAL.LAST_VISITED, parentNS) || [];\n}\n\nfunction preparePopulars(lastVisited) {\n return sortBy_(lastVisited, (entry) => -entry.count);\n}\n\nfunction prepareIsInFavourites(value, favourites) {\n return Boolean(find_(favourites, ({path}) => path === value));\n}\n\nfunction prepareIsPoolInFavourites(pool, tree, favourites) {\n return Boolean(find_(favourites, ({path}) => path === `${pool}[${tree}]`));\n}\n","import {createSelector} from 'reselect';\nimport clone_ from 'lodash/clone';\n\nimport {\n getFormat,\n getShowDecoded,\n shouldCompact,\n shouldEscapeWhitespace,\n useBinaryAsHex,\n} from '../../../store/selectors/settings';\nimport {getUnipikaSettingsFromConfig} from '../../../common/thor/unipika-settings';\n\nexport interface YsonSettings {\n format: string;\n showDecoded: boolean;\n compact: boolean;\n escapeWhitespace: boolean;\n binaryAsHex: boolean;\n asHTML: boolean;\n}\n\n/**\n * !!! Do not use this selector directly, result should be copied by another selector !!!\n * unipika.format && unipika.foramtRaw mix different properties into settings-object.\n * So, to minimize side-effects each UI-component should use his-own copy of settings-object.\n */\nconst getYsonSettings = createSelector(\n [getFormat, getShowDecoded, shouldCompact, shouldEscapeWhitespace, useBinaryAsHex],\n (\n format: string,\n showDecoded: boolean,\n compact: boolean,\n escapeWhitespace: boolean,\n binaryAsHex: boolean,\n ): YsonSettings => {\n return {\n format,\n showDecoded,\n compact,\n escapeWhitespace,\n binaryAsHex,\n asHTML: true,\n ...getUnipikaSettingsFromConfig(),\n };\n },\n);\n\nexport const getJobGeneralYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getJobSpecificationYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getTableYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getOperationAttributesYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getOperationExperimentsYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getNavigationMountConfigYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getEditJsonYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getNodeUnrecognizedOptionsYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getPreviewCellYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getFlowSpecYsonSettings = createSelector([getYsonSettings], clone_);\n","const SvgBarsDescendingAlignLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBarsDescendingAlignLeft;","import React from 'react';\nimport { block } from '../utils/cn';\nconst b = block('breadcrumbs');\nexport function BreadcrumbsButton(props) {\n return React.createElement(\"button\", Object.assign({}, props, { type: \"button\", className: b('switcher', { more: true }) }));\n}\n","'use client';\nimport React from 'react';\nimport { Link } from '../Link';\nimport { block } from '../utils/cn';\nimport { BreadcrumbsButton } from './BreadcrumbsButton';\nconst b = block('breadcrumbs');\nfunction Item({ item, isCurrent, isPrevCurrent, renderItemContent, renderItem, }) {\n const children = renderItemContent\n ? renderItemContent(item, isCurrent, isPrevCurrent)\n : item.text;\n if (renderItem) {\n return renderItem({ item, children, isCurrent, isPrevCurrent });\n }\n const itemTitle = item.title || item.text;\n if (isPrevCurrent || !isCurrent) {\n if (item.href !== undefined) {\n return (React.createElement(Link, { key: item.text, view: \"secondary\", href: item.href, title: itemTitle, onClick: item.action, className: b('item', { 'prev-current': isPrevCurrent }) }, children));\n }\n return (React.createElement(BreadcrumbsButton, { key: item.text, title: itemTitle, onClick: item.action }, children));\n }\n return (React.createElement(\"div\", { title: itemTitle, className: b('item', { current: true }) }, children));\n}\nexport const BreadcrumbsItem = React.memo(Item);\nBreadcrumbsItem.displayName = 'Breadcrumbs.Item';\n","import { addComponentKeysets } from '../../utils/addComponentKeysets';\nimport en from './en.json';\nimport ru from './ru.json';\nconst COMPONENT = 'Breadcrumbs';\nexport default addComponentKeysets({ en, ru }, COMPONENT);\n","'use client';\nimport React from 'react';\nimport { DropdownMenu } from '../DropdownMenu';\nimport { block } from '../utils/cn';\nimport { BreadcrumbsButton } from './BreadcrumbsButton';\nimport i18n from './i18n';\nconst b = block('breadcrumbs');\nexport function BreadcrumbsMore({ popupStyle, popupPlacement, items }) {\n return (React.createElement(DropdownMenu, { items: items, popupProps: {\n className: b('popup', {\n staircase: popupStyle === 'staircase',\n }),\n placement: popupPlacement,\n }, renderSwitcher: ({ onClick }) => (React.createElement(BreadcrumbsButton, { title: i18n('label_more'), onClick: onClick }, \"...\")) }));\n}\nBreadcrumbsMore.displayName = 'Breadcrumbs.More';\n","import React from 'react';\nimport { block } from '../utils/cn';\nconst b = block('breadcrumbs');\nexport function BreadcrumbsSeparator({ renderItemDivider }) {\n return (React.createElement(\"div\", { \"aria-hidden\": true, className: b('divider') }, renderItemDivider ? renderItemDivider() : '/'));\n}\nBreadcrumbsSeparator.displayName = 'Breadcrumbs.Separator';\n","'use client';\nimport React from 'react';\nimport _throttle from 'lodash/throttle';\nimport { block } from '../utils/cn';\nimport { BreadcrumbsItem as Item } from './BreadcrumbsItem';\nimport { BreadcrumbsMore } from './BreadcrumbsMore';\nimport { BreadcrumbsSeparator } from './BreadcrumbsSeparator';\nimport './Breadcrumbs.css';\nconst RESIZE_THROTTLE = 200;\nconst MORE_ITEM_WIDTH = 34;\nconst DEFAULT_POPUP_PLACEMENT = ['bottom', 'top'];\nconst GAP_WIDTH = 4;\nconst b = block('breadcrumbs');\nexport var LastDisplayedItemsCount;\n(function (LastDisplayedItemsCount) {\n LastDisplayedItemsCount[LastDisplayedItemsCount[\"One\"] = 1] = \"One\";\n LastDisplayedItemsCount[LastDisplayedItemsCount[\"Two\"] = 2] = \"Two\";\n})(LastDisplayedItemsCount || (LastDisplayedItemsCount = {}));\nexport var FirstDisplayedItemsCount;\n(function (FirstDisplayedItemsCount) {\n FirstDisplayedItemsCount[FirstDisplayedItemsCount[\"Zero\"] = 0] = \"Zero\";\n FirstDisplayedItemsCount[FirstDisplayedItemsCount[\"One\"] = 1] = \"One\";\n})(FirstDisplayedItemsCount || (FirstDisplayedItemsCount = {}));\nexport class Breadcrumbs extends React.Component {\n static prepareInitialState(props) {\n const { firstDisplayedItemsCount } = props;\n return {\n calculated: false,\n rootItem: firstDisplayedItemsCount ? props.items[0] : undefined,\n visibleItems: props.items.slice(firstDisplayedItemsCount),\n hiddenItems: [],\n allItems: props.items,\n };\n }\n static getDerivedStateFromProps(props, state) {\n if (state.allItems !== props.items) {\n return Breadcrumbs.prepareInitialState(props);\n }\n return null;\n }\n constructor(props) {\n super(props);\n this.handleResize = () => {\n const state = Breadcrumbs.prepareInitialState(this.props);\n this.setState(state, this.recalculate);\n };\n this.handleResize = _throttle(this.handleResize, RESIZE_THROTTLE);\n if (typeof window !== 'undefined') {\n this.resizeObserver = new ResizeObserver(this.handleResize);\n }\n this.container = React.createRef();\n this.state = Breadcrumbs.prepareInitialState(props);\n }\n componentDidMount() {\n var _a;\n this.recalculate();\n (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.container.current);\n }\n componentDidUpdate(prevProps) {\n if (prevProps.items !== this.state.allItems) {\n this.recalculate();\n }\n }\n componentWillUnmount() {\n var _a;\n (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n render() {\n const { className, qa } = this.props;\n const { calculated } = this.state;\n return (React.createElement(\"div\", { className: b({ calculated: calculated ? 'yes' : 'no' }, className), \"data-qa\": qa },\n React.createElement(\"div\", { className: b('inner'), ref: this.container },\n this.renderRootItem(),\n this.renderMoreItem(),\n this.renderVisibleItems())));\n }\n renderItem(item, isCurrent, isPrevCurrent, renderItemContent) {\n return (React.createElement(Item, { item: item, isCurrent: isCurrent, isPrevCurrent: isPrevCurrent, renderItemContent: renderItemContent || this.props.renderItemContent, renderItem: this.props.renderItem }));\n }\n renderItemDivider() {\n const { renderItemDivider } = this.props;\n return React.createElement(BreadcrumbsSeparator, { renderItemDivider: renderItemDivider });\n }\n renderRootItem() {\n const { renderRootContent } = this.props;\n const { rootItem, visibleItems } = this.state;\n const isCurrent = visibleItems.length === 0;\n if (!rootItem) {\n return null;\n }\n return this.renderItem(rootItem, isCurrent, false, renderRootContent);\n }\n renderVisibleItems() {\n const { visibleItems } = this.state;\n return visibleItems.map((item, index, items) => {\n const isCurrent = index === items.length - 1;\n const isPrevCurrent = index === items.length - 2;\n return (React.createElement(React.Fragment, { key: index },\n this.renderItemDivider(),\n this.renderItem(item, isCurrent, isPrevCurrent)));\n });\n }\n renderMoreItem() {\n const { hiddenItems } = this.state;\n if (hiddenItems.length === 0) {\n return null;\n }\n const { popupStyle, popupPlacement, renderItemDivider } = this.props;\n return (React.createElement(React.Fragment, null,\n React.createElement(BreadcrumbsSeparator, { renderItemDivider: renderItemDivider }),\n React.createElement(BreadcrumbsMore, { items: hiddenItems, popupPlacement: popupPlacement, popupStyle: popupStyle })));\n }\n recalculate() {\n var _a;\n const { items: allItems, lastDisplayedItemsCount, firstDisplayedItemsCount } = this.props;\n let availableWidth = ((_a = this.container.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 0;\n if (this.container.current && availableWidth > 0) {\n availableWidth += GAP_WIDTH;\n const dividers = Array.from(this.container.current.querySelectorAll(`.${b('divider')}`));\n const items = [\n ...Array.from(this.container.current.querySelectorAll(`.${b('switcher')}`)),\n ...Array.from(this.container.current.querySelectorAll(`.${b('item')}`)),\n ];\n const itemsWidths = items.map((elem, i) => elem.scrollWidth + (i === items.length - 1 ? GAP_WIDTH : GAP_WIDTH * 2));\n const dividersWidths = dividers.map((elem) => elem.offsetWidth);\n const buttonsWidth = itemsWidths.reduce((total, width, index, widths) => {\n const isLastItem = widths.length - 1 === index;\n const isItemBeforeLast = lastDisplayedItemsCount === LastDisplayedItemsCount.Two &&\n widths.length - 2 === index;\n if (isLastItem || isItemBeforeLast) {\n return total + Math.min(width, 200);\n }\n return total + width;\n }, 0);\n const dividersWidth = dividersWidths.reduce((total, width) => total + width, 0);\n let totalWidth = buttonsWidth + dividersWidth;\n let visibleItemsStartIndex = 1;\n while (totalWidth > availableWidth &&\n visibleItemsStartIndex < items.length - lastDisplayedItemsCount) {\n if (visibleItemsStartIndex === 1) {\n totalWidth += MORE_ITEM_WIDTH + dividersWidths[visibleItemsStartIndex];\n }\n totalWidth -=\n itemsWidths[visibleItemsStartIndex] + dividersWidths[visibleItemsStartIndex];\n visibleItemsStartIndex++;\n }\n this.setState({\n calculated: true,\n visibleItems: allItems.slice(visibleItemsStartIndex - (1 - firstDisplayedItemsCount)),\n hiddenItems: allItems.slice(firstDisplayedItemsCount, visibleItemsStartIndex - (1 - firstDisplayedItemsCount)),\n });\n }\n }\n}\nBreadcrumbs.defaultProps = {\n popupPlacement: DEFAULT_POPUP_PLACEMENT,\n};\n"],"names":["block","cn","PageCounter","_ref","pageIndex","pageCount","className","undefined","_jsxs","children","React","getNameTitle","column","title","shortTitle","t","capitalize_","nameContent","titleContent","ColumnHeader","props","align","order","onSort","multisortIndex","loading","_useColumnInfo","options","allowUnordered","withUndefined","allowedOrderTypes","_objectSpread","value","columnData","find","_ref2","rumLogError","message","additional","subColumn","useColumnInfo","changeHandler","e","nextOrder","calculateNextOrderValue","nextSortOrderValue","currentOrder","multisort","ctrlKey","metaKey","sortable","Boolean","onClick","_jsx","SortIcon","hidden","Text","variant","color","SubColumnSelector","Loader","visible","_ref3","DropdownMenu","items","map","x","text","action","renderSwitcher","_ref4","Button","view","size","Icon","data","barsDescendingSvg","b","makeItemsCopy","map_","item","DragHandle","sortableHandle","face","awesome","SortableItem","sortableElement","isSortable","isSelectable","isDisabled","itemRenderer","onCheckBoxChange","withClickableHandler","active","disabled","selected","checked","selectable","keyColumn","name","SortableList","sortableContainer","useStaticSize","_ref2$withClickableHa","type","mods","ReactList","index","key","length","ColumnSelector","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","isHeadless","showSelectedOnly","call","toggleItem","withActualItems","_toConsumableArray","findIndex","changedItem","selectAllItems","visibleMap","getVisibleItemsMap","each_","deselectAllItems","_ref5","invertItems","_ref6","visibleItems","_handleCheckBoxChange","event","currentTarget","getAttribute","_handleSortEnd","_ref7","oldIndex","newIndex","_ref8","getVisibleItems","fromIndex","toIndex","_items$splice","splice","removed","_slicedToArray","_handleDefaultSort","_ref9","sort","a","aCaption","caption","bCaption","localeCompare","_toggleShownItems","setState","prevState","_changeFilter","filter","state","Object","assign","_createClass","get","this","every","some","func","_this2","onChange","TextInput","placeholder","onUpdate","hasClear","_this$props","isFilterable","btnProps","renderSearchBox","filter_","buttonALLisDisabled","buttonNONEisDisabled","re","RegExp","escapeRegExp_","test","showDisabledItems","filterItemsByName","toSplit","filterItems","_partition_","partition_","_partition_2","keyItems","reduce_","acc","_this$props2","_this$getVisibleItems2","headless","empty","lockAxis","helperClass","helper","onSortEnd","useDragHandle","_this$props3","classNames","renderControls","renderList","Component","itemsProps","PropTypes","isRequired","defaultProps","_ref10","_ref10$caption","renderText","asHTML","xmlns","viewBox","fill","fillRule","stroke","opacity","strokeWidth","d","cx","cy","rx","ry","strokeLinecap","strokeDasharray","ColumnSelectorModal","_React$Component","_len","arguments","args","Array","_key","apply","concat","srcItems","itemsOrder","_getItemsOrder","_handleCONFIRMButtonClick","onConfirm","_handleCANCELButtonClick","_getOrderedItems","onCancel","onSourceChange","newItems","newItemsMap","unchanged","changed","forEach_","newItem","push","preparedItems","calculateSrcItems","onDestinationChange","prevProps","indexOf","description","NoContentImage","isVisible","entity","rest","_objectWithoutProperties","_excluded","_this$state","headingCN","selectorProps","_getSelectorProps","sortableSelectorProps","_getSortableSelectorProps","selectedItemsCount","left","renderColumnSelector","hammer","format","Modal","borderless","confirmText","content","renderContent","contentClassName","prepareRoleListValue","roles","otherMembers","current","toAdd","toRemove","unrecognized","isUnrecognized","isRequested","isApproved","isDepriving","currentArr","prepareItemOfCurrent","otherArr","frozen","itemClassName","role","extraProps","roleListValueToSubjectList","manyListDataItemToSubjectList","manyListDataItem","extractChangedSubjects","added","user","group","DialogError","Block","makeErrorFields","errors","compact_","error","extras","FORM_ERROR","makeFormSubmitError","validationErrors","_defineProperty","importYTDFDialog","YTDFDialog","withLazyLoading","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","t0","sent","YTDialog","abrupt","stop","_React$useState","_React$useState2","mounted","setMounted","_callee2","_context2","RoleListControl","EditableList","_callee3","_context3","TabFieldVertical","_callee4","_context4","EditableAsText","withControls","disableEdit","cancelOnClose","openOnClick","renderEditor","onModeChange","_props$saveButtonView","saveButtonView","_props$cancelButtonVi","cancelButtonView","editMode","setEditMode","_React$useState3","_React$useState4","input","setInput","useEffect","handleChangeMode","useCallback","isEdit","closeEditMode","startTextEdit","handleChange","val","applyValue","closeAndResetValue","onApply","handleKeyDown","evt","controlSize","_Fragment","onBlur","autoFocus","onKeyDown","onMouseDown","EditButton","_ref$size","Favourites","isActive","toggleActive","onToggle","onItemClick","dropItems","path","switcher","renderButton","pin","popupProps","Hotkey","settings","keys","handler","scope","buttonProps","themeProps","theme","toggleDisabled","clear","renderDropDownMenu","renderHotkey","itemType","ICON_BY_TYPE","_ICON_BY_TYPE","label","icon","Tooltip","ReadableField","Secondary","Bold","SecondaryBold","Warning","NoWrap","Escaped","textNode","unipika","prettyprint","UNIPIKA_ESCAPED_SETTINGS","dangerouslySetInnerHTML","__html","withSplit","_WithSplit","WithSplit","ReactDOM","document","getElementById","SPLIT_PANE_ID","displayName","getDisplayName","QueryWidgetLazy","QueryWidgetPortal","centered","useQueryWidgetSidePanel","widgetOpened","setWidgetOpened","dispatch","useDispatch","openWidget","splitScreen","SPLIT_TYPE","onClose","mergeScreen","closeWidget","widgetContent","getChaosIsLoaded","chaos_cell_bundles","loaded","getChaosIsLoading","getChaosBundlesSortState","bundlesSort","getChaosBundlesNameFilter","bundlesNameFilter","getChaosBundlesAccountFilter","bundlesAccountFilter","getChaosBundlesTagNodeFilter","bundlesTagNodeFilter","getChaosBundles","bundles","getChaosActiveBundle","activeBundle","getChaosBundlesTableMode","bundlesTableMode","getChaosActiveBundleData","createSelector","find_","bundle","getChaosBundlesTotal","aggregateTotal","COLUMNS_SORTABLE_AS_IS","Set","getChaosBundlesFiltered","nameFilter","accountFilter","tagNodeFilter","predicates","lowerNameFilter","toLowerCase","lowerAccountFilter","changelog_account","snapshot_account","lowerTagNodeFilter","node_tag_filter","concatByAnd","getChaosBundlesSorted","sortTableBundles","columnsSortable","getChaosCells","cells","getChaosCellsSortState","cellsSort","getChaosCellsIdFilter","cellsIdFilter","getChaosCellsBundleFilter","cellsBundleFilter","getChaosCellsHostFilter","cellsHostFilter","getChaosCellsOfActiveAccount","getChaosCellsFiltered","idFilter","bundleFilter","hostFilter","id","peerAddress","filterChaosCellsByBundle","getChaosCellsSorted","sortState","sortArrayBySortState","getChaosCellsBundles","uniq_","getChaosCellsHosts","getChaosCellsHostsOfActiveBundle","prepareHostsFromCells","prepareHost","join","getChaosBreadcrumbItems","getCluster","cluster","res","href","tabletChaosBundleRootLink","tabletActiveChaosBundleLink","getChytListData","chyt","list","getChytListAvailableCreators","_data$items","creator","getChytListAvailableHealths","_data$items2","health","getChytListAvailableStates","_data$items3","getChytCurrentAlias","clique","currentClique","getChytListFilterAlias","listFilters","getChytListFilterHealth","getChytListFilterCreator","getChytListFilterState","CHYT_LIST_SELECTABLE_COLUMNS","instance_count","total_cpu","total_memory","creation_time","stage","yt_operation_start_time","yt_operation_finish_time","speclet_modification_time","strawberry_state_modification_time","pool","getChytListVisibleColumns","_getSettingsData$glob","getSettingsData","columns","userColumns","k","has","getChytListColumns","forEach","getChytListTableSortState","getChytListTableSortStateByName","reduce","getChytFilterPredicate","alias","getChytListTableItems","predicate","_data$items4","filteredItems","multiSortBySortStateArray","getFavouriteAccounts","makeGetSetting","getAccountsNS","prepareFavourites","getLastVisitedAccounts","prepareLastVisited","getPopularAccounts","preparePopulars","isActiveAcountInFavourites","getActiveAccount","prepareIsInFavourites","getFavouriteChyt","getChytNS","getLastVisitedChyt","isActiveCliqueInFavourites","getFavouritePaths","getClusterNS","getLastVisitedPaths","getPopularPaths","isCurrentPathInFavourites","getPath","getFavouritePools","getSchedulingNS","isActivePoolInFavourites","getPool","getTree","tree","favourites","getFavouriteBundles","getBundlesNS","isActiveBundleInFavourites","getTabletsActiveBundle","getFavouriteChaosBundles","getChaosBundlesNS","isActiveChaosBundleInFavourites","getSetting","parentNS","SettingName","LOCAL","FAVOURITES","sortBy_","settingGetter","LAST_VISITED","lastVisited","entry","count","getYsonSettings","getFormat","getShowDecoded","shouldCompact","shouldEscapeWhitespace","useBinaryAsHex","showDecoded","compact","escapeWhitespace","binaryAsHex","getUnipikaSettingsFromConfig","getJobGeneralYsonSettings","clone_","getJobSpecificationYsonSettings","getTableYsonSettings","getOperationAttributesYsonSettings","getOperationExperimentsYsonSettings","getNavigationMountConfigYsonSettings","getEditJsonYsonSettings","getNodeUnrecognizedOptionsYsonSettings","getPreviewCellYsonSettings","getFlowSpecYsonSettings","clipRule","BreadcrumbsButton","more","BreadcrumbsItem","isCurrent","isPrevCurrent","renderItemContent","renderItem","itemTitle","Link","addComponentKeysets","en","BreadcrumbsMore","popupStyle","popupPlacement","staircase","placement","i18n","BreadcrumbsSeparator","renderItemDivider","LastDisplayedItemsCount","FirstDisplayedItemsCount","Breadcrumbs","prepareInitialState","firstDisplayedItemsCount","calculated","rootItem","slice","hiddenItems","allItems","getDerivedStateFromProps","constructor","super","handleResize","recalculate","window","resizeObserver","ResizeObserver","container","componentDidMount","_a","observe","componentDidUpdate","componentWillUnmount","disconnect","render","qa","ref","renderRootItem","renderMoreItem","renderVisibleItems","renderRootContent","lastDisplayedItemsCount","availableWidth","offsetWidth","dividers","from","querySelectorAll","itemsWidths","elem","i","scrollWidth","GAP_WIDTH","dividersWidths","totalWidth","total","width","widths","isLastItem","isItemBeforeLast","Two","Math","min","visibleItemsStartIndex"],"sourceRoot":""}
|