@ytsaurus/ui 1.60.0 → 1.60.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 +9 -9
- package/dist/public/build/js/{1059.af1816c7.chunk.js → 1059.f3a958be.chunk.js} +2 -2
- package/dist/public/build/js/1059.f3a958be.chunk.js.map +1 -0
- package/dist/public/build/js/main.bb14955c.js +3 -0
- package/dist/public/build/js/{main.1476e80c.js.map → main.bb14955c.js.map} +1 -1
- package/dist/public/build/js/{runtime.383e3387.js → runtime.44f0a61b.js} +2 -2
- package/dist/public/build/js/{runtime.383e3387.js.map → runtime.44f0a61b.js.map} +1 -1
- package/dist/public/build/manifest.json +6 -6
- package/dist/server/utils/index.js +1 -1
- package/dist/shared/ui-settings.d.ts +1 -1
- package/package.json +2 -2
- package/dist/public/build/js/1059.af1816c7.chunk.js.map +0 -1
- package/dist/public/build/js/main.1476e80c.js +0 -3
- /package/dist/public/build/js/{main.1476e80c.js.LICENSE.txt → main.bb14955c.js.LICENSE.txt} +0 -0
@@ -57,9 +57,9 @@
|
|
57
57
|
"main": {
|
58
58
|
"assets": {
|
59
59
|
"js": [
|
60
|
-
"js/runtime.
|
60
|
+
"js/runtime.44f0a61b.js",
|
61
61
|
"js/vendors.2663371a.js",
|
62
|
-
"js/main.
|
62
|
+
"js/main.bb14955c.js"
|
63
63
|
],
|
64
64
|
"css": [
|
65
65
|
"css/main.4d27db06.css"
|
@@ -70,8 +70,8 @@
|
|
70
70
|
"js/1005.68861285.chunk.js": "js/1005.68861285.chunk.js",
|
71
71
|
"js/1005.68861285.chunk.js.LICENSE.txt": "js/1005.68861285.chunk.js.LICENSE.txt",
|
72
72
|
"js/1005.68861285.chunk.js.map": "js/1005.68861285.chunk.js.map",
|
73
|
-
"js/1059.
|
74
|
-
"js/1059.
|
73
|
+
"js/1059.f3a958be.chunk.js": "js/1059.f3a958be.chunk.js",
|
74
|
+
"js/1059.f3a958be.chunk.js.map": "js/1059.f3a958be.chunk.js.map",
|
75
75
|
"js/1091.16e99ec0.chunk.js": "js/1091.16e99ec0.chunk.js",
|
76
76
|
"js/1091.16e99ec0.chunk.js.LICENSE.txt": "js/1091.16e99ec0.chunk.js.LICENSE.txt",
|
77
77
|
"js/1091.16e99ec0.chunk.js.map": "js/1091.16e99ec0.chunk.js.map",
|
@@ -620,12 +620,12 @@
|
|
620
620
|
"js/9991.feef4667.chunk.js": "js/9991.feef4667.chunk.js",
|
621
621
|
"js/9991.feef4667.chunk.js.map": "js/9991.feef4667.chunk.js.map",
|
622
622
|
"js/acl.5dc42399.chunk.js.map": "js/acl.5dc42399.chunk.js.map",
|
623
|
-
"js/main.
|
624
|
-
"js/main.
|
623
|
+
"js/main.bb14955c.js.LICENSE.txt": "js/main.bb14955c.js.LICENSE.txt",
|
624
|
+
"js/main.bb14955c.js.map": "js/main.bb14955c.js.map",
|
625
625
|
"js/manage-tokens.1f55c051.chunk.js.map": "js/manage-tokens.1f55c051.chunk.js.map",
|
626
626
|
"js/navigation-flow.a65df5e6.chunk.js.map": "js/navigation-flow.a65df5e6.chunk.js.map",
|
627
627
|
"js/query-navigation.182bd809.chunk.js.map": "js/query-navigation.182bd809.chunk.js.map",
|
628
|
-
"js/runtime.
|
628
|
+
"js/runtime.44f0a61b.js.map": "js/runtime.44f0a61b.js.map",
|
629
629
|
"js/vcs.8add27e4.chunk.js.map": "js/vcs.8add27e4.chunk.js.map",
|
630
630
|
"js/vendors.2663371a.js.LICENSE.txt": "js/vendors.2663371a.js.LICENSE.txt",
|
631
631
|
"js/vendors.2663371a.js.map": "js/vendors.2663371a.js.map",
|
@@ -637,14 +637,14 @@
|
|
637
637
|
"json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
|
638
638
|
"json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
|
639
639
|
"main.css": "css/main.4d27db06.css",
|
640
|
-
"main.js": "js/main.
|
640
|
+
"main.js": "js/main.bb14955c.js",
|
641
641
|
"manage-tokens.css": "css/manage-tokens.67f9bab0.chunk.css",
|
642
642
|
"manage-tokens.js": "js/manage-tokens.1f55c051.chunk.js",
|
643
643
|
"navigation-flow.css": "css/navigation-flow.cdcf90a6.chunk.css",
|
644
644
|
"navigation-flow.js": "js/navigation-flow.a65df5e6.chunk.js",
|
645
645
|
"query-navigation.css": "css/query-navigation.e3c048b9.chunk.css",
|
646
646
|
"query-navigation.js": "js/query-navigation.182bd809.chunk.js",
|
647
|
-
"runtime.js": "js/runtime.
|
647
|
+
"runtime.js": "js/runtime.44f0a61b.js",
|
648
648
|
"vcs.css": "css/vcs.ca6825ac.chunk.css",
|
649
649
|
"vcs.js": "js/vcs.8add27e4.chunk.js",
|
650
650
|
"vendors.js": "js/vendors.2663371a.js",
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[1059],{11059:(e,n,t)=>{t.r(n),t.d(n,{default:()=>An});var r=t(9736),a=t(40319),i=t(77810),s=t(15647),l=t(83685),u=t(46493),o=t(35788),c=t(55956),d=t(21347),f=t(63192),m=function(e){var n=e.shouldListen,t=(0,i.useCallback)((function(e){e.preventDefault(),e.returnValue=!0}),[]);(0,i.useEffect)((function(){return n&&window.addEventListener("beforeunload",t),function(){return window.removeEventListener("beforeunload",t)}}),[n])},v=t(1215),h=t(66853),A=t(68175),x=t(76872),p=t(4224),y=t(41655),j=t.n(y),g=t(94904),w=t.n(g),b=t(11700),N=t.n(b),C=t(85137),k=t(27222),q=t(9395),S=t(31966),M=t(16554),T=t(73822),L=t(14391),E=t(24297),I=t(18309),z=t(77318),R=function(){var e=(0,s.d4)(S.hj),n=(0,s.d4)(S.OP),t=(0,s.wA)();return[e,n,(0,i.useCallback)((function(e,n){t((0,q.$h)((0,A.A)({},e,n)))}),[t])]},V=t(37267),H=t(21003),O=t(52797),_=function(){var e=(0,s.d4)(h.$Z),n=(0,s.d4)(O.dB),t=(0,l.W6)(),r=(0,i.useCallback)((function(e){t.push((0,H.C)(n,e.id))}),[t]);return[null==e?void 0:e.id,r]},F=t(13322),D=t(13894),Q=t(51806),P=t(60620),U=t(51194),W=t(64922);function B(e){var n,t=e.query,s=e.className,l=(0,i.useState)(void 0),u=(0,r.A)(l,2),o=u[0],d=u[1],f=(0,i.useState)(!1),m=(0,r.A)(f,2),v=m[0],h=m[1],A=t.state,x=(0,U._)(),p=(0,i.useMemo)((function(){var e;return{name:(null===(e=t.annotations)||void 0===e?void 0:e.title)||""}}),[null===(n=t.annotations)||void 0===n?void 0:n.title]);return"completed"===A||"failed"===A||"draft"===A?(0,W.jsxs)("div",{className:s,onClick:function(e){e.stopPropagation()},onKeyDown:function(e){e.stopPropagation()},children:[(0,W.jsx)(Q.A,{onClick:function(){h(!0)},view:"flat-secondary",size:"m",width:"auto",children:(0,W.jsx)(P.A,{awesome:"pencil"})}),v?(0,W.jsx)(D.yZ,{pristineSubmittable:!0,visible:v,modal:!0,headerProps:{title:"Edit query name"},footerProps:{textApply:"Save"},onClose:function(){d(void 0),h(!1)},onAdd:function(e){return(n=e.getState().values.name,x((0,c.av)(t.id,(0,a.A)((0,a.A)({},t.annotations),{},{title:n})))).catch((function(e){throw d(e),e}));var n},initialValues:p,fields:[{name:"name",type:"text",required:!0,caption:"Name",extras:{placeholder:"Enter query name"}}].concat((0,F.A)((0,D.Y)([o])))}):null]}):null}var Z=t(82964),K=t(10332),Y=t.n(K),$=t(97941),G=t(6708),J=function(e){var n=e.type,t=(0,s.wA)(),r=(0,s.d4)(S.mX),a=function(e){t((0,G.rw)("global::queryTracker::history::Columns",e.items.filter((function(e){return e.checked})).map((function(e){return e.name}))))};return i.useMemo((function(){var e=Y()(oe,ue,"name").map((function(e){return e.name})),t=[te.name,se.name],i=n===$.AK.My?ue:oe,s=new Set(Array.isArray(r)?r:e);return s.add(te.name),s.add(se.name),{columns:i.filter((function(e){var n=e.name;return s.has(n)})),allowedColumns:i.filter((function(e){return!t.includes(e.name)})).map((function(e){var n=e.name;return{name:n,checked:s.has(n)}})),handleColumnChange:a}}),[n,r])},X=(0,x.A)("queries-history-list"),ee=(0,x.A)("query-history-item");var ne=function(e){return void 0!==e.header},te={name:"Name",align:"left",className:ee("name_row"),render:function(e){var n,t=e.row;if(ne(t))return(0,W.jsx)("div",{className:ee("separator"),children:t.header});var r=null===(n=t.annotations)||void 0===n?void 0:n.title;return(0,W.jsxs)("div",{className:ee("name"),title:r,children:[(0,W.jsx)(M.g,{className:ee("status-icon"),status:t.state}),(0,W.jsx)(C.E,{className:ee("name-container"),color:r?"primary":"secondary",ellipsis:!0,children:r||"No name"}),(0,W.jsx)(B,{className:ee("name-edit"),query:t})]})}},re={name:"Type",align:"center",width:60,render:function(e){var n=e.row;return ne(n)?null:(0,W.jsx)(C.E,{variant:"body-1",color:"secondary",children:n.engine in I.ix?I.ix[n.engine]:n.engine})}},ae={name:"Duration",align:"left",width:100,render:function(e){var n=e.row;return ne(n)?null:n.state===c.RE.RUNNING?T.A.format.NO_VALUE:(0,W.jsx)(V.H,{query:n})}},ie={name:"Started",align:"left",width:60,render:function(e){var n=e.row;return ne(n)?null:(0,W.jsx)(C.E,{variant:"body-1",color:"secondary",children:(0,E.fU)(n.start_time)})}},se={name:"Author",align:"left",width:120,className:ee("author_row"),render:function(e){var n=e.row;return ne(n)?null:(0,W.jsx)(C.E,{variant:"body-1",ellipsis:!0,title:n.user,children:n.user})}},le={name:"ACO",align:"left",width:60,className:ee("access_control_object"),render:function(e){var n,t=e.row;if(ne(t))return null;var r=null===(n=t.access_control_objects)||void 0===n?void 0:n.join(", ");return(0,W.jsx)(C.E,{variant:"body-1",ellipsis:!0,title:r,children:r})}},ue=[te,re,ae,ie,le],oe=[te,re,ae,se,ie,le],ce={displayIndices:!1,sortable:!1,stickyHead:k.Ay.MOVING,syncHeadOnResize:!0};function de(){var e,n,t,a,l=(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e3,n=(0,s.wA)();(0,i.useEffect)((function(){var t;return function r(){t=setTimeout((function(){n((0,q.EI)(r))}),e)}(),function(){t&&clearTimeout(t)}}),[e,n])}(),e=(0,i.useContext)(o.o),n=(0,s.d4)(S.Hq),t=(0,s.wA)(),a=(0,i.useMemo)((function(){return function(e){t({type:Z.W,data:e})}}),[t]),(0,i.useEffect)((function(){null!=n&&n.length&&e.watch(n,a)}),[e,a,n]),(0,v.kL)()),u=(0,r.A)(l,2),c=u[0],d=u[1],f=R(),m=(0,r.A)(f,1)[0],h=J({type:m.user}).columns,A=(0,s.d4)(S.xh),x=(0,v.m4)(),p=x.first,y=x.last,g=x.goBack,b=x.goNext,C=x.goFirst,k=_(),M=(0,r.A)(k,2),T=M[0],E=M[1],I=(0,i.useRef)(null);(0,i.useEffect)((function(){null!=I&&I.current&&(I.current.scrollTop=0)}),[I,A]);var V=(0,i.useCallback)((function(e){return ne(e)?ee({header:Boolean(e.header)}):ee({selected:e.id===T})}),[T]),H=(0,i.useMemo)((function(){return Object.entries(w()(c,(function(e){return j()(e.start_time).format("DD MMMM YYYY")}))).reduce((function(e,n){var t=(0,r.A)(n,2),a=t[0],i=t[1];return e.push({header:a}),e.concat(i.map((function(e){return e})))}),[])}),[c]);return(0,W.jsx)("div",{className:X(),children:(0,W.jsxs)("div",{className:X("list-wrapper"),ref:I,children:[(0,W.jsx)(z.Ay,{className:X("list"),loading:d,columns:h,data:H,useThemeYT:!0,rowKey:function(e){return ne(e)?e.header:e.id},onRowClick:function(e){ne(e)||E(e)},disableRightGap:!0,settings:ce,rowClassName:V,getColSpansOfRow:function(e){var n=e.row;if(ne(n))return{Name:h.length}}}),(0,W.jsx)("div",{className:X("pagination"),children:(!p||!y)&&(0,W.jsx)(L.A,{size:"m",first:{handler:C,disabled:p},previous:{handler:g,disabled:p},next:{handler:b,disabled:y},last:{handler:N(),disabled:!0}})})]})})}var fe=t(72679),me=t(86022),ve=t(91326);const he=function(e){return(0,W.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 14"},e),{},{children:(0,W.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.836 2.202 1.74 4.386a.396.396 0 0 0 0 .728l5.096 2.184a2.5 2.5 0 0 0 .985.202h.358a2.5 2.5 0 0 0 .985-.202l5.096-2.184a.396.396 0 0 0 0-.728L9.164 2.202A2.5 2.5 0 0 0 8.179 2h-.358a2.5 2.5 0 0 0-.985.202M1.5 6.642l1.5.644v3.228a2 2 0 0 0 1.106 1.789l.806.403a7 7 0 0 0 6.193.033l.909-.442a2 2 0 0 0 1.125-1.798V7.226l1.712-.734a1.896 1.896 0 0 0 0-3.484L9.755.823A4 4 0 0 0 8.179.5h-.358a4 4 0 0 0-1.576.323L1.15 3.008A1.9 1.9 0 0 0 0 4.75v4.5a.75.75 0 0 0 1.5 0zm3 3.872V7.929l1.745.748A4 4 0 0 0 7.821 9h.358a4 4 0 0 0 1.576-.323l1.884-.808v2.63a.5.5 0 0 1-.282.45l-.909.442a5.5 5.5 0 0 1-4.865-.027l-.807-.403a.5.5 0 0 1-.276-.447",clipRule:"evenodd"})}))};var Ae=(0,x.A)("query-tutorial-item"),xe=(0,x.A)("queries-tutorial-list");function pe(e){var n,t;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(fe.I,{className:Ae("icon"),data:he}),(0,W.jsx)(C.E,{className:Ae("text"),ellipsis:!0,title:null==e||null===(n=e.annotations)||void 0===n?void 0:n.title,children:(null==e||null===(t=e.annotations)||void 0===t?void 0:t.title)||"No name"})]})}function ye(e){var n=e.className,t=(0,v.kL)(),a=(0,r.A)(t,2),s=a[0],l=a[1],u=_(),o=(0,r.A)(u,2),c=o[0],d=o[1],f=(0,i.useMemo)((function(){return s.findIndex((function(e){return e.id===c}))}),[c,s]),m=(0,i.useMemo)((function(){return function(e){return function(n){var t;return(null==n||null===(t=n.annotations)||void 0===t||null===(t=t.title)||void 0===t?void 0:t.toLocaleLowerCase().includes(e.toLocaleLowerCase()))||!1}}}),[]);return(0,W.jsxs)("div",{className:xe(null,n),children:[(0,W.jsx)(me.B,{className:xe("list",{loading:l}),filterable:!0,filterClassName:xe("filter"),filterPlaceholder:"Filter by name",filterItem:m,virtualized:!1,selectedItemIndex:f,sortable:!1,itemHeight:32,itemClassName:Ae(),items:l?[]:s,renderItem:pe,onItemClick:d}),l&&(0,W.jsx)("div",{className:xe("loader"),children:(0,W.jsx)(ve.a,{size:"l"})})]})}var je=t(79726),ge=t(88786),we=t(79703),be="__all";function Ne(e){var n=e.value,t=e.onChange,r=e.className,a=e.engines,s=void 0===a?c.qS:a,l=(0,i.useMemo)((function(){return[{value:be,content:"All"}].concat((0,F.A)(s.map((function(e){return{value:e,content:I.ix[e]}}))))}),[s]),u=(0,i.useCallback)((function(e){t(e===be?void 0:e)}),[t]);return(0,W.jsx)(je.a,{className:r,options:l,value:n||be,onUpdate:u})}var Ce=t(65692),ke=t(24503),qe=t.n(ke);function Se(e){var n=e.value,t=e.placeholder,a=e.onChange,s=e.delay,l=void 0===s?200:s,u=(0,i.useState)(n||""),o=(0,r.A)(u,2),c=o[0],d=o[1],f=(0,i.useMemo)((function(){return qe()((function(e){a(e)}),l)}),[a,l]);return(0,i.useEffect)((function(){return f(c),function(){f.cancel()}}),[c,f]),(0,W.jsx)(Ce.k,{placeholder:t,value:c,onBlur:function(){return f.flush()},onUpdate:d})}var Me=t(15034),Te=t(5172),Le=[{value:$.AK.My,content:"My"},{value:$.AK.All,content:"All"}],Ee=(0,x.A)("queries-history-filter");function Ie(e){var n=e.className,t=R(),a=(0,r.A)(t,3),s=a[0],l=a[1],u=a[2],o=J({type:s.user}),c=o.allowedColumns,d=o.handleColumnChange,f=(0,i.useCallback)((function(e){u("user",e)}),[u]),m=(0,i.useCallback)((function(e){u("engine",e)}),[u]),v=(0,i.useCallback)((function(e){u("filter",e||void 0)}),[u]);return(0,W.jsxs)("div",{className:Ee(null,n),children:[(0,W.jsxs)("div",{className:Ee("row"),children:[l===$.e8.History&&(0,W.jsx)(je.a,{options:Le,value:(null==s?void 0:s.user)||$.AK.My,onUpdate:f}),(0,W.jsx)(Ne,{value:null==s?void 0:s.engine,onChange:m})]}),l===$.e8.History&&(0,W.jsxs)("div",{className:Ee("row"),children:[(0,W.jsx)(Se,{placeholder:"Search in query name, body and access control",value:null==s?void 0:s.filter,onChange:v}),(0,W.jsx)(ge.m,{content:(0,W.jsxs)(W.Fragment,{children:["Search in query text, annotations and access control",(0,W.jsx)("br",{}),'Use `"title"="test_name"` to search in query name',(0,W.jsx)("br",{}),"Use `aco:nobody` to search in query access control"]}),children:(0,W.jsx)(fe.I,{data:we.A,size:16})}),(0,W.jsx)(Me.A,{trigger:"click",directions:["bottom"],button:(0,W.jsx)(Q.A,{pin:"round-round",className:Ee("columns-button"),children:(0,W.jsx)(P.A,{awesome:"table",face:"light"})}),template:(0,W.jsx)(Te.A,{items:c,onChange:d})})]})]})}var ze,Re=t(28407),Ve=t(70232),He=t.n(Ve),Oe=t(33882),_e=(0,Oe.A)((0,i.lazy)((0,Re.A)(He().mark((function e(){return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.e(4533).then(t.bind(t,54392));case 2:return e.t0=e.sent.Vcs,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),Fe=(0,Oe.A)((0,i.lazy)((0,Re.A)(He().mark((function e(){return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([t.e(5040),t.e(1040)]).then(t.bind(t,95955));case 2:return e.t0=e.sent.Navigation,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),De=(0,x.A)("queires-list"),Qe=(ze={},(0,A.A)(ze,$.e8.History,"History"),(0,A.A)(ze,$.e8.Tutorials,"Tutorials"),(0,A.A)(ze,$.e8.VCS,"VCS"),(0,A.A)(ze,$.e8.Navigation,"Navigation"),ze),Pe=function(){var e=(0,s.wA)(),n=(0,s.d4)(S.OP),t=(0,i.useCallback)((function(n){e((0,q.wD)(n))}),[e]);return[(0,i.useMemo)((function(){return $.ZQ.map((function(e){return{id:e,title:Qe[e]}}))}),[]),(n||$.e8.History).toString(),t]};function Ue(){var e=Pe(),n=(0,r.A)(e,3),t=n[0],a=n[1],l=n[2],u=(0,s.wA)();(0,i.useEffect)((function(){u((0,q.et)())}),[u]);var o=a===$.e8.VCS;return a===$.e8.Navigation?(0,W.jsxs)("div",{className:De(),children:[(0,W.jsx)(p.t,{className:De("tabs"),items:t,activeTab:a,onSelectTab:l}),(0,W.jsx)("div",{className:De("content"),children:(0,W.jsx)(Fe,{})})]}):(0,W.jsxs)("div",{className:De(),children:[(0,W.jsx)(p.t,{className:De("tabs"),items:t,activeTab:a,onSelectTab:l}),(0,W.jsxs)("div",{className:De("content"),children:[!o&&(0,W.jsx)(Ie,{className:De("filter")}),a===$.e8.History&&(0,W.jsx)(de,{}),a===$.e8.Tutorials&&(0,W.jsx)(ye,{className:De("list-content")}),o&&(0,W.jsx)(_e,{})]})]})}var We=t(73202),Be=t(82785),Ze=t(46399),Ke=t(10645),Ye=t(56742),$e=t(45035),Ge=t(57660),Je=t(30469),Xe=t(28099);const en=function(e){return(0,W.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,W.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M8.75 3.5H12A1.5 1.5 0 0 1 13.5 5v6a1.5 1.5 0 0 1-1.5 1.5H8.75zm-1.5 0H4A1.5 1.5 0 0 0 2.5 5v6A1.5 1.5 0 0 0 4 12.5h3.25zM1 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3z",clipRule:"evenodd"})}))};var nn=t(92423),tn=t(76866),rn=(0,x.A)("file-editor"),an={fontSize:14,language:"plaintext",renderWhitespace:"boundary",minimap:{enabled:!0}},sn=function(){var e=(0,s.wA)(),n=(0,s.d4)(Ye.M7),t=n.fileEditor,r=n.file,l=(0,i.useRef)();return r?(0,W.jsxs)("div",{className:rn(),children:[(0,W.jsxs)("div",{className:rn("header"),children:[(0,W.jsxs)("div",{className:rn("header-side"),children:[(0,W.jsx)(fe.I,{data:Ge.A,size:16}),(0,W.jsx)(C.E,{variant:"subheader-1",ellipsis:!0,children:r.name})]}),(0,W.jsxs)("div",{className:rn("header-side"),children:[(0,W.jsx)(nn.$,{view:"flat",onClick:function(){e((0,Ke.QH)((0,a.A)((0,a.A)({},t),{},{isFullWidth:!t.isFullWidth})))},children:(0,W.jsx)(fe.I,{data:t.isFullWidth?en:Xe.A,size:16})}),(0,W.jsx)(nn.$,{view:"flat",onClick:function(){e((0,Ke.QH)((0,a.A)((0,a.A)({},t),{},{isOpen:!1,isFullWidth:!1})))},children:(0,W.jsx)(fe.I,{data:Je.A,size:16})})]})]}),(0,W.jsx)(tn.A,{className:rn("editor"),editorRef:l,value:r.content||"",language:"plaintext",onChange:function(n){r&&e((0,$e.Ro)((0,a.A)((0,a.A)({},r),{},{content:n})))},monacoConfig:an})]}):null},ln=[50,50],un=function(e){var n=e.fileEditorFullWidth,t=e.fileEditorVisible,a=e.onStartQuery,s=(0,i.useState)(ln),l=(0,r.A)(s,2),o=l[0],c=l[1],d=!(t&&n);return(0,W.jsxs)(u.A,{direction:u.A.HORIZONTAL,onResizeEnd:c,getInitialSizes:o,children:[d&&(0,W.jsx)(Ze.A,{onStartQuery:a,showStatusInTitle:!0}),t&&(0,W.jsx)(sn,{})]})},on=t(50875),cn=t(13138),dn=(0,x.A)("query-tracker-page"),fn=[23,77],mn=380;function vn(){var e=(0,s.wA)(),n=(0,s.d4)(h.Jg),t=(0,s.d4)(on.rS);return(0,i.useEffect)((function(){var r=n.engine&&(0,c.p7)(n.engine)?n.engine:d.d.YQL;n.cluster&&n.path?(n.useDraft&&e({type:f.ZD,data:{params:(0,a.A)((0,a.A)({},n),{},{useDraft:void 0})}}),e((0,f.I2)(r,n.cluster,n.path,{useDraft:!0}))):e((0,f.cQ)(r)),t&&e((0,G.rw)("global::queryTracker::queriesListSidebarVisibilityMode",!0))}),[e]),null}function hn(e){var n=(0,s.wA)();return(0,i.useEffect)((function(){n({type:f.ZD,data:{params:{}}}),e.match.params.queryId?n((0,f.rc)(e.match.params.queryId)):n((0,f.cQ)())}),[n,e.match.params.queryId]),null}function An(e){var n=e.match,t=(0,v.qI)().isQueriesListSidebarVisible,a=(0,s.d4)(h.xs),c=(0,s.d4)(Ye.gU);m({shouldListen:a});var d=(0,i.useState)(fn),A=(0,r.A)(d,2),x=A[0],p=A[1],y=(0,i.useMemo)((function(){return function(){return x}}),[x]),j=(0,s.wA)(),g=(0,We.t)().loadQueryTrackerInfo,w=(0,i.useCallback)((function(e){return j((0,f.wu)(e)),!0}),[j]);return(0,i.useEffect)((function(){g()}),[]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(l.dO,{children:[(0,W.jsx)(l.qh,{exact:!0,path:n.path,component:vn}),(0,W.jsx)(l.qh,{path:"".concat(n.path,"/:queryId"),component:hn})]}),(0,W.jsx)(Be.P.Provider,{value:new Map,children:(0,W.jsx)(o.Z,{children:(0,W.jsxs)(u.A,{className:dn("container"),direction:u.A.HORIZONTAL,onResizeEnd:p,minSize:mn,getInitialSizes:y,children:[t?(0,W.jsx)(Ue,{}):null,(0,W.jsx)(un,{fileEditorFullWidth:c.isFullWidth,fileEditorVisible:c.isOpen,onStartQuery:w})]})})}),(0,W.jsx)(cn.A,{})]})}},1215:(e,n,t)=>{t.d(n,{qI:()=>v,m4:()=>m,kL:()=>f});var r=t(77810),a=t(15647),i=t(55956),s=t(31966),l=t(9395),u=t(6708),o=t(93205),c=t(42772),d=(0,o.Mz)(c.u,(function(e){return Boolean(e["global::queryTracker::queriesListSidebarVisibilityMode"])}));function f(){return[(0,a.d4)(s.pC),(0,a.d4)(s.Vm)]}var m=function(){var e=(0,a.wA)(),n=(0,a.d4)(s.v4),t=(0,a.d4)(s.MD),u=(0,r.useCallback)((function(){e((0,l.sZ)(i.cL.PAST))}),[e]),o=(0,r.useCallback)((function(){e((0,l.sZ)(i.cL.FUTURE))}),[e]),c=(0,r.useCallback)((function(){e((0,l.Ak)())}),[e]);return{first:!(null!=n&&n.cursorTime),last:!t,currentCursorTime:null==n?void 0:n.cursorTime,goNext:u,goBack:o,goFirst:c}},v=function(){var e=(0,a.wA)(),n=(0,a.d4)(d);return{isQueriesListSidebarVisible:n,toggleQueriesListSideBarToggle:function(){e((0,u.rw)("global::queryTracker::queriesListSidebarVisibilityMode",!n))}}}},50875:(e,n,t)=>{t.d(n,{$D:()=>d,I7:()=>m,PR:()=>p,Rv:()=>v,WS:()=>f,fV:()=>h,mV:()=>j,mk:()=>A,n7:()=>y,rS:()=>c});var r=t(13322),a=t(40319),i=t(93205),s=t(45033),l=t(29730),u=t(21594),o=t(19314),c=function(e){return e.queryTracker.queryNavigation.cluster},d=(0,i.Mz)([c,function(e){return e.clustersMenu.clusters}],(function(e,n){return e&&e in n?n[e]:null})),f=(0,i.Mz)([l.th,c],(function(e,n){if(!n)return[];var t=(0,u.HL)(n,o.dK.LOCAL),r=e(o.Ou.LOCAL.FAVOURITES,t);return r?r.map((function(e){return e.path})).sort():[]})),m=function(e){return e.queryTracker.queryNavigation.path},v=function(e){return e.queryTracker.queryNavigation.nodeType},h=function(e){return e.queryTracker.queryNavigation.filter},A=function(e){return e.queryTracker.queryNavigation.nodes},x=function(e,n){return e.toLowerCase().includes(n.toLowerCase())},p=(0,i.Mz)([function(e){return e.queryTracker.queryNavigation.table},h],(function(e,n){return e?(0,a.A)((0,a.A)({},e),{},{schema:e.schema.filter((function(e){var t=e.name,r=e.type;return x(t,n)||x(r,n)}))}):null})),y=(0,i.Mz)([s.Dy,h],(function(e,n){return n?e.filter((function(e){var t=e.name;return x(t,n)})):e})),j=(0,i.Mz)([A,h,m],(function(e,n,t){var a=!t||"/"===t,i={name:"...",type:"map_node",path:a?t:t.split("/").slice(0,-1).join("/"),isFavorite:!1};if(!n)return a?e:[i].concat((0,r.A)(e));var s=e.filter((function(e){var t=e.name;return x(t,n)}));return a||s.unshift(i),s}))}}]);
|
2
|
-
//# sourceMappingURL=1059.
|
1
|
+
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[1059],{11059:(e,n,t)=>{t.r(n),t.d(n,{default:()=>xn});var r=t(9736),a=t(40319),i=t(77810),s=t(15647),l=t(83685),u=t(46493),o=t(35788),c=t(55956),d=t(21347),f=t(63192),m=function(e){var n=e.shouldListen,t=(0,i.useCallback)((function(e){e.preventDefault(),e.returnValue=!0}),[]);(0,i.useEffect)((function(){return n&&window.addEventListener("beforeunload",t),function(){return window.removeEventListener("beforeunload",t)}}),[n])},v=t(1215),h=t(66853),A=t(68175),x=t(76872),p=t(4224),y=t(41655),j=t.n(y),g=t(94904),w=t.n(g),b=t(11700),N=t.n(b),C=t(85137),k=t(27222),q=t(9395),S=t(31966),M=t(16554),T=t(73822),L=t(14391),E=t(24297),I=t(18309),z=t(77318),R=function(){var e=(0,s.d4)(S.hj),n=(0,s.d4)(S.OP),t=(0,s.wA)();return[e,n,(0,i.useCallback)((function(e,n){t((0,q.$h)((0,A.A)({},e,n)))}),[t])]},V=t(37267),H=t(21003),O=t(52797),_=function(){var e=(0,s.d4)(h.$Z),n=(0,s.d4)(O.dB),t=(0,l.W6)(),r=(0,i.useCallback)((function(e){t.push((0,H.C)(n,e.id))}),[t]);return[null==e?void 0:e.id,r]},F=t(13322),D=t(13894),P=t(51806),Q=t(60620),U=t(51194),W=t(64922);function B(e){var n,t=e.query,s=e.className,l=(0,i.useState)(void 0),u=(0,r.A)(l,2),o=u[0],d=u[1],f=(0,i.useState)(!1),m=(0,r.A)(f,2),v=m[0],h=m[1],A=t.state,x=(0,U._)(),p=(0,i.useMemo)((function(){var e;return{name:(null===(e=t.annotations)||void 0===e?void 0:e.title)||""}}),[null===(n=t.annotations)||void 0===n?void 0:n.title]);return"completed"===A||"failed"===A||"draft"===A?(0,W.jsxs)("div",{className:s,onClick:function(e){e.stopPropagation()},onKeyDown:function(e){e.stopPropagation()},children:[(0,W.jsx)(P.A,{onClick:function(){h(!0)},view:"flat-secondary",size:"m",width:"auto",children:(0,W.jsx)(Q.A,{awesome:"pencil"})}),v?(0,W.jsx)(D.yZ,{pristineSubmittable:!0,visible:v,modal:!0,headerProps:{title:"Edit query name"},footerProps:{textApply:"Save"},onClose:function(){d(void 0),h(!1)},onAdd:function(e){return(n=e.getState().values.name,x((0,c.av)(t.id,(0,a.A)((0,a.A)({},t.annotations),{},{title:n})))).catch((function(e){throw d(e),e}));var n},initialValues:p,fields:[{name:"name",type:"text",required:!0,caption:"Name",extras:{placeholder:"Enter query name"}}].concat((0,F.A)((0,D.Y)([o])))}):null]}):null}var Z=t(82964),K=t(10332),Y=t.n(K),$=t(97941),G=t(6708),J=function(e){var n=e.type,t=(0,s.wA)(),r=(0,s.d4)(S.mX),a=function(e){t((0,G.rw)("global::queryTracker::history::Columns",e.items.filter((function(e){return e.checked})).map((function(e){return e.name}))))};return i.useMemo((function(){var e=Y()(oe,ue,"name").map((function(e){return e.name})),t=[te.name,se.name],i=n===$.AK.My?ue:oe,s=new Set(Array.isArray(r)?r:e);return s.add(te.name),s.add(se.name),{columns:i.filter((function(e){var n=e.name;return s.has(n)})),allowedColumns:i.filter((function(e){return!t.includes(e.name)})).map((function(e){var n=e.name;return{name:n,checked:s.has(n)}})),handleColumnChange:a}}),[n,r])},X=(0,x.A)("queries-history-list"),ee=(0,x.A)("query-history-item");var ne=function(e){return void 0!==e.header},te={name:"Name",align:"left",className:ee("name_row"),render:function(e){var n,t=e.row;if(ne(t))return(0,W.jsx)("div",{className:ee("separator"),children:t.header});var r=null===(n=t.annotations)||void 0===n?void 0:n.title;return(0,W.jsxs)("div",{className:ee("name"),title:r,children:[(0,W.jsx)(M.g,{className:ee("status-icon"),status:t.state}),(0,W.jsx)(C.E,{className:ee("name-container"),color:r?"primary":"secondary",ellipsis:!0,children:r||"No name"}),(0,W.jsx)(B,{className:ee("name-edit"),query:t})]})}},re={name:"Type",align:"center",width:60,render:function(e){var n=e.row;return ne(n)?null:(0,W.jsx)(C.E,{variant:"body-1",color:"secondary",children:n.engine in I.ix?I.ix[n.engine]:n.engine})}},ae={name:"Duration",align:"left",width:100,render:function(e){var n=e.row;return ne(n)?null:n.state===c.RE.RUNNING?T.A.format.NO_VALUE:(0,W.jsx)(V.H,{query:n})}},ie={name:"Started",align:"left",width:60,render:function(e){var n=e.row;return ne(n)?null:(0,W.jsx)(C.E,{variant:"body-1",color:"secondary",children:(0,E.fU)(n.start_time)})}},se={name:"Author",align:"left",width:120,className:ee("author_row"),render:function(e){var n=e.row;return ne(n)?null:(0,W.jsx)(C.E,{variant:"body-1",ellipsis:!0,title:n.user,children:n.user})}},le={name:"ACO",align:"left",width:60,className:ee("access_control_object"),render:function(e){var n,t=e.row;if(ne(t))return null;var r=null===(n=t.access_control_objects)||void 0===n?void 0:n.join(", ");return(0,W.jsx)(C.E,{variant:"body-1",ellipsis:!0,title:r,children:r})}},ue=[te,re,ae,ie,le],oe=[te,re,ae,se,ie,le],ce={displayIndices:!1,sortable:!1,stickyHead:k.Ay.MOVING,syncHeadOnResize:!0};function de(){var e,n,t,a,l=(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e3,n=(0,s.wA)();(0,i.useEffect)((function(){var t;return function r(){t=setTimeout((function(){n((0,q.EI)(r))}),e)}(),function(){t&&clearTimeout(t)}}),[e,n])}(),e=(0,i.useContext)(o.o),n=(0,s.d4)(S.Hq),t=(0,s.wA)(),a=(0,i.useMemo)((function(){return function(e){t({type:Z.W,data:e})}}),[t]),(0,i.useEffect)((function(){null!=n&&n.length&&e.watch(n,a)}),[e,a,n]),(0,v.kL)()),u=(0,r.A)(l,2),c=u[0],d=u[1],f=R(),m=(0,r.A)(f,1)[0],h=J({type:m.user}).columns,A=(0,s.d4)(S.xh),x=(0,v.m4)(),p=x.first,y=x.last,g=x.goBack,b=x.goNext,C=x.goFirst,k=_(),M=(0,r.A)(k,2),T=M[0],E=M[1],I=(0,i.useRef)(null);(0,i.useEffect)((function(){null!=I&&I.current&&(I.current.scrollTop=0)}),[I,A]);var V=(0,i.useCallback)((function(e){return ne(e)?ee({header:Boolean(e.header)}):ee({selected:e.id===T})}),[T]),H=(0,i.useMemo)((function(){return Object.entries(w()(c,(function(e){return j()(e.start_time).format("DD MMMM YYYY")}))).reduce((function(e,n){var t=(0,r.A)(n,2),a=t[0],i=t[1];return e.push({header:a}),e.concat(i.map((function(e){return e})))}),[])}),[c]);return(0,W.jsx)("div",{className:X(),children:(0,W.jsxs)("div",{className:X("list-wrapper"),ref:I,children:[(0,W.jsx)(z.Ay,{className:X("list"),loading:d,columns:h,data:H,useThemeYT:!0,rowKey:function(e){return ne(e)?e.header:e.id},onRowClick:function(e){ne(e)||E(e)},disableRightGap:!0,settings:ce,rowClassName:V,getColSpansOfRow:function(e){var n=e.row;if(ne(n))return{Name:h.length}}}),(0,W.jsx)("div",{className:X("pagination"),children:(!p||!y)&&(0,W.jsx)(L.A,{size:"m",first:{handler:C,disabled:p},previous:{handler:g,disabled:p},next:{handler:b,disabled:y},last:{handler:N(),disabled:!0}})})]})})}var fe=t(72679),me=t(86022),ve=t(91326);const he=function(e){return(0,W.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 14"},e),{},{children:(0,W.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.836 2.202 1.74 4.386a.396.396 0 0 0 0 .728l5.096 2.184a2.5 2.5 0 0 0 .985.202h.358a2.5 2.5 0 0 0 .985-.202l5.096-2.184a.396.396 0 0 0 0-.728L9.164 2.202A2.5 2.5 0 0 0 8.179 2h-.358a2.5 2.5 0 0 0-.985.202M1.5 6.642l1.5.644v3.228a2 2 0 0 0 1.106 1.789l.806.403a7 7 0 0 0 6.193.033l.909-.442a2 2 0 0 0 1.125-1.798V7.226l1.712-.734a1.896 1.896 0 0 0 0-3.484L9.755.823A4 4 0 0 0 8.179.5h-.358a4 4 0 0 0-1.576.323L1.15 3.008A1.9 1.9 0 0 0 0 4.75v4.5a.75.75 0 0 0 1.5 0zm3 3.872V7.929l1.745.748A4 4 0 0 0 7.821 9h.358a4 4 0 0 0 1.576-.323l1.884-.808v2.63a.5.5 0 0 1-.282.45l-.909.442a5.5 5.5 0 0 1-4.865-.027l-.807-.403a.5.5 0 0 1-.276-.447",clipRule:"evenodd"})}))};var Ae=(0,x.A)("query-tutorial-item"),xe=(0,x.A)("queries-tutorial-list");function pe(e){var n,t;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(fe.I,{className:Ae("icon"),data:he}),(0,W.jsx)(C.E,{className:Ae("text"),ellipsis:!0,title:null==e||null===(n=e.annotations)||void 0===n?void 0:n.title,children:(null==e||null===(t=e.annotations)||void 0===t?void 0:t.title)||"No name"})]})}function ye(e){var n=e.className,t=(0,v.kL)(),a=(0,r.A)(t,2),s=a[0],l=a[1],u=_(),o=(0,r.A)(u,2),c=o[0],d=o[1],f=(0,i.useMemo)((function(){return s.findIndex((function(e){return e.id===c}))}),[c,s]),m=(0,i.useMemo)((function(){return function(e){return function(n){var t;return(null==n||null===(t=n.annotations)||void 0===t||null===(t=t.title)||void 0===t?void 0:t.toLocaleLowerCase().includes(e.toLocaleLowerCase()))||!1}}}),[]);return(0,W.jsxs)("div",{className:xe(null,n),children:[(0,W.jsx)(me.B,{className:xe("list",{loading:l}),filterable:!0,filterClassName:xe("filter"),filterPlaceholder:"Filter by name",filterItem:m,virtualized:!1,selectedItemIndex:f,sortable:!1,itemHeight:32,itemClassName:Ae(),items:l?[]:s,renderItem:pe,onItemClick:d}),l&&(0,W.jsx)("div",{className:xe("loader"),children:(0,W.jsx)(ve.a,{size:"l"})})]})}var je=t(79726),ge=t(88786),we=t(79703),be="__all";function Ne(e){var n=e.value,t=e.onChange,r=e.className,a=e.engines,s=void 0===a?c.qS:a,l=(0,i.useMemo)((function(){return[{value:be,content:"All"}].concat((0,F.A)(s.map((function(e){return{value:e,content:I.ix[e]}}))))}),[s]),u=(0,i.useCallback)((function(e){t(e===be?void 0:e)}),[t]);return(0,W.jsx)(je.a,{className:r,options:l,value:n||be,onUpdate:u})}var Ce=t(65692),ke=t(24503),qe=t.n(ke);function Se(e){var n=e.value,t=e.placeholder,a=e.onChange,s=e.delay,l=void 0===s?200:s,u=(0,i.useState)(n||""),o=(0,r.A)(u,2),c=o[0],d=o[1],f=(0,i.useMemo)((function(){return qe()((function(e){a(e)}),l)}),[a,l]);return(0,i.useEffect)((function(){return f(c),function(){f.cancel()}}),[c,f]),(0,W.jsx)(Ce.k,{placeholder:t,value:c,onBlur:function(){return f.flush()},onUpdate:d})}var Me=t(15034),Te=t(5172),Le=[{value:$.AK.My,content:"My"},{value:$.AK.All,content:"All"}],Ee=(0,x.A)("queries-history-filter");function Ie(e){var n=e.className,t=R(),a=(0,r.A)(t,3),s=a[0],l=a[1],u=a[2],o=J({type:s.user}),c=o.allowedColumns,d=o.handleColumnChange,f=(0,i.useCallback)((function(e){u("user",e)}),[u]),m=(0,i.useCallback)((function(e){u("engine",e)}),[u]),v=(0,i.useCallback)((function(e){u("filter",e||void 0)}),[u]);return(0,W.jsxs)("div",{className:Ee(null,n),children:[(0,W.jsxs)("div",{className:Ee("row"),children:[l===$.e8.History&&(0,W.jsx)(je.a,{options:Le,value:(null==s?void 0:s.user)||$.AK.My,onUpdate:f}),(0,W.jsx)(Ne,{value:null==s?void 0:s.engine,onChange:m})]}),l===$.e8.History&&(0,W.jsxs)("div",{className:Ee("row"),children:[(0,W.jsx)(Se,{placeholder:"Search in query name, body and access control",value:null==s?void 0:s.filter,onChange:v}),(0,W.jsx)(ge.m,{content:(0,W.jsxs)(W.Fragment,{children:["Search in query text, annotations and access control",(0,W.jsx)("br",{}),'Use `"title"="test_name"` to search in query name',(0,W.jsx)("br",{}),"Use `aco:nobody` to search in query access control"]}),children:(0,W.jsx)(fe.I,{data:we.A,size:16})}),(0,W.jsx)(Me.A,{trigger:"click",directions:["bottom"],button:(0,W.jsx)(P.A,{pin:"round-round",className:Ee("columns-button"),children:(0,W.jsx)(Q.A,{awesome:"table",face:"light"})}),template:(0,W.jsx)(Te.A,{items:c,onChange:d})})]})]})}var ze,Re=t(28407),Ve=t(70232),He=t.n(Ve),Oe=t(33882),_e=(0,Oe.A)((0,i.lazy)((0,Re.A)(He().mark((function e(){return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.e(4533).then(t.bind(t,54392));case 2:return e.t0=e.sent.Vcs,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),Fe=(0,Oe.A)((0,i.lazy)((0,Re.A)(He().mark((function e(){return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([t.e(5040),t.e(1040)]).then(t.bind(t,95955));case 2:return e.t0=e.sent.Navigation,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),De=t(63513),Pe=(0,x.A)("queires-list"),Qe=(ze={},(0,A.A)(ze,$.e8.History,"History"),(0,A.A)(ze,$.e8.Tutorials,"Tutorials"),(0,A.A)(ze,$.e8.VCS,"VCS"),(0,A.A)(ze,$.e8.Navigation,"Navigation"),ze),Ue=function(){var e=(0,s.wA)(),n=(0,s.d4)(S.OP),t=(0,s.d4)(De.V$),r=(0,i.useCallback)((function(n){e((0,q.wD)(n))}),[e]);return[(0,i.useMemo)((function(){return(0,$.F7)({vcs:t}).map((function(e){return{id:e,title:Qe[e]}}))}),[t]),(n||$.e8.History).toString(),r]};function We(){var e=Ue(),n=(0,r.A)(e,3),t=n[0],a=n[1],l=n[2],u=(0,s.wA)();(0,i.useEffect)((function(){u((0,q.et)())}),[u]);var o=a===$.e8.VCS;return a===$.e8.Navigation?(0,W.jsxs)("div",{className:Pe(),children:[(0,W.jsx)(p.t,{className:Pe("tabs"),items:t,activeTab:a,onSelectTab:l}),(0,W.jsx)("div",{className:Pe("content"),children:(0,W.jsx)(Fe,{})})]}):(0,W.jsxs)("div",{className:Pe(),children:[(0,W.jsx)(p.t,{className:Pe("tabs"),items:t,activeTab:a,onSelectTab:l}),(0,W.jsxs)("div",{className:Pe("content"),children:[!o&&(0,W.jsx)(Ie,{className:Pe("filter")}),a===$.e8.History&&(0,W.jsx)(de,{}),a===$.e8.Tutorials&&(0,W.jsx)(ye,{className:Pe("list-content")}),o&&(0,W.jsx)(_e,{})]})]})}var Be=t(73202),Ze=t(82785),Ke=t(46399),Ye=t(10645),$e=t(56742),Ge=t(45035),Je=t(57660),Xe=t(30469),en=t(28099);const nn=function(e){return(0,W.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,W.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M8.75 3.5H12A1.5 1.5 0 0 1 13.5 5v6a1.5 1.5 0 0 1-1.5 1.5H8.75zm-1.5 0H4A1.5 1.5 0 0 0 2.5 5v6A1.5 1.5 0 0 0 4 12.5h3.25zM1 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3z",clipRule:"evenodd"})}))};var tn=t(92423),rn=t(76866),an=(0,x.A)("file-editor"),sn={fontSize:14,language:"plaintext",renderWhitespace:"boundary",minimap:{enabled:!0}},ln=function(){var e=(0,s.wA)(),n=(0,s.d4)($e.M7),t=n.fileEditor,r=n.file,l=(0,i.useRef)();return r?(0,W.jsxs)("div",{className:an(),children:[(0,W.jsxs)("div",{className:an("header"),children:[(0,W.jsxs)("div",{className:an("header-side"),children:[(0,W.jsx)(fe.I,{data:Je.A,size:16}),(0,W.jsx)(C.E,{variant:"subheader-1",ellipsis:!0,children:r.name})]}),(0,W.jsxs)("div",{className:an("header-side"),children:[(0,W.jsx)(tn.$,{view:"flat",onClick:function(){e((0,Ye.QH)((0,a.A)((0,a.A)({},t),{},{isFullWidth:!t.isFullWidth})))},children:(0,W.jsx)(fe.I,{data:t.isFullWidth?nn:en.A,size:16})}),(0,W.jsx)(tn.$,{view:"flat",onClick:function(){e((0,Ye.QH)((0,a.A)((0,a.A)({},t),{},{isOpen:!1,isFullWidth:!1})))},children:(0,W.jsx)(fe.I,{data:Xe.A,size:16})})]})]}),(0,W.jsx)(rn.A,{className:an("editor"),editorRef:l,value:r.content||"",language:"plaintext",onChange:function(n){r&&e((0,Ge.Ro)((0,a.A)((0,a.A)({},r),{},{content:n})))},monacoConfig:sn})]}):null},un=[50,50],on=function(e){var n=e.fileEditorFullWidth,t=e.fileEditorVisible,a=e.onStartQuery,s=(0,i.useState)(un),l=(0,r.A)(s,2),o=l[0],c=l[1],d=!(t&&n);return(0,W.jsxs)(u.A,{direction:u.A.HORIZONTAL,onResizeEnd:c,getInitialSizes:o,children:[d&&(0,W.jsx)(Ke.A,{onStartQuery:a,showStatusInTitle:!0}),t&&(0,W.jsx)(ln,{})]})},cn=t(50875),dn=t(13138),fn=(0,x.A)("query-tracker-page"),mn=[23,77],vn=380;function hn(){var e=(0,s.wA)(),n=(0,s.d4)(h.Jg),t=(0,s.d4)(cn.rS);return(0,i.useEffect)((function(){var r=n.engine&&(0,c.p7)(n.engine)?n.engine:d.d.YQL;n.cluster&&n.path?(n.useDraft&&e({type:f.ZD,data:{params:(0,a.A)((0,a.A)({},n),{},{useDraft:void 0})}}),e((0,f.I2)(r,n.cluster,n.path,{useDraft:!0}))):e((0,f.cQ)(r)),t&&e((0,G.rw)("global::queryTracker::queriesListSidebarVisibilityMode",!0))}),[e]),null}function An(e){var n=(0,s.wA)();return(0,i.useEffect)((function(){n({type:f.ZD,data:{params:{}}}),e.match.params.queryId?n((0,f.rc)(e.match.params.queryId)):n((0,f.cQ)())}),[n,e.match.params.queryId]),null}function xn(e){var n=e.match,t=(0,v.qI)().isQueriesListSidebarVisible,a=(0,s.d4)(h.xs),c=(0,s.d4)($e.gU);m({shouldListen:a});var d=(0,i.useState)(mn),A=(0,r.A)(d,2),x=A[0],p=A[1],y=(0,i.useMemo)((function(){return function(){return x}}),[x]),j=(0,s.wA)(),g=(0,Be.t)().loadQueryTrackerInfo,w=(0,i.useCallback)((function(e){return j((0,f.wu)(e)),!0}),[j]);return(0,i.useEffect)((function(){g()}),[]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(l.dO,{children:[(0,W.jsx)(l.qh,{exact:!0,path:n.path,component:hn}),(0,W.jsx)(l.qh,{path:"".concat(n.path,"/:queryId"),component:An})]}),(0,W.jsx)(Ze.P.Provider,{value:new Map,children:(0,W.jsx)(o.Z,{children:(0,W.jsxs)(u.A,{className:fn("container"),direction:u.A.HORIZONTAL,onResizeEnd:p,minSize:vn,getInitialSizes:y,children:[t?(0,W.jsx)(We,{}):null,(0,W.jsx)(on,{fileEditorFullWidth:c.isFullWidth,fileEditorVisible:c.isOpen,onStartQuery:w})]})})}),(0,W.jsx)(dn.A,{})]})}},1215:(e,n,t)=>{t.d(n,{qI:()=>v,m4:()=>m,kL:()=>f});var r=t(77810),a=t(15647),i=t(55956),s=t(31966),l=t(9395),u=t(6708),o=t(93205),c=t(42772),d=(0,o.Mz)(c.u,(function(e){return Boolean(e["global::queryTracker::queriesListSidebarVisibilityMode"])}));function f(){return[(0,a.d4)(s.pC),(0,a.d4)(s.Vm)]}var m=function(){var e=(0,a.wA)(),n=(0,a.d4)(s.v4),t=(0,a.d4)(s.MD),u=(0,r.useCallback)((function(){e((0,l.sZ)(i.cL.PAST))}),[e]),o=(0,r.useCallback)((function(){e((0,l.sZ)(i.cL.FUTURE))}),[e]),c=(0,r.useCallback)((function(){e((0,l.Ak)())}),[e]);return{first:!(null!=n&&n.cursorTime),last:!t,currentCursorTime:null==n?void 0:n.cursorTime,goNext:u,goBack:o,goFirst:c}},v=function(){var e=(0,a.wA)(),n=(0,a.d4)(d);return{isQueriesListSidebarVisible:n,toggleQueriesListSideBarToggle:function(){e((0,u.rw)("global::queryTracker::queriesListSidebarVisibilityMode",!n))}}}},50875:(e,n,t)=>{t.d(n,{$D:()=>d,I7:()=>m,PR:()=>p,Rv:()=>v,WS:()=>f,fV:()=>h,mV:()=>j,mk:()=>A,n7:()=>y,rS:()=>c});var r=t(13322),a=t(40319),i=t(93205),s=t(45033),l=t(29730),u=t(21594),o=t(19314),c=function(e){return e.queryTracker.queryNavigation.cluster},d=(0,i.Mz)([c,function(e){return e.clustersMenu.clusters}],(function(e,n){return e&&e in n?n[e]:null})),f=(0,i.Mz)([l.th,c],(function(e,n){if(!n)return[];var t=(0,u.HL)(n,o.dK.LOCAL),r=e(o.Ou.LOCAL.FAVOURITES,t);return r?r.map((function(e){return e.path})).sort():[]})),m=function(e){return e.queryTracker.queryNavigation.path},v=function(e){return e.queryTracker.queryNavigation.nodeType},h=function(e){return e.queryTracker.queryNavigation.filter},A=function(e){return e.queryTracker.queryNavigation.nodes},x=function(e,n){return e.toLowerCase().includes(n.toLowerCase())},p=(0,i.Mz)([function(e){return e.queryTracker.queryNavigation.table},h],(function(e,n){return e?(0,a.A)((0,a.A)({},e),{},{schema:e.schema.filter((function(e){var t=e.name,r=e.type;return x(t,n)||x(r,n)}))}):null})),y=(0,i.Mz)([s.Dy,h],(function(e,n){return n?e.filter((function(e){var t=e.name;return x(t,n)})):e})),j=(0,i.Mz)([A,h,m],(function(e,n,t){var a=!t||"/"===t,i={name:"...",type:"map_node",path:a?t:t.split("/").slice(0,-1).join("/"),isFavorite:!1};if(!n)return a?e:[i].concat((0,r.A)(e));var s=e.filter((function(e){var t=e.name;return x(t,n)}));return a||s.unshift(i),s}))}}]);
|
2
|
+
//# sourceMappingURL=1059.f3a958be.chunk.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"js/1059.f3a958be.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/hooks/use-prevent-unload.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/QueryListFilter/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/Query/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/EditQueryNameModal/EditQueryNameModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesHistoryList/useQueryListColumns.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.tsx","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/learn.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Vcs/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/index.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/layout-columns.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/FileEditor/FileEditor.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryEditorSplit.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryTracker.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/module/settings/selector.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/QueriesList/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/module/queryNavigation/selectors.ts"],"sourcesContent":["import {useCallback, useEffect} from 'react';\n\nexport const usePreventUnload = ({shouldListen}: {shouldListen: boolean}) => {\n const beforeUnloadHandler = useCallback((e: BeforeUnloadEvent) => {\n e.preventDefault();\n\n // Included for legacy support, e.g. Chrome/Edge < 119\n e.returnValue = true;\n }, []);\n\n useEffect(() => {\n if (shouldListen) {\n window.addEventListener('beforeunload', beforeUnloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', beforeUnloadHandler);\n }, [shouldListen]);\n};\n","import {useDispatch, useSelector} from 'react-redux';\nimport {useCallback} from 'react';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {getQueriesListFilter, getQueriesListMode} from '../../module/queries_list/selectors';\nimport {QueriesListFilter, QueriesListMode} from '../../module/queries_list/types';\n\nexport const useQuriesHistoryFilter = (): [\n QueriesListFilter,\n QueriesListMode,\n <K extends keyof QueriesListFilter>(filter: K, value: QueriesListFilter[K]) => void,\n] => {\n const filter = useSelector(getQueriesListFilter);\n const filterPreset = useSelector(getQueriesListMode);\n const dispatch = useDispatch();\n const setFilter = useCallback(\n function setFilter<K extends keyof QueriesListFilter>(\n name: K,\n value: QueriesListFilter[K],\n ) {\n dispatch(\n applyFilter({\n [name]: value,\n }),\n );\n },\n [dispatch],\n );\n return [filter, filterPreset, setFilter];\n};\n","import {useCallback} from 'react';\nimport {useSelector} from 'react-redux';\nimport {useHistory} from 'react-router';\nimport {createQueryUrl} from '../../utils/navigation';\nimport {QueryItem} from '../../module/api';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getQuery} from '../../module/query/selectors';\n\nexport const useQueryNavigation = (): [QueryItem['id'] | undefined, (id: QueryItem) => void] => {\n const selectedItem = useSelector(getQuery);\n const cluster = useSelector(getCluster);\n const history = useHistory();\n\n const goToQuery = useCallback(\n (item: QueryItem) => {\n history.push(createQueryUrl(cluster, item.id));\n },\n [history],\n );\n\n return [selectedItem?.id, goToQuery];\n};\n","import React, {useMemo, useState} from 'react';\nimport {YTDFDialog, makeErrorFields} from '../../../../components/Dialog/Dialog';\nimport Button from '../../../../components/Button/Button';\nimport Icon from '../../../../components/Icon/Icon';\n\nimport {QueryItem, setQueryName} from '../../module/api';\nimport {useThunkDispatch} from '../../../../store/thunkDispatch';\n\nexport interface Props {\n query: QueryItem;\n className?: string;\n}\n\ninterface FormValues {\n name: string;\n}\n\nexport default function EditQueryNameModal({query, className}: Props) {\n const [error, setError] = useState(undefined);\n const [visible, setVisible] = useState(false);\n const {state} = query;\n\n const dispatch = useThunkDispatch();\n\n const initialValues = useMemo(() => {\n return {\n name: query.annotations?.title || '',\n };\n }, [query.annotations?.title]);\n\n const handleSubmit = (name: string) => {\n return dispatch(setQueryName(query.id, {...query.annotations, title: name}));\n };\n\n return state === 'completed' || state === 'failed' || state === 'draft' ? (\n <div\n className={className}\n onClick={(event) => {\n event.stopPropagation();\n }}\n onKeyDown={(event) => {\n event.stopPropagation();\n }}\n >\n <Button\n onClick={() => {\n setVisible(true);\n }}\n view={'flat-secondary'}\n size={'m'}\n width={'auto'}\n >\n <Icon awesome=\"pencil\"></Icon>\n </Button>\n {visible ? (\n <YTDFDialog<FormValues>\n pristineSubmittable\n visible={visible}\n modal={true}\n headerProps={{title: 'Edit query name'}}\n footerProps={{textApply: 'Save'}}\n onClose={() => {\n setError(undefined);\n setVisible(false);\n }}\n onAdd={(form) => {\n const {name} = form.getState().values;\n return handleSubmit(name).catch((err) => {\n setError(err);\n throw err;\n });\n }}\n initialValues={initialValues}\n fields={[\n {\n name: 'name',\n type: 'text',\n required: true,\n caption: 'Name',\n extras: {\n placeholder: 'Enter query name',\n },\n },\n ...makeErrorFields([error]),\n ]}\n />\n ) : null}\n </div>\n ) : null;\n}\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport intersectionBy_ from 'lodash/intersectionBy';\nimport {QueriesListAuthorFilter} from '../../module/queries_list/types';\nimport {AllColumns, AuthorColumns, MyColumns, NameColumns} from './index';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getQueryListHistoryColumns} from '../../module/queries_list/selectors';\n\nexport const useQueryHistoryListColumns = ({type}: {type?: QueriesListAuthorFilter}) => {\n const dispatch = useDispatch();\n const selectedColumns = useSelector(getQueryListHistoryColumns);\n\n const handleColumnChange = (selectedColumns: {\n items: Array<{checked: boolean; name: string}>;\n }) => {\n dispatch(\n setSettingByKey(\n `global::queryTracker::history::Columns`,\n selectedColumns.items.filter(({checked}) => checked).map(({name}) => name),\n ),\n );\n };\n\n return React.useMemo(() => {\n const ALL_COLUMN_NAMES = intersectionBy_(AllColumns, MyColumns, 'name').map(\n (item) => item.name,\n );\n const EXCLUDED_COLUMNS = [NameColumns.name, AuthorColumns.name];\n const currentColumnsPreset = type === QueriesListAuthorFilter.My ? MyColumns : AllColumns;\n\n const selectedColumnNames = new Set(\n Array.isArray(selectedColumns) ? selectedColumns : ALL_COLUMN_NAMES,\n );\n\n selectedColumnNames.add(NameColumns.name);\n selectedColumnNames.add(AuthorColumns.name);\n\n return {\n columns: currentColumnsPreset.filter(({name}) => selectedColumnNames.has(name)),\n allowedColumns: currentColumnsPreset\n .filter((item) => !EXCLUDED_COLUMNS.includes(item.name))\n .map(({name}) => ({name, checked: selectedColumnNames.has(name)})),\n handleColumnChange,\n };\n }, [type, selectedColumns]);\n};\n","import moment from 'moment';\nimport groupBy_ from 'lodash/groupBy';\nimport noop_ from 'lodash/noop';\nimport {Text} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport React, {useCallback, useContext, useEffect, useMemo, useRef} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport DataTable, {Column, Settings} from '@gravity-ui/react-data-table';\nimport {QueryItem, QueryStatus} from '../../module/api';\nimport {refreshQueriesListIfNeeded} from '../../module/queries_list/actions';\nimport {getQueriesListTimestamp, getUncompletedItems} from '../../module/queries_list/selectors';\nimport {QueryStatusIcon} from '../../QueryStatus';\nimport hammer from '../../../../common/hammer';\n\nimport Pagination from '../../../../components/Pagination/Pagination';\nimport {QueriesPoolingContext} from '../../hooks/QueriesPooling/context';\nimport {formatTime} from '../../../../components/common/Timeline/util';\nimport {QueryEnginesNames} from '../../utils/query';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport {useQuriesHistoryFilter} from '../../hooks/QueryListFilter';\nimport {QueryDuration} from '../../QueryDuration';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport {useQueriesPagination, useQueryList} from '../../hooks/QueriesList';\nimport EditQueryNameModal from '../EditQueryNameModal/EditQueryNameModal';\nimport {UPDATE_QUERIES_LIST} from '../../module/query-tracker-contants';\nimport {useQueryHistoryListColumns} from './useQueryListColumns';\n\nimport './index.scss';\n\nconst b = block('queries-history-list');\n\nconst itemBlock = block('query-history-item');\n\nfunction useQueriesHistoryUpdate() {\n const pollingContext = useContext(QueriesPoolingContext);\n const uncompletedItems = useSelector(getUncompletedItems);\n const dispatch = useDispatch();\n\n const queryListUpdateHandler = useMemo(\n () => (items: QueryItem[]) => {\n dispatch({\n type: UPDATE_QUERIES_LIST,\n data: items,\n });\n },\n [dispatch],\n );\n\n useEffect(\n function pollingEffect() {\n if (!uncompletedItems?.length) {\n return;\n }\n pollingContext.watch(uncompletedItems, queryListUpdateHandler);\n },\n [pollingContext, queryListUpdateHandler, uncompletedItems],\n );\n}\n\nfunction useRefreshHistoryList(timeout = 5000) {\n // Naive history list's polling impl\n const dispatch = useDispatch();\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n function start() {\n timer = setTimeout(() => {\n dispatch(refreshQueriesListIfNeeded(start));\n }, timeout);\n }\n\n start();\n\n return () => {\n if (timer) {\n clearTimeout(timer);\n }\n };\n }, [timeout, dispatch]);\n}\n\nfunction useQueryHistoryList() {\n useRefreshHistoryList();\n useQueriesHistoryUpdate();\n return useQueryList();\n}\n\ntype HeaderTableItem = {header: string};\ntype TableItem = QueryItem | HeaderTableItem;\n\nconst isHeaderTableItem = (b: TableItem): b is HeaderTableItem => {\n return (b as HeaderTableItem).header !== undefined;\n};\n\nexport const NameColumns: Column<TableItem> = {\n name: 'Name',\n align: 'left',\n className: itemBlock('name_row'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return <div className={itemBlock('separator')}>{row.header}</div>;\n }\n\n const name = row.annotations?.title;\n return (\n <div className={itemBlock('name')} title={name}>\n <QueryStatusIcon className={itemBlock('status-icon')} status={row.state} />\n <Text\n className={itemBlock('name-container')}\n color={name ? 'primary' : 'secondary'}\n ellipsis\n >\n {name || 'No name'}\n </Text>\n <EditQueryNameModal className={itemBlock('name-edit')} query={row} />\n </div>\n );\n },\n};\n\nconst TypeColumns: Column<TableItem> = {\n name: 'Type',\n align: 'center',\n width: 60,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {row.engine in QueryEnginesNames ? QueryEnginesNames[row.engine] : row.engine}\n </Text>\n );\n },\n};\n\nconst DurationColumns: Column<TableItem> = {\n name: 'Duration',\n align: 'left',\n width: 100,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n if (row.state === QueryStatus.RUNNING) {\n return hammer.format.NO_VALUE;\n }\n return <QueryDuration query={row} />;\n },\n};\n\nconst StartedColumns: Column<TableItem> = {\n name: 'Started',\n align: 'left',\n width: 60,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {formatTime(row.start_time)}\n </Text>\n );\n },\n};\n\nexport const AuthorColumns: Column<TableItem> = {\n name: 'Author',\n align: 'left',\n width: 120,\n className: itemBlock('author_row'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" ellipsis title={row.user}>\n {row.user}\n </Text>\n );\n },\n};\n\nconst ACOColumns: Column<TableItem> = {\n name: 'ACO',\n align: 'left',\n width: 60,\n className: itemBlock('access_control_object'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n const title = row.access_control_objects?.join(', ');\n\n return (\n <Text variant=\"body-1\" ellipsis title={title}>\n {title}\n </Text>\n );\n },\n};\n\nexport const MyColumns: Column<TableItem>[] = [\n NameColumns,\n TypeColumns,\n DurationColumns,\n StartedColumns,\n ACOColumns,\n];\nexport const AllColumns: Column<TableItem>[] = [\n NameColumns,\n TypeColumns,\n DurationColumns,\n AuthorColumns,\n StartedColumns,\n ACOColumns,\n];\n\nconst tableSettings: Settings = {\n displayIndices: false,\n sortable: false,\n stickyHead: DataTable.MOVING,\n syncHeadOnResize: true,\n};\n\nexport function QueriesHistoryList() {\n const [items, isLoading] = useQueryHistoryList();\n const [filter] = useQuriesHistoryFilter();\n const {columns} = useQueryHistoryListColumns({type: filter.user});\n const timestamp = useSelector(getQueriesListTimestamp);\n const {first, last, goBack, goNext, goFirst} = useQueriesPagination();\n const [selectedId, goToQuery] = useQueryNavigation();\n const scrollElemRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (scrollElemRef?.current) {\n scrollElemRef.current.scrollTop = 0;\n }\n }, [scrollElemRef, timestamp]);\n\n const setClassName = useCallback(\n (item: TableItem) => {\n if (isHeaderTableItem(item)) {\n return itemBlock({\n header: Boolean(item.header),\n });\n }\n\n return itemBlock({\n selected: item.id === selectedId,\n });\n },\n [selectedId],\n );\n\n const itemsByDate = useMemo(\n () =>\n Object.entries(\n groupBy_(items, (item) => moment(item.start_time).format('DD MMMM YYYY')),\n ).reduce((ret, [header, items]) => {\n ret.push({\n header,\n });\n\n return ret.concat(items.map((item) => item));\n }, [] as Array<TableItem>),\n [items],\n );\n\n return (\n <div className={b()}>\n <div className={b('list-wrapper')} ref={scrollElemRef}>\n <DataTableYT\n className={b('list')}\n loading={isLoading}\n columns={columns}\n data={itemsByDate}\n useThemeYT={true}\n rowKey={(row) => {\n if (isHeaderTableItem(row)) {\n return row.header;\n }\n\n return row.id;\n }}\n onRowClick={(item) => {\n if (!isHeaderTableItem(item)) {\n goToQuery(item);\n }\n }}\n disableRightGap={true}\n settings={tableSettings}\n rowClassName={setClassName}\n getColSpansOfRow={({row}) => {\n if (isHeaderTableItem(row)) {\n return {\n Name: columns.length,\n };\n }\n\n return undefined;\n }}\n />\n <div className={b('pagination')}>\n {(!first || !last) && (\n <Pagination\n size=\"m\"\n first={{\n handler: goFirst,\n disabled: first,\n }}\n previous={{\n handler: goBack,\n disabled: first,\n }}\n next={{\n handler: goNext,\n disabled: last,\n }}\n last={{\n handler: noop_,\n disabled: true,\n }}\n />\n )}\n </div>\n </div>\n </div>\n );\n}\n","const SvgLearn = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 14\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M6.836 2.202 1.74 4.386a.396.396 0 0 0 0 .728l5.096 2.184a2.5 2.5 0 0 0 .985.202h.358a2.5 2.5 0 0 0 .985-.202l5.096-2.184a.396.396 0 0 0 0-.728L9.164 2.202A2.5 2.5 0 0 0 8.179 2h-.358a2.5 2.5 0 0 0-.985.202M1.5 6.642l1.5.644v3.228a2 2 0 0 0 1.106 1.789l.806.403a7 7 0 0 0 6.193.033l.909-.442a2 2 0 0 0 1.125-1.798V7.226l1.712-.734a1.896 1.896 0 0 0 0-3.484L9.755.823A4 4 0 0 0 8.179.5h-.358a4 4 0 0 0-1.576.323L1.15 3.008A1.9 1.9 0 0 0 0 4.75v4.5a.75.75 0 0 0 1.5 0zm3 3.872V7.929l1.745.748A4 4 0 0 0 7.821 9h.358a4 4 0 0 0 1.576-.323l1.884-.808v2.63a.5.5 0 0 1-.282.45l-.909.442a5.5 5.5 0 0 1-4.865-.027l-.807-.403a.5.5 0 0 1-.276-.447\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLearn;","import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {Icon, List, ListItemData, Loader, Text} from '@gravity-ui/uikit';\nimport {QueryItem} from '../../module/api';\nimport {useQueryList} from '../../hooks/QueriesList';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport tutorialIcon from '../../../../assets/img/svg/learn.svg';\nimport './index.scss';\n\nconst itemCn = cn('query-tutorial-item');\nconst block = cn('queries-tutorial-list');\n\nfunction renderItem(item: QueryItem) {\n return (\n <>\n <Icon className={itemCn('icon')} data={tutorialIcon} />\n <Text className={itemCn('text')} ellipsis title={item?.annotations?.title}>\n {item?.annotations?.title || 'No name'}\n </Text>\n </>\n );\n}\n\nexport function QueriesTutorialList({className}: {className: string}) {\n const [items, isLoading] = useQueryList();\n\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const selectedIndex = useMemo(() => {\n return items.findIndex((query) => query.id === selectedId);\n }, [selectedId, items]);\n\n const tutorialFilter = useMemo(() => {\n return (filter: string) => {\n return (item: ListItemData<QueryItem>) => {\n return (\n item?.annotations?.title\n ?.toLocaleLowerCase()\n .includes(filter.toLocaleLowerCase()) || false\n );\n };\n };\n }, []);\n\n return (\n <div className={block(null, className)}>\n <List\n className={block('list', {loading: isLoading})}\n filterable={true}\n filterClassName={block('filter')}\n filterPlaceholder={'Filter by name'}\n filterItem={tutorialFilter}\n virtualized={false}\n selectedItemIndex={selectedIndex}\n sortable={false}\n itemHeight={32}\n itemClassName={itemCn()}\n items={isLoading ? [] : items}\n renderItem={renderItem}\n onItemClick={goToQuery}\n />\n {isLoading && (\n <div className={block('loader')}>\n <Loader size=\"l\" />\n </div>\n )}\n </div>\n );\n}\n","import React, {useCallback, useMemo} from 'react';\nimport {ControlGroupOption, RadioButton} from '@gravity-ui/uikit';\nimport {Engines} from '../../module/api';\nimport {QueryEngine} from '../../module/engines';\nimport {QueryEnginesNames} from '../../utils/query';\n\nconst ALL_ENGINE_KEY = '__all';\n\nexport function QueryEngineFilter({\n value,\n onChange,\n className,\n engines = Engines,\n}: {\n engines?: QueryEngine[];\n value?: QueryEngine;\n className?: string;\n onChange: (value?: QueryEngine) => void;\n}) {\n const enginesList = useMemo<ControlGroupOption[]>(() => {\n return [\n {\n value: ALL_ENGINE_KEY,\n content: 'All',\n },\n ...engines.map((engine) => {\n return {\n value: engine,\n content: QueryEnginesNames[engine],\n };\n }),\n ];\n }, [engines]);\n\n const onChangeEngineFilter = useCallback(\n (engine: string) => {\n onChange(engine === ALL_ENGINE_KEY ? undefined : (engine as QueryEngine));\n },\n [onChange],\n );\n return (\n <RadioButton\n className={className}\n options={enginesList}\n value={value || ALL_ENGINE_KEY}\n onUpdate={onChangeEngineFilter}\n />\n );\n}\n","import {TextInput} from '@gravity-ui/uikit';\nimport debounce_ from 'lodash/debounce';\nimport React, {useEffect, useMemo, useState} from 'react';\n\nexport type QueryTextFilterProps = {\n value?: string;\n placeholder: string;\n onChange: (value?: string) => void;\n delay?: number;\n};\n\nexport function QueryTextFilter({value, placeholder, onChange, delay = 200}: QueryTextFilterProps) {\n const [pattern, setPattern] = useState<string>(value || '');\n\n const debouncedChange = useMemo(() => {\n return debounce_((value: string) => {\n onChange(value);\n }, delay);\n }, [onChange, delay]);\n\n useEffect(() => {\n debouncedChange(pattern);\n return () => {\n debouncedChange.cancel();\n };\n }, [pattern, debouncedChange]);\n\n return (\n <TextInput\n placeholder={placeholder}\n value={pattern}\n onBlur={() => debouncedChange.flush()}\n onUpdate={setPattern}\n />\n );\n}\n","import React, {useCallback} from 'react';\nimport block from 'bem-cn-lite';\nimport {ControlGroupOption, Icon as GravityIcon, RadioButton, Tooltip} from '@gravity-ui/uikit';\nimport {QueriesListAuthorFilter, QueriesListMode} from '../../module/queries_list/types';\nimport CircleQuestionIcon from '@gravity-ui/icons/svgs/circle-question.svg';\n\nimport './index.scss';\nimport {QueryEngineFilter} from './QueryEngineFilter';\nimport {QueryEngine} from '../../module/engines';\nimport {QueryTextFilter} from './QueryTextFilter';\nimport {useQuriesHistoryFilter} from '../../hooks/QueryListFilter';\nimport Dropdown from '../../../../components/Dropdown/Dropdown';\nimport Button from '../../../../components/Button/Button';\nimport Icon from '../../../../components/Icon/Icon';\nimport ColumnSelector from '../../../../components/ColumnSelector/ColumnSelector';\nimport {useQueryHistoryListColumns} from '../QueriesHistoryList/useQueryListColumns';\n\nconst AuthorFilter: ControlGroupOption[] = [\n {\n value: QueriesListAuthorFilter.My,\n content: 'My',\n },\n {\n value: QueriesListAuthorFilter.All,\n content: 'All',\n },\n];\n\nconst b = block('queries-history-filter');\n\ntype QueriesHistoryListFilterProps = {\n className?: string;\n};\n\nexport function QueriesHistoryListFilter({className}: QueriesHistoryListFilterProps) {\n const [filter, filterViewMode, onChange] = useQuriesHistoryFilter();\n const {allowedColumns, handleColumnChange} = useQueryHistoryListColumns({type: filter.user});\n\n const onChangeAuthorFilter = useCallback(\n (user: string) => {\n onChange('user', user as QueriesListAuthorFilter);\n },\n [onChange],\n );\n const onChangeEngineFilter = useCallback(\n (engine?: QueryEngine) => {\n onChange('engine', engine);\n },\n [onChange],\n );\n const onChangeTextFilter = useCallback(\n (text?: string) => {\n onChange('filter', text || undefined);\n },\n [onChange],\n );\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n {filterViewMode === QueriesListMode.History && (\n <RadioButton\n options={AuthorFilter}\n value={filter?.user || QueriesListAuthorFilter.My}\n onUpdate={onChangeAuthorFilter}\n />\n )}\n <QueryEngineFilter value={filter?.engine} onChange={onChangeEngineFilter} />\n </div>\n {filterViewMode === QueriesListMode.History && (\n <div className={b('row')}>\n <QueryTextFilter\n placeholder=\"Search in query name, body and access control\"\n value={filter?.filter}\n onChange={onChangeTextFilter}\n />\n <Tooltip\n content={\n <>\n Search in query text, annotations and access control\n <br />\n Use `"title"="test_name"` to search in query\n name\n <br />\n Use `aco:nobody` to search in query access control\n </>\n }\n >\n <GravityIcon data={CircleQuestionIcon} size={16} />\n </Tooltip>\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button pin={'round-round'} className={b('columns-button')}>\n <Icon awesome=\"table\" face=\"light\" />\n </Button>\n }\n template={\n <ColumnSelector items={allowedColumns} onChange={handleColumnChange} />\n }\n />\n </div>\n )}\n </div>\n );\n}\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"vcs\" */ './Vcs');\n}\n\nexport const Vcs = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Vcs};\n }),\n);\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"query-navigation\" */ './Navigation');\n}\n\nexport const Navigation = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Navigation};\n }),\n);\n","import React, {useCallback, useEffect, useMemo} from 'react';\nimport block from 'bem-cn-lite';\nimport {Tabs, TabsItemProps} from '@gravity-ui/uikit';\nimport {QueriesHistoryList} from './QueriesHistoryList';\n\nimport {getQueriesListMode} from '../module/queries_list/selectors';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesListMode, getQueriesListModes} from '../module/queries_list/types';\nimport {applyListMode, requestQueriesList} from '../module/queries_list/actions';\n\nimport './index.scss';\nimport {QueriesTutorialList} from './QueriesTutorialList';\nimport {QueriesHistoryListFilter} from './QueriesListFilter';\nimport {Vcs} from '../Vcs';\nimport {Navigation} from '../Navigation';\nimport {selectIsVcsVisible} from '../module/vcs/selectors';\n\nconst b = block('queires-list');\n\nconst TabNames = {\n [QueriesListMode.History]: 'History',\n [QueriesListMode.Tutorials]: 'Tutorials',\n [QueriesListMode.VCS]: 'VCS',\n [QueriesListMode.Navigation]: 'Navigation',\n};\n\nconst useQueryTabs = (): [TabsItemProps[], string, (tab: string) => void] => {\n const dispatch = useDispatch();\n const selectedTab = useSelector(getQueriesListMode);\n const isVcsVisible = useSelector(selectIsVcsVisible);\n const setTab = useCallback(\n (tab: string) => {\n dispatch(applyListMode(tab as QueriesListMode));\n },\n [dispatch],\n );\n\n const tabOptions = useMemo<TabsItemProps[]>(() => {\n return getQueriesListModes({vcs: isVcsVisible}).map((tab) => {\n return {\n id: tab as unknown as string,\n title: TabNames[tab],\n };\n });\n }, [isVcsVisible]);\n return [tabOptions, (selectedTab || QueriesListMode.History).toString(), setTab];\n};\n\nexport function QueriesList() {\n const [tabs, tab, setTab] = useQueryTabs();\n\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(requestQueriesList());\n }, [dispatch]);\n\n const isVsc = tab === QueriesListMode.VCS;\n\n if (tab === QueriesListMode.Navigation)\n return (\n <div className={b()}>\n <Tabs className={b('tabs')} items={tabs} activeTab={tab} onSelectTab={setTab} />\n <div className={b('content')}>\n <Navigation />\n </div>\n </div>\n );\n\n return (\n <div className={b()}>\n <Tabs className={b('tabs')} items={tabs} activeTab={tab} onSelectTab={setTab} />\n <div className={b('content')}>\n {!isVsc && <QueriesHistoryListFilter className={b('filter')} />}\n\n {tab === QueriesListMode.History && <QueriesHistoryList />}\n {tab === QueriesListMode.Tutorials && (\n <QueriesTutorialList className={b('list-content')} />\n )}\n {isVsc && <Vcs />}\n </div>\n </div>\n );\n}\n","const SvgLayoutColumns = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8.75 3.5H12A1.5 1.5 0 0 1 13.5 5v6a1.5 1.5 0 0 1-1.5 1.5H8.75zm-1.5 0H4A1.5 1.5 0 0 0 2.5 5v6A1.5 1.5 0 0 0 4 12.5h3.25zM1 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLayoutColumns;","import React, {FC, useRef} from 'react';\nimport {setFileEditor} from '../module/queryFilesForm/queryFilesFormSlice';\nimport {selectFileEditorConfig} from '../module/queryFilesForm/selectors';\nimport {changeQueryFile} from '../module/queryFilesForm/actions';\nimport {useDispatch, useSelector} from 'react-redux';\nimport FileIcon from '@gravity-ui/icons/svgs/file.svg';\nimport XmarkIcon from '@gravity-ui/icons/svgs/xmark.svg';\nimport SquareIcon from '@gravity-ui/icons/svgs/square.svg';\nimport LayoutColumnsIcon from '@gravity-ui/icons/svgs/layout-columns.svg';\nimport {Button, Icon, Text} from '@gravity-ui/uikit';\nimport './FileEditor.scss';\nimport cn from 'bem-cn-lite';\nimport MonacoEditor, {MonacoEditorConfig} from '../../../components/MonacoEditor';\nimport * as monaco from 'monaco-editor';\n\nconst block = cn('file-editor');\n\nconst MONACO_CONFIG: MonacoEditorConfig = {\n fontSize: 14,\n language: 'plaintext',\n renderWhitespace: 'boundary',\n minimap: {\n enabled: true,\n },\n};\n\nexport const FileEditor: FC = () => {\n const dispatch = useDispatch();\n const {fileEditor, file} = useSelector(selectFileEditorConfig);\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n\n const handleOnChange = (content: string) => {\n if (!file) return;\n dispatch(changeQueryFile({...file, content}));\n };\n\n const handleOnClose = () => {\n dispatch(setFileEditor({...fileEditor, isOpen: false, isFullWidth: false}));\n };\n\n const handleOnWidthToggle = () => {\n dispatch(setFileEditor({...fileEditor, isFullWidth: !fileEditor.isFullWidth}));\n };\n\n if (!file) return null;\n\n return (\n <div className={block()}>\n <div className={block('header')}>\n <div className={block('header-side')}>\n <Icon data={FileIcon} size={16} />\n <Text variant=\"subheader-1\" ellipsis>\n {file.name}\n </Text>\n </div>\n <div className={block('header-side')}>\n <Button view=\"flat\" onClick={handleOnWidthToggle}>\n <Icon\n data={fileEditor.isFullWidth ? LayoutColumnsIcon : SquareIcon}\n size={16}\n />\n </Button>\n <Button view=\"flat\" onClick={handleOnClose}>\n <Icon data={XmarkIcon} size={16} />\n </Button>\n </div>\n </div>\n <MonacoEditor\n className={block('editor')}\n editorRef={editorRef}\n value={file.content || ''}\n language=\"plaintext\"\n onChange={handleOnChange}\n monacoConfig={MONACO_CONFIG}\n />\n </div>\n );\n};\n","import React, {FC, useState} from 'react';\nimport QueryEditor from '../QueryEditor/QueryEditor';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {FileEditor} from '../FileEditor';\n\nconst EDITOR_INITIAL_SIZE = [50, 50];\n\ntype Props = {\n fileEditorFullWidth: boolean;\n fileEditorVisible: boolean;\n onStartQuery: (queryId: string) => void;\n};\n\nexport const QueryEditorSplit: FC<Props> = ({\n fileEditorFullWidth,\n fileEditorVisible,\n onStartQuery,\n}) => {\n const [sizes, setSize] = useState(EDITOR_INITIAL_SIZE);\n const hideQueryEditor = !(fileEditorVisible && fileEditorFullWidth);\n\n return (\n <FlexSplitPane\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n getInitialSizes={sizes}\n >\n {hideQueryEditor && <QueryEditor onStartQuery={onStartQuery} showStatusInTitle />}\n {fileEditorVisible && <FileEditor />}\n </FlexSplitPane>\n );\n};\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {isEngine} from '../module/api';\nimport {QueryEngine} from '../module/engines';\nimport {\n SET_QUERY_PARAMS,\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../module/query/actions';\nimport {usePreventUnload} from '../../../hooks/use-prevent-unload';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\nimport {getDirtySinceLastSubmit, getQueryGetParams} from '../module/query/selectors';\nimport {QueriesList} from '../QueriesList';\nimport {useQueryACO} from '../QueryACO/useQueryACO';\nimport {MonacoContext} from '../context/MonacoContext';\n\nimport cn from 'bem-cn-lite';\n\nimport './QueryTracker.scss';\nimport {QueryEditorSplit} from './QueryEditorSplit';\nimport {selectFileEditor} from '../module/queryFilesForm/selectors';\nimport {selectNavigationCluster} from '../module/queryNavigation/selectors';\nimport {setSettingByKey} from '../../../store/actions/settings';\nimport {CellPreviewModal} from '../../../containers/CellPreviewModal/CellPreviewModal';\n\nconst b = cn('query-tracker-page');\n\ntype Props = {\n match: {\n path: string;\n params: {\n queryId?: string;\n };\n };\n location: {\n search: string;\n };\n};\n\nconst initialSizes = [23, 77];\nconst minSize = 380; // see history list's cells size\n\nfunction QueryPageDraft() {\n const dispatch = useDispatch();\n const routeParams = useSelector(getQueryGetParams);\n const cluster = useSelector(selectNavigationCluster);\n\n useEffect(() => {\n const engine =\n routeParams.engine && isEngine(routeParams.engine)\n ? (routeParams.engine as QueryEngine)\n : QueryEngine.YQL;\n if (routeParams.cluster && routeParams.path) {\n if (routeParams.useDraft) {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {\n ...routeParams,\n useDraft: undefined,\n },\n },\n });\n }\n dispatch(\n createQueryFromTablePath(engine, routeParams.cluster, routeParams.path, {\n useDraft: true,\n }),\n );\n } else {\n dispatch(createEmptyQuery(engine));\n }\n if (cluster) {\n dispatch(\n setSettingByKey<boolean>(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n true,\n ),\n );\n }\n }, [dispatch]);\n return null;\n}\n\nfunction QueryPage(props: Props) {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {},\n },\n });\n if (props.match.params.queryId) {\n dispatch(loadQuery(props.match.params.queryId));\n } else {\n dispatch(createEmptyQuery());\n }\n }, [dispatch, props.match.params.queryId]);\n return null;\n}\n\nexport default function QueryTracker({match}: Props) {\n const {isQueriesListSidebarVisible} = useQueriesListSidebarToggle();\n const isQueryStateDirty = useSelector(getDirtySinceLastSubmit);\n const fileEditor = useSelector(selectFileEditor);\n usePreventUnload({shouldListen: isQueryStateDirty});\n const [sizes, setSize] = useState(initialSizes);\n const getSize = useMemo(() => {\n return () => sizes;\n }, [sizes]);\n const dispatch = useDispatch();\n const {loadQueryTrackerInfo} = useQueryACO();\n\n const goToCreatedQuery = useCallback(\n (queryId: string) => {\n dispatch(goToQuery(queryId));\n return true;\n },\n [dispatch],\n );\n\n useEffect(() => {\n loadQueryTrackerInfo();\n }, []);\n\n return (\n <>\n <Switch>\n <Route exact path={match.path} component={QueryPageDraft} />\n <Route path={`${match.path}/:queryId`} component={QueryPage} />\n </Switch>\n <MonacoContext.Provider value={new Map()}>\n <QueriesPooling>\n <FlexSplitPane\n className={b('container')}\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n minSize={minSize}\n getInitialSizes={getSize}\n >\n {isQueriesListSidebarVisible ? <QueriesList /> : null}\n <QueryEditorSplit\n fileEditorFullWidth={fileEditor.isFullWidth}\n fileEditorVisible={fileEditor.isOpen}\n onStartQuery={goToCreatedQuery}\n />\n </FlexSplitPane>\n </QueriesPooling>\n </MonacoContext.Provider>\n <CellPreviewModal />\n </>\n );\n}\n","import {createSelector} from 'reselect';\nimport {getSettingsData} from '../../../../store/selectors/settings-base';\n\nexport const getSettingQueryTrackerQueriesListSidebarVisibilityMode = createSelector(\n getSettingsData,\n (settings) => Boolean(settings['global::queryTracker::queriesListSidebarVisibilityMode']),\n);\n","import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesHistoryCursorDirection, QueryItem} from '../../module/api';\nimport {\n getQueriesList,\n getQueriesListCursor,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport {loadNextQueriesList, resetCursor} from '../../module/queries_list/actions';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getSettingQueryTrackerQueriesListSidebarVisibilityMode} from '../../module/settings/selector';\n\nexport function useQueryList(): [QueryItem[], boolean] {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n return [items, isLoading];\n}\n\nexport const useQueriesPagination = () => {\n const dispatch = useDispatch();\n const cursor = useSelector(getQueriesListCursor);\n const hasNext = useSelector(hasQueriesListMore);\n\n const goNext = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n }, [dispatch]);\n\n const goBack = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));\n }, [dispatch]);\n\n const reset = useCallback(() => {\n dispatch(resetCursor());\n }, [dispatch]);\n\n return {\n first: !cursor?.cursorTime,\n last: !hasNext,\n currentCursorTime: cursor?.cursorTime,\n goNext,\n goBack,\n goFirst: reset,\n };\n};\n\nexport const useQueriesListSidebarToggle = () => {\n const dispatch = useDispatch();\n const isQueriesListSidebarVisible = useSelector(\n getSettingQueryTrackerQueriesListSidebarVisibilityMode,\n );\n\n const toggleQueriesListSideBarToggle = () => {\n dispatch(\n setSettingByKey<boolean>(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n !isQueriesListSidebarVisible,\n ),\n );\n };\n\n return {\n isQueriesListSidebarVisible,\n toggleQueriesListSideBarToggle,\n };\n};\n","import {RootState} from '../../../../store/reducers';\nimport {createSelector} from 'reselect';\nimport {getClusterList} from '../../../../store/selectors/slideoutMenu';\nimport {NavigationNode} from './queryNavigationSlice';\nimport {makeGetSetting} from '../../../../store/selectors/settings';\nimport {createNestedNS} from '../../../../../shared/utils/settings';\nimport {NAMESPACES, SettingName} from '../../../../../shared/constants/settings';\n\nexport const selectNavigationCluster = (state: RootState) =>\n state.queryTracker.queryNavigation.cluster;\n\nexport const selectClusterConfigs = (state: RootState) => state.clustersMenu.clusters;\n\nexport const selectNavigationClusterConfig = createSelector(\n [selectNavigationCluster, selectClusterConfigs],\n (clusterName, clusters) => {\n if (!clusterName || !(clusterName in clusters)) return null;\n\n return clusters[clusterName];\n },\n);\n\nexport const selectFavouritePaths = createSelector(\n [makeGetSetting, selectNavigationCluster],\n (getSetting, cluster) => {\n if (!cluster) return [];\n const parentNS = createNestedNS(cluster, NAMESPACES.LOCAL);\n const favourites = getSetting(SettingName.LOCAL.FAVOURITES, parentNS);\n\n return favourites ? favourites.map((i: {path: string}) => i.path).sort() : [];\n },\n);\n\nexport const selectNavigationPath = (state: RootState) => state.queryTracker.queryNavigation.path;\n\nexport const selectNavigationNodeType = (state: RootState) =>\n state.queryTracker.queryNavigation.nodeType;\n\nexport const selectNavigationFilter = (state: RootState) =>\n state.queryTracker.queryNavigation.filter;\n\nexport const selectNavigationNodes = (state: RootState) => state.queryTracker.queryNavigation.nodes;\n\nexport const selectNavigationTable = (state: RootState) => state.queryTracker.queryNavigation.table;\n\nconst filterValueInText = (value: string, filter: string) =>\n value.toLowerCase().includes(filter.toLowerCase());\n\nexport const selectTableWithFilter = createSelector(\n [selectNavigationTable, selectNavigationFilter],\n (table, filter) => {\n if (!table) return null;\n\n return {\n ...table,\n schema: table.schema.filter(({name, type}) => {\n return filterValueInText(name, filter) || filterValueInText(type, filter);\n }),\n };\n },\n);\n\nexport const selectClustersByFilter = createSelector(\n [getClusterList, selectNavigationFilter],\n (clusters, filter) => {\n if (!filter) return clusters;\n\n return clusters.filter(({name}) => filterValueInText(name, filter));\n },\n);\n\nexport const selectNodeListByFilter = createSelector(\n [selectNavigationNodes, selectNavigationFilter, selectNavigationPath],\n (nodes, filter, path) => {\n const isRoot = !path || path === '/';\n const parentPath = isRoot ? path : path.split('/').slice(0, -1).join('/');\n const upItem: NavigationNode = {\n name: '...',\n type: 'map_node',\n path: parentPath,\n isFavorite: false,\n };\n\n if (!filter) return isRoot ? nodes : [upItem, ...nodes];\n\n const result = nodes.filter(({name}) => filterValueInText(name, filter));\n\n if (!isRoot) {\n result.unshift(upItem);\n }\n\n return result;\n },\n);\n"],"names":["usePreventUnload","_ref","shouldListen","beforeUnloadHandler","useCallback","e","preventDefault","returnValue","useEffect","window","addEventListener","removeEventListener","useQuriesHistoryFilter","filter","useSelector","getQueriesListFilter","filterPreset","getQueriesListMode","dispatch","useDispatch","name","value","applyFilter","_defineProperty","useQueryNavigation","selectedItem","getQuery","cluster","getCluster","history","useHistory","goToQuery","item","push","createQueryUrl","id","EditQueryNameModal","_query$annotations2","query","className","_useState","useState","undefined","_useState2","_slicedToArray","error","setError","_useState3","_useState4","visible","setVisible","state","useThunkDispatch","initialValues","useMemo","_query$annotations","annotations","title","_jsxs","onClick","event","stopPropagation","onKeyDown","children","_jsx","Button","view","size","width","Icon","awesome","YTDFDialog","pristineSubmittable","modal","headerProps","footerProps","textApply","onClose","onAdd","form","getState","values","setQueryName","_objectSpread","err","fields","type","required","caption","extras","placeholder","concat","_toConsumableArray","makeErrorFields","useQueryHistoryListColumns","selectedColumns","getQueryListHistoryColumns","handleColumnChange","setSettingByKey","items","_ref2","checked","map","_ref3","React","ALL_COLUMN_NAMES","intersectionBy_","AllColumns","MyColumns","EXCLUDED_COLUMNS","NameColumns","AuthorColumns","currentColumnsPreset","QueriesListAuthorFilter","My","selectedColumnNames","Set","Array","isArray","add","columns","_ref4","has","allowedColumns","includes","_ref5","b","block","itemBlock","isHeaderTableItem","header","align","render","_row$annotations","row","QueryStatusIcon","status","Text","color","ellipsis","TypeColumns","variant","engine","QueryEnginesNames","DurationColumns","QueryStatus","RUNNING","hammer","format","NO_VALUE","QueryDuration","StartedColumns","formatTime","start_time","user","ACOColumns","_ref6","_row$access_control_o","access_control_objects","join","tableSettings","displayIndices","sortable","stickyHead","DataTable","MOVING","syncHeadOnResize","QueriesHistoryList","pollingContext","uncompletedItems","queryListUpdateHandler","_useQueryHistoryList","timeout","arguments","length","timer","start","setTimeout","refreshQueriesListIfNeeded","clearTimeout","useRefreshHistoryList","useContext","QueriesPoolingContext","getUncompletedItems","UPDATE_QUERIES_LIST","data","watch","useQueryList","_useQueryHistoryList2","isLoading","_useQuriesHistoryFilt","timestamp","getQueriesListTimestamp","_useQueriesPagination","useQueriesPagination","first","last","goBack","goNext","goFirst","_useQueryNavigation","_useQueryNavigation2","selectedId","scrollElemRef","useRef","current","scrollTop","setClassName","Boolean","selected","itemsByDate","Object","entries","groupBy_","moment","reduce","ret","_ref7","_ref8","ref","DataTableYT","loading","useThemeYT","rowKey","onRowClick","disableRightGap","settings","rowClassName","getColSpansOfRow","_ref9","Name","Pagination","handler","disabled","previous","next","noop_","props","xmlns","fill","viewBox","fillRule","d","clipRule","itemCn","cn","renderItem","_item$annotations","_item$annotations2","_Fragment","tutorialIcon","QueriesTutorialList","_useQueryList","_useQueryList2","selectedIndex","findIndex","tutorialFilter","_item$annotations3","toLocaleLowerCase","List","filterable","filterClassName","filterPlaceholder","filterItem","virtualized","selectedItemIndex","itemHeight","itemClassName","onItemClick","Loader","ALL_ENGINE_KEY","QueryEngineFilter","onChange","_ref$engines","engines","Engines","enginesList","content","onChangeEngineFilter","RadioButton","options","onUpdate","QueryTextFilter","_ref$delay","delay","pattern","setPattern","debouncedChange","debounce_","cancel","TextInput","onBlur","flush","AuthorFilter","All","QueriesHistoryListFilter","_useQuriesHistoryFilt2","filterViewMode","_useQueryHistoryListC","onChangeAuthorFilter","onChangeTextFilter","text","QueriesListMode","History","Tooltip","GravityIcon","CircleQuestionIcon","Dropdown","trigger","directions","button","pin","face","template","ColumnSelector","Vcs","withLazyLoading","lazy","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","t0","sent","abrupt","stop","Navigation","TabNames","_TabNames","Tutorials","VCS","useQueryTabs","selectedTab","isVcsVisible","selectIsVcsVisible","setTab","tab","applyListMode","getQueriesListModes","vcs","toString","QueriesList","_useQueryTabs","_useQueryTabs2","tabs","requestQueriesList","isVsc","Tabs","activeTab","onSelectTab","MONACO_CONFIG","fontSize","language","renderWhitespace","minimap","enabled","FileEditor","_useSelector","selectFileEditorConfig","fileEditor","file","editorRef","FileIcon","setFileEditor","isFullWidth","LayoutColumnsIcon","SquareIcon","isOpen","XmarkIcon","MonacoEditor","changeQueryFile","monacoConfig","EDITOR_INITIAL_SIZE","QueryEditorSplit","fileEditorFullWidth","fileEditorVisible","onStartQuery","sizes","setSize","hideQueryEditor","FlexSplitPane","direction","HORIZONTAL","onResizeEnd","getInitialSizes","QueryEditor","showStatusInTitle","initialSizes","minSize","QueryPageDraft","routeParams","getQueryGetParams","selectNavigationCluster","isEngine","QueryEngine","YQL","path","useDraft","SET_QUERY_PARAMS","params","createQueryFromTablePath","createEmptyQuery","QueryPage","match","queryId","loadQuery","QueryTracker","isQueriesListSidebarVisible","useQueriesListSidebarToggle","isQueryStateDirty","getDirtySinceLastSubmit","selectFileEditor","getSize","loadQueryTrackerInfo","useQueryACO","goToCreatedQuery","Switch","Route","exact","component","MonacoContext","Provider","Map","QueriesPooling","CellPreviewModal","getSettingQueryTrackerQueriesListSidebarVisibilityMode","createSelector","getSettingsData","getQueriesList","isQueriesListLoading","cursor","getQueriesListCursor","hasNext","hasQueriesListMore","loadNextQueriesList","QueriesHistoryCursorDirection","PAST","FUTURE","reset","resetCursor","cursorTime","currentCursorTime","toggleQueriesListSideBarToggle","queryTracker","queryNavigation","selectNavigationClusterConfig","clustersMenu","clusters","clusterName","selectFavouritePaths","makeGetSetting","getSetting","parentNS","createNestedNS","NAMESPACES","LOCAL","favourites","SettingName","FAVOURITES","i","sort","selectNavigationPath","selectNavigationNodeType","nodeType","selectNavigationFilter","selectNavigationNodes","nodes","filterValueInText","toLowerCase","selectTableWithFilter","table","schema","selectClustersByFilter","getClusterList","selectNodeListByFilter","isRoot","upItem","split","slice","isFavorite","result","unshift"],"sourceRoot":""}
|