@ytsaurus/ui 1.95.0 → 1.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +1 -0
  2. package/dist/public/build/assets-manifest.json +39 -37
  3. package/dist/public/build/css/1454.e1b6441b.chunk.css +2 -0
  4. package/dist/public/build/css/1454.e1b6441b.chunk.css.map +1 -0
  5. package/dist/public/build/css/333.4b28585f.chunk.css +2 -0
  6. package/dist/public/build/css/333.4b28585f.chunk.css.map +1 -0
  7. package/dist/public/build/css/{3716.f1b13197.chunk.css → 3716.932479b0.chunk.css} +2 -2
  8. package/dist/public/build/css/3716.932479b0.chunk.css.map +1 -0
  9. package/dist/public/build/css/4592.687b04fa.chunk.css +2 -0
  10. package/dist/public/build/css/4592.687b04fa.chunk.css.map +1 -0
  11. package/dist/public/build/css/8944.c58273b7.chunk.css +2 -0
  12. package/dist/public/build/css/8944.c58273b7.chunk.css.map +1 -0
  13. package/dist/public/build/css/{navigation.32b6fca4.chunk.css → navigation.4b7a1ff3.chunk.css} +2 -2
  14. package/dist/public/build/css/navigation.4b7a1ff3.chunk.css.map +1 -0
  15. package/dist/public/build/js/1016.3ced9e8b.chunk.js +2 -0
  16. package/dist/public/build/js/1016.3ced9e8b.chunk.js.map +1 -0
  17. package/dist/public/build/js/2150.647430c7.chunk.js +2 -0
  18. package/dist/public/build/js/2150.647430c7.chunk.js.map +1 -0
  19. package/dist/public/build/js/4776.b922a445.chunk.js.map +1 -1
  20. package/dist/public/build/js/{5082.b1a7f7b1.chunk.js → 5082.b475d219.chunk.js} +2 -2
  21. package/dist/public/build/js/5082.b475d219.chunk.js.map +1 -0
  22. package/dist/public/build/js/cluster-page-wrapper.b7cb91f7.chunk.js +2 -0
  23. package/dist/public/build/js/cluster-page-wrapper.b7cb91f7.chunk.js.map +1 -0
  24. package/dist/public/build/js/dashboard.8850118b.chunk.js +3 -0
  25. package/dist/public/build/js/dashboard.8850118b.chunk.js.map +1 -0
  26. package/dist/public/build/js/main.a609b753.js +3 -0
  27. package/dist/public/build/js/main.a609b753.js.map +1 -0
  28. package/dist/public/build/js/navigation.7e85a761.chunk.js +2 -0
  29. package/dist/public/build/js/navigation.7e85a761.chunk.js.map +1 -0
  30. package/dist/public/build/js/runtime.78bd9bc8.js +2 -0
  31. package/dist/public/build/js/runtime.78bd9bc8.js.map +1 -0
  32. package/dist/public/build/js/scheduling.680c5ca7.chunk.js +2 -0
  33. package/dist/public/build/js/scheduling.680c5ca7.chunk.js.map +1 -0
  34. package/dist/public/build/js/tablet-errors-by-bundle.95473558.chunk.js +2 -0
  35. package/dist/public/build/js/tablet-errors-by-bundle.95473558.chunk.js.map +1 -0
  36. package/dist/public/build/js/{yt-df-dialog.ba05eea6.chunk.js → yt-df-dialog.5aa0b817.chunk.js} +3 -3
  37. package/dist/public/build/js/yt-df-dialog.5aa0b817.chunk.js.map +1 -0
  38. package/dist/public/build/manifest.json +34 -32
  39. package/dist/server/components/requestsSetup.d.ts +1 -1
  40. package/dist/server/components/requestsSetup.js +5 -2
  41. package/dist/server/controllers/yt-tablet-errors-api.js +7 -3
  42. package/dist/shared/tablet-errors-manager.d.ts +1 -0
  43. package/package.json +2 -2
  44. package/dist/public/build/css/1454.cc1b5254.chunk.css +0 -2
  45. package/dist/public/build/css/1454.cc1b5254.chunk.css.map +0 -1
  46. package/dist/public/build/css/333.dc69b4bd.chunk.css +0 -2
  47. package/dist/public/build/css/333.dc69b4bd.chunk.css.map +0 -1
  48. package/dist/public/build/css/3716.f1b13197.chunk.css.map +0 -1
  49. package/dist/public/build/css/6975.7cc85b1a.chunk.css +0 -2
  50. package/dist/public/build/css/6975.7cc85b1a.chunk.css.map +0 -1
  51. package/dist/public/build/css/navigation.32b6fca4.chunk.css.map +0 -1
  52. package/dist/public/build/js/1016.d5d3729e.chunk.js +0 -2
  53. package/dist/public/build/js/1016.d5d3729e.chunk.js.map +0 -1
  54. package/dist/public/build/js/45.12c412c1.chunk.js +0 -2
  55. package/dist/public/build/js/45.12c412c1.chunk.js.map +0 -1
  56. package/dist/public/build/js/5082.b1a7f7b1.chunk.js.map +0 -1
  57. package/dist/public/build/js/cluster-page-wrapper.fe57aae8.chunk.js +0 -2
  58. package/dist/public/build/js/cluster-page-wrapper.fe57aae8.chunk.js.map +0 -1
  59. package/dist/public/build/js/dashboard.0a7085cc.chunk.js +0 -3
  60. package/dist/public/build/js/dashboard.0a7085cc.chunk.js.map +0 -1
  61. package/dist/public/build/js/main.0aacb164.js +0 -3
  62. package/dist/public/build/js/main.0aacb164.js.map +0 -1
  63. package/dist/public/build/js/navigation.f37d6960.chunk.js +0 -2
  64. package/dist/public/build/js/navigation.f37d6960.chunk.js.map +0 -1
  65. package/dist/public/build/js/runtime.f44b62dd.js +0 -2
  66. package/dist/public/build/js/runtime.f44b62dd.js.map +0 -1
  67. package/dist/public/build/js/scheduling.83bb157a.chunk.js +0 -2
  68. package/dist/public/build/js/scheduling.83bb157a.chunk.js.map +0 -1
  69. package/dist/public/build/js/tablet-errors-by-bundle.2dba0b10.chunk.js +0 -2
  70. package/dist/public/build/js/tablet-errors-by-bundle.2dba0b10.chunk.js.map +0 -1
  71. package/dist/public/build/js/yt-df-dialog.ba05eea6.chunk.js.map +0 -1
  72. /package/dist/public/build/js/{dashboard.0a7085cc.chunk.js.LICENSE.txt → dashboard.8850118b.chunk.js.LICENSE.txt} +0 -0
  73. /package/dist/public/build/js/{main.0aacb164.js.LICENSE.txt → main.a609b753.js.LICENSE.txt} +0 -0
  74. /package/dist/public/build/js/{yt-df-dialog.ba05eea6.chunk.js.LICENSE.txt → yt-df-dialog.5aa0b817.chunk.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[1830],{7370:(t,e,o)=>{o.r(e),o.d(e,{TabletErrorsByBundle:()=>K});var r=o(13322),n=o(77810),a=o(15647),s=o(76872),i=o(41655),l=o.n(i),u=o(64772),c=o(56747),d=o(2735),h=o(8208),m=o(9158),p=function(t){return t.tabletErrors.tabletErrorsByBundle.data},f=function(t){return t.tabletErrors.tabletErrorsByBundle.loading},v=function(t){return t.tabletErrors.tabletErrorsByBundle.loaded},b=function(t){return t.tabletErrors.tabletErrorsByBundle.error},k=function(t){return t.tabletErrors.tabletErrorsByBundle.timeRangeFilter},x=function(t){return t.tabletErrors.tabletErrorsByBundle.methodsFilter},A=function(t){return t.tabletErrors.tabletErrorsByBundle.pageFilter},y=function(t){return t.tabletErrors.tabletErrorsByBundle.tablePathFilter},C=function(t){var e;return Math.max(Math.ceil((null!==(e=t.tabletErrors.tabletErrorsByBundle.total_row_count)&&void 0!==e?e:0)/m.k),1)},g=o(76426),N=o(5675),w=o(72902),j=o(40319),S=o(29081),_=o(38756),M=o(67270),R=o(98364),D=o(33023),z=o(30380),F=o(51856),B=o(23134),P=o(13755),U=o(52797),T=new(o(76365).A),E=o(7787),H=o(64922),Y=(0,s.A)("yt-tablet-errors-by-bundle-toolbar");function V(t){var e,o=t.bundle,r=t.className,s=(0,a.wA)(),i=(null!==(e=(0,a.d4)(p))&&void 0!==e?e:{}).all_methods,l=void 0===i?[]:i,u=(0,a.d4)(x),c=(0,a.d4)(k),d=(0,a.d4)(A),h=(0,a.d4)(y),m=(0,a.d4)(C),f=function(t,e){var o=e.timeRangeFilter,r=e.methodsFilter,s=e.pageFilter,i=e.tablePathFilter,l=(0,a.wA)();return n.useEffect((function(){var e,n,a=(0,z.ts)(o),u=a.from,c=a.to;l((e=s,n=(0,j.A)({tablet_cell_bundle:t,start_timestamp:Math.floor(u/1e3),end_timestamp:Math.ceil(c/1e3),methods:r.length?r:void 0},i?{table_path:i}:{}),function(t,o){t(B.Sv.onRequest({bundle:n.tablet_cell_bundle}));var r=o(),a=(0,U.dB)(r),s=p(r);return(0,P.M)("tablet_errors_by_bundle",a,(0,j.A)((0,j.A)({},n),{},{offset:100*e,count_limit:100},0!==e&&null!=s&&s.fixed_end_timestamp?{fixed_end_timestamp:null==s?void 0:s.fixed_end_timestamp}:{}),T.removeAllAndGenerateNextToken()).then((function(o){var r=o.data;t(B.Sv.onSuccess((0,j.A)({data:r},0===e?{total_row_count:r.total_row_count}:{})))})).catch((function(e){t(B.Sv.onError({error:e}))}))}))}),[t,l,o,r,s,i]),(0,z.ts)(o)}(o,{methodsFilter:u,timeRangeFilter:c,pageFilter:d,tablePathFilter:h}),v=f.from,b=f.to;return(0,H.jsxs)("div",{className:Y(null,r),children:[(0,H.jsx)(z.NZ,{from:v,to:b,shortcut:c.shortcutValue,onUpdate:function(t){var e=t.from,o=t.to,r=t.shortcutValue;s(B.Sv.updateFilter({timeRangeFilter:{from:e,to:o,shortcutValue:r}}))},hasRuler:!0}),(0,H.jsx)(D.M,{itemsToWrap:[{node:(0,H.jsx)(R.A,{value:d,min:0,max:Math.max(0,m-1),onChange:function(t){s(B.Sv.updateFilter({pageFilter:t}))}})},{node:(0,H.jsx)(F.A,{className:Y("path-filter"),placeholder:"Table path...",value:h,onUpdate:function(t){s(B.Sv.updateFilter({tablePathFilter:t}))}})},{node:(0,H.jsx)(M.A,{multiple:!0,label:"Methods:",value:u,items:l.map((function(t){return{value:t,text:t}})),onUpdate:function(t){return s(B.Sv.updateFilter({methodsFilter:t}))},placeholder:"Select...",hasClear:!0,maxVisibleValuesTextLength:80})},{node:(0,S.fs)((0,H.jsx)(_.A,{url:E.Ay.docsUrls["bundles:tablet-errors"]}))}]})]})}var I=(0,s.A)("yt-tablet-errors-by-bunlde");function K(t){var e=t.bundle,o=(0,a.d4)(v),s=(0,a.d4)(f),i=(0,a.d4)(b),m=function(t){var e,o=null!==(e=(0,a.d4)(p))&&void 0!==e?e:{},s=o.errors,i=void 0===s?[]:s,d=o.presented_methods,h=void 0===d?[]:d,m=o.all_methods,f=void 0===m?[]:m,v=(0,a.d4)(A),b=(0,a.d4)(x),y=(0,a.d4)(k),N=(0,a.d4)(C);return{data:i,columns:n.useMemo((function(){return[{name:"path",header:(0,H.jsx)(c.A,{column:"Path",loading:t,pageIndex:v,pageCount:N}),render:function(t){var e=t.row;return(0,H.jsx)(g.A,{url:(0,w.L$)({path:e.table_path,teMethods:b,teTime:y,navmode:"tablet_errors",teMode:"request_errors"}),children:e.table_path})}},{name:"dataOfLastError",header:(0,H.jsx)(c.A,{column:"Date of last error"}),render:function(t){var e=t.row;return l()(1e3*e.last_error_timestamp).format("YYYY-MM-DD HH:mm:ss")},width:180}].concat((0,r.A)((null!=f?f:h).map((function(t){return{name:"method_".concat(t),header:(0,H.jsx)(c.A,{column:t,title:t}),render:function(e){var o,r=e.row;return u.A.Number(null===(o=r.method_counts)||void 0===o?void 0:o[t])},align:"right",width:140}}))))}),[i,t,b,y,N])}}(s),y=m.data,j=m.columns;return(0,H.jsx)(N.Ay,{hideToolbarShadow:!0,className:I(),toolbar:(0,H.jsx)(V,{bundle:e,className:I("toolbar")}),doubleHeight:!0,content:(0,H.jsxs)("div",{className:I(),children:[Boolean(i)&&(0,H.jsx)(h.z,{error:i}),(0,H.jsx)(d.Ay,{className:I("table"),loaded:o,loading:s,columns:j,data:y,useThemeYT:!0,settings:d.ZY})]})})}},9158:(t,e,o)=>{o.d(e,{k:()=>r});var r=100},13755:(t,e,o)=>{o.d(e,{M:()=>a});var r=o(40319),n=o(41169);function a(t,e,o,a){return n.A.post("/api/tablet-errors/".concat(e,"/").concat(t),(0,r.A)((0,r.A)({},o),{},{cluster:e}),{cancelToken:a})}new Set(["tablet_errors_by_bundle","tablet_errors_by_table","tablet_errors_by_table_and_timestamp"])},16034:(t,e,o)=>{o.d(e,{w:()=>B});var r=o(40319),n=o(9736),a=o(29121),s=o(12937),i=o(66134),l=o(10785),u=o(77810),c=o(76872),d=o(6542),h=o(32235),m=o(73384),p=o(11700),f=o.n(p),v=o(41655),b=o.n(v),k=o(50326);const x=JSON.parse('{"label_now":"Now","label_custom":"Custom","label_shortcut-list":"Show chart in"}');var A="timeline",y=new k.TH;y.setLang("en"),y.registerKeyset("en",A,x);const C=y.keyset(A);var g=o(24297),N=o(24893),w=o(64922),j=function(t){function e(){var t;(0,a.A)(this,e);for(var o=arguments.length,r=new Array(o),n=0;n<o;n++)r[n]=arguments[n];return(t=(0,i.A)(this,e,[].concat(r))).state={},t.inputRef=u.createRef(),t.onKeyDown=function(e){switch(e.key){case"Enter":t.props.onDone(t.state.text);break;case"Escape":t.props.onCancel()}},t.onBlur=function(){t.props.onCancel()},t.onUpdate=function(e){t.setState({text:e}),t.props.onUpdate&&t.props.onUpdate(e)},t}return(0,l.A)(e,t),(0,s.A)(e,[{key:"componentDidMount",value:function(){this.props.autoselect&&(this.focus(),this.select())}},{key:"focus",value:function(){this.inputRef.current&&this.inputRef.current.focus()}},{key:"select",value:function(){this.inputRef.current&&this.inputRef.current.select()}},{key:"render",value:function(){var t=this.props,e=t.size,o=t.placeholder,r=t.autoFocus;return(0,w.jsx)(N.k,{controlRef:this.inputRef,size:e,placeholder:o,value:this.state.text,autoFocus:r,onUpdate:this.onUpdate,onBlur:this.onBlur,onKeyDown:this.onKeyDown})}}],[{key:"getDerivedStateFromProps",value:function(t,e){var o=t.text;return e.previousText===o?e:{text:o,previousText:t.text}}}])}(u.Component),S=o(54299),_=function(t){function e(){return(0,a.A)(this,e),(0,i.A)(this,e,arguments)}return(0,l.A)(e,t),(0,s.A)(e,[{key:"render",value:function(){var t=this.props,e=t.from,o=t.to,r=t.separate,n=t.controlWidth;return r?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(S.t,{range:!1,controlWidth:n,onUpdate:this.props.onFromChange,format:"dd.MM.yyyy HH:mm",from:e})," — ",(0,w.jsx)(S.t,{range:!1,controlWidth:n,onUpdate:this.props.onToChange,format:"dd.MM.yyyy HH:mm",from:o})]}):(0,w.jsx)(S.t,{onUpdate:this.props.onRangeChange,format:"yyyy-MM-dd HH:mm",from:e,to:o})}}])}(u.Component);_.defaultProps={separate:!1,controlWidth:"130px"};const M=function(t){return(0,w.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},t),{},{children:(0,w.jsx)("path",{fill:"currentColor",d:"M12 7v3h3V7zm0 0v3h3V7zm4 0v3h3V7zM4 11v3h3v-3zm8 0v3h3v-3zm0 0v3h3v-3zm4 0v3h3v-3zM4 15v3h3v-3zm8 0v3h3v-3zm0 0v3h3v-3zM8 7v3h3V7zm0 0v3h3V7zm0 4v3h3v-3zm0 0v3h3v-3zm0 4v3h3v-3zm0 0v3h3v-3z"})}))};var R=(0,c.A)("yc-timeline-picker"),D="custom",z=function(t){function e(){var t;(0,a.A)(this,e);for(var o=arguments.length,r=new Array(o),n=0;n<o;n++)r[n]=arguments[n];return(t=(0,i.A)(this,e,[].concat(r))).onClick=function(){t.props.onClick(t.props.time)},t}return(0,l.A)(e,t),(0,s.A)(e,[{key:"render",value:function(){var t=this.props,e=t.size,o=t.width,r=t.title,n=t.className,a=t.checked;return(0,w.jsx)(d.$,{view:a?"normal":"flat-secondary",size:e,width:o,onClick:this.onClick,className:n,children:r})}}])}(u.Component);z.defaultProps={size:"l"};var F=function(t,e){return"".concat((0,g.LA)(t)," - ").concat((0,g.LA)(e))},B=function(t){function e(){var t;(0,a.A)(this,e);for(var o=arguments.length,s=new Array(o),l=0;l<o;l++)s[l]=arguments[l];return(t=(0,i.A)(this,e,[].concat(s))).state={},t._datepickerRef=u.createRef(),t._inputRef=u.createRef(),t.onCustomClick=function(){t.setState({customInput:!0})},t.onCustomCancel=function(){t.setState({customInput:!1})},t.onCustomDone=function(e){var o,r;t.setState({customInput:!1}),null===(o=(r=t.props).onShortcut)||void 0===o||o.call(r,e,D)},t.onOpenPickerClick=function(){t.setState({opened:!0})},t.onPopupClose=function(e){var o;Boolean(null===(o=e.target)||void 0===o?void 0:o.closest(".yc-datepicker-body"))||(t.setState({opened:!1}),t.props.onUpdate({from:new Date(t.state.from).valueOf(),to:new Date(t.state.to).valueOf()}))},t.onInputChange=function(e){t.setState({datetime:e})},t.onInputDone=function(e){var o=/(?:(\d{4}-\d{2}-\d{2})(?:[ T]?(\d{2}:\d{2}))?)\s*-\s*(?:(\d{4}-\d{2}-\d{2})?[ T]?(\d{2}:\d{2})?)/.exec(e);if(o){var r=(0,n.A)(o,5),a=r[1],s=r[2],i=r[3],l=r[4],u=(0,g.zJ)("".concat(a," ").concat(s)),c=(0,g.zJ)("".concat(i||a," ").concat(l));isNaN(u)||isNaN(c)||t.props.onUpdate({from:u,to:c}),t.setState({opened:!1})}},t.onFromChange=function(e){var o=e.from,r=t.state.to;t.setState({from:b()(o).valueOf(),datetime:F(o,r)})},t.onToChange=function(e){var o=e.from,r=t.state.from;t.setState({to:b()(o).valueOf(),datetime:F(r,o)})},t.onRangeChange=function(e){var o=e.from,r=e.to;t.setState({from:o,to:r,datetime:F(o,r)})},t.onShortcutClick=function(e){var o,r;t.setState({opened:!1}),null===(o=(r=t.props).onShortcut)||void 0===o||o.call(r,e,e)},t.onTopShortcutClick=function(e){var o,r;null===(o=(r=t.props).onShortcut)||void 0===o||o.call(r,e,e)},t.renderTopShortcuts=function(e){var o=t.props.shortcut;return e.time===D?t.renderCustomShortcut():(0,w.jsx)(z,(0,r.A)((0,r.A)({},e),{},{checked:o===e.time,className:R("hot"),onClick:t.onTopShortcutClick}),e.time)},t}return(0,l.A)(e,t),(0,s.A)(e,[{key:"componentDidUpdate",value:function(){var t;this.state.opened&&this._inputRef.current&&(null===(t=this._inputRef.current)||void 0===t||t.focus())}},{key:"renderOpenedPicker",value:function(){var t=this.state.datetime;return(0,w.jsxs)(u.Fragment,{children:[this.renderClosedPicker(),(0,w.jsx)(j,{ref:this._inputRef,size:"l",text:t,autoselect:!0,onUpdate:this.onInputChange,onDone:this.onInputDone,onCancel:f()})]})}},{key:"renderClosedPicker",value:function(){var t=this.props,e=t.from,o=t.to;return(0,w.jsxs)("div",{className:R("date-text"),children:[(0,w.jsx)(h.I,{data:M,width:36,className:R("icon")}),(0,w.jsx)("div",{className:R("text"),children:(0,g.vy)(e,o)})]})}},{key:"renderShortcuts",value:function(){var t=this,e=this.props,o=e.shortcut,n=e.shortcuts,a=void 0===n?[]:n;return(0,w.jsx)("div",{className:R("shortcut-pane"),children:a.map((function(e,n){return(0,w.jsx)("div",{className:R("shortcut-group"),children:e.map((function(e){return(0,w.jsx)(z,(0,r.A)((0,r.A)({},e),{},{size:"m",checked:o===e.time,className:R("shortcut"),onClick:t.onShortcutClick}),e.time)}))},n)}))})}},{key:"renderCustomShortcut",value:function(){var t=this.props,e=t.from,o=t.to,r=t.shortcut===D,n=this.state.customInput;return(0,w.jsx)("div",{className:R("hot-custom"),children:n?(0,w.jsx)(j,{autoFocus:!0,placeholder:"6h",onCancel:this.onCustomCancel,onDone:this.onCustomDone}):(0,w.jsx)(z,{checked:r,onClick:this.onCustomClick,title:r?(0,g.pG)(e,o):C("label_custom"),width:"max"})},"custom")}},{key:"render",value:function(){var t=this.props,e=t.className,o=t.from,r=t.to,n=t.topShortcuts,a=t.hasDatePicker,s=this.state.opened,i=s?this.renderOpenedPicker():this.renderClosedPicker();return(0,w.jsxs)("div",{className:R(null,e),children:[(0,w.jsx)("div",{className:R("hot-buttons",{divider:a}),children:null==n?void 0:n.map(this.renderTopShortcuts)}),a&&(0,w.jsxs)(u.Fragment,{children:[(0,w.jsx)("div",{ref:this._datepickerRef,className:R("datepicker",{opened:s}),onClick:this.onOpenPickerClick,children:i}),(0,w.jsx)(m.z,{anchorRef:this._datepickerRef,open:s,onClose:this.onPopupClose,children:(0,w.jsxs)("div",{className:R("shortcuts"),children:[(0,w.jsx)("div",{className:R("range-datepicker"),children:(0,w.jsx)(_,{from:o,to:r,onRangeChange:this.onRangeChange,onFromChange:this.onFromChange,onToChange:this.onToChange})}),(0,w.jsxs)("div",{className:R("shortcuts-title"),children:[C("label_shortcut-list"),":"]}),this.renderShortcuts()]})})]})]})}}],[{key:"getDerivedStateFromProps",value:function(t,e){var o=t.from,r=t.to;return e.prevFrom===o&&e.prevTo===r?e:{from:o,to:r,prevFrom:o,prevTo:r,datetime:F(o,r)}}}])}(u.Component);B.defaultProps={shortcuts:[],topShortcuts:[]}},24297:(t,e,o)=>{o.d(e,{LA:()=>p,SK:()=>b,dR:()=>k,fU:()=>m,pG:()=>d,vy:()=>h,zJ:()=>f});var r=o(9736),n=o(41655),a=o.n(n),s=36e5,i=24*s,l=7*i,u=30*i,c=365*i,d=function(t,e){var o=e-t;if(o>=c){var r=Math.floor(o/c),n=Math.floor(o%c/u);return 0===n||r>4?"".concat(r,"y"):"".concat(r,"y ").concat(n,"mo")}if(o>=u){var a=Math.floor(o/u),d=Math.floor(o%u/i);return 0===d||a>4?"".concat(a,"mo"):"".concat(a,"mo ").concat(d,"d")}if(o>=l){var h=Math.floor(o/l),m=Math.floor(o%l/i);return 0===m||h>3?"".concat(h,"w"):"".concat(h,"w ").concat(m,"d")}if(o>=i){var p=Math.floor(o/i),f=Math.floor(o%i/s);return 0===f||p>4?"".concat(p,"d"):"".concat(p,"d ").concat(f,"h")}if(o>=s){var v=Math.floor(o/s),b=Math.floor(o%s/6e4);return 0===b||v>6?"".concat(v,"h"):"".concat(v,"h ").concat(b,"m")}var k=Math.round(o/6e4);return"".concat(k,"m")},h=function(t,e){var o=a()(t),r=a()(e);return r.isSame(o,"d")?"".concat(o.format("YYYY-MM-DD  HH:mm"),"  —  ").concat(r.format("HH:mm")):"".concat(o.format("YYYY-MM-DD  HH:mm"),"  —  ").concat(r.format("YYYY-MM-DD  HH:mm"))},m=function(t){return a()(t).format("HH:mm")},p=function(t){return a()(t).format("YYYY-MM-DD HH:mm")},f=function(t){return a()(t).valueOf()},v={mo:"M"},b=function(t){var e=Date.now(),o=function(t,e){for(var o=a()(e),n=/(-?\d+)([a-zA-Z]+)/g;;){var s=n.exec(t);if(!s)break;var i=(0,r.A)(s,3),l=i[1],u=i[2],c=v[u]||u;o.subtract(l,c)}return o.valueOf()}(t,e);return e<o?{from:e,to:o}:{from:o,to:e}};function k(t){if(t){var e=t.from,o=t.to,r=t.shortcutValue;return r?b(r):{from:e,to:o}}}},30380:(t,e,o)=>{o.d(e,{Kf:()=>C,NZ:()=>M,ts:()=>D});var r=o(40319),n=o(29121),a=o(12937),s=o(66134),i=o(10785),l=o(77810),u=o(76872),c=o(16034),d=o(18801),h=o(6542),m=o(26116),p=o(62238),f=o(64922),v=["from","to","className","displayNow","hasNowButton","titles","onUpdate"],b=(0,u.A)("yc-timeline-ruler"),k=function(t){var e=t.from,o=t.to,n=t.className,a=t.displayNow,s=void 0===a||a,i=t.hasNowButton,l=void 0===i||i,u=t.titles,c=t.onUpdate,k=(0,d.A)(t,v);return(0,f.jsxs)("div",{className:b(null,n),children:[(0,f.jsx)("div",{className:b("ruler"),children:(0,f.jsx)(p.K6,(0,r.A)((0,r.A)({},k),{},{value:{start:(0,m.bQ)(e),end:(0,m.bQ)(o)},displayNow:s,onUpdate:function(t){c({from:t.start.valueOf(),to:t.end.valueOf()})}}))}),l&&(0,f.jsx)(h.$,{view:"flat",title:null==u?void 0:u.now,className:b("now-button"),onClick:function(){var t=Date.now();c({from:t-o+e,to:t})},children:"Now"})]})},x=o(24297),A=(0,u.A)("yc-timeline"),y={hasPicker:!0,hasRuler:!0,hasDatePicker:!0,wrapper:function(t){var e=t.picker,o=t.ruler;return(0,f.jsxs)("div",{className:A(),children:[e,o]})}},C=function(t){function e(){var t;(0,n.A)(this,e);for(var o=arguments.length,r=new Array(o),a=0;a<o;a++)r[a]=arguments[a];return(t=(0,s.A)(this,e,[].concat(r))).setTime=function(e){t.onUpdate(e)},t.onShortcut=function(e,o){var r=(0,x.SK)(e),n=r.from,a=r.to;t.props.onUpdate&&a!==n&&t.props.onUpdate({from:n,to:a,shortcut:o,shortcutValue:e})},t}return(0,i.A)(e,t),(0,a.A)(e,[{key:"onUpdate",value:function(t){var e=(0,r.A)((0,r.A)({},this.props),t),o=e.from,n=e.to;!this.props.onUpdate||!o&&!n||o===this.props.from&&n===this.props.to||this.props.onUpdate({from:o,to:n})}},{key:"renderRuler",value:function(){if(!1===this.props.hasRuler)return null;var t=this.props,e=t.from,o=t.to,r=t.hasRulerNowButton,n=t.hasRulerZoomButtons,a=t.zoomFixedPoint,s=t.zoomSticksToNow,i=t.minRange,l=t.maxRange;return(0,f.jsx)(k,{className:A("ruler"),from:e,to:o,hasNowButton:r,hasScaleButtons:n,minRange:i,maxRange:l,zoomFixedPoint:a,zoomSticksToNow:s,onUpdate:this.setTime})}},{key:"renderPicker",value:function(){var t;if(!1===this.props.hasPicker||null===(t=this.props.topShortcuts)||void 0===t||!t.length)return null;var e=this.props,o=e.from,r=e.to,n=e.shortcut,a=e.shortcuts,s=e.topShortcuts,i=e.hasDatePicker;return(0,f.jsx)(c.w,{className:A("picker"),from:o,to:r,hasDatePicker:i,shortcuts:a,shortcut:n,topShortcuts:s,onUpdate:this.setTime,onShortcut:this.onShortcut})}},{key:"render",value:function(){return this.props.wrapper({picker:this.renderPicker(),ruler:this.renderRuler()})}}])}(l.Component);C.defaultProps=y;var g=o(9736),N=o(80908),w=["className","topShortcuts","from","to"],j=(0,u.A)("yt-timeline"),S=[{title:"30m",time:"30m"},{title:"2h",time:"2h"},{title:"1d",time:"1d"},{title:"1w",time:"1w"},{title:"1mo",time:"1mo"},{time:"custom"}];function _(t){var e=t.className,o=t.topShortcuts,n=t.from,a=t.to,s=(0,d.A)(t,w),i=l.useState(),u=(0,g.A)(i,2),c=u[0],h=u[1],m=l.useState(null),p=(0,g.A)(m,2),v=p[0],b=p[1],k=l.useCallback((function(t){var e=(0,g.A)(t,1)[0],o=((null==e?void 0:e.contentRect)||{}).width;o!==c&&h(o)}),[c,h]);return(0,N.A)({element:v||void 0,onResize:k}),n&&a?(0,f.jsx)(C,(0,r.A)((0,r.A)({},s),{},{from:n,to:a,hasPicker:!0,topShortcuts:o||S,wrapper:function(t){var o=t.ruler,r=t.picker;return(0,f.jsxs)("div",{className:j(null,e),ref:b,children:[r,(0,f.jsx)("div",{className:j("ruler"),children:o})]})}})):null}var M=l.memo(_),R=864e5;function D(t){var e=void 0!==t.shortcutValue?(0,x.SK)(t.shortcutValue):t,o=e.from,n=void 0===o?Math.floor(Date.now()-R):o,a=e.to,s=void 0===a?Math.ceil(Date.now()):a;return(0,r.A)((0,r.A)({},t),{},{from:n,to:s})}},51856:(t,e,o)=>{o.d(e,{A:()=>m});var r=o(40319),n=o(9736),a=o(18801),s=o(77810),i=o(31680),l=o.n(i),u=o(24893),c=o(64922),d=["debounce","onUpdate","onBlur","value","onEnterKeyDown","onKeyDown"];function h(t){var e=t.debounce,o=void 0===e?400:e,i=t.onUpdate,h=void 0===i?function(){}:i,m=t.onBlur,p=t.value,f=t.onEnterKeyDown,v=t.onKeyDown,b=(0,a.A)(t,d),k=s.useState(),x=(0,n.A)(k,2),A=x[0],y=x[1],C=s.useMemo((function(){return l()(h,o)}),[o,h]),g=s.useCallback((function(t){y(t),C.cancel(),C(t)}),[C,y]),N=s.useCallback((function(t){v&&v(t),"Enter"===t.key&&f&&f(t)}),[f,v]),w=s.useCallback((function(t){y(void 0),m&&m(t)}),[y,m]);return(0,c.jsx)(u.k,(0,r.A)((0,r.A)({onUpdate:g},b),{},{value:void 0===A?p:A,onBlur:w,onKeyDown:N}))}const m=s.memo(h)},59188:(t,e,o)=>{o.d(e,{A:()=>f});var r=o(29121),n=o(12937),a=o(66134),s=o(10785),i=o(77810),l=o(76872),u=o(24893),c=o(88787),d=o(39566),h=o(58299),m=o(64922),p=(0,l.A)("elements-pagination"),f=function(t){function e(){return(0,r.A)(this,e),(0,a.A)(this,e,arguments)}return(0,s.A)(e,t),(0,n.A)(e,[{key:"renderComponent",value:function(t,e){var o=e.handler,r="boolean"==typeof e.disabled&&e.disabled,n=this.props,a=n.size,s=n.tooltip,i=[{keys:e.hotkey,scope:e.hotkeyScope,handler:e.hotkeyHandler}];return(0,m.jsxs)("span",{title:s,children:[(0,m.jsx)(h.A,{size:a,onClick:o,disabled:r,className:p("control",{name:t}),title:{first:"First page",previous:"Previous page",next:"Next page",last:"Last page"}[t],pin:{first:"round-brick",previous:"clear-brick",next:"brick-clear",last:"brick-round"}[t],children:(0,m.jsx)(c.A,{awesome:{first:"angle-double-left",previous:"angle-left",next:"angle-right",last:"angle-double-right"}[t]})}),void 0!==e.hotkeyHandler&&(0,m.jsx)(d.A,{settings:i})]})}},{key:"renderInput",value:function(){var t=this.props,e=t.showInput,o=t.inputValue,r=t.onChange,n=t.size;return e?(0,m.jsx)(u.k,{qa:"yt-pagination_input",size:n,type:"text",value:o,onUpdate:r,pin:"clear-clear"}):null}},{key:"render",value:function(){var t=this.props,e=t.first,o=t.previous,r=t.next,n=t.last,a=t.className;return(0,m.jsxs)("div",{className:p(null,a),children:[this.renderComponent("first",e),this.renderComponent("previous",o),this.renderInput(),this.renderComponent("next",r),this.renderComponent("last",n)]})}}])}(i.Component);f.defaultProps={size:"m",showInput:!1}},98364:(t,e,o)=>{o.d(e,{A:()=>i});var r=o(77810),n=o(59188),a=o(64922);function s(t){var e=t.value,o=void 0===e?NaN:e,s=t.min,i=void 0===s?NaN:s,l=t.max,u=void 0===l?NaN:l,c=t.onChange,d=t.disabled,h=t.step,m=void 0===h?1:h,p=t.className,f=isNaN(o)||isNaN(i)?0:o-i,v=isNaN(o)||isNaN(u)?0:u-o,b=r.useCallback((function(){c(i)}),[i,c]),k=r.useCallback((function(){var t=o-m;c(t<i?i:t)}),[i,o,m,c]),x=r.useCallback((function(){var t=o+m;c(t>u?u:t)}),[u,o,m,c]),A=r.useCallback((function(){c(u)}),[u,c]);return(0,a.jsx)(n.A,{className:p,first:{handler:b,disabled:0===f||d},previous:{handler:k,disabled:0===f||d},next:{handler:x,disabled:0===v||d},last:{handler:A,disabled:0===v||d}})}const i=r.memo(s)}}]);
