@ytsaurus/ui 1.56.1 → 1.57.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.
- package/dist/public/build/assets-manifest.json +15 -15
- package/dist/public/build/css/vcs.ca6825ac.chunk.css +2 -0
- package/dist/public/build/css/vcs.ca6825ac.chunk.css.map +1 -0
- package/dist/public/build/js/{1059.dbab7a54.chunk.js → 1059.68590ad9.chunk.js} +2 -2
- package/dist/public/build/js/{1059.dbab7a54.chunk.js.map → 1059.68590ad9.chunk.js.map} +1 -1
- package/dist/public/build/js/{main.7c1e6782.js → main.bfc510a2.js} +3 -3
- package/dist/public/build/js/{main.7c1e6782.js.map → main.bfc510a2.js.map} +1 -1
- package/dist/public/build/js/query-navigation.5f2d5062.chunk.js +2 -0
- package/dist/public/build/js/query-navigation.5f2d5062.chunk.js.map +1 -0
- package/dist/public/build/js/{runtime.ced6e0e1.js → runtime.7a55c14e.js} +2 -2
- package/dist/public/build/js/{runtime.ced6e0e1.js.map → runtime.7a55c14e.js.map} +1 -1
- package/dist/public/build/js/vcs.8add27e4.chunk.js +2 -0
- package/dist/public/build/js/vcs.8add27e4.chunk.js.map +1 -0
- package/dist/public/build/manifest.json +12 -12
- package/dist/server/ServerFactory.d.ts +3 -0
- package/dist/server/ServerFactory.js +3 -0
- package/dist/server/components/vcs/GithubApi.d.ts +21 -10
- package/dist/server/components/vcs/GithubApi.js +32 -9
- package/dist/server/components/vcs/GitlabApi.d.ts +21 -10
- package/dist/server/components/vcs/GitlabApi.js +31 -9
- package/dist/server/components/vcs/index.d.ts +1 -16
- package/dist/server/components/vcs/index.js +17 -5
- package/dist/server/controllers/vcs.d.ts +1 -1
- package/dist/server/controllers/vcs.js +43 -25
- package/dist/server/routes.js +1 -1
- package/dist/shared/constants/vcs.d.ts +1 -0
- package/dist/shared/constants/vcs.js +4 -0
- package/dist/shared/ui-settings.d.ts +30 -6
- package/dist/shared/vcs.d.ts +38 -7
- package/package.json +2 -2
- package/dist/public/build/css/vcs.9409b0df.chunk.css +0 -2
- package/dist/public/build/css/vcs.9409b0df.chunk.css.map +0 -1
- package/dist/public/build/js/query-navigation.4b0b6e64.chunk.js +0 -2
- package/dist/public/build/js/query-navigation.4b0b6e64.chunk.js.map +0 -1
- package/dist/public/build/js/vcs.d737e61e.chunk.js +0 -2
- package/dist/public/build/js/vcs.d737e61e.chunk.js.map +0 -1
- /package/dist/public/build/js/{main.7c1e6782.js.LICENSE.txt → main.bfc510a2.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[1040],{95955:(e,t,n)=>{n.r(t),n.d(t,{Navigation:()=>lt});var r=n(77810),a=n(28407),o=n(70232),i=n.n(o),s=n(76872),c=n(13322),u=n(92423),l=n(72679),d=n(65315),p=n(59879),m=n(64922),h=function(e){var t=e.item,n=e.isCurrent,r=e.onClick;return(0,m.jsx)("div",{onClick:function(e){e.preventDefault(),t.href&&!n&&r(t.href)},children:t.text})},f=function(e){var t=e.path,n=e.cluster,a=e.onClusterChangeClick,o=e.onItemClick,i=(0,r.useCallback)((function(e){o(e)}),[o]),s=(0,r.useMemo)((function(){var e="/";if(!n)return[];var r=[{text:n,action:function(){o("/")}}],a=t.split("/").reduce((function(t,n){return n&&(e+="/"+n,t.push({text:n,href:e,action:function(){}})),t}),[]);return[].concat(r,(0,c.A)(a))}),[n,t,o]);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u.$,{size:"s",view:"flat",onClick:a,children:(0,m.jsx)(l.I,{data:p.A,size:16})}),(0,m.jsx)(d.BI,{items:s,renderItemContent:function(e,t){return(0,m.jsx)(h,{item:e,isCurrent:t,onClick:i})},firstDisplayedItemsCount:d.t9[t?"Zero":"One"],lastDisplayedItemsCount:d.hR.One})]})},v=n(40319);const g=function(e){return(0,m.jsx)("svg",(0,v.A)((0,v.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,m.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"m9.194 5 .351.873.94.064 3.197.217-2.46 2.055-.722.603.23.914.782 3.108-2.714-1.704L8 10.629l-.798.5-2.714 1.705.782-3.108.23-.914-.723-.603-2.46-2.055 3.198-.217.94-.064.35-.874L8 2.025zm-7.723-.292 3.943-.268L6.886.773C7.29-.231 8.71-.231 9.114.773l1.472 3.667 3.943.268c1.08.073 1.518 1.424.688 2.118L12.185 9.36l.964 3.832c.264 1.05-.886 1.884-1.802 1.31L8 12.4l-3.347 2.101c-.916.575-2.066-.26-1.802-1.309l.964-3.832L.783 6.826c-.83-.694-.391-2.045.688-2.118",clipRule:"evenodd"})}))},x=function(e){return(0,m.jsx)("svg",(0,v.A)((0,v.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,m.jsx)("path",{fill:"currentColor",d:"M6.886.773C7.29-.231 8.71-.231 9.114.773l1.472 3.667 3.943.268c1.08.073 1.518 1.424.688 2.118L12.185 9.36l.964 3.832c.264 1.05-.886 1.884-1.802 1.31L8 12.4l-3.347 2.101c-.916.575-2.066-.26-1.802-1.309l.964-3.832L.783 6.826c-.83-.694-.391-2.045.688-2.118l3.943-.268z"})}))};var w=n(91726);const C=function(e){return(0,m.jsx)("svg",(0,v.A)((0,v.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,m.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M12 2.5H8A1.5 1.5 0 0 0 6.5 4v1H8a3 3 0 0 1 3 3v1.5h1A1.5 1.5 0 0 0 13.5 8V4A1.5 1.5 0 0 0 12 2.5M11 11h1a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v1H4a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3zM4 6.5h4A1.5 1.5 0 0 1 9.5 8v4A1.5 1.5 0 0 1 8 13.5H4A1.5 1.5 0 0 1 2.5 12V8A1.5 1.5 0 0 1 4 6.5",clipRule:"evenodd"})}))};var y=(0,s.A)("navigation-header-actions"),A=function(e){var t=e.isFavorite,n=e.showCopyBtn,r=e.onFavoriteToggle,a=e.onPathCopy,o=e.onPastePath;return(0,m.jsxs)("div",{className:y(),children:[(0,m.jsx)(u.$,{view:"flat",onClick:r,children:(0,m.jsx)(l.I,{data:t?x:g,size:16})}),(0,m.jsx)(u.$,{view:"flat",onClick:o,children:(0,m.jsx)(l.I,{data:w.A,size:16})}),n&&(0,m.jsx)(u.$,{view:"flat",onClick:a,children:(0,m.jsx)(l.I,{data:C,size:16})})]})},b=n(65692),j=n(15647),k=n(50875),S=n(45045),N=n(48971),T=n(78259),_=n(20194),E=n(64714),I=n(44639),R=n(78894),L=n(68175),P=n(3659),V=n(2796),q=n(66030),H=n(55956),D=n(52797),z=n(88187),O=function(){var e=(0,a.A)(i().mark((function e(t){var n,r,a,o,s,c,u,l,d,p,m,h,f,g,x,w,C,y,A,b;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.clusterConfig,r=t.path,a=t.login,o=t.schema,s=t.keyColumns,c=t.limit,u=t.output_format,l=o.map((function(e){return e.name})),e.next=4,(0,N.fI)(E.Qq.checkPermission(E.Vu.dynTableCheckPerm,{setup:{proxy:(0,D.v9)(n)},parameters:{columns:l,permission:"read",user:a,path:r}}),{skipSuccessToast:!0,toasterName:"query_navigation_node_permissions",errorTitle:"Navigation node get attributes failure"});case 4:if(d=e.sent,Array.isArray(d.columns)){e.next=7;break}return e.abrupt("return",Promise.reject(new Error("Dynamic table columns is not array")));case 7:if(p=d.columns.reduce((function(e,t,n){return"allow"===t.action?e.availableColumns.push(l[n]):(e.omittedColumns.push(l[n]),s.includes(l[n])&&e.deniedKeyColumns.push((0,L.A)({},l[n],t.action))),e}),{availableColumns:[],omittedColumns:[],deniedKeyColumns:[]}),m=p.availableColumns,h=p.omittedColumns,0===p.deniedKeyColumns.length){e.next=10;break}return e.abrupt("return",Promise.reject(new Error("Dynamic table has denied key columns")));case 10:return f=m.map(P.A.decode),g={query:V.A.prepareQuery({aColumns:f,path:r,keyColumns:s,offset:0,limit:c}),output_format:u,dump_error_into_response:!0},x=(0,v.A)({proxy:(0,D.v9)(n),transformResponse:function(e){var t=e.parsedData,n=e.rawResponse;return{data:t,headers:null==n?void 0:n.headers}}},H.oj),e.next=15,(0,N.fI)((0,z.S)({setup:x,parameters:g}),{skipSuccessToast:!0,toasterName:"query_navigation_node",errorTitle:"Navigation node get rows failure"});case 15:return w=e.sent,C=w.columns,y=w.rows,A=w.yqlTypes,b=o.map((function(e){return e.name})),e.abrupt("return",{columns:(0,q._)(C,h,b),rows:y,yqlTypes:A});case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),M=n(96500),B=function(){var e=(0,a.A)(i().mark((function e(t){var n,r,a,o,s,c,u,l,d,p,m,h,f;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.path,r=t.clusterConfig,a=t.schema,o=t.limit,s=t.output_format,c=(0,v.A)({proxy:(0,D.v9)(r),transformResponse:function(e){var t=e.parsedData,n=e.rawResponse;return{data:t,headers:null==n?void 0:n.headers}}},H.oj),u={path:n+"[#0:#"+o+"]",output_format:s,dump_error_into_response:!0,omit_inaccessible_columns:!0,table_reader:{workload_descriptor:{category:"user_interactive"}}},e.next=5,(0,N.fI)((0,M.B)({setup:c,parameters:u}),{skipSuccessToast:!0,toasterName:"query_navigation_node",errorTitle:"Navigation node get rows failure"});case 5:return l=e.sent,d=l.columns,p=l.omittedColumns,m=l.rows,h=l.yqlTypes,f=a.map((function(e){return e.name})),e.abrupt("return",{columns:(0,q._)(d,p,f),rows:m,yqlTypes:h});case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),F=n(13724),Q=n(21594),$=n(19314),Y=function(e){return!!e&&["table","tablet_cell","replicated_table"].includes(e)},U=function(e){return!!e&&["map_node","scheduler_pool_tree_map","topmost_transaction_map","transaction_map","link","rootstock","portal_entrance"].includes(e)},K=function(e,t){return(0,N.fI)(E.Qq.get(E.Vu.navigationAttributes,{setup:(0,v.A)({proxy:(0,D.v9)(t)},H.oj),parameters:{path:"".concat(e,"/@")}}),{skipSuccessToast:!0,toasterName:"query_navigation_node_attributes",errorTitle:"Navigation node get attributes failure"})},Z=n(21347),W=n(63192),G=function(e){var t=e.path,n=e.cluster,r=e.engine;if(!t||"/"===t)return n;switch(r){case Z.d.YQL:return n+".`"+t+"`";case Z.d.YT_QL:case Z.d.CHYT:return"`"+t+"`";default:return"yt.`ytTable:"+t+"`"}},X=function(){var e=(0,a.A)(i().mark((function e(t){var n,r,a,o,s,c;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.clusterConfig,r=t.path,a=t.engine,o=t.limit,e.next=3,K(r,n);case 3:return s=e.sent,c=T.A.getValue(s.schema),e.abrupt("return","SELECT\n".concat(c.map((function(e){return" `"+e.name+"`"})).join(",\r\n"),"\nFROM ").concat(G({path:r,cluster:n.id,engine:a}),"\nLIMIT ").concat(o));case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),J=n(77720),ee=function(e,t){if(t){var n=t.getPosition(),r={range:n?new J.Q6(n.lineNumber,n.column,n.lineNumber,n.column):new J.Q6(0,0,0,0),text:e};t.executeEdits("Insert text",[r])}},te=n(66853),ne=n(6640),re=n(29730),ae=n(54744),oe=n(43359),ie=new R.I,se=function(e){return function(t,n){var r=n(),a=(0,k.rS)(r),o=(0,k.mk)(r);if(a){var i=(0,Q.HL)(a,$.dK.LOCAL);t((0,F.Mb)(e,i));var s=o.map((function(t){return t.path===e?(0,v.A)((0,v.A)({},t),{},{isFavorite:!t.isFavorite}):t}));t((0,S.CU)(s))}}},ce=function(e){return function(){var t=(0,a.A)(i().mark((function t(n,r){var a,o,s,c,u;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=r(),o=(0,k.$D)(a),s=(0,k.WS)(a),o){t.next=5;break}return t.abrupt("return");case 5:return t.next=7,(0,N.fI)(E.Qq.list(E.Vu.navigationListNodes,{setup:(0,v.A)({proxy:(0,D.v9)(o)},H.oj),parameters:{path:e,attributes:["type","broken","dynamic"]}}),{skipSuccessToast:!0,toasterName:"query_navigation_node",errorTitle:"Navigation node open failure"});case 7:c=t.sent,u=c.map((function(t){var n=T.A.getValue(t),r=e+"/"+n,a=T.A.getAttributes(t);return(0,v.A)((0,v.A)({name:n},a),{},{path:r,isFavorite:s.includes(r)})})).sort((function(e,t){return e.name.localeCompare(t.name)})),n((0,S.R6)("")),n((0,S.SO)(e)),n((0,S.VR)(S.Dh.Tree)),n((0,S.CU)(u));case 13:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}()},ue=function(e){return function(){var t=(0,a.A)(i().mark((function t(n,r){var a,o,s,c,u,l,d,p,m,h,f,v,g,x,w,C,y;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=r(),o=(0,k.$D)(a),s=(0,oe.GN)(),c=s.cellSize,u=s.pageSize,l=(0,re.fN)(a),d=(0,ae.t5)(a),p=(0,D.ID)(a),o){t.next=8;break}return t.abrupt("return");case 8:return t.next=10,K(e,o);case 10:return m=t.sent,h=T.A.getValue(m.schema),f=(0,ne.m3)(h.map((function(e){return e.name})),c,p,l,d),v=m.dynamic?O:B,t.prev=14,t.next=17,v({login:a.global.login,path:e,clusterConfig:o,schema:h,keyColumns:m.key_columns,limit:u,output_format:f});case 17:g=t.sent,x=g.columns,w=g.rows,C=g.yqlTypes,y={name:m.key,meta:(0,_.UQ)({cluster:o.id,attributes:m,tableType:(0,I.H)(m.dynamic,m),isDynamic:m.dynamic}),rows:w,schema:h,columns:x,yqlTypes:C},n((0,S.SO)(e)),n((0,S.tQ)(y)),n((0,S.VR)(S.Dh.Table)),t.next=30;break;case 27:t.prev=27,t.t0=t.catch(14),ie.add({theme:"danger",autoHiding:!1,name:"Load table data error",title:t.t0?t.t0.message:"Can't load table data"});case 30:case"end":return t.stop()}}),t,null,[[14,27]])})));return function(e,n){return t.apply(this,arguments)}}()},le=function(e){return function(){var t=(0,a.A)(i().mark((function t(n,r){var a;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=r(),(0,k.rS)(a)){t.next=4;break}return t.abrupt("return");case 4:return t.prev=4,t.next=7,navigator.clipboard.writeText(e);case 7:ie.add({theme:"success",name:"copy_navigation_path",title:"Path copied"}),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(4),ie.add({theme:"danger",name:"copy_navigation_path",title:"Can't copy path",content:t.t0.message,autoHiding:!1});case 13:case"end":return t.stop()}}),t,null,[[4,10]])})));return function(e,n){return t.apply(this,arguments)}}()},de=n(19904),pe=(0,s.A)("navigation-header"),me=function(){var e=(0,j.wA)(),t=(0,j.d4)(k.WS),n=(0,j.d4)(k.fV),o=(0,j.d4)(k.I7),s=(0,j.d4)(te.ln),c=(0,j.d4)(k.rS),u=(0,j.d4)(k.Rv),l=(0,de.d)().getEditor,d=u!==S.Dh.Table,p=function(){var t=(0,a.A)(i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e(le(o));case 1:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),h=(0,r.useCallback)((function(){if(c){var e=l("queryEditor"),t=G({cluster:c,path:o,engine:s});ee(t,e)}}),[c,s,l,o]);return(0,m.jsxs)("div",{className:pe(),children:[(0,m.jsxs)("div",{className:pe("path-wrap"),children:[(0,m.jsx)(f,{path:o,cluster:c,onClusterChangeClick:function(){e((0,S.VR)(S.Dh.Cluster)),e((0,S.l5)(void 0)),e((0,S.SO)(""))},onItemClick:function(t){e(ce(t))}}),c&&(0,m.jsx)(A,{isFavorite:t.includes(o),onFavoriteToggle:function(){e(se(o))},onPathCopy:p,onPastePath:h,showCopyBtn:Boolean(c)})]}),d&&(0,m.jsx)(b.k,{value:n,placeholder:"Filter by name",onUpdate:function(t){e((0,S.R6)(t))},hasClear:!0})]})},he=n(85137),fe=(0,s.A)("navigation-empty"),ve=function(){return(0,m.jsx)("div",{className:fe(),children:(0,m.jsx)(he.E,{variant:"subheader-2",children:"This directory is empty"})})},ge=n(84910),xe=n(56911),we=n(81214),Ce=n.n(we),ye=n(61894),Ae=n.n(ye),be=n(3564),je=n(21086),ke=n(50823),Se=n(40619);const Ne=e=>r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 14.75a.75.75 0 0 1-.75-.75V3.81L4.53 6.53a.75.75 0 0 1-1.06-1.06l4-4a.75.75 0 0 1 1.06 0l4 4a.75.75 0 0 1-1.06 1.06L8.75 3.81V14a.75.75 0 0 1-.75.75Z",clipRule:"evenodd"})),Te=e=>r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 1.25a.75.75 0 0 1 .75.75v10.19l2.72-2.72a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06l2.72 2.72V2A.75.75 0 0 1 8 1.25Z",clipRule:"evenodd"})),_e=e=>r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M3.72 2.22a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1-1.06 1.06L5 4.56v8.69a.75.75 0 0 1-1.5 0V4.56L1.78 6.28A.75.75 0 0 1 .72 5.22l3-3ZM11.75 14a.75.75 0 0 1-.53-.22l-3-3a.75.75 0 1 1 1.06-1.06L11 11.44V2.75a.75.75 0 0 1 1.5 0v8.69l1.72-1.72a.75.75 0 1 1 1.06 1.06l-3 3a.75.75 0 0 1-.53.22Z",clipRule:"evenodd"})),Ee=(0,je.om)("sort-indicator");function Ie({order:e}){let t;switch(e){case"asc":t=Ne;break;case"desc":t=Te;break;default:t=_e}return r.createElement("div",{className:Ee()},r.createElement(l.I,{data:t,size:14,className:Ee("icon")}))}const Re=(0,je.om)("table");var Le=function(e){var t;const n=`withTableSorting(${(0,ke.x)(e)})`;function a(e,t,n){return Ce()(e,n)===Ce()(t,n)?0:Ce()(e,n)>Ce()(t,n)?1:-1}return t=class extends r.Component{constructor(){var e;super(...arguments),this.state={sort:null!==(e=this.props.defaultSortState)&&void 0!==e?e:[]},this.enhanceColumns=Ae()((e=>e.map((e=>{const t=e.meta;return t&&t.sort?Object.assign(Object.assign({},e),{meta:Object.assign(Object.assign({},e.meta),{_originalName:e.name}),name:()=>{const t=this.getSortState();let n;if(t.length>0){const r=t.find((t=>t.column===e.id));r&&(n=r.order)}const a=Se.X.getHeadCellContent(e),o=[r.createElement("div",{key:"content",className:Re("sort-content")},a),r.createElement("div",{key:"indicator",className:Re("sort-indicator")},r.createElement(Ie,{order:n}))];"right"!==e.align&&"end"!==e.align||o.reverse();const i=this.handleColumnSortClick.bind(this,e),s=(0,be.h)(i);return r.createElement("div",{role:"button",tabIndex:0,className:Re("sort",{active:Boolean(n)}),onClick:i,onKeyDown:s},o)}}):e})))),this.handleColumnSortClick=(e,t)=>{const n=this.getSortState(),r=n.findIndex((t=>t.column===e.id)),a=n[r],o=this.getNextSortForColumn(e,a);t.shiftKey?a?this.handleSortStateChange([...n.slice(0,r),...n.slice(r+1),...o]):this.handleSortStateChange([...n,...o]):this.handleSortStateChange(o)}}render(){const t=this.props,{columns:n}=t,a=(0,xe.Tt)(t,["columns"]);return r.createElement(e,Object.assign({},a,{data:this.getSortedData(),columns:this.enhanceColumns(n)}))}getSortedData(){const{data:e,columns:t,disableDataSorting:n=this.isControlledState()}=this.props,r=this.getSortState();return n||0===r.length?e:e.slice().sort(((e,n)=>{var o;let i=0;for(;i<r.length;){const s=r[i++],c=t.find((e=>e.id===s.column)),u=null===(o=null==c?void 0:c.meta)||void 0===o?void 0:o.sort;if(!u)continue;const l="function"==typeof u?u(e,n):a(e,n,s.column);if(0!==l)return"asc"===s.order?l:-l}return 0}))}getSortState(){const{sortState:e}=this.props,{sort:t}=this.state;return this.isControlledState()?e:t}handleSortStateChange(e){const{onSortStateChange:t}=this.props;this.isControlledState()||this.setState({sort:e}),t&&t(e)}isControlledState(){const{sortState:e,onSortStateChange:t}=this.props;return Boolean(e&&t)}getColumnDefaultSortOrder(e){var t;return(null===(t=e.meta)||void 0===t?void 0:t.defaultSortOrder)||"asc"}getNextSortForColumn(e,t){const n="desc"===this.getColumnDefaultSortOrder(e)?["desc","asc",void 0]:["asc","desc",void 0],r=n.indexOf(null==t?void 0:t.order),a=n[(r+1)%n.length];return a?[{column:e.id,order:a}]:[]}},t.displayName=n,t}(Se.X),Pe=(0,s.A)("table-with-sorting"),Ve=function(e){return(0,m.jsx)(Le,(0,v.A)((0,v.A)({},e),{},{className:Pe(null,e.className)}))},qe=(0,s.A)("navigation-cluster-list"),He=function(){var e=(0,j.wA)(),t=(0,j.d4)(k.n7);return(0,m.jsx)("div",{className:qe(),children:(0,m.jsx)(Ve,{data:t,columns:[{className:qe("row"),id:"name",name:"Name",template:function(e){var t=e.id,n=e.name,r=e.environment;return(0,m.jsx)(ge._,{id:t,name:n,environment:r,className:qe("table-row")},t)},meta:{sort:function(e,t){return e.name.localeCompare(t.name)}}}],onRowClick:function(t){var n;e((n=t.id,function(e){e((0,S.l5)(n)),e((0,S.SO)("/")),e(ce("/"))}))}})})},De=n(9736),ze=n(36554),Oe=n(60620),Me=n(55695),Be=n(41347),Fe=n(75299),Qe=(0,s.A)("navigation-node-list-row"),$e=function(e){var t=e.node,n=t.type,r=t.broken,a=t.dynamic,o=t.name,i=t.path,s=t.isFavorite,c=e.onClick,d=e.onFavoriteToggle,p=e.onClipboardCopy,h=e.onEditorInsert,f=e.onNewQuery,C=e.onNewWindowOpen,y=(0,Fe.A)(!1),A=(0,De.A)(y,2),b=A[0],j=A[1],k=(0,Fe.A)(!1),S=(0,De.A)(k,2),N=S[0],T=S[1],_="table"===n&&a?"table_dynamic":n,E=(0,ze.c5)(_,r),I=U(n)||Y(n),R=I&&"..."!==o,L=function(e){e.stopPropagation()};return(0,m.jsxs)("div",{className:Qe({unsupported:!I,active:N||b}),onClick:function(){c(i,n)},children:[(0,m.jsxs)("div",{className:Qe("icon-wrap"),children:[(0,m.jsx)(Oe.A,{awesome:E,size:16}),s&&(0,m.jsx)(l.I,{data:x,className:Qe("favorite-icon"),size:10})]}),(0,m.jsx)(he.E,{ellipsis:!0,children:o}),R&&(0,m.jsxs)("div",{className:Qe("actions"),children:[(0,m.jsx)(u.$,{view:"flat",onClick:function(e){L(e),d(i)},children:(0,m.jsx)(l.I,{data:s?x:g,size:16})}),Y(n)?(0,m.jsx)(Me.r,{open:b,onOpenToggle:j,renderSwitcher:function(e){return(0,m.jsx)(u.$,(0,v.A)((0,v.A)({view:"flat"},e),{},{children:(0,m.jsx)(l.I,{data:w.A,size:16})}))},items:[{text:"Copy to clipboard",items:[{text:"Path",action:function(e){e.stopPropagation(),p(i,"path")}}]},{text:"Insert into editor",items:[{text:"Path",action:function(e){e.stopPropagation(),h(i,"path")}},{text:"SELECT",action:function(e){e.stopPropagation(),h(i,"select")}}]},{text:"Create new query",items:[{text:"SELECT (YT QL)",action:function(e){e.stopPropagation(),f(i,Z.d.YT_QL)}},{text:"SELECT (YQL)",action:function(e){e.stopPropagation(),f(i,Z.d.YQL)}},{text:"SELECT (CHYT)",action:function(e){e.stopPropagation(),f(i,Z.d.CHYT)}},{text:"SELECT (SPYT)",action:function(e){e.stopPropagation(),f(i,Z.d.SPYT)}}]}],onSwitcherClick:L}):(0,m.jsx)(u.$,{view:"flat",onClick:function(e){L(e),h(i,"path")},children:(0,m.jsx)(l.I,{data:w.A,size:16})}),(0,m.jsx)(Me.r,{open:N,onOpenToggle:T,items:[{action:function(e){e.stopPropagation(),p(i,"url")},text:"Copy link"},{action:function(){C(i)},text:"Open in cluster",iconEnd:(0,m.jsx)(l.I,{data:Be.A})}],onSwitcherClick:L})]})]})},Ye=n(5166),Ue=n(73502),Ke=(0,s.A)("navigation-node-list"),Ze=function(){var e=(0,j.wA)(),t=(0,Fe.A)(!1),n=(0,De.A)(t,2),o=n[0],s=n[1],c=(0,r.useRef)(null),u=(0,j.d4)(k.$D),l=(0,j.d4)(k.mV),d=(0,j.d4)(te.ln),p=(0,oe.GN)().pageSize,h=(0,j.d4)(te.Py),f=(0,de.d)().getEditor,g=l.length<=1,x=function(t,n){U(n)?e(ce(t)):Y(n)&&e(ue(t))},w=(0,r.useCallback)((function(t){e(se(t))}),[e]),C=(0,r.useCallback)(function(){var e=(0,a.A)(i().mark((function e(t,n){var r,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u&&u.id){e.next=2;break}return e.abrupt("return");case 2:if(r=f("queryEditor"),a="","path"!==n){e.next=8;break}a=G({cluster:u.id,path:t,engine:d}),e.next=11;break;case 8:return e.next=10,X({clusterConfig:u,path:t,engine:d,limit:p});case 10:a=e.sent;case 11:ee(a,r);case 12:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[u,d,f,p]),y=(0,r.useCallback)((function(t,n){if(u&&u.id){var r="path"===n?G({cluster:u.id,path:t,engine:d}):function(e,t){var n=new URL(location.origin+location.pathname);return n.searchParams.append("listMode","navigation"),n.searchParams.append("navCluster",e),t&&"/"!==t&&n.searchParams.append("navPath",t),n.toString()}(u.id,t);e(le(r))}}),[u,e,d]),A=(0,r.useCallback)((function(e){if(u&&u.id){var t=new URL(location.origin+"/".concat(u.id,"/navigation"));t.searchParams.append("path",e),window.open(t)}}),[u]),b=(0,r.useCallback)((function(){var t=f("queryEditor"),n=c.current;t&&n&&(e(function(e,t,n){return function(){var r=(0,a.A)(i().mark((function r(a,o){var s,c,u,l,d,p,m,h;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(s=o(),c=(0,oe.GN)(),u=c.pageSize,l=(0,k.$D)(s),d=(0,te.sh)(s),p=d.settings,l){r.next=6;break}return r.abrupt("return");case 6:return r.next=8,a((0,W.cQ)());case 8:return(m=p?(0,v.A)({},p):{}).cluster=l.id,t===Z.d.CHYT&&a((0,W.TI)(t,l.id)),a((0,W.Bn)({engine:t,settings:m})),r.next=14,X({clusterConfig:l,path:e,engine:t,limit:u});case 14:h=r.sent,ee(h,n);case 16:case"end":return r.stop()}}),r)})));return function(e,t){return r.apply(this,arguments)}}()}(n.path,n.engine,t)),s())}),[e,f,s]),S=(0,r.useCallback)((function(){c.current=null,s()}),[s]),N=(0,r.useCallback)(function(){var e=(0,a.A)(i().mark((function e(t,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!h){e.next=4;break}return s(),c.current={path:t,engine:n},e.abrupt("return");case 4:c.current={path:t,engine:n},b();case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),[h,b,s]);return(0,m.jsxs)("div",{className:Ke(),children:[(0,m.jsx)(Ve,{data:l,columns:[{className:Ke("row"),id:"name",name:"Name",template:function(e){return(0,m.jsx)($e,{node:e,onClick:x,onFavoriteToggle:w,onEditorInsert:C,onClipboardCopy:y,onNewWindowOpen:A,onNewQuery:N})},meta:{sort:function(e,t){return e.name.localeCompare(t.name)}}}]}),g&&(0,m.jsx)("div",{className:Ke("empty-wrap"),children:(0,m.jsx)(Ue.R,{className:Ke("empty-icon"),warning:"This directory is empty"})}),(0,m.jsx)(Ye.J,{confirm:b,cancel:S,visible:o})]})},We=n(79726),Ge=n(77318),Xe=[{name:"name",header:"Name",render:function(e){var t=e.row;return(0,m.jsxs)(m.Fragment,{children:[Boolean(t.sort_order)&&(0,m.jsx)(Oe.A,{awesome:"descending"===t.sort_order?"sort-amount-up":"sort-amount-down-alt",size:16})," ",t.name]})}},{name:"type",header:"Type v3",render:function(e){var t=e.row;return(0,m.jsxs)(m.Fragment,{children:[t.type," ",!t.required&&(0,m.jsx)(he.E,{variant:"caption-1",children:"optional"})]})}}],Je=function(e){var t=e.schema,n=(0,j.wA)(),r=(0,j.d4)(k.fV);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(b.k,{value:r,placeholder:"Filter by name",onUpdate:function(e){n((0,S.R6)(e))},hasClear:!0}),(0,m.jsx)(Ge.Ay,{data:t,columns:Xe,useThemeYT:!0})]})},et=n(35074),tt=n(46619),nt=(0,s.A)("navigation-preview-tab"),rt=function(e){var t=e.table,n=e.ysonSettings,a=e.onEditorInsert,o=(0,r.useMemo)((function(){return(0,tt.X)({columns:t.columns.map((function(e){return{name:e}})),keyColumns:[],yqlTypes:t.yqlTypes,ysonSettings:n,useRawStrings:void 0,schemaByName:t.schema.reduce((function(e,t){return e[t.name]=t,e}),{})})}),[t,n]);return(0,m.jsxs)("div",{children:[(0,m.jsxs)(u.$,{onClick:a,children:[(0,m.jsx)(l.I,{data:Be.A,size:16}),"insert SELECT"]}),(0,m.jsx)(Ge.Ay,{className:nt(),columns:o,data:t.rows,useThemeYT:!0})]})},at=n(34694),ot=n(4386),it=(0,s.A)("navigation-table"),st=function(){var e=(0,r.useState)("schema"),t=(0,De.A)(e,2),n=t[0],o=t[1],s=(0,j.d4)(k.$D),c=(0,j.d4)(k.PR),u=(0,j.d4)(te.ln),l=(0,j.d4)(at.XL),d=(0,j.d4)(k.I7),p=(0,j.d4)(ot.Dn),h=(0,de.d)().getEditor,f=function(){var e=(0,a.A)(i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s){e.next=2;break}return e.abrupt("return");case 2:return t=h("queryEditor"),e.next=5,X({clusterConfig:s,path:d,engine:u,limit:l});case 5:n=e.sent,ee(n,t);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return c?(0,m.jsxs)("div",{className:it(),children:[(0,m.jsx)(We.a,{defaultValue:n,onUpdate:function(e){o(e)},options:[{value:"schema",content:"Schema"},{value:"preview",content:"Preview"},{value:"meta",content:"Meta"}]}),(0,m.jsxs)("div",{className:it("content"),children:["schema"===n&&(0,m.jsx)(Je,{schema:c.schema}),"preview"===n&&(0,m.jsx)(rt,{table:c,onEditorInsert:f,ysonSettings:p}),"meta"===n&&(0,m.jsx)(et.Ay,{items:c.meta})]})]}):(0,m.jsx)("div",{children:"Empty data"})},ct=function(){switch((0,j.d4)(k.Rv)){case S.Dh.Tree:return(0,m.jsx)(Ze,{});case S.Dh.Table:return(0,m.jsx)(st,{});case S.Dh.Cluster:return(0,m.jsx)(He,{});default:return(0,m.jsx)(ve,{})}},ut=(0,s.A)("query-navigation"),lt=function(){var e=(0,j.wA)();return(0,r.useEffect)((function(){e(function(){var e=(0,a.A)(i().mark((function e(t,n){var r,a,o,s;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n(),a=(0,k.$D)(r),o=(0,k.I7)(r),a){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,(0,N.fI)(E.Qq.get(E.Vu.navigationGetType,{setup:(0,v.A)({proxy:(0,D.v9)(a)},H.oj),parameters:{path:"".concat(o,"/@type")}}),{skipSuccessToast:!0,toasterName:"query_navigation_get_node_type",errorTitle:"Navigation get node type failure"});case 7:if(s=e.sent,!Y(s)){e.next=12;break}return e.next=11,t(ue(o));case 11:return e.abrupt("return");case 12:if(!U(s)){e.next=16;break}return e.next=15,t(ce(o));case 15:return e.abrupt("return");case 16:t(ce("/"));case 17:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())}),[e]),(0,m.jsxs)("div",{className:ut(),children:[(0,m.jsx)(me,{}),(0,m.jsx)(ct,{})]})}},5166:(e,t,n)=>{n.d(t,{J:()=>h,f:()=>f});var r=n(9736),a=n(77810),o=n(15647),i=n(92423),s=n(72679),c=n(11960),u=n(66853),l=n(1701),d=n(19314),p=n(52797),m=n(64922),h=function(e){return(0,m.jsx)(c.A,{title:"New query",content:"All the changes will be lost. Are you sure you want to reset query?",onCancel:e.cancel,onConfirm:e.confirm,onOutsideClick:e.cancel,visible:e.visible})},f=function(e){var t=e.onClick,n=(0,o.d4)(u.Py),c=(0,a.useState)(!1),f=(0,r.A)(c,2),v=f[0],g=f[1],x=(0,o.d4)(p.dB);return(0,m.jsxs)(a.Fragment,{children:[(0,m.jsxs)(i.$,{qa:"new-query-btn",view:"action",size:"l",title:"New query",href:"/".concat(x,"/").concat(d.YW.QUERIES),onClick:function(e){e.preventDefault(),n?g(!0):t()},children:[(0,m.jsx)(s.I,{data:l.A,size:16}),"New"]}),(0,m.jsx)(h,{confirm:function(){t(),g(!1)},cancel:function(){g(!1)},visible:v})]})}},84910:(e,t,n)=>{n.d(t,{_:()=>l}),n(77810);var r=n(76872),a=n(85137),o=n(477),i=n(3844),s=n(64922),c=(0,r.A)("query-cluster-item"),u=(0,r.A)("query-cluster-icon"),l=function(e){var t=e.id,n=e.name,r=e.environment,l=e.className,d=(0,i.O)(t);return(0,s.jsxs)("div",{className:c(null,l),children:[(0,s.jsx)(o.A,{name:n,className:u(null,d)}),(0,s.jsxs)("div",{className:c("info"),children:[n,(0,s.jsx)(a.E,{color:"secondary",className:c("environment"),children:r})]})]})}},41347:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(40319),a=n(64922);const o=function(e){return(0,a.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M10 1.5A.75.75 0 0 0 10 3h1.94L6.97 7.97a.75.75 0 0 0 1.06 1.06L13 4.06V6a.75.75 0 0 0 1.5 0V2.25a.75.75 0 0 0-.75-.75zM7.5 3.25a.75.75 0 0 0-.75-.75H4.5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3V9.25a.75.75 0 0 0-1.5 0v2.25a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 3 11.5v-6A1.5 1.5 0 0 1 4.5 4h2.25a.75.75 0 0 0 .75-.75",clipRule:"evenodd"})}))}},1701:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(40319),a=n(64922);const o=function(e){return(0,a.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.5 12a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 12V4A1.5 1.5 0 0 1 5 2.5h2.757a1.5 1.5 0 0 1 1.061.44l3.243 3.242a1.5 1.5 0 0 1 .439 1.06zm.621-6.879A3 3 0 0 1 14 7.243V12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h2.757a3 3 0 0 1 2.122.879L13.12 5.12ZM8.75 6.75a.75.75 0 0 0-1.5 0v1.5h-1.5a.75.75 0 0 0 0 1.5h1.5v1.5a.75.75 0 0 0 1.5 0v-1.5h1.5a.75.75 0 0 0 0-1.5h-1.5z",clipRule:"evenodd"})}))}},59879:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(40319),a=n(64922);const o=function(e){return(0,a.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M7.5 13.5v-3A.5.5 0 0 1 8 10h.672a.5.5 0 0 1 .353.146l.414.415.44.439H13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5M6 13H4.5a3 3 0 0 1-3-3V1.25a.75.75 0 0 1 1.5 0V2a1.5 1.5 0 0 0 1.5 1.5H6v-1a2 2 0 0 1 2-2h.672a2 2 0 0 1 1.414.586l.414.414H13a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5H4.5A3 3 0 0 1 3 4.599V10a1.5 1.5 0 0 0 1.5 1.5H6v-1a2 2 0 0 1 2-2h.672a2 2 0 0 1 1.414.586l.414.414H13a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2zm1.5-8.75V5.5A.5.5 0 0 0 8 6h5a.5.5 0 0 0 .5-.5v-2A.5.5 0 0 0 13 3H9.879l-.44-.44-.414-.414A.5.5 0 0 0 8.672 2H8a.5.5 0 0 0-.5.5z",clipRule:"evenodd"})}))}},91726:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(40319),a=n(64922);const o=function(e){return(0,a.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.25 2H2.75a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5m0 3.5h-5.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5m0 3.5h-5.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5m-10.5 3.5h10.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5m.49-7a.74.74 0 0 1 .463.162l1.906 1.526a1.04 1.04 0 0 1 0 1.624l-1.906 1.526A.74.74 0 0 1 2.5 9.76V6.24a.74.74 0 0 1 .74-.74",clipRule:"evenodd"})}))}}}]);
|
2
|
+
//# sourceMappingURL=query-navigation.5f2d5062.chunk.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"js/query-navigation.5f2d5062.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationHeader/BreadcrumbsItem.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationHeader/NavigationBreadcrumbs.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/star.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/star-fill.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/copy.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationHeader/HeaderActions.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/api/loadDynamicTable.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/api/loadStaticTable.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/helpers/isTableNode.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/helpers/isFolderNode.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/api/loadTableAttributes.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/helpers/makePathByQueryEngine.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/helpers/createTableSelect.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/helpers/insertTextWhereCursor.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/module/queryNavigation/actions.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationHeader/NavigationHeader.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationBody/NavigationEmpty.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/esm/ArrowUp.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/esm/ArrowDown.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/esm/ArrowUpArrowDown.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Table/hoc/withTableSorting/SortIndicator/SortIndicator.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/Table/hoc/withTableSorting/withTableSorting.js","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NodeList/TableWithSorting.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/ClusterList/ClusterList.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NodeList/NodeListRow.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NodeList/NodeList.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/helpers/getNavigationUrl.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationTable/SchemaTab.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationTable/PreviewTab.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationTable/NavigationTable.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/NavigationBody/NavigationBody.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/Navigation.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/NewQueryButton/NewQueryButton.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/QueryClusterSelector/QueryClusterItem.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/arrow-up-right-from-square.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/file-plus.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/folder-tree.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/text-indent.svg"],"sourcesContent":["import React, {FC, MouseEvent} from 'react';\nimport {BreadcrumbsItem as BreadcrumbsItemType} from '@gravity-ui/uikit/build/esm/components/Breadcrumbs/Breadcrumbs';\n\nexport const BreadcrumbsItem: FC<{\n item: BreadcrumbsItemType;\n isCurrent: boolean;\n onClick: (path: string) => void;\n}> = ({item, isCurrent, onClick}) => {\n const handleItemClick = (e: MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (item.href && !isCurrent) {\n onClick(item.href);\n }\n };\n\n return <div onClick={handleItemClick}>{item.text}</div>;\n};\n","import React, {FC, useCallback, useMemo} from 'react';\nimport {\n Breadcrumbs,\n BreadcrumbsItem as BreadcrumbsItemType,\n Button,\n FirstDisplayedItemsCount,\n Icon,\n LastDisplayedItemsCount,\n} from '@gravity-ui/uikit';\nimport FolderTreeIcon from '@gravity-ui/icons/svgs/folder-tree.svg';\nimport {BreadcrumbsItem} from './BreadcrumbsItem';\n\ntype Props = {\n path: string;\n cluster: string | undefined;\n onClusterChangeClick: () => void;\n onItemClick: (path: string) => void;\n};\n\nexport const NavigationBreadcrumbs: FC<Props> = ({\n path,\n cluster,\n onClusterChangeClick,\n onItemClick,\n}) => {\n const handleBreadcrumbsClick = useCallback(\n (newPath: string) => {\n onItemClick(newPath);\n },\n [onItemClick],\n );\n\n const items = useMemo(() => {\n let href = '/';\n if (!cluster) return [];\n\n const result = [\n {\n text: cluster,\n action: () => {\n onItemClick('/');\n },\n },\n ];\n const pathItems = path.split('/').reduce<BreadcrumbsItemType[]>((acc, text) => {\n if (text) {\n href += '/' + text;\n acc.push({\n text,\n href,\n action: () => {},\n });\n }\n\n return acc;\n }, []);\n\n return [...result, ...pathItems];\n }, [cluster, path, onItemClick]);\n\n return (\n <>\n <Button size=\"s\" view=\"flat\" onClick={onClusterChangeClick}>\n <Icon data={FolderTreeIcon} size={16} />\n </Button>\n <Breadcrumbs\n items={items}\n renderItemContent={(item, isCurrent) => (\n <BreadcrumbsItem\n item={item}\n isCurrent={isCurrent}\n onClick={handleBreadcrumbsClick}\n />\n )}\n firstDisplayedItemsCount={FirstDisplayedItemsCount[path ? 'Zero' : 'One']}\n lastDisplayedItemsCount={LastDisplayedItemsCount.One}\n />\n </>\n );\n};\n","const SvgStar = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"m9.194 5 .351.873.94.064 3.197.217-2.46 2.055-.722.603.23.914.782 3.108-2.714-1.704L8 10.629l-.798.5-2.714 1.705.782-3.108.23-.914-.723-.603-2.46-2.055 3.198-.217.94-.064.35-.874L8 2.025zm-7.723-.292 3.943-.268L6.886.773C7.29-.231 8.71-.231 9.114.773l1.472 3.667 3.943.268c1.08.073 1.518 1.424.688 2.118L12.185 9.36l.964 3.832c.264 1.05-.886 1.884-1.802 1.31L8 12.4l-3.347 2.101c-.916.575-2.066-.26-1.802-1.309l.964-3.832L.783 6.826c-.83-.694-.391-2.045.688-2.118\" clipRule=\"evenodd\" /></svg>;\nexport default SvgStar;","const SvgStarFill = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" d=\"M6.886.773C7.29-.231 8.71-.231 9.114.773l1.472 3.667 3.943.268c1.08.073 1.518 1.424.688 2.118L12.185 9.36l.964 3.832c.264 1.05-.886 1.884-1.802 1.31L8 12.4l-3.347 2.101c-.916.575-2.066-.26-1.802-1.309l.964-3.832L.783 6.826c-.83-.694-.391-2.045.688-2.118l3.943-.268z\" /></svg>;\nexport default SvgStarFill;","const SvgCopy = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M12 2.5H8A1.5 1.5 0 0 0 6.5 4v1H8a3 3 0 0 1 3 3v1.5h1A1.5 1.5 0 0 0 13.5 8V4A1.5 1.5 0 0 0 12 2.5M11 11h1a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v1H4a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3zM4 6.5h4A1.5 1.5 0 0 1 9.5 8v4A1.5 1.5 0 0 1 8 13.5H4A1.5 1.5 0 0 1 2.5 12V8A1.5 1.5 0 0 1 4 6.5\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCopy;","import React, {FC} from 'react';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport StarIcon from '@gravity-ui/icons/svgs/star.svg';\nimport StarFillIcon from '@gravity-ui/icons/svgs/star-fill.svg';\nimport TextIndentIcon from '@gravity-ui/icons/svgs/text-indent.svg';\nimport CopyIcon from '@gravity-ui/icons/svgs/copy.svg';\nimport './HeaderActions.scss';\nimport cn from 'bem-cn-lite';\n\nconst b = cn('navigation-header-actions');\n\ntype Props = {\n showCopyBtn: boolean;\n isFavorite: boolean;\n onFavoriteToggle: () => void;\n onPathCopy: () => void;\n onPastePath: () => void;\n};\n\nexport const HeaderActions: FC<Props> = ({\n isFavorite,\n showCopyBtn,\n onFavoriteToggle,\n onPathCopy,\n onPastePath,\n}) => {\n return (\n <div className={b()}>\n <Button view=\"flat\" onClick={onFavoriteToggle}>\n <Icon data={isFavorite ? StarFillIcon : StarIcon} size={16} />\n </Button>\n <Button view=\"flat\" onClick={onPastePath}>\n <Icon data={TextIndentIcon} size={16} />\n </Button>\n {showCopyBtn && (\n <Button view=\"flat\" onClick={onPathCopy}>\n <Icon data={CopyIcon} size={16} />\n </Button>\n )}\n </div>\n );\n};\n","import {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport unipika from '../../../../common/thor/unipika';\nimport Query from '../../../../utils/navigation/content/table/query';\nimport {injectColumnsFromSchema} from '../../../../utils/navigation/content/table/table-ts';\nimport {NavigationTableSchema} from '../../module/queryNavigation/queryNavigationSlice';\nimport {UnipikaValue} from '../../../../components/Yson/StructuredYson/StructuredYsonTypes';\nimport {JSONParser} from '../../module/api';\nimport {TypeArray} from '../../../../components/SchemaDataType/dataTypes';\nimport {getClusterProxy} from '../../../../store/selectors/global';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\nimport {readDynamicTable} from '../../../../store/actions/navigation/content/table/readDynamicTable';\n\ntype LoadDynamicTable = (props: {\n path: string;\n clusterConfig: ClusterConfig;\n schema: NavigationTableSchema[];\n login: string;\n keyColumns: string[];\n limit: number;\n output_format: Record<string, any> | string;\n}) => Promise<{columns: string[]; rows: UnipikaValue[]; yqlTypes: TypeArray[] | null}>;\n\ntype ColumnPermission = {\n action: string;\n object_id: string;\n object_name: string;\n subject_id: string;\n subject_name: string;\n};\n\nexport const loadDynamicTableRequest: LoadDynamicTable = async ({\n clusterConfig,\n path,\n login,\n schema,\n keyColumns,\n limit,\n output_format,\n}) => {\n const allColumns = schema.map(({name}) => name);\n const permissions = await wrapApiPromiseByToaster<{columns: ColumnPermission[]}>(\n ytApiV3Id.checkPermission(YTApiId.dynTableCheckPerm, {\n setup: {\n proxy: getClusterProxy(clusterConfig),\n },\n parameters: {\n columns: allColumns,\n permission: 'read',\n user: login,\n path,\n },\n }),\n {\n skipSuccessToast: true,\n toasterName: 'query_navigation_node_permissions',\n errorTitle: 'Navigation node get attributes failure',\n },\n );\n\n if (!Array.isArray(permissions.columns)) {\n return Promise.reject(new Error('Dynamic table columns is not array'));\n }\n\n const {availableColumns, omittedColumns, deniedKeyColumns} = permissions.columns.reduce<{\n availableColumns: string[];\n omittedColumns: string[];\n deniedKeyColumns: Record<string, string>[];\n }>(\n (acc, permission, index) => {\n if (permission.action === 'allow') {\n acc.availableColumns.push(allColumns[index]);\n } else {\n acc.omittedColumns.push(allColumns[index]);\n if (keyColumns.includes(allColumns[index])) {\n acc.deniedKeyColumns.push({[allColumns[index]]: permission.action});\n }\n }\n\n return acc;\n },\n {availableColumns: [], omittedColumns: [], deniedKeyColumns: []},\n );\n\n if (deniedKeyColumns.length !== 0) {\n return Promise.reject(new Error('Dynamic table has denied key columns'));\n }\n\n const aColumns = availableColumns.map(unipika.decode);\n const parameters = {\n query: Query.prepareQuery({\n aColumns,\n path,\n keyColumns,\n offset: 0,\n limit,\n }),\n output_format,\n dump_error_into_response: true,\n };\n\n const setup = {\n proxy: getClusterProxy(clusterConfig),\n transformResponse({\n parsedData,\n rawResponse,\n }: {\n parsedData: string;\n rawResponse: Record<string, string>;\n }) {\n return {\n data: parsedData,\n headers: rawResponse?.headers,\n };\n },\n ...JSONParser,\n };\n\n const {columns, rows, yqlTypes} = await wrapApiPromiseByToaster(\n readDynamicTable({setup, parameters}),\n {\n skipSuccessToast: true,\n toasterName: 'query_navigation_node',\n errorTitle: 'Navigation node get rows failure',\n },\n );\n\n const schemaColumns = schema.map(({name}) => name);\n return {\n columns: injectColumnsFromSchema(columns, omittedColumns, schemaColumns),\n rows,\n yqlTypes,\n };\n};\n","import {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {injectColumnsFromSchema} from '../../../../utils/navigation/content/table/table-ts';\nimport {NavigationTableSchema} from '../../module/queryNavigation/queryNavigationSlice';\nimport {UnipikaValue} from '../../../../components/Yson/StructuredYson/StructuredYsonTypes';\nimport {JSONParser} from '../../module/api';\nimport {TypeArray} from '../../../../components/SchemaDataType/dataTypes';\nimport {getClusterProxy} from '../../../../store/selectors/global';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\nimport {readStaticTable} from '../../../../store/actions/navigation/content/table/readStaticTable';\n\ntype LoadStaticTableRows = (props: {\n path: string;\n clusterConfig: ClusterConfig;\n schema: NavigationTableSchema[];\n limit: number;\n output_format: Record<string, any> | string;\n}) => Promise<{columns: string[]; rows: UnipikaValue[]; yqlTypes: TypeArray[] | null}>;\n\nexport const loadStaticTable: LoadStaticTableRows = async ({\n path,\n clusterConfig,\n schema,\n limit,\n output_format,\n}) => {\n const setup = {\n proxy: getClusterProxy(clusterConfig),\n transformResponse({\n parsedData,\n rawResponse,\n }: {\n parsedData: string;\n rawResponse: Record<string, string>;\n }) {\n return {\n data: parsedData,\n headers: rawResponse?.headers,\n };\n },\n ...JSONParser,\n };\n\n const parameters = {\n path: path + '[#' + 0 + ':#' + limit + ']',\n output_format,\n dump_error_into_response: true,\n omit_inaccessible_columns: true,\n table_reader: {\n workload_descriptor: {category: 'user_interactive'},\n },\n };\n\n const {columns, omittedColumns, rows, yqlTypes} = await wrapApiPromiseByToaster(\n readStaticTable({setup, parameters}),\n {\n skipSuccessToast: true,\n toasterName: 'query_navigation_node',\n errorTitle: 'Navigation node get rows failure',\n },\n );\n\n const schemaColumns = schema.map(({name}) => name);\n\n return {\n columns: injectColumnsFromSchema(columns, omittedColumns, schemaColumns),\n rows,\n yqlTypes,\n };\n};\n","export const isTableNode = (type?: string) => {\n if (!type) return false;\n\n return ['table', 'tablet_cell', 'replicated_table'].includes(type);\n};\n","export const isFolderNode = (nodeType?: string) => {\n if (!nodeType) return false;\n return [\n 'map_node',\n 'scheduler_pool_tree_map',\n 'topmost_transaction_map',\n 'transaction_map',\n 'link',\n 'rootstock',\n 'portal_entrance',\n ].includes(nodeType);\n};\n","import {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {JSONParser} from '../../module/api';\nimport {getClusterProxy} from '../../../../store/selectors/global';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\n\nexport const loadTableAttributes = (path: string, clusterConfig: ClusterConfig) => {\n return wrapApiPromiseByToaster<Record<string, any>>(\n ytApiV3Id.get(YTApiId.navigationAttributes, {\n setup: {\n proxy: getClusterProxy(clusterConfig),\n ...JSONParser,\n },\n parameters: {\n path: `${path}/@`,\n },\n }),\n {\n skipSuccessToast: true,\n toasterName: 'query_navigation_node_attributes',\n errorTitle: 'Navigation node get attributes failure',\n },\n );\n};\n","import {QueryEngine} from '../../module/engines';\n\nexport const makePathByQueryEngine = ({\n path,\n cluster,\n engine,\n}: {\n path: string;\n cluster: string;\n engine: QueryEngine;\n}) => {\n if (!path || path === '/') return cluster;\n\n switch (engine) {\n case QueryEngine.YQL:\n return cluster + '.`' + path + '`';\n case QueryEngine.YT_QL:\n return '`' + path + '`';\n case QueryEngine.CHYT:\n return '`' + path + '`';\n default:\n return 'yt.`ytTable:' + path + '`';\n }\n};\n","import {NavigationTableSchema} from '../../module/queryNavigation/queryNavigationSlice';\nimport {loadTableAttributes} from '../api/loadTableAttributes';\nimport ypath from '../../../../common/thor/ypath';\nimport {QueryEngine} from '../../module/engines';\nimport {makePathByQueryEngine} from './makePathByQueryEngine';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\n\ntype Props = (data: {\n clusterConfig: ClusterConfig;\n path: string;\n engine: QueryEngine;\n limit: number;\n}) => Promise<string>;\n\nexport const createTableSelect: Props = async ({clusterConfig, path, engine, limit}) => {\n const attributes = await loadTableAttributes(path, clusterConfig);\n const schema: NavigationTableSchema[] = ypath.getValue(attributes.schema);\n\n return `SELECT\n${schema.map((i) => ' `' + i.name + '`').join(',\\r\\n')}\nFROM ${makePathByQueryEngine({path, cluster: clusterConfig.id, engine})}\nLIMIT ${limit}`;\n};\n","import {Range, editor} from 'monaco-editor';\n\nexport const insertTextWhereCursor = (text: string, mEditor?: editor.IStandaloneCodeEditor) => {\n if (!mEditor) return;\n\n const position = mEditor.getPosition();\n const range = position\n ? new Range(position.lineNumber, position.column, position.lineNumber, position.column)\n : new Range(0, 0, 0, 0);\n\n const edit = {range, text};\n mEditor.executeEdits('Insert text', [edit]);\n};\n","import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../../store/reducers';\nimport {Action} from 'redux';\nimport {\n BodyType,\n NavigationNode,\n NavigationTable,\n NavigationTableSchema,\n setCluster,\n setFilter,\n setNodeType,\n setNodes,\n setPath,\n setTable,\n} from './queryNavigationSlice';\nimport {\n selectFavouritePaths,\n selectNavigationCluster,\n selectNavigationClusterConfig,\n selectNavigationNodes,\n selectNavigationPath,\n} from './selectors';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport ypath from '../../../../common/thor/ypath';\nimport {makeMetaItems} from '../../../../components/MetaTable/presets/presets';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {getTableTypeByAttributes} from '../../../../utils/navigation/getTableTypeByAttributes';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {loadDynamicTableRequest} from '../../Navigation/api/loadDynamicTable';\nimport {loadStaticTable} from '../../Navigation/api/loadStaticTable';\nimport {JSONParser} from '../api';\nimport {toggleFavourite} from '../../../../store/actions/favourites';\nimport {createNestedNS} from '../../../../../shared/utils/settings';\nimport {NAMESPACES} from '../../../../../shared/constants/settings';\nimport {isTableNode} from '../../Navigation/helpers/isTableNode';\nimport {isFolderNode} from '../../Navigation/helpers/isFolderNode';\nimport {loadTableAttributes} from '../../Navigation/api/loadTableAttributes';\nimport {QueryEngine} from '../engines';\nimport {createEmptyQuery, loadCliqueByCluster, updateQueryDraft} from '../query/actions';\nimport {createTableSelect} from '../../Navigation/helpers/createTableSelect';\nimport {insertTextWhereCursor} from '../../Navigation/helpers/insertTextWhereCursor';\nimport {editor as monacoEditor} from 'monaco-editor';\nimport {getQueryDraft} from '../query/selectors';\nimport {getRequestOutputFormat} from '../../../../utils/navigation/content/table/table';\nimport {getDefaultTableColumnLimit} from '../../../../store/selectors/settings';\nimport {isYqlTypesEnabled} from '../../../../store/selectors/navigation/content/table';\nimport {getClusterProxy, getCurrentUserName} from '../../../../store/selectors/global';\nimport {getQueryResultGlobalSettings} from '../query_result/selectors';\n\nconst toaster = new Toaster();\n\ntype AsyncAction = ThunkAction<void, RootState, undefined, Action>;\n\nexport const toggleFavoritePath =\n (favoritePath: string): AsyncAction =>\n (dispatch, getState) => {\n const state = getState();\n const cluster = selectNavigationCluster(state);\n const nodes = selectNavigationNodes(state);\n\n if (!cluster) return;\n const parentNS = createNestedNS(cluster, NAMESPACES.LOCAL);\n dispatch(toggleFavourite(favoritePath, parentNS));\n\n const newNodes = nodes.map((node) => {\n if (node.path === favoritePath) {\n return {\n ...node,\n isFavorite: !node.isFavorite,\n };\n }\n return node;\n });\n dispatch(setNodes(newNodes));\n };\n\nexport const loadNodeByPath =\n (path: string): AsyncAction =>\n async (dispatch, getState) => {\n const state = getState();\n const clusterConfig = selectNavigationClusterConfig(state);\n const favorites = selectFavouritePaths(state);\n\n if (!clusterConfig) return;\n\n const response = await wrapApiPromiseByToaster(\n ytApiV3Id.list(YTApiId.navigationListNodes, {\n setup: {\n proxy: getClusterProxy(clusterConfig),\n ...JSONParser,\n },\n parameters: {\n path,\n attributes: ['type', 'broken', 'dynamic'],\n },\n }),\n {\n skipSuccessToast: true,\n toasterName: 'query_navigation_node',\n errorTitle: 'Navigation node open failure',\n },\n );\n\n const nodes: NavigationNode[] = response\n .map((item: unknown) => {\n const name = ypath.getValue(item);\n const newPath = path + '/' + name;\n const attributes = ypath.getAttributes(item);\n\n return {\n name,\n ...attributes,\n path: newPath,\n isFavorite: favorites.includes(newPath),\n };\n })\n .sort((a: NavigationNode, b: NavigationNode) => a.name.localeCompare(b.name));\n\n dispatch(setFilter(''));\n dispatch(setPath(path));\n dispatch(setNodeType(BodyType.Tree));\n dispatch(setNodes(nodes));\n };\n\nexport const loadTableAttributesByPath =\n (path: string): AsyncAction =>\n async (dispatch, getState) => {\n const state = getState();\n const clusterConfig = selectNavigationClusterConfig(state);\n const {cellSize, pageSize} = getQueryResultGlobalSettings();\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const useYqlTypes = isYqlTypesEnabled(state);\n const login = getCurrentUserName(state);\n\n if (!clusterConfig) return;\n\n const attributes = await loadTableAttributes(path, clusterConfig);\n const schema: NavigationTableSchema[] = ypath.getValue(attributes.schema);\n const output_format = getRequestOutputFormat(\n schema.map((i) => i.name),\n cellSize,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n const requestFunction = attributes.dynamic ? loadDynamicTableRequest : loadStaticTable;\n\n try {\n const {columns, rows, yqlTypes} = await requestFunction({\n login: state.global.login,\n path,\n clusterConfig,\n schema,\n keyColumns: attributes.key_columns,\n limit: pageSize,\n output_format,\n });\n\n const tableData: NavigationTable = {\n name: attributes.key,\n meta: makeMetaItems({\n cluster: clusterConfig.id,\n attributes: attributes,\n tableType: getTableTypeByAttributes(attributes.dynamic, attributes),\n isDynamic: attributes.dynamic,\n }),\n rows,\n schema,\n columns,\n yqlTypes,\n };\n\n dispatch(setPath(path));\n dispatch(setTable(tableData));\n dispatch(setNodeType(BodyType.Table));\n } catch (e) {\n toaster.add({\n theme: 'danger',\n autoHiding: false,\n name: 'Load table data error',\n title: e ? (e as Error).message : \"Can't load table data\",\n });\n }\n };\n\nexport const setNavigationCluster =\n (clusterId: string): AsyncAction =>\n (dispatch) => {\n dispatch(setCluster(clusterId));\n dispatch(setPath('/'));\n dispatch(loadNodeByPath('/'));\n };\n\nexport const initNavigation = (): AsyncAction => async (dispatch, getState) => {\n const state = getState();\n const clusterConfig = selectNavigationClusterConfig(state);\n const path = selectNavigationPath(state);\n\n if (!clusterConfig) return;\n\n const r = await wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.navigationGetType, {\n setup: {\n proxy: getClusterProxy(clusterConfig),\n ...JSONParser,\n },\n parameters: {\n path: `${path}/@type`,\n },\n }),\n {\n skipSuccessToast: true,\n toasterName: 'query_navigation_get_node_type',\n errorTitle: 'Navigation get node type failure',\n },\n );\n\n if (isTableNode(r)) {\n await dispatch(loadTableAttributesByPath(path));\n return;\n }\n if (isFolderNode(r)) {\n await dispatch(loadNodeByPath(path));\n return;\n }\n\n dispatch(loadNodeByPath('/'));\n};\n\nexport const copyPathToClipboard =\n (path: string): AsyncAction =>\n async (_, getState) => {\n const state = getState();\n const cluster = selectNavigationCluster(state);\n\n if (!cluster) return;\n\n try {\n await navigator.clipboard.writeText(path);\n toaster.add({\n theme: 'success',\n name: 'copy_navigation_path',\n title: 'Path copied',\n });\n } catch (e) {\n toaster.add({\n theme: 'danger',\n name: 'copy_navigation_path',\n title: \"Can't copy path\",\n content: (e as Error).message,\n autoHiding: false,\n });\n }\n };\n\nexport const makeNewQueryWithTableSelect =\n (path: string, engine: QueryEngine, editor: monacoEditor.IStandaloneCodeEditor): AsyncAction =>\n async (dispatch, getState) => {\n const state = getState();\n const {pageSize} = getQueryResultGlobalSettings();\n const clusterConfig = selectNavigationClusterConfig(state);\n const {settings} = getQueryDraft(state);\n\n if (!clusterConfig) return;\n await dispatch(createEmptyQuery());\n\n const newSettings: Record<string, string> = settings ? {...settings} : {};\n newSettings.cluster = clusterConfig.id;\n if (engine === QueryEngine.CHYT) {\n dispatch(loadCliqueByCluster(engine, clusterConfig.id));\n }\n dispatch(updateQueryDraft({engine, settings: newSettings}));\n\n const text = await createTableSelect({clusterConfig, path, engine, limit: pageSize});\n insertTextWhereCursor(text, editor);\n };\n","import React, {FC, useCallback} from 'react';\nimport cn from 'bem-cn-lite';\nimport './NavigationHeader.scss';\nimport {NavigationBreadcrumbs} from './NavigationBreadcrumbs';\nimport {HeaderActions} from './HeaderActions';\nimport {TextInput} from '@gravity-ui/uikit';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {\n selectFavouritePaths,\n selectNavigationCluster,\n selectNavigationFilter,\n selectNavigationNodeType,\n selectNavigationPath,\n} from '../../module/queryNavigation/selectors';\nimport {\n BodyType,\n setCluster,\n setFilter,\n setNodeType,\n setPath,\n} from '../../module/queryNavigation/queryNavigationSlice';\nimport {\n copyPathToClipboard,\n loadNodeByPath,\n toggleFavoritePath,\n} from '../../module/queryNavigation/actions';\nimport {makePathByQueryEngine} from '../helpers/makePathByQueryEngine';\nimport {insertTextWhereCursor} from '../helpers/insertTextWhereCursor';\nimport {getQueryEngine} from '../../module/query/selectors';\nimport {useMonaco} from '../../hooks/useMonaco';\n\nconst b = cn('navigation-header');\n\nexport const NavigationHeader: FC = () => {\n const dispatch = useDispatch();\n const favorites = useSelector(selectFavouritePaths);\n const filter = useSelector(selectNavigationFilter);\n const path = useSelector(selectNavigationPath);\n const engine = useSelector(getQueryEngine);\n const cluster = useSelector(selectNavigationCluster);\n const nodeType = useSelector(selectNavigationNodeType);\n const {getEditor} = useMonaco();\n\n const showFilter = nodeType !== BodyType.Table;\n\n const handleFilterChange = (value: string) => {\n dispatch(setFilter(value));\n };\n\n const handleChangeCluster = () => {\n dispatch(setNodeType(BodyType.Cluster));\n dispatch(setCluster(undefined));\n dispatch(setPath(''));\n };\n\n const handleChangePath = (val: string) => {\n dispatch(loadNodeByPath(val));\n };\n\n const handleFavoriteToggle = () => {\n dispatch(toggleFavoritePath(path));\n };\n\n const handlePathCopy = async () => {\n dispatch(copyPathToClipboard(path));\n };\n\n const handlePastePath = useCallback(() => {\n if (!cluster) return;\n const editor = getEditor('queryEditor');\n const pathString = makePathByQueryEngine({\n cluster,\n path,\n engine,\n });\n insertTextWhereCursor(pathString, editor);\n }, [cluster, engine, getEditor, path]);\n\n return (\n <div className={b()}>\n <div className={b('path-wrap')}>\n <NavigationBreadcrumbs\n path={path}\n cluster={cluster}\n onClusterChangeClick={handleChangeCluster}\n onItemClick={handleChangePath}\n />\n {cluster && (\n <HeaderActions\n isFavorite={favorites.includes(path)}\n onFavoriteToggle={handleFavoriteToggle}\n onPathCopy={handlePathCopy}\n onPastePath={handlePastePath}\n showCopyBtn={Boolean(cluster)}\n />\n )}\n </div>\n {showFilter && (\n <TextInput\n value={filter}\n placeholder=\"Filter by name\"\n onUpdate={handleFilterChange}\n hasClear\n />\n )}\n </div>\n );\n};\n","import React, {FC} from 'react';\nimport {Text} from '@gravity-ui/uikit';\nimport './NavigationEmpty.scss';\nimport cn from 'bem-cn-lite';\n\nconst b = cn('navigation-empty');\n\nexport const NavigationEmpty: FC = () => {\n return (\n <div className={b()}>\n <Text variant=\"subheader-2\">This directory is empty</Text>\n </div>\n );\n};\n","import * as React from 'react';\nconst ArrowUp = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16, fill: \"none\", viewBox: \"0 0 16 16\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M8 14.75a.75.75 0 0 1-.75-.75V3.81L4.53 6.53a.75.75 0 0 1-1.06-1.06l4-4a.75.75 0 0 1 1.06 0l4 4a.75.75 0 0 1-1.06 1.06L8.75 3.81V14a.75.75 0 0 1-.75.75Z\", clipRule: \"evenodd\" })));\nexport default ArrowUp;\n","import * as React from 'react';\nconst ArrowDown = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16, fill: \"none\", viewBox: \"0 0 16 16\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M8 1.25a.75.75 0 0 1 .75.75v10.19l2.72-2.72a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06l2.72 2.72V2A.75.75 0 0 1 8 1.25Z\", clipRule: \"evenodd\" })));\nexport default ArrowDown;\n","import * as React from 'react';\nconst ArrowUpArrowDown = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16, fill: \"none\", viewBox: \"0 0 16 16\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M3.72 2.22a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1-1.06 1.06L5 4.56v8.69a.75.75 0 0 1-1.5 0V4.56L1.78 6.28A.75.75 0 0 1 .72 5.22l3-3ZM11.75 14a.75.75 0 0 1-.53-.22l-3-3a.75.75 0 1 1 1.06-1.06L11 11.44V2.75a.75.75 0 0 1 1.5 0v8.69l1.72-1.72a.75.75 0 1 1 1.06 1.06l-3 3a.75.75 0 0 1-.53.22Z\", clipRule: \"evenodd\" })));\nexport default ArrowUpArrowDown;\n","import React from 'react';\nimport { ArrowDown, ArrowUp, ArrowUpArrowDown } from '@gravity-ui/icons';\nimport { Icon } from '../../../../Icon';\nimport { block } from '../../../../utils/cn';\nimport './SortIndicator.css';\nconst b = block('sort-indicator');\nexport function SortIndicator({ order }) {\n let icon;\n switch (order) {\n case 'asc':\n icon = ArrowUp;\n break;\n case 'desc':\n icon = ArrowDown;\n break;\n default:\n icon = ArrowUpArrowDown;\n }\n return (React.createElement(\"div\", { className: b() },\n React.createElement(Icon, { data: icon, size: 14, className: b('icon') })));\n}\n","'use client';\nimport { __rest } from \"tslib\";\nimport React from 'react';\nimport _get from 'lodash/get';\nimport _memoize from 'lodash/memoize';\nimport { createOnKeyDownHandler } from '../../../../hooks/useActionHandlers/useActionHandlers';\nimport { block } from '../../../utils/cn';\nimport { getComponentName } from '../../../utils/getComponentName';\nimport { Table } from '../../Table';\nimport { SortIndicator } from './SortIndicator/SortIndicator';\nimport './withTableSorting.css';\nexport const TableSortIndicator = SortIndicator;\nconst b = block('table');\nexport function withTableSorting(TableComponent) {\n var _a;\n const componentName = getComponentName(TableComponent);\n const displayName = `withTableSorting(${componentName})`;\n function defaultCompareFunction(itemA, itemB, columnId) {\n if (_get(itemA, columnId) === _get(itemB, columnId)) {\n return 0;\n }\n else {\n return _get(itemA, columnId) > _get(itemB, columnId) ? 1 : -1;\n }\n }\n return _a = class extends React.Component {\n constructor() {\n var _b;\n super(...arguments);\n this.state = {\n sort: (_b = this.props.defaultSortState) !== null && _b !== void 0 ? _b : [],\n };\n // eslint-disable-next-line @typescript-eslint/member-ordering\n this.enhanceColumns = _memoize((columns) => {\n return columns.map((column) => {\n const meta = column.meta;\n if (meta && meta.sort) {\n return Object.assign(Object.assign({}, column), { meta: Object.assign(Object.assign({}, column.meta), { _originalName: column.name }), name: () => {\n const sortState = this.getSortState();\n let sortOrder;\n if (sortState.length > 0) {\n const state = sortState.find((s) => s.column === column.id);\n if (state) {\n sortOrder = state.order;\n }\n }\n const originContent = Table.getHeadCellContent(column);\n const content = [\n React.createElement(\"div\", { key: \"content\", className: b('sort-content') }, originContent),\n React.createElement(\"div\", { key: \"indicator\", className: b('sort-indicator') },\n React.createElement(SortIndicator, { order: sortOrder })),\n ];\n if (column.align === 'right' || column.align === 'end') {\n content.reverse();\n }\n const onClick = this.handleColumnSortClick.bind(this, column);\n const onKeyDown = createOnKeyDownHandler(onClick);\n return (React.createElement(\"div\", { role: \"button\", tabIndex: 0, className: b('sort', { active: Boolean(sortOrder) }), onClick: onClick, onKeyDown: onKeyDown }, content));\n } });\n }\n else {\n return column;\n }\n });\n });\n this.handleColumnSortClick = (column, event) => {\n const sortState = this.getSortState();\n const currentStateIndex = sortState.findIndex((state) => state.column === column.id);\n const currentState = sortState[currentStateIndex];\n const nextColumnSort = this.getNextSortForColumn(column, currentState);\n if (!event.shiftKey) {\n this.handleSortStateChange(nextColumnSort);\n return;\n }\n if (currentState) {\n this.handleSortStateChange([\n ...sortState.slice(0, currentStateIndex),\n ...sortState.slice(currentStateIndex + 1),\n ...nextColumnSort,\n ]);\n }\n else {\n this.handleSortStateChange([...sortState, ...nextColumnSort]);\n }\n };\n }\n render() {\n const _b = this.props, { columns } = _b, restTableProps = __rest(_b, [\"columns\"]);\n return (React.createElement(TableComponent, Object.assign({}, restTableProps, { data: this.getSortedData(), columns: this.enhanceColumns(columns) })));\n }\n getSortedData() {\n const { data, columns, disableDataSorting = this.isControlledState() } = this.props;\n const sortState = this.getSortState();\n if (disableDataSorting || sortState.length === 0) {\n return data;\n }\n return data.slice().sort((itemA, itemB) => {\n var _b;\n let i = 0;\n while (i < sortState.length) {\n const state = sortState[i++];\n const column = columns.find((c) => c.id === state.column);\n const compareFunction = (_b = column === null || column === void 0 ? void 0 : column.meta) === null || _b === void 0 ? void 0 : _b.sort;\n if (!compareFunction) {\n continue;\n }\n const compareValue = typeof compareFunction === 'function'\n ? compareFunction(itemA, itemB)\n : defaultCompareFunction(itemA, itemB, state.column);\n if (compareValue !== 0) {\n return state.order === 'asc' ? compareValue : -compareValue;\n }\n }\n return 0;\n });\n }\n getSortState() {\n const { sortState } = this.props;\n const { sort } = this.state;\n return this.isControlledState() ? sortState : sort;\n }\n handleSortStateChange(newSortState) {\n const { onSortStateChange } = this.props;\n if (!this.isControlledState()) {\n this.setState({ sort: newSortState });\n }\n if (onSortStateChange) {\n onSortStateChange(newSortState);\n }\n }\n isControlledState() {\n const { sortState, onSortStateChange } = this.props;\n return Boolean(sortState && onSortStateChange);\n }\n getColumnDefaultSortOrder(column) {\n var _b;\n return ((_b = column.meta) === null || _b === void 0 ? void 0 : _b.defaultSortOrder) || 'asc';\n }\n getNextSortForColumn(column, currentState) {\n const defaultOrder = this.getColumnDefaultSortOrder(column);\n const orderStack = defaultOrder === 'desc' ? ['desc', 'asc', undefined] : ['asc', 'desc', undefined];\n const currentIndex = orderStack.indexOf(currentState === null || currentState === void 0 ? void 0 : currentState.order);\n const nextIndex = (currentIndex + 1) % orderStack.length;\n const nextOrder = orderStack[nextIndex];\n if (!nextOrder) {\n return [];\n }\n return [{ column: column.id, order: nextOrder }];\n }\n },\n _a.displayName = displayName,\n _a;\n}\n","import React from 'react';\nimport {Table, TableDataItem, TableProps, withTableSorting} from '@gravity-ui/uikit';\nimport cn from 'bem-cn-lite';\nimport './TableWithSorting.scss';\n\nconst TableSorting = withTableSorting(Table);\nconst b = cn('table-with-sorting');\n\nexport const TableWithSorting = (props: TableProps<TableDataItem>) => {\n return <TableSorting {...props} className={b(null, props.className)} />;\n};\n","import React, {FC} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueryClusterItem} from '../../QueryTrackerTopRow/QueryClusterSelector/QueryClusterItem';\nimport {TableDataItem} from '@gravity-ui/uikit';\nimport './ClusterList.scss';\nimport cn from 'bem-cn-lite';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\nimport {setNavigationCluster} from '../../module/queryNavigation/actions';\nimport {selectClustersByFilter} from '../../module/queryNavigation/selectors';\nimport {TableWithSorting} from '../NodeList/TableWithSorting';\n\nconst b = cn('navigation-cluster-list');\n\nexport const ClusterList: FC = () => {\n const dispatch = useDispatch();\n const clusters = useSelector(selectClustersByFilter);\n\n const handleClusterClick = (cluster: TableDataItem) => {\n dispatch(setNavigationCluster(cluster.id));\n };\n\n return (\n <div className={b()}>\n <TableWithSorting\n data={clusters}\n columns={[\n {\n className: b('row'),\n id: 'name',\n name: 'Name',\n template: ({id, name, environment}) => (\n <QueryClusterItem\n key={id}\n id={id}\n name={name}\n environment={environment}\n className={b('table-row')}\n />\n ),\n meta: {\n sort: (aCluster: ClusterConfig, bCluster: ClusterConfig) => {\n return aCluster.name.localeCompare(bCluster.name);\n },\n },\n },\n ]}\n onRowClick={handleClusterClick}\n />\n </div>\n );\n};\n","import React, {FC, MouseEvent} from 'react';\nimport {NavigationNode} from '../../module/queryNavigation/queryNavigationSlice';\nimport './NodeListRow.scss';\nimport cn from 'bem-cn-lite';\nimport {getIconNameForType} from '../../../../utils/navigation/path-editor';\nimport AwesomeIcon from '../../../../components/Icon/Icon';\nimport {Button, DropdownMenu, Icon, Text} from '@gravity-ui/uikit';\nimport {isFolderNode} from '../helpers/isFolderNode';\nimport {isTableNode} from '../helpers/isTableNode';\nimport StarFillIcon from '@gravity-ui/icons/svgs/star-fill.svg';\nimport StarIcon from '@gravity-ui/icons/svgs/star.svg';\nimport TextIndentIcon from '@gravity-ui/icons/svgs/text-indent.svg';\nimport ArrowUpRightFromSquareIcon from '@gravity-ui/icons/svgs/arrow-up-right-from-square.svg';\nimport {useToggle} from 'react-use';\nimport {QueryEngine} from '../../module/engines';\n\nconst b = cn('navigation-node-list-row');\n\ntype Props = {\n node: NavigationNode;\n onClick: (path: string, type: string | undefined) => void;\n onFavoriteToggle: (favoritePath: string) => void;\n onClipboardCopy: (path: string, type: 'url' | 'path') => void;\n onEditorInsert: (path: string, type: 'path' | 'select') => void;\n onNewQuery: (path: string, engine: QueryEngine) => void;\n onNewWindowOpen: (path: string) => void;\n};\n\nexport const NodeListRow: FC<Props> = ({\n node: {type, broken, dynamic, name, path, isFavorite},\n onClick,\n onFavoriteToggle,\n onClipboardCopy,\n onEditorInsert,\n onNewQuery,\n onNewWindowOpen,\n}) => {\n const [tableMenuOpen, toggleTapleMenuOpen] = useToggle(false);\n const [menuOpen, toggleMenuOpen] = useToggle(false);\n const iconType = type === 'table' && dynamic ? 'table_dynamic' : type;\n const iconName = getIconNameForType(iconType, broken);\n const isSupported = isFolderNode(type) || isTableNode(type);\n const showActions = isSupported && name !== '...';\n\n const handleClick = () => {\n onClick(path, type);\n };\n\n const handleStop = (e: MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n };\n\n const handleFavoriteClick = (e: MouseEvent<HTMLButtonElement>) => {\n handleStop(e);\n onFavoriteToggle(path);\n };\n\n const handlePastePathClick = (e: MouseEvent<HTMLButtonElement>) => {\n handleStop(e);\n onEditorInsert(path, 'path');\n };\n\n return (\n <div\n className={b({unsupported: !isSupported, active: menuOpen || tableMenuOpen})}\n onClick={handleClick}\n >\n <div className={b('icon-wrap')}>\n <AwesomeIcon awesome={iconName} size={16} />\n {isFavorite && (\n <Icon data={StarFillIcon} className={b('favorite-icon')} size={10} />\n )}\n </div>\n <Text ellipsis>{name}</Text>\n {showActions && (\n <div className={b('actions')}>\n <Button view=\"flat\" onClick={handleFavoriteClick}>\n <Icon data={isFavorite ? StarFillIcon : StarIcon} size={16} />\n </Button>\n {isTableNode(type) ? (\n <DropdownMenu\n open={tableMenuOpen}\n onOpenToggle={toggleTapleMenuOpen}\n renderSwitcher={(props) => (\n <Button view=\"flat\" {...props}>\n <Icon data={TextIndentIcon} size={16} />\n </Button>\n )}\n items={[\n {\n text: 'Copy to clipboard',\n items: [\n {\n text: 'Path',\n action: (e) => {\n e.stopPropagation();\n onClipboardCopy(path, 'path');\n },\n },\n ],\n },\n {\n text: 'Insert into editor',\n items: [\n {\n text: 'Path',\n action: (e) => {\n e.stopPropagation();\n onEditorInsert(path, 'path');\n },\n },\n {\n text: 'SELECT',\n action: (e) => {\n e.stopPropagation();\n onEditorInsert(path, 'select');\n },\n },\n ],\n },\n {\n text: 'Create new query',\n items: [\n {\n text: 'SELECT (YT QL)',\n action: (e) => {\n e.stopPropagation();\n onNewQuery(path, QueryEngine.YT_QL);\n },\n },\n {\n text: 'SELECT (YQL)',\n action: (e) => {\n e.stopPropagation();\n onNewQuery(path, QueryEngine.YQL);\n },\n },\n {\n text: 'SELECT (CHYT)',\n action: (e) => {\n e.stopPropagation();\n onNewQuery(path, QueryEngine.CHYT);\n },\n },\n {\n text: 'SELECT (SPYT)',\n action: (e) => {\n e.stopPropagation();\n onNewQuery(path, QueryEngine.SPYT);\n },\n },\n ],\n },\n ]}\n onSwitcherClick={handleStop}\n />\n ) : (\n <Button view=\"flat\" onClick={handlePastePathClick}>\n <Icon data={TextIndentIcon} size={16} />\n </Button>\n )}\n <DropdownMenu\n open={menuOpen}\n onOpenToggle={toggleMenuOpen}\n items={[\n {\n action: (e) => {\n e.stopPropagation();\n onClipboardCopy(path, 'url');\n },\n text: 'Copy link',\n },\n {\n action: () => {\n onNewWindowOpen(path);\n },\n text: 'Open in cluster',\n iconEnd: <Icon data={ArrowUpRightFromSquareIcon} />,\n },\n ]}\n onSwitcherClick={handleStop}\n />\n </div>\n )}\n </div>\n );\n};\n","import React, {FC, useCallback, useRef} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {\n selectNavigationClusterConfig,\n selectNodeListByFilter,\n} from '../../module/queryNavigation/selectors';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\nimport {TableWithSorting} from './TableWithSorting';\nimport {NodeListRow} from './NodeListRow';\nimport {NavigationNode} from '../../module/queryNavigation/queryNavigationSlice';\nimport {\n copyPathToClipboard,\n loadNodeByPath,\n loadTableAttributesByPath,\n makeNewQueryWithTableSelect,\n toggleFavoritePath,\n} from '../../module/queryNavigation/actions';\nimport './NodeList.scss';\nimport cn from 'bem-cn-lite';\nimport {isFolderNode} from '../helpers/isFolderNode';\nimport {isTableNode} from '../helpers/isTableNode';\nimport {useMonaco} from '../../hooks/useMonaco';\nimport {insertTextWhereCursor} from '../helpers/insertTextWhereCursor';\nimport {getQueryEngine, isQueryDraftEditted} from '../../module/query/selectors';\nimport {makePathByQueryEngine} from '../helpers/makePathByQueryEngine';\nimport {QueryEngine} from '../../module/engines';\nimport {getNavigationUrl} from '../helpers/getNavigationUrl';\nimport {createTableSelect} from '../helpers/createTableSelect';\nimport {getQueryResultGlobalSettings} from '../../module/query_result/selectors';\nimport {useToggle} from 'react-use';\nimport {NewQueryPromt} from '../../NewQueryButton/NewQueryButton';\nimport {NoContent} from '../../../../components/NoContent/NoContent';\n\nconst b = cn('navigation-node-list');\n\nexport const NodeList: FC = () => {\n const dispatch = useDispatch();\n const [showPrompt, togglePrompt] = useToggle(false);\n const newQueryParams = useRef<{path: string; engine: QueryEngine} | null>(null);\n const clusterConfig = useSelector(selectNavigationClusterConfig);\n const nodes = useSelector(selectNodeListByFilter);\n const engine = useSelector(getQueryEngine);\n const {pageSize} = getQueryResultGlobalSettings();\n const dirtyQuery = useSelector(isQueryDraftEditted);\n const {getEditor} = useMonaco();\n const isEmpty = nodes.length <= 1;\n\n const handleNodeClick = (path: string, type: string | undefined) => {\n if (isFolderNode(type)) {\n dispatch(loadNodeByPath(path));\n return;\n }\n if (isTableNode(type)) {\n dispatch(loadTableAttributesByPath(path));\n return;\n }\n };\n\n const handleFavoriteToggle = useCallback(\n (favoritePath: string) => {\n dispatch(toggleFavoritePath(favoritePath));\n },\n [dispatch],\n );\n\n const handleEditorInsert = useCallback(\n async (path: string, type: 'path' | 'select') => {\n if (!clusterConfig || !clusterConfig.id) return;\n const editor = getEditor('queryEditor');\n let text = '';\n if (type === 'path') {\n text = makePathByQueryEngine({\n cluster: clusterConfig.id,\n path,\n engine,\n });\n } else {\n text = await createTableSelect({clusterConfig, path, engine, limit: pageSize});\n }\n insertTextWhereCursor(text, editor);\n },\n [clusterConfig, engine, getEditor, pageSize],\n );\n\n const onClipboardCopy = useCallback(\n (path: string, type: 'path' | 'url') => {\n if (!clusterConfig || !clusterConfig.id) return;\n const pathString =\n type === 'path'\n ? makePathByQueryEngine({\n cluster: clusterConfig.id,\n path,\n engine,\n })\n : getNavigationUrl(clusterConfig.id, path);\n dispatch(copyPathToClipboard(pathString));\n },\n [clusterConfig, dispatch, engine],\n );\n\n const handleNewWindowOpen = useCallback(\n (path: string) => {\n if (!clusterConfig || !clusterConfig.id) return;\n const url = new URL(location.origin + `/${clusterConfig.id}/navigation`);\n url.searchParams.append('path', path);\n window.open(url);\n },\n [clusterConfig],\n );\n\n const handlePromptConfirm = useCallback(() => {\n const editor = getEditor('queryEditor');\n const parameters = newQueryParams.current;\n if (!editor || !parameters) return;\n dispatch(makeNewQueryWithTableSelect(parameters.path, parameters.engine, editor));\n togglePrompt();\n }, [dispatch, getEditor, togglePrompt]);\n\n const handlePromptCancel = useCallback(() => {\n newQueryParams.current = null;\n togglePrompt();\n }, [togglePrompt]);\n\n const handleNewQuery = useCallback(\n async (path: string, newEngine: QueryEngine) => {\n if (dirtyQuery) {\n togglePrompt();\n newQueryParams.current = {path, engine: newEngine};\n return;\n }\n\n newQueryParams.current = {path, engine: newEngine};\n handlePromptConfirm();\n },\n [dirtyQuery, handlePromptConfirm, togglePrompt],\n );\n\n return (\n <div className={b()}>\n <TableWithSorting\n data={nodes}\n columns={[\n {\n className: b('row'),\n id: 'name',\n name: 'Name',\n template: (node) => (\n <NodeListRow\n node={node as NavigationNode}\n onClick={handleNodeClick}\n onFavoriteToggle={handleFavoriteToggle}\n onEditorInsert={handleEditorInsert}\n onClipboardCopy={onClipboardCopy}\n onNewWindowOpen={handleNewWindowOpen}\n onNewQuery={handleNewQuery}\n />\n ),\n meta: {\n sort: (aCluster: ClusterConfig, bCluster: ClusterConfig) => {\n return aCluster.name.localeCompare(bCluster.name);\n },\n },\n },\n ]}\n />\n {isEmpty && (\n <div className={b('empty-wrap')}>\n <NoContent className={b('empty-icon')} warning=\"This directory is empty\" />\n </div>\n )}\n <NewQueryPromt\n confirm={handlePromptConfirm}\n cancel={handlePromptCancel}\n visible={showPrompt}\n />\n </div>\n );\n};\n\nexport default NodeList;\n","export const getNavigationUrl = (cluster: string, path: string) => {\n const url = new URL(location.origin + location.pathname);\n url.searchParams.append('listMode', 'navigation');\n url.searchParams.append('navCluster', cluster);\n if (path && path !== '/') {\n url.searchParams.append('navPath', path);\n }\n\n return url.toString();\n};\n","import React, {FC} from 'react';\nimport {NavigationTableSchema, setFilter} from '../../module/queryNavigation/queryNavigationSlice';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport {Column} from '@gravity-ui/react-data-table';\nimport {Text, TextInput} from '@gravity-ui/uikit';\nimport Icon from '../../../../components/Icon/Icon';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {selectNavigationFilter} from '../../module/queryNavigation/selectors';\n\ntype Props = {\n schema: NavigationTableSchema[];\n};\n\nconst columns: Column<NavigationTableSchema>[] = [\n {\n name: 'name',\n header: 'Name',\n render: ({row}) => {\n return (\n <>\n {Boolean(row.sort_order) && (\n <Icon\n awesome={\n row.sort_order === 'descending'\n ? 'sort-amount-up'\n : 'sort-amount-down-alt'\n }\n size={16}\n />\n )}{' '}\n {row.name}\n </>\n );\n },\n },\n {\n name: 'type',\n header: 'Type v3',\n render: ({row}) => {\n return (\n <>\n {row.type} {!row.required && <Text variant=\"caption-1\">optional</Text>}\n </>\n );\n },\n },\n];\n\nexport const SchemaTab: FC<Props> = ({schema}) => {\n const dispatch = useDispatch();\n const filter = useSelector(selectNavigationFilter);\n\n const handleFilterChange = (value: string) => {\n dispatch(setFilter(value));\n };\n\n return (\n <>\n <TextInput\n value={filter}\n placeholder=\"Filter by name\"\n onUpdate={handleFilterChange}\n hasClear\n />\n <DataTableYT data={schema} columns={columns} useThemeYT />\n </>\n );\n};\n","import React, {FC, useMemo} from 'react';\nimport {\n NavigationTable,\n NavigationTableSchema,\n} from '../../module/queryNavigation/queryNavigationSlice';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport './PreviewTab.scss';\nimport cn from 'bem-cn-lite';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport ArrowUpRightFromSquareIcon from '@gravity-ui/icons/svgs/arrow-up-right-from-square.svg';\nimport {prepareColumns} from '../../../../utils/navigation/prepareColumns';\nimport {TypeArray} from '../../../../components/SchemaDataType/dataTypes';\nimport {YsonSettings} from '../../../../store/selectors/thor/unipika';\n\nconst b = cn('navigation-preview-tab');\n\ntype Props = {\n table: NavigationTable;\n ysonSettings: YsonSettings;\n onEditorInsert: () => void;\n};\n\nexport const PreviewTab: FC<Props> = ({table, ysonSettings, onEditorInsert}) => {\n const columns = useMemo(() => {\n return prepareColumns({\n columns: table.columns.map((i) => ({name: i})),\n keyColumns: [],\n yqlTypes: table.yqlTypes as TypeArray[] | null,\n ysonSettings,\n useRawStrings: undefined,\n schemaByName: table.schema.reduce<Record<string, NavigationTableSchema>>(\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {},\n ),\n });\n }, [table, ysonSettings]);\n\n return (\n <div>\n <Button onClick={onEditorInsert}>\n <Icon data={ArrowUpRightFromSquareIcon} size={16} />\n insert SELECT\n </Button>\n <DataTableYT className={b()} columns={columns} data={table.rows} useThemeYT />\n </div>\n );\n};\n","import React, {FC, useState} from 'react';\nimport {RadioButton} from '@gravity-ui/uikit';\nimport cn from 'bem-cn-lite';\nimport './NavigationTable.scss';\nimport {SchemaTab} from './SchemaTab';\nimport {useSelector} from 'react-redux';\nimport {\n selectNavigationClusterConfig,\n selectNavigationPath,\n selectTableWithFilter,\n} from '../../module/queryNavigation/selectors';\nimport MetaTable from '../../../../components/MetaTable/MetaTable';\nimport {PreviewTab} from './PreviewTab';\nimport {insertTextWhereCursor} from '../helpers/insertTextWhereCursor';\nimport {createTableSelect} from '../helpers/createTableSelect';\nimport {useMonaco} from '../../hooks/useMonaco';\nimport {getQueryEngine} from '../../module/query/selectors';\nimport {getPageSize} from '../../../../store/selectors/navigation/content/table-ts';\nimport {getTableYsonSettings} from '../../../../store/selectors/thor/unipika';\n\nconst enum TableTab {\n Schema = 'schema',\n Preview = 'preview',\n Meta = 'meta',\n}\n\nconst b = cn('navigation-table');\n\nexport const NavigationTable: FC = () => {\n const [activeTab, setActiveTab] = useState(TableTab.Schema);\n const clusterConfig = useSelector(selectNavigationClusterConfig);\n const table = useSelector(selectTableWithFilter);\n const engine = useSelector(getQueryEngine);\n const limit = useSelector(getPageSize);\n const path = useSelector(selectNavigationPath);\n const ysonSettings = useSelector(getTableYsonSettings);\n const {getEditor} = useMonaco();\n\n const handleChangeTab = (id: string) => {\n setActiveTab(id as TableTab);\n };\n\n const handleInsertTableSelect = async () => {\n if (!clusterConfig) return;\n const editor = getEditor('queryEditor');\n const text = await createTableSelect({clusterConfig, path, engine, limit});\n insertTextWhereCursor(text, editor);\n };\n\n if (!table) return <div>Empty data</div>;\n\n return (\n <div className={b()}>\n <RadioButton\n defaultValue={activeTab}\n onUpdate={handleChangeTab}\n options={[\n {value: TableTab.Schema, content: 'Schema'},\n {value: TableTab.Preview, content: 'Preview'},\n {value: TableTab.Meta, content: 'Meta'},\n ]}\n />\n <div className={b('content')}>\n {activeTab === TableTab.Schema && <SchemaTab schema={table.schema} />}\n {activeTab === TableTab.Preview && (\n <PreviewTab\n table={table}\n onEditorInsert={handleInsertTableSelect}\n ysonSettings={ysonSettings}\n />\n )}\n {activeTab === TableTab.Meta && <MetaTable items={table.meta} />}\n </div>\n </div>\n );\n};\n","import React, {FC} from 'react';\nimport {NavigationEmpty} from './NavigationEmpty';\nimport {useSelector} from 'react-redux';\nimport {selectNavigationNodeType} from '../../module/queryNavigation/selectors';\nimport {BodyType} from '../../module/queryNavigation/queryNavigationSlice';\nimport {ClusterList} from '../ClusterList';\nimport {NodeList} from '../NodeList';\nimport {NavigationTable} from '../NavigationTable';\n\nexport const NavigationBody: FC = () => {\n const nodeType = useSelector(selectNavigationNodeType);\n\n switch (nodeType) {\n case BodyType.Tree:\n return <NodeList />;\n case BodyType.Table:\n return <NavigationTable />;\n case BodyType.Cluster:\n return <ClusterList />;\n default:\n return <NavigationEmpty />;\n }\n};\n","import React, {FC, useEffect} from 'react';\nimport './Navigation.scss';\nimport {NavigationHeader} from './NavigationHeader';\nimport {NavigationBody} from './NavigationBody';\nimport cn from 'bem-cn-lite';\nimport {useDispatch} from 'react-redux';\nimport {initNavigation} from '../module/queryNavigation/actions';\n\nconst b = cn('query-navigation');\n\nexport const Navigation: FC = () => {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(initNavigation());\n }, [dispatch]);\n\n return (\n <div className={b()}>\n <NavigationHeader />\n <NavigationBody />\n </div>\n );\n};\n","import React, {MouseEvent, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport Modal from '../../../components/Modal/Modal';\nimport {isQueryDraftEditted} from '../module/query/selectors';\nimport FilePlusIcon from '@gravity-ui/icons/svgs/file-plus.svg';\nimport {Page} from '../../../../shared/constants/settings';\nimport {getCluster} from '../../../store/selectors/global';\n\nexport const NewQueryPromt = (props: {\n cancel: () => void;\n confirm: () => void;\n visible: boolean;\n}) => {\n return (\n <Modal\n title=\"New query\"\n content=\"All the changes will be lost. Are you sure you want to reset query?\"\n onCancel={props.cancel}\n onConfirm={props.confirm}\n onOutsideClick={props.cancel}\n visible={props.visible}\n />\n );\n};\n\nexport const NewQueryButton = ({onClick}: {onClick: () => void}) => {\n const dirtyQuery = useSelector(isQueryDraftEditted);\n const [visible, setVisible] = useState(false);\n const cluster = useSelector(getCluster);\n\n const handleClick = (e: MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n\n if (dirtyQuery) {\n setVisible(true);\n } else {\n onClick();\n }\n };\n\n const handleConfirm = () => {\n onClick();\n\n setVisible(false);\n };\n\n const handleCancel = () => {\n setVisible(false);\n };\n\n return (\n <React.Fragment>\n <Button\n qa=\"new-query-btn\"\n view=\"action\"\n size=\"l\"\n title=\"New query\"\n href={`/${cluster}/${Page.QUERIES}`}\n onClick={handleClick}\n >\n <Icon data={FilePlusIcon} size={16} />\n New\n </Button>\n <NewQueryPromt confirm={handleConfirm} cancel={handleCancel} visible={visible} />\n </React.Fragment>\n );\n};\n","import React, {FC} from 'react';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\nimport cn from 'bem-cn-lite';\nimport './QueryClusterItem.scss';\nimport {Text} from '@gravity-ui/uikit';\nimport ClusterIcon from '../../../../components/ClusterIcon/ClusterIcon';\nimport {useClusterColorClassName} from '../../../../containers/ClusterPageHeader/ClusterColor';\n\nconst block = cn('query-cluster-item');\nconst IconBlock = cn('query-cluster-icon');\n\ntype Props = Pick<ClusterConfig, 'id' | 'name' | 'environment'> & {className?: string};\n\nexport const QueryClusterItem: FC<Props> = ({id, name, environment, className}) => {\n const clusterColorClassName = useClusterColorClassName(id);\n\n return (\n <div className={block(null, className)}>\n <ClusterIcon name={name} className={IconBlock(null, clusterColorClassName)} />\n <div className={block('info')}>\n {name}\n <Text color=\"secondary\" className={block('environment')}>\n {environment}\n </Text>\n </div>\n </div>\n );\n};\n","const SvgArrowUpRightFromSquare = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M10 1.5A.75.75 0 0 0 10 3h1.94L6.97 7.97a.75.75 0 0 0 1.06 1.06L13 4.06V6a.75.75 0 0 0 1.5 0V2.25a.75.75 0 0 0-.75-.75zM7.5 3.25a.75.75 0 0 0-.75-.75H4.5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3V9.25a.75.75 0 0 0-1.5 0v2.25a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 3 11.5v-6A1.5 1.5 0 0 1 4.5 4h2.25a.75.75 0 0 0 .75-.75\" clipRule=\"evenodd\" /></svg>;\nexport default SvgArrowUpRightFromSquare;","const SvgFilePlus = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M12.5 12a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 12V4A1.5 1.5 0 0 1 5 2.5h2.757a1.5 1.5 0 0 1 1.061.44l3.243 3.242a1.5 1.5 0 0 1 .439 1.06zm.621-6.879A3 3 0 0 1 14 7.243V12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h2.757a3 3 0 0 1 2.122.879L13.12 5.12ZM8.75 6.75a.75.75 0 0 0-1.5 0v1.5h-1.5a.75.75 0 0 0 0 1.5h1.5v1.5a.75.75 0 0 0 1.5 0v-1.5h1.5a.75.75 0 0 0 0-1.5h-1.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgFilePlus;","const SvgFolderTree = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M7.5 13.5v-3A.5.5 0 0 1 8 10h.672a.5.5 0 0 1 .353.146l.414.415.44.439H13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5M6 13H4.5a3 3 0 0 1-3-3V1.25a.75.75 0 0 1 1.5 0V2a1.5 1.5 0 0 0 1.5 1.5H6v-1a2 2 0 0 1 2-2h.672a2 2 0 0 1 1.414.586l.414.414H13a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5H4.5A3 3 0 0 1 3 4.599V10a1.5 1.5 0 0 0 1.5 1.5H6v-1a2 2 0 0 1 2-2h.672a2 2 0 0 1 1.414.586l.414.414H13a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2zm1.5-8.75V5.5A.5.5 0 0 0 8 6h5a.5.5 0 0 0 .5-.5v-2A.5.5 0 0 0 13 3H9.879l-.44-.44-.414-.414A.5.5 0 0 0 8.672 2H8a.5.5 0 0 0-.5.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgFolderTree;","const SvgTextIndent = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M13.25 2H2.75a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5m0 3.5h-5.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5m0 3.5h-5.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5m-10.5 3.5h10.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5m.49-7a.74.74 0 0 1 .463.162l1.906 1.526a1.04 1.04 0 0 1 0 1.624l-1.906 1.526A.74.74 0 0 1 2.5 9.76V6.24a.74.74 0 0 1 .74-.74\" clipRule=\"evenodd\" /></svg>;\nexport default SvgTextIndent;"],"names":["BreadcrumbsItem","_ref","item","isCurrent","onClick","_jsx","e","preventDefault","href","children","text","NavigationBreadcrumbs","path","cluster","onClusterChangeClick","onItemClick","handleBreadcrumbsClick","useCallback","newPath","items","useMemo","result","action","pathItems","split","reduce","acc","push","concat","_toConsumableArray","_jsxs","_Fragment","Button","size","view","Icon","data","FolderTreeIcon","Breadcrumbs","renderItemContent","firstDisplayedItemsCount","FirstDisplayedItemsCount","lastDisplayedItemsCount","LastDisplayedItemsCount","One","props","_objectSpread","xmlns","fill","viewBox","fillRule","d","clipRule","b","cn","HeaderActions","isFavorite","showCopyBtn","onFavoriteToggle","onPathCopy","onPastePath","className","StarFillIcon","StarIcon","TextIndentIcon","CopyIcon","loadDynamicTableRequest","_ref2","_asyncToGenerator","_regeneratorRuntime","_callee","clusterConfig","login","schema","keyColumns","limit","output_format","allColumns","permissions","_permissions$columns$","availableColumns","omittedColumns","aColumns","parameters","setup","_yield$wrapApiPromise","columns","rows","yqlTypes","schemaColumns","_context","prev","next","map","_ref3","name","wrapApiPromiseByToaster","ytApiV3Id","checkPermission","YTApiId","dynTableCheckPerm","proxy","getClusterProxy","permission","user","skipSuccessToast","toasterName","errorTitle","sent","Array","isArray","abrupt","Promise","reject","Error","index","includes","deniedKeyColumns","_defineProperty","length","unipika","decode","query","Query","prepareQuery","offset","dump_error_into_response","transformResponse","_ref4","parsedData","rawResponse","headers","JSONParser","readDynamicTable","_ref5","injectColumnsFromSchema","stop","_x","apply","arguments","loadStaticTable","omit_inaccessible_columns","table_reader","workload_descriptor","category","readStaticTable","isTableNode","type","isFolderNode","nodeType","loadTableAttributes","get","navigationAttributes","makePathByQueryEngine","engine","QueryEngine","YQL","YT_QL","CHYT","createTableSelect","attributes","ypath","getValue","i","join","id","insertTextWhereCursor","mEditor","position","getPosition","edit","range","Range","lineNumber","column","executeEdits","toaster","Toaster","toggleFavoritePath","favoritePath","dispatch","getState","state","selectNavigationCluster","nodes","selectNavigationNodes","parentNS","createNestedNS","NAMESPACES","LOCAL","toggleFavourite","newNodes","node","setNodes","loadNodeByPath","favorites","response","selectNavigationClusterConfig","selectFavouritePaths","list","navigationListNodes","getAttributes","sort","a","localeCompare","setFilter","setPath","setNodeType","BodyType","Tree","_x2","loadTableAttributesByPath","_callee2","_getQueryResultGlobal","cellSize","pageSize","defaultTableColumnLimit","useYqlTypes","requestFunction","_yield$requestFunctio","tableData","_context2","getQueryResultGlobalSettings","getDefaultTableColumnLimit","isYqlTypesEnabled","getCurrentUserName","getRequestOutputFormat","dynamic","global","key_columns","key","meta","makeMetaItems","tableType","getTableTypeByAttributes","isDynamic","setTable","Table","t0","add","theme","autoHiding","title","message","_x3","_x4","copyPathToClipboard","_callee4","_","_context4","navigator","clipboard","writeText","content","_x7","_x8","NavigationHeader","useDispatch","useSelector","filter","selectNavigationFilter","selectNavigationPath","getQueryEngine","selectNavigationNodeType","getEditor","useMonaco","showFilter","handlePathCopy","handlePastePath","editor","pathString","Cluster","setCluster","undefined","val","Boolean","TextInput","value","placeholder","onUpdate","hasClear","NavigationEmpty","Text","variant","Object","assign","width","height","order","icon","I","TableSorting","TableComponent","_a","displayName","getComponentName","defaultCompareFunction","itemA","itemB","columnId","constructor","_b","super","this","defaultSortState","enhanceColumns","_originalName","sortState","getSortState","sortOrder","find","s","originContent","getHeadCellContent","align","reverse","handleColumnSortClick","bind","onKeyDown","role","tabIndex","active","event","currentStateIndex","findIndex","currentState","nextColumnSort","getNextSortForColumn","shiftKey","handleSortStateChange","slice","render","restTableProps","getSortedData","disableDataSorting","isControlledState","c","compareFunction","compareValue","newSortState","onSortStateChange","setState","getColumnDefaultSortOrder","defaultSortOrder","orderStack","currentIndex","indexOf","nextOrder","withTableSorting","TableWithSorting","ClusterList","clusters","selectClustersByFilter","template","environment","QueryClusterItem","aCluster","bCluster","onRowClick","clusterId","NodeListRow","_ref$node","broken","onClipboardCopy","onEditorInsert","onNewQuery","onNewWindowOpen","_useToggle","useToggle","_useToggle2","_slicedToArray","tableMenuOpen","toggleTapleMenuOpen","_useToggle3","_useToggle4","menuOpen","toggleMenuOpen","iconType","iconName","getIconNameForType","isSupported","showActions","handleStop","stopPropagation","unsupported","AwesomeIcon","awesome","ellipsis","DropdownMenu","open","onOpenToggle","renderSwitcher","SPYT","onSwitcherClick","iconEnd","ArrowUpRightFromSquareIcon","NodeList","showPrompt","togglePrompt","newQueryParams","useRef","selectNodeListByFilter","dirtyQuery","isQueryDraftEditted","isEmpty","handleNodeClick","handleFavoriteToggle","handleEditorInsert","url","URL","location","origin","pathname","searchParams","append","toString","getNavigationUrl","handleNewWindowOpen","window","handlePromptConfirm","current","_callee5","_getQueryResultGlobal2","_getQueryDraft","settings","newSettings","_context5","getQueryDraft","createEmptyQuery","loadCliqueByCluster","updateQueryDraft","_x9","_x10","makeNewQueryWithTableSelect","handlePromptCancel","handleNewQuery","newEngine","NoContent","warning","NewQueryPromt","confirm","cancel","visible","header","row","sort_order","required","SchemaTab","DataTableYT","useThemeYT","PreviewTab","table","ysonSettings","prepareColumns","useRawStrings","schemaByName","NavigationTable","_useState","useState","_useState2","activeTab","setActiveTab","selectTableWithFilter","getPageSize","getTableYsonSettings","handleInsertTableSelect","RadioButton","defaultValue","options","MetaTable","NavigationBody","Navigation","useEffect","_callee3","r","_context3","navigationGetType","_x5","_x6","Modal","onCancel","onConfirm","onOutsideClick","NewQueryButton","setVisible","getCluster","React","qa","Page","QUERIES","FilePlusIcon","block","IconBlock","clusterColorClassName","useClusterColorClassName","ClusterIcon","color"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
(()=>{"use strict";var e,a,c,d,t,f={},r={};function b(e){var a=r[e];if(void 0!==a)return a.exports;var c=r[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,b),c.loaded=!0,c.exports}b.m=f,b.amdO={},e=[],b.O=(a,c,d,t)=>{if(!c){var f=1/0;for(i=0;i<e.length;i++){for(var[c,d,t]=e[i],r=!0,n=0;n<c.length;n++)(!1&t||f>=t)&&Object.keys(b.O).every((e=>b.O[e](c[n])))?c.splice(n--,1):(r=!1,t<f&&(f=t));if(r){e.splice(i--,1);var o=d();void 0!==o&&(a=o)}}return a}t=t||0;for(var i=e.length;i>0&&e[i-1][2]>t;i--)e[i]=e[i-1];e[i]=[c,d,t]},b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var t=Object.create(null);b.r(t);var f={};a=a||[null,c({}),c([]),c(c)];for(var r=2&d&&e;"object"==typeof r&&!~a.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,b.d(t,f),t},b.d=(e,a)=>{for(var c in a)b.o(a,c)&&!b.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((a,c)=>(b.f[c](e,a),a)),[])),b.u=e=>"js/"+({446:"websql-autocomplete",502:"vis-network",1040:"query-navigation",1234:"navigation-flow",4533:"vcs",4637:"manage-tokens",6457:"acl",9293:"yql-lang-clickhouse"}[e]||e)+"."+{99:"bfd05def",131:"c3a6dfca",278:"adbeb089",296:"d662dcc0",330:"ee1822eb",339:"0a5d7d17",358:"242b21c4",446:"2977d249",471:"a85a0c7d",491:"55c9c1d8",502:"8a465313",596:"05721bd5",615:"4ecb0c60",628:"654b7648",660:"1d8a91ff",710:"a0e73d16",727:"e9b0ee20",759:"793319dd",803:"a606abcb",818:"6308d964",894:"8caad366",897:"aff55e07",1005:"68861285",1040:"
|
2
|
-
//# sourceMappingURL=runtime.
|
1
|
+
(()=>{"use strict";var e,a,c,d,t,f={},r={};function b(e){var a=r[e];if(void 0!==a)return a.exports;var c=r[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,b),c.loaded=!0,c.exports}b.m=f,b.amdO={},e=[],b.O=(a,c,d,t)=>{if(!c){var f=1/0;for(i=0;i<e.length;i++){for(var[c,d,t]=e[i],r=!0,n=0;n<c.length;n++)(!1&t||f>=t)&&Object.keys(b.O).every((e=>b.O[e](c[n])))?c.splice(n--,1):(r=!1,t<f&&(f=t));if(r){e.splice(i--,1);var o=d();void 0!==o&&(a=o)}}return a}t=t||0;for(var i=e.length;i>0&&e[i-1][2]>t;i--)e[i]=e[i-1];e[i]=[c,d,t]},b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var t=Object.create(null);b.r(t);var f={};a=a||[null,c({}),c([]),c(c)];for(var r=2&d&&e;"object"==typeof r&&!~a.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,b.d(t,f),t},b.d=(e,a)=>{for(var c in a)b.o(a,c)&&!b.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((a,c)=>(b.f[c](e,a),a)),[])),b.u=e=>"js/"+({446:"websql-autocomplete",502:"vis-network",1040:"query-navigation",1234:"navigation-flow",4533:"vcs",4637:"manage-tokens",6457:"acl",9293:"yql-lang-clickhouse"}[e]||e)+"."+{99:"bfd05def",131:"c3a6dfca",278:"adbeb089",296:"d662dcc0",330:"ee1822eb",339:"0a5d7d17",358:"242b21c4",446:"2977d249",471:"a85a0c7d",491:"55c9c1d8",502:"8a465313",596:"05721bd5",615:"4ecb0c60",628:"654b7648",660:"1d8a91ff",710:"a0e73d16",727:"e9b0ee20",759:"793319dd",803:"a606abcb",818:"6308d964",894:"8caad366",897:"aff55e07",1005:"68861285",1040:"5f2d5062",1059:"68590ad9",1091:"16e99ec0",1100:"e38f29b2",1103:"bd20ea3e",1195:"fc86cacc",1206:"ebddead4",1234:"a65df5e6",1267:"c9b6441c",1297:"9248beda",1330:"1fb61143",1347:"895fae4f",1354:"ea7d07f6",1411:"818018dc",1472:"2a305c14",1501:"d4acddca",1502:"ea204e37",1539:"cee3def9",1591:"688abe5a",1649:"086af65f",1666:"646b56e9",1707:"82d676b8",1711:"3574f142",1717:"f950a245",1816:"07a423da",1827:"90913ff2",1891:"92f57665",1903:"77f7a622",1909:"e0d47432",1924:"f8a5b214",1950:"1fa9d50d",1971:"5e4e164f",2066:"efd08c24",2145:"26a3a1a7",2159:"c85b4d0e",2177:"f1eb53df",2398:"5ba7ebb4",2437:"2f6042e7",2445:"886d45a4",2531:"a4538af7",2597:"05de6bc7",2625:"ae922e75",2707:"d4879135",2787:"028e75ed",2803:"f1b170f3",2826:"53223ad1",2900:"a4b15dcb",2903:"8e20a263",3045:"87335fb6",3115:"946f14f3",3182:"707d5a77",3220:"6df08697",3224:"566ab13c",3260:"17de9c6b",3307:"fa857524",3323:"d07076a4",3349:"27e20ebd",3395:"0f7c5b70",3440:"c28221d5",3507:"658770d1",3555:"4b805ace",3582:"fa2a037d",3602:"aa5fdb3a",3680:"887fe07b",3687:"2719aba1",3729:"c6217cb9",3762:"e6531d0a",3791:"41f56145",3795:"ac8e4217",3872:"3afe3760",3887:"a294402f",3903:"086debb2",3927:"8658a677",3941:"e57e81a4",3995:"f384a94a",4011:"2ed47543",4059:"56602740",4062:"b04c3033",4077:"777cf284",4135:"976941a5",4163:"848e1939",4268:"18cff25a",4299:"a6d46124",4319:"b2034e31",4399:"8d183c1b",4427:"f1a9b9c1",4462:"2fd36c51",4479:"2da6f158",4511:"47f0fb01",4514:"80e2ebb7",4526:"eab2c340",4529:"09f8837e",4533:"8add27e4",4608:"677c77b7",4623:"25d9c172",4637:"1f55c051",4835:"5ce683a0",4883:"9387dbaf",4911:"22415ee6",4939:"5fcf3d97",4947:"beb8035e",4963:"91e8d70f",4994:"424f8d17",5020:"e0bc165d",5023:"499b6061",5040:"89d1dc9d",5065:"abd01e7a",5083:"f93e3074",5150:"f3579a5d",5155:"3cc20899",5165:"c0cd9ccc",5209:"5bc40204",5251:"47224a5f",5254:"19176656",5368:"320596e8",5427:"1eaba59f",5457:"460d7f42",5499:"a4c0af22",5528:"e6c5af3d",5557:"46a659eb",5558:"734c102f",5622:"9d48b6d9",5638:"bf2a3484",5687:"5f68db30",5713:"df27e596",5837:"c8b3c0e2",5893:"0c9c5b16",5995:"ed75324a",6013:"18b4dc82",6015:"82d07c89",6059:"cf1616b9",6090:"b65f853c",6116:"a6c2bf77",6141:"379ebb53",6193:"0b01b6ee",6217:"6001862d",6291:"76b6a0f1",6297:"e0191b01",6457:"0a416311",6490:"9336a64d",6545:"1b59420e",6579:"6f12abf4",6604:"ed43972b",6637:"906dbd8a",6651:"cec0b064",6692:"ca848b35",6695:"e81aca01",6755:"0f2985e1",6787:"888f8603",6903:"48a3ac1d",6911:"673dda38",6919:"93c59f8f",6947:"dbe00765",6967:"897d0ba1",7019:"112c597e",7040:"b9bca5ae",7155:"29a451d1",7288:"0b3eb96c",7299:"516f7586",7328:"4885f7ef",7347:"ce49f6c0",7398:"c6f7539e",7400:"39643435",7437:"8867c6b6",7457:"dbacb1cd",7487:"806424ce",7511:"a31b9867",7555:"860cf0fc",7556:"8b0cad28",7560:"e1e8b7d2",7639:"6b963013",7641:"db543334",7665:"4f34a901",7731:"0bcf83b3",7741:"ea009ab1",7776:"b343bc40",7809:"de55b935",7826:"25dd23f0",7831:"3f5936c2",7880:"264ddf0b",7897:"b921f1f0",7949:"a25307c9",7950:"5dae42e9",8062:"c596abd2",8209:"80a6008a",8228:"a815415e",8238:"b2c259fc",8243:"60f8394f",8271:"dd67a7ef",8339:"623b1043",8344:"7bca5639",8428:"2d11168e",8464:"8d096c80",8589:"32a004d3",8616:"705d2df4",8647:"75b3fb61",8658:"5034c250",8671:"80824ba6",8679:"f40499c5",8687:"f5e4aae7",8691:"88ffe9ee",8705:"668255ab",8739:"f1111722",8840:"a3cac74f",8899:"023a1df9",8924:"a32d18d3",8959:"18cc100c",8982:"c5de4e1e",9011:"2e4ed9aa",9021:"5acea4c0",9026:"b2d4637f",9130:"21300303",9276:"6efcac14",9293:"ae78e819",9329:"216dd0a8",9366:"f6a48377",9385:"68e39c6d",9399:"26ca4c43",9486:"f02d846b",9520:"58d0e4dd",9539:"dff869cb",9585:"053a6359",9651:"5f5a5f8e",9668:"85ab3fac",9676:"4ad744e3",9767:"ae7dfc5d",9860:"1b4d96c1",9949:"d68a7345",9963:"2121098b",9984:"5bca1bd2",9991:"feef4667"}[e]+".chunk.js",b.miniCssF=e=>"css/"+({1040:"query-navigation",1234:"navigation-flow",4533:"vcs",4637:"manage-tokens",6457:"acl"}[e]||e)+"."+{596:"5d83c093",628:"1083837a",1040:"e3c048b9",1059:"5ad33e83",1103:"4d725c13",1195:"0483c72f",1206:"c3305c4b",1234:"cdcf90a6",3872:"ff3f9b0d",4533:"ca6825ac",4637:"67f9bab0",5040:"ea0af1cb",5557:"627d472b",6193:"3c2593d4",6457:"edf38f0a",6545:"6da4b24c",6604:"9951e83d",8739:"4e1398d2",8982:"27dda8bb",9329:"83ec810d"}[e]+".chunk.css",b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},t="@ytsaurus/ui:",b.l=(e,a,c,f)=>{if(d[e])d[e].push(a);else{var r,n;if(void 0!==c)for(var o=document.getElementsByTagName("script"),i=0;i<o.length;i++){var l=o[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==t+c){r=l;break}}r||(n=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,b.nc&&r.setAttribute("nonce",b.nc),r.setAttribute("data-webpack",t+c),r.src=e),d[e]=[a];var u=(a,c)=>{r.onerror=r.onload=null,clearTimeout(s);var t=d[e];if(delete d[e],r.parentNode&&r.parentNode.removeChild(r),t&&t.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),n&&document.head.appendChild(r)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;b.g.importScripts&&(e=b.g.location+"");var a=b.g.document;if(!e&&a&&(a.currentScript&&(e=a.currentScript.src),!e)){var c=a.getElementsByTagName("script");if(c.length)for(var d=c.length-1;d>-1&&(!e||!/^http(s?):/.test(e));)e=c[d--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),b.p=e+"../"})(),(()=>{if("undefined"!=typeof document){var e={9121:0};b.f.miniCss=(a,c)=>{e[a]?c.push(e[a]):0!==e[a]&&{596:1,628:1,1040:1,1059:1,1103:1,1195:1,1206:1,1234:1,3872:1,4533:1,4637:1,5040:1,5557:1,6193:1,6457:1,6545:1,6604:1,8739:1,8982:1,9329:1}[a]&&c.push(e[a]=(e=>new Promise(((a,c)=>{var d=b.miniCssF(e),t=b.p+d;if(((e,a)=>{for(var c=document.getElementsByTagName("link"),d=0;d<c.length;d++){var t=(r=c[d]).getAttribute("data-href")||r.getAttribute("href");if("stylesheet"===r.rel&&(t===e||t===a))return r}var f=document.getElementsByTagName("style");for(d=0;d<f.length;d++){var r;if((t=(r=f[d]).getAttribute("data-href"))===e||t===a)return r}})(d,t))return a();((e,a,c,d,t)=>{var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",b.nc&&(f.nonce=b.nc),f.onerror=f.onload=c=>{if(f.onerror=f.onload=null,"load"===c.type)d();else{var r=c&&c.type,b=c&&c.target&&c.target.href||a,n=new Error("Loading CSS chunk "+e+" failed.\n("+r+": "+b+")");n.name="ChunkLoadError",n.code="CSS_CHUNK_LOAD_FAILED",n.type=r,n.request=b,f.parentNode&&f.parentNode.removeChild(f),t(n)}},f.href=a,document.head.appendChild(f)})(e,t,0,a,c)})))(a).then((()=>{e[a]=0}),(c=>{throw delete e[a],c})))}}})(),(()=>{var e={9121:0};b.f.j=(a,c)=>{var d=b.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(3872|5040|5557|6193|628|8739|9121)$/.test(a))e[a]=0;else{var t=new Promise(((c,t)=>d=e[a]=[c,t]));c.push(d[2]=t);var f=b.p+b.u(a),r=new Error;b.l(f,(c=>{if(b.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var t=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;r.message="Loading chunk "+a+" failed.\n("+t+": "+f+")",r.name="ChunkLoadError",r.type=t,r.request=f,d[1](r)}}),"chunk-"+a,a)}},b.O.j=a=>0===e[a];var a=(a,c)=>{var d,t,[f,r,n]=c,o=0;if(f.some((a=>0!==e[a]))){for(d in r)b.o(r,d)&&(b.m[d]=r[d]);if(n)var i=n(b)}for(a&&a(c);o<f.length;o++)t=f[o],b.o(e,t)&&e[t]&&e[t][0](),e[t]=0;return b.O(i)},c=self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
|
2
|
+
//# sourceMappingURL=runtime.7a55c14e.js.map
|