@deephaven/embed-widget 0.60.0 → 0.60.1-alpha.4

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.
@@ -0,0 +1,27 @@
1
+ import{ag as or,ah as ol,ai as ll,aj as dl,ak as ul,C as d,F as J,r as p,al as lr,am as hl,V as _,E as Z,an as Vn,G as X,ao as Cn,ap as Ns,a9 as te,aq as Sn,a8 as Ls,K as Je,U as Et,R as Ds,ar as qi,as as Ke,D as Yi,L as Ue,at as Ms,au as cl,a6 as Fs,X as Gn}from"./vendor-82590ed9.js";import{bZ as vl,b_ as pl,b$ as ml,c0 as fl,c1 as gl,c2 as bl,c3 as Cl,c4 as Sl,c5 as El,c6 as yl,c7 as dr,$ as _t,k as Pl,e as xs,B as k,N as Ie,w as oe,K as re,c8 as wl,bh as Be,G as Dn,i as Q,c9 as qe,ca as Is,H as zt,C as Tl,f as Wt,S as Rs,cb as Tt,T as wt,cc as ks,cd as js,I as Zi,X as Ol,aN as ci,c as Nl,u as Ll,aL as Dl,P as Ml,aO as M,aR as le,q as Fl,b0 as As,b9 as ot,a_ as Ot,n as Ar,Q as _s,ce as $s,aM as _r,aE as Us,bJ as je,aF as Hs,ba as Vs,a1 as xl,aS as Il,o as ur,ah as Ae,ad as $r,a8 as Gs,ac as Ur,cf as En,R as Hr,l as Mn,z as Bs,s as Rl,E as kl,F as Vr,bl as jl,bU as ki,bA as mt,bk as vi,aY as Al,bE as _l,b8 as $l,cg as Ul,aG as yn,b4 as tn,aQ as me,ch as Hl,a$ as Vl,aP as ln,bB as hr,ci as Gl,cj as Bl,ck as Wl,cl as pn,a9 as Kl,b6 as zl,bc as ql,b5 as Yl}from"./IrisGridModelFactory-e3b194b2.js";import{L as z,R as Zl,U as Ws,V as cr,X as vr,n as Ks,e as Xl,h as I,Y as Bt,Z as Ql,_ as Gr,$ as Jl,a0 as ed,a1 as td,a2 as nd,v as Rn,a3 as pr,a4 as zs,c as Pn,a as pi,a5 as Xi,a6 as id,a7 as rd,a8 as Br,a9 as ri,aa as Wr,ab as qs,ac as ad,ad as mi,ae as sd,T as Qi,af as od,ag as ld,ah as dd,ai as ud,aj as hd,M as Ys,o as Zs,b as Xs,ak as cd,al as Qs,am as vd,an as Js,ao as eo,ap as Kr,aq as pd,ar as md,as as fd,at as gd,au as bd,av as Cd,aw as Sd}from"./index-5e995519.js";import{P as ge,t as Ed,r as zr,g as yd,C as Pd,u as wd,e as Nt,s as to,o as Td,n as Od,q as Nd}from"./usePlugins-5caea7c7.js";import"./helpers-de833af9.js";import"./plotly-267a5239.js";function qr(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ld(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qr(Object(t),!0).forEach(function(n){Dd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):qr(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Dd(i,e,t){return e=Md(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Md(i){var e=Fd(i,"string");return typeof e=="symbol"?e:String(e)}function Fd(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var xd=Object.freeze({}),Id=new Map,no=i=>i.api,Rd=i=>i.user,io=i=>i.storage,ro=i=>io(i).commandHistoryStorage,ao=i=>io(i).fileStorage,kd=i=>i.defaultWorkspaceSettings,so=i=>{var{workspace:e}=i;return e},kn=i=>{for(var e=so(i).data.settings,t=Ld({},kd(i)),n=Object.keys(e),r=0;r<n.length;r+=1){var a=n[r];e[a]!==void 0&&(t[a]=e[a])}return t},mr=i=>kn(i).timeZone,jd=i=>{var e;return(e=kn(i).defaultNotebookSettings)!==null&&e!==void 0?e:xd},fr=i=>i.activeTool,Ad=i=>{var e;return(e=i.plugins)!==null&&e!==void 0?e:Id};function Yr(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ji(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yr(Object(t),!0).forEach(function(n){_d(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Yr(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function _d(i,e,t){return e=$d(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $d(i){var e=Ud(i,"string");return typeof e=="symbol"?e:String(e)}function Ud(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function oo(i,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case i:{var r=n.payload;return r==null?null:t!=null?ji(ji({},t),r):ji({},r)}default:return t}}}function Lt(i,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case i:return n.payload;default:return t}}}const Hd=Lt(vl,null),Vd=Lt(pl,null),Gd=Lt(ml,null),Bd=Lt(fl,null),Wd=Lt(gl,null),Kd=Lt(bl,null),zd=or({commandHistoryStorage:Bd,fileStorage:Wd,workspaceStorage:Kd}),qd=oo(Cl,null),Yd=oo(Sl,null),Zd=Lt(El,null),Xd=Lt(yl,null);var Qd={activeTool:Vd,api:Hd,plugins:Gd,storage:zd,user:qd,workspace:Yd,defaultWorkspaceSettings:Zd,serverConfigValues:Xd};const Jd=Qd;var Zr=z.module("redux-logger"),eu=i=>e=>t=>{Zr.debug("dispatching",t);var n=e(t);return Zr.debug("next state",i.getState()),n};const tu=eu;var nu=z.module("redux-crashReporter"),iu=i=>e=>t=>{try{return e(t)}catch(n){throw nu.error("Error executing",t," with state ",i.getState(),":",n),n}};const ru=iu,au=[tu,ru,ol];var Ai;Object.entries(Jd).map(i=>{var[e,t]=i;return dr.register(e,t)});var su=(Ai=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)!==null&&Ai!==void 0?Ai:ul,lo=ll(or(dr.reducers),su(dl(...au)));dr.setListener(i=>{lo.replaceReducer(or(i))});const ou=lo;function lu(i){var{type:e}=i,t=_t();switch(e){case t.VariableType.TABLE:case t.VariableType.TABLEMAP:case t.VariableType.TREETABLE:case t.VariableType.HIERARCHICALTABLE:case t.VariableType.PARTITIONEDTABLE:return d.jsx(J,{icon:vr});case t.VariableType.FIGURE:return d.jsx(J,{icon:cr});case t.VariableType.PANDAS:return d.jsx(J,{icon:Ws});default:return d.jsx(J,{icon:Zl})}}function Xr(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function du(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Xr(a,n,r,s,o,"next",l)}function o(l){Xr(a,n,r,s,o,"throw",l)}s(void 0)})}}function fi(i){var{children:e,language:t}=i,[n,r]=p.useState(null),{activeThemes:a}=Pl();return p.useEffect(()=>{var s=!1;function o(){return l.apply(this,arguments)}function l(){return l=du(function*(){if(e!=null&&a!=null){var u=yield lr.colorize(e.toString(),t,{});s||r(u)}}),l.apply(this,arguments)}return o(),()=>{s=!0}},[a,e,t]),d.jsx("div",{style:{pointerEvents:"none"},dangerouslySetInnerHTML:n!=null?{__html:n}:void 0})}class uu{static get LANGUAGE_MAP(){return new Map([["python","Python"],["groovy","Groovy"],["scala","Scala"]])}}const uo=uu;class ai{static hasComment(e){return e.comment!==void 0}static hasPattern(e){return e.pattern!==void 0}static hasOp(e){return e.op!==void 0}static parseArguments(e){return e==null||!(typeof e=="string"||e instanceof String)?[]:hl.parse(e).filter(t=>!this.hasComment(t)).map(t=>this.hasPattern(t)?t.pattern:this.hasOp(t)?t.op:"".concat(t))}static formatTimestamp(e){if(e==null||!(e instanceof Date))return null;var t="".concat(e.getHours()).padStart(2,"0"),n="".concat(e.getMinutes()).padStart(2,"0"),r="".concat(e.getSeconds()).padStart(2,"0"),a="".concat(e.getMilliseconds()).padStart(3,"0");return"".concat(t,":").concat(n,":").concat(r,".").concat(a)}static isTableType(e,t){return t===e.VariableType.TABLE||t===e.VariableType.TREETABLE||t===e.VariableType.HIERARCHICALTABLE||t===e.VariableType.PARTITIONEDTABLE}static isWidgetType(e,t){return t===e.VariableType.FIGURE||t===e.VariableType.OTHERWIDGET||t===e.VariableType.PANDAS}static isOpenableType(e,t){return ai.isTableType(e,t)||ai.isWidgetType(e,t)}static isFigureType(e,t){return t===e.VariableType.FIGURE}static isPandas(e,t){return t===e.VariableType.PANDAS}}const Ji=ai;function ho(i){var{children:e}=i;return d.jsxs("div",{className:"console-history-item-result",children:[d.jsx("div",{className:"console-history-gutter",children:"-"}),d.jsx("div",{className:"console-history-content",children:e})]})}ho.propTypes={children:_.node.isRequired};function er(i,e,t){return e=hu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hu(i){var e=cu(i,"string");return typeof e=="symbol"?e:String(e)}function cu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class co extends p.Component{constructor(e){super(e),er(this,"timer",void 0),er(this,"startTime",void 0),this.updateElapsed=this.updateElapsed.bind(this),this.startTime=Date.now(),this.state={elapsed:0}}componentDidMount(){this.timer=setInterval(this.updateElapsed,1e3)}componentWillUnmount(){this.timer&&clearInterval(this.timer),this.timer=void 0}updateElapsed(){this.setState({elapsed:Math.round((Date.now()-this.startTime)/1e3)})}render(){var{disabled:e,onCancelClick:t}=this.props,{elapsed:n}=this.state;return d.jsx("div",{className:Z("console-history-result-in-progress",{disabled:e}),children:d.jsxs("span",{className:"badge",children:[d.jsx(Ks,{className:"ml-2"}),"Running... ",xs.formatElapsedTime(n)," ",d.jsx(k,{className:"console-history-result-in-progress-cancel",kind:"ghost",icon:Xl,tooltip:"Cancel",onClick:t,disabled:e})]})})}}er(co,"defaultProps",{disabled:!1});const vu=co;function wn(i,e,t){return e=pu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pu(i){var e=mu(i,"string");return typeof e=="symbol"?e:String(e)}function mu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class qt extends p.PureComponent{constructor(e){super(e),wn(this,"mouseX",void 0),wn(this,"mouseY",void 0),wn(this,"isClicking",void 0),this.handleKeyPress=this.handleKeyPress.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleToggleError=this.handleToggleError.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.mouseX=null,this.mouseY=null,this.isClicking=!1,this.state={isExpanded:!1,isTriggerHovered:!1}}handleKeyPress(e){switch(e.key){case"Enter":case" ":this.handleToggleError(),e.stopPropagation(),e.preventDefault();break}}handleMouseDown(e){this.mouseX=e.clientX,this.mouseY=e.clientY,this.isClicking=!0}handleMouseMove(e){this.mouseX!=null&&this.mouseY!=null?(Math.abs(e.clientX-this.mouseX)>=qt.mouseDragThreshold||Math.abs(e.clientY-this.mouseY)>=qt.mouseDragThreshold)&&(this.isClicking=!1):this.isClicking&&(this.isClicking=!1)}handleMouseUp(e){this.isClicking&&!e.shiftKey&&!e.metaKey&&!e.altKey&&this.handleToggleError(),this.mouseX=null,this.mouseY=null,this.isClicking=!1}handleToggleError(){this.setState(e=>({isExpanded:!e.isExpanded}))}handleMouseEnter(){this.setState({isTriggerHovered:!0})}handleMouseLeave(){this.setState({isTriggerHovered:!1})}render(){var{isExpanded:e,isTriggerHovered:t}=this.state,{message:n}=this.props;I(n);var r=n.indexOf(`
2
+ `),a=r>-1,s=n;a&&(s=n.slice(0,r));var o=n.slice(r),l=t?"error-btn-link error-btn-link--active":"error-btn-link";return d.jsxs("div",{className:Z("error-message",{expanded:e}),children:[a&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"error-gutter",children:d.jsx("button",{type:"button",onClick:this.handleToggleError,className:l,tabIndex:-1,children:d.jsx(J,{icon:e?Bt:Ql,transform:"left-3"})})}),d.jsxs("div",{className:"error-content",children:[d.jsx("div",{className:"console-error-text-trigger",role:"button",tabIndex:0,onKeyPress:this.handleKeyPress,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onMouseUp:this.handleMouseUp,children:s}),e?o:""]})]}),!a&&d.jsx("div",{className:"error-content",children:d.jsx("div",{className:"console-error-text",children:s})})]},"error")}}wn(qt,"defaultProps",{message:""});wn(qt,"mouseDragThreshold",5);const fu=qt;function gu(i,e,t){return e=bu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bu(i){var e=Cu(i,"string");return typeof e=="symbol"?e:String(e)}function Cu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Qr=z.module("ConsoleHistoryItem");class vo extends p.PureComponent{constructor(e){super(e),this.handleCancelClick=this.handleCancelClick.bind(this),this.handleObjectClick=this.handleObjectClick.bind(this)}handleObjectClick(e){Qr.debug("handleObjectClick",e);var{openObject:t}=this.props;t(e)}handleCancelClick(){var{item:e}=this.props;e!=null&&e.cancelResult&&(Qr.debug("Cancelling command: ".concat(e.command)),e.cancelResult())}render(){var{disabled:e,item:t,language:n,iconForType:r}=this.props,{disabledObjects:a,result:s}=t,o=t.command!=null&&t.command!=="",l=null;o&&(l=d.jsxs("div",{className:"console-history-item-command",children:[d.jsx("div",{className:"console-history-gutter",children:">"}),d.jsx("div",{className:"console-history-content",children:d.jsx(fi,{language:n,children:t.command})})]}));var u=[],h=!1;if(s){var{error:c,message:v,changes:m}=s;if(m){var{created:g,updated:b}=m;[...g,...b].forEach(x=>{h=!0;var{title:L}=x,F="".concat(L),N=e===void 0||e||(a??[]).indexOf(F)>=0,A=d.jsx(k,{kind:"primary",onClick:()=>this.handleObjectClick(x),className:"btn-console-object",disabled:N,icon:r(x.type),children:L},F);u.push(A)})}if(c!=null&&!o){var f,C="".concat((f=c.message)!==null&&f!==void 0?f:c);C||(C=c);var E=d.jsx(fu,{message:C},"result-error");u.push(E)}if(v!==void 0&&v!==""){var S=d.jsx("div",{className:"log-message",children:v},"log-message");u.push(S)}}else{h=!0;var y=d.jsx(vu,{onCancelClick:this.handleCancelClick,disabled:e},"in_progress");u.push(y)}var O=null;return u.length>0&&(O=d.jsx(ho,{children:u})),d.jsxs("div",{className:Z("console-command-result",{"console-result-buttons":h}),children:[l,O]})}}gu(vo,"defaultProps",{disabled:!1});const Su=vo;function Eu(i,e){return"".concat(i,".").concat(e.command,".").concat(e.result&&e.result.message,".").concat(e.result&&e.result.error)}function yu(i){for(var{disabled:e=!1,items:t,language:n,openObject:r,supportsType:a,iconForType:s}=i,o=[],l=0;l<t.length;l+=1){var u=t[l],h=d.jsx(Su,{disabled:e,item:u,openObject:r,language:n,supportsType:a,iconForType:s},Eu(l,u));o.push(h)}return d.jsx("div",{className:"container-fluid console-history",children:o})}var Pu={name:"Console",CLEAR:Ie.createAndAdd({id:"CONSOLE.CLEAR",name:"Clear",shortcut:[oe.CTRL,re.L],macShortcut:[oe.CTRL,re.C]}),FOCUS_HISTORY:Ie.createAndAdd({id:"CONSOLE.FOCUS_HISTORY",name:"Focus History",shortcut:[oe.CTRL,re.H],macShortcut:[oe.CTRL,oe.OPTION,re.H]})},wu={name:"Command History",FOCUS_HISTORY:Ie.createAndAdd({id:"COMMAND_HISTORY.FOCUS_HISTORY",name:"Focus History Search",shortcut:[oe.CTRL,re.H],macShortcut:[oe.CTRL,oe.OPTION,re.H]}),SEND_TO_CONSOLE:Ie.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_CONSOLE",name:"Send to Console",shortcut:[re.ENTER],macShortcut:[re.ENTER]}),SEND_TO_NOTEBOOK:Ie.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_NOTEBOOK",name:"Send to Notebook",shortcut:[oe.CTRL,re.ENTER],macShortcut:[oe.CMD,re.ENTER]}),RUN:Ie.createAndAdd({id:"COMMAND_HISTORY.RUN",name:"Run",shortcut:[oe.ALT,re.R],macShortcut:[oe.OPTION,re.R]})},Tu={name:"Notebook",RUN:Ie.createAndAdd({id:"NOTEBOOK.RUN",name:"Run",shortcut:[oe.ALT,re.R],macShortcut:[oe.OPTION,re.R]}),RUN_SELECTED:Ie.createAndAdd({id:"NOTEBOOK.RUN_SELECTED",name:"Run Selected",shortcut:[oe.ALT,oe.SHIFT,re.R],macShortcut:[oe.OPTION,oe.SHIFT,re.R]}),FIND:Ie.createAndAdd({id:"NOTEBOOK.FIND",name:"Find",shortcut:[oe.CTRL,re.F],macShortcut:[oe.CMD,re.F],isEditable:!1}),MINIMAP:Ie.createAndAdd({id:"NOTEBOOK.MINIMAP",name:"Show Minimap",shortcut:[oe.ALT,re.M],macShortcut:[oe.OPTION,re.M]}),WORDWRAP:Ie.createAndAdd({id:"NOTEBOOK.WORDWRAP",name:"Word Wrap",shortcut:[oe.ALT,re.Z],macShortcut:[oe.OPTION,re.Z]})},Ou={CONSOLE:Pu,COMMAND_HISTORY:wu,NOTEBOOK:Tu};const xe=Ou,we=Object.freeze({FATAL:"FATAL",STDERR:"STDERR",ERROR:"ERROR",WARN:"WARN",STDOUT:"STDOUT",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"});function _i(i,e,t){return e=Nu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Nu(i){var e=Lu(i,"string");return typeof e=="symbol"?e:String(e)}function Lu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var dt=z.module("MonacoCompletionProvider");class Rt extends p.PureComponent{static lspToMonacoKind(e){var t=Vn.CompletionItemKind;switch(e){case 1:return t.Text;case 2:return t.Method;case 3:return t.Function;case 4:return t.Constructor;case 5:return t.Field;case 6:return t.Variable;case 7:return t.Class;case 8:return t.Interface;case 9:return t.Module;case 10:return t.Property;case 11:return t.Unit;case 12:return t.Value;case 13:return t.Enum;case 14:return t.Keyword;case 15:return t.Snippet;case 16:return t.Color;case 17:return t.File;case 18:return t.Reference;case 19:return t.Folder;case 20:return t.EnumMember;case 21:return t.Constant;case 22:return t.Struct;case 23:return t.Event;case 24:return t.Operator;case 25:return t.TypeParameter;default:return t.Variable}}static lspToMonacoRange(e){var{start:t,end:n}=e;return{startLineNumber:t.line+1,startColumn:t.character+1,endLineNumber:n.line+1,endColumn:n.character+1}}static monacoToLspPosition(e){return{line:e.lineNumber-1,character:e.column-1}}constructor(e){super(e),_i(this,"registeredCompletionProvider",void 0),_i(this,"registeredSignatureProvider",void 0),_i(this,"registeredHoverProvider",void 0),this.handleCompletionRequest=this.handleCompletionRequest.bind(this),this.handleSignatureRequest=this.handleSignatureRequest.bind(this),this.handleHoverRequest=this.handleHoverRequest.bind(this)}componentDidMount(){var{language:e,session:t}=this.props;this.registeredCompletionProvider=Vn.registerCompletionItemProvider(e,{provideCompletionItems:this.handleCompletionRequest,triggerCharacters:[".",'"',"'"]}),t.getSignatureHelp&&(this.registeredSignatureProvider=Vn.registerSignatureHelpProvider(e,{provideSignatureHelp:this.handleSignatureRequest,signatureHelpTriggerCharacters:["(",","]})),t.getHover&&(this.registeredHoverProvider=Vn.registerHoverProvider(e,{provideHover:this.handleHoverRequest}))}componentWillUnmount(){var e,t,n;(e=this.registeredCompletionProvider)===null||e===void 0||e.dispose(),(t=this.registeredSignatureProvider)===null||t===void 0||t.dispose(),(n=this.registeredHoverProvider)===null||n===void 0||n.dispose()}handleCompletionRequest(e,t,n){var{model:r,session:a}=this.props;if(e!==r)return null;var s={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:Rt.monacoToLspPosition(t),context:n},o=a.getCompletionItems(s);dt.debug("Requested completion items",s);var l=o.then(u=>{dt.debug("Completion items received: ",s,u);var h=u.map(c=>{var{label:v,kind:m,detail:g,documentation:b,sortText:f,filterText:C,textEdit:E,insertTextFormat:S}=c;return{label:v,kind:Rt.lspToMonacoKind(m),detail:g,documentation:(b==null?void 0:b.kind)==="markdown"?b:b==null?void 0:b.value,sortText:f,filterText:C,insertText:E.text,insertTextRules:S===2?4:S,range:Rt.lspToMonacoRange(E.range)}});return{incomplete:!0,suggestions:h}}).catch(u=>(dt.error("There was an error retrieving completion items",u),{suggestions:[]}));return l}handleSignatureRequest(e,t,n,r){var a={value:{signatures:[],activeSignature:0,activeParameter:0},dispose:()=>{}},{model:s,session:o}=this.props;if(e!==s||!o.getSignatureHelp)return null;var l={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:Rt.monacoToLspPosition(t),context:r},u=o.getSignatureHelp(l);dt.debug("Requested signature help",l);var h=u.then(c=>{dt.debug("Signatures received: ",l,u);var v=c.map(g=>{var{label:b,documentation:f,parameters:C}=g;return{documentation:(f==null?void 0:f.kind)==="markdown"?f:f==null?void 0:f.value,label:b,parameters:C??[]}});if(v.length===0)return a;var m=0;return{value:{signatures:v,activeSignature:m,activeParameter:c[m].activeParameter},dispose:()=>{}}}).catch(c=>(dt.error("There was an error retrieving completion items",c),a));return h}handleHoverRequest(e,t){var{model:n,session:r}=this.props;if(e!==n||!r.getHover)return null;var a={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:Rt.monacoToLspPosition(t)},s=r.getHover(a);dt.debug("Requested hover",a);var o=s.then(l=>{dt.debug("Hover received: ",a,l);var{contents:u}=l;return{contents:u?[u]:[]}}).catch(l=>(dt.error("There was an error retrieving hover",l),{contents:[]}));return o}render(){return null}}const po=Rt;function Jr(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function Du(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Jr(a,n,r,s,o,"next",l)}function o(l){Jr(a,n,r,s,o,"throw",l)}s(void 0)})}}function _e(i,e,t){return e=Mu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Mu(i){var e=Fu(i,"string");return typeof e=="symbol"?e:String(e)}function Fu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var $i=z.module("ConsoleInput"),si=parseInt(wl["line-height"],10),mo=6,fo=6,xu=si+mo+fo,Ui=100;class jn extends p.PureComponent{constructor(e){super(e),_e(this,"cancelListener",void 0),_e(this,"resizeObserver",void 0),_e(this,"commandContainer",void 0),_e(this,"commandEditor",void 0),_e(this,"commandHistoryIndex",void 0),_e(this,"commandSuggestionContainer",void 0),_e(this,"loadingPromise",void 0),_e(this,"timestamp",void 0),_e(this,"bufferIndex",void 0),_e(this,"history",void 0),_e(this,"modifiedCommands",void 0),this.handleResize=this.handleResize.bind(this),this.commandContainer=X.createRef(),this.commandHistoryIndex=null,this.timestamp=Date.now(),this.bufferIndex=0,this.history=[],this.modifiedCommands=new Map,this.resizeObserver=new window.ResizeObserver(this.handleResize),this.state={commandEditorHeight:si,isFocused:!1,model:null}}componentDidMount(){this.initCommandEditor(),this.loadMoreHistory()}componentDidUpdate(){this.layoutEditor()}componentWillUnmount(){this.resizeObserver.disconnect(),this.loadingPromise!=null&&this.loadingPromise.cancel(),this.destroyCommandEditor()}setConsoleText(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(e){if($i.debug("Command received: ",e),!n){var r;this.commandHistoryIndex=null,(r=this.commandEditor)===null||r===void 0||r.setValue(e)}t&&this.focusEnd(),this.updateDimensions(),n&&this.processCommand(e)}}initCommandEditor(){var{language:e,session:t}=this.props,n={copyWithSyntaxHighlighting:!1,cursorStyle:"block",fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:e,lineHeight:si,lineDecorationsWidth:3,lineNumbers:"off",minimap:{enabled:!1},renderLineHighlight:"none",scrollBeyondLastLine:!1,scrollbar:{arrowSize:0,horizontal:"hidden",horizontalScrollbarSize:0},padding:{top:mo,bottom:fo},value:"",wordWrap:"on"},r=this.commandContainer.current;I(r),this.commandEditor=lr.create(r,n),Be.setEOL(this.commandEditor),Be.openDocument(this.commandEditor,t),this.commandEditor.onDidChangeModelContent(()=>{var a,s=(a=this.commandEditor)===null||a===void 0?void 0:a.getValue();this.modifiedCommands.set(this.commandHistoryIndex,s??null),this.updateDimensions()}),this.commandEditor.onDidFocusEditorText(()=>{this.setState({isFocused:!0})}),this.commandEditor.onDidBlurEditorText(()=>{this.setState({isFocused:!1})}),this.commandEditor.onKeyDown(a=>{var{commandEditor:s,commandHistoryIndex:o}=this,l=s==null?void 0:s.getPosition();I(l);var{lineNumber:u}=l,h=s==null?void 0:s.getModel();if(a.code==="ArrowUp"&&!this.isSuggestionMenuPopulated()&&u===1){o!=null?this.loadCommand(o+1):this.loadCommand(0),this.focusStart(),a.stopPropagation(),a.preventDefault();return}if(a.code==="ArrowDown"&&!this.isSuggestionMenuPopulated()&&u===(h==null?void 0:h.getLineCount())){o!=null&&o>0?this.loadCommand(o-1):this.loadCommand(null),this.focusEnd(),a.stopPropagation(),a.preventDefault();return}if(!a.altKey&&!a.shiftKey&&!a.metaKey&&a.keyCode===Cn.Enter&&!this.isSuggestionMenuPopulated()){var c;a.stopPropagation(),a.preventDefault();var v=(c=this.commandEditor)===null||c===void 0?void 0:c.getValue().trim();if(v!==void 0){var m;this.processCommand(v),(m=this.commandEditor)===null||m===void 0||m.setValue("")}}}),Be.disableKeyBindings(this.commandEditor,[Ns.CtrlCmd|Cn.KeyF]),Be.registerPasteHandler(this.commandEditor),this.commandEditor.focus(),this.resizeObserver.observe(r),this.updateDimensions(),this.setState({model:this.commandEditor.getModel()})}destroyCommandEditor(){var{session:e}=this.props;this.commandEditor&&(Be.closeDocument(this.commandEditor,e),this.commandEditor.dispose(),this.commandEditor=void 0)}handleResize(){this.updateDimensions()}isSuggestionMenuActive(){var e;if(!this.commandSuggestionContainer){var t,n;this.commandSuggestionContainer=(t=this.commandEditor)===null||t===void 0||(n=t.getDomNode())===null||n===void 0?void 0:n.querySelector(".suggest-widget")}return(e=this.commandSuggestionContainer&&this.commandSuggestionContainer.classList.contains("visible"))!==null&&e!==void 0?e:!1}isSuggestionMenuPopulated(){var e,t,n;return this.isSuggestionMenuActive()&&((e=(t=this.commandSuggestionContainer)===null||t===void 0||(n=t.querySelector(".monaco-list-rows"))===null||n===void 0?void 0:n.childElementCount)!==null&&e!==void 0?e:0)>0}focus(){var e;(e=this.commandEditor)===null||e===void 0||e.focus()}focusStart(){var e,t,n,r,a,s=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();I(s);var o=s.getLineLength(1)+1,l=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(1,o);I(l),(n=this.commandEditor)===null||n===void 0||n.setPosition({lineNumber:1,column:o}),(r=this.commandEditor)===null||r===void 0||r.setScrollTop(l),(a=this.commandEditor)===null||a===void 0||a.focus()}focusEnd(){var e,t,n,r,a,s=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();I(s);var o=s.getLineCount(),l=s.getLineLength(o)+1,u=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(o,l);I(u),(n=this.commandEditor)===null||n===void 0||n.setPosition({lineNumber:o,column:l}),(r=this.commandEditor)===null||r===void 0||r.setScrollTop(u),(a=this.commandEditor)===null||a===void 0||a.focus()}clear(){var e,t,n;(e=this.commandEditor)===null||e===void 0||e.focus(),(t=this.commandEditor)===null||t===void 0||(n=t.getModel())===null||n===void 0||n.setValue(""),this.commandHistoryIndex=null}layoutEditor(){this.commandEditor&&this.commandEditor.layout()}loadCommand(e){var t,n;if(!(e!==null&&e>=this.history.length)){var r=this.modifiedCommands.get(e),a=e===null?"":this.history[this.history.length-e-1];this.commandHistoryIndex=e,(t=this.commandEditor)===null||t===void 0||(n=t.getModel())===null||n===void 0||n.setValue(r??a),e!==null&&e>this.history.length-Ui&&this.loadMoreHistory()}}loadMoreHistory(){var e=this;return Du(function*(){try{if(e.loadingPromise!=null||e.bufferIndex==null)return;var{commandHistoryStorage:t,language:n,scope:r}=e.props;e.loadingPromise=ge.makeCancelable(t.getTable(n,r??"",e.timestamp),o=>o.close());var a=yield e.loadingPromise;a.setReversed(!0),a.setViewport({top:e.bufferIndex,bottom:e.bufferIndex+Ui-1}),e.loadingPromise=ge.makeCancelable(a.getViewportData(),()=>a.close());var s=yield e.loadingPromise;e.bufferIndex+=Ui,e.bufferIndex>=a.size&&(e.bufferIndex=null),e.history=[...s.items.filter((o,l,u)=>{var{name:h}=o;return l===0||h!==u[l-1].name}).map(o=>{var{name:l}=o;return l}).reverse(),...e.history],e.loadingPromise=void 0,a.close()}catch(o){if(e.loadingPromise=void 0,ge.isCanceled(o)){$i.debug2("Promise canceled, not loading history");return}$i.error("Error fetching history",o)}})()}processCommand(e){this.commandHistoryIndex=null,this.modifiedCommands.clear(),I(e),e!==""&&(this.history.length===0||e!==this.history[this.history.length-1])&&this.history.push(e),this.updateDimensions();var{onSubmit:t}=this.props;t(e)}updateDimensions(){if(this.commandEditor){var{maxHeight:e}=this.props;I(e);var t=this.commandEditor.getContentHeight(),n=Math.max(Math.min(t,e),xu),r=t>n,a={overviewRulerLanes:r?void 0:0};this.setState({commandEditorHeight:n},()=>{var s,o;(s=this.commandEditor)===null||s===void 0||s.updateOptions(a),(o=this.commandEditor)===null||o===void 0||o.layout()})}}render(){var{disabled:e,language:t,session:n}=this.props,{commandEditorHeight:r,isFocused:a,model:s}=this.state;return d.jsx("div",{className:Z("console-input-wrapper",{disabled:e}),children:d.jsxs("div",{className:Z("console-input-inner-wrapper",{focus:a}),children:[d.jsx("div",{className:jn.INPUT_CLASS_NAME,ref:this.commandContainer,style:{height:r}}),s&&d.jsx(po,{model:s,language:t,session:n})]})})}}_e(jn,"defaultProps",{maxHeight:si*10,scope:null,disabled:!1});_e(jn,"INPUT_CLASS_NAME","console-input");const ea=jn;function yt(i,e,t){return e=Iu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Iu(i){var e=Ru(i,"string");return typeof e=="symbol"?e:String(e)}function Ru(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ta="pasted values",ku=[/^audio.*/,/^font.*/,/^image.*/,/^video.*/],Hi=[".csv",".tsv",".tab",".psv",".dsv",".txt"],na=[".zip"];class st extends p.Component{static isValidDropItem(e){return e!=null&&e.kind==="file"&&!ku.find(t=>t.test(e.type))}static isValidExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Hi.some(n=>e.endsWith(n))||t&&na.some(n=>e.endsWith(n))}static handleDragOver(e){e.preventDefault(),e.stopPropagation()}static getIcon(e){return e===ta?Gr:e.endsWith(".csv")?Jl:e.endsWith(".zip")?ed:td}constructor(e){super(e),yt(this,"fileElem",void 0),yt(this,"divElem",void 0),yt(this,"getValidExtensions",te(t=>t?[...Hi,...na]:[...Hi])),yt(this,"getAcceptString",te(t=>this.getValidExtensions(t).join(", "))),yt(this,"getFileTypeErrorString",te(t=>qe.join(this.getValidExtensions(t),"or"))),this.handleSelectFile=this.handleSelectFile.bind(this),this.handleFiles=this.handleFiles.bind(this),this.handleDrop=this.handleDrop.bind(this),this.unstageFile=this.unstageFile.bind(this),this.handleMenuPaste=this.handleMenuPaste.bind(this),this.handlePasteEvent=this.handlePasteEvent.bind(this),this.fileElem=X.createRef(),this.divElem=X.createRef(),this.state={selectedFileName:""}}componentDidMount(){var e,t;(e=this.divElem.current)===null||e===void 0||e.addEventListener("paste",this.handlePasteEvent),(t=this.divElem.current)===null||t===void 0||t.focus()}componentWillUnmount(){var e;(e=this.divElem.current)===null||e===void 0||e.removeEventListener("paste",this.handlePasteEvent)}handleSelectFile(){if(this.fileElem.current){var e;this.fileElem.current.value="",(e=this.fileElem.current)===null||e===void 0||e.click()}}handleFiles(e){e.stopPropagation(),e.preventDefault();var{files:t}=e.target;t!=null&&this.handleFile(t[0])}handleDrop(e){var{allowZip:t,clearDragError:n,dragError:r}=this.props;if(e.preventDefault(),e.stopPropagation(),r!=null){n();return}if(!(e.dataTransfer==null||e.dataTransfer.items==null||e.dataTransfer.items.length===0)){var a=e.dataTransfer.items[0].getAsFile();I(a),st.isValidExtension(a.name,t)?this.handleFile(a):this.setState({dropError:st.FILE_TYPE_ERROR})}}unstageFile(e){var{onCancel:t}=this.props;e.stopPropagation(),e.preventDefault(),t(),this.setState({selectedFileName:"",dropError:void 0})}handleFile(e){var{onFileOpened:t}=this.props;t(e),this.setState({selectedFileName:e.name,dropError:void 0})}handleMenuPaste(){var{onPaste:e,onError:t,uploadInProgress:n}=this.props;n||navigator.clipboard.readText().then(r=>{e(r),this.setState({selectedFileName:ta,dropError:void 0})}).catch(r=>t(r))}handlePasteEvent(e){e.stopPropagation(),e.preventDefault(),this.handleMenuPaste()}makeContextMenuItems(){var{uploadInProgress:e}=this.props;return[{title:"Paste",icon:Gr,action:this.handleMenuPaste,shortcut:Dn.PASTE,disabled:e}]}render(){var{allowZip:e,dragError:t,uploadInProgress:n}=this.props,{selectedFileName:r,dropError:a}=this.state,s=t??a,o=this.makeContextMenuItems();return d.jsxs("div",{ref:this.divElem,className:"csv-overlay fill-parent-absolute",onDragOver:st.handleDragOver,onDrop:this.handleDrop,tabIndex:-1,children:[d.jsx(Q,{actions:o}),d.jsx("input",{ref:this.fileElem,type:"file",id:"fileElem",accept:this.getAcceptString(e),style:{display:"none"},onChange:this.handleFiles,"data-testid":"fileElem"}),!r&&(s===void 0||s==="")&&d.jsxs("div",{className:"message-content",children:[d.jsx("div",{className:"message-icon",children:d.jsx(J,{icon:nd})}),d.jsx("label",{children:"Drop file (or paste values) here to import"}),d.jsx("div",{className:"message-small",children:d.jsx("label",{children:"or"})}),d.jsx(k,{kind:"primary",onClick:this.handleSelectFile,children:"Select File..."})]}),r&&(s===void 0||s==="")&&d.jsxs("div",{className:"selected-content",children:[d.jsx("div",{className:"selected-icon",children:d.jsx(J,{icon:st.getIcon(r)})}),d.jsxs("div",{className:"selected-text",children:[d.jsx("label",{children:"Selected File"}),d.jsxs("label",{className:"selected-name",children:[r,!n&&d.jsx(k,{kind:"ghost",className:"ml-2",onClick:this.unstageFile,icon:Rn,tooltip:"Remove"})]})]})]}),!!s&&d.jsxs("div",{className:"message-content",children:[d.jsx("div",{className:"message-icon",children:d.jsx(J,{icon:pr})}),d.jsx("label",{children:s}),s===st.FILE_TYPE_ERROR&&d.jsx("div",{className:"message-small",children:d.jsx("label",{children:this.getFileTypeErrorString(e)})})]})]})}}yt(st,"defaultProps",{allowZip:!1,dragError:null});yt(st,"MULTIPLE_FILE_ERROR","Please select only one file");yt(st,"FILE_TYPE_ERROR","Filetype not supported.");const Gt=st;function $t(i,e,t){return e=ju(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ju(i){var e=Au(i,"string");return typeof e=="symbol"?e:String(e)}function Au(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Dt{}$t(Dt,"INTEGER","int");$t(Dt,"LONG","long");$t(Dt,"DOUBLE","double");$t(Dt,"BOOLEAN","bool");$t(Dt,"STRING","string");$t(Dt,"DATE_TIME","datetime");$t(Dt,"LOCAL_TIME","localtime");const ne=Dt;function go(i,e){var t=i.internalStream("string");return t.readable=!0,t.read=()=>!1,t.removeListener=()=>!1,t.on("data",(n,r)=>e(r)),t}function ia(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ra(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ia(Object(t),!0).forEach(function(n){De(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ia(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function De(i,e,t){return e=_u(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _u(i){var e=$u(i,"string");return typeof e=="symbol"?e:String(e)}function $u(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var aa="unknown",Uu=2147483647,Hu=-2147483648,sa=/^[0-9]{4}-[0-1][0-9]-[0-3][0-9][ T][0-2][0-9]:[0-5][0-9]:[0-6][0-9](?:\.[0-9]{1,9})?(?: [a-zA-Z]+)?$/,oa=/^([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(?:\.[0-9]{1,9})?$/;class Oe{static determineType(e,t,n){if(!e||e===n)return t;switch(t){case ne.STRING:return ne.STRING;case ne.INTEGER:return Oe.checkInteger(e);case ne.LONG:return Oe.checkLong(e);case ne.DOUBLE:return Oe.checkDouble(e);case ne.BOOLEAN:return Oe.checkBoolean(e);case ne.DATE_TIME:return Oe.checkDateTime(e);case ne.LOCAL_TIME:return Oe.checkLocalTime(e);default:return Oe.getTypeFromUnknown(e)}}static isNotParsableNumber(e){return isNaN(e)||e==="Infinity"||e==="-Infinity"}static checkInteger(e){var t=e.replace(/,/g,"");return Oe.isNotParsableNumber(t)?ne.STRING:Oe.getNumberType(t)}static checkLong(e){var t=e.replace(/,/g,"");return Oe.isNotParsableNumber(t)?ne.STRING:t.includes(".")?ne.DOUBLE:ne.LONG}static checkDouble(e){var t=e.replace(/,/g,"");return Oe.isNotParsableNumber(t)?ne.STRING:ne.DOUBLE}static checkBoolean(e){var t=e.toLowerCase();return t==="true"||t==="false"?ne.BOOLEAN:ne.STRING}static checkDateTime(e){return sa.test(e)?ne.DATE_TIME:ne.STRING}static checkLocalTime(e){return oa.test(e)?ne.LOCAL_TIME:ne.STRING}static getTypeFromUnknown(e){var t=e.replace(/,/g,"");if(Oe.isNotParsableNumber(t)){var n=e.toLowerCase();return n==="true"||n==="false"?ne.BOOLEAN:sa.test(e)&&e.includes(":")?ne.DATE_TIME:oa.test(e)?ne.LOCAL_TIME:ne.STRING}return Oe.getNumberType(t)}static getNumberType(e){if(e.includes("."))return ne.DOUBLE;var t=e.startsWith("-")?11:10;if(e.length>t)return ne.LONG;var n=parseInt(e,10);return n>Uu||n<Hu?ne.LONG:ne.INTEGER}constructor(e,t,n,r,a,s,o,l,u,h){De(this,"onFileCompleted",void 0),De(this,"file",void 0),De(this,"readHeaders",void 0),De(this,"nullString",void 0),De(this,"onProgress",void 0),De(this,"onError",void 0),De(this,"types",void 0),De(this,"chunks",void 0),De(this,"totalChunks",void 0),De(this,"rowCount",void 0),De(this,"isZip",void 0),De(this,"shouldTrim",void 0),De(this,"zipProgress",void 0),De(this,"config",void 0),this.onFileCompleted=e,this.file=t,this.readHeaders=n,this.nullString=a,this.onProgress=s,this.onError=o,this.chunks=0,this.totalChunks=l,this.rowCount=0,this.isZip=u,this.shouldTrim=h,this.zipProgress=0,this.handleChunk=this.handleChunk.bind(this),this.handleComplete=this.handleComplete.bind(this),this.handleError=this.handleError.bind(this),this.handleNodeUpdate=this.handleNodeUpdate.bind(this),this.config=ra(ra({},r),{},{error:this.handleError,chunk:this.handleChunk,complete:this.handleComplete})}parse(){if(this.file instanceof File||this.file instanceof Blob)Sn.parse(this.file,this.config);else{var e=go(this.file,this.handleNodeUpdate);Sn.parse(e,this.config),e.resume()}}handleChunk(e,t){var{data:n}=e;if(!this.types){if(n==null||n.length===0){t.abort(),this.onError("Error parsing CSV: no data in file.");return}this.types=new Array(n[0].length).fill(aa),this.readHeaders&&(n=n.slice(1))}this.rowCount+=n.length,I(this.types);var r=[...this.types];n.forEach(o=>{if(o.length>=r.length){for(var l=0;l<r.length;l+=1)r[l]=Oe.determineType(this.shouldTrim?o[l].trim():o[l],r[l],this.nullString);this.types=r}else t.abort(),this.onError(`Error parsing CSV: Insufficient data in row.
3
+ Expected length `.concat(r.length," but found ").concat(o.length,`.
4
+ Row = `).concat(o))}),this.chunks+=1;var a=0;this.totalChunks>0?a=Math.round(this.chunks/this.totalChunks*50):a=Math.round(this.zipProgress/2);var s=this.onProgress(a);s&&t.abort()}handleComplete(e){var{types:t,onFileCompleted:n}=this;I(t),(e==null||!e.meta.aborted)&&n(t.map(r=>r===aa||r===ne.LOCAL_TIME?ne.STRING:r),this.rowCount)}handleError(e){var{onError:t}=this;t(e)}handleNodeUpdate(e){this.zipProgress=e.percent}}const Vu=Oe;function de(i,e,t){return e=Gu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gu(i){var e=Bu(i,"string");return typeof e=="symbol"?e:String(e)}function Bu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Bn=z.module("CsvParser"),Wu=650;class Yt{static generateHeaderRecursive(e){var t="",n=e;return e>=26&&(t=t.concat(Yt.generateHeaderRecursive(Math.floor(e/26)-1)),n=e%26),t.concat(String.fromCharCode(65+n))}constructor(e){var{onFileCompleted:t,session:n,file:r,type:a,readHeaders:s=!0,onProgress:o,onError:l,timeZone:u,isZip:h}=e;de(this,"onFileCompleted",void 0),de(this,"session",void 0),de(this,"file",void 0),de(this,"isZip",void 0),de(this,"type",void 0),de(this,"readHeaders",void 0),de(this,"timeZone",void 0),de(this,"onProgress",void 0),de(this,"onError",void 0),de(this,"tables",void 0),de(this,"headers",void 0),de(this,"types",void 0),de(this,"rowCount",void 0),de(this,"rowsProcessed",void 0),de(this,"chunks",void 0),de(this,"totalChunks",void 0),de(this,"isComplete",void 0),de(this,"zipProgress",void 0),de(this,"consolidatedChunks",void 0),de(this,"numConsolidated",void 0),de(this,"isCancelled",void 0),de(this,"config",void 0),this.onFileCompleted=t,this.session=n,this.file=r,this.isZip=h,this.type=a,this.readHeaders=s,this.timeZone=u,this.onProgress=o,this.onError=l,this.tables=[],this.rowCount=0,this.rowsProcessed=0,this.chunks=0,this.totalChunks=h?0:Math.ceil(r.size/Sn.LocalChunkSize),this.isComplete=!1,this.zipProgress=0,this.numConsolidated=0,this.isCancelled=!1,this.handleChunk=this.handleChunk.bind(this),this.handleError=this.handleError.bind(this),this.handleComplete=this.handleComplete.bind(this),this.handleNodeUpdate=this.handleNodeUpdate.bind(this),this.handleCreateTable=this.handleCreateTable.bind(this),this.config={delimiter:a.delimiter,newline:a.newline,escapeChar:a.escapeChar,dynamicTyping:!1,error:this.handleError,skipEmptyLines:a.skipEmptyLines,chunk:this.handleChunk,complete:this.handleComplete,fastMode:!1}}cancel(){this.isCancelled=!0}transpose(e,t){for(var n=t.length,r=new Array(e).fill(null).map(()=>new Array(n)),a=0;a<n;a+=1){var s=t[a];if(s.length<e)throw new Error("Insufficient columns. Expected ".concat(e," but found ").concat(s.length,`
5
+ `).concat(s));for(var o=0;o<e;o+=1){var l=this.type.shouldTrim?t[a][o].trim():t[a][o];r[o][a]=this.nullCheck(l)}}return r}nullCheck(e){return e===this.type.nullString?"":e}parse(){var e=(n,r)=>{if(this.types=n,this.rowCount=r,this.file instanceof File||this.file instanceof Blob)Sn.parse(this.file,this.config);else{var a=go(this.file,this.handleNodeUpdate);Sn.parse(a,this.config),a.resume()}},t=new Vu(e,this.file,this.readHeaders,this.config,this.type.nullString,this.onProgress,this.onError,this.totalChunks,this.isZip,this.type.shouldTrim);t.parse()}handleChunk(e,t){var{readHeaders:n,onError:r,handleCreateTable:a,isZip:s,tables:o}=this;if(this.isCancelled){Bn.debug2("CSV parser cancelled."),t.abort(),o.forEach(c=>c.close());return}var{data:l}=e;this.headers||(n?(this.headers=Is.legalizeColumnNames(l[0]),l=l.slice(1)):this.headers=Yt.generateHeaders(l[0].length));var u=[];try{if(u=this.transpose(this.headers.length,l),s)this.consolidateChunks(u,t);else{var h=this.chunks;this.chunks+=1,a(h,u,t)}}catch(c){r(c)}}consolidateChunks(e,t){if(!this.consolidatedChunks)this.consolidatedChunks=e.slice();else for(var n=0;n<e.length;n+=1)this.consolidatedChunks[n]=this.consolidatedChunks[n].concat(e[n]);this.numConsolidated+=1,(this.numConsolidated>=Wu||this.isComplete)&&this.uploadConsolidatedChunks(t)}uploadConsolidatedChunks(e){var t,{handleCreateTable:n}=this,r=this.chunks;this.chunks+=1;var a=(t=this.consolidatedChunks)===null||t===void 0?void 0:t.slice();this.consolidatedChunks=void 0,this.numConsolidated=0,I(a),n(r,a,e)}handleCreateTable(e,t,n){var{session:r,tables:a,onFileCompleted:s,totalChunks:o,types:l,onProgress:u,onError:h}=this;n&&n.pause(),I(this.headers),I(l),this.rowsProcessed+=t[0].length,r.newTable(this.headers,l,t,this.timeZone).then(c=>{if(this.isCancelled){Bn.debug2("CSV parser cancelled."),n&&n.abort(),a.forEach(m=>m.close());return}n&&n.resume(),a[e]=c;var v=0;o>0?v=Math.round(a.length/o*50)+50:v=Math.round(this.rowsProcessed/this.rowCount*50)+50,Bn.debug2("CSV parser progress ".concat(v)),u(v),this.isComplete&&a.length===this.chunks&&(Bn.debug2("CSV parser complete."),s(a))}).catch(c=>{!this.isComplete&&n&&n.abort(),h(c)})}handleComplete(e){(e==null||e.meta.aborted==null)&&(this.isComplete=!0,this.consolidatedChunks&&this.uploadConsolidatedChunks(null))}handleError(e){var{onError:t}=this;t(e)}handleNodeUpdate(e){this.zipProgress=e.percent}}de(Yt,"generateHeaders",i=>{for(var e=[],t=0;t<i;t+=1)e.push(Yt.generateHeaderRecursive(t));return e});const Ku=Yt;function gr(i,e,t){return e=zu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zu(i){var e=qu(i,"string");return typeof e=="symbol"?e:String(e)}function qu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gi{static fromExtension(e){return e.endsWith(".csv")?"DEFAULT_CSV":e.endsWith(".tsv")||e.endsWith(".tab")?"TSV":e.endsWith(".psv")?"PIPE_SV":"AUTODETECT"}}gr(gi,"DEFAULT_TYPE","DEFAULT_CSV");gr(gi,"AUTO","AUTODETECT");gr(gi,"TYPES",Object.freeze({DEFAULT_CSV:{name:"Default csv (trimmed)",delimiter:",",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},TSV:{name:"Tab seperated (tsv)",delimiter:" ",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},APACHE_COMMON_CSV:{name:"Apache Common csv",delimiter:",",newline:`\r
6
+ `,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:null},EXCEL_CSV:{name:"Excel csv (strict)",delimiter:",",newline:`\r
7
+ `,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!1,nullString:null},MY_SQL_CSV:{name:"MySQL csv",delimiter:" ",newline:`
8
+ `,escapeChar:"\\",shouldTrim:!0,skipEmptyLines:!1,nullString:"\\N"},RFC4180_CSV:{name:"RFC4180 csv",delimiter:",",newline:`\r
9
+ `,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!1,nullString:null},COLON_SV:{name:": colon sv",delimiter:":",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},SEMI_COLON_SV:{name:"; semi-colon sv",delimiter:";",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},PIPE_SV:{name:"| pipe separated (psv)",delimiter:"|",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},SPACE_SV:{name:'" " space sv',delimiter:" ",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},AUTODETECT:{name:"autodetect",delimiter:void 0,newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"}}));const mn=gi;function bo(i,e,t){return e=Yu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Yu(i){var e=Zu(i,"string");return typeof e=="symbol"?e:String(e)}function Zu(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var la=z.module("CsvInputBar"),Xu=Object.entries(mn.TYPES).map(i=>{var[e,t]=i;return d.jsx("option",{value:e,children:t.name},e)});class Co extends p.Component{constructor(e){super(e),bo(this,"inputRef",void 0),this.handleUpload=this.handleUpload.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleError=this.handleError.bind(this),this.handleTableName=this.handleTableName.bind(this),this.toggleFirstRowHeaders=this.toggleFirstRowHeaders.bind(this),this.handleProgress=this.handleProgress.bind(this),this.handleCancelInProgress=this.handleCancelInProgress.bind(this),this.handleQueryTypeChange=this.handleQueryTypeChange.bind(this),this.inputRef=X.createRef(),this.state={tableName:"",tableNameSet:!1,isFirstRowHeaders:!0,showProgress:!1,progressValue:0,type:mn.DEFAULT_TYPE,parser:null}}componentDidUpdate(e){var{file:t,paste:n}=this.props,{tableName:r,tableNameSet:a}=this.state;if(!a&&t!=null&&!r){var s,o=t.name.lastIndexOf("."),l=Is.legalizeTableName(t.name.substring(0,o));this.setState({tableName:l,tableNameSet:!0}),(s=this.inputRef.current)===null||s===void 0||s.focus()}else(t==null&&e.file!=null||n==null&&e.paste!=null)&&this.setState({tableName:"",tableNameSet:!1});n!=null&&n!==""&&!r&&this.inputRef.current&&this.inputRef.current.focus(),t!=null&&t!==e.file?this.setState({type:mn.fromExtension(t.name)}):n!=null&&n!==""&&(e.paste===void 0||e.paste==="")&&this.setState({type:mn.AUTO})}componentWillUnmount(){var{parser:e}=this.state;e&&e.cancel()}handleCancel(){var{onClose:e}=this.props;e()}handleError(e){var{onClose:t,onError:n}=this.props;la.error(e),n(e),t()}handleTableName(e){this.setState({tableName:e.target.value,tableNameSet:!0})}toggleFirstRowHeaders(){var{isFirstRowHeaders:e}=this.state;this.setState({isFirstRowHeaders:!e})}handleUpload(e){e.stopPropagation(),e.preventDefault();var{file:t,paste:n}=this.props;t!=null?t.name.endsWith(".zip")?this.handleZipFile(t):this.handleFile(t):n!==void 0&&n!==""&&this.handleFile(new Blob([n],{type:"text/plain"}))}handleFile(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;la.info("Starting CSV parser for ".concat(e instanceof File?e.name:"pasted values"," ").concat(t?"":e.size," bytes"));var{session:n,timeZone:r,onInProgress:a}=this.props,{tableName:s,isFirstRowHeaders:o,type:l}=this.state,u=c=>{c.length===1?n.bindTableToVariable(c[0],s).then(()=>this.openTable()).catch(v=>this.handleError(v)):n.mergeTables(c).then(v=>{n.bindTableToVariable(v,s).then(()=>this.openTable()).catch(m=>this.handleError(m)),c.forEach(m=>m.close())}).catch(v=>this.handleError(v))},h=new Ku({onFileCompleted:u,session:n,file:e,type:mn.TYPES[l],readHeaders:o,onProgress:this.handleProgress,onError:this.handleError,timeZone:r,isZip:t});h.parse(),this.setState({showProgress:!0,parser:h}),a(!0)}handleZipFile(e){var{onUpdate:t,unzip:n}=this.props;if(n==null){this.handleError(new Error("No support for zip files available."));return}n(e).then(r=>{for(var a=!1,s=0;s<r.length;s+=1){var o=r[s];if(Gt.isValidExtension(o.name)){t("Loading ".concat(o.name," as csv from ").concat(e.name)),a=!0,this.handleFile(o,!0);break}}if(!a)throw new Error("No csv file found in ".concat(e.name))}).catch(r=>this.handleError(r))}handleProgress(e){var{showProgress:t}=this.state;return t&&this.setState({progressValue:e}),!t}handleCancelInProgress(){var{onInProgress:e}=this.props,{parser:t}=this.state;t&&t.cancel(),this.setState({showProgress:!1,progressValue:0}),e(!1)}openTable(){var{onOpenTable:e,onClose:t}=this.props,{tableName:n}=this.state;e(n),t()}handleQueryTypeChange(e){this.setState({type:e})}render(){var{file:e,paste:t}=this.props,{tableName:n,isFirstRowHeaders:r,showProgress:a,progressValue:s,type:o}=this.state,l=!!t&&!n;return d.jsxs("div",{className:"csv-input-bar",children:[!a&&d.jsxs("form",{onSubmit:this.handleUpload,className:"csv-input-bar-container form-inline",children:[d.jsxs("div",{className:"form-group",children:[d.jsx("label",{htmlFor:"tableNameInput",children:"Table name"}),d.jsx("input",{ref:this.inputRef,id:"tableNameInput",type:"text",className:Z("form-control",{"is-invalid":l}),value:n,onChange:this.handleTableName})]}),d.jsxs("div",{className:"form-group",children:[d.jsx("label",{htmlFor:"formatSelect",children:"File format"}),d.jsx(zt,{id:"formatSelect",className:"custom-select",value:o,onChange:this.handleQueryTypeChange,children:Xu})]}),d.jsx(Tl,{className:"firstRowHeaders",checked:r,onChange:this.toggleFirstRowHeaders,children:"First row is column headers"}),d.jsxs("div",{className:"csv-input-buttons form-group",children:[d.jsx(k,{kind:"secondary",onClick:this.handleCancel,children:"Cancel"}),d.jsx(k,{kind:"primary",type:"submit",disabled:!(e!==null||t!==void 0&&t!=="")||!n,children:"Upload"})]})]}),a&&d.jsxs("div",{className:"csv-progress-container",children:[d.jsx("label",{children:"Uploading Table"}),d.jsx("div",{className:"progress",children:d.jsx("div",{className:"progress-bar bg-primary",style:{width:"".concat(s,"%")},"aria-valuenow":s,"aria-valuemin":0,"aria-valuemax":100})}),d.jsxs("label",{children:[s,"%"]}),d.jsx(k,{kind:"primary",onClick:this.handleCancelInProgress,children:"Cancel"})]})]})}}bo(Co,"defaultProps",{file:null,paste:null,unzip:null});const Qu=Co;function Wn(i,e,t){return e=Ju(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ju(i){var e=eh(i,"string");return typeof e=="symbol"?e:String(e)}function eh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var da=z.module("ConsoleMenu");class oi extends p.PureComponent{static makeItemActions(e,t,n,r,a){if(e.length===0)return[];var s={menuElement:d.jsx(Rs,{value:t,onChange:r,className:"console-menu",ref:n})},o=e;t&&(o=o.filter(u=>{var{title:h}=u;return h!=null&&h.toLowerCase().indexOf(t.toLowerCase())>=0}));var l=o.map(u=>({title:u.title,action:()=>{a(u)}}));return[s,...l]}constructor(e){super(e),Wn(this,"tableSearchField",void 0),Wn(this,"widgetSearchField",void 0),Wn(this,"makeTableActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Ji.isTableType(a,o.type));return oi.makeItemActions(s,n,o=>{this.tableSearchField=o},this.handleTableFilterChange,r)})),Wn(this,"makeWidgetActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Ji.isWidgetType(a,o.type));return oi.makeItemActions(s,n,o=>{this.widgetSearchField=o},this.handleWidgetFilterChange,r)})),this.handleTableFilterChange=this.handleTableFilterChange.bind(this),this.handleTableMenuClosed=this.handleTableMenuClosed.bind(this),this.handleTableMenuOpened=this.handleTableMenuOpened.bind(this),this.handleWidgetFilterChange=this.handleWidgetFilterChange.bind(this),this.handleWidgetMenuClosed=this.handleWidgetMenuClosed.bind(this),this.handleWidgetMenuOpened=this.handleWidgetMenuOpened.bind(this),this.state={tableFilterText:"",widgetFilterText:""}}handleTableFilterChange(e){da.debug("filtering tables..."),this.setState({tableFilterText:e.target.value})}handleTableMenuClosed(){this.setState({tableFilterText:""})}handleTableMenuOpened(){var e;(e=this.tableSearchField)===null||e===void 0||e.focus()}handleWidgetFilterChange(e){da.debug("filtering widgets..."),this.setState({widgetFilterText:e.target.value})}handleWidgetMenuClosed(){this.setState({widgetFilterText:""})}handleWidgetMenuOpened(){var e;(e=this.widgetSearchField)===null||e===void 0||e.focus()}render(){var{overflowActions:e,objects:t,openObject:n}=this.props,{tableFilterText:r,widgetFilterText:a}=this.state,s=this.makeTableActions(t,r,n),o=this.makeWidgetActions(t,a,n),l={placement:"bottom-end"},u=s.length===0,h=o.length===0;return d.jsxs(d.Fragment,{children:[d.jsx(k,{kind:"ghost",disabled:u,onClick:()=>{},icon:d.jsxs("div",{className:"fa-md fa-layers",children:[d.jsx(J,{mask:vr,icon:Bt,transform:"right-5 down-5"}),d.jsx(J,{icon:Bt,transform:"right-8 down-6"})]}),tooltip:u?"No tables available":"Tables",children:d.jsx(Wt,{actions:s,onMenuOpened:this.handleTableMenuOpened,onMenuClosed:this.handleTableMenuClosed,options:{initialKeyboardIndex:1},popperOptions:l},"table-actions ")}),d.jsx(k,{kind:"ghost",disabled:o.length===0,onClick:()=>{},icon:d.jsxs("div",{className:"fa-md fa-layers",children:[d.jsx(J,{mask:cr,icon:Bt,transform:"right-5 down-5"}),d.jsx(J,{icon:Bt,transform:"right-8 down-6"})]}),tooltip:h?"No widgets available":"Widgets",children:d.jsx(Wt,{actions:o,onMenuOpened:this.handleWidgetMenuOpened,onMenuClosed:this.handleWidgetMenuClosed,options:{initialKeyboardIndex:1},popperOptions:l},"table-actions")}),d.jsx(k,{kind:"ghost",icon:zs,tooltip:"More Actions...","aria-label":"More Actions...",onClick:()=>{},children:d.jsx(Wt,{actions:e,popperOptions:l})})]})}}const th=oi;function So(i,e,t){return e=nh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function nh(i){var e=ih(i,"string");return typeof e=="symbol"?e:String(e)}function ih(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Eo extends p.PureComponent{constructor(e){super(e),So(this,"pending",void 0),this.handleCommandStarted=this.handleCommandStarted.bind(this),this.handleCommandCompleted=this.handleCommandCompleted.bind(this),this.pending=new Tt,this.state={isDisconnected:!1,isCommandRunning:!1}}componentDidMount(){this.startListening()}componentWillUnmount(){this.stopListening(),this.cancelPendingPromises()}startListening(){var{dh:e,session:t}=this.props;t.addEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted)}stopListening(){var{dh:e,session:t}=this.props;t.removeEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted)}cancelPendingPromises(){this.pending.cancel()}handleCommandStarted(e){var{result:t}=e.detail;this.pending.add(t).then(()=>this.handleCommandCompleted(null)).catch(n=>this.handleCommandCompleted(n)),this.setState({isCommandRunning:!0})}handleCommandCompleted(e){e instanceof Ed||this.setState({isCommandRunning:this.pending.pending.length>0})}render(){var{children:e,dh:t,openObject:n,overflowActions:r,objects:a}=this.props,{isDisconnected:s,isCommandRunning:o}=this.state,l=null,u=null;return s?(l="console-status-icon-disconnected",u="Worker is disconnected"):o?(l="console-status-icon-pending",u="Worker is busy"):(l="console-status-icon-idle",u="Worker is idle"),d.jsxs("div",{className:"console-pane-status-bar",children:[d.jsxs("div",{children:[d.jsx("div",{className:Z("console-status-icon",l)}),d.jsx(wt,{children:u})]}),e,d.jsx(th,{dh:t,overflowActions:r,openObject:n,objects:a})]})}}So(Eo,"defaultProps",{children:null});const rh=Eo;function ua(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ze(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ua(Object(t),!0).forEach(function(n){Ge(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ua(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ge(i,e,t){return e=ah(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ah(i){var e=sh(i,"string");return typeof e=="symbol"?e:String(e)}function sh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var et=z.module("Console"),ha={isAutoLaunchPanelsEnabled:!0,isPrintStdOutEnabled:!0,isClosePanelsOnDisconnectEnabled:!0};function oh(){return!0}function lh(i){return d.jsx(d.Fragment,{})}class Pt extends p.PureComponent{static isErrorLevel(e){return e===we.STDERR||e===we.ERROR||e===we.FATAL}static isOutputLevel(e){return e===we.STDOUT||Pt.isErrorLevel(e)}constructor(e){super(e),Ge(this,"cancelListener",void 0),Ge(this,"consolePane",void 0),Ge(this,"consoleInput",void 0),Ge(this,"consoleHistoryScrollPane",void 0),Ge(this,"pending",void 0),Ge(this,"queuedLogMessages",void 0),Ge(this,"processLogMessageQueue",Ls(()=>{this.scrollConsoleHistoryToBottom(),this.setState(r=>{et.debug2("processLogMessageQueue",this.queuedLogMessages.length," items");var{consoleHistory:a}=r;return a=a.concat(this.queuedLogMessages),this.queuedLogMessages=[],{consoleHistory:a}})},Pt.LOG_THROTTLE)),Ge(this,"getObjects",te(r=>[...r.values()])),Ge(this,"getContextActions",te(r=>[...r,{action:this.handleClearShortcut,shortcut:xe.CONSOLE.CLEAR},{action:this.handleFocusHistory,shortcut:xe.CONSOLE.FOCUS_HISTORY}])),this.handleCommandResult=this.handleCommandResult.bind(this),this.handleCommandStarted=this.handleCommandStarted.bind(this),this.handleCommandSubmit=this.handleCommandSubmit.bind(this),this.handleClearShortcut=this.handleClearShortcut.bind(this),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleLogMessage=this.handleLogMessage.bind(this),this.handleOverflowActions=this.handleOverflowActions.bind(this),this.handleScrollPaneScroll=this.handleScrollPaneScroll.bind(this),this.handleToggleAutoLaunchPanels=this.handleToggleAutoLaunchPanels.bind(this),this.handleToggleClosePanelsOnDisconnect=this.handleToggleClosePanelsOnDisconnect.bind(this),this.handleTogglePrintStdout=this.handleTogglePrintStdout.bind(this),this.handleUploadCsv=this.handleUploadCsv.bind(this),this.handleHideCsv=this.handleHideCsv.bind(this),this.handleCsvFileCanceled=this.handleCsvFileCanceled.bind(this),this.handleCsvFileOpened=this.handleCsvFileOpened.bind(this),this.handleCsvPaste=this.handleCsvPaste.bind(this),this.handleDragEnter=this.handleDragEnter.bind(this),this.handleDragLeave=this.handleDragLeave.bind(this),this.handleClearDragError=this.handleClearDragError.bind(this),this.handleOpenCsvTable=this.handleOpenCsvTable.bind(this),this.handleCsvUpdate=this.handleCsvUpdate.bind(this),this.handleCsvError=this.handleCsvError.bind(this),this.handleCsvInProgress=this.handleCsvInProgress.bind(this),this.consolePane=X.createRef(),this.consoleInput=X.createRef(),this.consoleHistoryScrollPane=X.createRef(),this.pending=new Tt,this.queuedLogMessages=[];var{objectMap:t,settings:n}=this.props;this.state=ze(ze({consoleHistory:[],consoleHeight:0,isScrollDecorationShown:!1,objectHistoryMap:new Map,objectMap:new Map(t),showCsvOverlay:!1,csvFile:null,csvPaste:null,dragError:null,csvUploadInProgress:!1},ha),n)}componentDidMount(){this.initConsoleLogging();var{dh:e,session:t}=this.props;t.addEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted),this.updateDimensions()}componentDidUpdate(e,t){var{props:n,state:r}=this;this.sendSettingsChange(t,r),n.objectMap!==e.objectMap&&this.updateObjectMap()}componentWillUnmount(){var{dh:e,session:t}=this.props;t.removeEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted),this.pending.cancel(),this.processLogMessageQueue.cancel(),this.deinitConsoleLogging()}initConsoleLogging(){var{session:e}=this.props;this.cancelListener=e.onLogMessage(this.handleLogMessage)}deinitConsoleLogging(){this.cancelListener!=null&&(this.cancelListener(),this.cancelListener=void 0)}handleClearShortcut(e){var t;e.preventDefault(),e.stopPropagation(),(t=this.consoleInput.current)===null||t===void 0||t.clear()}handleCommandStarted(e){var{code:t,result:n}=e.detail,r=this.pending.add(n),a={command:t,disabledObjects:[],startTime:Date.now(),cancelResult:()=>{n.cancel()},wrappedResult:r},{commandHistoryStorage:s,language:o,scope:l}=this.props,u=s.addItem(o,l,t,{command:t,startTime:new Date().toJSON()});u.catch(h=>{et.debug("Error adding workspace item",h)}),this.setState(h=>({consoleHistory:h.consoleHistory.concat(a)}),()=>{this.scrollConsoleHistoryToBottom(!0)}),r.then(h=>{this.handleCommandResult(h,a,u)}).catch(h=>{this.handleCommandError(h,a,u)})}handleCommandResult(e,t,n){var r=ze(ze({},t),{},{wrappedResult:void 0,cancelResult:void 0,result:e??t.result});this.setState(a=>{var{consoleHistory:s}=a,o=s.lastIndexOf(t);if(o<0)return et.error("historyItem not found in consoleHistory"),null;var l=s.concat();return l[o]=r,{consoleHistory:l}}),e&&(this.updateHistory(e,r),this.updateKnownObjects(r),this.updateWorkspaceHistoryItem({error:e.error},n),this.closeRemovedItems(e.changes),this.openUpdatedItems(e.changes))}handleCommandError(e,t,n){if(ge.isCanceled(e)){et.debug("Called handleCommandError on a cancelled promise result");return}this.updateWorkspaceHistoryItem({error:"".concat(e)},n),this.setState(r=>{var a=r.consoleHistory.concat(),s=a.lastIndexOf(t),o=ze({},t);return o.wrappedResult=void 0,o.cancelResult=void 0,o.endTime=Date.now(),o.result={error:e},a[s]=o,{consoleHistory:a}})}handleFocusHistory(e){e.preventDefault(),e.stopPropagation();var{focusCommandHistory:t}=this.props;t()}handleLogMessage(e){var{isPrintStdOutEnabled:t}=this.state;t&&Pt.isOutputLevel(e.logLevel)&&this.queueLogMessage(e.message,e.logLevel)}queueLogMessage(e,t){var n={};Pt.isErrorLevel(t)?n.error=e:n.message=e;var r={command:void 0,result:n};this.queuedLogMessages.push(r),this.processLogMessageQueue()}openUpdatedItems(e){et.debug("openUpdatedItems",e);var{isAutoLaunchPanelsEnabled:t}=this.state;if(e!=null){var{openObject:n}=this.props;[...e.created,...e.updated].forEach(r=>n(r,t&&(r.title===void 0||!r.title.startsWith("_"))))}}closeRemovedItems(e){if(!(e==null||e.removed==null||e.removed.length===0)){var{closeObject:t}=this.props,{removed:n}=e;n.forEach(r=>t(r))}}updateHistory(e,t){var n=t;e==null||e.changes==null||n==null||(n.endTime=Date.now(),this.scrollConsoleHistoryToBottom(),this.setState(r=>{var a=r.consoleHistory.concat();return{consoleHistory:a}}))}updateKnownObjects(e){var t;if(e.result&&(t=e.result.changes),!t||(t.created==null||t.created.length===0)&&(t.updated==null||t.updated.length===0)&&(t.removed==null||t.removed.length===0)){et.debug2("updateKnownObjects no changes");return}this.setState(n=>{var r,a,s,{consoleHistory:o}=n,l=o.lastIndexOf(e);if(l<0)return et.error("historyItem not found in state.consoleHistory"),null;var u=new Map(n.objectHistoryMap),h=new Map(n.objectMap),c=function(m){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{title:b}=m;I(b);var f=u.get(b);if(f!=null&&f>=0){var C;o===n.consoleHistory&&(o=o.concat());var E=ze(ze({},o[f]),{},{disabledObjects:[...(C=o[f].disabledObjects)!==null&&C!==void 0?C:[],b]});o[f]=E}u.set(b,l),g?h.delete(b):h.set(b,m)};return(r=t)===null||r===void 0||r.updated.forEach(v=>c(v)),(a=t)===null||a===void 0||a.removed.forEach(v=>c(v,!0)),(s=t)===null||s===void 0||s.created.forEach(v=>{var{title:m}=v;I(m),u.set(m,l),h.set(m,v)}),{objectHistoryMap:u,objectMap:h,consoleHistory:o}})}updateObjectMap(){var{objectMap:e}=this.props;this.setState({objectMap:e})}updateWorkspaceHistoryItem(e,t){var n=this.pending.add(t),r=new Date().toJSON();n.then(a=>{var s=ze(ze({},a),{},{data:ze(ze({},a.data),{},{endTime:r,result:e})}),{commandHistoryStorage:o,language:l}=this.props;o.updateItem(l,s).catch(u=>{et.warn("Error updating command history storage",u)})}).catch(a=>{et.debug("Error updating workspace history item",a)})}scrollConsoleHistoryToBottom(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.consoleHistoryScrollPane.current;I(t),!(!e&&Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)>=1)&&window.requestAnimationFrame(()=>{t.scrollTop=t.scrollHeight})}handleScrollPaneScroll(){var e=this.consoleHistoryScrollPane.current;I(e),e.scrollTop>0&&e.scrollHeight>e.clientHeight?this.setState({isScrollDecorationShown:!0}):this.setState({isScrollDecorationShown:!1})}handleToggleAutoLaunchPanels(){this.setState(e=>({isAutoLaunchPanelsEnabled:!e.isAutoLaunchPanelsEnabled}))}handleToggleClosePanelsOnDisconnect(){this.setState(e=>({isClosePanelsOnDisconnectEnabled:!e.isClosePanelsOnDisconnectEnabled}))}handleTogglePrintStdout(){this.setState(e=>({isPrintStdOutEnabled:!e.isPrintStdOutEnabled}))}handleUploadCsv(){this.setState({showCsvOverlay:!0,dragError:null,csvUploadInProgress:!1})}handleHideCsv(){this.setState({showCsvOverlay:!1,csvFile:null,csvPaste:null,dragError:null,csvUploadInProgress:!1})}handleCsvFileCanceled(){this.setState({csvFile:null,csvPaste:null})}handleCsvFileOpened(e){this.setState({csvFile:e,csvPaste:null})}handleCsvPaste(e){this.setState({csvFile:null,csvPaste:e})}handleDragEnter(e){if(!(e.dataTransfer==null||e.dataTransfer.items==null||e.dataTransfer.items.length===0||e.dataTransfer.items[0].kind==="string")){e.preventDefault(),e.stopPropagation(),this.setState({showCsvOverlay:!0});var{items:t}=e.dataTransfer;if(t.length>1){this.setState({dragError:Gt.MULTIPLE_FILE_ERROR});return}var n=t[0];Gt.isValidDropItem(n)?this.setState({dragError:null}):this.setState({dragError:Gt.FILE_TYPE_ERROR})}}handleDragLeave(e){e.currentTarget==null||e.currentTarget instanceof Element&&e.relatedTarget instanceof Element&&e.currentTarget.contains(e.relatedTarget)||(e.preventDefault(),e.stopPropagation(),this.setState({showCsvOverlay:!1,dragError:null}))}handleClearDragError(){this.setState({dragError:null})}handleOpenCsvTable(e){var{dh:t,openObject:n,commandHistoryStorage:r,language:a,scope:s}=this.props,{consoleHistory:o,objectMap:l}=this.state,u={name:e,title:e,type:t.VariableType.TABLE},h=l.has(e),c={startTime:Date.now(),endTime:Date.now(),disabledObjects:[],result:{changes:{created:[],updated:[],removed:[],[h?"updated":"created"]:[u]}}},v=o.concat(c);this.setState({consoleHistory:v}),this.scrollConsoleHistoryToBottom(!0),this.updateKnownObjects(c),n({name:e,title:e,type:t.VariableType.TABLE}),r.addItem(a,s,e,{command:e,startTime:new Date().toJSON(),endTime:new Date().toJSON()})}addConsoleHistoryMessage(e,t){var{consoleHistory:n}=this.state,r={startTime:Date.now(),endTime:Date.now(),result:{message:e,error:t}},a=n.concat(r);this.setState({consoleHistory:a})}handleCsvUpdate(e){this.addConsoleHistoryMessage(e)}handleCsvError(e){this.addConsoleHistoryMessage(void 0,e!=null?"".concat(e):void 0)}handleCsvInProgress(e){this.setState({csvUploadInProgress:e})}handleOverflowActions(){var{isAutoLaunchPanelsEnabled:e,isClosePanelsOnDisconnectEnabled:t,isPrintStdOutEnabled:n}=this.state,{actions:r}=this.props;return[...r,{title:"Print Stdout",action:this.handleTogglePrintStdout,group:Q.groups.high,icon:n?Pn:void 0,order:10},{title:"Auto Launch Panels",action:this.handleToggleAutoLaunchPanels,group:Q.groups.high,icon:e?Pn:void 0,order:20},{title:"Close Panels on Disconnect",action:this.handleToggleClosePanelsOnDisconnect,group:Q.groups.high,icon:t?Pn:void 0,order:30},{title:"Upload Table from File",action:this.handleUploadCsv,group:Q.groups.high+10,order:40}]}handleCommandSubmit(e){if(e==="clear"||e==="cls")this.clearConsoleHistory();else if(e.length>0){var{session:t}=this.props;t.runCode(e).catch(r=>{et.error("There was an error initiating the command",r)})}else{var n={command:" ",result:{},startTime:Date.now(),endTime:Date.now()};this.scrollConsoleHistoryToBottom(!0),this.setState(r=>({consoleHistory:r.consoleHistory.concat(n)}))}}clearConsoleHistory(){this.pending.cancel(),this.setState(e=>{var t=new Map([...e.objectHistoryMap.keys()].map(n=>[n,-1]));return{consoleHistory:[],objectHistoryMap:t}})}addCommand(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.consoleInput.current&&(this.consoleInput.current.setConsoleText(e,t,n),t&&this.scrollConsoleHistoryToBottom(!0))}focus(){var e;(e=this.consoleInput.current)===null||e===void 0||e.focus()}sendSettingsChange(e,t){for(var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=Object.keys(ha),a={},s=!1,o=0;o<r.length;o+=1){var l=r[o],{[l]:u}=t,{[l]:h}=e;u!==h&&(s=!0),a[l]=u}if(!(n&&!s)){var{onSettingsChange:c}=this.props;c(a)}}updateDimensions(){this.consolePane.current&&this.setState({consoleHeight:this.consolePane.current.clientHeight}),this.consoleInput.current&&this.consoleInput.current.updateDimensions()}render(){var{actions:e,dh:t,historyChildren:n,language:r,statusBarChildren:a,openObject:s,session:o,scope:l,commandHistoryStorage:u,timeZone:h,disabled:c,unzip:v,supportsType:m,iconForType:g}=this.props,{consoleHeight:b,consoleHistory:f,isScrollDecorationShown:C,objectMap:E,showCsvOverlay:S,csvFile:y,csvPaste:O,dragError:x,csvUploadInProgress:L}=this.state,F=this.getObjects(E),N=Math.round(b*.7),A=this.getContextActions(e);return d.jsxs("div",{role:"presentation",className:Z("iris-console","h-100","w-100",{disabled:c}),children:[d.jsxs("div",{className:"console-pane",ref:this.consolePane,children:[d.jsx(rh,{dh:t,session:o,overflowActions:this.handleOverflowActions,openObject:s,objects:F,children:a}),d.jsxs("div",{className:"console-csv-container",onDragOver:Gt.handleDragOver,onDragEnter:this.handleDragEnter,onDragLeave:this.handleDragLeave,children:[S&&d.jsx(Gt,{onCancel:this.handleCsvFileCanceled,onFileOpened:this.handleCsvFileOpened,onPaste:this.handleCsvPaste,clearDragError:this.handleClearDragError,dragError:x,onError:this.handleCsvError,uploadInProgress:L,allowZip:v!=null}),d.jsxs("div",{role:"presentation",className:Z("scroll-pane no-scroll-x",{"scroll-decoration":C}),onScroll:this.handleScrollPaneScroll,ref:this.consoleHistoryScrollPane,children:[d.jsx(yu,{items:f,openObject:s,language:r,disabled:c,supportsType:m,iconForType:g}),n]})]}),!S&&d.jsx(ea,{ref:this.consoleInput,session:o,language:r,scope:l,onSubmit:this.handleCommandSubmit,maxHeight:N,commandHistoryStorage:u}),S&&d.jsx(Qu,{session:o,onOpenTable:this.handleOpenCsvTable,onClose:this.handleHideCsv,onUpdate:this.handleCsvUpdate,onError:this.handleCsvError,file:y??void 0,paste:O??void 0,onInProgress:this.handleCsvInProgress,timeZone:h,unzip:v})]}),d.jsx(Q,{actions:A,ignoreClassNames:[ea.INPUT_CLASS_NAME]})]})}}Ge(Pt,"defaultProps",{statusBarChildren:null,settings:{},onSettingsChange:()=>{},scope:null,actions:[],historyChildren:null,timeZone:"America/New_York",objectMap:new Map,disabled:!1,unzip:null,supportsType:oh,iconForType:lh});Ge(Pt,"LOG_THROTTLE",500);const dh=Pt;var uh={groovy:"Groovy",python:"Python",scala:"Scala"};class hh{static normalizeScriptLanguage(e){return uh[e]||null}static getDisabledRunTooltip(e,t,n,r){return e?t?null:"".concat(n," doesn't match the session language – ").concat(r," disabled"):"Console session not connected – ".concat(r," disabled")}static outdentCode(e){var t=e.split(`
10
+ `),n=t.reduce((r,a)=>{var s=a.length-a.trimStart().length;return s===a.length?r:s<r?s:r},Number.MAX_SAFE_INTEGER);return t.map(r=>r.slice(n)).join(`
11
+ `)}}const tr=hh;function fn(i,e,t){return e=ch(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ch(i){var e=vh(i,"string");return typeof e=="symbol"?e:String(e)}function vh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ve=z.module("ScriptEditor");class yo extends p.Component{constructor(e){super(e),fn(this,"contextActionCleanups",void 0),fn(this,"completionCleanup",void 0),fn(this,"editor",void 0),fn(this,"editorComponent",void 0),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorWillDestroy=this.handleEditorWillDestroy.bind(this),this.handleRun=this.handleRun.bind(this),this.handleRunSelected=this.handleRunSelected.bind(this),this.updateShortcuts=this.updateShortcuts.bind(this),this.contextActionCleanups=[],this.editorComponent=X.createRef(),this.state={model:null}}componentDidMount(){Ie.addEventListener("onUpdate",this.updateShortcuts)}componentDidUpdate(e){var t,n,{sessionLanguage:r,settings:a}=this.props,s=a==null?void 0:a.language,o=s!==((t=e.settings)===null||t===void 0?void 0:t.language);o&&(Ve.debug("Set language",s),this.setLanguage(s));var l=r==null&&e.sessionLanguage!=null,u=s===r,h=((n=e.settings)===null||n===void 0?void 0:n.language)===e.sessionLanguage;(l||r!==void 0&&h&&!u)&&(Ve.debug("De-init completion and context actions"),this.deInitContextActions(),this.deInitCodeCompletion());var c=r!=null&&e.sessionLanguage==null;(c&&u||r!==void 0&&!h&&u)&&(Ve.debug("Init completion and context actions"),this.initContextActions(),this.initCodeCompletion())}componentWillUnmount(){Ie.removeEventListener("onUpdate",this.updateShortcuts)}getValue(){return this.editor?this.editor.getValue():(Ve.error("Editor not initialized"),null)}getSelectedCommand(){var e,t,n=(e=this.editor)===null||e===void 0?void 0:e.getSelection();I(n);var r=(t=this.editor)===null||t===void 0?void 0:t.getModel();I(r);var{startLineNumber:a,endColumn:s}=n,{endLineNumber:o}=n;s===1&&o>a&&(o-=1);var l=r.getLineMinColumn(a),u=r.getLineMaxColumn(o),h=n.setStartPosition(a,l).setEndPosition(o,u);return tr.outdentCode(r.getValueInRange(h))}handleEditorInitialized(e){var{focusOnMount:t,onChange:n,onEditorInitialized:r,settings:a,session:s,sessionLanguage:o}=this.props;Ve.debug("handleEditorInitialized",o,s,a),this.editor=e,this.setState({model:this.editor.getModel()}),Be.setEOL(e),Be.registerPasteHandler(e),s!=null&&a&&o===a.language&&(this.initContextActions(),this.initCodeCompletion()),e.onDidChangeModelContent(n),t!=null&&t&&e.focus(),r(this.editor)}handleEditorWillDestroy(e){Ve.debug("handleEditorWillDestroy");var{onEditorWillDestroy:t}=this.props;t(e),this.deInitContextActions(),this.deInitCodeCompletion(),this.setState({model:null}),this.editor=void 0}handleRun(){var{onRunCommand:e}=this.props,t=this.getValue();t!=null&&e(t)}handleRunSelected(){var{onRunCommand:e}=this.props,t=this.getSelectedCommand();e(t)}initContextActions(){if(this.contextActionCleanups.length>0){Ve.error("Context actions already initialized.");return}if(this.editor){var e=[];e.push(this.editor.addAction({id:"run-code",label:"Run",keybindings:[Be.getMonacoKeyCodeFromShortcut(xe.NOTEBOOK.RUN)],contextMenuGroupId:"navigation",contextMenuOrder:1.5,run:()=>{this.handleRun()}})),e.push(this.editor.addAction({id:"run-selected-code",label:"Run Selected",keybindings:[Be.getMonacoKeyCodeFromShortcut(xe.NOTEBOOK.RUN_SELECTED)],contextMenuGroupId:"navigation",contextMenuOrder:1.5,run:()=>{this.handleRunSelected()}})),this.contextActionCleanups=e}}deInitContextActions(){this.contextActionCleanups.length>0&&(this.contextActionCleanups.forEach(e=>e.dispose()),this.contextActionCleanups=[])}updateShortcuts(){this.deInitContextActions(),this.initContextActions()}initCodeCompletion(){if(this.completionCleanup!=null){Ve.error("Code completion already initialized.");return}var{session:e}=this.props;Ve.debug("initCodeCompletion",this.editor,e),this.editor&&e!=null&&(this.completionCleanup=Be.openDocument(this.editor,e))}deInitCodeCompletion(){var{session:e}=this.props;Ve.debug("deInitCodeCompletion",this.editor,e),this.completionCleanup&&(this.completionCleanup.dispose(),this.completionCleanup=void 0,this.editor&&e!=null&&Be.closeDocument(this.editor,e))}append(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;I(this.editor);var n=this.editor.getModel();I(n);var r=n.getValue();r?n.setValue("".concat(r,`
12
+ `).concat(e)):n.setValue("".concat(e));var a=n.getLineCount(),s=n.getLineLength(a)+1;this.editor.setPosition({lineNumber:a,column:s}),t&&this.editor.focus()}updateDimensions(){Ve.debug("updateDimensions"),this.editor&&this.editor.layout()}focus(){Ve.debug("focus"),this.editor&&this.editor.focus()}toggleFind(){this.editorComponent.current&&this.editorComponent.current.toggleFind()}setLanguage(e){this.editorComponent.current&&e!==void 0&&this.editorComponent.current.setLanguage(e)}render(){var e,{error:t,isLoaded:n,isLoading:r,session:a,sessionLanguage:s,settings:o}=this.props,{model:l}=this.state,u=t?"Unable to open document. ".concat(t):null,h=o&&(e=o.language)!==null&&e!==void 0?e:null,c=l&&a&&h===s;return d.jsxs(d.Fragment,{children:[(t||r)&&d.jsx("div",{className:"h-100 w-100 position-relative",children:d.jsx(pi,{errorMessage:u,isLoading:r,isLoaded:n})}),n&&d.jsx("div",{className:"h-100 w-100 script-editor",children:o&&d.jsxs(d.Fragment,{children:[d.jsx(ks,{ref:this.editorComponent,settings:o,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy}),c!=null&&c&&d.jsx(po,{model:l,language:h,session:a})]})})]})}}fn(yo,"defaultProps",{error:null,isLoading:!1,isLoaded:!1,focusOnMount:!0,onChange:()=>{},onEditorInitialized:()=>{},onEditorWillDestroy:()=>{},session:null});const ph=yo;function gn(i,e,t){return e=mh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mh(i){var e=fh(i,"string");return typeof e=="symbol"?e:String(e)}function fh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var gh=250,bh=2500;class bi extends p.Component{static getTimeString(e,t){if(e==null||t===""||t===0)return null;var n=Math.round((new Date(t).valueOf()-new Date(e).valueOf())/1e3);return n<1?"<1s":xs.formatElapsedTime(n)}constructor(e){super(e),gn(this,"timer",void 0),gn(this,"cleanup",void 0),gn(this,"loadData",Je(()=>{var{commandHistoryStorage:t,item:n,language:r}=this.props,{id:a}=n;this.cleanup=t.listenItem(r,a,this.handleUpdate,this.handleError)},gh)),gn(this,"getPreviewText",Et(t=>t.split(`
13
+ `,bh).join(`
14
+ `),{max:1})),this.handleUpdate=this.handleUpdate.bind(this),this.handleError=this.handleError.bind(this),this.handleTimeout=this.handleTimeout.bind(this),this.state={currentTime:Date.now()}}componentDidMount(){this.loadData()}componentDidUpdate(e,t){var n,{data:r}=this.state;this.timer==null&&!(r!=null&&r.result)&&(r!=null&&r.startTime)&&!(r==null||r.endTime===void 0)?this.startTimer():(r!=null&&r.result&&!((n=t.data)!==null&&n!==void 0&&n.result)||r!=null&&r.endTime&&!(t.data==null||t.data.endTime===void 0))&&this.stopTimer()}componentWillUnmount(){this.loadData.cancel(),this.cleanup!=null&&this.cleanup(),this.stopTimer()}startTimer(){this.stopTimer(),this.timer=setInterval(this.handleTimeout,1e3)}stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=void 0)}updateTime(){this.setState({currentTime:Date.now()})}handleError(e){this.setState({error:"".concat(e)})}handleUpdate(e){var{data:t}=e??{};this.setState({data:t});var{onUpdate:n}=this.props;n==null||n(t)}handleTimeout(){this.updateTime()}render(){var e,{item:{name:t},language:n}=this.props,{currentTime:r,data:a,error:s}=this.state,{result:o,startTime:l,endTime:u}=a??{},h=(e=o==null?void 0:o.error)!==null&&e!==void 0?e:s,c=bi.getTimeString(l,u??r),v=this.getPreviewText(t),m=!!c;return d.jsxs("div",{className:"command-history-item-tooltip",children:[d.jsxs("div",{className:"scroll-container",children:[d.jsx(fi,{language:n,children:v}),v.length<t.length&&d.jsx("p",{children:"Preview Truncated..."})]}),d.jsxs("div",{className:"result-info",children:[d.jsxs("div",{className:"d-flex justify-content-between",children:[!!h&&d.jsxs("div",{className:"text-danger mr-1",children:[d.jsx(J,{icon:pr})," Executed with errors"]}),d.jsxs("div",{className:"time-wrapper",children:["Elapsed time:"," ",m?d.jsx("span",{className:"time-string",children:c}):d.jsx(Ks,{className:"loading-spinner-vertical-align"})]})]}),!!h&&d.jsx("div",{className:"error-message",children:h})]})]})}}gn(bi,"defaultProps",{onUpdate:()=>{}});const Ch=bi;var Sh=512;function Po(i){var{item:e,language:t,isSelected:n,commandHistoryStorage:r}=i,a=e.name.substring(0,Sh),s=p.useRef(null),o=p.useCallback(()=>{var l;(l=s.current)===null||l===void 0||l.update()},[s]);return d.jsxs("div",{className:Z("command-history-item",{selected:n}),children:[a,d.jsx(wt,{ref:s,interactive:!0,options:{placement:"left",modifiers:{preventOverflow:{enabled:!0,boundariesElement:"viewport",order:825}}},popperClassName:"command-history-item-popper",children:d.jsx(Ch,{item:e,language:t,onUpdate:o,commandHistoryStorage:r})})]})}Po.defaultProps={isSelected:!1};class li extends p.Component{static itemKey(e,t){return"".concat(t.title)}static renderContent(e){return e.selectionRequired!==void 0&&e.selectionRequired?d.jsxs("div",{className:"fa-md fa-layers",children:[d.jsx(J,{icon:Xi,mask:e.icon,transform:"right-5 down-5 shrink-4"}),d.jsx(J,{icon:id,transform:"shrink-3 right-7 down-6"})]}):d.jsx(J,{icon:e.icon})}render(){var{actions:e,hasSelection:t}=this.props;return d.jsx("div",{className:"command-history-actions",children:e.map((n,r)=>d.jsx(k,{kind:"inline",className:Z(n.className),onClick:n.action,tooltip:n.description,disabled:n.selectionRequired!==void 0&&n.selectionRequired&&!t,icon:li.renderContent(n)},li.itemKey(r,n)))})}}const Eh=li;var yh=150,ca=3,va=z.module("CommandHistoryViewportUpdater");function Ph(i){var{table:e,columns:t,top:n=0,bottom:r=0,search:a,isReversed:s=!1,onUpdate:o}=i,l=p.useMemo(()=>Ls(u=>{var h=u.bottom-u.top,c=Math.max(0,u.top-h*ca),v=u.bottom+h*ca;e.setViewport({top:c,bottom:v,columns:u.columns})},yh),[e]);return p.useEffect(function(){var h=e.onUpdate(c=>{var v,m;o({items:(v=c.items)!==null&&v!==void 0?v:[],offset:(m=c.offset)!==null&&m!==void 0?m:0})});return()=>{va.debug("onUpdate cleanup"),h()}},[e,o]),p.useEffect(function(){e.setSearch(a??"")},[e,a]),p.useEffect(function(){l({top:n,bottom:r,columns:t})},[l,n,r,t,a,s]),p.useEffect(()=>()=>{va.debug2("Cancel throttledUpdateViewport"),l.cancel()},[l]),null}function pa(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function ma(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){pa(a,n,r,s,o,"next",l)}function o(l){pa(a,n,r,s,o,"throw",l)}s(void 0)})}}function rt(i,e,t){return e=wh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function wh(i){var e=Th(i,"string");return typeof e=="symbol"?e:String(e)}function Th(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ft=z.module("CommandHistory");class Fe extends p.Component{static getCommandsFromViewport(e,t,n){for(var r=[],a=0;a<n.length;a+=1)for(var s=n[a],o=s[0];o<=s[1];o+=1)if(o>=t&&o<t+e.length){var{name:l}=e[o-t];r.push(l)}return r}static getCommandsFromSnapshot(e,t){return ma(function*(){var n=yield e.getSnapshot(t);return[...n.values()].map(r=>r.name)})()}constructor(e){super(e),rt(this,"itemActions",void 0),rt(this,"historyActions",void 0),rt(this,"pending",void 0),rt(this,"searchInputRef",void 0),rt(this,"itemListRef",void 0),rt(this,"debouncedSearchChange",Je(()=>{this.setState(n=>{var{searchText:r}=n;return{debouncedSearchText:r,selectedRanges:[]}})},Fe.SET_SEARCH_DEBOUNCE_MS)),this.copySelectedCommands=this.copySelectedCommands.bind(this),this.createNotebook=this.createNotebook.bind(this),this.sendToConsole=this.sendToConsole.bind(this),this.renderItem=this.renderItem.bind(this),this.runInConsole=this.runInConsole.bind(this),this.sendToNotebook=this.sendToNotebook.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleSelectionChange=this.handleSelectionChange.bind(this),this.handleSearchChange=this.handleSearchChange.bind(this),this.handleViewportChange=this.handleViewportChange.bind(this),this.handleViewportUpdate=this.handleViewportUpdate.bind(this),this.itemActions=[{title:"Copy Selection",description:"Copy selected commands to clipboard",icon:rd,shortcut:Dn.COPY,action:this.copySelectedCommands,group:Q.groups.edit},{title:"Send to Console",description:"Open selected commands in the console",icon:Br,shortcut:xe.COMMAND_HISTORY.SEND_TO_CONSOLE,action:this.sendToConsole,group:Fe.menuGroups.send,order:10},{title:"Run in Console",description:"Run selected commands in the console",icon:ri,shortcut:xe.COMMAND_HISTORY.RUN,action:this.runInConsole,group:Fe.menuGroups.send,order:10},{title:"Send to Active Notebook",description:"Open selected commands in a notebook",icon:Wr,shortcut:xe.COMMAND_HISTORY.SEND_TO_NOTEBOOK,action:this.sendToNotebook,group:Fe.menuGroups.send,order:20},{title:"Send to New Notebook",description:"Open selected commands in a new notebook",icon:qs,action:this.createNotebook,group:Fe.menuGroups.send,order:30}],this.historyActions=[{title:"Send to Console",icon:Br,selectionRequired:!0,description:"Open selected commands in the console",action:this.sendToConsole},{title:"Send to Notebook",icon:Wr,selectionRequired:!0,description:"Open selected commands in a notebook",action:this.sendToNotebook}],this.pending=new Tt,this.searchInputRef=X.createRef(),this.itemListRef=X.createRef();var{table:t}=e;this.state={actions:[],historyActions:this.historyActions,top:0,bottom:0,itemCount:t.size,items:[],offset:0,selectedRanges:[],searchText:"",debouncedSearchText:""}}componentWillUnmount(){this.debouncedSearchChange.cancel(),this.pending.cancel()}getSelectedCommands(){var e=this;return ma(function*(){var{items:t,offset:n,selectedRanges:r}=e.state,a=r.slice().sort((o,l)=>o[0]-l[0]);if(a.length===0)return[];if(a[0][0]>=n&&a[a.length-1][1]<n+t.length)return Fe.getCommandsFromViewport(t,n,a);var{table:s}=e.props;return e.pending.add(Fe.getCommandsFromSnapshot(s,a))})()}getSelectedCommandText(){return this.getSelectedCommands().then(e=>e.join(`
15
+ `))}updateActions(){this.setState(e=>{var{selectedRanges:t}=e,n=t.reduce((r,a)=>r+a[1]-a[0]+1,0);return n>0&&n<Fe.MAX_SELECTION_COUNT?(ft.debug("Updating actions",this.itemActions),{actions:this.itemActions}):(ft.debug("Disabling actions",n),{actions:[]})})}copySelectedCommands(){this.getSelectedCommandText().then(js).catch(ft.error)}createNotebook(){this.getSelectedCommandText().then(e=>{var{language:t,sendToNotebook:n}=this.props;n({value:e,language:t},!0)}).catch(ft.error)}sendToNotebook(){this.getSelectedCommandText().then(e=>{var{language:t,sendToNotebook:n}=this.props;n({value:e,language:t})}).catch(ft.error)}sendToConsole(){var{sendToConsole:e}=this.props;this.getSelectedCommandText().then(e).catch(ft.error)}runInConsole(){this.getSelectedCommandText().then(e=>{var{sendToConsole:t}=this.props;t(e,!0,!0)}).catch(ft.error)}handleSelect(e){var{sendToConsole:t}=this.props,{items:n,offset:r}=this.state;if(e<r||e>=r+n.length){ft.error("Invalid index!",e);return}var{name:a}=n[e-r];t(a)}handleSelectionChange(e){this.setState({selectedRanges:e}),this.updateActions()}handleViewportChange(e,t){this.setState({top:e,bottom:t})}handleSearchChange(e){this.setState({searchText:e.target.value}),this.debouncedSearchChange()}handleViewportUpdate(e){var{items:t,offset:n}=e,{table:r}=this.props,a=r.size;this.setState({items:t,itemCount:a,offset:n})}renderItem(e){var{item:t,itemIndex:n,isSelected:r}=e,{language:a,commandHistoryStorage:s}=this.props;return d.jsx(Po,{isSelected:r,item:t,language:a,commandHistoryStorage:s})}focus(){this.searchInputRef.current&&this.searchInputRef.current.focus()}restoreScrollPosition(){var e;(e=this.itemListRef.current)===null||e===void 0||e.restoreScrollPosition()}render(){var e,{language:t,table:n}=this.props,{actions:r,historyActions:a,searchText:s,debouncedSearchText:o,top:l,bottom:u,items:h,itemCount:c,offset:v,selectedRanges:m}=this.state,g=(e=uo.LANGUAGE_MAP.get(t))!==null&&e!==void 0?e:"";return d.jsxs("div",{className:"command-history",children:[d.jsxs("div",{className:"command-history-search-bar",children:[d.jsx(Rs,{ref:this.searchInputRef,value:s,placeholder:"".concat(g," Command History"),onChange:this.handleSearchChange}),d.jsx(Eh,{actions:a,hasSelection:m.length>0})]}),d.jsxs("div",{className:"command-history-list",children:[d.jsx(Zi,{ref:this.itemListRef,itemCount:c,items:h,offset:v,selectedRanges:m,onSelect:this.handleSelect,onSelectionChange:this.handleSelectionChange,onViewportChange:this.handleViewportChange,renderItem:this.renderItem,rowHeight:Fe.ITEM_HEIGHT,isDoubleClickSelect:!0,isMultiSelect:!0,isStickyBottom:!0}),d.jsx(Ph,{table:n,top:l,bottom:u,search:o,onUpdate:this.handleViewportUpdate}),d.jsx(Q,{actions:r})]})]})}}rt(Fe,"ITEM_HEIGHT",29);rt(Fe,"MAX_SELECTION_COUNT",1e4);rt(Fe,"SET_SEARCH_DEBOUNCE_MS",150);rt(Fe,"menuGroups",{send:Q.groups.medium+100});const Oh=Fe;class Nh extends p.PureComponent{constructor(e){super(e),this.handleSwitchClick=this.handleSwitchClick.bind(this)}handleSwitchClick(){var{logLevel:e,onClick:t}=this.props;t(e)}render(){var{logLevel:e,on:t}=this.props;return d.jsxs("div",{className:Z("log-level-menu-item",e),children:[d.jsx(Ol,{on:t,onClick:this.handleSwitchClick}),e]})}}const Lh=Nh;function fa(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ga(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fa(Object(t),!0).forEach(function(n){$e(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):fa(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function $e(i,e,t){return e=Dh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Dh(i){var e=Mh(i,"string");return typeof e=="symbol"?e:String(e)}function Mh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ce extends p.PureComponent{static getLogText(e){var t=new Date(e.micros/1e3),n=Ji.formatTimestamp(t);return"".concat(n," ").concat(e.logLevel," ").concat(e.message)}constructor(e){super(e),$e(this,"cancelListener",void 0),$e(this,"editor",void 0),$e(this,"editorContainer",void 0),$e(this,"logLevelMenuItems",void 0),$e(this,"flushTimer",void 0),$e(this,"bufferedMessages",void 0),$e(this,"messages",void 0),this.handleClearClick=this.handleClearClick.bind(this),this.handleFlushTimeout=this.handleFlushTimeout.bind(this),this.handleLogMessage=this.handleLogMessage.bind(this),this.handleMenuItemClick=this.handleMenuItemClick.bind(this),this.handleResetClick=this.handleResetClick.bind(this),this.handleResize=this.handleResize.bind(this),this.handleToggleAllClick=this.handleToggleAllClick.bind(this),this.logLevelMenuItems={},this.editorContainer=null,this.bufferedMessages=[],this.messages=[],this.state={shownLogLevels:{}}}componentDidMount(){this.resetLogLevels(),this.initMonaco(),this.startListening(),window.addEventListener("resize",this.handleResize)}componentDidUpdate(e,t){this.updateDimensions();var{shownLogLevels:n}=this.state;t.shownLogLevels!==n&&this.refreshLogText();var{session:r}=this.props;e.session!==r&&(this.stopListening(),this.startListening(),this.clearLogs())}componentWillUnmount(){this.stopFlushTimer(),this.stopListening(),this.destroyMonaco(),window.removeEventListener("resize",this.handleResize)}getMenuActions(e){var t=this,n=[];n.push({menuElement:d.jsx("div",{className:"log-level-menu-title",children:"Display Log Levels"}),group:1,order:10});for(var r=function(){var o=ce.AllLogLevels[a],l=e[o]!=null?e[o]:!1;n.push({title:o,group:1,order:a+100,menuElement:d.jsx(Lh,{logLevel:o,on:l,onClick:t.handleMenuItemClick,ref:u=>{u!=null&&(t.logLevelMenuItems[o]=u)}})})},a=0;a<ce.AllLogLevels.length;a+=1)r();return n.push({group:1,order:1e3,menuElement:d.jsxs("div",{className:"log-level-menu-controls",children:[d.jsx(k,{kind:"ghost",className:"log-level-toggle-all",onClick:this.handleToggleAllClick,children:"Toggle All"}),d.jsx(k,{kind:"ghost",onClick:this.handleResetClick,children:"Reset"})]})}),n}resetLogLevels(){for(var e={},t=function(){var a=ce.AllLogLevels[n],s=ce.DefaultLogLevels.some(o=>o===a);e[a]=s},n=0;n<ce.AllLogLevels.length;n+=1)t();this.setState({shownLogLevels:e})}startListening(){var{session:e}=this.props;this.cancelListener=e.onLogMessage(this.handleLogMessage)}stopListening(){this.cancelListener!=null&&(this.cancelListener(),this.cancelListener=void 0)}initMonaco(){I(this.editorContainer),this.editor=lr.create(this.editorContainer,{copyWithSyntaxHighlighting:!1,fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:"log",lineDecorationsWidth:0,lineNumbers:"off",lineNumbersMinChars:0,minimap:{enabled:!1},readOnly:!0,renderLineHighlight:"none",scrollBeyondLastLine:!1,value:"",wordWrap:"on"}),[[Cn.Escape],[Ns.Shift|Cn.Escape]].forEach(e=>{I(this.editor),Be.disableKeyBindings(this.editor,e),this.editor.addAction({id:"clear-selection-on-escape",label:"",keybindings:[Cn.Escape],keybindingContext:"findWidgetVisible && editorTextFocus",run:()=>{var t,n,r=(t=this.editor)===null||t===void 0?void 0:t.getPosition();I(r),(n=this.editor)===null||n===void 0||n.setPosition(r)}})})}destroyMonaco(){this.editor&&(this.editor.dispose(),this.editor=void 0)}triggerFindWidget(){var e,t;(e=this.editor)===null||e===void 0||e.focus(),(t=this.editor)===null||t===void 0||t.trigger("keyboard","actions.find",void 0)}toggleAll(){for(var{shownLogLevels:e}=this.state,t=!0,n=0;n<ce.AllLogLevels.length;n+=1){var r=ce.AllLogLevels[n];if(!e[r]){t=!1;break}}if(t)this.setState({shownLogLevels:{}});else{for(var a={},s=0;s<ce.AllLogLevels.length;s+=1){var o=ce.AllLogLevels[s];a[o]=!0}this.setState({shownLogLevels:a})}}toggleLogLevel(e){var{shownLogLevels:t}=this.state,n=t[e],r={};r[e]=!n,this.updateLogLevels(r)}updateLogLevels(e){var{shownLogLevels:t}=this.state;t=ga(ga({},t),e),this.setState({shownLogLevels:t})}appendLogText(e){if(this.editor){var t=this.editor.getModel(),n=t==null?void 0:t.getLineCount();I(n);var r=t==null?void 0:t.getLineLength(n);I(r);var a=this.isBottomVisible(),s=[];if(r>0&&(s.push({range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:r+1},text:`
16
+ `,forceMoveMarkers:!0}),n+=1,r=0),s.push({range:{startLineNumber:n,startColumn:r,endLineNumber:n,endColumn:r},text:e,forceMoveMarkers:!0}),t==null||t.applyEdits(s),a){var o=t==null?void 0:t.getLineCount();I(o),this.editor.revealLine(o,1)}}}refreshLogText(){if(this.editor){this.truncateLogIfNecessary();for(var{shownLogLevels:e}=this.state,t=this.isBottomVisible(),n="",r=0;r<this.messages.length;r+=1){var a=this.messages[r];if(e[a.logLevel]){var s=ce.getLogText(a);s.length>0&&(n+=s,s.charAt(s.length-1)!==`
17
+ `&&(n+=`
18
+ `))}}if(n=n.trimRight(),this.editor.setValue(n),t){var o,l=(o=this.editor.getModel())===null||o===void 0?void 0:o.getLineCount();I(l),this.editor.revealLine(l,1)}this.stopFlushTimer(),this.bufferedMessages=[]}}truncateLogIfNecessary(){this.messages.length>ce.maxLogSize&&(this.messages=this.messages.splice(this.messages.length-ce.truncateSize))}scrollToBottom(){var e,t,n;if(this.editor){var r=(e=this.editor)===null||e===void 0||(t=e.getModel)===null||t===void 0||(n=t.call(e))===null||n===void 0?void 0:n.getLineCount();I(r),this.editor.revealLine(r,1)}}isBottomVisible(){if(!this.editor)return!0;var e=this.editor.getModel(),t=e==null?void 0:e.getLineCount();return I(t),this.isLineVisible(t)}isLineVisible(e){var t,n=(t=this.editor)===null||t===void 0?void 0:t.getVisibleRanges();if(n==null||n.length===0)return!1;for(var r=0;r<n.length;r+=1){var a=n[r];if(a.startLineNumber<=e&&e<=a.endLineNumber)return!0}return!1}isLogItemVisible(e){var{shownLogLevels:t}=this.state;return t[e.logLevel]}flush(){for(var e="",t=0;t<this.bufferedMessages.length;t+=1){var n=this.bufferedMessages[t],r=ce.getLogText(n);e+=r,r.charAt(r.length-1)!==`
19
+ `&&(e+=`
20
+ `)}this.bufferedMessages=[],this.appendLogText(e)}queue(e){this.bufferedMessages.push(e),this.bufferedMessages.length===1&&(this.flushTimer=setTimeout(this.handleFlushTimeout,ce.bufferTimeout))}stopFlushTimer(){this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=void 0)}updateDimensions(){this.editor&&this.editor.layout()}handleClearClick(){this.clearLogs()}clearLogs(){this.messages=[],this.refreshLogText()}handleFlushTimeout(){this.stopFlushTimer(),this.flush()}handleLogMessage(e){this.messages.push(e),this.editor&&this.isLogItemVisible(e)&&this.queue(e)}handleMenuItemClick(e){this.toggleLogLevel(e)}handleResetClick(){this.resetLogLevels()}handleResize(){this.updateDimensions()}handleToggleAllClick(){this.toggleAll()}render(){var e={placement:"bottom-end"},{shownLogLevels:t}=this.state,n=this.getMenuActions(t);return d.jsxs("div",{className:"log-pane h-100 w-100",children:[d.jsxs("div",{className:"log-pane-menu",children:[d.jsx(k,{kind:"ghost",className:"btn-clear-logs",onClick:this.handleClearClick,icon:ad,tooltip:"Clear log"}),d.jsx(k,{kind:"ghost",className:"btn-link-icon btn-overflow",icon:mi,tooltip:"Log Settings",onClick:()=>{},children:d.jsx(Wt,{actions:n,popperClassName:"log-level-menu-popper",popperOptions:e})})]}),d.jsx("div",{className:"log-pane-editor h-100 w-100",ref:r=>{this.editorContainer=r}})]})}}$e(ce,"DefaultLogLevels",[we.STDOUT,we.ERROR,we.FATAL,we.STDERR,we.WARN]);$e(ce,"AllLogLevels",[we.INFO,we.STDOUT,we.ERROR,we.FATAL,we.STDERR,we.WARN,we.DEBUG,we.TRACE]);$e(ce,"bufferTimeout",16);$e(ce,"maxLogSize",131072);$e(ce,"truncateSize",65536);const Fh=ce;function ba(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function xh(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ba(a,n,r,s,o,"next",l)}function o(l){ba(a,n,r,s,o,"throw",l)}s(void 0)})}}var Ih=z.module("HeapUsage");function Rh(i){var e,{connection:t,defaultUpdateInterval:n,hoverUpdateInterval:r,bgMonitoring:a=!0,monitorDuration:s}=i,o=ci(),[l,u]=p.useState({freeMemory:0,maximumHeapSize:999,totalHeapSize:0}),[h,c]=p.useState(!1),v=p.useRef({timestamps:[],usages:[]}),m=Nl(),g=p.useCallback(xh(function*(){try{var R=yield t.getWorkerHeapInfo();if(!m.current)return;if(u(R),a||h){for(var W=(R.totalHeapSize-R.freeMemory)/R.maximumHeapSize,G=Date.now(),{timestamps:ae,usages:Ce}=v.current;ae.length!==0&&G-ae[0]>s*1.5;)ae.shift(),Ce.shift();ae.push(G),Ce.push(W)}else v.current={timestamps:[],usages:[]}}catch(Se){Ih.warn("Unable to get heap usage",Se)}}),[t,m,a,h,s]);Ll(g,h?r:n);var b=(R,W)=>Math.round(R*10**W)/10**W,f=2,C=1024**3,{freeMemory:E,totalHeapSize:S,maximumHeapSize:y}=l,O=b(E/C,f),x=b(S/C,f),L=b(y/C,f),F=x-O,N=function(W,G){var ae=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return d.jsxs("div",{className:Z("heap-usage-info-row",{"heading-bottom-border":ae}),children:[d.jsx("div",{className:"font-weight-bold",children:W}),d.jsx("div",{children:G})]})},{timestamps:A,usages:Y}=v.current,j=(e=A[A.length-1])!==null&&e!==void 0?e:0,U=S/y,V=(S-E)/y;return d.jsxs("div",{className:"max-memory",children:[d.jsx("div",{className:"total-memory",style:{width:"calc(".concat(U*100,"% - ").concat(U*2,"px")}}),d.jsx("div",{className:Z("used-memory",{"heap-overflow":(S-E)/y>.95}),style:{width:"calc(".concat(V*100,"% - ").concat(V*2,"px")}}),d.jsxs("div",{className:"memory-text",children:[L.toFixed(1)," GB"]}),d.jsx(wt,{onEntered:()=>c(!0),onExited:()=>c(!1),interactive:!0,children:d.jsxs("div",{className:"heap-tooltip",children:[N("In use:","".concat(F.toFixed(f)," of ").concat(L.toFixed(f)," GB"),!0),N("Free:","".concat(O.toFixed(f)," GB")),N("Total:","".concat(x.toFixed(f)," GB")),N("Max:","".concat(L.toFixed(f)," GB")),d.jsx("div",{className:"heap-plot",children:d.jsx(Dl,{data:[{x:[...A],y:[...Y],type:"scatter",mode:"lines"}],config:{staticPlot:!0,responsive:!0},style:{width:"196px",height:"100px"},layout:{margin:{l:2,t:2,r:2,b:2},plot_bgcolor:"transparent",paper_bgcolor:"transparent",colorway:["#4878ea"],xaxis:{dtick:Math.round(s/6),gridcolor:o.linecolor,range:[j-s,j],linecolor:o.linecolor,linewidth:2,mirror:!0},yaxis:{dtick:.2,gridcolor:o.linecolor,range:[0,1],linecolor:o.linecolor,linewidth:2,mirror:!0}}})}),d.jsxs("div",{className:"heap-utilisation-text",children:["% utilization over ",Math.round(s/1e3/60)," min."]})]})})]})}function br(i,e,t){return e=kh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kh(i){var e=jh(i,"string");return typeof e=="symbol"?e:String(e)}function jh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ci{}br(Ci,"OPEN","ChartEvent.OPEN");br(Ci,"CLOSE","ChartEvent.CLOSE");br(Ci,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const nr=Ci;function An(i,e,t){return e=Ah(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ah(i){var e=_h(i,"string");return typeof e=="symbol"?e:String(e)}function _h(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class nn{}An(nn,"SESSION_OPENED","ConsoleEvent.SESSION_OPENED");An(nn,"SESSION_CLOSED","ConsoleEvent.SESSION_CLOSED");An(nn,"FOCUS_HISTORY","ConsoleEvent.FOCUS_HISTORY");An(nn,"SEND_COMMAND","ConsoleEvent.SEND_COMMAND");An(nn,"SETTINGS_CHANGED","ConsoleEvent.SETTINGS_CHANGED");const We=nn;function Mt(i,e,t){return e=$h(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $h(i){var e=Uh(i,"string");return typeof e=="symbol"?e:String(e)}function Uh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ct{}Mt(ct,"TABLE_CHANGED","InputFilterEvent.TABLE_CHANGED");Mt(ct,"COLUMNS_CHANGED","InputFilterEvent.COLUMNS_CHANGED");Mt(ct,"FILTERS_CHANGED","InputFilterEvent.FILTERS_CHANGED");Mt(ct,"CLEAR_ALL_FILTERS","InputFilterEvent.CLEAR_ALL_FILTERS");Mt(ct,"COLUMN_SELECTED","InputFilterEvent.COLUMN_SELECTED");Mt(ct,"OPEN_DROPDOWN","InputFilterEvent.OPEN_DROPDOWN");Mt(ct,"OPEN_INPUT","InputFilterEvent.OPEN_INPUT");Mt(ct,"OPEN_FILTER_SET_MANAGER","InputFilterEvent.OPEN_FILTER_SET_MANAGER");const fe=ct;function rn(i,e,t){return e=Hh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Hh(i){var e=Vh(i,"string");return typeof e=="symbol"?e:String(e)}function Vh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ut{}rn(Ut,"OPEN_GRID","IrisGridEvent.OPEN_GRID");rn(Ut,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");rn(Ut,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");rn(Ut,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");rn(Ut,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");rn(Ut,"CREATE_CHART","IrisGridevent.CREATE_CHART");const Xe=Ut,Gh=Object.freeze({OPEN:"MarkdownEvent.OPEN"});function vt(i,e,t){return e=Bh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Bh(i){var e=Wh(i,"string");return typeof e=="symbol"?e:String(e)}function Wh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class lt{}vt(lt,"CREATE_NOTEBOOK","NotebookEvent.createNotebook");vt(lt,"SELECT_NOTEBOOK","NotebookEvent.selectNotebook");vt(lt,"CLOSE_FILE","NotebookEvent.closeFile");vt(lt,"RENAME","NotebookEvent.rename");vt(lt,"RENAME_FILE","NotebookEvent.renameFile");vt(lt,"REGISTER_FILE","NotebookEvent.registerFile");vt(lt,"SEND_TO_NOTEBOOK","NotebookEvent.sendToNotebook");vt(lt,"UNREGISTER_FILE","NotebookEvent.unregisterFile");vt(lt,"PROMOTE_FROM_PREVIEW","NotebookEvent.promoteFromPreview");const ie=lt;function wo(i,e,t){return e=Kh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Kh(i){var e=zh(i,"string");return typeof e=="symbol"?e:String(e)}function zh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Cr{}wo(Cr,"OPEN","PandasEvent.OPEN");wo(Cr,"CLOSE","PandasEvent.CLOSE");const Qm=Cr;function an(i,e,t){return e=qh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qh(i){var e=Yh(i,"string");return typeof e=="symbol"?e:String(e)}function Yh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ht{}an(Ht,"focus","TabEvent.focus");an(Ht,"blur","TabEvent.blur");an(Ht,"openPQObject","TabEvent.openPQObject");an(Ht,"openControl","TabEvent.openControl");an(Ht,"reload","TabEvent.reload");an(Ht,"clearAllFilters","TabEvent.clearAllFilters");const Kn=Ht;function Zh(i,e,t){return e=Xh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xh(i){var e=Qh(i,"string");return typeof e=="symbol"?e:String(e)}function Qh(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class To extends p.PureComponent{constructor(e){super(e),this.handleCloseTab=this.handleCloseTab.bind(this),this.handleCloseTabsRight=this.handleCloseTabsRight.bind(this),this.handleCloseTabsAll=this.handleCloseTabsAll.bind(this)}getAllTabs(){var e,t,n,{glContainer:r}=this.props;return[...(e=r==null||(t=r.tab)===null||t===void 0||(n=t.header)===null||n===void 0?void 0:n.tabs)!==null&&e!==void 0?e:[]]}handleCloseTab(){var{glContainer:e}=this.props;e.close()}handleCloseTabsAll(){var e=this.getAllTabs();e.forEach(t=>{var n;return(n=(t==null?void 0:t.contentItem).container)===null||n===void 0?void 0:n.close()})}handleCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),n=t.length-1;n>0;n-=1){var r,a,s,o,l,u,h;if(((r=t[n].contentItem)===null||r===void 0||(a=r.config)===null||a===void 0?void 0:a.id)===((s=e.tab)===null||s===void 0||(o=s.contentItem)===null||o===void 0||(l=o.config)===null||l===void 0?void 0:l.id))break;(u=((h=t[n])===null||h===void 0?void 0:h.contentItem).container)===null||u===void 0||u.close()}}canCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),n=!0,r=t.length-1;r>0;r-=1){var a,s,o,l,u,h,c,v;if(((a=t[r].contentItem)===null||a===void 0||(s=a.config)===null||s===void 0?void 0:s.id)===((o=e.tab)===null||o===void 0||(l=o.contentItem)===null||l===void 0||(u=l.config)===null||u===void 0?void 0:u.id))break;var m=!!(!((h=t[r])===null||h===void 0||(c=h.contentItem)===null||c===void 0||(v=c.config)===null||v===void 0)&&v.isClosable);if(m){n=!1;break}}return n}canCloseAny(){for(var e=this.getAllTabs(),t=!0,n=e.length-1;n>0;n-=1){var r,a,s,o=!!(!((r=e[n])===null||r===void 0||(a=r.contentItem)===null||a===void 0||(s=a.config)===null||s===void 0)&&s.isClosable);if(o){t=!1;break}}return t}render(){var e,t,n,{additionalActions:r,glContainer:a}=this.props,s=[...r],o=(e=a.tab)===null||e===void 0||(t=e.contentItem)===null||t===void 0||(n=t.config)===null||n===void 0?void 0:n.isClosable;return s.push({title:"Close",order:10,group:Q.groups.low,action:this.handleCloseTab,disabled:o===void 0||!o}),s.push(()=>({title:"Close Tabs to Right",order:20,group:Q.groups.low,action:this.handleCloseTabsRight,disabled:this.canCloseTabsRight()})),s.push(()=>({title:"Close All",order:30,group:Q.groups.low,action:this.handleCloseTabsAll,disabled:this.canCloseAny()})),d.jsx(Q,{actions:s})}}Zh(To,"defaultProps",{additionalActions:[]});const Jh=To;function Oo(i,e,t){return e=ec(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ec(i){var e=tc(i,"string");return typeof e=="symbol"?e:String(e)}function tc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class No extends p.PureComponent{constructor(e){super(e),Oo(this,"renameInputRef",void 0),this.handleRenameDialogOpened=this.handleRenameDialogOpened.bind(this),this.handleRenameInputChange=this.handleRenameInputChange.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.renameInputRef=X.createRef();var{value:t}=e;this.state={value:t,valueWasValidated:!1}}componentDidUpdate(e){var{isShown:t}=e,{isShown:n}=this.props;n&&!t&&this.resetState()}resetState(){var{value:e}=this.props;this.setState({value:e,valueWasValidated:!1})}handleRenameDialogOpened(){var e,t;(e=this.renameInputRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.focus()}handleRenameInputChange(e){this.setState({value:e.target.value})}handleRenameCancel(){var{onCancel:e}=this.props;e()}handleRenameSubmit(e){e.stopPropagation(),e.preventDefault();var{value:t}=this.state,n=t==null?void 0:t.trim();if(n!==void 0&&n!==""){var{onSubmit:r}=this.props;r(n)}else this.setState({value:n,valueWasValidated:!0})}renderRenameDialog(){var{isShared:e,isOwner:t,itemType:n}=this.props,{value:r,valueWasValidated:a}=this.state;return d.jsxs("form",{className:Z("p-3",{"was-validated":a}),onSubmit:this.handleRenameSubmit,noValidate:!0,role:"presentation",onMouseDown:s=>{s.stopPropagation()},onMouseUp:s=>{s.stopPropagation()},children:[d.jsxs("div",{className:"form-group",children:[d.jsxs("label",{htmlFor:"rename-dialog-".concat(n,"-input"),children:["Rename ",n]}),d.jsx("input",{type:"text",className:"form-control",id:"rename-dialog-".concat(n,"-input"),value:r??void 0,ref:this.renameInputRef,onChange:this.handleRenameInputChange,required:!0}),d.jsxs("div",{className:"invalid-feedback",children:[n," name cannot be empty"]}),(e||!t)&&d.jsxs("div",{className:"pt-2",children:["Renaming this ",n," will rename for all users."]})]}),d.jsxs("div",{className:"text-right",children:[d.jsx(k,{kind:"secondary",className:"mr-2",onClick:this.handleRenameCancel,children:"Cancel"}),d.jsx(k,{kind:"primary",type:"submit",children:"Rename"})]})]})}render(){var{isShown:e,onCancel:t}=this.props;return d.jsx(Ml,{isShown:e,onEntered:this.handleRenameDialogOpened,onExited:t,options:{placement:"bottom"},interactive:!0,closeOnBlur:!0,children:this.renderRenameDialog()})}}Oo(No,"defaultProps",{isShared:!1,isOwner:!0,itemType:"Item",value:""});function ir(i,e,t){return e=nc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function nc(i){var e=ic(i,"string");return typeof e=="symbol"?e:String(e)}function ic(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var rc=z.module("Panel");let Lo=class extends p.PureComponent{constructor(e){super(e),ir(this,"ref",void 0),ir(this,"getAdditionActions",te((n,r,a)=>{var s=[];return r&&s.push(this.getCloneAction()),a&&s.push(this.getRenameAction()),[...s,...n]})),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleCopyPanel=this.handleCopyPanel.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleBlur=this.handleBlur.bind(this),this.handleHide=this.handleHide.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleBeforeShow=this.handleBeforeShow.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.handleShowRenameDialog=this.handleShowRenameDialog.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleTab=this.handleTab.bind(this),this.ref=X.createRef();var{glContainer:t}=this.props;this.state={title:M.getTitleFromContainer(t),showRenameDialog:!1,isWithinPanel:!0}}componentDidMount(){var e,t,{componentPanel:n,glContainer:r,glEventHub:a}=this.props;r.on("resize",this.handleResize),r.on("show",this.handleBeforeShow),r.on("shown",this.handleShow),r.on("hide",this.handleHide),r.on("tab",this.handleTab),r.on("tabClicked",this.handleTabClicked),a.on(We.SESSION_CLOSED,this.handleSessionClosed),a.on(We.SESSION_OPENED,this.handleSessionOpened),a.on(Kn.focus,this.handleTabFocus),a.on(Kn.blur,this.handleTabBlur),a.on(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),a.emit(le.MOUNT,n??this),this.setState({isWithinPanel:((e=this.ref.current)===null||e===void 0||(t=e.parentElement)===null||t===void 0?void 0:t.closest(".dh-panel"))!=null})}componentWillUnmount(){var{componentPanel:e,glContainer:t,glEventHub:n}=this.props;t.off("resize",this.handleResize),t.off("show",this.handleBeforeShow),t.off("shown",this.handleShow),t.off("hide",this.handleHide),t.off("tab",this.handleTab),t.off("tabClicked",this.handleTabClicked),n.off(We.SESSION_CLOSED,this.handleSessionClosed),n.off(We.SESSION_OPENED,this.handleSessionOpened),n.off(Kn.focus,this.handleTabFocus),n.off(Kn.blur,this.handleTabBlur),n.off(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),n.emit(le.UNMOUNT,e??this)}handleTab(e){e!=null&&this.setState({title:M.getTitleFromTab(e)}),this.forceUpdate();var{onTab:t}=this.props;t(e)}handleTabClicked(e){var{onTabClicked:t}=this.props;t(e)}handleClearAllFilters(){var{onClearAllFilters:e}=this.props;e(...arguments)}handleFocus(e){var{componentPanel:t,glEventHub:n}=this.props;n.emit(le.FOCUS,t??this);var{onFocus:r}=this.props;r(e)}handleBlur(e){var{onBlur:t}=this.props;t(e)}handleHide(){var{onHide:e}=this.props;e(...arguments)}handleResize(){var{onResize:e}=this.props;e(...arguments)}handleSessionClosed(e){var{onSessionClose:t}=this.props;t(e)}handleSessionOpened(e,t){var{onSessionOpen:n}=this.props;n(e,t)}handleBeforeShow(){var{onBeforeShow:e}=this.props;e(...arguments)}handleShow(){var{onShow:e}=this.props;e(...arguments)}handleTabBlur(){var{onTabBlur:e}=this.props;e(...arguments)}handleTabFocus(){var{onTabFocus:e}=this.props;e(...arguments)}handleRenameCancel(){this.setState({showRenameDialog:!1})}handleShowRenameDialog(){this.setState({showRenameDialog:!0})}handleRenameSubmit(e){var{glContainer:t}=this.props;this.setState({showRenameDialog:!1,title:e});var n=M.getRootFromContainer(t),r=M.getComponentConfigFromContainer(t);I(r),M.renameComponent(n,r,e)}handleCopyPanel(){var{glContainer:e,glEventHub:t}=this.props,n=M.getRootFromContainer(e),r=M.getComponentConfigFromContainer(e);if(r==null){rc.error("Could not get component config from container",e);return}var a=M.cloneComponent(n,r);a!==null&&t.emit(le.CLONED,this,a)}getCloneAction(){return{title:"Copy Panel",order:10,group:Q.groups.high,action:this.handleCopyPanel}}getRenameAction(){return{title:"Rename",order:10,group:Q.groups.medium,action:this.handleShowRenameDialog}}render(){var{children:e,className:t,renderTabTooltip:n,glContainer:r,additionalActions:a,errorMessage:s,isLoaded:o,isLoading:l,isClonable:u,isRenamable:h}=this.props,{tab:c}=r,{showRenameDialog:v,title:m,isWithinPanel:g}=this.state;return d.jsxs("div",{className:Z("h-100 w-100 dh-panel",t),onFocusCapture:this.handleFocus,onBlurCapture:this.handleBlur,ref:this.ref,children:[e,d.jsx(pi,{errorMessage:s,isLoaded:o,isLoading:l}),!g&&c!=null&&Ds.createPortal(d.jsxs(d.Fragment,{children:[d.jsx(Jh,{glContainer:r,additionalActions:this.getAdditionActions(a,u,h)}),h&&d.jsx(No,{isShown:v,value:m,itemType:"Panel",onCancel:this.handleRenameCancel,onSubmit:this.handleRenameSubmit}),n!=null&&d.jsx(wt,{interactive:!0,options:{placement:"bottom"},popperClassName:"panel-tab-popper",children:n()})]}),c.element[0])]})}};ir(Lo,"defaultProps",{className:"",onTab:()=>{},onTabClicked:()=>{},onClearAllFilters:()=>{},onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onBeforeShow:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},renderTabTooltip:null,additionalActions:[],errorMessage:null,isLoading:!1,isLoaded:!0,isClonable:!1,isRenamable:!1});const pt=Lo;function Si(i){var{widgetType:e,widgetName:t,glContainer:n,description:r,children:a}=i,s=M.getTitleFromContainer(n);return d.jsxs("div",{className:"tab-tooltip-grid-container",children:[d.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),d.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[d.jsx("span",{className:"tab-tooltip-name",children:t}),d.jsx(Fl,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==s&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),d.jsx("span",{className:"tab-tooltip-name",children:s})]}),r&&d.jsx("div",{className:"tab-tooltip-description",children:r}),a]})}Si.propTypes={glContainer:As.Container.isRequired,widgetType:_.string,widgetName:_.string,description:_.string,children:_.node};Si.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function Do(i,e,t){return e=ac(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ac(i){var e=sc(i,"string");return typeof e=="symbol"?e:String(e)}function sc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Mo extends p.PureComponent{constructor(e){super(e),Do(this,"getCachedRenderTabTooltip",te((t,n,r,a,s)=>t?()=>d.jsx(Si,{glContainer:n,widgetType:r,widgetName:a,description:s}):null)),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{widgetName:e}=this.props;js(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:r,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
21
+ Check your internet connection.`;if(t&&n)return"Disconnected from server.";if(n){var{widgetName:s,widgetType:o}=this.props;return'Variable "'.concat(s,`" not set.
22
+ `).concat(o," does not exist yet.")}if(r){var{widgetName:l}=this.props;return"".concat(l," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:r,isLoading:a,glContainer:s,glEventHub:o,isDisconnected:l,isClonable:u,isRenamable:h,showTabTooltip:c,renderTabTooltip:v,widgetType:m,widgetName:g,description:b,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:S,onResize:y,onShow:O,onTabBlur:x,onTabFocus:L,onTabClicked:F}=this.props,{isPanelDisconnected:N,isWidgetDisconnected:A,isPanelInactive:Y}=this.state,j=this.getErrorMessage(),U=v??this.getCachedRenderTabTooltip(c,s,m,g,b),V=[{title:"Copy ".concat(m," Name"),group:Q.groups.medium,order:20,action:this.handleCopyName}];return d.jsxs(pt,{className:Z(t,{disconnected:N||A||l,inactive:Y}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:S,onResize:y,onShow:O,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:x,onTabFocus:L,onTabClicked:F,renderTabTooltip:U,errorMessage:j,isLoaded:r,isLoading:a,isClonable:u,isRenamable:h,additionalActions:V,children:[e,Y&&d.jsx("div",{className:"fill-parent-absolute"})]})}}Do(Mo,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const Ei=Mo,at=Object.freeze({DEFAULT:"DEFAULT",LINKER:"LINKER"});var oc=Object.freeze({}),lc=new Map,yi=Object.freeze([]),Fo=(i,e)=>{var t;return(t=ot(i,e).columns)!==null&&t!==void 0?t:yi},dc=(i,e)=>{var t;return(t=ot(i,e).filterSets)!==null&&t!==void 0?t:yi},Sr=(i,e)=>{var t;return(t=ot(i,e).filters)!==null&&t!==void 0?t:yi},Er=(i,e)=>{var t;return(t=ot(i,e).tableMap)!==null&&t!==void 0?t:lc},yr=(i,e)=>ot(i,e).isolatedLinkerPanelId,sn=(i,e)=>{var t;return(t=ot(i,e).links)!==null&&t!==void 0?t:yi},Pr=(i,e)=>ot(i,e).columnSelectionValidator,ef=(i,e)=>{var t;return(t=ot(i,e).consoleSettings)!==null&&t!==void 0?t:oc},tf=(i,e)=>ot(i,e).connection,_n=(i,e)=>ot(i,e).sessionWrapper,nf=(i,e)=>t=>t(Ot(i,{connection:e})),rf=(i,e)=>t=>t(Ot(i,{sessionWrapper:e})),wr=(i,e)=>t=>t(Ot(i,{links:e})),uc=(i,e)=>(t,n)=>{var r=sn(n(),i),a=e.filter(s=>r.findIndex(o=>qi(o.start,s.start)&&qi(o.end,s.end))<0);return t(wr(i,r.concat(a)))},hc=(i,e)=>(t,n)=>{var r=sn(n(),i),a=r.filter(s=>!e.includes(s.id));return t(wr(i,a))},xo=(i,e)=>t=>t(Ot(i,{isolatedLinkerPanelId:e})),cc=(i,e)=>t=>t(Ot(i,{columnSelectionValidator:e})),vc=(i,e)=>t=>t(Ot(i,{consoleSettings:e})),pc=(i,e)=>t=>t(Ot(i,{filterSets:e}));function Io(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:s,waitingInputMap:o}=i,l=p.useMemo(()=>{var g=Array.from(o.keys()),b=g.find(E=>t.get(E)!=null),f=g.find(E=>n.get(E)!=null),C=qe.join(g.map(E=>'"'.concat(E,'"')));return b!=null&&b&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):b!=null&&b?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,o]),u=p.useMemo(()=>Array.from(e.values()),[e]),h=p.useCallback(g=>{g.stopPropagation(),g.preventDefault(),r(Array.from(s.values()))},[r,s]),c=p.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),v=s.size>0,m=!v&&o.size>0;return d.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:d.jsxs("div",{className:Z("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":v},{"chart-filter-waiting-input":m}),children:[v&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),d.jsx("div",{className:"waiting-filter-list",children:u.map(g=>{var b=s.has(g.name),f=b?pr:sd;return d.jsxs("div",{className:Z("waiting-filter-item",{"is-invalid":b}),children:[d.jsx(J,{icon:f}),g.name]},g.name)})}),d.jsxs("div",{children:[d.jsx(Ar,{onClick:h,className:"btn-primary",children:"Add Input Filters"}),d.jsx(Ar,{onClick:c,className:"btn-primary",children:"Open Linker Tool"})]})]}),m&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"info-message",children:"Waiting for User Input"}),d.jsx("div",{className:"",children:l})]})]})})}Io.propTypes={columnMap:_.instanceOf(Map).isRequired,inputFilterMap:_.instanceOf(Map).isRequired,linkedColumnMap:_.instanceOf(Map).isRequired,onAdd:_.func.isRequired,onOpenLinker:_.func.isRequired,waitingFilterMap:_.instanceOf(Map).isRequired,waitingInputMap:_.instanceOf(Map).isRequired};function Fn(i){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:r}=i;return d.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:d.jsxs("div",{className:Z("chart-panel-overlay-content"),children:[d.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),d.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>d.jsx(_s,{className:Z("btn-chart-column-selector",Fn.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}Fn.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);Fn.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Tn(i){return i.settings!==void 0}function Ro(i){return i.figure!==void 0}function mc(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function fc(i){return i!=null&&mc(i.panelState)}function Ca(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Sa(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ca(Object(t),!0).forEach(function(n){Ye(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ca(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ye(i,e,t){return e=gc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function gc(i){var e=bc(i,"string");return typeof e=="symbol"?e:String(e)}function bc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Re=z.module("ChartPanel"),Cc=150;function Sc(i){return i.inputFilters!=null}function Ec(i){return i.panelState!=null}class Pi extends p.Component{constructor(e){super(e),Ye(this,"panelContainer",void 0),Ye(this,"pending",void 0),Ye(this,"getWaitingInputMap",te((s,o,l)=>{if(!s)return new Map;var u=new Map(o);return l.forEach((h,c)=>{u.delete(c)}),u})),Ye(this,"getWaitingFilterMap",te((s,o,l,u,h)=>{if(!s)return new Map;var c=new Map(o);return l.forEach((v,m)=>{c.delete(m)}),h.forEach((v,m)=>{c.delete(m)}),u.forEach((v,m)=>{c.delete(m)}),c})),Ye(this,"getInputFilterColumnMap",te((s,o)=>{for(var l=new Map,u=0;u<o.length;u+=1){var h=o[u],{name:c,type:v}=h,m=s.get(c);m!=null&&m.type===v&&l.set(c,h)}return l})),Ye(this,"getLinkedColumnMap",te((s,o)=>{for(var l=new Map,u=M.getIdFromPanel(this),h=0;h<o.length;h+=1){var c=o[h],v=null;if(c.start!=null&&c.start.panelId===u&&s.has(c.start.columnName)?v=c.start.columnName:c.end&&c.end.panelId===u&&s.has(c.end.columnName)&&(v=c.end.columnName),v!=null&&s.has(v)){var m=s.get(v);I(m),l.set(v,m)}}return l})),Ye(this,"getSelectorColumns",te((s,o,l)=>Array.from(s.values()).map(u=>({name:u.name,type:u.type,isValid:l?l(this,u):!1,isActive:o.has(u.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=Je(this.updateModelFromSource.bind(this),Cc),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=X.createRef(),this.pending=new Tt;var{metadata:t,panelState:n}=e,{filterValueMap:r=[],settings:a={}}=n??{};this.state={settings:a,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&Tn(t)&&t.settings.isLinked,filterMap:new Map(r),filterValueMap:new Map(r),model:void 0,columnMap:new Map,panelState:n}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:r,makeModel:a}=this.props,{columnMap:s,model:o,filterMap:l,filterValueMap:u,isLinked:h,settings:c}=this.state;o&&(a!==e.makeModel&&this.initModel(),s!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),l!==t.filterMap?this.updateFilters():u!==t.filterValueMap&&this.updatePanelState(),c!==t.settings&&_r(o)&&(o.updateSettings(c),this.updatePanelState()),h!==t.isLinked?r&&(h?(this.startListeningToSource(r),this.updateModelFromSource()):this.stopListeningToSource(r)):h&&r!==e.source&&(e.source&&this.stopListeningToSource(e.source),r&&(this.startListeningToSource(r),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Re.debug("startListeningToSource",e);var{model:t}=this.state;I(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){Re.debug("stopListeningToSource",e);var{model:t}=this.state;I(t);var{dh:n}=t;e.removeEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:n}=this.state;e&&!t&&!n&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:n}=this.state;t.emit(nr.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:r}=this.props;Re.debug("handleColumnMouseEnter",r,t,n),r&&r(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Re.debug("handleColumnMouseLeave",e),e&&e(this,void 0)}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:n}=this.props;n(e,void 0),t(at.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){Re.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:r}=this.props,{filterMap:a,isLinked:s}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),r&&s&&(this.startListeningToSource(r),this.updateModelFromSource()))})}handleLoadError(e){ge.isCanceled(e)||(Re.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:r}=this.state;if(!n||!r||!t){Re.debug2("updateModelFromSource ignoring",n,r,t);return}var{dh:a}=r;if(this.pending.cancel(),Tn(e)){var{settings:s}=e;this.pending.add(a.plot.Figure.create(new Us(a).makeFigureSettings(s,t))).then(o=>{_r(r)&&r.setFigure(o)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:r}=this.state,{tableSettings:a}=t??{};if(e&&Sc(e.props)&&Ec(e.state)){var{inputFilters:s}=e.props,{panelState:o}=e.state;o!=null&&(a=je.extractTableSettings(o,s))}this.setState({panelState:{settings:r,tableSettings:a,filterValueMap:Array.from(n)}})}handleError(){this.setState({isLoading:!1})}handleSettingsChanged(e){this.setState(t=>{var{settings:n}=t,r=Sa(Sa({},n),e);return Re.debug("Updated settings",r),{settings:r}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:r}=e;t.emit(fe.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:r,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(fe.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Fn.makeButtonClassName(e);if(!this.panelContainer.current)return null;var r=this.panelContainer.current.querySelector(".".concat(n)),a=(t=r==null?void 0:r.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var s=a.left+a.width/2,o=a.bottom;return[s,o]}setFilterMap(e){Re.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:r,filterMap:a}=t,s=null,o=new Map(t.filterValueMap);return e.forEach((l,u)=>{var{columnType:h,filterList:c}=l,v=r.get(u);if(!(v==null||v.type!==h)){if(c.length<1){Re.debug("Ignoring empty filterList for column",u);return}var{value:m}=c[0];o.set(u,m),a.get(u)!==m&&(s===null&&(s=new Map(a)),s.set(u,m))}}),{filterValueMap:o,filterMap:(n=s)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:r}=t,{filterMap:a,filterValueMap:s}=t;if(!s.has(e))return null;s=new Map(t.filterValueMap),s.delete(e);var o=this.getInputFilterColumnMap(r,n);if(o.has(e)){var l,u=a.get(e),h=(l=o.get(e))===null||l===void 0?void 0:l.value;h!=null&&u!==h&&(a=new Map(t.filterMap),h.length>0?a.set(e,h):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:s}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(s=>s.name===a.name&&s.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var r=e.filter(a=>!t.includes(a));r.length>0&&this.updateInputFilters(r)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r}=n,a=new Map(n.filterValueMap),s=new Map(n.filterMap),o=t?{filterMap:s,filterValueMap:a}:{},l=0;l<e.length;l+=1){var{name:u,type:h,value:c}=e[l],v=r.get(u);v!=null&&v.type===h&&(c!=null&&s.get(u)!==c&&(c===""?s.delete(u):s.set(u,c),o.filterMap=s),a.has(u)&&(a.delete(u),o.filterValueMap=a))}return Re.debug("updateInputFilters",o),o})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r,filterValueMap:a}=n,s=new Map(n.filterMap),o=t,l=0;l<e.length;l+=1){var{name:u,type:h}=e[l],c=r.get(u);if(c!=null&&c.type===h&&s.has(u)){var v=s.get(u);if(a.has(u)){var m=a.get(u);m!==v&&m!=null&&(o=!0,s.set(u,m))}else o=!0,s.delete(u)}}return Re.debug("deleteInputFilters",o),o?{filterMap:s}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;I(n);var r=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&r.size===0){var a=n.getDefaultTitle(),s=qe.join(Array.from(t.entries()).map(o=>{var[l,u]=o;return"".concat(l,": ").concat(u)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(s,"</span>")):n.setTitle(s),Re.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else Re.debug2("updateFilters waiting on inputs",r),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),r=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((s,o)=>{t.has(o)||(r.delete(o),a.filterValueMap=r)}),e.filterMap.forEach((s,o)=>{t.has(o)||(n.delete(o),a.filterMap=n)}),a})}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:r,isLinkerActive:a,links:s,metadata:o,settings:l,Plotly:u,containerRef:h}=this.props,{columnMap:c,filterMap:v,error:m,model:g,isActive:b,isDisconnected:f,isLoaded:C,isLoading:E}=this.state,S;Tn(o)?S=o.table:Ro(o)?S=o.figure:S=o.name;var y=this.getInputFilterColumnMap(c,r),O=this.getLinkedColumnMap(c,s),x=g!=null?this.getWaitingInputMap(g.isFilterRequired(),c,v):new Map,L=g!=null?this.getWaitingFilterMap(g.isFilterRequired(),c,v,O,y):new Map,F=m!=null?"Unable to open chart. ".concat(m):void 0,N=x.size>0,A=c.size>0&&a;return d.jsx(Ei,{className:Z("iris-chart-panel",{"input-required":N}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:F,isDisconnected:f,isLoading:E,isLoaded:C,widgetName:S,widgetType:"Chart",children:d.jsxs("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100",children:[d.jsx("div",{className:"chart-container h-100 w-100",children:C&&g&&d.jsx(Hs,{isActive:b,model:g,settings:l,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:u,containerRef:h})}),d.jsx(Yi,{in:N&&!A&&!E,timeout:Qi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:d.jsx(Io,{inputFilterMap:y,linkedColumnMap:O,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:L,waitingInputMap:x})}),d.jsx(Yi,{in:A,timeout:Qi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:d.jsx(Fn,{columns:this.getSelectorColumns(c,O,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}Ye(Pi,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});Ye(Pi,"displayName","ChartPanel");Ye(Pi,"COMPONENT","ChartPanel");var yc=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&Tn(n)&&(r=n.sourcePanelId);var a=Er(i,t),s=Vs(i,t),o=fr(i),l=yr(i,t),u=o===at.LINKER&&l===void 0;return{columnSelectionValidator:Pr(i,t),isLinkerActive:u,inputFilters:Sr(i,t),links:sn(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?s.get(r):void 0,settings:kn(i)}},Pc=Ke(yc,{setActiveTool:$s,setDashboardIsolatedLinkerPanelId:xo},null,{forwardRef:!0})(Pi);const wi=Pc;function di(i,e,t){return e=wc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function wc(i){var e=Tc(i,"string");return typeof e=="symbol"?e:String(e)}function Tc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var zn=z.module("CommandHistoryPanel");class $n extends p.Component{static handleError(e){zn.error(e)}constructor(e){super(e),di(this,"container",void 0),di(this,"pending",void 0),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSendToConsole=this.handleSendToConsole.bind(this),this.handleSendToNotebook=this.handleSendToNotebook.bind(this),this.container=X.createRef(),this.pending=new Tt;var{session:t,sessionId:n,language:r}=e;this.state={panelState:{},session:t,sessionId:n,language:r,contextActions:[{action:this.handleFocusHistory,shortcut:xe.COMMAND_HISTORY.FOCUS_HISTORY}]}}componentDidMount(){var{glEventHub:e,session:t}=this.props;e.on(We.FOCUS_HISTORY,this.handleFocusHistory),t!=null&&this.loadTable()}componentWillUnmount(){var{glEventHub:e}=this.props;e.off(We.FOCUS_HISTORY,this.handleFocusHistory),this.pending.cancel()}handleFocusHistory(){this.container.current&&this.container.current.focus()}handleShow(){var e;(e=this.container.current)===null||e===void 0||e.restoreScrollPosition()}handleSessionOpened(e,t){var{language:n,sessionId:r}=t;this.setState({session:e,sessionId:r,language:n},()=>{this.loadTable()})}handleSessionClosed(){this.pending.cancel(),this.setState({session:void 0,language:void 0,table:void 0})}handleSendToNotebook(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{session:n,language:r}=this.state;if(zn.debug("handleSendToNotebook",n,e),!n){zn.error("Session is not connected.");return}var{glEventHub:a}=this.props;a.emit(t?ie.CREATE_NOTEBOOK:ie.SEND_TO_NOTEBOOK,n,r,e)}handleSendToConsole(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;zn.debug("handleSendToConsole",e);var{glEventHub:r}=this.props;r.emit(We.SEND_COMMAND,e,t,n)}loadTable(){var{commandHistoryStorage:e}=this.props,{language:t,sessionId:n}=this.state;I(t),I(n),this.pending.add(e.getTable(t,n,Date.now()),r=>r.close()).then(r=>{this.setState({table:r})}).catch($n.handleError)}render(){var{glContainer:e,glEventHub:t,commandHistoryStorage:n}=this.props,{language:r,contextActions:a,table:s}=this.state;return d.jsxs(pt,{className:"command-history-pane",componentPanel:this,glContainer:e,glEventHub:t,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow,children:[!s&&d.jsx("div",{className:"command-history-disconnected-message",children:"Waiting for console connection"}),s&&r!=null&&d.jsxs(d.Fragment,{children:[d.jsx(Oh,{ref:this.container,language:r,sendToNotebook:this.handleSendToNotebook,sendToConsole:this.handleSendToConsole,table:s,commandHistoryStorage:n}),d.jsx(Q,{actions:a})]})]})}}di($n,"COMPONENT","CommandHistoryPanel");di($n,"TITLE","Command History");var Oc=(i,e)=>{var t=ro(i),n=_n(i,e.localDashboardId),{session:r,config:a}=n??{},{type:s,id:o}=a??{};return{commandHistoryStorage:t,language:s,session:r,sessionId:o}},Nc=Ke(Oc,null,null,{forwardRef:!0})($n);const Lc=Nc;function Ea(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function qn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ea(Object(t),!0).forEach(function(n){kt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ea(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function kt(i,e,t){return e=Dc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Dc(i){var e=Mc(i,"string");return typeof e=="symbol"?e:String(e)}function Mc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Yn=z.module("ConsolePanel"),Fc=500,xc=Object.freeze({consoleSettings:{},itemIds:[]});class Ti extends p.PureComponent{constructor(e){super(e),kt(this,"consoleRef",void 0),kt(this,"objectSubscriptionCleanup",void 0),kt(this,"savePanelState",Je(()=>{var{consoleSettings:s,itemIds:o}=this.state,l={consoleSettings:s,itemIds:[...o]};Yn.debug("Saving panel state",l),this.setState({panelState:l})},Fc)),this.handleFocusCommandHistory=this.handleFocusCommandHistory.bind(this),this.handleOpenObject=this.handleOpenObject.bind(this),this.handleCloseObject=this.handleCloseObject.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSettingsChange=this.handleSettingsChange.bind(this),this.handleShow=this.handleShow.bind(this),this.handlePanelMount=this.handlePanelMount.bind(this),this.supportsType=this.supportsType.bind(this),this.iconForType=this.iconForType.bind(this),this.consoleRef=X.createRef();var{panelState:t}=e,n=qn(qn({},xc),t||{}),{consoleSettings:r,itemIds:a}=n;this.state={consoleSettings:r,itemIds:new Map(a),objectMap:new Map,error:void 0,panelState:n}}componentDidMount(){var{glEventHub:e}=this.props;this.closeDisconnectedPanels(),e.on(le.MOUNT,this.handlePanelMount),this.subscribeToFieldUpdates()}componentDidUpdate(e,t){var{consoleSettings:n,itemIds:r}=this.state;(t.consoleSettings!==n||t.itemIds!==r)&&this.savePanelState()}componentWillUnmount(){var e,{glEventHub:t}=this.props;this.savePanelState.flush(),t.off(le.MOUNT,this.handlePanelMount),(e=this.objectSubscriptionCleanup)===null||e===void 0||e.call(this)}subscribeToFieldUpdates(){var{sessionWrapper:e}=this.props;if(e!=null){var{session:t}=e;this.objectSubscriptionCleanup=t.subscribeToFieldUpdates(n=>{Yn.debug("Got updates",n),this.setState(r=>{var{objectMap:a}=r,{updated:s,created:o,removed:l}=n,u=[...s,...l],h=new Map(a);u.forEach(v=>{var{title:m}=v;m!==void 0&&h.delete(m)});var c=[...s,...o];return c.forEach(v=>{v.title!==void 0&&h.set(v.title,v)}),{objectMap:h}})})}}setItemId(e,t){this.setState(n=>{var{itemIds:r}=n,a=new Map(r);return a.set(e,t),{itemIds:a}})}getItemId(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{itemIds:n}=this.state,r=n.get(e);return r==null&&t&&(r=Ue.generate(),this.setItemId(e,r)),r}handleTabFocus(){var e;(e=this.consoleRef.current)===null||e===void 0||e.focus()}handlePanelMount(e){var t,n,r,{itemIds:a}=this.state,s=e==null||(t=e.props)===null||t===void 0?void 0:t.id,o=e==null||(n=e.props)===null||n===void 0||(r=n.metadata)===null||r===void 0?void 0:r.sourcePanelId;if(s&&o){var l=new Set(a.values());l.has(o)&&this.setItemId(s,s)}}handleFocusCommandHistory(){var{glEventHub:e}=this.props;e.emit(We.FOCUS_HISTORY)}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions()}handleOpenObject(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{root:n}=this.context,r=e.title!=null?this.getItemId(e.title,!1):null;(t||r!=null&&M.getStackForRoot(n,{id:r},!1,!1,!1)!=null)&&this.openWidget(e)}handleCloseObject(e){var{title:t}=e;if(t!==void 0){var n=this.getItemId(t,!1);if(n!=null){var{glEventHub:r}=this.props;r.emit(le.CLOSE,n)}}}handleSettingsChange(e){var{glEventHub:t}=this.props;Yn.debug("handleSettingsChange",e),this.setState({consoleSettings:e}),t.emit(We.SETTINGS_CHANGED,e)}openWidget(e){var{glEventHub:t,sessionWrapper:n}=this.props;I(n);var{config:r,session:a}=n,{title:s}=e;I(s);var o=this.getItemId(s),l=qn(qn({},xl(e)),{},{sessionId:r.id}),u={fetch:()=>a.getObject(e),metadata:l,panelId:o,widget:e};Yn.debug("openWidget",u),t.emit(le.OPEN,u)}addCommand(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;(t=this.consoleRef.current)===null||t===void 0||t.addCommand(e,n,r)}closeDisconnectedPanels(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,{consoleSettings:t,itemIds:n}=this.state,{isClosePanelsOnDisconnectEnabled:r=!0}=t;if(!(!r&&!e)){var a=[...n.values()],{glEventHub:s}=this.props;a.forEach(o=>{s.emit(le.CLOSE,o)}),this.setState({itemIds:new Map})}}updateDimensions(){var e;(e=this.consoleRef.current)===null||e===void 0||e.updateDimensions()}supportsType(e){var{plugins:t}=this.props;return[...t.values()].some(n=>zr(n,e))}iconForType(e){var{plugins:t}=this.props,n=[...t.values()].find(r=>zr(r,e));return n!=null?yd(n):d.jsx(lu,{type:e})}render(){var{commandHistoryStorage:e,glContainer:t,glEventHub:n,sessionWrapper:r,timeZone:a,unzip:s}=this.props;if(r==null)return d.jsx(pi,{isLoading:!1,errorMessage:"Console is disabled."});var{consoleSettings:o,error:l,objectMap:u}=this.state,{config:h,session:c,connection:v,details:m={},dh:g}=r,{workerName:b,processInfoId:f}=m,{id:C,type:E}=h;return d.jsx(pt,{className:"iris-panel-console",componentPanel:this,glContainer:t,glEventHub:n,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleTabFocus,errorMessage:l!=null?"".concat(l):void 0,children:c!=null&&d.jsx(dh,{dh:g,ref:this.consoleRef,settings:o,session:c,focusCommandHistory:this.handleFocusCommandHistory,openObject:this.handleOpenObject,closeObject:this.handleCloseObject,commandHistoryStorage:e,onSettingsChange:this.handleSettingsChange,language:E,statusBarChildren:d.jsxs(d.Fragment,{children:[d.jsx("div",{children:uo.LANGUAGE_MAP.get(E)}),b!=null&&d.jsxs(d.Fragment,{children:[d.jsx("div",{children:"•"}),b]}),f!=null&&d.jsxs(d.Fragment,{children:[d.jsx("div",{children:"•"}),f,d.jsx("div",{children:"•"})]}),d.jsx(Rh,{connection:v,defaultUpdateInterval:10*1e3,hoverUpdateInterval:3*1e3,monitorDuration:10*60*1e3})]}),scope:C,timeZone:a,objectMap:u,unzip:s,supportsType:this.supportsType,iconForType:this.iconForType})})}}kt(Ti,"COMPONENT","ConsolePanel");kt(Ti,"TITLE","Console");kt(Ti,"contextType",Il);var Ic=(i,e)=>({commandHistoryStorage:ro(i),sessionWrapper:_n(i,e.localDashboardId),timeZone:mr(i),plugins:Ad(i)}),Rc=Ke(Ic,null,null,{forwardRef:!0})(Ti);const Vi=Rc;function Ze(i,e,t){return e=kc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kc(i){var e=jc(i,"string");return typeof e=="symbol"?e:String(e)}function jc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Zn=z.module("DropdownFilter"),Ac=150;class ht extends p.Component{constructor(e){super(e),Ze(this,"dropdownRef",void 0),Ze(this,"getCompatibleColumns",te((a,s)=>a!=null?s.filter(o=>{var{type:l}=o;return l!==void 0&&Ae.isCompatibleType(l,a.columnType)}):[])),Ze(this,"getColumnOptions",te((a,s)=>{var o=-1,l=[];return l.push(d.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((u,h)=>{l.push(d.jsx("option",{value:h,children:this.getItemLabel(a,h)},"".concat(u.name,"/").concat(u.type))),s!==null&&u.name===s.name&&u.type===s.type&&(o=h)}),[l,o]})),Ze(this,"getSelectedOptionIndex",te((a,s)=>a.indexOf(s))),Ze(this,"getValueOptions",te(a=>[d.jsx("option",{value:"-1",children:ht.PLACEHOLDER},"-1"),...a.map((s,o)=>d.jsx("option",{value:o,children:s??"(null)"},"".concat(o,"/").concat(s)))])),Ze(this,"getItemLabel",Et((a,s)=>{var{name:o,type:l}=a[s];if(s>0&&a[s-1].name===o||s<a.length-1&&a[s+1].name===o){var u=l.substring(l.lastIndexOf(".")+1);return"".concat(o," (").concat(u,")")}return o})),Ze(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:l}=this.state;a({column:s,isValueShown:l,value:o??void 0})},Ac)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleDropdownKeyPress=this.handleDropdownKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.dropdownRef=X.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:Ue(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:a}=this.props,{column:s,value:o,isValueShown:l}=this.state;a&&(n!==e.source&&this.sourceUpdated(),r!==e.values&&o!==""&&!r.includes(o)&&this.resetValue(),l!==t.isValueShown&&l&&this.focusInput(),(s!==t.column||o!==t.value||l!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(Zn.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:r}=this.props,a=this.getCompatibleColumns(r,n);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),Zn.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var t=e,n=parseInt(t,10),r="",{values:a}=this.props;n>=0&&n<a.length?r=a[n]:Zn.debug2("Selected default item"),Zn.debug2("handleValueChange",r),this.setState({value:r})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:r}=e;return{column:n,value:t===n?r:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:r,isValueShown:a}=e,s=t!=null&&n!=null?{name:t,type:n}:null;this.setState(o=>{var{value:l,isValueShown:u}=o;return{column:s,value:r??l,isValueShown:a??u}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:r,isLoaded:a,source:s,onColumnSelected:o,onSourceMouseEnter:l,onSourceMouseLeave:u,values:h,settingsError:c}=this.props,{column:v,disableCancel:m,id:g,isValueShown:b,selectedColumn:f,value:C}=this.state,E=s===null,S=this.getCompatibleColumns(s,t),y=s!=null,O=(e=s==null?void 0:s.columnName)!==null&&e!==void 0?e:ht.SOURCE_BUTTON_PLACEHOLDER,x=v!=null?"".concat(v.name," Filter"):null,[L,F]=this.getColumnOptions(S,f),N=this.getValueOptions(h),A=this.getSelectedOptionIndex(h,C),Y=!y||f==null,j=b&&!r,U="source-column-btn-".concat(g),V="filter-column-select-".concat(g);return d.jsxs(ur,{className:"dropdown-filter fill-parent-absolute",isFlipped:j,children:[d.jsx("div",{className:"dropdown-filter-settings-card",children:d.jsxs("div",{className:"dropdown-filter-card-content",children:[d.jsxs("div",{className:"dropdown-filter-settings-grid",children:[d.jsx("label",{htmlFor:U,children:"Source Column"}),d.jsx(_s,{id:U,isLinked:y,onClick:o,onMouseEnter:l,onMouseLeave:u,className:ht.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:O}),d.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),d.jsx("label",{htmlFor:V,children:"Filter Column"}),d.jsx(zt,{id:V,value:String(F),className:"custom-select",onChange:this.handleColumnChange,disabled:E,children:L}),d.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&d.jsx("div",{className:"error-message text-center",children:c}),y&&d.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[d.jsx(k,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:m||b||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),d.jsx(k,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:Y||b||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),d.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"dropdown-filter-column",children:d.jsx("div",{className:"dropdown-filter-column-title",children:x})}),d.jsxs("div",{className:"dropdown-filter-card-content",children:[d.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:d.jsx(zt,{className:"custom-select",value:String(A),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:N})}),c&&d.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),d.jsx("div",{className:"dropdown-filter-menu",children:d.jsx(k,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:d.jsx(J,{icon:mi,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}Ze(ht,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});Ze(ht,"PLACEHOLDER","Select a value...");Ze(ht,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");Ze(ht,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const ya=ht;function Me(i,e,t){return e=_c(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _c(i){var e=$c(i,"string");return typeof e=="symbol"?e:String(e)}function $c(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ue=z.module("DropdownFilterPanel"),Uc=250,Hc=(i,e)=>{var{localDashboardId:t}=e,n=M.getIdFromPanel({props:e}),r=Er(i,t),a=sn(i,t),s=fr(i),o=yr(i,t),l=s===at.LINKER&&(o===void 0||o===n),u=s===at.LINKER&&o!==void 0&&o!==n;return{columns:Fo(i,t),columnSelectionValidator:Pr(i,t),dh:no(i),isLinkerActive:l,disableLinking:u,settings:kn(i),panelTableMap:r,dashboardLinks:a}},Vc=Ke(Hc,null,null,{forwardRef:!0});class Qe extends p.Component{constructor(e){super(e),Me(this,"dateTimeFormatter",void 0),Me(this,"dropdownFilterRef",void 0),Me(this,"panelContainer",void 0),Me(this,"pending",void 0),Me(this,"cleanup",void 0),Me(this,"columnFormats",void 0),Me(this,"getCachedValues",Et((c,v,m)=>{var{type:g,name:b}=v;return g!==void 0&&Ae.isDateType(g)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&g!=null?m.getFormattedString(f,g,b):null)})),Me(this,"getCachedPanelLinks",Et((c,v)=>{var m=M.getIdFromPanel(v);return ue.debug("getCachedPanelLinks",c,m),c.filter(g=>{var b;return((b=g.end)===null||b===void 0?void 0:b.panelId)===m})})),Me(this,"getCachedSource",Et(c=>{ue.debug("getCachedSource",c);var v;if(c.length>0){var[m]=c;v=m.start,c.length>1&&ue.error("Filter has more that one link",c)}return v})),Me(this,"getCachedSourceTable",Et((c,v)=>{var m;if(ue.debug("getCachedSourceTable",c,v),v==null)return null;var{panelId:g}=v;return(m=c.get(g))!==null&&m!==void 0?m:null})),Me(this,"getCachedSourceColumn",Et((c,v)=>{var m;return ue.debug("getCachedSourceColumn",c,v),c==null||v==null?null:(m=c.columns.find(g=>{var{name:b,type:f}=g;return b===v.columnName&&f===v.columnType}))!==null&&m!==void 0?m:null})),this.handleChange=Je(this.handleChange.bind(this),Uc),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleSourceSizeChange=this.handleSourceSizeChange.bind(this),this.handleSourceMouseEnter=this.handleSourceMouseEnter.bind(this),this.handleSourceMouseLeave=this.handleSourceMouseLeave.bind(this),this.handleValuesTableUpdate=this.handleValuesTableUpdate.bind(this),this.dropdownFilterRef=X.createRef(),this.panelContainer=X.createRef(),this.pending=new Tt;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=$r.getColumnFormats(r),this.dateTimeFormatter=new Gs(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:s=!1,name:o,type:l,timestamp:u}=n??{},h=o!=null&&l!=null?{name:o,type:l}:void 0;this.state={column:h,formatter:new Ur(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:u,values:[],isValueShown:s,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:r,timestamp:a}=this.state,s=this.getSourceTable(t,e);if(s!==null&&this.startListeningToSource(s),n!=null){var{name:o,type:l}=n;this.sendUpdate(o,l,r,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:r,settings:a}=this.props,{valuesTable:s}=this.state,o=this.getSource(n),l=this.getSourceTable(r,n),u=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),s!==t.valuesTable&&t.valuesTable!=null&&(ue.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(l!==h||o!==u)&&this.updateValuesTable(),l!==h&&(h!==null&&this.stopListeningToSource(h),l!==null&&this.startListeningToSource(l))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);this.pending.cancel(),r!==null&&this.stopListeningToSource(r),this.cleanup&&this.cleanup(),n!=null&&n.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(ya.SOURCE_BUTTON_CLASS_NAME)),n=(e=t==null?void 0:t.getBoundingClientRect())!==null&&e!==void 0?e:null;if(n==null||n.width<=0||n.height<=0)return null;var r=n.left+n.width/2,a=n.bottom;return[r,a]}getSettingsErrorMessage(){var{sourceSize:e}=this.state;if(e>Qe.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(Qe.MAX_TABLE_SIZE," options.")}getPanelErrorMessage(){var{error:e}=this.state;return e!=null?"".concat(e):void 0}getSource(e){var t=this.getCachedPanelLinks(e,this);return this.getCachedSource(t)}getSourceTable(e,t){var n=this.getSource(t);return this.getCachedSourceTable(e,n)}getValuesColumn(e,t){var n=this.getSource(t);return this.getCachedSourceColumn(e,n)}startListeningToSource(e){var{dh:t}=this.props;ue.debug("startListeningToSource"),e.addEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.addEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.addEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}stopListeningToSource(e){var{dh:t}=this.props;ue.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,{name:a=void 0,type:s=void 0}=t??{},o=!0,l=Date.now();this.setState(u=>{var h,c,{panelState:v,timestamp:m,wasFlipped:g,skipUpdate:b}=u,f=v!=null&&n!==v.isValueShown&&a===v.name&&s===v.type&&r===v.value;return o=(h=!b&&n&&(!f||!g))!==null&&h!==void 0?h:!1,o||(l=m),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:(c=l)!==null&&c!==void 0?c:void 0},timestamp:l,wasFlipped:f,skipUpdate:!1}},()=>{o&&this.sendUpdate(a??null,s,r,l)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){ue.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(fe.COLUMN_SELECTED,this,Qe.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){ue.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!r}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,r){var a,{dashboardLinks:s,glEventHub:o}=this.props,l=(a=this.getSource(s))===null||a===void 0?void 0:a.panelId,u=l===null?[]:[l];ue.debug("sendUpdate",{name:e,type:t,value:n,timestamp:r,excludePanelIds:u}),o.emit(fe.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:u})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),r=this.getSourceTable(t,e);if(ue.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){ue.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),r!=null&&(this.setState({isLoaded:!1,sourceSize:r.size}),this.pending.add(r.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{ge.isCanceled(a)||(ue.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(ue.debug("applySourceSorts",r==null?void 0:r.sort),n==null||r==null){ue.debug("Table not initialized");return}var a=[...r.sort];n.applySort(a),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(ue.debug("applySourceFilters",r==null?void 0:r.filter),n==null||r==null){ue.debug("Table not initialized");return}var a=[...r.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(ue.debug("updateViewportListener",e==null?void 0:e.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,n=this.getValuesColumn(e,t);if(!n){ue.error("values column is null");return}e.setViewport(0,Qe.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=$r.getColumnFormats(e);qi(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new Ur(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:r}=this.props,{valuesTable:a}=this.state;if(!a){ue.error("valuesTable is null");return}var s=this.getValuesColumn(a,r);if(!s){ue.error("Values column not found");return}var o=n.map(l=>l.get(s));this.setState({values:o,isLoading:!1,isLoaded:!0,valuesColumn:s})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,Qe.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:r,glEventHub:a,isLinkerActive:s}=this.props,{column:o,formatter:l,isDisconnected:u,isValueShown:h,value:c,values:v,valuesColumn:m,isLoading:g,isLoaded:b}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),E=this.getPanelErrorMessage(),S=b&&m!=null?this.getCachedValues(v,m,l):[];return d.jsx(Ei,{errorMessage:E,isLoading:g,isLoaded:b,isDisconnected:u,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:d.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:d.jsx(ya,{ref:this.dropdownFilterRef,column:o,columns:e,isValueShown:h,isLinkerActive:s,disableLinking:n,isLoaded:b,settingsError:C,source:f,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Me(Qe,"displayName","DropdownFilterPanel");Me(Qe,"COMPONENT","DropdownFilterPanel");Me(Qe,"MAX_TABLE_SIZE",256);Me(Qe,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Gc=Vc(Qe);const jt=Gc;function He(i){return i.type==="directory"}function Bc(i,e,t){return e=Wc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Wc(i){var e=Kc(i,"string");return typeof e=="symbol"?e:String(e)}function Kc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class zc extends Error{constructor(){super("No file exists at the path specified"),Bc(this,"isFileNotFound",!0)}}const Oi=zc;function Pa(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function wa(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Pa(a,n,r,s,o,"next",l)}function o(l){Pa(a,n,r,s,o,"throw",l)}s(void 0)})}}var ut;(function(i){i.GROOVY="text/x-groovy",i.PLAIN_TEXT="text/plain",i.PYTHON="text/x-python",i.PYTHON_COMPILED="application/x-python-code",i.SCALA="text/x-scala",i.UNKNOWN=""})(ut||(ut={}));class it{static fileExists(e,t){return wa(function*(){try{return yield e.info(t),!0}catch(n){if(!(n instanceof Oi))throw n;return!1}})()}static fileExtensionToString(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return e.length===0?"":".".concat(e)}static getDepth(e){var t;if(!it.hasPath(e))throw new Error("Invalid path provided: ".concat(e));var n=(t=e.match(/\//g))!==null&&t!==void 0?t:[];return n.length-1}static getExtension(e){var t=this.getBaseName(e).split(".");if(t.length>1){var n;return(n=t.pop())!==null&&n!==void 0?n:""}return""}static getBaseName(e){var t;return(t=e.split("/").pop())!==null&&t!==void 0?t:""}static getCopyFileName(e){var t=e.lastIndexOf("."),n=null,r=null;t<0?r=e:(r=e.substring(0,t),n=e.substring(t+1));var a=r?"".concat(r,"-copy"):"Copy";return n!==null?"".concat(a,".").concat(n):a}static getUniqueCopyFileName(e,t){return wa(function*(){for(var n=it.getCopyFileName(t);yield it.fileExists(e,n);)n=it.getCopyFileName(n);return n})()}static getMimeType(e){var t=this.getExtension(e).toLowerCase();switch(t){case"groovy":return ut.GROOVY;case"py":return ut.PYTHON;case"pyc":return ut.PYTHON_COMPILED;case"scala":return ut.SCALA;case"txt":return ut.PLAIN_TEXT;default:return ut.UNKNOWN}}static getParent(e){if(!it.hasPath(e))throw new Error("Invalid name provided: ".concat(e));for(var t=e.split("/");t.pop()==="";);if(t.length===0)throw new Error("No parent for path provided: ".concat(e));return"".concat(t.join("/"),"/")}static getPath(e){if(!it.hasPath(e))throw new Error("Invalid filename provided: ".concat(e));var t=e.split("/");return t.pop(),"".concat(t.join("/"),"/")}static hasPath(e){return e.startsWith("/")}static isPath(e){return e.startsWith("/")&&e.endsWith("/")}static makePath(e){return e.endsWith("/")?e:"".concat(e,"/")}static replaceExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=e.lastIndexOf("."),r=n>-1?e.substring(0,n):e,a=it.fileExtensionToString(t);return"".concat(r).concat(a)}static validateName(e){var t=[".",".."],n=/[\\/\0]/g,r=new Map([["\0","null"]]);if(!e)throw new En("Name cannot be empty");if(t.includes(e))throw new En('"'.concat(e,'" is a reserved name'));if(n.test(e)){var a,s;throw new En('Invalid characters in name: "'.concat((a=(s=e.match(n))===null||s===void 0?void 0:s.reduce((o,l)=>o.includes(l)?o:[...o,l],[]).map(o=>r.has(o)?r.get(o):o).join('", "'))!==null&&a!==void 0?a:"",'"'))}}static reducePaths(e){var t=e.filter(n=>it.isPath(n));return e.filter(n=>!t.some(r=>n!==r&&n.startsWith(r)))}static removeRoot(e,t){if(e.length===0)return t;if(!t.startsWith(e))throw new Error("Filename ".concat(t," does not start with expected root ").concat(e));return t.substring(e.length)}static addRoot(e,t){return"".concat(e).concat(t)}}const $=it;var Tr=26;function rr(i){return He(i)?$.makePath(i.filename):$.getPath(i.filename)}function Ta(i,e){if(i.length===0||e==null)throw new Error("No items to move");var t=rr(e);if(i.some(n=>{var{filename:r}=n;return $.getPath(r)===t}))throw new Error("File already in the destination folder");if(i.some(n=>He(n)&&t.startsWith($.makePath(n.filename))))throw new Error("Destination folder cannot be a child of a dragged folder");return{files:i,targetPath:t}}function qc(i){if(He(i))return i.isExpanded?od:ld;var e=$.getMimeType(i.basename);switch(e){case ut.PYTHON:return ud;default:return dd}}function ar(i){var e,{children:t,draggedItems:n,isDragInProgress:r,isDropTargetValid:a,isSelected:s,item:o,itemIndex:l,dropTargetItem:u,onDragStart:h,onDragOver:c,onDragEnd:v,onDrop:m}=i,g=(e=n==null?void 0:n.some(L=>L.id===o.id))!==null&&e!==void 0?e:!1,b=rr(o),f=r&&u?rr(u):null,C=r&&a&&He(o)&&f===b,E=r&&a&&f===b,S=r&&!a&&f===b,y=qc(o),O=$.getDepth(o.filename),x=Array(O).fill(null).map((L,F)=>d.jsx("span",{className:"file-list-depth-line"},F));return d.jsxs("div",{className:Z("d-flex w-100 align-items-center","file-list-item",{"is-dragged":g,"is-exact-drop-target":C,"is-in-drop-target":E,"is-invalid-drop-target":S,"is-selected":s}),onDragStart:L=>h(l,L),onDragOver:L=>c(l,L),onDragEnd:L=>v(l,L),onDrop:L=>m(l,L),draggable:!0,role:"presentation","aria-label":o.basename,children:[x," ",d.jsx(J,{icon:y,className:"item-icon",fixedWidth:!0})," ",d.jsx("span",{className:"truncation-wrapper",children:t??d.jsxs(d.Fragment,{children:[o.basename,d.jsx(wt,{children:o.basename})]})})]})}function Oa(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Xn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Oa(Object(t),!0).forEach(function(n){Yc(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Oa(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Yc(i,e,t){return e=Zc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zc(i){var e=Xc(i,"string");return typeof e=="symbol"?e:String(e)}function Xc(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Le=z.module("FileList"),Qc=500,Na="item-list-scroll-pane";function Jc(i){var{isMultiSelect:e=!1,table:t,onFocusChange:n=()=>{},onMove:r,onSelect:a,onSelectionChange:s=()=>{},renderItem:o=ar,rowHeight:l=Tr,overscanCount:u=Zi.DEFAULT_OVERSCAN}=i,[h,c]=p.useState(()=>({items:[],offset:0,itemCount:0})),[v,m]=p.useState({top:0,bottom:0}),[g,b]=p.useState(),[f,C]=p.useState(),[E,S]=p.useState(),[y,O]=p.useState([]),x=p.useRef(),L=p.useRef(null),F=p.useRef(null),N=p.useCallback(T=>{if(T.length===0||h==null)return[];for(var H=[],q=0;q<T.length;q+=1)for(var se=T[q],Ee=se[0];Ee<=se[1];Ee+=1)Ee>=h.offset&&Ee<h.offset+h.items.length&&H.push(h.items[Ee-h.offset]);return H},[h]),A=p.useCallback(T=>{var H=N([[T,T]]);if(H.length>0)return H[0]},[N]),Y=p.useCallback(()=>{var T=Hr.count(y);if(T===0)return null;if(T===1){var H=y[0][0],q=A(H);if(q!=null)return q.filename}return"".concat(T," items")},[A,y]),j=p.useCallback(T=>{if(!(!f||!g)){Le.debug("dropItems",f,"to",T);try{var{files:H,targetPath:q}=Ta(f,g);if(r==null||r(H,q),T!=null){var se;O([[T,T]]),(se=L.current)===null||se===void 0||se.focusItem(T)}}catch(Ee){Le.error("Unable to complete move",Ee)}}},[f,g,r]),U=p.useCallback((T,H)=>{var q=h.items[T-h.offset];q!==void 0&&(Le.debug("handleItemClick",q),a(q,H),He(q)&&(t==null||t.setExpanded(q.filename,!q.isExpanded)))},[h,a,t]),V=p.useCallback((T,H)=>{var q;Le.debug2("handleItemDragStart",T,y);var se=y;Hr.isSelected(y,T)||(se=[[T,T]],O(se)),C(N(se)),(q=L.current)===null||q===void 0||q.resetMouseState();var Ee=document.createElement("div");Ee.innerHTML='<div class="dnd-placeholder-content">'.concat(Y(),"</div>"),Ee.className="file-list-dnd-placeholder",document.body.appendChild(Ee),H.dataTransfer.setDragImage(Ee,0,0),H.dataTransfer.effectAllowed="move",S(Ee)},[Y,N,y]),R=p.useCallback((T,H)=>{H.preventDefault(),Le.debug2("handleItemDragOver",H),b(A(T))},[A]),W=p.useCallback((T,H)=>{Le.debug("handleItemDragEnd",T),E==null||E.remove(),C(void 0),b(void 0),S(void 0)},[E]),G=p.useCallback((T,H)=>{j(T)},[j]),ae=p.useCallback(()=>{Le.debug2("handleItemDragExit"),b(void 0)},[]),Ce=p.useCallback(T=>{T.target instanceof Element&&T.target.classList.contains(Na)&&(T.preventDefault(),Le.debug2("handleListDragOver",T),b({type:"directory",filename:"/",basename:"/",id:"/"}))},[]),Se=p.useCallback(T=>{T.target instanceof Element&&T.target.classList.contains(Na)&&(Le.debug("handleListDrop"),j())},[j]),P=p.useCallback(function(T){var H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Le.debug2("handleSelectionChange",T),H===!0||T!==y){O(T);var q=N(T);s(q)}},[N,s,y]),w=p.useCallback(T=>{if(Le.debug2("handleFocusChange",T),T!=null){var[H]=N([[T,T]]);n(H)}else n();x.current=T},[N,n]),D=p.useCallback((T,H)=>{Le.debug("handleViewportChange",T,H),(T!==v.top||H!==v.bottom)&&m({top:T,bottom:H})},[v]),B=p.useMemo(()=>{if(!f||!g)return!1;try{return Ta(f,g),Le.debug("handleValidateDropTarget true"),!0}catch{return Le.debug("handleValidateDropTarget false"),!1}},[f,g]),{focusedPath:K}=i;p.useEffect(()=>{K!==void 0&&(K==="/"?t.collapseAll():(t.setExpanded(K,!1),t.setExpanded(K,!0)))},[t,K]),p.useEffect(function(){Le.debug("updating table viewport",v),t==null||t.setViewport({top:Math.max(0,v.top-u),bottom:v.bottom+u})},[u,t,v]),p.useEffect(function(){var H=t.onUpdate(q=>{c({items:q.items.map(se=>Xn(Xn({},se),{},{itemName:se.basename})),offset:q.offset,itemCount:t.size})});return()=>{H()}},[t]),p.useEffect(function(){x.current!=null&&w(x.current),y.length>0&&P(y,!0)},[h,w,P,y]),p.useEffect(function(){if(g!=null&&He(g)&&g.filename!=="/"){var H=setTimeout(()=>{g.isExpanded||t==null||t.setExpanded(g.filename,!0)},Qc);return()=>clearTimeout(H)}},[g,t]);var ve=p.useCallback(T=>o(Xn(Xn({},T),{},{isDragInProgress:f!=null,dropTargetItem:g,draggedItems:f,isDropTargetValid:B,onDragStart:V,onDragEnd:W,onDragOver:R,onDragExit:ae,onDrop:G})),[W,ae,R,V,G,f,g,B,o]);return d.jsx("div",{ref:F,className:Z("file-list",{"is-dragging":f!=null}),onDragOver:Ce,onDrop:Se,children:d.jsx(Zi,{ref:L,items:h.items,itemCount:h.itemCount,offset:h.offset,onFocusChange:w,onSelect:U,onSelectionChange:P,onViewportChange:D,selectedRanges:y,renderItem:ve,rowHeight:l,isMultiSelect:e,isDragSelect:!1,isDeselectOnClick:!1})})}var ev={name:"File Explorer",DELETE:Ie.createAndAdd({id:"FILE_EXPLORER.DELETE",name:"Delete",shortcut:[re.DELETE],macShortcut:[oe.CMD,re.BACKSPACE]}),RENAME:Ie.createAndAdd({id:"FILE_EXPLORER.RENAME",name:"Rename",shortcut:[re.ENTER],macShortcut:[re.ENTER]})};const La={FILE_EXPLORER:ev};var Da=z.module("FileListItemEditor"),tv=()=>Promise.resolve();function nv(i){var{item:e,onCancel:t,onSubmit:n,validate:r=tv}=i,a=p.useRef(null),[s,o]=p.useState(e.basename),[l,u]=p.useState(),[h,c]=p.useState(Promise.resolve()),v=p.useCallback(()=>{var E;(E=a.current)===null||E===void 0||E.focus()},[a]),m=p.useCallback(E=>E.stopPropagation(),[]),g=p.useCallback(()=>{h.then(()=>{n(s)}).catch(E=>Da.info("Unable to validate name",E))},[n,s,h]);p.useEffect(function(){var S=ge.makeCancelable(r(s));return S.then(()=>u(void 0)).catch(y=>{ge.isCanceled(y)||u(y)}),c(S),()=>S.cancel()},[r,s]),p.useEffect(function(){v()},[v]);var b=p.useCallback(()=>{Da.debug2("handleBlur"),g()},[g]),f=p.useCallback(E=>{var{value:S}=E.target;o(S)},[]),C=p.useCallback(E=>{E.stopPropagation();var{key:S}=E;switch(S){case"Enter":{g();break}case"Escape":{t();break}}},[t,g]);return d.jsxs("div",{className:"file-list-item-editor",children:[d.jsx("input",{type:"text",className:Z("form-control file-list-item-editor-input",{"is-invalid":l}),value:s,ref:a,onBlur:b,onKeyDown:C,onChange:f,onClick:m,onDoubleClick:m,onMouseDown:m}),l&&d.jsx("div",{className:"invalid-feedback",children:"".concat(l)})]})}function Ma(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Gi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ma(Object(t),!0).forEach(function(n){iv(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ma(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function iv(i,e,t){return e=rv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function rv(i){var e=av(i,"string");return typeof e=="symbol"?e:String(e)}function av(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function ko(i){var{isMultiSelect:e=!1,focusedPath:t,showContextMenu:n=!1,onCreateFile:r,onCreateFolder:a,onCopy:s,onDelete:o,onMove:l,onRename:u,onSelect:h,onSelectionChange:c,table:v,rowHeight:m=Tr,validateRename:g=()=>Promise.resolve()}=i,[b,f]=p.useState(),[C,E]=p.useState([]),[S,y]=p.useState(),O=p.useCallback(G=>{E(G),c==null||c(G)},[c]),x=p.useCallback(G=>{y(G)},[]),L=p.useCallback(()=>{S&&(s==null||s(S))},[S,s]),F=p.useCallback(()=>{C.length>0&&(o==null||o(C))},[o,C]),N=p.useCallback(()=>{r==null||r()},[r]),A=p.useCallback(()=>{S&&(a==null||a($.getPath(S.filename)))},[S,a]),Y=p.useCallback(()=>{S&&f(S)},[S]),j=p.useCallback(()=>{f(void 0)},[]),U=p.useCallback(G=>{b&&(u==null||u(b,G),f(void 0))},[u,b]),V=p.useMemo(()=>{if(b)return[];var G=[];return r&&G.push({title:"New File",description:"Create new file",action:N,group:Q.groups.medium}),a&&G.push({title:"New Folder",description:"Create new folder",action:A,group:Q.groups.medium}),s&&G.push({title:"Copy File",description:"Copy the selected file",action:L,group:Q.groups.low,disabled:S==null||He(S)}),o&&C.length>0&&G.push({title:"Delete",description:"Delete",shortcut:La.FILE_EXPLORER.DELETE,action:F,group:Q.groups.low}),u&&G.push({title:"Rename",description:"Rename",shortcut:La.FILE_EXPLORER.RENAME,action:Y,group:Q.groups.low,disabled:S==null}),G},[L,F,N,A,Y,S,s,r,a,o,u,C,b]),R=p.useCallback(G=>(I(b),g(b,G)),[b,g]),W=p.useCallback(G=>{var{item:ae}=G;return b&&b.filename===ae.filename?d.jsx(ar,Gi(Gi({},G),{},{children:d.jsx(nv,{item:ae,validate:R,onSubmit:U,onCancel:j})})):d.jsx(ar,Gi({},G))},[j,U,b,R]);return d.jsxs("div",{className:"file-list-container",children:[v!=null&&d.jsx(Jc,{onMove:l,onSelect:h,onSelectionChange:O,onFocusChange:x,renderItem:W,rowHeight:m,table:v,isMultiSelect:e,focusedPath:t}),n&&d.jsx(Q,{actions:V})]})}ko.displayName="FileListContainer";function Fa(i,e,t){return e=sv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sv(i){var e=ov(i,"string");return typeof e=="symbol"?e:String(e)}function ov(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class lv extends En{constructor(e){super("Name already exists"),Fa(this,"isExistingFile",!0),Fa(this,"info",void 0),this.info=e}}const ni=lv;function xa(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function Ia(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){xa(a,n,r,s,o,"next",l)}function o(l){xa(a,n,r,s,o,"throw",l)}s(void 0)})}}var tt=z.module("FileExplorer");function Or(i){var{storage:e,isMultiSelect:t=!1,focusedPath:n,onCopy:r=()=>{},onDelete:a=()=>{},onRename:s=()=>{},onCreateFile:o=()=>{},onCreateFolder:l=()=>{},onSelect:u,onSelectionChange:h,rowHeight:c=Tr}=i,[v,m]=p.useState([]),[g,b]=p.useState();p.useEffect(function(){var U;function V(){return R.apply(this,arguments)}function R(){return R=Ia(function*(){tt.debug("initTable"),U=ge.makeCancelable(e.getTable(),W=>W.close());try{b(yield U)}catch(W){ge.isCanceled(W)||tt.error("Unable to initialize table",W)}}),R.apply(this,arguments)}return V(),()=>{U.cancel()}},[e]);var f=p.useCallback(j=>{ge.isCanceled(j)||tt.error(j)},[]),C=p.useCallback(()=>{tt.debug("handleCreateFile"),o()},[o]),E=p.useCallback(()=>{tt.debug("handleCreateFolder"),l()},[l]),S=p.useCallback(j=>{tt.debug("handleCopyFile",j.filename),r(j)},[r]),y=p.useCallback(j=>{tt.debug("handleDelete, pending confirmation",j),m(j)},[]),O=p.useCallback(()=>{tt.debug("handleDeleteConfirm",v),v.forEach(j=>e.deleteFile(He(j)?$.makePath(j.filename):j.filename)),a(v),m([])},[v,a,e]),x=p.useCallback(()=>{tt.debug("handleDeleteCancel"),m([])},[]),L=p.useCallback((j,U)=>{var V=$.reducePaths(j.map(R=>He(R)?$.makePath(R.filename):R.filename));V.forEach(R=>{var W=$.isPath(R)?"".concat(U).concat($.getBaseName(R.substring(0,R.length-1)),"/"):"".concat(U).concat($.getBaseName(R));e.moveFile(R,W).then(()=>{s(R,W)}).catch(f)})},[f,s,e]),F=p.useCallback((j,U)=>{var V=j.filename,R=He(j);R&&!V.endsWith("/")&&(V="".concat(V,"/"));var W="".concat($.getParent(V)).concat(U);R&&!W.endsWith("/")&&(W="".concat(W,"/")),tt.debug2("handleRename",V,W),e.moveFile(V,W).catch(f),s(V,W)},[f,s,e]),N=p.useCallback(function(){var j=Ia(function*(U,V){if(V!==U.basename){$.validateName(V);var R="".concat($.getPath(U.filename)).concat(V);try{var W=yield e.info(R);throw new ni(W)}catch(G){if(!(G instanceof Oi))throw G}}});return function(U,V){return j.apply(this,arguments)}}(),[e]),A=v.length>0,Y=p.useMemo(()=>v.length===1?'Are you sure you want to delete "'.concat(v[0].filename,'"?'):"Are you sure you want to delete the selected files?",[v]);return d.jsxs("div",{className:"file-explorer",children:[g&&d.jsx(ko,{isMultiSelect:t,focusedPath:n,showContextMenu:!0,onCopy:S,onCreateFolder:E,onCreateFile:C,onMove:L,onDelete:y,onRename:F,onSelect:u,onSelectionChange:h,rowHeight:c,table:g,validateRename:N}),d.jsx(Mn,{isOpen:A,headerText:Y,bodyText:"You cannot undo this action.",onCancel:x,onConfirm:O,confirmButtonText:"Delete"})]})}Or.displayName="FileExplorer";function Ra(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function dv(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Ra(a,n,r,s,o,"next",l)}function o(l){Ra(a,n,r,s,o,"throw",l)}s(void 0)})}}function St(i,e,t){return e=uv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function uv(i){var e=hv(i,"string");return typeof e=="symbol"?e:String(e)}function hv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ft=z.module("NewItemModal");class At extends p.PureComponent{static getValidationMessage(e){return e instanceof ni&&e.info.type==="directory"?"Error: Cannot overwrite existing directory":"".concat(e)}static handleError(e){ge.isCanceled(e)||Ft.error(e)}constructor(e){super(e),St(this,"inputRef",X.createRef()),St(this,"cancelableValidatePromise",void 0),St(this,"cancelableExistingItemPromise",void 0),St(this,"pending",new Tt),St(this,"pathMap",new Map),St(this,"isInitialLoad",!0),this.handleModalSubmit=this.handleModalSubmit.bind(this),this.handleModalOpened=this.handleModalOpened.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleChange=this.handleChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleValidationError=this.handleValidationError.bind(this),this.handleOverwriteCancel=this.handleOverwriteCancel.bind(this),this.handleOverwriteConfirm=this.handleOverwriteConfirm.bind(this),this.handleExtensionChangeCancel=this.handleExtensionChangeCancel.bind(this),this.handleExtensionChangeConfirm=this.handleExtensionChangeConfirm.bind(this),this.handleBreadcrumbSelect=this.handleBreadcrumbSelect.bind(this);var{defaultValue:t}=e,n=$.hasPath(t)?$.getPath(t):"/";this.state={isSubmitting:!1,path:n,prevExtension:$.getExtension(t),showExtensionChangeModal:!1,showOverwriteModal:!1,value:$.getBaseName(t)}}componentDidUpdate(e,t){var{isOpen:n}=this.props,{isOpen:r}=e,{value:a,path:s}=this.state;!r&&n&&(this.resetValue(),this.isInitialLoad=!0),r&&n&&(!this.isInitialLoad&&(s!==t.path||a!==t.value)&&this.updateValidationStatus(s,a),this.isInitialLoad=!1)}componentWillUnmount(){this.pending.cancel(),this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableExistingItemPromise&&this.cancelableExistingItemPromise.cancel()}resetValue(){var{defaultValue:e}=this.props,t=$.hasPath(e)?$.getPath(e):"/";this.setState({path:t,value:$.getBaseName(e),validationError:void 0,prevExtension:$.getExtension(e),isSubmitting:!1})}getValidationPromise(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableValidatePromise=ge.makeCancelable(this.validateName(e,t,n)),this.cancelableValidatePromise}validateName(e,t,n){var r=this;return dv(function*(){$.validateName(t);var{defaultValue:a,storage:s}=r.props;if(n){var o="".concat(e).concat(t);if(o!==a)try{var l=yield s.info(o);throw new ni(l)}catch(u){if(!(u instanceof Oi))throw u}}return t})()}updateValidationStatus(e,t){this.getValidationPromise(e,t).then(()=>{this.setState({validationError:void 0})}).catch(this.handleValidationError).catch(At.handleError)}handleModalOpened(){this.focusRenameInput()}handleModalSubmit(){this.submitModal()}handleChange(e){var{value:t}=e.target;this.setState({value:t})}handleSelect(e){if(Ft.debug("handleSelect",e),e.type==="directory")this.setState({path:$.makePath(e.filename)});else{var t=e.basename,n=$.getPath(e.filename);this.setState({value:t,path:n},()=>{this.focusRenameInput()})}}handleKeyDown(e){var{key:t}=e;switch(e.stopPropagation(),t){case"Enter":{e.preventDefault(),this.submitModal();break}case"Escape":{e.preventDefault();var{onCancel:n}=this.props;n();break}}}handleValidationError(e){if(!(e instanceof En))throw e;Ft.debug("Validation error",e),this.setState({validationError:e})}handleOverwriteCancel(){this.setState({showOverwriteModal:!1,isSubmitting:!1})}handleOverwriteConfirm(){this.setState({showOverwriteModal:!1});var{onSubmit:e}=this.props,{path:t,value:n}=this.state;Ft.debug("handleOverwriteConfirm",t,n),e("".concat(t).concat(n),!0)}handleExtensionChangeCancel(){Ft.debug("handleExtensionChangeCancel"),this.setState(e=>{var{value:t,prevExtension:n}=e,r=$.replaceExtension(t,n);return{showExtensionChangeModal:!1,value:r}}),this.submitModal(!0)}handleExtensionChangeConfirm(){Ft.debug("handleExtensionChangeConfirm"),this.setState({showExtensionChangeModal:!1}),this.submitModal(!0)}focusRenameInput(){var e=this.inputRef.current;if(e){var{type:t}=this.props,{value:n}=e,r=t==="directory"?n.length:n.lastIndexOf(".");e.focus(),e.setSelectionRange(0,r>0?r:n.length)}}submitModal(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.setState(t=>{var{prevExtension:n,value:r,path:a}=t,{notifyOnExtensionChange:s,type:o}=this.props;Ft.debug("submitModal",n,r);var l=$.getExtension(r);return s&&!e&&n!==null&&n!==l?{isSubmitting:!1,showExtensionChangeModal:!0,newExtension:l}:(this.getValidationPromise(a,r,!0).then(u=>{var{onSubmit:h}=this.props;h("".concat(a).concat(r))}).catch(u=>{if(u instanceof ni&&o!=="directory"&&u.info.type!=="directory"){this.setState({showOverwriteModal:!0});return}throw u}).catch(u=>{throw ge.isCanceled(u)&&this.setState({isSubmitting:!1}),u}).catch(this.handleValidationError).catch(At.handleError),{isSubmitting:!0,showExtensionChangeModal:!1,newExtension:void 0})})}handleBreadcrumbSelect(e){this.setState({path:e})}renderPathButtons(e){var t=e.split("/");return t.pop(),t.map((n,r)=>{for(var a="",s=0;s<r;s+=1)a+="".concat(t[s],"/");return a+="".concat(n,"/"),d.jsxs(X.Fragment,{children:[d.jsx(k,{kind:"ghost",className:"directory-breadcrumbs",onClick:()=>this.handleBreadcrumbSelect(a),"aria-label":r===0?"Home":void 0,icon:r===0?d.jsx(J,{icon:hd,transform:"right-1.6"}):void 0,tooltip:r===0?"Home":void 0,children:n}),"/"]},a)})}render(){var{storage:e,isOpen:t,onCancel:n,placeholder:r,title:a,type:s}=this.props,{isSubmitting:o,path:l,showExtensionChangeModal:u,showOverwriteModal:h,validationError:c,value:v,prevExtension:m,newExtension:g}=this.state,b=s==="directory",f=$.fileExtensionToString(m),C=$.fileExtensionToString(g),E=b?"Create":"Save",S=b?"New folder name":"Save file as";return d.jsxs(d.Fragment,{children:[d.jsxs(Ys,{isOpen:t,toggle:n,onOpened:this.handleModalOpened,className:"modal-dialog-centered new-file-modal",children:[d.jsx(Zs,{toggle:n,children:a}),d.jsx(Xs,{children:d.jsx("form",{children:d.jsxs("div",{className:"d-flex flex-column new-file-modal-content",children:[d.jsxs("div",{className:"flex-grow-0 mb-4",children:[d.jsx("label",{htmlFor:"file-name-input",children:S}),d.jsx("input",{id:"file-name-input",type:"text",autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:"false",className:Z("form-control",{"is-invalid":c}),value:v,placeholder:r,ref:this.inputRef,onKeyDown:this.handleKeyDown,onChange:this.handleChange}),c&&d.jsx("div",{className:"invalid-feedback",children:At.getValidationMessage(c)})]}),d.jsxs("div",{className:"flex-grow-0",children:[d.jsx("label",{children:"Directory: /"}),this.renderPathButtons(l)]}),d.jsx("div",{className:"flex-grow-1 file-explorer-container",children:d.jsx(Or,{onSelect:this.handleSelect,storage:e,focusedPath:l})})]})})}),d.jsxs(Bs,{children:[d.jsx(k,{kind:"secondary",onClick:n,children:"Cancel"}),d.jsx(k,{kind:"primary",disabled:o,onClick:this.handleModalSubmit,children:E})]})]}),d.jsx(Mn,{isOpen:h,headerText:"Confirm overwrite",bodyText:"File with this name already exists, are you sure you want to overwrite it?",onCancel:this.handleOverwriteCancel,onConfirm:this.handleOverwriteConfirm,cancelButtonText:"Cancel",confirmButtonText:"Overwrite"}),d.jsx(Mn,{isOpen:u,headerText:"Confirm extension change",bodyText:'Are you sure you want to change extension from "'.concat(f,'" to "').concat(C,'"?'),onCancel:this.handleExtensionChangeCancel,onConfirm:this.handleExtensionChangeConfirm,cancelButtonText:'Keep "'.concat(f,'"'),confirmButtonText:'Use "'.concat(C,'"')})]})}}St(At,"propTypes",{isOpen:_.bool,title:_.string.isRequired,defaultValue:_.string,type:_.oneOf(["file","directory"]).isRequired,onSubmit:_.func,onCancel:_.func,placeholder:_.string,storage:_.shape({}).isRequired,notifyOnExtensionChange:_.bool});St(At,"defaultProps",{isOpen:!1,defaultValue:"/",notifyOnExtensionChange:!1,placeholder:"",onSubmit:(i,e)=>{},onCancel:()=>{}});const jo=At;function cv(i){var{createFile:e,createFolder:t,onSearchChange:n,defaultSearchText:r=""}=i;return d.jsxs("div",{className:"file-explorer-toolbar",children:[d.jsxs("div",{className:"file-explorer-toolbar-buttons",children:[d.jsx(k,{kind:"ghost",icon:qs,tooltip:"New notebook",onClick:e,"aria-label":"New notebook"}),d.jsx(k,{kind:"ghost",icon:cd,tooltip:"New folder",onClick:t,"aria-label":"New folder"})]}),n&&d.jsx("div",{className:"file-explorer-toolbar-search",children:d.jsx(Rl,{value:r,onChange:n,placeholder:"Search by name"})})]})}function ka(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function vv(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ka(a,n,r,s,o,"next",l)}function o(l){ka(a,n,r,s,o,"throw",l)}s(void 0)})}}function Ao(i,e,t){return e=pv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pv(i){var e=mv(i,"string");return typeof e=="symbol"?e:String(e)}function mv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var xt=z.module("FileExplorerPanel"),fv=(i,e)=>{var t=ao(i),n=_n(i,e.localDashboardId),{session:r,config:a}=n??{},s=a==null?void 0:a.type;return{fileStorage:t,language:s,session:r}},gv=Ke(fv,null,null,{forwardRef:!0});function bv(i){var e=i;return e!=null&&typeof e.button=="number"}class Zt extends X.Component{static handleError(e){xt.error(e)}static isFocusEvent(e){return bv(e)?e.detail>=2:!0}constructor(e){super(e),this.handleFileSelect=this.handleFileSelect.bind(this),this.handleCopyFile=this.handleCopyFile.bind(this),this.handleCreateFile=this.handleCreateFile.bind(this),this.handleCreateDirectory=this.handleCreateDirectory.bind(this),this.handleCreateDirectoryCancel=this.handleCreateDirectoryCancel.bind(this),this.handleCreateDirectorySubmit=this.handleCreateDirectorySubmit.bind(this),this.handleDelete=this.handleDelete.bind(this),this.handleRename=this.handleRename.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSelectionChange=this.handleSelectionChange.bind(this);var{session:t,language:n}=e;this.state={isShown:!1,language:n,session:t,showCreateFolder:!1,focusedFilePath:"/"}}componentDidMount(){this.isHidden()||this.setState({isShown:!0})}handleCreateFile(){var{glEventHub:e}=this.props,{session:t,language:n}=this.state,r={language:n,value:""};xt.debug("handleCreateFile",t,n,r),e.emit(ie.CREATE_NOTEBOOK,t,n,r)}handleCreateDirectory(){this.setState({showCreateFolder:!0})}handleCreateDirectoryCancel(){xt.debug("handleCreateDirectoryCancel"),this.setState({showCreateFolder:!1})}handleCreateDirectorySubmit(e){xt.debug("handleCreateDirectorySubmit",e),this.setState({showCreateFolder:!1});var{fileStorage:t}=this.props;t.createDirectory(e).catch(Zt.handleError)}handleCopyFile(e){var t=this;return vv(function*(){var{fileStorage:n}=t.props;if(He(e)){xt.error("Invalid item in handleCopyItem",e);return}var r=yield $.getUniqueCopyFileName(n,e.filename);yield n.copyFile(e.filename,r)})()}handleDelete(e){var{glEventHub:t}=this.props;e.forEach(n=>{t.emit(ie.CLOSE_FILE,{id:n.filename,itemName:n.filename})})}handleSelectionChange(e){var t="/";e.length===1&&(e[0].type==="directory"?t=$.makePath(e[0].filename):t=$.getPath(e[0].filename)),this.setState({focusedFilePath:t})}handleFileSelect(e,t){if(xt.debug("fileSelect",e),e.type!=="directory"){var n=Zt.isFocusEvent(t),r={id:e.filename,itemName:e.filename},{glEventHub:a}=this.props,{session:s,language:o}=this.state,l={value:null,language:o};a.emit(ie.SELECT_NOTEBOOK,s,o,l,r,n)}}handleRename(e,t){var{glEventHub:n}=this.props;xt.debug("handleRename",e,t),n.emit(ie.RENAME_FILE,e,t)}handleSessionOpened(e,t){var{language:n}=t;this.setState({session:e,language:n})}handleSessionClosed(){this.setState({session:void 0,language:void 0})}handleShow(){this.setState({isShown:!0})}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}render(){var{fileStorage:e,glContainer:t,glEventHub:n}=this.props,{isShown:r,showCreateFolder:a,focusedFilePath:s}=this.state;return d.jsxs(pt,{className:"file-explorer-panel",componentPanel:this,glContainer:t,glEventHub:n,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow,children:[d.jsx(cv,{createFile:this.handleCreateFile,createFolder:this.handleCreateDirectory}),r&&d.jsx(Or,{isMultiSelect:!0,storage:e,onCopy:this.handleCopyFile,onCreateFile:this.handleCreateFile,onCreateFolder:this.handleCreateDirectory,onDelete:this.handleDelete,onRename:this.handleRename,onSelect:this.handleFileSelect,onSelectionChange:this.handleSelectionChange}),d.jsx(jo,{isOpen:a,type:"directory",title:"Create New Folder",storage:e,onSubmit:this.handleCreateDirectorySubmit,onCancel:this.handleCreateDirectoryCancel,defaultValue:s})]})}}Ao(Zt,"COMPONENT","FileExplorerPanel");Ao(Zt,"TITLE","File Explorer");var Cv=gv(Zt);const Sv=Cv;function ja(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Qn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ja(Object(t),!0).forEach(function(n){bn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ja(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function bn(i,e,t){return e=Ev(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ev(i){var e=yv(i,"string");return typeof e=="symbol"?e:String(e)}function yv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var he=z.module("FilterSetManager"),Pv="Enter name...",Aa="No Available Filter Sets";class ui extends p.Component{static animateScreenFlash(){var e,t=document.createElement("div");t.classList.add("screen-flash-overlay"),t.addEventListener("animationend",()=>{t.remove()}),(e=document.querySelector("body"))===null||e===void 0||e.appendChild(t)}constructor(e){super(e),bn(this,"renameInputRef",X.createRef()),bn(this,"dropdownRef",X.createRef()),bn(this,"editDropdownRef",X.createRef()),bn(this,"isRenamingExistingSet",te((t,n)=>n!==void 0&&t.some(r=>{var{id:a}=r;return a===n.id}))),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleEditDropdownChange=this.handleEditDropdownChange.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleCaptureNewSet=this.handleCaptureNewSet.bind(this),this.handleNameInputChange=this.handleNameInputChange.bind(this),this.handleNameInputKeyPress=this.handleNameInputKeyPress.bind(this),this.handleRenameConfirm=this.handleRenameConfirm.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRestoreFullStateChange=this.handleRestoreFullStateChange.bind(this),this.handleSetDelete=this.handleSetDelete.bind(this),this.handleSetEdit=this.handleSetEdit.bind(this),this.handleSetUpdate=this.handleSetUpdate.bind(this),this.state={editId:void 0,renameSet:void 0,nameInputValue:"",nameInputError:void 0,modifiedFilterSets:[],restoreFullState:!1}}componentDidMount(){var{isValueShown:e}=this.props;e?this.updateSelectedId():this.initSettingsScreen()}componentDidUpdate(e,t){var{isValueShown:n,filterSets:r}=this.props,{modifiedFilterSets:a}=this.state;if(e.isValueShown&&!n&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),r!==e.filterSets)if(!n&&r.length>0&&e.filterSets.length===0&&a.length===0){var{onChange:s}=this.props;s({isValueShown:!0,selectedId:r[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;he.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(he.debug("updateSelectedId",t,n),!!e&&!t.some(s=>{var{id:o}=s;return o===n})){var a=t.length===0;r({isValueShown:!a,selectedId:a?void 0:t[0].id})}}handleEditDropdownChange(e){this.setState({editId:e})}handleFilterChange(e){var t=e,{isValueShown:n,onChange:r}=this.props;this.applyFilterSet(t),r({isValueShown:n,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:n}=this.props;this.setState({modifiedFilterSets:[]}),n.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:n,editId:r}=this.state;this.setState({modifiedFilterSets:[]}),he.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;ui.animateScreenFlash();var t=Ue(),n=e(),r={id:t,title:"",panels:n};he.debug("handleSetCreate",r),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:r})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:r}=this.state,a=(t=e==null?void 0:e.trim())!==null&&t!==void 0?t:"";if(a.length===0)return he.debug("Name cannot be empty",a),"Name cannot be empty";if(n!==void 0&&r.some(s=>{var{title:o,id:l}=s;return o===a&&l!==n.id}))return he.debug("Set with this name already exists",a),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:n,modifiedFilterSets:r,restoreFullState:a}=this.state;if(n===void 0){he.error("Renamed set undefined.");return}var s=this.getNameError(t);if(he.debug("handleRenameConfirm",t,s),s!==void 0){this.setState({nameInputError:s});return}var o=(e=t==null?void 0:t.trim())!==null&&e!==void 0?e:"",l=Qn(Qn({},n),{},{title:o,restoreFullState:a}),u=r.findIndex(c=>{var{id:v}=c;return v===n.id}),h=[...r];u>=0?(h[u]=l,he.debug("Renamed existing set",h)):(h.push(l),he.debug("Added new set to modified sets",h)),this.setState({editId:l.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.findIndex(l=>{var{id:u}=l;return u===t});if(r<0)return he.error("Unable to find selected filterSet index",n,t),null;var a=n.filter(l=>{var{id:u}=l;return u!==t}),s=Math.max(0,Math.min(a.length-1,r-1)),o=a.length>0?a[s].id:void 0;return he.debug("Deleted selected set",t,n,a),he.debug("New selection",s,o),{modifiedFilterSets:a,editId:o}})}handleSetUpdate(){var{getFilterState:e}=this.props;ui.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:a}=n;if(a===void 0)return he.error("Filter for update not selected."),null;var s=[...r],o=s.findIndex(l=>{var{id:u}=l;return u===a});return o<0?(he.error("Selected set for update not found."),null):(s[o]=Qn(Qn({},s[o]),{},{panels:t}),he.debug("Update set",s,t),{modifiedFilterSets:s})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.find(o=>{var{id:l}=o;return l===t});if(r===void 0)return he.error("Could not find selected set",t,n),null;var{title:a,restoreFullState:s=!1}=r;return{nameInputValue:a,nameInputError:void 0,renameSet:r,restoreFullState:s}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){he.debug("handleBackgroundClick"),e.target!==this.dropdownRef.current&&this.focusInput()}handleNameInputChange(e){var{value:t}=e.target,n=this.getNameError(t);this.setState({nameInputValue:t,nameInputError:n})}handleNameInputKeyPress(e){var{key:t}=e;t==="Enter"&&(e.preventDefault(),this.handleRenameConfirm())}isNameInputScreen(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state,{renameSet:t}=e;return t!==void 0}applyFilterSet(e){var{onApply:t,filterSets:n}=this.props;if(e===void 0){he.debug("No filter selected");return}var r=n.find(a=>{var{id:s}=a;return s===e});if(r===void 0){he.debug("Selected id not found in filterSets",e,n);return}he.debug("Apply filterSet",r),t(r)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:r,modifiedFilterSets:a,restoreFullState:s}=this.state,{isValueShown:o,filterSets:l,selectedId:u}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,r),v=a.length===0,m=!h&&v&&l.length===0,g=!h&&!m,b=d.jsxs("div",{className:"fa-layers mr-3",children:[d.jsx(J,{icon:Xi,mask:Kr,transform:"shrink-1 down-5 right-7"}),d.jsx(J,{icon:pd,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=d.jsxs("div",{className:"fa-layers",children:[d.jsx(J,{icon:Xi,mask:Kr,transform:"shrink-1 down-5 right-7"}),d.jsx(J,{icon:md,transform:"shrink-1 down-5 right-7"})]});return d.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:d.jsxs(ur,{className:"w-100 h-100",isFlipped:o,children:[d.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:d.jsxs("div",{className:"filter-set-manager-card-content",children:[m&&d.jsxs("div",{children:[d.jsx(k,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:b,children:"Capture filter set"}),d.jsx("div",{className:"py-3 text-muted small",children:"Takes a snapshot of the currently applied filters on all panels, allowing you to restore saved filter sets later."})]}),h&&d.jsxs("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container",children:[d.jsxs("div",{className:"form-group",children:[d.jsx("label",{children:c?"Edit set":"Name captured set"}),d.jsxs("div",{className:"name-input-container",children:[d.jsx("input",{type:"text",className:"input-set-name form-control",placeholder:Pv,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),d.jsx(k,{"data-testid":"rename-confirm-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameConfirm,tooltip:"Save","test-id":"button-save",icon:Qs}),d.jsx(k,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:vd})]}),t!==void 0&&d.jsx("div",{className:"error-message",children:t})]}),d.jsx("div",{className:"form-group",children:d.jsxs(kl,{onChange:this.handleRestoreFullStateChange,value:"".concat(s),children:[d.jsx(Vr,{value:"false",children:"Restore only filters"}),d.jsx(Vr,{value:"true",children:"Restore full table state"})]})})]}),g&&d.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[d.jsxs("div",{className:"form-group",children:[d.jsx("label",{children:"Edit filter sets"}),d.jsxs("div",{className:"filter-select-container",children:[d.jsxs(zt,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:v,children:[v&&d.jsx("option",{value:"-1",disabled:!0,children:Aa}),a.map(C=>{var{id:E,title:S}=C;return d.jsx("option",{value:E,children:S},E)})]}),d.jsx(k,{kind:"ghost",onClick:this.handleSetUpdate,disabled:v,icon:f,tooltip:"Update"}),d.jsx(k,{kind:"ghost",onClick:this.handleSetEdit,disabled:v,icon:Js,tooltip:"Edit"}),d.jsx(k,{kind:"ghost",onClick:this.handleSetDelete,disabled:v,icon:Rn,tooltip:"Delete"})]})]}),d.jsx("div",{children:d.jsx(k,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:b,children:"Capture new filter set"})}),d.jsxs("div",{className:"py-3 text-right",children:[d.jsx(k,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",d.jsx(k,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),d.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[d.jsx("div",{className:"filter-set-manager-column",children:d.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),d.jsx("div",{className:"filter-set-manager-card-content",children:d.jsx("div",{className:"filter-set-manager-value-input",children:d.jsxs("div",{className:"filter-select-container",children:[d.jsxs(zt,{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:u??"-1",className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[l.length===0&&d.jsx("option",{value:"-1",disabled:!0,children:Aa}),l.map(C=>{var{id:E,title:S}=C;return d.jsx("option",{value:E,children:S},E)})]}),d.jsx(k,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:eo,tooltip:"Apply Filter Set"})]})})}),d.jsx("div",{className:"filter-set-manager-menu",children:d.jsx(k,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:d.jsx(J,{icon:mi,transform:"grow-4"})})})]},"back")]})})}}const wv=ui;function Nr(i){var e,t,n,r,a,{model:s,widgetName:o,glContainer:l,description:u}=i,h=((e=s==null?void 0:s.rowCount)!==null&&e!==void 0?e:0)-((t=s==null?void 0:s.pendingRowCount)!==null&&t!==void 0?t:0)-((n=s==null?void 0:s.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=s==null?void 0:s.floatingTopRowCount)!==null&&r!==void 0?r:0),c=s==null?void 0:s.displayString(h,"long"),v=(a=s==null?void 0:s.columnCount)!==null&&a!==void 0?a:0,m=s==null?void 0:s.displayString(v,"long");return d.jsxs(Si,{widgetType:"Table",widgetName:o,glContainer:l,description:u,children:[d.jsx("hr",{className:"tab-tooltip-divider"}),d.jsx("span",{children:"Number of Columns"}),d.jsx("span",{className:"tab-tooltip-statistic-value",children:m}),d.jsx("span",{children:"Number of Rows"}),d.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Nr.propTypes={glContainer:As.Container.isRequired,widgetName:_.string.isRequired,description:_.string};Nr.defaultProps={description:null};function Tv(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function Ov(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function _a(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function gt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_a(Object(t),!0).forEach(function(n){be(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):_a(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function be(i,e,t){return e=Nv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Nv(i){var e=Lv(i,"string");return typeof e=="symbol"?e:String(e)}function Lv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var nt=z.module("IrisGridPanel"),Dv=500,Mv={IrisGrid:vi,IrisGridTableModel:_l,ContextMenuRoot:Pd};function $a(i){if(i==null)throw new Error("No metadata provided");if(Ov(i))return i.name;if(Tv(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(i))}class Xt extends p.PureComponent{constructor(e){super(e),be(this,"irisGrid",void 0),be(this,"pluginRef",void 0),be(this,"modelPromise",void 0),be(this,"irisGridState",void 0),be(this,"gridState",void 0),be(this,"pluginState",void 0),be(this,"irisGridUtils",void 0),be(this,"getGridInputFilters",te((n,r)=>je.getInputFiltersForColumns(n,r.filter(a=>{var{value:s,excludePanelIds:o}=a,l=M.getIdFromPanel(this);return s!=null&&(o==null||l!=null&&!o.includes(l))})))),be(this,"getAlwaysFetchColumns",te((n,r)=>{for(var a=M.getIdFromPanel(this),s=new Set(r),o=0;o<n.length;o+=1){var{start:l}=n[o];l!=null&&l.panelId===a&&s.add(l.columnName)}return[...s]})),be(this,"getPluginContent",te((n,r,a,s,o)=>{if(!r||!ki(r)||n==null||r.table==null)return null;var l={panel:this,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:s,components:Mv};return d.jsx("div",{className:"iris-grid-plugin",children:d.jsx(n,gt({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,onStateChange:this.handlePluginStateChange,pluginState:o},l))})})),be(this,"getDehydratedIrisGridPanelState",te((n,r,a,s)=>je.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:a,advancedSettings:s}))),be(this,"getDehydratedIrisGridState",te((n,r,a,s,o,l,u,h,c,v,m,g,b,f,C,E,S,y,O,x,L,F)=>(I(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:S,customColumnFormatMap:s,isFilterBarShown:o,metrics:{userColumnWidths:C,userRowHeights:E},quickFilters:l,customColumns:u,reverseType:h,rollupConfig:c,showSearchBar:v,searchValue:m,selectDistinctColumns:g,selectedSearchColumns:b,sorts:r,invertSearchColumns:f,pendingDataMap:y,frozenColumns:O,conditionalFormats:x,columnHeaderGroups:L,partitionConfig:F})))),be(this,"getDehydratedGridState",te((n,r,a,s,o)=>je.dehydrateGridState(n,{isStuckToBottom:s,isStuckToRight:o,movedColumns:r,movedRows:a}))),be(this,"getCachedPanelState",te((n,r,a,s)=>({irisGridPanelState:n,irisGridState:r,gridState:a,pluginState:s}))),be(this,"savePanelState",Je(()=>{var{irisGridState:n,gridState:r,pluginState:a}=this;I(n);var{onPanelStateUpdate:s}=this.props,{model:o,panelState:l,isSelectingPartition:u,partitions:h,advancedSettings:c}=this.state,{advancedFilters:v,aggregationSettings:m,customColumnFormatMap:g,isFilterBarShown:b,quickFilters:f,customColumns:C,reverseType:E,rollupConfig:S,showSearchBar:y,searchValue:O,selectDistinctColumns:x,selectedSearchColumns:L,sorts:F,invertSearchColumns:N,metrics:A,pendingDataMap:Y,frozenColumns:j,conditionalFormats:U,columnHeaderGroups:V,partitionConfig:R}=n;I(o),I(A);var{userColumnWidths:W,userRowHeights:G}=A;I(r);var{isStuckToBottom:ae,isStuckToRight:Ce,movedColumns:Se,movedRows:P}=r,w=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(o,u,h,c),this.getDehydratedIrisGridState(o,F,v,g,b,f,C,E,S,y,O,x,L,N,W,G,m,Y,j,U,V,R),this.getDehydratedGridState(o,Se,P,ae,Ce),a);w!==l&&(nt.debug("Saving panel state",this,w),this.setState({panelState:w}),s==null||s(w))},Dv)),this.handleAdvancedSettingsChange=this.handleAdvancedSettingsChange.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handleTableChanged=this.handleTableChanged.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleDataSelected=this.handleDataSelected.bind(this),this.handleError=this.handleError.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePluginStateChange=this.handlePluginStateChange.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handlePluginFilter=this.handlePluginFilter.bind(this),this.handlePluginFetchColumns=this.handlePluginFetchColumns.bind(this),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.irisGrid=X.createRef(),this.pluginRef=X.createRef();var{panelState:t}=e;this.pluginState=null,this.irisGridUtils=null,this.state={error:null,isDisconnected:!1,isLoaded:!1,isLoading:!0,isModelReady:!1,model:void 0,advancedFilters:new Map,aggregationSettings:{aggregations:[],showOnTop:!1},advancedSettings:new Map(jl.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:Ae.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:r}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),r!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return $a(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=ge.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:r}=this.state,a=[];if(this.irisGridUtils=new je(t.dh),n!=null){var{irisGridState:s}=n,{aggregationSettings:o,customColumns:l,selectDistinctColumns:u=[],rollupConfig:h}=gt(gt({},s),r);l.length>0&&a.push(c=>{c.customColumns=l}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=je.getModelRollupConfig(c.originalColumns,h,o)}),u.length>0&&a.push(c=>{c.selectDistinctColumns=u})}this.setState({model:t,modelQueue:a}),this.initModelQueue(t,a)}initModelQueue(e,t){var n=e;if(t.length===0){this.modelInitialized(n);return}var r=t.shift();nt.debug("initModelQueue",r),r&&r(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){nt.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:r}=n;return r.get(e)===t?null:{advancedSettings:new Map(r).set(e,t)}})}handlePluginFilter(e){var t,n,{model:r}=this.state;I(r);var{columns:a,formatter:s}=r,o=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,s.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:o})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,r;return(t=(n=this.pluginRef.current)===null||n===void 0||(r=n.getMenu)===null||r===void 0?void 0:r.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:r}=this.props;n.emit(Xe.STATE_CHANGED,this),r==null||r(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:r}=this.state;t?this.sendColumnsChange(e.detail):(I(n),this.initModelQueue(n,r))}handleTableChanged(e){nt.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(fe.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r}=this.props,a=this.getTableName(),{panelState:s}=this.state,o=M.getIdFromPanel(this),l;s&&(l=je.extractTableSettings(s,r)),n.emit(Xe.CREATE_CHART,{metadata:{settings:e,sourcePanelId:o,table:a,tableSettings:l},table:ki(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(Xe.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(Xe.DATA_SELECTED,this,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){nt.error(e),this.setState({error:e,isLoading:!1})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleLoadError(e){ge.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:n}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),ki(e)){var{table:r}=e,{pluginName:a}=r;if(a!==""&&n!=null&&a!=null){var s=n(a);this.setState({Plugin:s})}t.emit(fe.TABLE_CHANGED,this,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){nt.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(fe.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(mt.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(mt.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(mt.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(mt.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(mt.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(mt.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(mt.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(mt.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,r,{model:a}=this.state;if(!a)return null;var s=this.irisGrid.current,{gridWrapper:o}=s||{},l=(t=o==null?void 0:o.getBoundingClientRect())!==null&&t!==void 0?t:null;if(l==null||l.width<=0||l.height<=0)return null;I(s);var{metrics:u}=s.state;I(u);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:v,right:m,columnHeaderMaxDepth:g}=u,b=a.getColumnIndexByName(e);I(b);var f=s.getVisibleColumn(b),C=(n=c.get(f))!==null&&n!==void 0?n:0,E=(r=v.get(f))!==null&&r!==void 0?r:0,S=Math.max(l.left,Math.min(f>m?l.right:l.left+C+E*.5,l.right)),y=l.top+h*g;return[S,y]}setFilterMap(e){var t=this.irisGrid.current;t!=null&&t.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t!=null&&t.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;nt.debug("setFilters",t,n);var{model:r,isDisconnected:a}=this.state,s=this.irisGrid.current;if(s==null||a){nt.debug("Ignore setFilters, model disconnected");return}I(r);var{columns:o,formatter:l}=r,u=je.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[v]=c;return r.isFilterable(v)}),h=je.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[v]=c;return r.isFilterable(v)});I(this.irisGridUtils),s.clearAllFilters(),s.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(o,u,l.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(o,h,l.timeZone)})}setStateOverrides(e){nt.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:r}=this.state;if(t!=null)try{var{gridState:a,irisGridState:s,irisGridPanelState:o}=t,l=gt({},n),{quickFilters:u,advancedFilters:h}=l;u&&(l.quickFilters=je.changeFilterColumnNamesToIndexes(e.columns,u)),h&&(l.advancedFilters=je.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:v,advancedSettings:m}=je.hydrateIrisGridPanelState(e,o);I(this.irisGridUtils);var{advancedFilters:g,customColumns:b,customColumnFormatMap:f,isFilterBarShown:C,quickFilters:E,reverseType:S,rollupConfig:y,aggregationSettings:O,sorts:x,userColumnWidths:L,userRowHeights:F,showSearchBar:N,searchValue:A,selectDistinctColumns:Y,selectedSearchColumns:j,invertSearchColumns:U,pendingDataMap:V,frozenColumns:R,conditionalFormats:W,columnHeaderGroups:G,partitionConfig:ae}=this.irisGridUtils.hydrateIrisGridState(e,gt(gt({},s),l)),{isStuckToBottom:Ce,isStuckToRight:Se,movedColumns:P,movedRows:w}=je.hydrateGridState(e,gt(gt({},a),r),s.customColumns);this.setState({advancedFilters:g,advancedSettings:m,conditionalFormats:W,customColumns:b,customColumnFormatMap:f,isFilterBarShown:C,isSelectingPartition:c,movedColumns:P,movedRows:w,partitions:v,quickFilters:E,reverseType:S,rollupConfig:y,aggregationSettings:O,sorts:x,userColumnWidths:L,userRowHeights:F,showSearchBar:N,searchValue:A,selectDistinctColumns:Y,selectedSearchColumns:j,invertSearchColumns:U,pendingDataMap:V,frozenColumns:R,isStuckToBottom:Ce,isStuckToRight:Se,columnHeaderGroups:G,partitionConfig:ae})}catch(D){nt.error("loadPanelState failed to load panelState",t,D)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:r,glEventHub:a,columnSelectionValidator:s,getDownloadWorker:o,inputFilters:l,links:u,metadata:h,panelState:c,user:v,workspace:m,settings:g,theme:b}=this.props,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,conditionalFormats:S,customColumns:y,customColumnFormatMap:O,error:x,isDisconnected:L,isFilterBarShown:F,isSelectingPartition:N,isStuckToBottom:A,isStuckToRight:Y,isLoaded:j,isLoading:U,isModelReady:V,model:R,movedColumns:W,movedRows:G,partitions:ae,partitionConfig:Ce,quickFilters:Se,reverseType:P,rollupConfig:w,sorts:D,userColumnWidths:B,userRowHeights:K,showSearchBar:ve,searchValue:T,selectDistinctColumns:H,selectedSearchColumns:q,invertSearchColumns:se,Plugin:Ee,pluginFilters:Ii,pluginFetchColumns:Hn,pendingDataMap:Ri,frozenColumns:on,columnHeaderGroups:el}=this.state,tl=x!=null?"Unable to open table. ".concat(x):void 0,kr=$a(h),jr=(e=R==null?void 0:R.description)!==null&&e!==void 0?e:void 0,nl=(t=c==null?void 0:c.pluginState)!==null&&t!==void 0?t:null,il=n??this.getPluginContent(Ee,R,v,m,nl),{permissions:rl}=v,{canCopy:al,canDownloadCsv:sl}=rl;return d.jsx(Ei,{errorMessage:tl,isDisconnected:L,isLoading:U,isLoaded:j,className:"iris-grid-panel",glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:kr,widgetType:"Table",description:jr,componentPanel:this,renderTabTooltip:()=>d.jsx(Nr,{model:R,widgetName:kr,glContainer:r,description:jr}),children:V&&R&&d.jsx(vi,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,alwaysFetchColumns:this.getAlwaysFetchColumns(u,Hn),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:y,customColumnFormatMap:O,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:S,inputFilters:this.getGridInputFilters(R.columns,l),applyInputFiltersOnInit:c==null,isFilterBarShown:F,isSelectingColumn:s!=null,isSelectingPartition:N,isStuckToBottom:A,isStuckToRight:Y,movedColumns:W,movedRows:G,partitions:ae,partitionConfig:Ce,quickFilters:Se,reverseType:P,rollupConfig:w,settings:g,sorts:D,userColumnWidths:B,userRowHeights:K,model:R,showSearchBar:ve,searchValue:T,selectedSearchColumns:q,selectDistinctColumns:H,invertSearchColumns:se,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:Ii,pendingDataMap:Ri,canCopy:al,canDownloadCsv:sl,ref:this.irisGrid,getDownloadWorker:o,frozenColumns:on,theme:b,columnHeaderGroups:el,children:il})})}}be(Xt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});be(Xt,"displayName","IrisGridPanel");be(Xt,"COMPONENT","IrisGridPanel");var Fv=(i,e)=>{var{localDashboardId:t=Al}=e;return{inputFilters:Sr(i,t),links:sn(i,t),columnSelectionValidator:Pr(i,t),user:Rd(i),workspace:so(i),settings:kn(i)}},xv=Ke(Fv,null,null,{forwardRef:!0})(Xt);const xn=xv;function On(i,e,t){return e=Iv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Iv(i){var e=Rv(i,"string");return typeof e=="symbol"?e:String(e)}function Rv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ua=z.module("InputFilter"),kv=150;class Qt extends p.Component{constructor(e){super(e),On(this,"inputRef",void 0),On(this,"getItemLabel",Et((a,s)=>{var{name:o,type:l}=a[s];if(s>0&&a[s-1].name===o||s<a.length-1&&a[s+1].name===o){var u=l.substring(l.lastIndexOf(".")+1);return"".concat(o," (").concat(u,")")}return o})),On(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:l}=this.state;a({column:s,isValueShown:l,value:o})},kv)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleInputKeyPress=this.handleInputKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.inputRef=X.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,selectedColumn:t,value:r,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:r,value:a,isValueShown:s}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),s!==void 0&&s&&s!==t.isValueShown&&this.focusInput(),(r!==t.column||a!==t.value||s!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];Ua.debug2("handleColumnChange",n),this.setState({selectedColumn:n,value:void 0})}handleInputKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),this.setState(t=>{var{value:n}=t;return n==null?{value:""}:null},()=>{this.sendUpdate(),this.sendUpdate.flush()}))}handleValueChange(e){var{value:t}=e.target;Ua.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:r,isValueShown:a}=e,s=t!=null&&n!=null?{name:t,type:n}:void 0,o=a===void 0?{column:s,value:r}:{column:s,value:r,isValueShown:a};this.setState(o)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:r,value:a}=this.state,s=a==null||a.length===0?Qt.PLACEHOLDER.length:a.length,o=null;if(t!=null){var l=e.findIndex(u=>u.name===t.name&&u.type===t.type);o=l>=0?this.getItemLabel(e,l):t.name}return d.jsxs(ur,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[d.jsx("div",{className:"input-filter-settings-card",children:d.jsxs("div",{className:"input-filter-settings-content",children:[d.jsxs("div",{className:"input-filter-settings-grid",children:[d.jsx("label",{children:"Filter Column"}),d.jsxs(zt,{value:String(e.findIndex(u=>u.name===(r==null?void 0:r.name)&&u.type===(r==null?void 0:r.type))),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((u,h)=>d.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(u.name,"/").concat(u.type))),e.length===0&&d.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),d.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),d.jsxs("div",{className:"input-filter-settings-buttons",children:[d.jsx(k,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),d.jsx(k,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:r==null,children:"Save"})]})]})}),d.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[d.jsx("div",{className:"input-filter-column",children:d.jsxs("div",{className:"input-filter-column-title",children:[o," Filter"]})}),d.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:d.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:d.jsx("input",{type:"text",ref:this.inputRef,placeholder:Qt.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(s+3,"ch")},spellCheck:"false"})})}),d.jsx("div",{className:"input-filter-menu",children:d.jsx(k,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:d.jsx(J,{icon:mi,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}On(Qt,"PLACEHOLDER","Enter value...");On(Qt,"defaultProps",{column:null,isValueShown:!1,value:null});const jv=Qt;function Ni(i,e,t){return e=Av(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Av(i){var e=_v(i,"string");return typeof e=="symbol"?e:String(e)}function _v(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var $v=250;class Li extends p.Component{constructor(e){super(e),Ni(this,"inputFilterRef",void 0),this.handleChange=Je(this.handleChange.bind(this),$v),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=X.createRef();var{panelState:t}=e,{value:n,isValueShown:r=!1,name:a,type:s,timestamp:o}=t??{};this.state={columns:[],column:a!=null&&s!=null?{name:a,type:s}:void 0,value:n,timestamp:o,isValueShown:r,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:r,type:a}=e;this.sendUpdate(r,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,a,s;t!=null&&({name:a,type:s}=t);var o=!0,l=Date.now();this.setState(u=>{var h,{panelState:c,timestamp:v,wasFlipped:m,skipUpdate:g}=u,b=c!=null&&n!==c.isValueShown&&a===c.name&&s===c.type&&r===c.value;return o=(h=!g&&n&&(!b||!m))!==null&&h!==void 0?h:!1,o||(l=v),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:l},timestamp:l,wasFlipped:b,skipUpdate:!1}},()=>{o&&this.sendUpdate(a,s,r,l)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,r){var{glEventHub:a}=this.props;a.emit(fe.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:r})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(r=>{var{name:a,type:s}=r;return n.name===a&&n.type===s})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:r,isValueShown:a,value:s}=this.state;return d.jsx(pt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:d.jsx(jv,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:s})})}}Ni(Li,"defaultProps",{panelState:null});Ni(Li,"COMPONENT","InputFilterPanel");Ni(Li,"displayName","InputFilterPanel");var Uv=(i,e)=>{var{localDashboardId:t}=e;return{columns:Fo(i,t)}},Hv=Ke(Uv,null,null,{forwardRef:!0})(Li);const Nn=Hv;function Ha(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Jn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ha(Object(t),!0).forEach(function(n){Lr(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ha(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Lr(i,e,t){return e=Vv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vv(i){var e=Gv(i,"string");return typeof e=="symbol"?e:String(e)}function Gv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Te=z.module("FilterSetManagerPanel");function Bv(i){return i.setPanelState!=null}class Jt extends p.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[r,a]=n;if(r>=e.columns.length)return null;var{name:s}=e.columns[r];return{name:s,filter:a}}).filter(n=>n!=null)}constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleSetsUpdate=this.handleSetsUpdate.bind(this),this.handleGetFilterState=this.handleGetFilterState.bind(this);var{panelState:t,filterSets:n}=e,{selectedId:r=n.length>0?n[0].id:void 0,isValueShown:a=!1}=t??{};this.state={selectedId:r,isValueShown:a,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(n=>{var r=e.get(n);if(r===void 0){Te.error("Could not get panel",r);return}var a=M.getComponentNameFromPanel(r),s=M.getIdFromPanel(r);Te.debug("Panel:",r,a);var{glContainer:o=null}=r.props;if(o==null){Te.error("Could not get panel container",r);return}var l=M.getComponentConfigFromContainer(o);if(l==null){Te.error("Could not get component config from container",o);return}var u=M.getPanelComponentState(l);if(u==null){Te.debug("Panel state is null ".concat(s));return}switch(a){case M.getComponentName(Xt):{var h;s!=null&&(h=this.getIrisGridPanelFilters(s,u)),h!=null&&t.push({panelId:s,type:a,state:h});break}case M.getComponentName(Nn):case M.getComponentName(jt):{var{isValueShown:c,name:v,type:m,value:g}=u;t.push({panelId:s,type:a,state:{isValueShown:c,name:v,type:m,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return Te.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:s={}}=t,{advancedFilters:o,quickFilters:l}=a,u;o&&(u=Jt.changeFilterIndexesToColumnNames(r,o));var h;return l&&(h=Jt.changeFilterIndexesToColumnNames(r,l)),{irisGridState:Jn(Jn({},a),{},{advancedFilters:u,quickFilters:h}),gridState:Jn({},s)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;Te.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:r=!1}=e;Te.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:s,type:o,state:l}=a;if(s==null){Te.debug("panel is null",s);return}if(!t.has(s)){Te.debug("Ignore closed panel",s);return}Te.debug("Apply panel filters",s,o,l);var u=t.get(s);switch(o){case M.getComponentName(Xt):this.restoreIrisGridFilters(u,l,r);break;case M.getComponentName(Nn):case M.getComponentName(jt):this.restoreInputFilterState(u,l);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;Te.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:r={},advancedFilters:a=[],quickFilters:s=[]}=t,{advancedFilters:o=a,quickFilters:l=s}=r,{panelTableMap:u}=this.props,h=M.getIdFromPanel(e);if(h==null){Te.error("Panel Id is null.");return}var c=u.get(h);if(c==null){Te.error("Unable to get table for panel ".concat(h,"."));return}Te.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:l,advancedFilters:o})}restoreInputFilterState(e,t){var n=Jn({},t);delete n.isValueShown,Te.debug("restoreInputFilterState",e,n),e&&Bv(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:a}=this.state;return d.jsx(pt,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0,children:d.jsx("div",{className:"input-filter-container h-100 w-100 container",children:d.jsx(wv,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Lr(Jt,"defaultProps",{panelState:null});Lr(Jt,"COMPONENT","FilterSetManagerPanel");var Wv=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:dc(i,t),dashboardOpenedPanelMap:Vs(i,t),dashboardInputFilters:Sr(i,t),panelTableMap:Er(i,t)}},Kv=Ke(Wv,{setDashboardFilterSets:pc},null,{forwardRef:!0})(Jt);const Bi=Kv;function In(i,e,t){return e=zv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zv(i){var e=qv(i,"string");return typeof e=="symbol"?e:String(e)}function qv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Va=z.module("LogPanel");class Di extends p.PureComponent{constructor(e){super(e),In(this,"isBottomVisible",void 0),In(this,"logView",void 0),this.handleResize=this.handleResize.bind(this),this.handleShow=this.handleShow.bind(this),this.handleHide=this.handleHide.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.isBottomVisible=!0,this.logView=null;var{session:t}=this.props;this.state={session:t}}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions(),this.logView&&(this.logView.triggerFindWidget(),this.isBottomVisible&&this.logView.scrollToBottom())}handleHide(){this.logView&&(this.isBottomVisible=this.logView.isBottomVisible())}handleSessionOpened(e){Va.debug("Session opened",[e]),this.setState({session:e})}handleSessionClosed(e){Va.debug("Session closed",e)}updateDimensions(){this.logView&&this.logView.updateDimensions()}render(){var{glContainer:e,glEventHub:t}=this.props,{session:n}=this.state;return d.jsxs(pt,{componentPanel:this,glContainer:e,glEventHub:t,onResize:this.handleResize,onHide:this.handleHide,onShow:this.handleShow,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,children:[n==null&&d.jsx("div",{className:"log-panel-disconnected-message",children:"Waiting for session connection"}),n!=null&&d.jsx(Fh,{session:n,ref:r=>{this.logView=r}})]})}}In(Di,"defaultProps",{session:null});In(Di,"COMPONENT","LogPanel");In(Di,"TITLE","Log");var Yv=(i,e)=>{var t;return{session:(t=_n(i,e.localDashboardId))===null||t===void 0?void 0:t.session}},Zv=Ke(Yv,null,null,{forwardRef:!0})(Di);const Xv=Zv;function Qv(i,e,t){return e=Jv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jv(i){var e=ep(i,"string");return typeof e=="symbol"?e:String(e)}function ep(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class _o extends p.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return d.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[d.jsx("div",{className:Z("text-muted","edit-hint",{viewing:e===void 0||!e}),children:d.jsxs("span",{children:["double-click to edit ",d.jsx(J,{icon:Js})]})}),t]})}}Qv(_o,"defaultProps",{isEditing:!1});function tp(i,e,t){return e=np(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function np(i){var e=ip(i,"string");return typeof e=="symbol"?e:String(e)}function ip(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var rp=z.module("MarkdownStartPage");class $o extends p.PureComponent{constructor(e){super(e),this.handleDeleteButtonClick=this.handleDeleteButtonClick.bind(this),this.handleDeleteModalClose=this.handleDeleteModalClose.bind(this),this.state={isDeleteModalShown:!1}}handleDeleteButtonClick(e){this.setState({isDeleteModalShown:!0,toBeDeleted:e})}handleDeleteModalClose(){this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}handleDeleteMarkdown(e){if(rp.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:r,toBeDeleted:a}=this.state;return d.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:d.jsxs("div",{className:"markdown-panel-start-page-container",children:[d.jsxs("div",{className:"markdown-panel-start-list",children:[d.jsx("h3",{className:"list-title",children:"Start"}),d.jsx("div",{className:"list-item",children:d.jsx(k,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),d.jsxs("div",{className:"markdown-panel-start-list",children:[d.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(s=>d.jsxs("div",{className:"list-item",children:[d.jsx(k,{kind:"ghost",className:"title",onClick:()=>t(s),children:s.title}),d.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(s)},children:d.jsx(J,{icon:Rn})})]},s.id)),d.jsxs(Ys,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[d.jsx(Zs,{children:"Are you sure you want to permanently delete this note?"}),d.jsx(Xs,{children:"You can't undo this action."}),d.jsxs(Bs,{children:[d.jsx(k,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),d.jsx(k,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}tp($o,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const ap=$o;function Uo(i,e,t){return e=sp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sp(i){var e=op(i,"string");return typeof e=="symbol"?e:String(e)}function op(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var lp=i=>{var{children:e,className:t}=i,n=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return d.jsx("pre",{children:d.jsx("code",{children:d.jsx(fi,{language:n,children:X.Children.map(e,r=>typeof r=="string"?r.trim():r)})})})};class Ho extends p.PureComponent{constructor(e){super(e),Uo(this,"container",void 0),this.container=null}render(){var{isEditing:e,content:t,onEditorInitialized:n}=this.props;return d.jsx("div",{className:"markdown-editor-container",ref:r=>{this.container=r},children:e?d.jsx(ks,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):d.jsx(Ms,{components:{code:lp},children:t})})}}Uo(Ho,"defaultProps",{isEditing:!1,content:""});function Ln(i,e,t){return e=dp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function dp(i){var e=up(i,"string");return typeof e=="symbol"?e:String(e)}function up(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ei=z.module("MarkdownPanel");class Dr extends p.Component{constructor(e){super(e),Ln(this,"markdownEditor",void 0),Ln(this,"editor",void 0),Ln(this,"getClosedMarkdowns",te(r=>r.filter(a=>a.component==="MarkdownPanel").reverse())),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,n=null;t!=null&&t.content!=null&&({content:n}=t),this.state={isStartPageShown:n==null,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){I(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t){var n,r,a=t.getBoundingClientRect().top,s=t.scrollTop,o=t.scrollHeight,l=(n=(r=this.editor.getModel())===null||r===void 0?void 0:r.getLineCount())!==null&&n!==void 0?n:0,u=Math.round((s+e-a)/o*l);u>l&&(u=l),this.editor.revealLine(u),this.editor.setPosition({lineNumber:u,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){ei.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){ei.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){ei.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=M.getComponentConfigFromContainer(t);n.emit(le.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(le.DELETE,e)}handleEditorBlur(e){var t;ei.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var r=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:r,isEditing:!1,panelState:{content:r}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:r,isStartPageShown:a,content:s}=this.state,o=this.getClosedMarkdowns(n);return d.jsx(pt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?d.jsx(ap,{closedMarkdowns:o,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):d.jsx(_o,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:d.jsx(Ho,{ref:l=>{this.markdownEditor=l},isEditing:r,content:s??void 0,onEditorInitialized:this.handleEditorInitialized})})})}}Ln(Dr,"defaultProps",{panelState:null});Ln(Dr,"COMPONENT","MarkdownPanel");var hp=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:$l(i,t)}},cp=Ke(hp,null,null,{forwardRef:!0})(Dr);const dn=cp;function ii(i,e,t){return e=vp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vp(i){var e=pp(i,"string");return typeof e=="symbol"?e:String(e)}function pp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Vo extends p.PureComponent{constructor(e){super(e),ii(this,"commands",void 0),ii(this,"codeElements",void 0),ii(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=X.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(r=>r===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:r}=this.state,a=[...this.commands.keys()],s=a.findIndex(b=>b===r||r==null);if(!(s<0)){var o=a[s],l=this.commands.get(o),u=this.getNextStartLine(o),h=(t=this.codeElements.get(o))===null||t===void 0?void 0:t.current,c=h==null||(n=h.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(c!=null){var v,{offsetTop:m}=c,g=m;(v=this.editorScrollView.current)===null||v===void 0||v.scroll({top:g,left:0})}this.runCode(l),this.setState({nextStartLine:u})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:r,node:a}=e,{hasRunCode:s,nextStartLine:o}=this.state,{children:l,position:u}=a;I(u);var{start:h}=u,{line:c}=h,v=l[0].value,m=X.createRef(),g=this.commands.size===0,b=o===c||g&&o==null&&!s,f=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return r!=null&&r?d.jsx("code",{className:n,children:t}):(this.commands.set(c,v),this.codeElements.set(c,m),d.jsxs("div",{className:Z("markdown-notebook-code-block",{"is-selected":b}),ref:m,onClick:()=>{this.setState({nextStartLine:c})},role:"presentation",children:[d.jsx(k,{kind:"ghost",icon:ri,className:"btn-play-block",onClick:C=>{C.stopPropagation(),C.preventDefault(),this.runCode(v),this.setState({nextStartLine:c})},tooltip:"Run code"}),d.jsx("code",{children:d.jsx(fi,{language:f,children:X.Children.map(t,C=>typeof C=="string"?C.trim():C)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:r,target:a}=e;return d.jsx("a",{href:n,onClick:t,target:a,children:r})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:r,hasRunCode:a,nextStartLine:s}=this.state;return d.jsxs("div",{className:"markdown-notebook",children:[d.jsx("div",{className:"markdown-notebook-toolbar",children:d.jsx(k,{className:Z("btn-play-selected-cell",{flashing:r&&!a}),kind:"ghost",icon:ri,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:a&&s==null||!r,children:"Run Selected Code"})}),d.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:d.jsx(Ms,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[cl],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}ii(Vo,"defaultProps",{onRunCode:()=>{}});const mp=Vo;function Ga(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function Ba(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Ga(a,n,r,s,o,"next",l)}function o(l){Ga(a,n,r,s,o,"throw",l)}s(void 0)})}}function Wa(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ke(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wa(Object(t),!0).forEach(function(n){Ne(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Wa(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ne(i,e,t){return e=fp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fp(i){var e=gp(i,"string");return typeof e=="symbol"?e:String(e)}function gp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ee=z.module("NotebookPanel"),Ka=400;class Pe extends p.Component{static handleError(e){ge.isCanceled(e)||ee.error(e)}static unsavedNotebookCount(){return document.querySelectorAll(".".concat(Pe.UNSAVED_INDICATOR_CLASS_NAME,".").concat(Pe.UNSAVED_STATUS_CLASS_NAME)).length}static languageFromFileName(e){var t=$.getExtension(e).toLowerCase();switch(t){case"py":case"python":return"python";case"groovy":return"groovy";case"scala":return"scala";default:return null}}constructor(e){super(e),Ne(this,"pending",void 0),Ne(this,"debouncedSavePanelState",void 0),Ne(this,"debouncedLoad",void 0),Ne(this,"notebook",void 0),Ne(this,"tabTitleElement",void 0),Ne(this,"tabInitOnce",void 0),Ne(this,"editor",void 0),Ne(this,"getSettings",te((v,m)=>ke(ke({},v),{},{minimap:{enabled:m}}))),Ne(this,"getOverflowActions",te((v,m)=>[{title:"Find",icon:gd,action:this.handleFind,group:Q.groups.high,shortcut:xe.NOTEBOOK.FIND,order:10},{title:"Copy File",icon:bd,action:this.handleCopy,group:Q.groups.medium,order:20},{title:"Rename File",icon:Cd,action:this.handleShowRename,group:Q.groups.medium,order:30},{title:"Delete File",icon:Rn,action:this.handleDelete,group:Q.groups.medium,order:40},{title:"Show Minimap",icon:v?Pn:void 0,action:this.handleMinimapChange,group:Q.groups.low,shortcut:xe.NOTEBOOK.MINIMAP,order:20},{title:"Word Wrap",icon:m?Pn:void 0,action:this.handleWordWrapChange,group:Q.groups.low,shortcut:xe.NOTEBOOK.WORDWRAP,order:30}])),this.handleBlur=this.handleBlur.bind(this),this.handleCloseCancel=this.handleCloseCancel.bind(this),this.handleCloseDiscard=this.handleCloseDiscard.bind(this),this.handleCloseSave=this.handleCloseSave.bind(this),this.handleCopy=this.handleCopy.bind(this),this.handleDelete=this.handleDelete.bind(this),this.handleDeleteConfirm=this.handleDeleteConfirm.bind(this),this.handleDeleteCancel=this.handleDeleteCancel.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorWillDestroy=this.handleEditorWillDestroy.bind(this),this.handleEditorChange=this.handleEditorChange.bind(this),this.handleFind=this.handleFind.bind(this),this.handleMinimapChange=this.handleMinimapChange.bind(this),this.handleWordWrapChange=this.handleWordWrapChange.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleLinkClick=this.handleLinkClick.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.handleRenameFile=this.handleRenameFile.bind(this),this.handleResize=this.handleResize.bind(this),this.handleRunCommand=this.handleRunCommand.bind(this),this.handleRunAll=this.handleRunAll.bind(this),this.handleRunSelected=this.handleRunSelected.bind(this),this.handleSave=this.handleSave.bind(this),this.handleSaveAsCancel=this.handleSaveAsCancel.bind(this),this.handleSaveAsSubmit=this.handleSaveAsSubmit.bind(this),this.handleSaveError=this.handleSaveError.bind(this),this.handleSaveSuccess=this.handleSaveSuccess.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleShowRename=this.handleShowRename.bind(this),this.handleTab=this.handleTab.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabClick=this.handleTabClick.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleTransformLinkUri=this.handleTransformLinkUri.bind(this),this.handleOverwrite=this.handleOverwrite.bind(this),this.handlePreviewPromotion=this.handlePreviewPromotion.bind(this),this.getDropdownOverflowActions=this.getDropdownOverflowActions.bind(this),this.pending=new Tt,this.debouncedSavePanelState=Je(this.savePanelState.bind(this),Ka),this.debouncedLoad=Je(this.load.bind(this),Ka),this.notebook=null,this.tabTitleElement=null,this.tabInitOnce=!1;var{isDashboardActive:t,session:n,sessionLanguage:r,panelState:a}=e,s={value:"",language:"",wordWrap:"off"},o=null,{isPreview:l}=e;a!=null&&({fileMetadata:o=o,isPreview:l=l,settings:s=s}=a);var u=o!=null&&$.hasPath(o.itemName),h=u===!0&&s.value!=null||!u&&s.value!=null&&s.value.length>0,c=h?1:0;this.state={error:void 0,isDashboardActive:t,isFocused:!1,isLoading:!0,isLoaded:!1,isPreview:l,savedChangeCount:0,changeCount:c,fileMetadata:o,settings:s,session:n,sessionLanguage:r,panelState:{fileMetadata:o,settings:s},showCloseModal:!1,showDeleteModal:!1,showSaveAsModal:!1,scriptCode:""},ee.debug("constructor",e,this.state)}componentDidMount(){var{glContainer:e,glEventHub:t}=this.props,{tab:n}=e;n!=null&&this.initTab(n),this.initNotebookContent(),t.on(ie.RENAME_FILE,this.handleRenameFile),t.on(le.DROPPED,this.handlePanelDropped),e.on(ie.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion)}componentDidUpdate(e,t){var{isPreview:n,settings:r}=this.state,{wordWrap:a}=r,{defaultNotebookSettings:s}=this.props;n!==t.isPreview&&this.setPreviewStatus(),a!==t.settings.wordWrap&&(this.updateEditorWordWrap(),this.debouncedSavePanelState()),s.isMinimapEnabled!==e.defaultNotebookSettings.isMinimapEnabled&&this.updateEditorMinimap()}componentWillUnmount(){this.debouncedSavePanelState.flush(),this.pending.cancel();var{glEventHub:e,glContainer:t}=this.props,{fileMetadata:n,isPreview:r}=this.state;e.off(ie.RENAME_FILE,this.handleRenameFile),e.off(le.DROPPED,this.handlePanelDropped),t.off(ie.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion),e.emit(ie.UNREGISTER_FILE,n,r)}initTab(e){this.tabInitOnce||(this.tabInitOnce=!0,this.initTabCloseOverride()),this.initTabClasses(e)}initTabCloseOverride(){var{glContainer:e}=this.props;e.beforeClose(t=>{if((t==null?void 0:t.force)===!0)return!0;var{changeCount:n,savedChangeCount:r}=this.state;return n!==r?(this.setState({showCloseModal:!0}),!1):!0})}initTabClasses(e){var t=e.element.get(0);I(t);var n=t.querySelector(".lm_title");this.tabTitleElement=n,n==null||n.classList.add("notebook-title"),this.setPreviewStatus()}getNotebookValue(){var{changeCount:e,savedChangeCount:t,settings:n}=this.state,{value:r}=n;if(e!==t&&this.notebook){var a=this.notebook.getValue();return a??r}return r}initNotebookContent(){var{fileMetadata:e,settings:t,isPreview:n}=this.state;if(e&&e.id){ee.debug("Init content from file"),this.registerFileMetadata(e,n),this.load();return}if(t.value!=null){ee.debug("Use content passed in the settings prop"),this.handleLoadSuccess();return}this.handleLoadError(new Error("Missing file metadata"))}closeFileTabById(e){var{glEventHub:t}=this.props;t.emit(ie.CLOSE_FILE,{id:e})}registerFileMetadata(e,t){var{glEventHub:n,metadata:r}=this.props,{id:a}=r;n.emit(ie.REGISTER_FILE,a,e,t)}renameTab(e,t){var{glEventHub:n}=this.props;n.emit(ie.RENAME,e,t)}load(){var{fileMetadata:e,settings:t}=this.state;I(e);var{id:n}=e,{fileStorage:r}=this.props;this.pending.add(r.loadFile(n)).then(a=>{var s;ee.debug("Loaded file",a);var{filename:o}=a,{itemName:l}=this.state;if(o!==l){var{metadata:u}=this.props,{id:h}=u;this.renameTab(h,$.getBaseName(o))}var c=ke(ke({},t),{},{language:(s=Pe.languageFromFileName(o))!==null&&s!==void 0?s:""});t.value==null&&(c.value=a.content),t.wordWrap===void 0&&(t.wordWrap="off"),this.setState({fileMetadata:{id:o,itemName:o},settings:c}),this.debouncedSavePanelState()}).then(this.handleLoadSuccess).catch(this.handleLoadError)}save(){var{fileMetadata:e}=this.state;if(e&&$.hasPath(e.itemName)){var t=this.getNotebookValue();return t!==void 0?(this.saveContent(e.itemName,t),!0):!1}return this.setState({showSaveAsModal:!0}),!1}saveContent(e,t){ee.debug("saveContent",e,t),this.updateSavedChangeCount();var{fileStorage:n}=this.props;this.pending.add(n.saveFile({filename:e,content:t,basename:e})).then(this.handleSaveSuccess).catch(this.handleSaveError)}updateSavedChangeCount(){this.setState(e=>{var{changeCount:t}=e;return{savedChangeCount:t}})}setPreviewStatus(){if(this.tabTitleElement){var{isPreview:e}=this.state;ee.debug("setPreviewStatus",this.tabTitleElement,e),e?this.tabTitleElement.classList.add("is-preview"):this.tabTitleElement.classList.remove("is-preview")}}handlePreviewPromotion(){this.removePreviewStatus()}savePanelState(){this.setState(e=>{var{changeCount:t,savedChangeCount:n,fileMetadata:r,isPreview:a,settings:s}=e,o=this.getNotebookValue(),l=t!==n?o:void 0,u=ke(ke({},s),{},{value:o}),h=ke(ke({},s),{},{value:l}),c={settings:h,fileMetadata:r,isPreview:a};return ee.debug("Saving panel state",c),{settings:u,panelState:c}})}handleCloseDiscard(){this.setState({showCloseModal:!1});var{glContainer:e}=this.props;e.close({force:!0})}handleCloseSave(){if(this.setState({showCloseModal:!1}),this.save()){var{glContainer:e}=this.props;e.close({force:!0})}}handleCloseCancel(){this.setState({showCloseModal:!1})}handleOverwrite(e){var{glEventHub:t}=this.props;t.emit(ie.CLOSE_FILE,{id:e,itemName:e},{force:!0}),this.focus()}handleCopy(){var e=this;return Ba(function*(){var{fileStorage:t,glEventHub:n,session:r}=e.props,{fileMetadata:a,settings:s}=e.state;I(a);var{language:o}=s,{itemName:l}=a,u=yield $.getUniqueCopyFileName(t,l);ee.debug("handleCopy",a,l,u),yield t.copyFile(l,u);var h={id:u,itemName:u},c={value:null,language:o};n.emit(ie.SELECT_NOTEBOOK,r,o,c,h,!0)})()}handleDelete(){ee.debug("handleDelete, pending confirmation"),this.setState({showDeleteModal:!0})}handleDeleteConfirm(){var e=this;return Ba(function*(){var{fileStorage:t,glContainer:n,glEventHub:r}=e.props,{fileMetadata:a}=e.state;ee.debug("handleDeleteConfirm",a==null?void 0:a.itemName),e.setState({showDeleteModal:!1}),a&&($.hasPath(a.itemName)&&(yield $.fileExists(t,a.itemName))?(r.emit(ie.CLOSE_FILE,a,{force:!0}),t.deleteFile(a.itemName)):n.close({force:!0}))})()}handleDeleteCancel(){this.setState({showDeleteModal:!1})}handleEditorInitialized(e){this.editor=e}handleEditorWillDestroy(){this.editor=void 0}handleEditorChange(e){ee.debug2("handleEditorChanged",e),this.removePreviewStatus(),this.setState(t=>{var{changeCount:n,savedChangeCount:r}=t,{isUndoing:a,isRedoing:s}=e;return a?{changeCount:n-1,savedChangeCount:r}:!s&&n<r?{changeCount:n+1,savedChangeCount:0}:{changeCount:n+1,savedChangeCount:r}}),this.debouncedSavePanelState()}handleFind(){this.notebook&&this.notebook.toggleFind()}updateEditorMinimap(){if(this.editor){var{defaultNotebookSettings:e}=this.props;this.editor.updateOptions({minimap:{enabled:e.isMinimapEnabled}})}}handleMinimapChange(){var e,{defaultNotebookSettings:t,updateSettings:n}=this.props,r={defaultNotebookSettings:{isMinimapEnabled:!((e=t.isMinimapEnabled)!==null&&e!==void 0&&e)}};n(r)}updateEditorWordWrap(){if(this.editor){var{settings:e}=this.state,{wordWrap:t}=e;this.editor.updateOptions({wordWrap:t})}}handleWordWrapChange(){this.editor&&this.setState(e=>{var{settings:t}=e,n=t.wordWrap==="on"?"off":"on";return{settings:ke(ke({},t),{},{wordWrap:n})}})}handleBlur(){ee.debug("handleBlur"),this.setState({isFocused:!1})}handleFocus(){ee.debug("handleFocus"),this.setState({isFocused:!0})}handleLinkClick(e){var{notebooksUrl:t,session:n,sessionLanguage:r}=this.props,{href:a}=e.currentTarget;if(!(!a||!a.startsWith(t))){e.stopPropagation(),e.preventDefault();var s="/".concat(a.substring(t.length)).replace(/%20/g," ");if(s==="/"){ee.debug("Ignoring invalid notebook link",s);return}ee.debug("Notebook link clicked, opening",s);var{glEventHub:o}=this.props,l={value:null,language:r},u={id:s,itemName:s};o.emit(ie.SELECT_NOTEBOOK,n,r,l,u)}}handleLoadSuccess(){this.setState({error:void 0,isLoaded:!0,isLoading:!1})}handleLoadError(e){var t=e;ge.isCanceled(t)||(ge.isTimedOut(t)&&(t=new Error("File not found.")),ee.error(t),this.setState({error:t,isLoading:!1}))}handleSave(){ee.debug("handleSave"),this.save()}handleSaveSuccess(e){var t,{fileStorage:n}=this.props,r={id:e.filename,itemName:e.filename},a=(t=Pe.languageFromFileName(e.filename))!==null&&t!==void 0?t:"";this.setState(s=>{var{fileMetadata:o}=s,l=ke(ke({},s.settings),{},{language:a});return ee.debug("handleSaveSuccess",r,o,l),o&&$.hasPath(o.itemName)&&o.itemName!==r.itemName&&(ee.debug("handleSaveSuccess deleting old file",o.itemName),n.deleteFile(o.itemName).catch(Pe.handleError)),{fileMetadata:r,settings:l,isPreview:!1}}),this.debouncedSavePanelState(),this.registerFileMetadata(r,!1)}handleSaveError(e){ge.isCanceled(e)||(this.setState({savedChangeCount:0}),ee.error(e))}handleSaveAsCancel(){this.setState({showSaveAsModal:!1})}handleSaveAsSubmit(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;n&&this.handleOverwrite(e),ee.debug("handleSaveAsSubmit",e);var{fileMetadata:r}=this.state;if(r){var{itemName:a}=r,s=(t=this.getNotebookValue())!==null&&t!==void 0?t:"";if(this.setState({showSaveAsModal:!1}),$.getBaseName(a)!==$.getBaseName(e)){var{metadata:o}=this.props,{id:l}=o;this.renameTab(l,$.getBaseName(e))}this.saveContent(e,s)}}handleRenameFile(e,t,n){var{fileMetadata:r,panelState:a}=this.state,{glContainer:s}=this.props;if((r==null?void 0:r.itemName)==="/".concat(t)&&n&&JSON.stringify(a)!==JSON.stringify(n)){s.close();return}r&&r.id===e&&(this.setState({fileMetadata:{id:t,itemName:t}}),this.debouncedSavePanelState())}handleResize(){var e;(e=this.notebook)===null||e===void 0||e.updateDimensions()}handleRunCommand(e){this.runCommand(e)}handleRunAll(){var e;if(!this.notebook){ee.error("Editor is not initialized.");return}this.runCommand((e=this.notebook.getValue())!==null&&e!==void 0?e:void 0)}handleRunSelected(){if(!this.notebook){ee.error("Editor is not initialized.");return}this.runCommand(this.notebook.getSelectedCommand())}handleSessionOpened(e,t){var{language:n}=t;this.setState({session:e,sessionLanguage:n})}handleSessionClosed(){this.setState({session:void 0,sessionLanguage:void 0})}handleShow(){var e;ee.debug("handleShow"),(e=this.notebook)===null||e===void 0||e.updateDimensions()}handlePanelDropped(e){var{metadata:{id:t}}=this.props;e===t&&this.forceUpdate()}handleShowRename(){this.setState({showSaveAsModal:!0})}handleTab(e){ee.debug("NotebookPanel tab event",e),this.initTab(e)}handleTabFocus(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];ee.debug("handleTabFocus",...t);var{glContainer:r}=this.props;this.setState({isDashboardActive:!0}),this.notebook&&!r.isHidden&&this.notebook.updateDimensions()}handleTabBlur(){ee.debug("handleTabBlur"),this.setState({isDashboardActive:!1})}handleTabClick(e){ee.debug("handle NotebookPanel tab click"),this.focus(),e.detail===2&&this.removePreviewStatus()}handleTransformLinkUri(e){var{notebooksUrl:t}=this.props,{fileMetadata:n}=this.state;if(e.endsWith("/"))return e;if(e.startsWith("/"))return"".concat(t).concat(e.substring(1));var r=n==null?void 0:n.itemName;if(r===void 0)return e;r.charAt(0)==="/"&&(r=r.substring(1));var a=new URL(r,t);return new URL(e,a).href}focus(){requestAnimationFrame(()=>{this.notebook&&this.notebook.focus()})}createNotebook(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",{glEventHub:r}=this.props,{session:a,sessionLanguage:s,settings:o}=this.state,l=ke(ke({},o),{},{language:t,value:n}),u={id:null,itemName:e};ee.debug("handleCreateNotebook",a,s,l,u),r.emit(ie.CREATE_NOTEBOOK,a,s,l,u)}runCommand(e){if(e===void 0||e===""){ee.debug("Ignoring empty command.");return}this.removePreviewStatus();var{glEventHub:t}=this.props;t.emit(We.SEND_COMMAND,e,!1,!0)}removePreviewStatus(){this.setState(e=>{var{isPreview:t}=e;if(t){var{fileMetadata:n}=this.state;return n&&this.registerFileMetadata(n,!1),{isPreview:!1}}return null})}getDropdownOverflowActions(){var e,t,{defaultNotebookSettings:n}=this.props,{settings:r}=this.state;return this.getOverflowActions((e=n.isMinimapEnabled)!==null&&e!==void 0?e:!1,this.getSettings(r,(t=n.isMinimapEnabled)!==null&&t!==void 0?t:!1).wordWrap==="on")}render(){var e,t,n,{fileStorage:r,glContainer:a,glContainer:{tab:s},glEventHub:o,defaultNotebookSettings:l}=this.props,{changeCount:u,savedChangeCount:h,error:c,isDashboardActive:v,isLoaded:m,isLoading:g,isPreview:b,fileMetadata:f,session:C,sessionLanguage:E,settings:S,showCloseModal:y,showDeleteModal:O,showSaveAsModal:x}=this.state,L=v&&!a.isHidden&&!b,F=(e=f==null?void 0:f.itemName)!==null&&e!==void 0?e:Pe.DEFAULT_NAME,N=F.endsWith(".md"),A=(f==null?void 0:f.id)!=null,Y=this.getSettings(S,(t=l.isMinimapEnabled)!==null&&t!==void 0?t:!1),j=C!=null,U=E===Y.language,V=!m||!j||!U,R=!m,W=[{action:this.handleSave,shortcut:Dn.SAVE},{action:this.handleMinimapChange,shortcut:xe.NOTEBOOK.MINIMAP},{action:this.handleWordWrapChange,shortcut:xe.NOTEBOOK.WORDWRAP}],G=tr.getDisabledRunTooltip(j,U,"Notebook extension","Run"),ae=tr.getDisabledRunTooltip(j,U,"Notebook extension","Run Selected"),Ce=[{title:A?"Rename":"Save As…",order:10,group:Q.groups.high,action:this.handleShowRename},{title:"Copy File",action:this.handleCopy,group:Q.groups.high,order:20}],Se=s==null?void 0:s.element.find(".lm_title_before").get(0);return d.jsxs(d.Fragment,{children:[Se!=null&&Ds.createPortal(d.jsx("span",{className:Z(Pe.UNSAVED_INDICATOR_CLASS_NAME,{[Pe.UNSAVED_STATUS_CLASS_NAME]:u!==h})}),Se),d.jsxs(pt,{className:"notebook-container",componentPanel:this,glContainer:a,glEventHub:o,onTab:this.handleTab,onResize:this.handleResize,onShow:this.handleShow,onTabClicked:this.handleTabClick,onTabFocus:this.handleTabFocus,onTabBlur:this.handleTabBlur,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onFocus:this.handleFocus,onBlur:this.handleBlur,additionalActions:Ce,renderTabTooltip:()=>F,children:[!N&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"notebook-toolbar",children:[d.jsxs("span",{children:[d.jsx(k,{kind:"ghost",className:"btn-play",onClick:this.handleRunAll,disabled:V,icon:d.jsx(J,{icon:ri,transform:"grow-4"}),tooltip:"Run ".concat(xe.NOTEBOOK.RUN.getDisplayText()),"aria-label":"Run"}),G!=null&&d.jsx(wt,{children:G})]}),d.jsxs("span",{children:[d.jsx(k,{kind:"ghost",className:"btn-play",onClick:this.handleRunSelected,disabled:V,icon:d.jsx(J,{icon:fd,transform:"grow-4"}),tooltip:"Run Selected ".concat(xe.NOTEBOOK.RUN_SELECTED.getDisplayText()),"aria-label":"Run Selected"}),ae!=null&&d.jsx(wt,{children:ae})]}),d.jsx(k,{kind:"ghost",className:"mr-auto",disabled:R,onClick:this.handleSave,icon:Qs,tooltip:"Save ".concat(Dn.SAVE.getDisplayText()),"aria-label":"Save"}),d.jsx(k,{kind:"ghost",className:"btn-overflow",disabled:R,icon:zs,tooltip:"More Actions...",onClick:()=>{},children:d.jsx(Wt,{actions:this.getDropdownOverflowActions,popperOptions:Pe.POPPER_OPTIONS})})]}),d.jsx(ph,{isLoaded:m,isLoading:g,error:c,onChange:this.handleEditorChange,onRunCommand:this.handleRunCommand,session:C,sessionLanguage:E,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy,settings:Y,focusOnMount:L,ref:P=>{this.notebook=P}})]}),N&&d.jsx(mp,{content:(n=Y.value)!==null&&n!==void 0?n:"",onLinkClick:this.handleLinkClick,onRunCode:this.handleRunCommand,transformImageUri:this.handleTransformLinkUri,transformLinkUri:this.handleTransformLinkUri}),d.jsx(jo,{isOpen:x,type:"file",defaultValue:F,title:A?"Rename":"Save file as",onSubmit:this.handleSaveAsSubmit,onCancel:this.handleSaveAsCancel,notifyOnExtensionChange:!0,storage:r}),d.jsx(Mn,{isOpen:O,headerText:'Are you sure you want to delete "'.concat(F,'"?'),bodyText:"You cannot undo this action.",onCancel:this.handleDeleteCancel,onConfirm:this.handleDeleteConfirm,confirmButtonText:"Delete"}),d.jsx(Mn,{isOpen:y,headerText:"Do you want to save the changes you made to ".concat(F,"?"),bodyText:"Your changes will be lost if you don't save them.",onCancel:this.handleCloseCancel,onDiscard:this.handleCloseDiscard,onConfirm:this.handleCloseSave,discardButtonText:"Discard Changes",confirmButtonText:"Save"}),d.jsx(Q,{actions:W})]})]})}}Ne(Pe,"COMPONENT","NotebookPanel");Ne(Pe,"POPPER_OPTIONS",{placement:"bottom-end"});Ne(Pe,"DEFAULT_NAME","Untitled");Ne(Pe,"UNSAVED_INDICATOR_CLASS_NAME","editor-unsaved-indicator");Ne(Pe,"UNSAVED_STATUS_CLASS_NAME","is-unsaved");Ne(Pe,"defaultProps",{isDashboardActive:!0,isPreview:!1,session:null,sessionLanguage:null,defaultNotebookSettings:{isMinimapEnabled:!0}});var bp=(i,e)=>{var t=ao(i),n=jd(i),r=_n(i,e.localDashboardId),{session:a,config:s}=r??{},{type:o}=s??{};return{fileStorage:t,defaultNotebookSettings:n,session:a,sessionLanguage:o}},Cp=Ke(bp,{updateSettings:Ul},null,{forwardRef:!0})(Pe);const It=Cp;function Go(i){var{onClick:e}=i,t=p.useRef(null),n=p.useCallback(r=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(r)},[e]);return d.jsxs(k,{ref:t,kind:"primary",className:"btn-pandas",onClick:n,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",d.jsxs("span",{children:[d.jsx(J,{icon:eo,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function za(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function qa(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?za(Object(t),!0).forEach(function(n){Mi(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):za(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Mi(i,e,t){return e=Sp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sp(i){var e=Ep(i,"string");return typeof e=="symbol"?e:String(e)}function Ep(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Mr extends p.Component{constructor(e){super(e),Mi(this,"irisGridRef",void 0),this.irisGridRef=X.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:r}=this.state;r&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return d.jsx(xn,qa(qa({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:d.jsx(Go,{onClick:this.handleReload})}))}}Mi(Mr,"defaultProps",{panelState:null});Mi(Mr,"COMPONENT","PandasPanel");const yp=Mr;function Ya(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function Za(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Ya(a,n,r,s,o,"next",l)}function o(l){Ya(a,n,r,s,o,"throw",l)}s(void 0)})}}function Xa(i,e,t){return e=Pp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Pp(i){var e=wp(i,"string");return typeof e=="symbol"?e:String(e)}function wp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Tp{constructor(e){Xa(this,"items",void 0),Xa(this,"onUpdateCallback",void 0),this.items=e}setSearch(e){}setExpanded(e,t){if(e.charAt(e.length-1)==="/")for(var n=0;n<this.items.length;n+=1){var r=this.items[n];He(r)&&("".concat(r.filename,"/")===e||r.filename===e)&&(r.isExpanded=t)}return Promise.resolve()}collapseAll(){for(var e=0;e<this.items.length;e+=1){var t=this.items[e];He(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return Za(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return Za(function*(){var n,r=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,r)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}const Op=Tp;function Qa(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function un(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Qa(a,n,r,s,o,"next",l)}function o(l){Qa(a,n,r,s,o,"throw",l)}s(void 0)})}}function Np(i,e,t){return e=Lp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Lp(i){var e=Dp(i,"string");return typeof e=="symbol"?e:String(e)}function Dp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Mp{constructor(e){Np(this,"items",void 0),this.items=e}getTable(){var e=this;return un(function*(){return new Op(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return un(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return un(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return un(function*(){for(var r=0;r<n.items.length;r+=1)if(n.items[r].filename===e){n.items[r].filename=t,n.items[r].basename=$.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return un(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Oi;if(n.length>1)throw new Error("More than one matching file found");var r=n[0];return{filename:r.filename,basename:r.basename,id:r.filename,type:r.type}})()}createDirectory(e){throw new Error("Method not implemented.")}}const af=Mp;function Ja(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function hi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ja(Object(t),!0).forEach(function(n){Fp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ja(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Fp(i,e,t){return e=xp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xp(i){var e=Ip(i,"string");return typeof e=="symbol"?e:String(e)}function Ip(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function es(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function Rp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){es(a,n,r,s,o,"next",l)}function o(l){es(a,n,r,s,o,"throw",l)}s(void 0)})}}function kp(i,e,t,n,r,a){return sr.apply(this,arguments)}function sr(){return sr=Rp(function*(i,e,t,n,r,a){var s,o,l,u;if(Tn(n)?(s=n.settings,o=n.table,l=void 0,u=n.tableSettings):(s={},o="",l=Ro(n)?n.figure:n.name,u={}),a!=null&&(a.tableSettings!=null&&(u=a.tableSettings),a.table!=null&&(o=a.table),a.figure!=null&&(l=a.figure),a.settings!=null&&(s=hi(hi({},s),a.settings))),l==null&&o==null){var h=yield r();return yn.makeModel(i,s,h,e)}if(l!=null){var c;if(n.type===i.VariableType.FIGURE){var v={name:l,type:i.VariableType.FIGURE};c=yield t.getObject(v)}else c=yield r();return yn.makeModel(i,s,c,e)}var m={name:o,type:i.VariableType.TABLE},g=yield t.getObject(m);return new je(i).applyTableSettings(g,u,mr(ou.getState())),yn.makeModelFromSettings(i,s,g,e)}),sr.apply(this,arguments)}var Fr=p.forwardRef((i,e)=>{var t=_t(),n=ci(),r=wd(),a=fc(i)?i.panelState:void 0,{fetch:s,metadata:o,localDashboardId:l}=i,u=p.useMemo(()=>({metadata:o,localDashboardId:l,makeModel:()=>{if(o==null)throw new Error("Metadata is required for chart panel");return kp(t,n,r,o,s,a)}}),[t,r,s,a,o,l,n]);return d.jsx(wi,hi(hi({ref:e},i),u))});Fr.displayName="ChartPanelPlugin";const sf=Fr;function ts(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function jp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ts(a,n,r,s,o,"next",l)}function o(l){ts(a,n,r,s,o,"throw",l)}s(void 0)})}}function Ap(i){var e=_t(),t=ci(),[n,r]=p.useState(),{fetch:a}=i;return p.useEffect(()=>{var s=!1;function o(){return l.apply(this,arguments)}function l(){return l=jp(function*(){var u=yield a(),h=yield yn.makeModel(e,void 0,u,t);s||r(h)}),l.apply(this,arguments)}return o(),()=>{s=!0}},[e,a,t]),n?d.jsx(Hs,{model:n}):null}var _p={name:"ChartPanel",title:"Chart",type:Nt.WIDGET_PLUGIN,component:Ap,panelComponent:Fr,supportedTypes:"Figure",icon:cr};const of=_p;function $p(i){tn(i);var{id:e,layout:t}=i,n=_t(),r=ci(),a=p.useCallback(s=>{var{metadata:o,panelId:l=Ue.generate(),table:u}=s,{settings:h}=o,c=()=>yn.makeModelFromSettings(n,h,u,r),v=Us.titleFromSettings(h),m={type:"react-component",component:wi.COMPONENT,props:{localDashboardId:e,id:l,metadata:o,makeModel:c},title:v,id:l},{root:g}=t;M.openComponent({root:g,config:m})},[r,n,e,t]);return me(t.eventHub,Xe.CREATE_CHART,a),null}var Up={name:"ChartBuilderPlugin",type:Nt.DASHBOARD_PLUGIN,component:$p};const lf=Up;function ns(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function is(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ns(Object(t),!0).forEach(function(n){Hp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ns(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Hp(i,e,t){return e=Vp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vp(i){var e=Gp(i,"string");return typeof e=="symbol"?e:String(e)}function Gp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var pe=z.module("ConsolePlugin");function rs(i){return i.notebook!==void 0}function Bp(i){tn(i)}function df(i){Bp(i);var{id:e,hydrateConsole:t,layout:n,panelManager:r,registerComponent:a,notebooksUrl:s}=i,o=p.useRef(0),[l,u]=p.useState(new Map),[h,c]=p.useState(new Map),v=Fs(),m=p.useCallback(()=>r.getLastUsedPanelOfType(Vi),[r]),g=p.useCallback((P,w)=>{u(D=>new Map(D.set(P,w)))},[u]),b=p.useCallback(P=>{u(w=>(w.delete(P),new Map(w)))},[u]),f=p.useCallback((P,w)=>{c(D=>new Map(D.set(P,w)))},[c]),C=p.useCallback(P=>{c(w=>(w.delete(P),new Map(w)))},[c]),E=p.useCallback(function(P){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,B=P&&P.trim();if(!B)pe.info("Ignoring empty code");else{var K=m();if(!K||!(K instanceof Vi.WrappedComponent)){pe.error("Console panel not found");return}pe.debug("Send command: ",P,w,D),K.addCommand(P,w,D)}},[m]),S=p.useCallback(P=>{v(vc(e,P))},[v,e]),y=p.useCallback(P=>{var{language:w}=P,D=w==="python"?"py":w,B=null;return D==null?(pe.debug("No extension for language",w),B="Untitled-".concat(o.current)):B="Untitled-".concat(o.current,".").concat(D),o.current+=1,B},[]),O=p.useCallback(function(P){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{id:D}=P;if(D!=null&&l.has(D))return l.get(D);if(D!=null&&h.has(D))return h.get(D);if(w)return Ue.generate()},[l,h]),x=p.useCallback((P,w)=>{M.renameComponent(n.root,{id:P},w)},[n.root]),L=p.useCallback((P,w)=>{pe.debug("Rename file panel",P,w);var D;if(l.has(P)&&(D=l.get(P),b(P),D!=null&&g(w,D)),h.has(P)&&(D=h.get(P),C(P),D!=null&&f(w,D)),D===void 0){pe.debug2("File ".concat(P," isn't open, no need to rename the tab"));return}x(D,$.getBaseName(w))},[l,h,x,g,f,b,C]),F=p.useCallback(P=>{var w=O(P,!1);if(w==null){pe.error("Could not find panel id for file metadata",P);return}M.activateTab(n.root,{id:w})},[O,n.root]),N=p.useCallback((P,w,D)=>{if(pe.debug("registerFilePanel",P,w,D),w==null||w.id==null){pe.debug("Ignore empty file id",w);return}var{id:B}=w;if(D){f(B,P);return}if(l.has(B)){var K=l.get(B);if(P===K){pe.debug("Update tab title for file ".concat(B));var{itemName:ve}=w;L(B,ve)}else pe.error("File ".concat(B," already associated with a different tab ").concat(K));return}g(B,P),h.has(B)&&C(B)},[l,h,L,g,f,C]),A=p.useCallback((P,w)=>{if(pe.debug("unregisterFileTab",P,w),P==null||P.id==null){pe.debug("Ignore empty file id",P);return}var{id:D}=P;if(w){C(D);return}b(D)},[b,C]),Y=p.useCallback((P,w)=>{pe.debug("closeFilePanel",P);var{id:D}=P,B=null,K=!1;if(l.has(D))B=l.get(D);else if(h.has(D))B=h.get(D),K=!0;else{pe.debug("File ".concat(D," isn't open, ignore close event"));return}A(P,K),M.closeComponent(n.root,{id:B},w)},[n.root,l,h,A]),j=p.useCallback(P=>{var{itemName:w}=P;return $.getBaseName(w)},[]),U=p.useCallback(P=>{var{id:w}=P;return pe.debug("fileIsOpen",P,w,l),w!=null&&l.has(w)},[l]),V=p.useCallback(P=>{var{id:w}=P;return pe.debug("fileIsOpenAsPreview",P,w,h),w!=null&&h.has(w)},[h]),R=p.useCallback(P=>{if(P!=null){var w=r.getOpenedPanelById(P);w&&rs(w)&&w.focus()}},[r]),W=p.useCallback(P=>{var{id:w,settings:D,fileMetadata:B,session:K,sessionLanguage:ve,isPreview:T=!1}=P,H={settings:D,fileMetadata:B},q=j(B);return{type:"react-component",component:It.COMPONENT,isFocusOnShow:!1,props:{localDashboardId:e,metadata:{id:w},session:K,sessionLanguage:ve,panelState:H,isPreview:T,notebooksUrl:s},title:q,id:w}},[j,e,s]),G=p.useCallback(function(P,w,D){var B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{id:null,itemName:y(D)},K=O(B);if(U(B)&&K!=null){pe.debug("File is already open, focus panel"),F(B),R(K);return}var ve=M.getStackForComponentTypes(n.root,[It.COMPONENT]),T=W({id:K,settings:D,fileMetadata:B,session:P,sessionLanguage:w});pe.debug("createNotebook",T,l),M.openComponentInStack(ve,T)},[U,R,y,O,n.root,W,l,F]),ae=p.useCallback(function(P,w,D,B){var K=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;pe.debug("selectNotebook",B,K);var ve=U(B),T=V(B),[H]=[...h.values()],q=!K,se=q&&H?H:O(B);if(se==null||se==="")throw new Error("Unable to retrieve or create panelId for metadata",B);if(ve||T)F(B);else{var Ee=M.getStackForComponentTypes(n.root,[It.COMPONENT]),Ii=W({id:se,settings:D,fileMetadata:B,session:P,sessionLanguage:w,isPreview:q});M.openComponentInStack(Ee,Ii)}if(T&&K){var Hn=B.id,Ri=M.getStackForConfig(n.root,{component:It.COMPONENT,id:se}),on=M.getContentItemInStack(Ri,{component:It.COMPONENT,id:se});on&&Hl(on)&&(on.container.emit(ie.PROMOTE_FROM_PREVIEW),C(Hn),g(Hn,se))}K&&R(se)},[F,U,V,R,O,n.root,W,h,C,g]),Ce=p.useCallback(function(P,w){var D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,K=r.getLastUsedPanelOfType(It);K&&rs(K)?D!=null&&D.value!=null&&K.notebook!=null&&K.notebook.append(D.value):B&&G(P,w,D)},[G,r]),Se=p.useCallback((P,w)=>Vl.hydrate(is(is({},P),{},{notebooksUrl:s}),w),[s]);return ln(a,Vi,t),ln(a,Lc),ln(a,Sv),ln(a,Xv),ln(a,It,Se),me(n.eventHub,We.SEND_COMMAND,E),me(n.eventHub,We.SETTINGS_CHANGED,S),me(n.eventHub,ie.CLOSE_FILE,Y),me(n.eventHub,ie.CREATE_NOTEBOOK,G),me(n.eventHub,ie.SELECT_NOTEBOOK,ae),me(n.eventHub,ie.RENAME,x),me(n.eventHub,ie.RENAME_FILE,L),me(n.eventHub,ie.SEND_TO_NOTEBOOK,Ce),me(n.eventHub,ie.REGISTER_FILE,N),me(n.eventHub,ie.UNREGISTER_FILE,A),null}var hn=z.module("FilterPlugin");function as(i,e){return i.concat(e)}function Wp(i){tn(i);var{id:e,layout:t,registerComponent:n}=i,r=Fs(),[a]=p.useState(()=>new Map),[s]=p.useState(()=>new Map),[o]=p.useState(()=>new Map),l=p.useCallback(()=>{var f=Array.from(a.values()).reduce(as,[]).sort((S,y)=>{var O=qe.toLower(S.name),x=qe.toLower(y.name);if(O!==x)return O>x?1:-1;var L=qe.toLower(S.type),F=qe.toLower(y.type);return L!==F?L>F?1:-1:0}).reduce((S,y)=>((S.length===0||qe.toLower(S[S.length-1].name)!==qe.toLower(y.name)||qe.toLower(S[S.length-1].type)!==qe.toLower(y.type))&&S.push(y),S),[]),C=Array.from(s.values()).reduce(as,[]).sort((S,y)=>S.timestamp-y.timestamp),E=new Map(o);hn.debug("sendUpdate",{columns:f,filters:C,tableMap:E}),r(Ot(e,{columns:f,filters:C,tableMap:E}))},[r,e,a,s,o]),u=p.useCallback((f,C)=>{hn.debug2("handleColumnsChanged",f,C),a.set(f,[].concat(C)),l()},[a,l]),h=p.useCallback((f,C)=>{hn.debug2("handleFiltersChanged",f,C),s.set(f,[].concat(C)),l()},[s,l]),c=p.useCallback((f,C)=>{hn.debug2("handleTableChanged",f,C),o.set(M.getIdFromPanel(f),C),l()},[o,l]),v=p.useCallback(f=>{hn.debug2("handlePanelUnmount",f),a.delete(f),s.delete(f),o.delete(M.getIdFromPanel(f)),l()},[a,s,o,l]),m=p.useCallback(f=>{var{title:C="DropdownFilter",metadata:E={},panelState:S=null,id:y=Ue.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:x=!1,dragEvent:L=null}=f,F={type:"react-component",component:jt.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:F,focusElement:O,createNewStack:x,dragEvent:L})},[t,e]),g=p.useCallback(f=>{var{title:C="InputFilter",metadata:E={},panelState:S=null,id:y=Ue.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:x=!1,dragEvent:L=void 0}=f,F={type:"react-component",component:Nn.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:F,focusElement:O,createNewStack:x,dragEvent:L})},[t,e]),b=p.useCallback(f=>{var{title:C="FilterSets",metadata:E={},panelState:S=null,id:y=Ue.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:x=!1,dragEvent:L=null}=f,F={type:"react-component",component:Bi.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:F,focusElement:O,createNewStack:x,dragEvent:L})},[t,e]);return p.useEffect(function(){var C=[n(jt.COMPONENT,jt),n(Nn.COMPONENT,Nn),n(Bi.COMPONENT,Bi)];return()=>{C.forEach(E=>E())}},[n]),me(t.eventHub,fe.COLUMNS_CHANGED,u),me(t.eventHub,fe.FILTERS_CHANGED,h),me(t.eventHub,fe.TABLE_CHANGED,c),me(t.eventHub,fe.OPEN_DROPDOWN,m),me(t.eventHub,fe.OPEN_INPUT,g),me(t.eventHub,fe.OPEN_FILTER_SET_MANAGER,b),me(t.eventHub,le.UNMOUNT,v),null}var Kp={name:"FilterPlugin",type:Nt.DASHBOARD_PLUGIN,component:Wp};const uf=Kp;var zp=z.module("@deephaven/app-utils/useTablePlugin");function qp(){var i=to(),e=p.useCallback(t=>{var n=i.get(t);if(n!=null){if(Td(n))return n.component;if(Od(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw zp.error(r),new Error(r)},[i]);return e}function ss(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function Yp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ss(a,n,r,s,o,"next",l)}function o(l){ss(a,n,r,s,o,"throw",l)}s(void 0)})}}function Bo(i,e){var t=_t(),n=qp(),r=p.useMemo(()=>({loadPlugin:n,localDashboardId:e,makeModel:function(){var a=Yp(function*(){var o=yield i();return hr.makeModel(t,o)});function s(){return a.apply(this,arguments)}return s}()}),[t,n,i,e]);return r}function os(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ls(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?os(Object(t),!0).forEach(function(n){Zp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):os(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Zp(i,e,t){return e=Xp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xp(i){var e=Qp(i,"string");return typeof e=="symbol"?e:String(e)}function Qp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var xr=p.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n}=i,r=Bo(n,t);return d.jsx(xn,ls(ls({ref:e},i),r))});xr.displayName="GridPanelPlugin";const hf=xr;function ds(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function Jp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ds(a,n,r,s,o,"next",l)}function o(l){ds(a,n,r,s,o,"throw",l)}s(void 0)})}}function em(i){var e=_t(),[t,n]=p.useState(),{fetch:r}=i;return p.useEffect(()=>{var a=!1;function s(){return o.apply(this,arguments)}function o(){return o=Jp(function*(){var l=yield r(),u=yield hr.makeModel(e,l);a||n(u)}),o.apply(this,arguments)}return s(),()=>{a=!0}},[e,r]),t?d.jsx(vi,{model:t}):null}var tm={name:"IrisGridPanel",title:"Table",type:Nt.WIDGET_PLUGIN,component:em,panelComponent:xr,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:vr};const cf=tm;function us(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function bt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?us(Object(t),!0).forEach(function(n){Wo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):us(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Wo(i,e,t){return e=nm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function nm(i){var e=im(i,"string");return typeof e=="symbol"?e:String(e)}function im(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Ko(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function hs(i){var e=i;return Ko(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function cs(i){var e;return i.description===void 0||!((e=i.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var cn=z.module("LinkerUtils");class Fi{static getLinkType(e,t,n){var r;if((e==null?void 0:e.panelId)==null||(t==null?void 0:t.panelId)==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return cn.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return cn.error("PanelComponent should not be null",e,t),"invalid";var a=(r=Fi.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(a===void 0||!a)return cn.debug2("Incompatible panel components",e,t),"invalid";var{columnType:s}=e,{columnType:o}=t,l=o===null||Ae.isCompatibleType(s,o);if(!l)return cn.debug2("Incompatible type",s,o),"invalid";switch(t.panelComponent){case M.getComponentName(wi):return"chartLink";case M.getComponentName(xn):return"tableLink";case M.getComponentName(jt):return"filterSource"}return cn.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(a=>{var{name:s,type:o}=a;return s===n&&o===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(a=>{var s;a.start.panelId===t&&a.type!=="filterSource"?r.push(bt(bt({},a),{},{id:Ue.generate(),start:bt(bt({},a.start),{},{panelId:n})})):((s=a.end)===null||s===void 0?void 0:s.panelId)===t&&r.push(bt(bt({},a),{},{id:Ue.generate(),end:bt(bt({},a.end),{},{panelId:n})}))}),r}}Wo(Fi,"ALLOWED_LINKS",new Map([[M.getComponentName(xn),[M.getComponentName(xn),M.getComponentName(wi),M.getComponentName(jt)]]]));const Vt=Fi;function zo(i,e,t){return e=rm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function rm(i){var e=am(i,"string");return typeof e=="symbol"?e:String(e)}function am(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var sm=z.module("LinkerLink"),vs=.015,ps=1.5,qo=12,Yo=12,ms=2,ti=Math.sqrt((Yo*.5)**2+qo**2),fs=Math.asin(Yo*.5/qo),gs=15,Ct=Math.PI*.5;class Kt extends p.Component{static makeCirclePath(e,t,n){return"M ".concat(e," ").concat(t," m -").concat(n,",0 a ").concat(n,",").concat(n," 0 1,0 ").concat(n*2,",0 a ").concat(n,",").concat(n," 0 1,0 -").concat(n*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(Ae.isNumberType(e)||Ae.isCharType(e))return Gl(t);if(Ae.isTextType(e))return Bl(t);if(Ae.isDateType(e))return Wl(t);if(Ae.isBooleanType(e)){if(t===pn.eq)return"is equal to";if(t===pn.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return sm.warn(n),""}}constructor(e){super(e),zo(this,"getOperators",te((t,n)=>{var{onOperatorChanged:r}=this.props,a=Ae.getFilterTypes(n);return Ae.isBooleanType(n)&&(a=[pn.eq,pn.notEq]),a.flatMap((s,o)=>{if(s==="eqIgnoreCase"||s==="notEqIgnoreCase")return[];var l="";return s==="startsWith"?l="a*":s==="endsWith"?l="*z":l=Ae.getFilterOperatorString(s),[{title:Kt.getLabelForLinkFilter(n,s),icon:d.jsx("b",{children:l}),action:()=>r(t,s),order:o}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:r}=this.props;e.altKey?r(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:r,y1:a,x2:s,y2:o,id:l,startColumnType:u,type:h}=this.props,{isHovering:c}=this.state,v=Math.sqrt((r-s)**2+(a-o)**2),m=Math.atan2(o-a,s-r),g=Math.sin(m),b=Math.cos(m)+2,f=window.innerWidth,C=window.innerHeight,E=0,S=0,y=Math.max(E,Math.min(r+(s-r)/2+g*(v*vs)**ps,f)),O=Math.max(S,Math.min(a+(o-a)/2+b*(v*vs)**ps,C)),x="M ".concat(r," ").concat(a," Q ").concat(y," ").concat(O," ").concat(s," ").concat(o),L="M ".concat(E," ").concat(S," L ").concat(E," ").concat(C," L ").concat(f," ").concat(C," L ").concat(f," ").concat(S,` z
23
+ `).concat(Kt.makeCirclePath(r,a,gs),`
24
+ `).concat(Kt.makeCirclePath(s,o,gs)),F="link-select-clip-".concat(l),N=Math.atan2(o-O,s-y),A=N-fs+Math.PI,Y=N+fs+Math.PI,j=s+Math.cos(N)*ms,U=o+Math.sin(N)*ms,V=j+Math.cos(A)*ti,R=U+Math.sin(A)*ti,W=j+Math.cos(Y)*ti,G=U+Math.sin(Y)*ti,ae="".concat(j,",").concat(U," ").concat(V,",").concat(R," ").concat(W,",").concat(G),Ce=.25*r+.5*y+.25*s,Se=.25*a+.5*O+.25*o,P=y-r+(s-y),w=O-a+(o-O),D=w/P,B=20,K=B/Math.sqrt(1+D**2),ve=K*D,T=K*-1,H=ve*-1;Number.isFinite(D)?D>0?(K*=-1,ve*=-1,T*=-1,H*=-1,T-=50-10*(Math.abs(m)%Ct),H+=10*(Math.abs(m)%Ct),K-=50-10*(Math.abs(m)%Ct),ve+=10*(Math.abs(m)%Ct)):D<0?(T+=10*(Math.abs(m)%Ct),H+=10*(Math.abs(m)%Ct),K+=10*(Math.abs(m)%Ct),ve+=10*(Math.abs(m)%Ct)):(T=15,H=10,K=-25,ve=10):(T=10,H=5,K=10,ve=-35);var q="";t!==void 0&&(t==="startsWith"?q="a*":t==="endsWith"?q="*z":q=Ae.getFilterOperatorString(t));var se=h!=="chartLink"&&h!=="filterSource";return d.jsxs(d.Fragment,{children:[d.jsxs("svg",{className:Z(e,{hovering:c}),children:[d.jsx("clipPath",{id:F,children:d.jsx("path",{d:L,clipRule:"evenodd"})}),d.jsx("path",{className:"link-select",d:x,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(F,")"),"data-testid":"link-select"}),d.jsx("path",{className:"link-background",d:x}),d.jsx("path",{className:"link-foreground",d:x}),d.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),d.jsx("polygon",{className:"link-triangle",points:ae})]}),u!=null&&n&&d.jsxs(d.Fragment,{children:[se&&d.jsx(k,{kind:"primary",className:"btn-fab btn-operator",style:{top:Se+(D>=0?ve:H),left:Ce+(D>=0?K:T)},onClick:()=>{},icon:d.jsxs("div",{className:"fa-md fa-layers",children:[d.jsx("b",{children:q}),d.jsx(J,{icon:Bt,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:d.jsx(Wt,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),d.jsx(k,{kind:"primary",className:"btn-fab btn-delete",style:{top:Se+(D<0?ve:H),left:Ce+(D<0?K:T)},onClick:this.handleDelete,icon:Rn,tooltip:"Delete"})]})]})}}zo(Kt,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const om=Kt;function bs(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Cs(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bs(Object(t),!0).forEach(function(n){Ir(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):bs(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ir(i,e,t){return e=lm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lm(i){var e=dm(i,"string");return typeof e=="symbol"?e:String(e)}function dm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Wi=z.module("LinkerOverlayContent");class Zo extends p.Component{constructor(e){super(e),Ir(this,"dialogRef",void 0),this.handleBlur=this.handleBlur.bind(this),this.handleResize=this.handleResize.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleEscapePressed=this.handleEscapePressed.bind(this),this.handleOperatorChanged=this.handleOperatorChanged.bind(this),this.dialogRef=X.createRef(),this.state={mouse:void 0,dialog:void 0,offset:{x:0,y:0},isDragging:!1,mode:"select"}}componentDidMount(){window.addEventListener("blur",this.handleBlur,!0),window.addEventListener("mousemove",this.handleMouseMove,!0),window.addEventListener("mouseup",this.handleMouseUp,!0),window.addEventListener("keydown",this.handleKeyDown,!0),window.addEventListener("keyup",this.handleKeyUp,!0),window.addEventListener("resize",this.handleResize,!0)}componentDidCatch(e,t){Wi.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:r}=e,a=t.getOpenedPanelById(n);if(a!=null){if(!Ko(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var s=a.getCoordinateForColumn(r);if(s!=null)return s}catch{Wi.error("Could not get coordinate for column",r,a)}}var o=t.getContainerByPanelId(n);if(o==null)throw new Error("Unable to find panel container for id: ".concat(n));return M.getTabPoint(o)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:r}=this.props,a=n.map(s=>s.id===e?Cs(Cs({},s),{},{operator:t}):s);r(a)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),n=Gn(e.x,0,window.innerWidth-t.width),r=Gn(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:n,y:r}})}}handleMouseMove(e){var{offset:t,isDragging:n}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),n&&this.dialogRef.current){var r=this.dialogRef.current.getBoundingClientRect(),a=Gn(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),s=Gn(window.innerHeight-(e.clientY+r.height+t.y),0,window.innerHeight-r.height);this.setState({dialog:{x:a,y:s}})}}handleMouseDown(e){e.preventDefault();var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(r=>n(r))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:r,onLinkSelected:a,onLinkDeleted:s,onAllLinksDeleted:o,onDone:l}=this.props,{mouse:u,dialog:h,isDragging:c,mode:v}=this.state,m=t.map(g=>{try{var b,f,{id:C,type:E,isReversed:S,start:y,end:O,operator:x}=g,L=y.columnType,[F,N]=this.getPointFromLinkPoint(y),A=(b=u==null?void 0:u.x)!==null&&b!==void 0?b:F,Y=(f=u==null?void 0:u.y)!==null&&f!==void 0?f:N;if(O!=null&&([A,Y]=this.getPointFromLinkPoint(O)),S!=null&&S){var[j,U]=[F,N];[F,N]=[A,Y],[A,Y]=[j,U]}var V=Z("linker-link",{disabled:e},{"link-filter-source":E==="filterSource"},{"link-invalid":E==="invalid"},{interactive:g.end==null},{"link-is-selected":n.has(C)},{"danger-delete":v==="delete"});return{x1:F,y1:N,x2:A,y2:Y,id:C,className:V,operator:x,startColumnType:L,type:E}}catch(R){return Wi.warn("Unable to get point for link",g,R),null}}).filter(g=>g!=null);return d.jsxs("div",{className:Z("linker-overlay",{"danger-delete":v==="delete"}),children:[m.map(g=>{var{x1:b,y1:f,x2:C,y2:E,id:S,className:y,operator:O,startColumnType:x,type:L}=g;return d.jsx(om,{className:y,id:S,x1:b,y1:f,x2:C,y2:E,onClick:a,onDelete:s,isSelected:n.has(S),operator:O,startColumnType:x,type:L,onOperatorChanged:this.handleOperatorChanged},S)}),d.jsxs("div",{className:Z("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:h==null?void 0:h.y,right:h==null?void 0:h.x},"data-testid":"linker-toast-dialog",children:[d.jsx(k,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:Sd,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&d.jsx(wt,{children:"Drag to reposition"})}),d.jsx("div",{className:"toast-body",children:r}),d.jsxs("div",{className:"toast-footer",children:[d.jsx(k,{kind:"secondary",onClick:o,children:"Clear All"}),d.jsx(k,{kind:"primary",onClick:l,children:"Done"})]})]}),d.jsx(Q,{actions:[{action:this.handleEscapePressed,shortcut:Dn.LINKER_CLOSE,isGlobal:!0}]})]})}}Ir(Zo,"defaultProps",{disabled:"false"});const um=Zo;function Ss(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Es(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ss(Object(t),!0).forEach(function(n){Xo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ss(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Xo(i,e,t){return e=hm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hm(i){var e=cm(i,"string");return typeof e=="symbol"?e:String(e)}function cm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ye=z.module("Linker"),vm=(i,e)=>({activeTool:fr(i),dh:no(i),isolatedLinkerPanelId:yr(i,e.localDashboardId),links:sn(i,e.localDashboardId),timeZone:mr(i)}),pm=Ke(vm,{setActiveTool:$s,setDashboardLinks:wr,addDashboardLinks:uc,deleteDashboardLinks:hc,setDashboardIsolatedLinkerPanelId:xo,setDashboardColumnSelectionValidator:cc});class mm extends p.Component{constructor(e){super(e),Xo(this,"getCachedLinks",te((t,n,r)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),r!==void 0?a.filter(s=>{var o,l;return(s==null||(o=s.start)===null||o===void 0?void 0:o.panelId)===r||(s==null||(l=s.end)===null||l===void 0?void 0:l.panelId)===r||(s==null?void 0:s.end)==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.bind(this),this.handleFilterColumnSelect=this.handleFilterColumnSelect.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:n}=this.props;n!==e.layout&&(this.stopListening(e.layout),this.startListening(n)),t!==e.activeTool&&(this.updateSelectionValidators(),t===at.DEFAULT&&this.reset())}componentDidCatch(e,t){ye.error("componentDidCatch",e,t)}componentWillUnmount(){var{layout:e}=this.props;this.stopListening(e)}startListening(e){e.on("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.on(Xe.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(Xe.DATA_SELECTED,this.handleUpdateValues),t.on(Xe.STATE_CHANGED,this.handleStateChange),t.on(nr.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(le.CLONED,this.handlePanelCloned),t.on(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(le.CLOSE,this.handlePanelClosed),t.on(le.CLOSED,this.handlePanelClosed),t.on(le.DRAGGING,this.handlePanelDragging),t.on(le.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(Xe.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(Xe.DATA_SELECTED,this.handleUpdateValues),t.off(Xe.STATE_CHANGED,this.handleStateChange),t.off(nr.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(le.CLONED,this.handlePanelCloned),t.off(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(le.CLOSE,this.handlePanelClosed),t.off(le.CLOSED,this.handlePanelClosed),t.off(le.DRAGGING,this.handlePanelDragging),t.off(le.DROPPED,this.handlePanelDropped)}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(at.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(at.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){ye.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:n,localDashboardId:r,setActiveTool:a,setDashboardIsolatedLinkerPanelId:s}=this.props,o=M.getIdFromPanel(e),l=n.filter(u=>{var h,c;return((h=u.start)===null||h===void 0?void 0:h.panelId)===o||((c=u.end)===null||c===void 0?void 0:c.panelId)===o});if(!this.isOverlayShown()&&o!=null){a(at.LINKER),s(r,o),l.length===0&&this.columnSelected(e,t,!0,o);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){ye.debug("handleColumnsChanged",e,t);var{links:n}=this.props,r=M.getIdFromPanel(e);if(r==null){ye.error("Invalid panelId",e);return}var a=n.filter(s=>{var{start:o,end:l}=s;return o.panelId===r&&Vt.findColumn(t,o)==null||l!=null&&l.panelId===r&&Vt.findColumn(t,l)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!cs(t)){ye.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3?arguments[3]:void 0;if(!(r===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:s}=this.state,o=M.getIdFromPanel(e);if(o!=null){var l=M.getComponentNameFromPanel(e),{name:u,type:h}=t;if(s==null||s.start==null){var c={id:Ue.generate(),start:{panelId:o,panelComponent:l,columnName:u,columnType:h},type:"invalid",isReversed:n};ye.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:v}=this.props,{start:m,id:g,isReversed:b}=s,f={panelId:o,panelComponent:l,columnName:u,columnType:h},C=Vt.getLinkType(b!==void 0&&b?f:m,b!==void 0&&b?m:f,r??a);switch(C){case"invalid":ye.debug("Ignore invalid link connection",s,f);return;case"filterSource":{var E=b!==void 0&&b?m.panelId:f.panelId,S=v.filter(F=>{var{end:N}=F;return(N==null?void 0:N.panelId)===E});this.deleteLinks(S);break}case"chartLink":{var y=b===!0?m:f,O=b===!0?f:m;ye.debug("creating chartlink",{existingLinkEnd:y,start:m,end:f});var x=v.filter(F=>{var{end:N,start:A}=F;return(A==null?void 0:A.panelId)===O.panelId&&(N==null?void 0:N.panelId)===y.panelId&&(N==null?void 0:N.columnName)===y.columnName&&(N==null?void 0:N.columnType)===y.columnType});this.deleteLinks(x);break}}var L={start:b!==void 0&&b?f:m,end:b!==void 0&&b?m:f,id:g,type:C,operator:pn.eq};ye.info("creating link",L),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([L])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:r,columnName:a,columnType:s}=n,o=t.getOpenedPanelById(r);o?hs(o)?o.unsetFilterValue(a,s):ye.debug("endPanel.unsetFilterValue not implemented",o):ye.debug("endPanel no longer exists, ignoring unsetFilterValue",r)}}setPanelFilterMap(e,t){ye.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,r=n.getOpenedPanelById(e);r?hs(r)?r.setFilterMap(t):ye.debug("panel.setFilterMap not implemented",e,r):ye.debug("panel no longer exists, ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:n}=this.props;t(n,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:n}=this.props;if(e.forEach(s=>this.unsetFilterValueForLink(s)),t){var{setDashboardLinks:r}=this.props;r(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(s=>{var{id:o}=s;return o}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(r=>{var a,s;return(r==null||(a=r.start)===null||a===void 0?void 0:a.panelId)===t||(r==null||(s=r.end)===null||s===void 0?void 0:s.panelId)===t});this.deleteLinks(n)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,n=t.find(r=>r.id===e);n?this.deleteLinks([n]):ye.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var n=M.getIdFromPanel(e),{dh:r,links:a,timeZone:s}=this.props,o=new Map,l=0;l<a.length;l+=1){var{start:u,end:h,operator:c}=a[l];if(u.panelId===n&&h!=null){var{panelId:v,columnName:m,columnType:g}=h,b=o.has(v)?o.get(v):new Map,f=b.has(m)===!0?b.get(m).filterList:[],{visibleIndex:C,isExpandable:E,isGrouped:S}=t[u.columnName],{value:y}=t[u.columnName],O="".concat(y);if(y===null&&E&&S&&(y=void 0),g!=null&&Ae.isDateType(g)){var x=new Gs(r,{timeZone:s,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Kl.FULL_DATE_FORMAT});O=x.format(y)}var L={operator:c,text:O,value:y,startColumnIndex:C};f.push(L),b.set(m,{columnType:g,filterList:f}),o.set(v,b)}}o.forEach((F,N)=>{this.setPanelFilterMap(N,F)})}handlePanelCloned(e,t){var{links:n}=this.props,r=M.getIdFromPanel(e),a=t.id;if(r!=null){var s=Vt.cloneLinksForPanel(n,r,a);this.addLinks(s)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:s}=r;if(a.panelId===e||(s==null?void 0:s.panelId)===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){ye.debug("Panel ".concat(e," closed, deleting links.")),this.deleteLinksForPanelId(e)}handleLinkSelected(e){this.setState({selectedIds:new Set([e])})}handleLinksUpdated(e){var{localDashboardId:t,setDashboardLinks:n}=this.props;n(t,e)}handleLayoutStateChanged(){this.forceUpdate()}handleStateChange(){this.forceUpdate()}handleExited(){var{localDashboardId:e,setDashboardIsolatedLinkerPanelId:t}=this.props;t(e,void 0)}deleteLinksForPanelId(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:s,id:o}=r;(a.panelId===e||(s==null?void 0:s.panelId)===e)&&this.handleLinkDeleted(o)}}isOverlayShown(){var{activeTool:e}=this.props;return e===at.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case at.LINKER:t(n,this.isColumnSelectionValid);break;default:t(n,void 0);break}}updateLinkInProgressType(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"invalid";this.setState(t=>{var{linkInProgress:n}=t;return n!==void 0?{linkInProgress:Es(Es({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:r}=this.props;if(t==null)return(n==null?void 0:n.start)!=null&&this.updateLinkInProgressType(),!1;if(!cs(t))return ye.debug2("Column is not filterable",t.description),(n==null?void 0:n.start)!=null&&this.updateLinkInProgressType("invalid"),!1;if((n==null?void 0:n.start)==null)return!0;var{isReversed:a,start:s}=n,o=M.getIdFromPanel(e);if(o==null)return!1;var l={panelId:o,panelComponent:M.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},u=a!==void 0&&a?Vt.getLinkType(l,s,r):Vt.getLinkType(s,l,r);return this.updateLinkInProgressType(u),u!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:r,selectedIds:a,isDraggingPanel:s}=this.state,o=this.isOverlayShown(),l=r!=null&&r.start!=null,u=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return s?null:d.jsx(Yi,{in:o,timeout:Qi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:d.jsx(um,{disabled:l,panelManager:n,links:this.getCachedLinks(e,r,t),selectedIds:a,messageText:u,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel})})}}var fm=pm(mm);const gm=fm;function bm(i){tn(i);var{id:e,layout:t,panelManager:n}=i;return d.jsx(gm,{layout:t,localDashboardId:e,panelManager:n})}var Cm={name:"LinkerPlugin",type:Nt.DASHBOARD_PLUGIN,component:bm};const vf=Cm;function Qo(i,e,t){return e=Sm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sm(i){var e=Em(i,"string");return typeof e=="symbol"?e:String(e)}function Em(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class en{static getNewMarkdownTitle(e){for(var t="".concat(en.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(en.DEFAULT_TITLE,"-").concat(n);return t}}Qo(en,"DEFAULT_TITLE","Note");Qo(en,"DEFAULT_CONTENT",`# Markdown Note
25
+
26
+ This note can be edited using **markdown** for styling.`);const Ki=en;function ym(i){tn(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,a=p.useCallback(o=>{var{title:l,componentState:u,props:h}=o,{panelState:c=null}=h;return u!=null&&({panelState:c=null}=u),l==null||c==null||c.content==null||c.content.length===0||c.content===Ki.DEFAULT_CONTENT?null:zl(o)},[]),s=p.useCallback(function(){var{title:o="",metadata:l={},id:u=Ue.generate(),focusElement:h=M.DEFAULT_FOCUS_SELECTOR,createNewStack:c=!1,dragEvent:v=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},m=n.getOpenedPanelConfigsOfType(dn.COMPONENT),g=n.getClosedPanelConfigsOfType(dn.COMPONENT),b=m.map(y=>{var O;return(O=y.title)!==null&&O!==void 0?O:""}),f=o!=null&&o!==""?o:Ki.getNewMarkdownTitle(b),C=g.length>0?null:Ki.DEFAULT_CONTENT,E={type:"react-component",component:dn.COMPONENT,props:{id:u,metadata:l,panelState:{content:C},localDashboardId:e},title:f,id:u},{root:S}=t;M.openComponent({root:S,config:E,focusElement:h,createNewStack:c,dragEvent:v})},[e,t,n]);return p.useEffect(function(){var l=[r(dn.COMPONENT,dn,ql,a)];return()=>{l.forEach(u=>u())}},[a,r]),me(t.eventHub,Gh.OPEN,s),null}var Pm={name:"MarkdownPlugin",type:Nt.DASHBOARD_PLUGIN,component:ym};const pf=Pm;function ys(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ps(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ys(Object(t),!0).forEach(function(n){wm(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ys(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function wm(i,e,t){return e=Tm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Tm(i){var e=Om(i,"string");return typeof e=="symbol"?e:String(e)}function Om(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Rr=p.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n}=i,r=Bo(n,t);return d.jsx(yp,Ps(Ps({ref:e},i),r))});Rr.displayName="PandasPanelPlugin";const mf=Rr;function ws(i,e,t,n,r,a,s){try{var o=i[a](s),l=o.value}catch(u){t(u);return}o.done?e(l):Promise.resolve(l).then(n,r)}function zi(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ws(a,n,r,s,o,"next",l)}function o(l){ws(a,n,r,s,o,"throw",l)}s(void 0)})}}function Nm(i){var e=_t(),[t,n]=p.useState(),[r,a]=p.useState(!0),[s,o]=p.useState(!1),{fetch:l}=i,u=p.useCallback(zi(function*(){var c=yield l();return hr.makeModel(e,c)}),[e,l]),h=p.useCallback(zi(function*(){a(!0);var c=yield u();n(c),a(!1)}),[u]);return p.useEffect(()=>{var c=!1;function v(){return m.apply(this,arguments)}function m(){return m=zi(function*(){var g=yield u();c||(n(g),o(!0),a(!1))}),m.apply(this,arguments)}return v(),a(!0),()=>{c=!0}},[u]),d.jsxs(d.Fragment,{children:[d.jsx(pi,{isLoaded:s,isLoading:r}),t&&d.jsx(vi,{model:t,children:d.jsx(Go,{onClick:h})})]})}var Lm={name:"PandasPanel",title:"Pandas",type:Nt.WIDGET_PLUGIN,component:Nm,panelComponent:Rr,supportedTypes:"pandas.DataFrame",icon:Ws};const ff=Lm;function Ts(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function vn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ts(Object(t),!0).forEach(function(n){Dm(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ts(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Dm(i,e,t){return e=Mm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Mm(i){var e=Fm(i,"string");return typeof e=="symbol"?e:String(e)}function Fm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var xm=z.module("WidgetLoaderPlugin");function Im(i){var e;function t(n,r){var a=i.component,{metadata:s}=n,o=Yl(a);return d.jsx(Ei,vn(vn({widgetName:s==null?void 0:s.name,widgetType:i.title},n),{},{children:o?d.jsx(a,vn(vn({},n),{},{ref:r})):d.jsx(a,vn({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),p.forwardRef(t)}function Rm(i){var e=to(),t=p.useMemo(()=>{var o=new Map;return e.forEach(l=>{Nd(l)&&[l.supportedTypes].flat().forEach(u=>{if(u!=null&&u!==""){if(o.has(u)){var h;xm.warn("Multiple WidgetPlugins handling type ".concat(u,". Replacing ").concat((h=o.get(u))===null||h===void 0?void 0:h.name," with ").concat(l.name," to handle ").concat(u))}o.set(u,l)}})}),o},[e]);tn(i);var{id:n,layout:r,registerComponent:a}=i,s=p.useCallback(o=>{var l,{dragEvent:u,fetch:h,panelId:c=Ue.generate(),widget:v}=o,{id:m,type:g}=v,b=(l=v.title)!==null&&l!==void 0?l:v.name,f=t.get(g);if(f!=null){var C={id:m,name:b,type:g},E={localDashboardId:n,metadata:C,fetch:h},S={type:"react-component",component:f.name,props:E,title:b,id:c},{root:y}=r;M.openComponent({root:y,config:S,dragEvent:u})}},[n,r,t]);return p.useEffect(()=>{var o=[...new Set(t.values())].map(l=>{var{panelComponent:u}=l;return u==null?a(l.name,Im(l)):a(l.name,u)});return()=>{o.forEach(l=>l())}},[a,t]),me(r.eventHub,le.OPEN,s),null}var km={name:"WidgetLoaderPlugin",type:Nt.DASHBOARD_PLUGIN,component:Rm};const gf=km;function xi(i,e,t){return e=jm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jm(i){var e=Am(i,"string");return typeof e=="symbol"?e:String(e)}function Am(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Un{}xi(Un,"DROPDOWN_FILTER","ControlType.DROPDOWN_FILTER");xi(Un,"INPUT_FILTER","ControlType.INPUT_FILTER");xi(Un,"MARKDOWN","ControlType.MARKDOWN");xi(Un,"FILTER_SET_MANAGER","ControlType.FILTER_SET_MANAGER");const bf=Un;var _m=_.shape({state:_.shape({panelState:_.shape({})})}),$m=_.shape({panelId:_.string.isRequired,columnName:_.string.isRequired,columnType:_.string.isRequired}),Os=_.shape({panelId:_.string.isRequired,columnName:_.string.isRequired}),Jo=_.shape({start:Os,end:Os,id:_.string,isReversed:_.bool}),Um=_.arrayOf(Jo),Hm=_.shape({name:_.string.isRequired,operateAs:_.string.isRequired,groups:_.arrayOf(_.string).isRequired,permissions:_.shape({canUsePanels:_.bool.isRequired,canCopy:_.bool.isRequired,canDownloadCsv:_.bool.isRequired,canLogout:_.bool.isRequired}).isRequired}),Vm=Object.freeze({LinkPoint:$m,Link:Jo,Links:Um,Panel:_m,User:Hm});const Cf=Vm;var Gm=(i,e)=>i[e]===null?null:_.bool,Bm=(i,e)=>i[e]===null?null:_.string,Wm=Object.freeze({nullableBoolean:Gm,nullableString:Bm});const Sf=Wm;export{$p as ChartBuilderPlugin,lf as ChartBuilderPluginConfig,nr as ChartEvent,wi as ChartPanel,sf as ChartPanelPlugin,of as ChartPluginConfig,Ap as ChartWidgetPlugin,Lc as CommandHistoryPanel,Sf as CommonPropTypes,We as ConsoleEvent,Vi as ConsolePanel,df as ConsolePlugin,bf as ControlType,jt as DropdownFilterPanel,Sv as FileExplorerPanel,Wp as FilterPlugin,uf as FilterPluginConfig,wv as FilterSetManager,Bi as FilterSetManagerPanel,hf as GridPanelPlugin,cf as GridPluginConfig,em as GridWidgetPlugin,fe as InputFilterEvent,Nn as InputFilterPanel,Xe as IrisGridEvent,xn as IrisGridPanel,bm as LinkerPlugin,vf as LinkerPluginConfig,Vt as LinkerUtils,Xv as LogPanel,Gh as MarkdownEvent,dn as MarkdownPanel,ym as MarkdownPlugin,pf as MarkdownPluginConfig,af as MockFileStorage,ie as NotebookEvent,It as NotebookPanel,Qm as PandasEvent,yp as PandasPanel,mf as PandasPanelPlugin,ff as PandasPluginConfig,Nm as PandasWidgetPlugin,pt as Panel,Kn as TabEvent,at as ToolType,Cf as UIPropTypes,Rm as WidgetLoaderPlugin,gf as WidgetLoaderPluginConfig,Ei as WidgetPanel,Si as WidgetPanelTooltip,uc as addDashboardLinks,hc as deleteDashboardLinks,Pr as getColumnSelectionValidatorForDashboard,Fo as getColumnsForDashboard,tf as getDashboardConnection,ef as getDashboardConsoleSettings,_n as getDashboardSessionWrapper,dc as getFilterSetsForDashboard,Sr as getInputFiltersForDashboard,yr as getIsolatedLinkerPanelIdForDashboard,sn as getLinksForDashboard,Er as getTableMapForDashboard,fc as isChartPanelDehydratedProps,Ro as isChartPanelFigureMetadata,Tn as isChartPanelTableMetadata,mc as isGLChartPanelState,Ov as isIrisGridPanelMetadata,Tv as isLegacyIrisGridPanelMetadata,cc as setDashboardColumnSelectionValidator,nf as setDashboardConnection,vc as setDashboardConsoleSettings,pc as setDashboardFilterSets,xo as setDashboardIsolatedLinkerPanelId,wr as setDashboardLinks,rf as setDashboardSessionWrapper,qp as useLoadTablePlugin};
27
+ //# sourceMappingURL=index-5844f9ea.js.map