2
+ //# sourceMappingURL=tablet-errors-by-bundle.95473558.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/tablet-errors-by-bundle.95473558.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/store/selectors/tablet-errors/tablet-errors-by-bundle.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/tablet-errors/tablet-errors-by-bundle.ts","webpack://@ytsaurus/ui/./src/ui/pages/tablet-errors-by-bundle/TabletErrorsByBundleToolbar.tsx","webpack://@ytsaurus/ui/./src/ui/pages/tablet-errors-by-bundle/TabletErrorsByBundle.tsx","webpack://@ytsaurus/ui/./src/ui/constants/pagination.ts","webpack://@ytsaurus/ui/./src/shared/tablet-errors-manager.ts","webpack://@ytsaurus/ui/./src/ui/components/common/Timeline/i18n/index.ts","webpack://@ytsaurus/ui/./src/ui/components/common/EnterInput/EnterInput.js","webpack://@ytsaurus/ui/./src/ui/components/common/Timeline/TimelinePicker/TimelineDatepicker.js","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/calendar.svg","webpack://@ytsaurus/ui/./src/ui/components/common/Timeline/TimelinePicker/TimelinePicker.tsx","webpack://@ytsaurus/ui/./src/ui/components/common/Timeline/util.ts","webpack://@ytsaurus/ui/./src/ui/components/Timeline/TimelineRuler.tsx","webpack://@ytsaurus/ui/./src/ui/components/Timeline/Timeline.tsx","webpack://@ytsaurus/ui/./src/ui/components/Timeline/YTTimeline.tsx","webpack://@ytsaurus/ui/./src/ui/components/TextInputWithDebounce/TextInputWithDebounce.tsx","webpack://@ytsaurus/ui/./src/ui/components/Pagination/Pagination.js","webpack://@ytsaurus/ui/./src/ui/components/Pagination/SimplePagination.tsx"],"sourcesContent":["import {ROWS_PER_PAGE} from '../../../constants/pagination';\nimport {RootState} from '../../../store/reducers';\n\nexport const getTabletErrorsByBundleData = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.data;\n\nexport const getTabletErrorsByBundleLoading = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.loading;\n\nexport const getTabletErrorsByBundleLoaded = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.loaded;\n\nexport const getTabletErrorsByBundleError = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.error;\n\nexport const getTabletErrorsByBundleTimeRangeFilter = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.timeRangeFilter;\n\nexport const getTabletErrorsByBundleMethodsFilter = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.methodsFilter;\n\nexport const getTabletErrorsByBundlePageFilter = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.pageFilter;\n\nexport const getTabletErrorsByBundleTablePathFilter = (state: RootState) =>\n state.tabletErrors.tabletErrorsByBundle.tablePathFilter;\n\nexport const getTabletErrorsByBundlePageCount = (state: RootState) =>\n Math.max(\n Math.ceil((state.tabletErrors.tabletErrorsByBundle.total_row_count ?? 0) / ROWS_PER_PAGE),\n 1,\n );\n","import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../store/reducers';\nimport {TabletErrorsApi, fetchFromTabletErrorsApi} from '../../../../shared/tablet-errors-manager';\nimport {getCluster} from '../../../store/selectors/global';\nimport {tabletErrorsByBundleActions} from '../../../store/reducers/tablet-errors/tablet-errors-by-bundle';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {getTabletErrorsByBundleData} from '../../../store/selectors/tablet-errors/tablet-errors-by-bundle';\n\ntype AsyncAction<T = Promise<void>> = ThunkAction<T, RootState, unknown, any>;\n\nconst cancelHelper = new CancelHelper();\n\nexport function loadTabletErrorsByBundle(\n page: number,\n params: Pick<\n TabletErrorsApi['tablet_errors_by_bundle']['body'],\n 'tablet_cell_bundle' | 'start_timestamp' | 'end_timestamp' | 'methods' | 'table_path'\n >,\n): AsyncAction {\n return (dispatch, getState) => {\n dispatch(tabletErrorsByBundleActions.onRequest({bundle: params.tablet_cell_bundle}));\n\n const state = getState();\n const cluster = getCluster(state);\n const data = getTabletErrorsByBundleData(state);\n\n return fetchFromTabletErrorsApi(\n 'tablet_errors_by_bundle',\n cluster,\n {\n ...params,\n offset: page * 100,\n count_limit: 100,\n ...(page !== 0 && data?.fixed_end_timestamp\n ? {fixed_end_timestamp: data?.fixed_end_timestamp}\n : {}),\n },\n cancelHelper.removeAllAndGenerateNextToken(),\n )\n .then(({data}) => {\n dispatch(\n tabletErrorsByBundleActions.onSuccess({\n data,\n ...(page === 0 ? {total_row_count: data.total_row_count} : {}),\n }),\n );\n })\n .catch((error) => {\n dispatch(tabletErrorsByBundleActions.onError({error}));\n });\n };\n}\n\nexport function updateTimeRange(from: number, to: number): AsyncAction<void> {\n return (dispatch) => {\n dispatch(tabletErrorsByBundleActions.updateFilter({timeRangeFilter: {from, to}}));\n };\n}\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\n\nimport {docsUrl} from '../../config';\n\nimport HelpLink from '../../components/HelpLink/HelpLink';\nimport Select from '../../components/Select/Select';\nimport SimplePagination from '../../components/Pagination/SimplePagination';\nimport {Toolbar} from '../../components/WithStickyToolbar/Toolbar/Toolbar';\nimport {YTTimeline, calcFromTo} from '../../components/Timeline';\nimport TextInputWithDebounce from '../../components/TextInputWithDebounce/TextInputWithDebounce';\n\nimport {\n getTabletErrorsByBundleData,\n getTabletErrorsByBundleMethodsFilter,\n getTabletErrorsByBundlePageCount,\n getTabletErrorsByBundlePageFilter,\n getTabletErrorsByBundleTablePathFilter,\n getTabletErrorsByBundleTimeRangeFilter,\n} from '../../store/selectors/tablet-errors/tablet-errors-by-bundle';\nimport {\n type TabletErrorsByBundleState,\n tabletErrorsByBundleActions,\n} from '../../store/reducers/tablet-errors/tablet-errors-by-bundle';\nimport {loadTabletErrorsByBundle} from '../../store/actions/tablet-errors/tablet-errors-by-bundle';\nimport UIFactory from '../../UIFactory';\n\nimport './TabletErrorsByBundleToolbar.scss';\n\nconst block = cn('yt-tablet-errors-by-bundle-toolbar');\n\nexport function TabletErrorsByBundleToolbar({\n bundle,\n className,\n}: {\n bundle: string;\n className: string;\n}) {\n const dispatch = useDispatch();\n\n const {all_methods = []} = useSelector(getTabletErrorsByBundleData) ?? {};\n const methodsFilter = useSelector(getTabletErrorsByBundleMethodsFilter);\n const timeRangeFilter = useSelector(getTabletErrorsByBundleTimeRangeFilter);\n const pageFilter = useSelector(getTabletErrorsByBundlePageFilter);\n const tablePathFilter = useSelector(getTabletErrorsByBundleTablePathFilter);\n const pageCount = useSelector(getTabletErrorsByBundlePageCount);\n\n const {from, to} = useTabletErrorsLoad(bundle, {\n methodsFilter,\n timeRangeFilter,\n pageFilter,\n tablePathFilter,\n });\n\n return (\n <div className={block(null, className)}>\n <YTTimeline\n from={from}\n to={to}\n shortcut={timeRangeFilter.shortcutValue}\n onUpdate={({from, to, shortcutValue}) => {\n dispatch(\n tabletErrorsByBundleActions.updateFilter({\n timeRangeFilter: {from, to, shortcutValue},\n }),\n );\n }}\n hasRuler={true}\n />\n <Toolbar\n itemsToWrap={[\n {\n node: (\n <SimplePagination\n value={pageFilter}\n min={0}\n max={Math.max(0, pageCount - 1)}\n onChange={(v) => {\n dispatch(\n tabletErrorsByBundleActions.updateFilter({pageFilter: v}),\n );\n }}\n />\n ),\n },\n {\n node: (\n <TextInputWithDebounce\n className={block('path-filter')}\n placeholder={'Table path...'}\n value={tablePathFilter}\n onUpdate={(value) => {\n dispatch(\n tabletErrorsByBundleActions.updateFilter({\n tablePathFilter: value,\n }),\n );\n }}\n />\n ),\n },\n {\n node: (\n <Select\n multiple\n label=\"Methods:\"\n value={methodsFilter}\n items={all_methods.map((value) => {\n return {value, text: value};\n })}\n onUpdate={(v) =>\n dispatch(\n tabletErrorsByBundleActions.updateFilter({\n methodsFilter: v,\n }),\n )\n }\n placeholder=\"Select...\"\n hasClear\n maxVisibleValuesTextLength={80}\n />\n ),\n },\n {\n node: docsUrl(\n <HelpLink url={UIFactory.docsUrls['bundles:tablet-errors']} />,\n ),\n },\n ]}\n />\n </div>\n );\n}\n\nfunction useTabletErrorsLoad(\n bundle: string,\n {\n timeRangeFilter,\n methodsFilter,\n pageFilter,\n tablePathFilter,\n }: Pick<\n TabletErrorsByBundleState,\n 'timeRangeFilter' | 'methodsFilter' | 'pageFilter' | 'tablePathFilter'\n >,\n) {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n const {from, to} = calcFromTo(timeRangeFilter);\n dispatch(\n loadTabletErrorsByBundle(pageFilter, {\n tablet_cell_bundle: bundle,\n start_timestamp: Math.floor(from / 1000),\n end_timestamp: Math.ceil(to / 1000),\n methods: methodsFilter.length ? methodsFilter : undefined,\n ...(tablePathFilter ? {table_path: tablePathFilter} : {}),\n }),\n );\n }, [bundle, dispatch, timeRangeFilter, methodsFilter, pageFilter, tablePathFilter]);\n return calcFromTo(timeRangeFilter);\n}\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport moment from 'moment';\n\nimport {TableMethodErrorsCount} from '../../../shared/tablet-errors-manager';\n\nimport format from '../../common/hammer/format';\n\nimport ColumnHeader from '../../components/ColumnHeader/ColumnHeader';\nimport DataTableYT, {\n Column,\n DATA_TABLE_YT_SETTINGS_UNDER_TOOLBAR_DOUBLE_HEIGHT,\n} from '../../components/DataTableYT/DataTableYT';\nimport {YTErrorBlock} from '../../components/Error/Error';\nimport {\n getTabletErrorsByBundleData,\n getTabletErrorsByBundleError,\n getTabletErrorsByBundleLoaded,\n getTabletErrorsByBundleLoading,\n getTabletErrorsByBundleMethodsFilter,\n getTabletErrorsByBundlePageCount,\n getTabletErrorsByBundlePageFilter,\n getTabletErrorsByBundleTimeRangeFilter,\n} from '../../store/selectors/tablet-errors/tablet-errors-by-bundle';\n\nimport Link from '../../components/Link/Link';\nimport WithStickyToolbar from '../../components/WithStickyToolbar/WithStickyToolbar';\nimport {makeNavigationLink} from '../../utils/app-url';\n\nimport './TabletErrorsByBundle.scss';\nimport {TabletErrorsByBundleToolbar} from './TabletErrorsByBundleToolbar';\n\nconst block = cn('yt-tablet-errors-by-bunlde');\n\nexport function TabletErrorsByBundle({bundle}: {bundle: string}) {\n const loaded = useSelector(getTabletErrorsByBundleLoaded);\n const loading = useSelector(getTabletErrorsByBundleLoading);\n const error = useSelector(getTabletErrorsByBundleError);\n\n const {data, columns} = useTabletErrorsColumns(loading);\n\n return (\n <WithStickyToolbar\n hideToolbarShadow\n className={block()}\n toolbar={<TabletErrorsByBundleToolbar bundle={bundle} className={block('toolbar')} />}\n doubleHeight={true}\n content={\n <div className={block()}>\n {Boolean(error) && <YTErrorBlock error={error} />}\n <DataTableYT\n className={block('table')}\n loaded={loaded}\n loading={loading}\n columns={columns}\n data={data}\n useThemeYT\n settings={DATA_TABLE_YT_SETTINGS_UNDER_TOOLBAR_DOUBLE_HEIGHT}\n />\n </div>\n }\n />\n );\n}\n\nfunction useTabletErrorsColumns(loading: boolean) {\n const {\n errors: data = [],\n presented_methods = [],\n all_methods = [],\n } = useSelector(getTabletErrorsByBundleData) ?? {};\n const pageFilter = useSelector(getTabletErrorsByBundlePageFilter);\n const teMethods = useSelector(getTabletErrorsByBundleMethodsFilter);\n const teTime = useSelector(getTabletErrorsByBundleTimeRangeFilter);\n const pageCount = useSelector(getTabletErrorsByBundlePageCount);\n\n const columns = React.useMemo(() => {\n const res: Array<Column<TableMethodErrorsCount>> = [\n {\n name: 'path',\n header: (\n <ColumnHeader\n column=\"Path\"\n loading={loading}\n pageIndex={pageFilter}\n pageCount={pageCount}\n />\n ),\n render({row}) {\n return (\n <Link\n url={makeNavigationLink({\n path: row.table_path,\n teMethods,\n teTime,\n navmode: 'tablet_errors',\n teMode: 'request_errors',\n })}\n >\n {row.table_path}\n </Link>\n );\n },\n },\n {\n name: 'dataOfLastError',\n header: <ColumnHeader column=\"Date of last error\" />,\n render({row}) {\n return moment(row.last_error_timestamp * 1000).format('YYYY-MM-DD HH:mm:ss');\n },\n width: 180,\n },\n ...(all_methods ?? presented_methods).map((method) => {\n return {\n name: `method_${method}`,\n header: <ColumnHeader column={method} title={method} />,\n render({row}) {\n return format.Number(row.method_counts?.[method]);\n },\n align: 'right',\n width: 140,\n } as Column<TableMethodErrorsCount>;\n }),\n ];\n\n return res;\n }, [data, loading, teMethods, teTime, pageCount]);\n\n return {data, columns};\n}\n","export const ROWS_PER_PAGE = 100;\n","import axios, {AxiosResponse, CancelToken} from 'axios';\nimport {YTError} from '../@types/types';\n\nexport const TABLET_ERRORS_MANAGER_POST_ACTIONS = new Set([\n 'tablet_errors_by_bundle',\n 'tablet_errors_by_table',\n 'tablet_errors_by_table_and_timestamp',\n] as const);\n\nexport type TabletErrorsManagerPostActionType = Parameters<\n (typeof TABLET_ERRORS_MANAGER_POST_ACTIONS)['add']\n>[0];\n\nexport type MethodCount = {\n method: string;\n count: number;\n};\n\nexport type TableMethodErrorsCount = {\n table_path: string;\n last_error_timestamp: number;\n method_counts: Record<string, number>;\n};\n\nexport type TabletErrorsByBundleResponse = {\n all_methods: Array<string>;\n presented_methods: Array<string>;\n errors: Array<TableMethodErrorsCount>;\n fixed_end_timestamp: unknown;\n total_row_count: number;\n};\n\nexport type TabletErrorsBaseParams = {\n start_timestamp: number;\n end_timestamp: number;\n methods?: Array<string>;\n count_limit: number;\n offset: number;\n fixed_end_timestamp?: unknown;\n};\n\nexport type TabletMethodError = {\n tablet_id: string;\n timestamp: number;\n method: string;\n error: YTError;\n};\n\nexport type MethodErrors = {\n method: string;\n errors: Array<TabletError>;\n fixed_end_timestamp: number;\n total_row_count: number;\n all_methods: Array<string>;\n error_count_limit_exceeded?: boolean;\n};\n\nexport type TabletError = {\n tablet_id: string;\n timestamp: number;\n error: YTError;\n method: string;\n host: string;\n};\n\nexport type TabletErrorsApi = {\n tablet_errors_by_bundle: {\n body: TabletErrorsBaseParams & {tablet_cell_bundle: string; table_path?: string};\n response: TabletErrorsByBundleResponse;\n };\n tablet_errors_by_table: {\n body: TabletErrorsBaseParams & {table_path: string; table_id: string; tablet_id?: string};\n response: MethodErrors;\n };\n tablet_errors_by_table_and_timestamp: {\n body: TabletErrorsBaseParams & {table_id: string};\n response: Array<TabletMethodError>;\n };\n};\n\nexport function fetchFromTabletErrorsApi<K extends keyof TabletErrorsApi>(\n action: K,\n cluster: string,\n params: TabletErrorsApi[K]['body'],\n cancelToken: CancelToken,\n): Promise<AxiosResponse<TabletErrorsApi[K]['response']>> {\n type ApiMethod = TabletErrorsApi[K];\n\n return axios.post<\n ApiMethod['response'],\n AxiosResponse<ApiMethod['response']>,\n ApiMethod['body']\n >(`/api/tablet-errors/${cluster}/${action}`, {...params, cluster}, {cancelToken});\n}\n","import {I18N} from '@gravity-ui/i18n';\nimport en from './en.json';\n\nconst COMPONENT = 'timeline';\n\nconst i18n = new I18N();\ni18n.setLang('en');\n\ni18n.registerKeyset('en', COMPONENT, en);\n\nexport default i18n.keyset(COMPONENT);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {TextInput} from '@gravity-ui/uikit';\n\nexport class EnterInput extends React.Component {\n static propTypes = {\n autoselect: PropTypes.bool,\n onCancel: PropTypes.func,\n onDone: PropTypes.func,\n onUpdate: PropTypes.func,\n size: PropTypes.string,\n };\n state = {};\n static getDerivedStateFromProps(props, state) {\n const {text} = props;\n if (state.previousText === text) {\n return state;\n } else {\n return {\n text,\n previousText: props.text,\n };\n }\n }\n componentDidMount() {\n if (this.props.autoselect) {\n this.focus();\n this.select();\n }\n }\n focus() {\n if (this.inputRef.current) {\n this.inputRef.current.focus();\n }\n }\n select() {\n if (this.inputRef.current) {\n this.inputRef.current.select();\n }\n }\n inputRef = React.createRef();\n onKeyDown = (event) => {\n switch (event.key) {\n case 'Enter':\n this.props.onDone(this.state.text);\n break;\n case 'Escape': {\n this.props.onCancel();\n }\n }\n };\n onBlur = () => {\n this.props.onCancel();\n };\n onUpdate = (text) => {\n this.setState({text});\n if (this.props.onUpdate) {\n this.props.onUpdate(text);\n }\n };\n render() {\n const {size, placeholder, autoFocus} = this.props; // eslint-disable-line no-unused-vars\n return (\n <TextInput\n controlRef={this.inputRef}\n size={size}\n placeholder={placeholder}\n value={this.state.text}\n autoFocus={autoFocus}\n onUpdate={this.onUpdate}\n onBlur={this.onBlur}\n onKeyDown={this.onKeyDown}\n />\n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Datepicker} from '../../Datepicker/Datepicker';\n\nexport class TimelineDatepicker extends React.Component {\n static propTypes = {\n separate: PropTypes.bool,\n controlWidth: PropTypes.oneOf([PropTypes.number, PropTypes.string]),\n from: PropTypes.number,\n to: PropTypes.number,\n onFromChange: PropTypes.func,\n onToChange: PropTypes.func,\n onRangeChange: PropTypes.func,\n };\n static defaultProps = {\n separate: false,\n controlWidth: '130px',\n };\n render() {\n const {from, to, separate, controlWidth} = this.props;\n return separate ? (\n <>\n <Datepicker\n range={false}\n controlWidth={controlWidth}\n onUpdate={this.props.onFromChange}\n format=\"dd.MM.yyyy HH:mm\"\n from={from}\n />\n {' — '}\n <Datepicker\n range={false}\n controlWidth={controlWidth}\n onUpdate={this.props.onToChange}\n format=\"dd.MM.yyyy HH:mm\"\n from={to}\n />\n </>\n ) : (\n <Datepicker\n onUpdate={this.props.onRangeChange}\n format=\"yyyy-MM-dd HH:mm\"\n from={from}\n to={to}\n />\n );\n }\n}\n","const SvgCalendar = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" {...props}><path fill=\"currentColor\" d=\"M12 7v3h3V7zm0 0v3h3V7zm4 0v3h3V7zM4 11v3h3v-3zm8 0v3h3v-3zm0 0v3h3v-3zm4 0v3h3v-3zM4 15v3h3v-3zm8 0v3h3v-3zm0 0v3h3v-3zM8 7v3h3V7zm0 0v3h3V7zm0 4v3h3v-3zm0 0v3h3v-3zm0 4v3h3v-3zm0 0v3h3v-3z\" /></svg>;\nexport default SvgCalendar;","import React, {Fragment} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {Button, ButtonProps, Icon, Popup} from '@gravity-ui/uikit';\n\nimport noop_ from 'lodash/noop';\nimport moment, {MomentInput} from 'moment';\nimport i18n from '../i18n';\nimport {formatInterval, formatTimeCanonical, getTimestampFromDate, humanizeInterval} from '../util';\n\nimport {EnterInput} from '../../EnterInput/EnterInput';\nimport {TimelineDatepicker} from './TimelineDatepicker';\nimport iconCalendar from '../../../../assets/img/svg/calendar.svg';\n\nimport './TimelinePicker.scss';\n\nconst b = cn('yc-timeline-picker');\nconst SHORTCUT_CUSTOM = 'custom';\n\ninterface TimeHotButtonProps extends Pick<ButtonProps, 'size' | 'width'> {\n className?: string;\n title?: React.ReactNode;\n\n checked?: boolean;\n time?: string;\n onClick(v?: string): void;\n}\n\nclass TimeHotButton extends React.Component<TimeHotButtonProps> {\n static propTypes = {\n size: PropTypes.string,\n width: PropTypes.string,\n className: PropTypes.string,\n title: PropTypes.string,\n time: PropTypes.string,\n checked: PropTypes.bool,\n onClick: PropTypes.func,\n };\n static defaultProps = {\n size: 'l',\n };\n onClick = () => {\n this.props.onClick(this.props.time);\n };\n render() {\n const {size, width, title, className, checked} = this.props;\n return (\n <Button\n view={checked ? 'normal' : 'flat-secondary'}\n size={size}\n width={width}\n onClick={this.onClick}\n className={className}\n >\n {title}\n </Button>\n );\n }\n}\n\nconst formatInputTime = (from?: MomentInput, to?: MomentInput) =>\n `${formatTimeCanonical(from)} - ${formatTimeCanonical(to)}`;\n\ninterface TimelinePickerProps {\n className?: string;\n\n from: number;\n to: number;\n\n onUpdate: (value: Pick<TimelinePickerProps, 'from' | 'to'>) => void;\n hasDatePicker?: boolean;\n\n onShortcut: (shortcut: string, title: string) => void;\n\n shortcut?: string;\n topShortcuts?: Array<ShorcutItem>;\n shortcuts?: Array<Array<ShorcutItem>>;\n}\n\ninterface ShorcutItem {\n title?: string;\n time: string;\n}\n\ninterface State {\n from: number;\n to: number;\n prevFrom?: number;\n prevTo?: number;\n opened?: boolean;\n customInput?: boolean;\n\n datetime?: string;\n}\n\nexport class TimelinePicker extends React.Component<TimelinePickerProps, State> {\n static propTypes = {\n from: PropTypes.number,\n to: PropTypes.number,\n shortcut: PropTypes.string,\n onUpdate: PropTypes.func.isRequired,\n onShortcut: PropTypes.func,\n hasDatePicker: PropTypes.bool,\n topShortcuts: PropTypes.array,\n shortcuts: PropTypes.array,\n };\n static defaultProps = {\n shortcuts: [],\n topShortcuts: [],\n };\n static getDerivedStateFromProps(props: TimelinePickerProps, state: State) {\n const {from, to} = props;\n if (state.prevFrom === from && state.prevTo === to) {\n return state;\n } else {\n return {\n from: from,\n to: to,\n prevFrom: from,\n prevTo: to,\n datetime: formatInputTime(from, to),\n };\n }\n }\n state: State = {} as any;\n _datepickerRef = React.createRef<HTMLDivElement>();\n _inputRef = React.createRef<EnterInput>();\n\n componentDidUpdate() {\n if (this.state.opened && this._inputRef.current) {\n this._inputRef.current?.focus();\n }\n }\n onCustomClick = () => {\n this.setState({customInput: true});\n };\n onCustomCancel = () => {\n this.setState({customInput: false});\n };\n onCustomDone = (value: string) => {\n this.setState({customInput: false});\n this.props.onShortcut?.(value, SHORTCUT_CUSTOM);\n };\n onOpenPickerClick = () => {\n this.setState({opened: true});\n };\n onPopupClose = (event: MouseEvent | KeyboardEvent) => {\n const inside = Boolean((event.target as Element)?.closest('.yc-datepicker-body'));\n if (!inside) {\n this.setState({opened: false});\n this.props.onUpdate({\n from: new Date(this.state.from).valueOf(),\n to: new Date(this.state.to).valueOf(),\n });\n }\n };\n onInputChange = (value: string) => {\n this.setState({datetime: value});\n };\n onInputDone = (value: string) => {\n const re =\n /(?:(\\d{4}-\\d{2}-\\d{2})(?:[ T]?(\\d{2}:\\d{2}))?)\\s*-\\s*(?:(\\d{4}-\\d{2}-\\d{2})?[ T]?(\\d{2}:\\d{2})?)/;\n const match = re.exec(value);\n if (match) {\n const [, fd, ft, td, tt] = match;\n const from = getTimestampFromDate(`${fd} ${ft}`);\n const to = getTimestampFromDate(`${td || fd} ${tt}`);\n if (!(isNaN(from) || isNaN(to))) {\n this.props.onUpdate({from, to});\n }\n this.setState({opened: false});\n }\n };\n onFromChange = ({from}: Pick<State, 'from'>) => {\n const {to} = this.state;\n this.setState({from: moment(from).valueOf(), datetime: formatInputTime(from, to)});\n };\n onToChange = ({from: to}: Pick<State, 'from'>) => {\n const {from} = this.state;\n this.setState({to: moment(to).valueOf(), datetime: formatInputTime(from, to)});\n };\n onRangeChange = ({from, to}: Pick<State, 'from' | 'to'>) => {\n this.setState({\n from,\n to,\n datetime: formatInputTime(from, to),\n });\n };\n onShortcutClick = (value: string) => {\n this.setState({opened: false});\n this.props.onShortcut?.(value, value);\n };\n onTopShortcutClick = (value: string) => {\n this.props.onShortcut?.(value, value);\n };\n renderOpenedPicker() {\n const {datetime} = this.state;\n return (\n <Fragment>\n {this.renderClosedPicker()}\n <EnterInput\n ref={this._inputRef}\n size=\"l\"\n text={datetime}\n autoselect={true}\n onUpdate={this.onInputChange}\n onDone={this.onInputDone}\n onCancel={noop_}\n />\n </Fragment>\n );\n }\n renderClosedPicker() {\n const {from, to} = this.props;\n return (\n <div className={b('date-text')}>\n <Icon data={iconCalendar} width={36} className={b('icon')} />\n <div className={b('text')}>{formatInterval(from, to)}</div>\n </div>\n );\n }\n renderShortcuts() {\n const {shortcut, shortcuts = []} = this.props;\n return (\n <div className={b('shortcut-pane')}>\n {shortcuts.map((group, index) => (\n <div key={index} className={b('shortcut-group')}>\n {group.map((item) => (\n <TimeHotButton\n key={item.time}\n {...item}\n size=\"m\"\n checked={shortcut === item.time}\n className={b('shortcut')}\n onClick={this.onShortcutClick}\n />\n ))}\n </div>\n ))}\n </div>\n );\n }\n\n renderCustomShortcut() {\n const {from, to, shortcut} = this.props;\n const isShortcutCustom = shortcut === SHORTCUT_CUSTOM;\n const {customInput} = this.state;\n\n return (\n <div className={b('hot-custom')} key=\"custom\">\n {customInput ? (\n <EnterInput\n autoFocus={true}\n placeholder=\"6h\"\n onCancel={this.onCustomCancel}\n onDone={this.onCustomDone}\n />\n ) : (\n <TimeHotButton\n checked={isShortcutCustom}\n onClick={this.onCustomClick}\n title={isShortcutCustom ? humanizeInterval(from, to) : i18n('label_custom')}\n width=\"max\"\n />\n )}\n </div>\n );\n }\n renderTopShortcuts = (item: ShorcutItem) => {\n const {shortcut} = this.props;\n if (item.time === SHORTCUT_CUSTOM) {\n return this.renderCustomShortcut();\n } else {\n return (\n <TimeHotButton\n key={item.time}\n {...item}\n checked={shortcut === item.time}\n className={b('hot')}\n onClick={this.onTopShortcutClick}\n />\n );\n }\n };\n render() {\n const {className, from, to, topShortcuts, hasDatePicker} = this.props;\n const {opened} = this.state;\n const picker = opened ? this.renderOpenedPicker() : this.renderClosedPicker();\n return (\n <div className={b(null, className)}>\n <div className={b('hot-buttons', {divider: hasDatePicker})}>\n {topShortcuts?.map(this.renderTopShortcuts)}\n </div>\n {hasDatePicker && (\n <React.Fragment>\n <div\n ref={this._datepickerRef}\n className={b('datepicker', {opened})}\n onClick={this.onOpenPickerClick}\n >\n {picker}\n </div>\n <Popup\n anchorRef={this._datepickerRef}\n open={opened}\n onClose={this.onPopupClose}\n >\n <div className={b('shortcuts')}>\n <div className={b('range-datepicker')}>\n <TimelineDatepicker\n from={from}\n to={to}\n onRangeChange={this.onRangeChange}\n onFromChange={this.onFromChange}\n onToChange={this.onToChange}\n />\n </div>\n <div className={b('shortcuts-title')}>\n {i18n('label_shortcut-list')}:\n </div>\n {this.renderShortcuts()}\n </div>\n </Popup>\n </React.Fragment>\n )}\n </div>\n );\n }\n}\n","/* eslint-disable valid-jsdoc */\nimport moment, {MomentInput, unitOfTime} from 'moment';\n\n/** @deprecated */\n\nexport const minute = 60 * 1000;\nexport const hour = minute * 60;\nexport const day = hour * 24;\nexport const week = day * 7;\nexport const month = day * 30;\nexport const year = day * 365;\n\n/**\n * Creates a human-readable representation of time interval\n * @param from Interval start, ms from epoch\n * @param to Interval end, ms from epoch\n * @returns Formatted string, e.g. 1d 3h\n */\nexport const humanizeInterval = (from: number, to: number) => {\n const duration = to - from;\n if (duration >= year) {\n const years = Math.floor(duration / year);\n const months = Math.floor((duration % year) / month);\n return months === 0 || years > 4 ? `${years}y` : `${years}y ${months}mo`;\n }\n if (duration >= month) {\n const months = Math.floor(duration / month);\n const days = Math.floor((duration % month) / day);\n return days === 0 || months > 4 ? `${months}mo` : `${months}mo ${days}d`;\n }\n if (duration >= week) {\n const weeks = Math.floor(duration / week);\n const days = Math.floor((duration % week) / day);\n return days === 0 || weeks > 3 ? `${weeks}w` : `${weeks}w ${days}d`;\n }\n if (duration >= day) {\n const days = Math.floor(duration / day);\n const hours = Math.floor((duration % day) / hour);\n return hours === 0 || days > 4 ? `${days}d` : `${days}d ${hours}h`;\n }\n if (duration >= hour) {\n const hours = Math.floor(duration / hour);\n const minutes = Math.floor((duration % hour) / minute);\n return minutes === 0 || hours > 6 ? `${hours}h` : `${hours}h ${minutes}m`;\n }\n const minutes = Math.round(duration / minute);\n return `${minutes}m`;\n};\n\nexport const formatInterval = (from: MomentInput, to: MomentInput) => {\n const mFrom = moment(from);\n const mTo = moment(to);\n if (mTo.isSame(mFrom, 'd')) {\n /* eslint-disable no-irregular-whitespace */\n return `${mFrom.format('YYYY-MM-DD  HH:mm')}  —  ${mTo.format('HH:mm')}`;\n } else {\n return `${mFrom.format('YYYY-MM-DD  HH:mm')}  —  ${mTo.format('YYYY-MM-DD  HH:mm')}`;\n /* eslint-enable no-irregular-whitespace */\n }\n};\n\nexport const formatTime = (date: MomentInput) => {\n return moment(date).format('HH:mm');\n};\n\nexport const formatTimeCanonical = (ts: MomentInput) => {\n return moment(ts).format('YYYY-MM-DD HH:mm');\n};\n\nexport const getTimestampFromDate = (date: MomentInput) => {\n return moment(date).valueOf();\n};\n\nconst rangeMap: Record<string, 'M' | undefined> = {\n mo: 'M',\n};\n\nexport const calculateBackTimestamp = (back: string, ts?: MomentInput) => {\n const time = moment(ts);\n const backRe = /(-?\\d+)([a-zA-Z]+)/g;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const match = backRe.exec(back);\n if (match) {\n const [, amount, rawRange] = match; // eslint-disable-line no-unused-vars\n const range = rangeMap[rawRange] || (rawRange as unitOfTime.DurationConstructor);\n time.subtract(amount, range);\n } else {\n break;\n }\n }\n return time.valueOf();\n};\n\nexport const calculateShortcutTime = (shortcut: string) => {\n const from = Date.now();\n const to = calculateBackTimestamp(shortcut, from);\n return from < to ? {from, to} : {from: to, to: from};\n};\n\nexport function convertTimeToRequestParams(time: {\n from?: number;\n to?: number;\n shortcut?: string;\n shortcutValue?: string;\n}) {\n if (!time) {\n return undefined;\n }\n\n const {from, to, shortcutValue} = time;\n return shortcutValue ? calculateShortcutTime(shortcutValue) : {from, to};\n}\n","import React, {FC} from 'react';\n\nimport {Button} from '@gravity-ui/uikit';\n\nimport cn from 'bem-cn-lite';\nimport {dateTimeParse} from '@gravity-ui/date-utils';\nimport {RangeDateSelection, RangeDateSelectionProps} from '@gravity-ui/date-components';\n\nimport './TimelineRuler.scss';\nimport {DateTime} from '@gravity-ui/date-utils/build/typings/dateTime';\n\nconst b = cn('yc-timeline-ruler');\n\ntype Props = {\n className?: string;\n displayNow?: boolean;\n from: number;\n to: number;\n maxRange?: number;\n minRange?: number;\n titles?: {\n now?: string;\n zoomIn?: string;\n zoomOut?: string;\n };\n zoomFixedPoint?: number;\n zoomSticksToNow?: boolean;\n hasNowButton?: boolean;\n onUpdate: (data: {from: number; to: number}) => void;\n} & Omit<RangeDateSelectionProps, 'onUpdate'>;\n\nexport const TimelineRuler: FC<Props> = ({\n from,\n to,\n className,\n displayNow = true,\n hasNowButton = true,\n titles,\n onUpdate,\n ...restProps\n}) => {\n const handeOnNowReset = () => {\n const now = Date.now();\n onUpdate({from: now - to + from, to: now});\n };\n\n const handleOnUpdate = (v: {start: DateTime; end: DateTime}) => {\n onUpdate({\n from: v.start.valueOf(),\n to: v.end.valueOf(),\n });\n };\n\n return (\n <div className={b(null, className)}>\n <div className={b('ruler')}>\n <RangeDateSelection\n {...restProps}\n value={{\n start: dateTimeParse(from)!,\n end: dateTimeParse(to)!,\n }}\n displayNow={displayNow}\n onUpdate={handleOnUpdate}\n />\n </div>\n {hasNowButton && (\n <Button\n view=\"flat\"\n title={titles?.now}\n className={b('now-button')}\n onClick={handeOnNowReset}\n >\n Now\n </Button>\n )}\n </div>\n );\n};\n","import React, {ReactNode} from 'react';\n\nimport cn from 'bem-cn-lite';\n\nimport {TimelinePicker} from '../common/Timeline/TimelinePicker/TimelinePicker';\nimport {TimelineRuler} from './TimelineRuler';\nimport {calculateShortcutTime} from '../common/Timeline/util';\n\nimport './Timeline.scss';\n\nconst b = cn('yc-timeline');\n\nexport interface TimelineProps {\n from: number;\n to: number;\n\n /** Minimal bounds range in ms (defaults to 5 minutes) */\n minRange?: number;\n /** Maximal bounds range in ms (defaults to 50 years) */\n maxRange?: number;\n shortcut?: string;\n onUpdate?: (timespan: {\n from: number;\n to: number;\n shortcut?: string;\n nowReset?: boolean;\n shortcutValue?: string;\n }) => void;\n shortcuts?: TimelineShortcut[][];\n topShortcuts?: TimelineShortcut[];\n hasPicker?: boolean;\n hasRuler?: boolean;\n hasDatePicker?: boolean;\n hasRulerNowButton?: boolean;\n hasRulerZoomButtons?: boolean;\n wrapper?: (props: TimelineWrapperProps) => ReactNode;\n zoomFixedPoint?: number;\n zoomSticksToNow?: boolean;\n}\n\nexport interface TimelineShortcut {\n title?: string;\n time: string;\n}\n\nexport interface TimelineWrapperProps {\n ruler: React.ReactNode;\n picker: React.ReactNode;\n}\n\nexport const TimelineDefaultWrapper = ({picker, ruler}: {picker: ReactNode; ruler: ReactNode}) => (\n <div className={b()}>\n {picker}\n {ruler}\n </div>\n);\n\nexport const timelineDefaultProps = {\n hasPicker: true,\n hasRuler: true,\n hasDatePicker: true,\n wrapper: TimelineDefaultWrapper,\n};\n\nexport class Timeline extends React.Component<TimelineProps> {\n static defaultProps = timelineDefaultProps;\n\n setTime = (data: {\n from: number;\n to: number;\n shortcut?: string;\n nowReset?: boolean;\n shortcutValue?: string;\n }) => {\n this.onUpdate(data);\n };\n\n onShortcut = (shortcut: string, shortcutName: string) => {\n const {from, to} = calculateShortcutTime(shortcut);\n if (this.props.onUpdate && to !== from) {\n this.props.onUpdate({from, to, shortcut: shortcutName, shortcutValue: shortcut});\n }\n };\n\n onUpdate(data: {\n from: number;\n to: number;\n shortcut?: string;\n nowReset?: boolean;\n shortcutValue?: string;\n }) {\n const {from, to} = {...this.props, ...data};\n if (\n this.props.onUpdate &&\n (from || to) &&\n !(from === this.props.from && to === this.props.to)\n ) {\n this.props.onUpdate({from, to});\n }\n }\n renderRuler() {\n if (this.props.hasRuler === false) {\n return null;\n }\n\n const {\n from,\n to,\n hasRulerNowButton,\n hasRulerZoomButtons,\n zoomFixedPoint,\n zoomSticksToNow,\n minRange,\n maxRange,\n } = this.props;\n return (\n <TimelineRuler\n className={b('ruler')}\n from={from}\n to={to}\n hasNowButton={hasRulerNowButton}\n hasScaleButtons={hasRulerZoomButtons}\n minRange={minRange}\n maxRange={maxRange}\n zoomFixedPoint={zoomFixedPoint}\n zoomSticksToNow={zoomSticksToNow}\n onUpdate={this.setTime}\n />\n );\n }\n renderPicker() {\n if (this.props.hasPicker === false || !this.props.topShortcuts?.length) {\n return null;\n }\n\n const {from, to, shortcut, shortcuts, topShortcuts, hasDatePicker} = this.props;\n\n return (\n <TimelinePicker\n className={b('picker')}\n from={from}\n to={to}\n hasDatePicker={hasDatePicker}\n shortcuts={shortcuts}\n shortcut={shortcut}\n topShortcuts={topShortcuts}\n onUpdate={this.setTime}\n onShortcut={this.onShortcut}\n />\n );\n }\n render() {\n return this.props.wrapper!({\n picker: this.renderPicker(),\n ruler: this.renderRuler(),\n });\n }\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport useResizeObserver from '../../hooks/useResizeObserver';\n\nimport {Timeline, TimelineProps} from './Timeline';\nimport {calculateShortcutTime} from '../common/Timeline/util';\n\nimport './YTTimeline.scss';\n\nconst block = cn('yt-timeline');\n\ninterface Props extends Omit<TimelineProps, 'padding' | 'hasPicker' | 'wrapper'> {\n className?: string;\n}\n\nconst DEFAULT_SHORTCUTS = [\n {\n title: '30m',\n time: '30m',\n },\n {\n title: '2h',\n time: '2h',\n },\n {\n title: '1d',\n time: '1d',\n },\n {\n title: '1w',\n time: '1w',\n },\n {\n title: '1mo',\n time: '1mo',\n },\n {\n time: 'custom',\n },\n];\n\nfunction YTTimelineImpl({className, topShortcuts, from, to, ...rest}: Props) {\n const [width, setWidth] = React.useState<number | undefined>();\n const [ref, setRef] = React.useState<HTMLDivElement | null>(null);\n\n const onResize = React.useCallback(\n ([item]: Array<ResizeObserverEntry>) => {\n const {width: w} = item?.contentRect || {};\n if (w !== width) {\n setWidth(w);\n }\n },\n [width, setWidth],\n );\n\n useResizeObserver({\n element: ref || undefined,\n onResize,\n });\n\n if (!from || !to) return null;\n\n return (\n <Timeline\n {...rest}\n from={from}\n to={to}\n hasPicker={true}\n topShortcuts={topShortcuts || DEFAULT_SHORTCUTS}\n wrapper={({ruler, picker}) => {\n return (\n <div className={block(null, className)} ref={setRef}>\n {picker}\n <div className={block('ruler')}>{ruler}</div>\n </div>\n );\n }}\n />\n );\n}\n\nexport type TimelineUpdateValue = Parameters<Required<TimelineProps>['onUpdate']>[0];\n\nexport const YTTimeline = React.memo(YTTimelineImpl);\n\nconst ONE_DAY_MS = 24 * 3600 * 1000;\n\nexport function calcFromTo(timeRange: {from?: number; to?: number; shortcutValue?: string}) {\n const {from = Math.floor(Date.now() - ONE_DAY_MS), to = Math.ceil(Date.now())} =\n timeRange.shortcutValue !== undefined\n ? calculateShortcutTime(timeRange.shortcutValue)\n : timeRange;\n\n return {...timeRange, from, to};\n}\n","import React from 'react';\nimport throttle_ from 'lodash/throttle';\n\nimport {TextInput, TextInputProps} from '@gravity-ui/uikit';\n\nexport interface TextInputWithDebounceProps extends TextInputProps {\n debounce?: number;\n onBlur?: (e: React.FocusEvent) => void;\n onEnterKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\nfunction TextInputWithDebounce(props: TextInputWithDebounceProps) {\n const {\n debounce = 400,\n onUpdate = () => {},\n onBlur,\n value,\n onEnterKeyDown,\n onKeyDown,\n ...rest\n } = props;\n\n const [input, setInput] = React.useState<string | undefined>();\n\n const handleChangeExt = React.useMemo(() => {\n return throttle_(onUpdate as any, debounce);\n }, [debounce, onUpdate]);\n\n const handleChange = React.useCallback(\n (text: string) => {\n setInput(text);\n handleChangeExt.cancel();\n handleChangeExt(text);\n },\n [handleChangeExt, setInput],\n );\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Enter' && onEnterKeyDown) {\n onEnterKeyDown(e);\n }\n },\n [onEnterKeyDown, onKeyDown],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setInput(undefined);\n\n if (onBlur) {\n onBlur(e);\n }\n },\n [setInput, onBlur],\n );\n\n return (\n <TextInput\n onUpdate={handleChange}\n {...rest}\n value={input === undefined ? value : input}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n );\n}\n\nexport default React.memo(TextInputWithDebounce);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {TextInput} from '@gravity-ui/uikit';\n\nimport Icon from '../Icon/Icon';\nimport Hotkey from '../../components/Hotkey/Hotkey';\n\nimport './Pagination.scss';\nimport Button from '../Button/Button';\n\nconst paginationControlComponent = PropTypes.shape({\n handler: PropTypes.func,\n target: PropTypes.func,\n disabled: PropTypes.bool,\n hotkey: PropTypes.string,\n hotkeyScope: PropTypes.string,\n hotkeyHandler: PropTypes.func,\n}).isRequired;\n\nconst supportedSizes = ['s', 'm', 'l'];\nconst block = cn('elements-pagination');\n\nexport default class Pagination extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n size: PropTypes.oneOf(supportedSizes),\n first: paginationControlComponent,\n previous: paginationControlComponent,\n next: paginationControlComponent,\n last: paginationControlComponent,\n tooltip: PropTypes.string,\n showInput: PropTypes.bool,\n inputValue: PropTypes.string,\n onChange: PropTypes.func,\n };\n static defaultProps = {\n size: 'm',\n showInput: false,\n };\n\n renderComponent(name, control) {\n const handler = control.handler;\n\n const disabled = typeof control.disabled === 'boolean' ? control.disabled : false;\n\n const {size, tooltip} = this.props;\n const hotkeySettings = [\n {\n keys: control.hotkey,\n scope: control.hotkeyScope,\n handler: control.hotkeyHandler,\n },\n ];\n\n return (\n <span title={tooltip}>\n <Button\n size={size}\n onClick={handler}\n disabled={disabled}\n className={block('control', {name})}\n title={\n {\n first: 'First page',\n previous: 'Previous page',\n next: 'Next page',\n last: 'Last page',\n }[name]\n }\n pin={\n {\n first: 'round-brick',\n previous: 'clear-brick',\n next: 'brick-clear',\n last: 'brick-round',\n }[name]\n }\n >\n <Icon\n awesome={\n {\n first: 'angle-double-left',\n previous: 'angle-left',\n next: 'angle-right',\n last: 'angle-double-right',\n }[name]\n }\n />\n </Button>\n {typeof control.hotkeyHandler !== 'undefined' && (\n <Hotkey settings={hotkeySettings} />\n )}\n </span>\n );\n }\n renderInput() {\n const {showInput, inputValue, onChange, size} = this.props;\n\n return showInput ? (\n <TextInput\n qa=\"yt-pagination_input\"\n size={size}\n type=\"text\"\n value={inputValue}\n onUpdate={onChange}\n pin={'clear-clear'}\n />\n ) : null;\n }\n render() {\n const {first, previous, next, last, className} = this.props;\n\n return (\n <div className={block(null, className)}>\n {this.renderComponent('first', first)}\n {this.renderComponent('previous', previous)}\n {this.renderInput()}\n {this.renderComponent('next', next)}\n {this.renderComponent('last', last)}\n </div>\n );\n }\n}\n","import React from 'react';\nimport Pagination from './Pagination';\n\ninterface Props {\n value?: number;\n min?: number;\n max?: number;\n onChange: (value: number) => void;\n disabled?: boolean;\n step?: number;\n className?: string;\n}\n\nfunction SimplePagination(props: Props) {\n const {value = NaN, min = NaN, max = NaN, onChange, disabled, step = 1, className} = props;\n\n const firstDiff = isNaN(value) || isNaN(min) ? 0 : value - min;\n const lastDiff = isNaN(value) || isNaN(max) ? 0 : max - value;\n\n const handleToFirst = React.useCallback(() => {\n onChange(min);\n }, [min, onChange]);\n\n const handleToPrev = React.useCallback(() => {\n const newValue = value - step;\n onChange(newValue < min ? min : newValue);\n }, [min, value, step, onChange]);\n\n const handleToNext = React.useCallback(() => {\n const newValue = value + step;\n onChange(newValue > max ? max : newValue);\n }, [max, value, step, onChange]);\n\n const handleToLast = React.useCallback(() => {\n onChange(max);\n }, [max, onChange]);\n\n return (\n <Pagination\n className={className}\n first={{\n handler: handleToFirst,\n disabled: firstDiff === 0 || disabled,\n }}\n previous={{\n handler: handleToPrev,\n disabled: firstDiff === 0 || disabled,\n }}\n next={{\n handler: handleToNext,\n disabled: lastDiff === 0 || disabled,\n }}\n last={{\n handler: handleToLast,\n disabled: lastDiff === 0 || disabled,\n }}\n />\n );\n}\n\nexport default React.memo(SimplePagination);\n"],"names":["getTabletErrorsByBundleData","state","tabletErrors","tabletErrorsByBundle","data","getTabletErrorsByBundleLoading","loading","getTabletErrorsByBundleLoaded","loaded","getTabletErrorsByBundleError","error","getTabletErrorsByBundleTimeRangeFilter","timeRangeFilter","getTabletErrorsByBundleMethodsFilter","methodsFilter","getTabletErrorsByBundlePageFilter","pageFilter","getTabletErrorsByBundleTablePathFilter","tablePathFilter","getTabletErrorsByBundlePageCount","_state$tabletErrors$t","Math","max","ceil","total_row_count","ROWS_PER_PAGE","cancelHelper","CancelHelper","block","cn","TabletErrorsByBundleToolbar","_ref","_useSelector","bundle","className","dispatch","useDispatch","_ref2$all_methods","useSelector","all_methods","pageCount","_useTabletErrorsLoad","_ref4","React","page","params","_calcFromTo","calcFromTo","from","to","_objectSpread","tablet_cell_bundle","start_timestamp","floor","end_timestamp","methods","length","undefined","table_path","getState","tabletErrorsByBundleActions","onRequest","cluster","getCluster","fetchFromTabletErrorsApi","offset","count_limit","fixed_end_timestamp","removeAllAndGenerateNextToken","then","onSuccess","onError","useTabletErrorsLoad","_jsxs","children","_jsx","YTTimeline","shortcut","shortcutValue","onUpdate","_ref3","updateFilter","hasRuler","Toolbar","itemsToWrap","node","SimplePagination","value","min","onChange","v","TextInputWithDebounce","placeholder","Select","multiple","label","items","map","text","hasClear","maxVisibleValuesTextLength","docsUrl","HelpLink","url","UIFactory","docsUrls","TabletErrorsByBundle","_useTabletErrorsColum","_ref2","_ref2$errors","errors","_ref2$presented_metho","presented_methods","teMethods","teTime","columns","name","header","ColumnHeader","column","pageIndex","render","row","Link","makeNavigationLink","path","navmode","teMode","moment","last_error_timestamp","format","width","concat","_toConsumableArray","method","title","_ref5","_row$method_counts","Number","method_counts","align","useTabletErrorsColumns","WithStickyToolbar","hideToolbarShadow","toolbar","doubleHeight","content","Boolean","YTErrorBlock","DataTableYT","useThemeYT","settings","DATA_TABLE_YT_SETTINGS_UNDER_TOOLBAR_DOUBLE_HEIGHT","action","cancelToken","axios","post","Set","COMPONENT","i18n","I18N","setLang","registerKeyset","en","keyset","EnterInput","_React$Component","_this","_classCallCheck","_len","arguments","args","Array","_key","_callSuper","inputRef","onKeyDown","event","key","props","onDone","onCancel","onBlur","setState","_inherits","_createClass","this","autoselect","focus","select","current","_this$props","size","autoFocus","TextInput","controlRef","previousText","TimelineDatepicker","separate","controlWidth","_Fragment","Datepicker","range","onFromChange","onToChange","onRangeChange","defaultProps","xmlns","viewBox","fill","d","b","SHORTCUT_CUSTOM","TimeHotButton","onClick","time","checked","Button","view","formatInputTime","formatTimeCanonical","TimelinePicker","_React$Component2","_this2","_len2","_key2","_datepickerRef","_inputRef","onCustomClick","customInput","onCustomCancel","onCustomDone","_this2$props$onShortc","_this2$props","onShortcut","call","onOpenPickerClick","opened","onPopupClose","_event$target","target","closest","Date","valueOf","onInputChange","datetime","onInputDone","match","exec","_match","_slicedToArray","fd","ft","td","tt","getTimestampFromDate","isNaN","onShortcutClick","_this2$props$onShortc2","_this2$props2","onTopShortcutClick","_this2$props$onShortc3","_this2$props3","renderTopShortcuts","item","renderCustomShortcut","_this$_inputRef$curre","Fragment","renderClosedPicker","ref","noop_","_this$props2","Icon","iconCalendar","formatInterval","_this3","_this$props3","_this$props3$shortcut","shortcuts","group","index","_this$props4","isShortcutCustom","humanizeInterval","_this$props5","topShortcuts","hasDatePicker","picker","renderOpenedPicker","divider","Popup","anchorRef","open","onClose","renderShortcuts","prevFrom","prevTo","hour","minute","day","week","month","year","duration","years","months","days","weeks","hours","minutes","round","mFrom","mTo","isSame","formatTime","date","ts","rangeMap","mo","calculateShortcutTime","now","back","backRe","amount","rawRange","subtract","calculateBackTimestamp","convertTimeToRequestParams","TimelineRuler","_ref$displayNow","displayNow","_ref$hasNowButton","hasNowButton","titles","restProps","_objectWithoutProperties","_excluded","RangeDateSelection","start","dateTimeParse","end","timelineDefaultProps","hasPicker","wrapper","ruler","Timeline","setTime","shortcutName","_calculateShortcutTim","_this$props$data","hasRulerNowButton","hasRulerZoomButtons","zoomFixedPoint","zoomSticksToNow","minRange","maxRange","hasScaleButtons","_this$props$topShortc","renderPicker","renderRuler","DEFAULT_SHORTCUTS","YTTimelineImpl","rest","_React$useState","_React$useState2","setWidth","_React$useState3","_React$useState4","setRef","onResize","w","contentRect","useResizeObserver","element","ONE_DAY_MS","timeRange","_ref6","_ref6$from","_ref6$to","_props$debounce","debounce","_props$onUpdate","onEnterKeyDown","input","setInput","handleChangeExt","throttle_","handleChange","cancel","handleKeyDown","e","handleBlur","Pagination","control","handler","disabled","tooltip","hotkeySettings","keys","hotkey","scope","hotkeyScope","hotkeyHandler","first","previous","next","last","pin","awesome","Hotkey","showInput","inputValue","qa","type","renderComponent","renderInput","_props$value","NaN","_props$min","_props$max","_props$step","step","firstDiff","lastDiff","handleToFirst","handleToPrev","newValue","handleToNext","handleToLast"],"sourceRoot":""}