@deephaven/embed-widget 0.58.1-beta.9 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/build/assets/{App-0c20cfd0.js → App-2c678a88.js} +2 -2
  2. package/build/assets/{App-0c20cfd0.js.map → App-2c678a88.js.map} +1 -1
  3. package/build/assets/IrisGridModelFactory-9469e0df.js +16 -0
  4. package/build/assets/IrisGridModelFactory-9469e0df.js.map +1 -0
  5. package/build/assets/IrisGridModelFactory-c31b7e27.css +1 -0
  6. package/build/assets/{WidgetView-d6165e24.js → WidgetView-83056138.js} +2 -2
  7. package/build/assets/{WidgetView-d6165e24.js.map → WidgetView-83056138.js.map} +1 -1
  8. package/build/assets/index-28e750c9.js +4 -0
  9. package/build/assets/{index-8c12d3a9.js.map → index-28e750c9.js.map} +1 -1
  10. package/build/assets/{index-27f2ea37.js → index-6be50a46.js} +16 -16
  11. package/build/assets/index-6be50a46.js.map +1 -0
  12. package/build/assets/index-91860d5a.css +1 -0
  13. package/build/assets/index-e27eecbc.css +1 -0
  14. package/build/assets/index-fbd2a93f.css +6 -0
  15. package/build/assets/{index-2258ddd4.js → index-fc49964b.js} +10 -10
  16. package/build/assets/{index-2258ddd4.js.map → index-fc49964b.js.map} +1 -1
  17. package/build/assets/{usePlugins-e10736ec.js → usePlugins-5d9916ff.js} +2 -2
  18. package/build/assets/{usePlugins-e10736ec.js.map → usePlugins-5d9916ff.js.map} +1 -1
  19. package/build/index.html +3 -3
  20. package/package.json +15 -15
  21. package/build/assets/IrisGridModelFactory-37491192.js +0 -16
  22. package/build/assets/IrisGridModelFactory-37491192.js.map +0 -1
  23. package/build/assets/IrisGridModelFactory-c4d15a8e.css +0 -1
  24. package/build/assets/index-27f2ea37.js.map +0 -1
  25. package/build/assets/index-317ced8a.css +0 -6
  26. package/build/assets/index-40c9703e.css +0 -1
  27. package/build/assets/index-52da8ae8.css +0 -1
  28. package/build/assets/index-8c12d3a9.js +0 -4
@@ -1,27 +1,27 @@
1
- import{ae as sr,af as ul,ag as hl,ah as cl,ai as vl,C as d,F as J,r as p,aj as or,ak as pl,V as _,E as X,al as Gn,G as Z,am as Sn,an as Ls,a7 as te,ao as En,a6 as Ds,K as Je,U as Et,R as Ms,ap as zi,aq as Ke,D as qi,L as $e,ar as Fs,as as ml,at as xs,X as Bn}from"./vendor-d09ca476.js";import{bL as lr,$ as $t,e as Is,B as k,N as xe,w as se,K as re,bM as fl,b6 as Be,G as Mn,i as Q,bN as qe,bO as Rs,H as qt,C as gl,f as Kt,S as ks,bP as Tt,T as wt,bQ as js,bR as As,I as Yi,X as bl,aG as ci,u as Cl,aE as Sl,P as El,aH as M,aK as oe,q as yl,aR as _s,a_ as ot,b5 as Ot,n as Ar,Q as $s,aF as _r,ax as Us,bx as je,ay as Hs,a$ as Vs,aL as Pl,o as dr,ab as Ae,a7 as $r,a2 as Gs,a6 as Ur,bS as yn,R as Hr,l as Fn,z as Bs,s as wl,E as Tl,F as Vr,ba as Ol,bI as Ri,bp as mt,b9 as vi,aP as Nl,bs as Ll,aZ as Dl,az as Pn,aV as nn,aJ as me,bT as Ml,aQ as Fl,aI as dn,bq as ur,bU as xl,bV as Il,bW as Rl,bX as mn,a3 as kl,aX as jl,b0 as Al,aW as _l}from"./IrisGridModelFactory-37491192.js";import{L as z,R as $l,U as Ws,V as hr,X as cr,n as Ks,e as Ul,h as I,Y as Wt,Z as Hl,_ as Gr,$ as Vl,a0 as Gl,a1 as Bl,a2 as Wl,v as kn,a3 as vr,a4 as zs,c as wn,a as pr,a5 as Xi,a6 as Kl,a7 as zl,a8 as Br,a9 as ri,aa as Wr,ab as qs,ac as ql,ad as pi,ae as Yl,T as Zi,af as Xl,ag as Zl,ah as Ql,ai as Jl,aj as ed,M as Ys,o as Xs,b as Zs,ak as td,al as Qs,am as nd,an as Js,ao as eo,ap as Kr,aq as id,ar as rd,as as ad,at as sd,au as od,av as ld,aw as dd}from"./index-2258ddd4.js";import{P as ge,t as ud,r as zr,g as hd,C as cd,u as vd,e as Nt,s as to,o as pd,n as md,q as fd}from"./usePlugins-e10736ec.js";import"./helpers-042e6b4d.js";import"./plotly-6980623c.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 gd(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){bd(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 bd(i,e,t){return e=Cd(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cd(i){var e=Sd(i,"string");return typeof e=="symbol"?e:String(e)}function Sd(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 Ed=Object.freeze({}),yd=new Map,no=i=>i.api,Pd=i=>i.user,io=i=>i.storage,ro=i=>io(i).commandHistoryStorage,ao=i=>io(i).fileStorage,wd=i=>i.defaultWorkspaceSettings,so=i=>{var{workspace:e}=i;return e},jn=i=>{for(var e=so(i).data.settings,t=gd({},wd(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=>jn(i).timeZone,Td=i=>{var e;return(e=jn(i).defaultNotebookSettings)!==null&&e!==void 0?e:Ed},fr=i=>i.activeTool,Od=i=>{var e;return(e=i.plugins)!==null&&e!==void 0?e:yd},oo="SET_ACTIVE_TOOL",Nd="SET_API",Ld="SET_COMMAND_HISTORY_STORAGE",Dd="SET_FILE_STORAGE",Md="SET_PLUGINS",Fd="SET_USER",lo="SET_WORKSPACE",xd="SET_DEFAULT_WORKSPACE_SETTINGS",Id="SET_WORKSPACE_STORAGE",Rd="SET_SERVER_CONFIG_VALUES";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 Ft(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){kd(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 kd(i,e,t){return e=jd(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jd(i){var e=Ad(i,"string");return typeof e=="symbol"?e:String(e)}function Ad(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 _d=i=>({type:lo,payload:i}),$d=i=>(e,t)=>{e(_d(i));var{storage:n}=t(),{workspaceStorage:r}=n;return r.save(i)},Ud=i=>(e,t)=>{var{workspace:n}=t(),{data:r}=n,a=Ft(Ft({},n),{},{data:Ft(Ft(Ft({},r),i),{},{settings:Ft(Ft({},r.settings),i.settings)})});return e($d(a))},Hd=i=>e=>e(Ud({settings:i})),uo=i=>({type:oo,payload:i});function Xr(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 ki(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xr(Object(t),!0).forEach(function(n){Vd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Xr(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Vd(i,e,t){return e=Gd(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gd(i){var e=Bd(i,"string");return typeof e=="symbol"?e:String(e)}function Bd(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 ho(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?ki(ki({},t),r):ki({},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 Wd=Lt(Nd,null),Kd=Lt(oo,null),zd=Lt(Md,null),qd=Lt(Ld,null),Yd=Lt(Dd,null),Xd=Lt(Id,null),Zd=sr({commandHistoryStorage:qd,fileStorage:Yd,workspaceStorage:Xd}),Qd=ho(Fd,null),Jd=ho(lo,null),eu=Lt(xd,null),tu=Lt(Rd,null);var nu={activeTool:Kd,api:Wd,plugins:zd,storage:Zd,user:Qd,workspace:Jd,defaultWorkspaceSettings:eu,serverConfigValues:tu};const iu=nu;var Zr=z.module("redux-logger"),ru=i=>e=>t=>{Zr.debug("dispatching",t);var n=e(t);return Zr.debug("next state",i.getState()),n};const au=ru;var su=z.module("redux-crashReporter"),ou=i=>e=>t=>{try{return e(t)}catch(n){throw su.error("Error executing",t," with state ",i.getState(),":",n),n}};const lu=ou,du=[au,lu,ul];var ji;Object.entries(iu).map(i=>{var[e,t]=i;return lr.register(e,t)});var uu=(ji=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)!==null&&ji!==void 0?ji:vl,co=hl(sr(lr.reducers),uu(cl(...du)));lr.setListener(i=>{co.replaceReducer(sr(i))});const hu=co;function cu(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:return d.jsx(J,{icon:cr});case t.VariableType.FIGURE:return d.jsx(J,{icon:hr});case t.VariableType.PANDAS:return d.jsx(J,{icon:Ws});default:return d.jsx(J,{icon:$l})}}function vu(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 fu extends p.Component{constructor(e){super(e),vu(this,"container",void 0),this.container=null}componentDidMount(){this.colorize()}colorize(){var{children:e}=this.props;this.container&&e!=null&&or.colorizeElement(this.container,{theme:"dh-dark"})}render(){var{children:e,language:t}=this.props;return d.jsx("div",{children:d.jsx("div",{"data-lang":t,ref:n=>{this.container=n},style:{pointerEvents:"none"},children:e})})}}const mi=fu;class gu{static get LANGUAGE_MAP(){return new Map([["python","Python"],["groovy","Groovy"],["scala","Scala"]])}}const vo=gu;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)?[]:pl.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}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 Qi=ai;function po(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})]})}po.propTypes={children:_.node.isRequired};function Ji(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)}class mo extends p.Component{constructor(e){super(e),Ji(this,"timer",void 0),Ji(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:X("console-history-result-in-progress",{disabled:e}),children:d.jsxs("span",{className:"badge",children:[d.jsx(Ks,{className:"ml-2"}),"Running... ",Is.formatElapsedTime(n)," ",d.jsx(k,{className:"console-history-result-in-progress-cancel",kind:"ghost",icon:Ul,tooltip:"Cancel",onClick:t,disabled:e})]})})}}Ji(mo,"defaultProps",{disabled:!1});const Su=mo;function Tn(i,e,t){return e=Eu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Eu(i){var e=yu(i,"string");return typeof e=="symbol"?e:String(e)}function yu(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 Yt extends p.PureComponent{constructor(e){super(e),Tn(this,"mouseX",void 0),Tn(this,"mouseY",void 0),Tn(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)>=Yt.mouseDragThreshold||Math.abs(e.clientY-this.mouseY)>=Yt.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:X("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?Wt:Hl,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")}}Tn(Yt,"defaultProps",{message:""});Tn(Yt,"mouseDragThreshold",5);const Pu=Yt;function wu(i,e,t){return e=Tu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Tu(i){var e=Ou(i,"string");return typeof e=="symbol"?e:String(e)}function Ou(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 fo 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(mi,{language:n,children:t.command})})]}));var u=[],h=!1;if(s){var{error:c,message:v,changes:m}=s;if(m){var{created:b,updated:g}=m;[...b,...g].forEach(F=>{h=!0;var{title:L}=F,x="".concat(L),N=e===void 0||e||(a??[]).indexOf(x)>=0,$=d.jsx(k,{kind:"primary",onClick:()=>this.handleObjectClick(F),className:"btn-console-object",disabled:N,icon:r(F.type),children:L},x);u.push($)})}if(c!=null&&!o){var f,C="".concat((f=c.message)!==null&&f!==void 0?f:c);C||(C=c);var E=d.jsx(Pu,{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(Su,{onCancelClick:this.handleCancelClick,disabled:e},"in_progress");u.push(y)}var O=null;return u.length>0&&(O=d.jsx(po,{children:u})),d.jsxs("div",{className:X("console-command-result",{"console-result-buttons":h}),children:[l,O]})}}wu(fo,"defaultProps",{disabled:!1});const Nu=fo;function Lu(i,e){return"".concat(i,".").concat(e.command,".").concat(e.result&&e.result.message,".").concat(e.result&&e.result.error)}function Du(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(Nu,{disabled:e,item:u,openObject:r,language:n,supportsType:a,iconForType:s},Lu(l,u));o.push(h)}return d.jsx("div",{className:"container-fluid console-history",children:o})}var Mu={name:"Console",CLEAR:xe.createAndAdd({id:"CONSOLE.CLEAR",name:"Clear",shortcut:[se.CTRL,re.L],macShortcut:[se.CTRL,re.C]}),FOCUS_HISTORY:xe.createAndAdd({id:"CONSOLE.FOCUS_HISTORY",name:"Focus History",shortcut:[se.CTRL,re.H],macShortcut:[se.CTRL,se.OPTION,re.H]})},Fu={name:"Command History",FOCUS_HISTORY:xe.createAndAdd({id:"COMMAND_HISTORY.FOCUS_HISTORY",name:"Focus History Search",shortcut:[se.CTRL,re.H],macShortcut:[se.CTRL,se.OPTION,re.H]}),SEND_TO_CONSOLE:xe.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_CONSOLE",name:"Send to Console",shortcut:[re.ENTER],macShortcut:[re.ENTER]}),SEND_TO_NOTEBOOK:xe.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_NOTEBOOK",name:"Send to Notebook",shortcut:[se.CTRL,re.ENTER],macShortcut:[se.CMD,re.ENTER]}),RUN:xe.createAndAdd({id:"COMMAND_HISTORY.RUN",name:"Run",shortcut:[se.ALT,re.R],macShortcut:[se.OPTION,re.R]})},xu={name:"Notebook",RUN:xe.createAndAdd({id:"NOTEBOOK.RUN",name:"Run",shortcut:[se.ALT,re.R],macShortcut:[se.OPTION,re.R]}),RUN_SELECTED:xe.createAndAdd({id:"NOTEBOOK.RUN_SELECTED",name:"Run Selected",shortcut:[se.ALT,se.SHIFT,re.R],macShortcut:[se.OPTION,se.SHIFT,re.R]}),FIND:xe.createAndAdd({id:"NOTEBOOK.FIND",name:"Find",shortcut:[se.CTRL,re.F],macShortcut:[se.CMD,re.F],isEditable:!1}),MINIMAP:xe.createAndAdd({id:"NOTEBOOK.MINIMAP",name:"Show Minimap",shortcut:[se.ALT,re.M],macShortcut:[se.OPTION,re.M]}),WORDWRAP:xe.createAndAdd({id:"NOTEBOOK.WORDWRAP",name:"Word Wrap",shortcut:[se.ALT,re.Z],macShortcut:[se.OPTION,re.Z]})},Iu={CONSOLE:Mu,COMMAND_HISTORY:Fu,NOTEBOOK:xu};const Fe=Iu,Pe=Object.freeze({FATAL:"FATAL",STDERR:"STDERR",ERROR:"ERROR",WARN:"WARN",STDOUT:"STDOUT",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"});function Ai(i,e,t){return e=Ru(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ru(i){var e=ku(i,"string");return typeof e=="symbol"?e:String(e)}function ku(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 kt extends p.PureComponent{static lspToMonacoKind(e){var t=Gn.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),Ai(this,"registeredCompletionProvider",void 0),Ai(this,"registeredSignatureProvider",void 0),Ai(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=Gn.registerCompletionItemProvider(e,{provideCompletionItems:this.handleCompletionRequest,triggerCharacters:[".",'"',"'"]}),t.getSignatureHelp&&(this.registeredSignatureProvider=Gn.registerSignatureHelpProvider(e,{provideSignatureHelp:this.handleSignatureRequest,signatureHelpTriggerCharacters:["(",","]})),t.getHover&&(this.registeredHoverProvider=Gn.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:kt.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:b,documentation:g,sortText:f,filterText:C,textEdit:E,insertTextFormat:S}=c;return{label:v,kind:kt.lspToMonacoKind(m),detail:b,documentation:(g==null?void 0:g.kind)==="markdown"?g:g==null?void 0:g.value,sortText:f,filterText:C,insertText:E.text,insertTextRules:S===2?4:S,range:kt.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:kt.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(b=>{var{label:g,documentation:f,parameters:C}=b;return{documentation:(f==null?void 0:f.kind)==="markdown"?f:f==null?void 0:f.value,label:g,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:kt.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 go=kt;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 ju(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 Ve(i,e,t){return e=Au(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Au(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 _i=z.module("ConsoleInput"),si=parseInt(fl["line-height"],10),bo=6,Co=6,$u=si+bo+Co,$i=100;class An extends p.PureComponent{constructor(e){super(e),Ve(this,"cancelListener",void 0),Ve(this,"commandContainer",void 0),Ve(this,"commandEditor",void 0),Ve(this,"commandHistoryIndex",void 0),Ve(this,"commandSuggestionContainer",void 0),Ve(this,"loadingPromise",void 0),Ve(this,"timestamp",void 0),Ve(this,"bufferIndex",void 0),Ve(this,"history",void 0),Ve(this,"modifiedCommands",void 0),this.handleWindowResize=this.handleWindowResize.bind(this),this.commandContainer=Z.createRef(),this.commandHistoryIndex=null,this.timestamp=Date.now(),this.bufferIndex=0,this.history=[],this.modifiedCommands=new Map,this.state={commandEditorHeight:si,isFocused:!1,model:null}}componentDidMount(){this.initCommandEditor(),window.addEventListener("resize",this.handleWindowResize),this.loadMoreHistory()}componentDidUpdate(){this.layoutEditor()}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),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:bo,bottom:Co},value:"",wordWrap:"on"},r=this.commandContainer.current;I(r),this.commandEditor=or.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===Sn.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,[Ls.CtrlCmd|Sn.KeyF]),Be.registerPasteHandler(this.commandEditor),this.commandEditor.focus(),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)}handleWindowResize(){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-$i&&this.loadMoreHistory()}}loadMoreHistory(){var e=this;return ju(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+$i-1}),e.loadingPromise=ge.makeCancelable(a.getViewportData(),()=>a.close());var s=yield e.loadingPromise;e.bufferIndex+=$i,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),$u),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:X("console-input-wrapper",{disabled:e}),children:d.jsxs("div",{className:X("console-input-inner-wrapper",{focus:a}),children:[d.jsx("div",{className:An.INPUT_CLASS_NAME,ref:this.commandContainer,style:{height:r}}),s&&d.jsx(go,{model:s,language:t,session:n})]})})}}Ve(An,"defaultProps",{maxHeight:si*10,scope:null,disabled:!1});Ve(An,"INPUT_CLASS_NAME","console-input");const ea=An;function yt(i,e,t){return e=Uu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Uu(i){var e=Hu(i,"string");return typeof e=="symbol"?e:String(e)}function Hu(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",Vu=[/^audio.*/,/^font.*/,/^image.*/,/^video.*/],Ui=[".csv",".tsv",".tab",".psv",".dsv",".txt"],na=[".zip"];class st extends p.Component{static isValidDropItem(e){return e!=null&&e.kind==="file"&&!Vu.find(t=>t.test(e.type))}static isValidExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Ui.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")?Vl:e.endsWith(".zip")?Gl:Bl}constructor(e){super(e),yt(this,"fileElem",void 0),yt(this,"divElem",void 0),yt(this,"getValidExtensions",te(t=>t?[...Ui,...na]:[...Ui])),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=Z.createRef(),this.divElem=Z.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:Mn.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:Wl})}),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:kn,tooltip:"Remove"})]})]})]}),!!s&&d.jsxs("div",{className:"message-content",children:[d.jsx("div",{className:"message-icon",children:d.jsx(J,{icon:vr})}),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 Bt=st;function Ut(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)}class Dt{}Ut(Dt,"INTEGER","int");Ut(Dt,"LONG","long");Ut(Dt,"DOUBLE","double");Ut(Dt,"BOOLEAN","bool");Ut(Dt,"STRING","string");Ut(Dt,"DATE_TIME","datetime");Ut(Dt,"LOCAL_TIME","localtime");const ne=Dt;function So(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){Le(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 Le(i,e,t){return e=Wu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Wu(i){var e=Ku(i,"string");return typeof e=="symbol"?e:String(e)}function Ku(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",zu=2147483647,qu=-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 Te{static determineType(e,t,n){if(!e||e===n)return t;switch(t){case ne.STRING:return ne.STRING;case ne.INTEGER:return Te.checkInteger(e);case ne.LONG:return Te.checkLong(e);case ne.DOUBLE:return Te.checkDouble(e);case ne.BOOLEAN:return Te.checkBoolean(e);case ne.DATE_TIME:return Te.checkDateTime(e);case ne.LOCAL_TIME:return Te.checkLocalTime(e);default:return Te.getTypeFromUnknown(e)}}static isNotParsableNumber(e){return isNaN(e)||e==="Infinity"||e==="-Infinity"}static checkInteger(e){var t=e.replace(/,/g,"");return Te.isNotParsableNumber(t)?ne.STRING:Te.getNumberType(t)}static checkLong(e){var t=e.replace(/,/g,"");return Te.isNotParsableNumber(t)?ne.STRING:t.includes(".")?ne.DOUBLE:ne.LONG}static checkDouble(e){var t=e.replace(/,/g,"");return Te.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(Te.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 Te.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>zu||n<qu?ne.LONG:ne.INTEGER}constructor(e,t,n,r,a,s,o,l,u,h){Le(this,"onFileCompleted",void 0),Le(this,"file",void 0),Le(this,"readHeaders",void 0),Le(this,"nullString",void 0),Le(this,"onProgress",void 0),Le(this,"onError",void 0),Le(this,"types",void 0),Le(this,"chunks",void 0),Le(this,"totalChunks",void 0),Le(this,"rowCount",void 0),Le(this,"isZip",void 0),Le(this,"shouldTrim",void 0),Le(this,"zipProgress",void 0),Le(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)En.parse(this.file,this.config);else{var e=So(this.file,this.handleNodeUpdate);En.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]=Te.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.
1
+ import{ae as sr,af as hl,ag as cl,ah as vl,ai as pl,C as d,F as J,r as p,aj as or,ak as ml,V as _,E as X,al as Gn,G as Z,am as Sn,an as Ds,a7 as te,ao as En,a6 as Ms,K as Je,U as Et,R as Fs,ap as zi,aq as Ke,D as qi,L as $e,ar as xs,as as fl,at as Is,X as Bn}from"./vendor-d09ca476.js";import{bL as lr,$ as $t,k as gl,e as Rs,B as k,N as xe,w as se,K as re,bM as bl,b6 as Be,G as Mn,i as Q,bN as qe,bO as ks,H as qt,C as Cl,f as Kt,S as js,bP as Tt,T as wt,bQ as As,bR as _s,I as Yi,X as Sl,aG as ci,u as El,aE as yl,P as Pl,aH as M,aK as oe,q as wl,aR as $s,a_ as ot,b5 as Ot,n as Ar,Q as Us,aF as _r,ax as Hs,bx as je,ay as Vs,a$ as Gs,aL as Tl,o as dr,ab as Ae,a7 as $r,a2 as Bs,a6 as Ur,bS as yn,R as Hr,l as Fn,z as Ws,s as Ol,E as Nl,F as Vr,ba as Ll,bI as Ri,bp as mt,b9 as vi,aP as Dl,bs as Ml,aZ as Fl,az as Pn,aV as nn,aJ as me,bT as xl,aQ as Il,aI as dn,bq as ur,bU as Rl,bV as kl,bW as jl,bX as mn,a3 as Al,aX as _l,b0 as $l,aW as Ul}from"./IrisGridModelFactory-9469e0df.js";import{L as z,R as Hl,U as Ks,V as hr,X as cr,n as zs,e as Vl,h as I,Y as Wt,Z as Gl,_ as Gr,$ as Bl,a0 as Wl,a1 as Kl,a2 as zl,v as kn,a3 as vr,a4 as qs,c as wn,a as pr,a5 as Xi,a6 as ql,a7 as Yl,a8 as Br,a9 as ri,aa as Wr,ab as Ys,ac as Xl,ad as pi,ae as Zl,T as Zi,af as Ql,ag as Jl,ah as ed,ai as td,aj as nd,M as Xs,o as Zs,b as Qs,ak as id,al as Js,am as rd,an as eo,ao as to,ap as Kr,aq as ad,ar as sd,as as od,at as ld,au as dd,av as ud,aw as hd}from"./index-fc49964b.js";import{P as ge,t as cd,r as zr,g as vd,C as pd,u as md,e as Nt,s as no,o as fd,n as gd,q as bd}from"./usePlugins-5d9916ff.js";import"./helpers-042e6b4d.js";import"./plotly-6980623c.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 Cd(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){Sd(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 Sd(i,e,t){return e=Ed(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ed(i){var e=yd(i,"string");return typeof e=="symbol"?e:String(e)}function yd(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 Pd=Object.freeze({}),wd=new Map,io=i=>i.api,Td=i=>i.user,ro=i=>i.storage,ao=i=>ro(i).commandHistoryStorage,so=i=>ro(i).fileStorage,Od=i=>i.defaultWorkspaceSettings,oo=i=>{var{workspace:e}=i;return e},jn=i=>{for(var e=oo(i).data.settings,t=Cd({},Od(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=>jn(i).timeZone,Nd=i=>{var e;return(e=jn(i).defaultNotebookSettings)!==null&&e!==void 0?e:Pd},fr=i=>i.activeTool,Ld=i=>{var e;return(e=i.plugins)!==null&&e!==void 0?e:wd},lo="SET_ACTIVE_TOOL",Dd="SET_API",Md="SET_COMMAND_HISTORY_STORAGE",Fd="SET_FILE_STORAGE",xd="SET_PLUGINS",Id="SET_USER",uo="SET_WORKSPACE",Rd="SET_DEFAULT_WORKSPACE_SETTINGS",kd="SET_WORKSPACE_STORAGE",jd="SET_SERVER_CONFIG_VALUES";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 Ft(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){Ad(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 Ad(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=$d(i,"string");return typeof e=="symbol"?e:String(e)}function $d(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 Ud=i=>({type:uo,payload:i}),Hd=i=>(e,t)=>{e(Ud(i));var{storage:n}=t(),{workspaceStorage:r}=n;return r.save(i)},Vd=i=>(e,t)=>{var{workspace:n}=t(),{data:r}=n,a=Ft(Ft({},n),{},{data:Ft(Ft(Ft({},r),i),{},{settings:Ft(Ft({},r.settings),i.settings)})});return e(Hd(a))},Gd=i=>e=>e(Vd({settings:i})),ho=i=>({type:lo,payload:i});function Xr(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 ki(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xr(Object(t),!0).forEach(function(n){Bd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Xr(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Bd(i,e,t){return e=Wd(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Wd(i){var e=Kd(i,"string");return typeof e=="symbol"?e:String(e)}function Kd(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 co(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?ki(ki({},t),r):ki({},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 zd=Lt(Dd,null),qd=Lt(lo,null),Yd=Lt(xd,null),Xd=Lt(Md,null),Zd=Lt(Fd,null),Qd=Lt(kd,null),Jd=sr({commandHistoryStorage:Xd,fileStorage:Zd,workspaceStorage:Qd}),eu=co(Id,null),tu=co(uo,null),nu=Lt(Rd,null),iu=Lt(jd,null);var ru={activeTool:qd,api:zd,plugins:Yd,storage:Jd,user:eu,workspace:tu,defaultWorkspaceSettings:nu,serverConfigValues:iu};const au=ru;var Zr=z.module("redux-logger"),su=i=>e=>t=>{Zr.debug("dispatching",t);var n=e(t);return Zr.debug("next state",i.getState()),n};const ou=su;var lu=z.module("redux-crashReporter"),du=i=>e=>t=>{try{return e(t)}catch(n){throw lu.error("Error executing",t," with state ",i.getState(),":",n),n}};const uu=du,hu=[ou,uu,hl];var ji;Object.entries(au).map(i=>{var[e,t]=i;return lr.register(e,t)});var cu=(ji=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)!==null&&ji!==void 0?ji:pl,vo=cl(sr(lr.reducers),cu(vl(...hu)));lr.setListener(i=>{vo.replaceReducer(sr(i))});const vu=vo;function pu(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:return d.jsx(J,{icon:cr});case t.VariableType.FIGURE:return d.jsx(J,{icon:hr});case t.VariableType.PANDAS:return d.jsx(J,{icon:Ks});default:return d.jsx(J,{icon:Hl})}}function Qr(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 mu(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Qr(a,n,r,s,o,"next",l)}function o(l){Qr(a,n,r,s,o,"throw",l)}s(void 0)})}}function mi(i){var{children:e,language:t}=i,[n,r]=p.useState(null),{activeThemes:a}=gl();return p.useEffect(()=>{var s=!1;function o(){return l.apply(this,arguments)}function l(){return l=mu(function*(){if(e!=null&&a!=null){var u=yield or.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 fu{static get LANGUAGE_MAP(){return new Map([["python","Python"],["groovy","Groovy"],["scala","Scala"]])}}const po=fu;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)?[]:ml.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}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 Qi=ai;function mo(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})]})}mo.propTypes={children:_.node.isRequired};function Ji(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)}class fo extends p.Component{constructor(e){super(e),Ji(this,"timer",void 0),Ji(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:X("console-history-result-in-progress",{disabled:e}),children:d.jsxs("span",{className:"badge",children:[d.jsx(zs,{className:"ml-2"}),"Running... ",Rs.formatElapsedTime(n)," ",d.jsx(k,{className:"console-history-result-in-progress-cancel",kind:"ghost",icon:Vl,tooltip:"Cancel",onClick:t,disabled:e})]})})}}Ji(fo,"defaultProps",{disabled:!1});const Cu=fo;function Tn(i,e,t){return e=Su(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Su(i){var e=Eu(i,"string");return typeof e=="symbol"?e:String(e)}function Eu(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 Yt extends p.PureComponent{constructor(e){super(e),Tn(this,"mouseX",void 0),Tn(this,"mouseY",void 0),Tn(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)>=Yt.mouseDragThreshold||Math.abs(e.clientY-this.mouseY)>=Yt.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:X("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?Wt:Gl,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")}}Tn(Yt,"defaultProps",{message:""});Tn(Yt,"mouseDragThreshold",5);const yu=Yt;function Pu(i,e,t){return e=wu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function wu(i){var e=Tu(i,"string");return typeof e=="symbol"?e:String(e)}function Tu(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 Jr=z.module("ConsoleHistoryItem");class go extends p.PureComponent{constructor(e){super(e),this.handleCancelClick=this.handleCancelClick.bind(this),this.handleObjectClick=this.handleObjectClick.bind(this)}handleObjectClick(e){Jr.debug("handleObjectClick",e);var{openObject:t}=this.props;t(e)}handleCancelClick(){var{item:e}=this.props;e!=null&&e.cancelResult&&(Jr.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(mi,{language:n,children:t.command})})]}));var u=[],h=!1;if(s){var{error:c,message:v,changes:m}=s;if(m){var{created:b,updated:g}=m;[...b,...g].forEach(F=>{h=!0;var{title:L}=F,x="".concat(L),N=e===void 0||e||(a??[]).indexOf(x)>=0,$=d.jsx(k,{kind:"primary",onClick:()=>this.handleObjectClick(F),className:"btn-console-object",disabled:N,icon:r(F.type),children:L},x);u.push($)})}if(c!=null&&!o){var f,C="".concat((f=c.message)!==null&&f!==void 0?f:c);C||(C=c);var E=d.jsx(yu,{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(Cu,{onCancelClick:this.handleCancelClick,disabled:e},"in_progress");u.push(y)}var O=null;return u.length>0&&(O=d.jsx(mo,{children:u})),d.jsxs("div",{className:X("console-command-result",{"console-result-buttons":h}),children:[l,O]})}}Pu(go,"defaultProps",{disabled:!1});const Ou=go;function Nu(i,e){return"".concat(i,".").concat(e.command,".").concat(e.result&&e.result.message,".").concat(e.result&&e.result.error)}function Lu(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(Ou,{disabled:e,item:u,openObject:r,language:n,supportsType:a,iconForType:s},Nu(l,u));o.push(h)}return d.jsx("div",{className:"container-fluid console-history",children:o})}var Du={name:"Console",CLEAR:xe.createAndAdd({id:"CONSOLE.CLEAR",name:"Clear",shortcut:[se.CTRL,re.L],macShortcut:[se.CTRL,re.C]}),FOCUS_HISTORY:xe.createAndAdd({id:"CONSOLE.FOCUS_HISTORY",name:"Focus History",shortcut:[se.CTRL,re.H],macShortcut:[se.CTRL,se.OPTION,re.H]})},Mu={name:"Command History",FOCUS_HISTORY:xe.createAndAdd({id:"COMMAND_HISTORY.FOCUS_HISTORY",name:"Focus History Search",shortcut:[se.CTRL,re.H],macShortcut:[se.CTRL,se.OPTION,re.H]}),SEND_TO_CONSOLE:xe.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_CONSOLE",name:"Send to Console",shortcut:[re.ENTER],macShortcut:[re.ENTER]}),SEND_TO_NOTEBOOK:xe.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_NOTEBOOK",name:"Send to Notebook",shortcut:[se.CTRL,re.ENTER],macShortcut:[se.CMD,re.ENTER]}),RUN:xe.createAndAdd({id:"COMMAND_HISTORY.RUN",name:"Run",shortcut:[se.ALT,re.R],macShortcut:[se.OPTION,re.R]})},Fu={name:"Notebook",RUN:xe.createAndAdd({id:"NOTEBOOK.RUN",name:"Run",shortcut:[se.ALT,re.R],macShortcut:[se.OPTION,re.R]}),RUN_SELECTED:xe.createAndAdd({id:"NOTEBOOK.RUN_SELECTED",name:"Run Selected",shortcut:[se.ALT,se.SHIFT,re.R],macShortcut:[se.OPTION,se.SHIFT,re.R]}),FIND:xe.createAndAdd({id:"NOTEBOOK.FIND",name:"Find",shortcut:[se.CTRL,re.F],macShortcut:[se.CMD,re.F],isEditable:!1}),MINIMAP:xe.createAndAdd({id:"NOTEBOOK.MINIMAP",name:"Show Minimap",shortcut:[se.ALT,re.M],macShortcut:[se.OPTION,re.M]}),WORDWRAP:xe.createAndAdd({id:"NOTEBOOK.WORDWRAP",name:"Word Wrap",shortcut:[se.ALT,re.Z],macShortcut:[se.OPTION,re.Z]})},xu={CONSOLE:Du,COMMAND_HISTORY:Mu,NOTEBOOK:Fu};const Fe=xu,Pe=Object.freeze({FATAL:"FATAL",STDERR:"STDERR",ERROR:"ERROR",WARN:"WARN",STDOUT:"STDOUT",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"});function Ai(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 dt=z.module("MonacoCompletionProvider");class kt extends p.PureComponent{static lspToMonacoKind(e){var t=Gn.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),Ai(this,"registeredCompletionProvider",void 0),Ai(this,"registeredSignatureProvider",void 0),Ai(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=Gn.registerCompletionItemProvider(e,{provideCompletionItems:this.handleCompletionRequest,triggerCharacters:[".",'"',"'"]}),t.getSignatureHelp&&(this.registeredSignatureProvider=Gn.registerSignatureHelpProvider(e,{provideSignatureHelp:this.handleSignatureRequest,signatureHelpTriggerCharacters:["(",","]})),t.getHover&&(this.registeredHoverProvider=Gn.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:kt.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:b,documentation:g,sortText:f,filterText:C,textEdit:E,insertTextFormat:S}=c;return{label:v,kind:kt.lspToMonacoKind(m),detail:b,documentation:(g==null?void 0:g.kind)==="markdown"?g:g==null?void 0:g.value,sortText:f,filterText:C,insertText:E.text,insertTextRules:S===2?4:S,range:kt.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:kt.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(b=>{var{label:g,documentation:f,parameters:C}=b;return{documentation:(f==null?void 0:f.kind)==="markdown"?f:f==null?void 0:f.value,label:g,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:kt.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 bo=kt;function ea(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 ku(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ea(a,n,r,s,o,"next",l)}function o(l){ea(a,n,r,s,o,"throw",l)}s(void 0)})}}function Ve(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)}var _i=z.module("ConsoleInput"),si=parseInt(bl["line-height"],10),Co=6,So=6,_u=si+Co+So,$i=100;class An extends p.PureComponent{constructor(e){super(e),Ve(this,"cancelListener",void 0),Ve(this,"commandContainer",void 0),Ve(this,"commandEditor",void 0),Ve(this,"commandHistoryIndex",void 0),Ve(this,"commandSuggestionContainer",void 0),Ve(this,"loadingPromise",void 0),Ve(this,"timestamp",void 0),Ve(this,"bufferIndex",void 0),Ve(this,"history",void 0),Ve(this,"modifiedCommands",void 0),this.handleWindowResize=this.handleWindowResize.bind(this),this.commandContainer=Z.createRef(),this.commandHistoryIndex=null,this.timestamp=Date.now(),this.bufferIndex=0,this.history=[],this.modifiedCommands=new Map,this.state={commandEditorHeight:si,isFocused:!1,model:null}}componentDidMount(){this.initCommandEditor(),window.addEventListener("resize",this.handleWindowResize),this.loadMoreHistory()}componentDidUpdate(){this.layoutEditor()}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),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:Co,bottom:So},value:"",wordWrap:"on"},r=this.commandContainer.current;I(r),this.commandEditor=or.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===Sn.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,[Ds.CtrlCmd|Sn.KeyF]),Be.registerPasteHandler(this.commandEditor),this.commandEditor.focus(),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)}handleWindowResize(){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-$i&&this.loadMoreHistory()}}loadMoreHistory(){var e=this;return ku(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+$i-1}),e.loadingPromise=ge.makeCancelable(a.getViewportData(),()=>a.close());var s=yield e.loadingPromise;e.bufferIndex+=$i,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),_u),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:X("console-input-wrapper",{disabled:e}),children:d.jsxs("div",{className:X("console-input-inner-wrapper",{focus:a}),children:[d.jsx("div",{className:An.INPUT_CLASS_NAME,ref:this.commandContainer,style:{height:r}}),s&&d.jsx(bo,{model:s,language:t,session:n})]})})}}Ve(An,"defaultProps",{maxHeight:si*10,scope:null,disabled:!1});Ve(An,"INPUT_CLASS_NAME","console-input");const ta=An;function yt(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=Uu(i,"string");return typeof e=="symbol"?e:String(e)}function Uu(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 na="pasted values",Hu=[/^audio.*/,/^font.*/,/^image.*/,/^video.*/],Ui=[".csv",".tsv",".tab",".psv",".dsv",".txt"],ia=[".zip"];class st extends p.Component{static isValidDropItem(e){return e!=null&&e.kind==="file"&&!Hu.find(t=>t.test(e.type))}static isValidExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Ui.some(n=>e.endsWith(n))||t&&ia.some(n=>e.endsWith(n))}static handleDragOver(e){e.preventDefault(),e.stopPropagation()}static getIcon(e){return e===na?Gr:e.endsWith(".csv")?Bl:e.endsWith(".zip")?Wl:Kl}constructor(e){super(e),yt(this,"fileElem",void 0),yt(this,"divElem",void 0),yt(this,"getValidExtensions",te(t=>t?[...Ui,...ia]:[...Ui])),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=Z.createRef(),this.divElem=Z.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:na,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:Mn.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:zl})}),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:kn,tooltip:"Remove"})]})]})]}),!!s&&d.jsxs("div",{className:"message-content",children:[d.jsx("div",{className:"message-icon",children:d.jsx(J,{icon:vr})}),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 Bt=st;function Ut(i,e,t){return e=Vu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vu(i){var e=Gu(i,"string");return typeof e=="symbol"?e:String(e)}function Gu(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{}Ut(Dt,"INTEGER","int");Ut(Dt,"LONG","long");Ut(Dt,"DOUBLE","double");Ut(Dt,"BOOLEAN","bool");Ut(Dt,"STRING","string");Ut(Dt,"DATE_TIME","datetime");Ut(Dt,"LOCAL_TIME","localtime");const ne=Dt;function Eo(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 ra(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 aa(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ra(Object(t),!0).forEach(function(n){Le(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ra(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Le(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=Wu(i,"string");return typeof e=="symbol"?e:String(e)}function Wu(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 sa="unknown",Ku=2147483647,zu=-2147483648,oa=/^[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]+)?$/,la=/^([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(?:\.[0-9]{1,9})?$/;class Te{static determineType(e,t,n){if(!e||e===n)return t;switch(t){case ne.STRING:return ne.STRING;case ne.INTEGER:return Te.checkInteger(e);case ne.LONG:return Te.checkLong(e);case ne.DOUBLE:return Te.checkDouble(e);case ne.BOOLEAN:return Te.checkBoolean(e);case ne.DATE_TIME:return Te.checkDateTime(e);case ne.LOCAL_TIME:return Te.checkLocalTime(e);default:return Te.getTypeFromUnknown(e)}}static isNotParsableNumber(e){return isNaN(e)||e==="Infinity"||e==="-Infinity"}static checkInteger(e){var t=e.replace(/,/g,"");return Te.isNotParsableNumber(t)?ne.STRING:Te.getNumberType(t)}static checkLong(e){var t=e.replace(/,/g,"");return Te.isNotParsableNumber(t)?ne.STRING:t.includes(".")?ne.DOUBLE:ne.LONG}static checkDouble(e){var t=e.replace(/,/g,"");return Te.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 oa.test(e)?ne.DATE_TIME:ne.STRING}static checkLocalTime(e){return la.test(e)?ne.LOCAL_TIME:ne.STRING}static getTypeFromUnknown(e){var t=e.replace(/,/g,"");if(Te.isNotParsableNumber(t)){var n=e.toLowerCase();return n==="true"||n==="false"?ne.BOOLEAN:oa.test(e)&&e.includes(":")?ne.DATE_TIME:la.test(e)?ne.LOCAL_TIME:ne.STRING}return Te.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>Ku||n<zu?ne.LONG:ne.INTEGER}constructor(e,t,n,r,a,s,o,l,u,h){Le(this,"onFileCompleted",void 0),Le(this,"file",void 0),Le(this,"readHeaders",void 0),Le(this,"nullString",void 0),Le(this,"onProgress",void 0),Le(this,"onError",void 0),Le(this,"types",void 0),Le(this,"chunks",void 0),Le(this,"totalChunks",void 0),Le(this,"rowCount",void 0),Le(this,"isZip",void 0),Le(this,"shouldTrim",void 0),Le(this,"zipProgress",void 0),Le(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=aa(aa({},r),{},{error:this.handleError,chunk:this.handleChunk,complete:this.handleComplete})}parse(){if(this.file instanceof File||this.file instanceof Blob)En.parse(this.file,this.config);else{var e=Eo(this.file,this.handleNodeUpdate);En.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(sa),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]=Te.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
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 Yu=Te;function le(i,e,t){return e=Xu(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xu(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 Wn=z.module("CsvParser"),Qu=650;class Xt{static generateHeaderRecursive(e){var t="",n=e;return e>=26&&(t=t.concat(Xt.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;le(this,"onFileCompleted",void 0),le(this,"session",void 0),le(this,"file",void 0),le(this,"isZip",void 0),le(this,"type",void 0),le(this,"readHeaders",void 0),le(this,"timeZone",void 0),le(this,"onProgress",void 0),le(this,"onError",void 0),le(this,"tables",void 0),le(this,"headers",void 0),le(this,"types",void 0),le(this,"rowCount",void 0),le(this,"rowsProcessed",void 0),le(this,"chunks",void 0),le(this,"totalChunks",void 0),le(this,"isComplete",void 0),le(this,"zipProgress",void 0),le(this,"consolidatedChunks",void 0),le(this,"numConsolidated",void 0),le(this,"isCancelled",void 0),le(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/En.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)En.parse(this.file,this.config);else{var a=So(this.file,this.handleNodeUpdate);En.parse(a,this.config),a.resume()}},t=new Yu(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){Wn.debug2("CSV parser cancelled."),t.abort(),o.forEach(c=>c.close());return}var{data:l}=e;this.headers||(n?(this.headers=Rs.legalizeColumnNames(l[0]),l=l.slice(1)):this.headers=Xt.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>=Qu||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){Wn.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,Wn.debug2("CSV parser progress ".concat(v)),u(v),this.isComplete&&a.length===this.chunks&&(Wn.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}}le(Xt,"generateHeaders",i=>{for(var e=[],t=0;t<i;t+=1)e.push(Xt.generateHeaderRecursive(t));return e});const Ju=Xt;function gr(i,e,t){return e=eh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function eh(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)}class fi{static fromExtension(e){return e.endsWith(".csv")?"DEFAULT_CSV":e.endsWith(".tsv")||e.endsWith(".tab")?"TSV":e.endsWith(".psv")?"PIPE_SV":"AUTODETECT"}}gr(fi,"DEFAULT_TYPE","DEFAULT_CSV");gr(fi,"AUTO","AUTODETECT");gr(fi,"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
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===sa||r===ne.LOCAL_TIME?ne.STRING:r),this.rowCount)}handleError(e){var{onError:t}=this;t(e)}handleNodeUpdate(e){this.zipProgress=e.percent}}const qu=Te;function le(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=Xu(i,"string");return typeof e=="symbol"?e:String(e)}function Xu(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 Wn=z.module("CsvParser"),Zu=650;class Xt{static generateHeaderRecursive(e){var t="",n=e;return e>=26&&(t=t.concat(Xt.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;le(this,"onFileCompleted",void 0),le(this,"session",void 0),le(this,"file",void 0),le(this,"isZip",void 0),le(this,"type",void 0),le(this,"readHeaders",void 0),le(this,"timeZone",void 0),le(this,"onProgress",void 0),le(this,"onError",void 0),le(this,"tables",void 0),le(this,"headers",void 0),le(this,"types",void 0),le(this,"rowCount",void 0),le(this,"rowsProcessed",void 0),le(this,"chunks",void 0),le(this,"totalChunks",void 0),le(this,"isComplete",void 0),le(this,"zipProgress",void 0),le(this,"consolidatedChunks",void 0),le(this,"numConsolidated",void 0),le(this,"isCancelled",void 0),le(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/En.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)En.parse(this.file,this.config);else{var a=Eo(this.file,this.handleNodeUpdate);En.parse(a,this.config),a.resume()}},t=new qu(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){Wn.debug2("CSV parser cancelled."),t.abort(),o.forEach(c=>c.close());return}var{data:l}=e;this.headers||(n?(this.headers=ks.legalizeColumnNames(l[0]),l=l.slice(1)):this.headers=Xt.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>=Zu||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){Wn.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,Wn.debug2("CSV parser progress ".concat(v)),u(v),this.isComplete&&a.length===this.chunks&&(Wn.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}}le(Xt,"generateHeaders",i=>{for(var e=[],t=0;t<i;t+=1)e.push(Xt.generateHeaderRecursive(t));return e});const Qu=Xt;function gr(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)}class fi{static fromExtension(e){return e.endsWith(".csv")?"DEFAULT_CSV":e.endsWith(".tsv")||e.endsWith(".tab")?"TSV":e.endsWith(".psv")?"PIPE_SV":"AUTODETECT"}}gr(fi,"DEFAULT_TYPE","DEFAULT_CSV");gr(fi,"AUTO","AUTODETECT");gr(fi,"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
6
  `,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:null},EXCEL_CSV:{name:"Excel csv (strict)",delimiter:",",newline:`\r
7
7
  `,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!1,nullString:null},MY_SQL_CSV:{name:"MySQL csv",delimiter:" ",newline:`
8
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 fn=fi;function Eo(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)}var la=z.module("CsvInputBar"),rh=Object.entries(fn.TYPES).map(i=>{var[e,t]=i;return d.jsx("option",{value:e,children:t.name},e)});class yo extends p.Component{constructor(e){super(e),Eo(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=Z.createRef(),this.state={tableName:"",tableNameSet:!1,isFirstRowHeaders:!0,showProgress:!1,progressValue:0,type:fn.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=Rs.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:fn.fromExtension(t.name)}):n!=null&&n!==""&&(e.paste===void 0||e.paste==="")&&this.setState({type:fn.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 Ju({onFileCompleted:u,session:n,file:e,type:fn.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(Bt.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:X("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(qt,{id:"formatSelect",className:"custom-select",value:o,onChange:this.handleQueryTypeChange,children:rh})]}),d.jsx(gl,{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"})]})]})}}Eo(yo,"defaultProps",{file:null,paste:null,unzip:null});const ah=yo;function Kn(i,e,t){return e=sh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sh(i){var e=oh(i,"string");return typeof e=="symbol"?e:String(e)}function oh(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(ks,{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),Kn(this,"tableSearchField",void 0),Kn(this,"widgetSearchField",void 0),Kn(this,"makeTableActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Qi.isTableType(a,o.type));return oi.makeItemActions(s,n,o=>{this.tableSearchField=o},this.handleTableFilterChange,r)})),Kn(this,"makeWidgetActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Qi.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:cr,icon:Wt,transform:"right-5 down-5"}),d.jsx(J,{icon:Wt,transform:"right-8 down-6"})]}),tooltip:u?"No tables available":"Tables",children:d.jsx(Kt,{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:hr,icon:Wt,transform:"right-5 down-5"}),d.jsx(J,{icon:Wt,transform:"right-8 down-6"})]}),tooltip:h?"No widgets available":"Widgets",children:d.jsx(Kt,{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...",onClick:()=>{},children:d.jsx(Kt,{actions:e,popperOptions:l})})]})}}const lh=oi;function Po(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=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 wo extends p.PureComponent{constructor(e){super(e),Po(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 ud||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:X("console-status-icon",l)}),d.jsx(wt,{children:u})]}),e,d.jsx(lh,{dh:t,overflowActions:r,openObject:n,objects:a})]})}}Po(wo,"defaultProps",{children:null});const hh=wo;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=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 et=z.module("Console"),ha={isAutoLaunchPanelsEnabled:!0,isPrintStdOutEnabled:!0,isClosePanelsOnDisconnectEnabled:!0};function ph(){return!0}function mh(i){return d.jsx(d.Fragment,{})}class Pt extends p.PureComponent{static isErrorLevel(e){return e===Pe.STDERR||e===Pe.ERROR||e===Pe.FATAL}static isOutputLevel(e){return e===Pe.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",Ds(()=>{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:Fe.CONSOLE.CLEAR},{action:this.handleFocusHistory,shortcut:Fe.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=Z.createRef(),this.consoleInput=Z.createRef(),this.consoleHistoryScrollPane=Z.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 b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{title:g}=m;I(g);var f=u.get(g);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:[],g]});o[f]=E}u.set(g,l),b?h.delete(g):h.set(g,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:Bt.MULTIPLE_FILE_ERROR});return}var n=t[0];Bt.isValidDropItem(n)?this.setState({dragError:null}):this.setState({dragError:Bt.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?wn:void 0,order:10},{title:"Auto Launch Panels",action:this.handleToggleAutoLaunchPanels,group:Q.groups.high,icon:e?wn:void 0,order:20},{title:"Close Panels on Disconnect",action:this.handleToggleClosePanelsOnDisconnect,group:Q.groups.high,icon:t?wn: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:b}=this.props,{consoleHeight:g,consoleHistory:f,isScrollDecorationShown:C,objectMap:E,showCsvOverlay:S,csvFile:y,csvPaste:O,dragError:F,csvUploadInProgress:L}=this.state,x=this.getObjects(E),N=Math.round(g*.7),$=this.getContextActions(e);return d.jsxs("div",{role:"presentation",className:X("iris-console","h-100","w-100",{disabled:c}),children:[d.jsxs("div",{className:"console-pane",ref:this.consolePane,children:[d.jsx(hh,{dh:t,session:o,overflowActions:this.handleOverflowActions,openObject:s,objects:x,children:a}),d.jsxs("div",{className:"console-csv-container",onDragOver:Bt.handleDragOver,onDragEnter:this.handleDragEnter,onDragLeave:this.handleDragLeave,children:[S&&d.jsx(Bt,{onCancel:this.handleCsvFileCanceled,onFileOpened:this.handleCsvFileOpened,onPaste:this.handleCsvPaste,clearDragError:this.handleClearDragError,dragError:F,onError:this.handleCsvError,uploadInProgress:L,allowZip:v!=null}),d.jsxs("div",{role:"presentation",className:X("scroll-pane no-scroll-x",{"scroll-decoration":C}),onScroll:this.handleScrollPaneScroll,ref:this.consoleHistoryScrollPane,children:[d.jsx(Du,{items:f,openObject:s,language:r,disabled:c,supportsType:m,iconForType:b}),n]})]}),!S&&d.jsx(ea,{ref:this.consoleInput,session:o,language:r,scope:l,onSubmit:this.handleCommandSubmit,maxHeight:N,commandHistoryStorage:u}),S&&d.jsx(ah,{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:$,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:ph,iconForType:mh});Ge(Pt,"LOG_THROTTLE",500);const fh=Pt;var gh={groovy:"Groovy",python:"Python",scala:"Scala"};class bh{static normalizeScriptLanguage(e){return gh[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(`
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 fn=fi;function yo(i,e,t){return e=th(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function th(i){var e=nh(i,"string");return typeof e=="symbol"?e:String(e)}function nh(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("CsvInputBar"),ih=Object.entries(fn.TYPES).map(i=>{var[e,t]=i;return d.jsx("option",{value:e,children:t.name},e)});class Po extends p.Component{constructor(e){super(e),yo(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=Z.createRef(),this.state={tableName:"",tableNameSet:!1,isFirstRowHeaders:!0,showProgress:!1,progressValue:0,type:fn.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=ks.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:fn.fromExtension(t.name)}):n!=null&&n!==""&&(e.paste===void 0||e.paste==="")&&this.setState({type:fn.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;da.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;da.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 Qu({onFileCompleted:u,session:n,file:e,type:fn.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(Bt.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:X("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(qt,{id:"formatSelect",className:"custom-select",value:o,onChange:this.handleQueryTypeChange,children:ih})]}),d.jsx(Cl,{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"})]})]})}}yo(Po,"defaultProps",{file:null,paste:null,unzip:null});const rh=Po;function Kn(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 ua=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(js,{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),Kn(this,"tableSearchField",void 0),Kn(this,"widgetSearchField",void 0),Kn(this,"makeTableActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Qi.isTableType(a,o.type));return oi.makeItemActions(s,n,o=>{this.tableSearchField=o},this.handleTableFilterChange,r)})),Kn(this,"makeWidgetActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Qi.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){ua.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){ua.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:cr,icon:Wt,transform:"right-5 down-5"}),d.jsx(J,{icon:Wt,transform:"right-8 down-6"})]}),tooltip:u?"No tables available":"Tables",children:d.jsx(Kt,{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:hr,icon:Wt,transform:"right-5 down-5"}),d.jsx(J,{icon:Wt,transform:"right-8 down-6"})]}),tooltip:h?"No widgets available":"Widgets",children:d.jsx(Kt,{actions:o,onMenuOpened:this.handleWidgetMenuOpened,onMenuClosed:this.handleWidgetMenuClosed,options:{initialKeyboardIndex:1},popperOptions:l},"table-actions")}),d.jsx(k,{kind:"ghost",icon:qs,tooltip:"More Actions...","aria-label":"More Actions...",onClick:()=>{},children:d.jsx(Kt,{actions:e,popperOptions:l})})]})}}const oh=oi;function wo(i,e,t){return e=lh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lh(i){var e=dh(i,"string");return typeof e=="symbol"?e:String(e)}function dh(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),wo(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 cd||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:X("console-status-icon",l)}),d.jsx(wt,{children:u})]}),e,d.jsx(oh,{dh:t,overflowActions:r,openObject:n,objects:a})]})}}wo(To,"defaultProps",{children:null});const uh=To;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 ze(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){Ge(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 Ge(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=ch(i,"string");return typeof e=="symbol"?e:String(e)}function ch(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"),ca={isAutoLaunchPanelsEnabled:!0,isPrintStdOutEnabled:!0,isClosePanelsOnDisconnectEnabled:!0};function vh(){return!0}function ph(i){return d.jsx(d.Fragment,{})}class Pt extends p.PureComponent{static isErrorLevel(e){return e===Pe.STDERR||e===Pe.ERROR||e===Pe.FATAL}static isOutputLevel(e){return e===Pe.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",Ms(()=>{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:Fe.CONSOLE.CLEAR},{action:this.handleFocusHistory,shortcut:Fe.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=Z.createRef(),this.consoleInput=Z.createRef(),this.consoleHistoryScrollPane=Z.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},ca),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 b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{title:g}=m;I(g);var f=u.get(g);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:[],g]});o[f]=E}u.set(g,l),b?h.delete(g):h.set(g,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:Bt.MULTIPLE_FILE_ERROR});return}var n=t[0];Bt.isValidDropItem(n)?this.setState({dragError:null}):this.setState({dragError:Bt.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?wn:void 0,order:10},{title:"Auto Launch Panels",action:this.handleToggleAutoLaunchPanels,group:Q.groups.high,icon:e?wn:void 0,order:20},{title:"Close Panels on Disconnect",action:this.handleToggleClosePanelsOnDisconnect,group:Q.groups.high,icon:t?wn: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(ca),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:b}=this.props,{consoleHeight:g,consoleHistory:f,isScrollDecorationShown:C,objectMap:E,showCsvOverlay:S,csvFile:y,csvPaste:O,dragError:F,csvUploadInProgress:L}=this.state,x=this.getObjects(E),N=Math.round(g*.7),$=this.getContextActions(e);return d.jsxs("div",{role:"presentation",className:X("iris-console","h-100","w-100",{disabled:c}),children:[d.jsxs("div",{className:"console-pane",ref:this.consolePane,children:[d.jsx(uh,{dh:t,session:o,overflowActions:this.handleOverflowActions,openObject:s,objects:x,children:a}),d.jsxs("div",{className:"console-csv-container",onDragOver:Bt.handleDragOver,onDragEnter:this.handleDragEnter,onDragLeave:this.handleDragLeave,children:[S&&d.jsx(Bt,{onCancel:this.handleCsvFileCanceled,onFileOpened:this.handleCsvFileOpened,onPaste:this.handleCsvPaste,clearDragError:this.handleClearDragError,dragError:F,onError:this.handleCsvError,uploadInProgress:L,allowZip:v!=null}),d.jsxs("div",{role:"presentation",className:X("scroll-pane no-scroll-x",{"scroll-decoration":C}),onScroll:this.handleScrollPaneScroll,ref:this.consoleHistoryScrollPane,children:[d.jsx(Lu,{items:f,openObject:s,language:r,disabled:c,supportsType:m,iconForType:b}),n]})]}),!S&&d.jsx(ta,{ref:this.consoleInput,session:o,language:r,scope:l,onSubmit:this.handleCommandSubmit,maxHeight:N,commandHistoryStorage:u}),S&&d.jsx(rh,{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:$,ignoreClassNames:[ta.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:vh,iconForType:ph});Ge(Pt,"LOG_THROTTLE",500);const mh=Pt;var fh={groovy:"Groovy",python:"Python",scala:"Scala"};class gh{static normalizeScriptLanguage(e){return fh[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
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 er=bh;function gn(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=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 He=z.module("ScriptEditor");class To extends p.Component{constructor(e){super(e),gn(this,"contextActionCleanups",void 0),gn(this,"completionCleanup",void 0),gn(this,"editor",void 0),gn(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=Z.createRef(),this.state={model:null}}componentDidMount(){xe.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&&(He.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)&&(He.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)&&(He.debug("Init completion and context actions"),this.initContextActions(),this.initCodeCompletion())}componentWillUnmount(){xe.removeEventListener("onUpdate",this.updateShortcuts)}getValue(){return this.editor?this.editor.getValue():(He.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 er.outdentCode(r.getValueInRange(h))}handleEditorInitialized(e){var{focusOnMount:t,onChange:n,onEditorInitialized:r,settings:a,session:s,sessionLanguage:o}=this.props;He.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){He.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){He.error("Context actions already initialized.");return}if(this.editor){var e=[];e.push(this.editor.addAction({id:"run-code",label:"Run",keybindings:[Be.getMonacoKeyCodeFromShortcut(Fe.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(Fe.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){He.error("Code completion already initialized.");return}var{session:e}=this.props;He.debug("initCodeCompletion",this.editor,e),this.editor&&e!=null&&(this.completionCleanup=Be.openDocument(this.editor,e))}deInitCodeCompletion(){var{session:e}=this.props;He.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(){He.debug("updateDimensions"),this.editor&&this.editor.layout()}focus(){He.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(pr,{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(js,{ref:this.editorComponent,settings:o,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy}),c!=null&&c&&d.jsx(go,{model:l,language:h,session:a})]})})]})}}gn(To,"defaultProps",{error:null,isLoading:!1,isLoaded:!1,focusOnMount:!0,onChange:()=>{},onEditorInitialized:()=>{},onEditorWillDestroy:()=>{},session:null});const Eh=To;function bn(i,e,t){return e=yh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yh(i){var e=Ph(i,"string");return typeof e=="symbol"?e:String(e)}function Ph(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 wh=250,Th=2500;class gi 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":Is.formatElapsedTime(n)}constructor(e){super(e),bn(this,"timer",void 0),bn(this,"cleanup",void 0),bn(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)},wh)),bn(this,"getPreviewText",Et(t=>t.split(`
13
- `,Th).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=gi.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(mi,{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:vr})," 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})]})]})}}bn(gi,"defaultProps",{onUpdate:()=>{}});const Oh=gi;var Nh=512;function Oo(i){var{item:e,language:t,isSelected:n,commandHistoryStorage:r}=i,a=e.name.substring(0,Nh),s=p.useRef(null),o=p.useCallback(()=>{var l;(l=s.current)===null||l===void 0||l.update()},[s]);return d.jsxs("div",{className:X("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(Oh,{item:e,language:t,onUpdate:o,commandHistoryStorage:r})})]})}Oo.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:Kl,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:X(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 Lh=li;var Dh=150,ca=3,va=z.module("CommandHistoryViewportUpdater");function Mh(i){var{table:e,columns:t,top:n=0,bottom:r=0,search:a,isReversed:s=!1,onUpdate:o}=i,l=p.useMemo(()=>Ds(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})},Dh),[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=Fh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fh(i){var e=xh(i,"string");return typeof e=="symbol"?e:String(e)}function xh(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 Me 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:[]}})},Me.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:zl,shortcut:Mn.COPY,action:this.copySelectedCommands,group:Q.groups.edit},{title:"Send to Console",description:"Open selected commands in the console",icon:Br,shortcut:Fe.COMMAND_HISTORY.SEND_TO_CONSOLE,action:this.sendToConsole,group:Me.menuGroups.send,order:10},{title:"Run in Console",description:"Run selected commands in the console",icon:ri,shortcut:Fe.COMMAND_HISTORY.RUN,action:this.runInConsole,group:Me.menuGroups.send,order:10},{title:"Send to Active Notebook",description:"Open selected commands in a notebook",icon:Wr,shortcut:Fe.COMMAND_HISTORY.SEND_TO_NOTEBOOK,action:this.sendToNotebook,group:Me.menuGroups.send,order:20},{title:"Send to New Notebook",description:"Open selected commands in a new notebook",icon:qs,action:this.createNotebook,group:Me.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=Z.createRef(),this.itemListRef=Z.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 Me.getCommandsFromViewport(t,n,a);var{table:s}=e.props;return e.pending.add(Me.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<Me.MAX_SELECTION_COUNT?(ft.debug("Updating actions",this.itemActions),{actions:this.itemActions}):(ft.debug("Disabling actions",n),{actions:[]})})}copySelectedCommands(){this.getSelectedCommandText().then(As).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(Oo,{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,b=(e=vo.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(ks,{ref:this.searchInputRef,value:s,placeholder:"".concat(b," Command History"),onChange:this.handleSearchChange}),d.jsx(Lh,{actions:a,hasSelection:m.length>0})]}),d.jsxs("div",{className:"command-history-list",children:[d.jsx(Yi,{ref:this.itemListRef,itemCount:c,items:h,offset:v,selectedRanges:m,onSelect:this.handleSelect,onSelectionChange:this.handleSelectionChange,onViewportChange:this.handleViewportChange,renderItem:this.renderItem,rowHeight:Me.ITEM_HEIGHT,isDoubleClickSelect:!0,isMultiSelect:!0,isStickyBottom:!0}),d.jsx(Mh,{table:n,top:l,bottom:u,search:o,onUpdate:this.handleViewportUpdate}),d.jsx(Q,{actions:r})]})]})}}rt(Me,"ITEM_HEIGHT",29);rt(Me,"MAX_SELECTION_COUNT",1e4);rt(Me,"SET_SEARCH_DEBOUNCE_MS",150);rt(Me,"menuGroups",{send:Q.groups.medium+100});const Ih=Me;class Rh 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:X("log-level-menu-item",e),children:[d.jsx(bl,{on:t,onClick:this.handleSwitchClick}),e]})}}const kh=Rh;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=jh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jh(i){var e=Ah(i,"string");return typeof e=="symbol"?e:String(e)}function Ah(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 he extends p.PureComponent{static getLogText(e){var t=new Date(e.micros/1e3),n=Qi.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=he.AllLogLevels[a],l=e[o]!=null?e[o]:!1;n.push({title:o,group:1,order:a+100,menuElement:d.jsx(kh,{logLevel:o,on:l,onClick:t.handleMenuItemClick,ref:u=>{u!=null&&(t.logLevelMenuItems[o]=u)}})})},a=0;a<he.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=he.AllLogLevels[n],s=he.DefaultLogLevels.some(o=>o===a);e[a]=s},n=0;n<he.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=or.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"}),[[Sn.Escape],[Ls.Shift|Sn.Escape]].forEach(e=>{I(this.editor),Be.disableKeyBindings(this.editor,e),this.editor.addAction({id:"clear-selection-on-escape",label:"",keybindings:[Sn.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<he.AllLogLevels.length;n+=1){var r=he.AllLogLevels[n];if(!e[r]){t=!1;break}}if(t)this.setState({shownLogLevels:{}});else{for(var a={},s=0;s<he.AllLogLevels.length;s+=1){var o=he.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:`
11
+ `)}}const er=gh;function gn(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=Ch(i,"string");return typeof e=="symbol"?e:String(e)}function Ch(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("ScriptEditor");class Oo extends p.Component{constructor(e){super(e),gn(this,"contextActionCleanups",void 0),gn(this,"completionCleanup",void 0),gn(this,"editor",void 0),gn(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=Z.createRef(),this.state={model:null}}componentDidMount(){xe.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&&(He.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)&&(He.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)&&(He.debug("Init completion and context actions"),this.initContextActions(),this.initCodeCompletion())}componentWillUnmount(){xe.removeEventListener("onUpdate",this.updateShortcuts)}getValue(){return this.editor?this.editor.getValue():(He.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 er.outdentCode(r.getValueInRange(h))}handleEditorInitialized(e){var{focusOnMount:t,onChange:n,onEditorInitialized:r,settings:a,session:s,sessionLanguage:o}=this.props;He.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){He.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){He.error("Context actions already initialized.");return}if(this.editor){var e=[];e.push(this.editor.addAction({id:"run-code",label:"Run",keybindings:[Be.getMonacoKeyCodeFromShortcut(Fe.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(Fe.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){He.error("Code completion already initialized.");return}var{session:e}=this.props;He.debug("initCodeCompletion",this.editor,e),this.editor&&e!=null&&(this.completionCleanup=Be.openDocument(this.editor,e))}deInitCodeCompletion(){var{session:e}=this.props;He.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(){He.debug("updateDimensions"),this.editor&&this.editor.layout()}focus(){He.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(pr,{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(As,{ref:this.editorComponent,settings:o,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy}),c!=null&&c&&d.jsx(bo,{model:l,language:h,session:a})]})})]})}}gn(Oo,"defaultProps",{error:null,isLoading:!1,isLoaded:!1,focusOnMount:!0,onChange:()=>{},onEditorInitialized:()=>{},onEditorWillDestroy:()=>{},session:null});const Sh=Oo;function bn(i,e,t){return e=Eh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Eh(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)}var Ph=250,wh=2500;class gi 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":Rs.formatElapsedTime(n)}constructor(e){super(e),bn(this,"timer",void 0),bn(this,"cleanup",void 0),bn(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)},Ph)),bn(this,"getPreviewText",Et(t=>t.split(`
13
+ `,wh).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=gi.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(mi,{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:vr})," Executed with errors"]}),d.jsxs("div",{className:"time-wrapper",children:["Elapsed time:"," ",m?d.jsx("span",{className:"time-string",children:c}):d.jsx(zs,{className:"loading-spinner-vertical-align"})]})]}),!!h&&d.jsx("div",{className:"error-message",children:h})]})]})}}bn(gi,"defaultProps",{onUpdate:()=>{}});const Th=gi;var Oh=512;function No(i){var{item:e,language:t,isSelected:n,commandHistoryStorage:r}=i,a=e.name.substring(0,Oh),s=p.useRef(null),o=p.useCallback(()=>{var l;(l=s.current)===null||l===void 0||l.update()},[s]);return d.jsxs("div",{className:X("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(Th,{item:e,language:t,onUpdate:o,commandHistoryStorage:r})})]})}No.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:ql,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:X(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 Nh=li;var Lh=150,va=3,pa=z.module("CommandHistoryViewportUpdater");function Dh(i){var{table:e,columns:t,top:n=0,bottom:r=0,search:a,isReversed:s=!1,onUpdate:o}=i,l=p.useMemo(()=>Ms(u=>{var h=u.bottom-u.top,c=Math.max(0,u.top-h*va),v=u.bottom+h*va;e.setViewport({top:c,bottom:v,columns:u.columns})},Lh),[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()=>{pa.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(()=>()=>{pa.debug2("Cancel throttledUpdateViewport"),l.cancel()},[l]),null}function ma(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 fa(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ma(a,n,r,s,o,"next",l)}function o(l){ma(a,n,r,s,o,"throw",l)}s(void 0)})}}function rt(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 ft=z.module("CommandHistory");class Me 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 fa(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:[]}})},Me.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:Yl,shortcut:Mn.COPY,action:this.copySelectedCommands,group:Q.groups.edit},{title:"Send to Console",description:"Open selected commands in the console",icon:Br,shortcut:Fe.COMMAND_HISTORY.SEND_TO_CONSOLE,action:this.sendToConsole,group:Me.menuGroups.send,order:10},{title:"Run in Console",description:"Run selected commands in the console",icon:ri,shortcut:Fe.COMMAND_HISTORY.RUN,action:this.runInConsole,group:Me.menuGroups.send,order:10},{title:"Send to Active Notebook",description:"Open selected commands in a notebook",icon:Wr,shortcut:Fe.COMMAND_HISTORY.SEND_TO_NOTEBOOK,action:this.sendToNotebook,group:Me.menuGroups.send,order:20},{title:"Send to New Notebook",description:"Open selected commands in a new notebook",icon:Ys,action:this.createNotebook,group:Me.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=Z.createRef(),this.itemListRef=Z.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 fa(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 Me.getCommandsFromViewport(t,n,a);var{table:s}=e.props;return e.pending.add(Me.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<Me.MAX_SELECTION_COUNT?(ft.debug("Updating actions",this.itemActions),{actions:this.itemActions}):(ft.debug("Disabling actions",n),{actions:[]})})}copySelectedCommands(){this.getSelectedCommandText().then(_s).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(No,{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,b=(e=po.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(js,{ref:this.searchInputRef,value:s,placeholder:"".concat(b," Command History"),onChange:this.handleSearchChange}),d.jsx(Nh,{actions:a,hasSelection:m.length>0})]}),d.jsxs("div",{className:"command-history-list",children:[d.jsx(Yi,{ref:this.itemListRef,itemCount:c,items:h,offset:v,selectedRanges:m,onSelect:this.handleSelect,onSelectionChange:this.handleSelectionChange,onViewportChange:this.handleViewportChange,renderItem:this.renderItem,rowHeight:Me.ITEM_HEIGHT,isDoubleClickSelect:!0,isMultiSelect:!0,isStickyBottom:!0}),d.jsx(Dh,{table:n,top:l,bottom:u,search:o,onUpdate:this.handleViewportUpdate}),d.jsx(Q,{actions:r})]})]})}}rt(Me,"ITEM_HEIGHT",29);rt(Me,"MAX_SELECTION_COUNT",1e4);rt(Me,"SET_SEARCH_DEBOUNCE_MS",150);rt(Me,"menuGroups",{send:Q.groups.medium+100});const xh=Me;class Ih 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:X("log-level-menu-item",e),children:[d.jsx(Sl,{on:t,onClick:this.handleSwitchClick}),e]})}}const Rh=Ih;function ga(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 ba(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ga(Object(t),!0).forEach(function(n){_e(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ga(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function _e(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 he extends p.PureComponent{static getLogText(e){var t=new Date(e.micros/1e3),n=Qi.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=he.AllLogLevels[a],l=e[o]!=null?e[o]:!1;n.push({title:o,group:1,order:a+100,menuElement:d.jsx(Rh,{logLevel:o,on:l,onClick:t.handleMenuItemClick,ref:u=>{u!=null&&(t.logLevelMenuItems[o]=u)}})})},a=0;a<he.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=he.AllLogLevels[n],s=he.DefaultLogLevels.some(o=>o===a);e[a]=s},n=0;n<he.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=or.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"}),[[Sn.Escape],[Ds.Shift|Sn.Escape]].forEach(e=>{I(this.editor),Be.disableKeyBindings(this.editor,e),this.editor.addAction({id:"clear-selection-on-escape",label:"",keybindings:[Sn.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<he.AllLogLevels.length;n+=1){var r=he.AllLogLevels[n];if(!e[r]){t=!1;break}}if(t)this.setState({shownLogLevels:{}});else{for(var a={},s=0;s<he.AllLogLevels.length;s+=1){var o=he.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=ba(ba({},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
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=he.getLogText(a);s.length>0&&(n+=s,s.charAt(s.length-1)!==`
17
17
  `&&(n+=`
18
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>he.maxLogSize&&(this.messages=this.messages.splice(this.messages.length-he.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=he.getLogText(n);e+=r,r.charAt(r.length-1)!==`
19
19
  `&&(e+=`
20
- `)}this.bufferedMessages=[],this.appendLogText(e)}queue(e){this.bufferedMessages.push(e),this.bufferedMessages.length===1&&(this.flushTimer=setTimeout(this.handleFlushTimeout,he.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:ql,tooltip:"Clear log"}),d.jsx(k,{kind:"ghost",className:"btn-link-icon btn-overflow",icon:pi,tooltip:"Log Settings",onClick:()=>{},children:d.jsx(Kt,{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(he,"DefaultLogLevels",[Pe.STDOUT,Pe.ERROR,Pe.FATAL,Pe.STDERR,Pe.WARN]);_e(he,"AllLogLevels",[Pe.INFO,Pe.STDOUT,Pe.ERROR,Pe.FATAL,Pe.STDERR,Pe.WARN,Pe.DEBUG,Pe.TRACE]);_e(he,"bufferTimeout",16);_e(he,"maxLogSize",131072);_e(he,"truncateSize",65536);const _h=he;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 $h(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 Uh=z.module("HeapUsage");function Hh(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=p.useCallback($h(function*(){try{var A=yield t.getWorkerHeapInfo();if(u(A),a||h){for(var R=(A.totalHeapSize-A.freeMemory)/A.maximumHeapSize,K=Date.now(),{timestamps:H,usages:ce}=v.current;H.length!==0&&K-H[0]>s*1.5;)H.shift(),ce.shift();H.push(K),ce.push(R)}else v.current={timestamps:[],usages:[]}}catch(Ce){Uh.warn("Unable to get heap usage",Ce)}}),[h,t,s,a]);Cl(m,h?r:n);var b=(A,R)=>Math.round(A*10**R)/10**R,g=2,f=1024**3,{freeMemory:C,totalHeapSize:E,maximumHeapSize:S}=l,y=b(C/f,g),O=b(E/f,g),F=b(S/f,g),L=O-y,x=function(R,K){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return d.jsxs("div",{className:X("heap-usage-info-row",{"heading-bottom-border":H}),children:[d.jsx("div",{className:"font-weight-bold",children:R}),d.jsx("div",{children:K})]})},{timestamps:N,usages:$}=v.current,q=(e=N[N.length-1])!==null&&e!==void 0?e:0,j=E/S,G=(E-C)/S;return d.jsxs("div",{className:"max-memory",children:[d.jsx("div",{className:"total-memory",style:{width:"calc(".concat(j*100,"% - ").concat(j*2,"px")}}),d.jsx("div",{className:X("used-memory",{"heap-overflow":(E-C)/S>.95}),style:{width:"calc(".concat(G*100,"% - ").concat(G*2,"px")}}),d.jsxs("div",{className:"memory-text",children:[F.toFixed(1)," GB"]}),d.jsx(wt,{onEntered:()=>c(!0),onExited:()=>c(!1),interactive:!0,children:d.jsxs("div",{className:"heap-tooltip",children:[x("In use:","".concat(L.toFixed(g)," of ").concat(F.toFixed(g)," GB"),!0),x("Free:","".concat(y.toFixed(g)," GB")),x("Total:","".concat(O.toFixed(g)," GB")),x("Max:","".concat(F.toFixed(g)," GB")),d.jsx("div",{className:"heap-plot",children:d.jsx(Sl,{data:[{x:[...N],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:[q-s,q],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=Vh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vh(i){var e=Gh(i,"string");return typeof e=="symbol"?e:String(e)}function Gh(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 bi{}br(bi,"OPEN","ChartEvent.OPEN");br(bi,"CLOSE","ChartEvent.CLOSE");br(bi,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const tr=bi;function _n(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 rn{}_n(rn,"SESSION_OPENED","ConsoleEvent.SESSION_OPENED");_n(rn,"SESSION_CLOSED","ConsoleEvent.SESSION_CLOSED");_n(rn,"FOCUS_HISTORY","ConsoleEvent.FOCUS_HISTORY");_n(rn,"SEND_COMMAND","ConsoleEvent.SEND_COMMAND");_n(rn,"SETTINGS_CHANGED","ConsoleEvent.SETTINGS_CHANGED");const We=rn;function Mt(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 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 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,"OPEN_GRID","IrisGridEvent.OPEN_GRID");an(Ht,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");an(Ht,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");an(Ht,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");an(Ht,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");an(Ht,"CREATE_CHART","IrisGridevent.CREATE_CHART");const Ze=Ht,Xh=Object.freeze({OPEN:"MarkdownEvent.OPEN"});function vt(i,e,t){return e=Zh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zh(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 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 No(i,e,t){return e=Jh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jh(i){var e=ec(i,"string");return typeof e=="symbol"?e:String(e)}function ec(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{}No(Cr,"OPEN","PandasEvent.OPEN");No(Cr,"CLOSE","PandasEvent.CLOSE");const af=Cr;function sn(i,e,t){return e=tc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function tc(i){var e=nc(i,"string");return typeof e=="symbol"?e:String(e)}function nc(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 Vt{}sn(Vt,"focus","TabEvent.focus");sn(Vt,"blur","TabEvent.blur");sn(Vt,"openPQObject","TabEvent.openPQObject");sn(Vt,"openControl","TabEvent.openControl");sn(Vt,"reload","TabEvent.reload");sn(Vt,"clearAllFilters","TabEvent.clearAllFilters");const zn=Vt;function ic(i,e,t){return e=rc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function rc(i){var e=ac(i,"string");return typeof e=="symbol"?e:String(e)}function ac(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 Lo 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})}}ic(Lo,"defaultProps",{additionalActions:[]});const sc=Lo;function Do(i,e,t){return e=oc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function oc(i){var e=lc(i,"string");return typeof e=="symbol"?e:String(e)}function lc(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,"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=Z.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:X("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(El,{isShown:e,onEntered:this.handleRenameDialogOpened,onExited:t,options:{placement:"bottom"},interactive:!0,closeOnBlur:!0,children:this.renderRenameDialog()})}}Do(Mo,"defaultProps",{isShared:!1,isOwner:!0,itemType:"Item",value:""});function nr(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=uc(i,"string");return typeof e=="symbol"?e:String(e)}function uc(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 hc=z.module("Panel");let Fo=class extends p.PureComponent{constructor(e){super(e),nr(this,"ref",void 0),nr(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=Z.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(zn.focus,this.handleTabFocus),a.on(zn.blur,this.handleTabBlur),a.on(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),a.emit(oe.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(zn.focus,this.handleTabFocus),n.off(zn.blur,this.handleTabBlur),n.off(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),n.emit(oe.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(oe.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){hc.error("Could not get component config from container",e);return}var a=M.cloneComponent(n,r);a!==null&&t.emit(oe.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:b}=this.state;return d.jsxs("div",{className:X("h-100 w-100 dh-panel",t),onFocusCapture:this.handleFocus,onBlurCapture:this.handleBlur,ref:this.ref,children:[e,d.jsx(pr,{errorMessage:s,isLoaded:o,isLoading:l}),!b&&c!=null&&Ms.createPortal(d.jsxs(d.Fragment,{children:[d.jsx(sc,{glContainer:r,additionalActions:this.getAdditionActions(a,u,h)}),h&&d.jsx(Mo,{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])]})}};nr(Fo,"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=Fo;function Ci(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(yl,{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]})}Ci.propTypes={glContainer:_s.Container.isRequired,widgetType:_.string,widgetName:_.string,description:_.string,children:_.node};Ci.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function xo(i,e,t){return e=cc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cc(i){var e=vc(i,"string");return typeof e=="symbol"?e:String(e)}function vc(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 Io extends p.PureComponent{constructor(e){super(e),xo(this,"getCachedRenderTabTooltip",te((t,n,r,a,s)=>t?()=>d.jsx(Ci,{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;As(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.
20
+ `)}this.bufferedMessages=[],this.appendLogText(e)}queue(e){this.bufferedMessages.push(e),this.bufferedMessages.length===1&&(this.flushTimer=setTimeout(this.handleFlushTimeout,he.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:Xl,tooltip:"Clear log"}),d.jsx(k,{kind:"ghost",className:"btn-link-icon btn-overflow",icon:pi,tooltip:"Log Settings",onClick:()=>{},children:d.jsx(Kt,{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(he,"DefaultLogLevels",[Pe.STDOUT,Pe.ERROR,Pe.FATAL,Pe.STDERR,Pe.WARN]);_e(he,"AllLogLevels",[Pe.INFO,Pe.STDOUT,Pe.ERROR,Pe.FATAL,Pe.STDERR,Pe.WARN,Pe.DEBUG,Pe.TRACE]);_e(he,"bufferTimeout",16);_e(he,"maxLogSize",131072);_e(he,"truncateSize",65536);const Ah=he;function Ca(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 _h(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Ca(a,n,r,s,o,"next",l)}function o(l){Ca(a,n,r,s,o,"throw",l)}s(void 0)})}}var $h=z.module("HeapUsage");function Uh(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=p.useCallback(_h(function*(){try{var A=yield t.getWorkerHeapInfo();if(u(A),a||h){for(var R=(A.totalHeapSize-A.freeMemory)/A.maximumHeapSize,K=Date.now(),{timestamps:H,usages:ce}=v.current;H.length!==0&&K-H[0]>s*1.5;)H.shift(),ce.shift();H.push(K),ce.push(R)}else v.current={timestamps:[],usages:[]}}catch(Ce){$h.warn("Unable to get heap usage",Ce)}}),[h,t,s,a]);El(m,h?r:n);var b=(A,R)=>Math.round(A*10**R)/10**R,g=2,f=1024**3,{freeMemory:C,totalHeapSize:E,maximumHeapSize:S}=l,y=b(C/f,g),O=b(E/f,g),F=b(S/f,g),L=O-y,x=function(R,K){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return d.jsxs("div",{className:X("heap-usage-info-row",{"heading-bottom-border":H}),children:[d.jsx("div",{className:"font-weight-bold",children:R}),d.jsx("div",{children:K})]})},{timestamps:N,usages:$}=v.current,q=(e=N[N.length-1])!==null&&e!==void 0?e:0,j=E/S,G=(E-C)/S;return d.jsxs("div",{className:"max-memory",children:[d.jsx("div",{className:"total-memory",style:{width:"calc(".concat(j*100,"% - ").concat(j*2,"px")}}),d.jsx("div",{className:X("used-memory",{"heap-overflow":(E-C)/S>.95}),style:{width:"calc(".concat(G*100,"% - ").concat(G*2,"px")}}),d.jsxs("div",{className:"memory-text",children:[F.toFixed(1)," GB"]}),d.jsx(wt,{onEntered:()=>c(!0),onExited:()=>c(!1),interactive:!0,children:d.jsxs("div",{className:"heap-tooltip",children:[x("In use:","".concat(L.toFixed(g)," of ").concat(F.toFixed(g)," GB"),!0),x("Free:","".concat(y.toFixed(g)," GB")),x("Total:","".concat(O.toFixed(g)," GB")),x("Max:","".concat(F.toFixed(g)," GB")),d.jsx("div",{className:"heap-plot",children:d.jsx(yl,{data:[{x:[...N],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:[q-s,q],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=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 bi{}br(bi,"OPEN","ChartEvent.OPEN");br(bi,"CLOSE","ChartEvent.CLOSE");br(bi,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const tr=bi;function _n(i,e,t){return e=Gh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gh(i){var e=Bh(i,"string");return typeof e=="symbol"?e:String(e)}function Bh(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 rn{}_n(rn,"SESSION_OPENED","ConsoleEvent.SESSION_OPENED");_n(rn,"SESSION_CLOSED","ConsoleEvent.SESSION_CLOSED");_n(rn,"FOCUS_HISTORY","ConsoleEvent.FOCUS_HISTORY");_n(rn,"SEND_COMMAND","ConsoleEvent.SEND_COMMAND");_n(rn,"SETTINGS_CHANGED","ConsoleEvent.SETTINGS_CHANGED");const We=rn;function Mt(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=Kh(i,"string");return typeof e=="symbol"?e:String(e)}function Kh(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 an(i,e,t){return e=zh(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zh(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 Ht{}an(Ht,"OPEN_GRID","IrisGridEvent.OPEN_GRID");an(Ht,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");an(Ht,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");an(Ht,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");an(Ht,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");an(Ht,"CREATE_CHART","IrisGridevent.CREATE_CHART");const Ze=Ht,Yh=Object.freeze({OPEN:"MarkdownEvent.OPEN"});function vt(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=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 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 Lo(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=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 Cr{}Lo(Cr,"OPEN","PandasEvent.OPEN");Lo(Cr,"CLOSE","PandasEvent.CLOSE");const rf=Cr;function sn(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 Vt{}sn(Vt,"focus","TabEvent.focus");sn(Vt,"blur","TabEvent.blur");sn(Vt,"openPQObject","TabEvent.openPQObject");sn(Vt,"openControl","TabEvent.openControl");sn(Vt,"reload","TabEvent.reload");sn(Vt,"clearAllFilters","TabEvent.clearAllFilters");const zn=Vt;function nc(i,e,t){return e=ic(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ic(i){var e=rc(i,"string");return typeof e=="symbol"?e:String(e)}function rc(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 Do 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})}}nc(Do,"defaultProps",{additionalActions:[]});const ac=Do;function Mo(i,e,t){return e=sc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sc(i){var e=oc(i,"string");return typeof e=="symbol"?e:String(e)}function oc(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 Fo extends p.PureComponent{constructor(e){super(e),Mo(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=Z.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:X("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(Pl,{isShown:e,onEntered:this.handleRenameDialogOpened,onExited:t,options:{placement:"bottom"},interactive:!0,closeOnBlur:!0,children:this.renderRenameDialog()})}}Mo(Fo,"defaultProps",{isShared:!1,isOwner:!0,itemType:"Item",value:""});function nr(i,e,t){return e=lc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lc(i){var e=dc(i,"string");return typeof e=="symbol"?e:String(e)}function dc(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 uc=z.module("Panel");let xo=class extends p.PureComponent{constructor(e){super(e),nr(this,"ref",void 0),nr(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=Z.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(zn.focus,this.handleTabFocus),a.on(zn.blur,this.handleTabBlur),a.on(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),a.emit(oe.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(zn.focus,this.handleTabFocus),n.off(zn.blur,this.handleTabBlur),n.off(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),n.emit(oe.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(oe.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){uc.error("Could not get component config from container",e);return}var a=M.cloneComponent(n,r);a!==null&&t.emit(oe.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:b}=this.state;return d.jsxs("div",{className:X("h-100 w-100 dh-panel",t),onFocusCapture:this.handleFocus,onBlurCapture:this.handleBlur,ref:this.ref,children:[e,d.jsx(pr,{errorMessage:s,isLoaded:o,isLoading:l}),!b&&c!=null&&Fs.createPortal(d.jsxs(d.Fragment,{children:[d.jsx(ac,{glContainer:r,additionalActions:this.getAdditionActions(a,u,h)}),h&&d.jsx(Fo,{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])]})}};nr(xo,"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=xo;function Ci(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(wl,{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]})}Ci.propTypes={glContainer:$s.Container.isRequired,widgetType:_.string,widgetName:_.string,description:_.string,children:_.node};Ci.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function Io(i,e,t){return e=hc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hc(i){var e=cc(i,"string");return typeof e=="symbol"?e:String(e)}function cc(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 Ro extends p.PureComponent{constructor(e){super(e),Io(this,"getCachedRenderTabTooltip",te((t,n,r,a,s)=>t?()=>d.jsx(Ci,{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;_s(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
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:b,description:g,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:S,onResize:y,onShow:O,onTabBlur:F,onTabFocus:L,onTabClicked:x}=this.props,{isPanelDisconnected:N,isWidgetDisconnected:$,isPanelInactive:q}=this.state,j=this.getErrorMessage(),G=v??this.getCachedRenderTabTooltip(c,s,m,b,g),A=[{title:"Copy ".concat(m," Name"),group:Q.groups.medium,order:20,action:this.handleCopyName}];return d.jsxs(pt,{className:X(t,{disconnected:N||$||l,inactive:q}),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:F,onTabFocus:L,onTabClicked:x,renderTabTooltip:G,errorMessage:j,isLoaded:r,isLoading:a,isClonable:u,isRenamable:h,additionalActions:A,children:[e,q&&d.jsx("div",{className:"fill-parent-absolute"})]})}}xo(Io,"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 Si=Io,at=Object.freeze({DEFAULT:"DEFAULT",LINKER:"LINKER"});var pc=new Map,Ei=Object.freeze([]),Ro=(i,e)=>{var t;return(t=ot(i,e).columns)!==null&&t!==void 0?t:Ei},mc=(i,e)=>{var t;return(t=ot(i,e).filterSets)!==null&&t!==void 0?t:Ei},Sr=(i,e)=>{var t;return(t=ot(i,e).filters)!==null&&t!==void 0?t:Ei},Er=(i,e)=>{var t;return(t=ot(i,e).tableMap)!==null&&t!==void 0?t:pc},yr=(i,e)=>ot(i,e).isolatedLinkerPanelId,on=(i,e)=>{var t;return(t=ot(i,e).links)!==null&&t!==void 0?t:Ei},Pr=(i,e)=>ot(i,e).columnSelectionValidator,of=(i,e)=>ot(i,e).consoleSettings,lf=(i,e)=>ot(i,e).connection,$n=(i,e)=>ot(i,e).sessionWrapper,df=(i,e)=>t=>t(Ot(i,{connection:e})),uf=(i,e)=>t=>t(Ot(i,{sessionWrapper:e})),wr=(i,e)=>t=>t(Ot(i,{links:e})),fc=(i,e)=>(t,n)=>{var r=on(n(),i),a=e.filter(s=>r.findIndex(o=>zi(o.start,s.start)&&zi(o.end,s.end))<0);return t(wr(i,r.concat(a)))},gc=(i,e)=>(t,n)=>{var r=on(n(),i),a=r.filter(s=>!e.includes(s.id));return t(wr(i,a))},ko=(i,e)=>t=>t(Ot(i,{isolatedLinkerPanelId:e})),bc=(i,e)=>t=>t(Ot(i,{columnSelectionValidator:e})),Cc=(i,e)=>t=>t(Ot(i,{consoleSettings:e})),Sc=(i,e)=>t=>t(Ot(i,{filterSets:e}));function jo(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:s,waitingInputMap:o}=i,l=p.useMemo(()=>{var b=Array.from(o.keys()),g=b.find(E=>t.get(E)!=null),f=b.find(E=>n.get(E)!=null),C=qe.join(b.map(E=>'"'.concat(E,'"')));return g!=null&&g&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):g!=null&&g?"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(b=>{b.stopPropagation(),b.preventDefault(),r(Array.from(s.values()))},[r,s]),c=p.useCallback(b=>{b.stopPropagation(),b.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:X("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(b=>{var g=s.has(b.name),f=g?vr:Yl;return d.jsxs("div",{className:X("waiting-filter-item",{"is-invalid":g}),children:[d.jsx(J,{icon:f}),b.name]},b.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})]})]})})}jo.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 xn(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:X("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:X("btn-chart-column-selector",xn.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}xn.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);xn.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function On(i){return i.settings!==void 0}function Ao(i){return i.figure!==void 0}function Ec(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function yc(i){return i!=null&&Ec(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=Pc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Pc(i){var e=wc(i,"string");return typeof e=="symbol"?e:String(e)}function wc(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"),Tc=150;function Oc(i){return i.inputFilters!=null}function Nc(i){return i.panelState!=null}class yi 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),Tc),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=Z.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&&On(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(tr.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(),On(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&&Oc(e.props)&&Nc(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(){this.setState({isLoading:!1})}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=xn.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:b,isActive:g,isDisconnected:f,isLoaded:C,isLoading:E}=this.state,S;On(o)?S=o.table:Ao(o)?S=o.figure:S=o.name;var y=this.getInputFilterColumnMap(c,r),O=this.getLinkedColumnMap(c,s),F=b!=null?this.getWaitingInputMap(b.isFilterRequired(),c,v):new Map,L=b!=null?this.getWaitingFilterMap(b.isFilterRequired(),c,v,O,y):new Map,x=m!=null?"Unable to open chart. ".concat(m):void 0,N=F.size>0,$=c.size>0&&a;return d.jsx(Si,{className:X("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:x,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&&b&&d.jsx(Hs,{isActive:g,model:b,settings:l,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:u,containerRef:h})}),d.jsx(qi,{in:N&&!$&&!E,timeout:Zi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:d.jsx(jo,{inputFilterMap:y,linkedColumnMap:O,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:L,waitingInputMap:F})}),d.jsx(qi,{in:$,timeout:Zi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:d.jsx(xn,{columns:this.getSelectorColumns(c,O,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}Ye(yi,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});Ye(yi,"displayName","ChartPanel");Ye(yi,"COMPONENT","ChartPanel");var Lc=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&On(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:on(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?s.get(r):void 0,settings:jn(i)}},Dc=Ke(Lc,{setActiveTool:uo,setDashboardIsolatedLinkerPanelId:ko},null,{forwardRef:!0})(yi);const Pi=Dc;function di(i,e,t){return e=Mc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Mc(i){var e=Fc(i,"string");return typeof e=="symbol"?e:String(e)}function Fc(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 qn=z.module("CommandHistoryPanel");class Un extends p.Component{static handleError(e){qn.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=Z.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:Fe.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(qn.debug("handleSendToNotebook",n,e),!n){qn.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;qn.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(Un.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(Ih,{ref:this.container,language:r,sendToNotebook:this.handleSendToNotebook,sendToConsole:this.handleSendToConsole,table:s,commandHistoryStorage:n}),d.jsx(Q,{actions:a})]})]})}}di(Un,"COMPONENT","CommandHistoryPanel");di(Un,"TITLE","Command History");var xc=(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}},Ic=Ke(xc,null,null,{forwardRef:!0})(Un);const Rc=Ic;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 ya(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){jt(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 jt(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 Yn=z.module("ConsolePanel"),Ac=500,_c=Object.freeze({consoleSettings:{},itemIds:[]});class wi extends p.PureComponent{constructor(e){super(e),jt(this,"consoleRef",void 0),jt(this,"objectSubscriptionCleanup",void 0),jt(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})},Ac)),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=Z.createRef();var{panelState:t}=e,n=ya(ya({},_c),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(oe.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(oe.MOUNT,this.handlePanelMount),(e=this.objectSubscriptionCleanup)===null||e===void 0||e.call(this)}subscribeToFieldUpdates(){var{sessionWrapper:e}=this.props,{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=$e.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,{sessionWrapper:n}=this.props,{session:r}=n,{root:a}=this.context,s=e.title!=null?this.getItemId(e.title,!1):null;(t||s!=null&&M.getStackForRoot(a,{id:s},!1,!1,!1)!=null)&&this.openWidget(e,r)}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(oe.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,t){var{glEventHub:n}=this.props,{title:r}=e;I(r);var a=this.getItemId(r),s={fetch:()=>t.getObject(e),panelId:a,widget:e};Yn.debug("openWidget",s),n.emit(oe.OPEN,s)}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(oe.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?hd(n):d.jsx(cu,{type:e})}render(){var{commandHistoryStorage:e,glContainer:t,glEventHub:n,sessionWrapper:r,timeZone:a,unzip:s}=this.props,{consoleSettings:o,error:l,objectMap:u}=this.state,{config:h,session:c,connection:v,details:m={},dh:b}=r,{workerName:g,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(fh,{dh:b,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:vo.LANGUAGE_MAP.get(E)}),g!=null&&d.jsxs(d.Fragment,{children:[d.jsx("div",{children:"•"}),g]}),f!=null&&d.jsxs(d.Fragment,{children:[d.jsx("div",{children:"•"}),f,d.jsx("div",{children:"•"})]}),d.jsx(Hh,{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})})}}jt(wi,"COMPONENT","ConsolePanel");jt(wi,"TITLE","Console");jt(wi,"contextType",Pl);var $c=(i,e)=>({commandHistoryStorage:ro(i),sessionWrapper:$n(i,e.localDashboardId),timeZone:mr(i),plugins:Od(i)}),Uc=Ke($c,null,null,{forwardRef:!0})(wi);const Hi=Uc;function Xe(i,e,t){return e=Hc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Hc(i){var e=Vc(i,"string");return typeof e=="symbol"?e:String(e)}function Vc(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 Xn=z.module("DropdownFilter"),Gc=150;class ht extends p.Component{constructor(e){super(e),Xe(this,"dropdownRef",void 0),Xe(this,"getCompatibleColumns",te((a,s)=>a!=null?s.filter(o=>{var{type:l}=o;return l!==void 0&&Ae.isCompatibleType(l,a.columnType)}):[])),Xe(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]})),Xe(this,"getSelectedOptionIndex",te((a,s)=>a.indexOf(s))),Xe(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)))])),Xe(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})),Xe(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})},Gc)),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=Z.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:$e(),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(Xn.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(),Xn.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]:Xn.debug2("Selected default item"),Xn.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:b,isValueShown:g,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,F=v!=null?"".concat(v.name," Filter"):null,[L,x]=this.getColumnOptions(S,f),N=this.getValueOptions(h),$=this.getSelectedOptionIndex(h,C),q=!y||f==null,j=g&&!r,G="source-column-btn-".concat(b),A="filter-column-select-".concat(b);return d.jsxs(dr,{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:G,children:"Source Column"}),d.jsx($s,{id:G,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:A,children:"Filter Column"}),d.jsx(qt,{id:A,value:String(x),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||g||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:q||g||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:F})}),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(qt,{className:"custom-select",value:String($),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:pi,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}Xe(ht,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});Xe(ht,"PLACEHOLDER","Select a value...");Xe(ht,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");Xe(ht,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const Pa=ht;function De(i,e,t){return e=Bc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Bc(i){var e=Wc(i,"string");return typeof e=="symbol"?e:String(e)}function Wc(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 de=z.module("DropdownFilterPanel"),Kc=250,zc=(i,e)=>{var{localDashboardId:t}=e,n=M.getIdFromPanel({props:e}),r=Er(i,t),a=on(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:Ro(i,t),columnSelectionValidator:Pr(i,t),dh:no(i),isLinkerActive:l,disableLinking:u,settings:jn(i),panelTableMap:r,dashboardLinks:a}},qc=Ke(zc,null,null,{forwardRef:!0});class Qe extends p.Component{constructor(e){super(e),De(this,"dateTimeFormatter",void 0),De(this,"dropdownFilterRef",void 0),De(this,"panelContainer",void 0),De(this,"pending",void 0),De(this,"cleanup",void 0),De(this,"columnFormats",void 0),De(this,"getCachedValues",Et((c,v,m)=>{var{type:b,name:g}=v;return b!==void 0&&Ae.isDateType(b)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&b!=null?m.getFormattedString(f,b,g):null)})),De(this,"getCachedPanelLinks",Et((c,v)=>{var m=M.getIdFromPanel(v);return de.debug("getCachedPanelLinks",c,m),c.filter(b=>{var g;return((g=b.end)===null||g===void 0?void 0:g.panelId)===m})})),De(this,"getCachedSource",Et(c=>{de.debug("getCachedSource",c);var v;if(c.length>0){var[m]=c;v=m.start,c.length>1&&de.error("Filter has more that one link",c)}return v})),De(this,"getCachedSourceTable",Et((c,v)=>{var m;if(de.debug("getCachedSourceTable",c,v),v==null)return null;var{panelId:b}=v;return(m=c.get(b))!==null&&m!==void 0?m:null})),De(this,"getCachedSourceColumn",Et((c,v)=>{var m;return de.debug("getCachedSourceColumn",c,v),c==null||v==null?null:(m=c.columns.find(b=>{var{name:g,type:f}=b;return g===v.columnName&&f===v.columnType}))!==null&&m!==void 0?m:null})),this.handleChange=Je(this.handleChange.bind(this),Kc),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=Z.createRef(),this.panelContainer=Z.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&&(de.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(Pa.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;de.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;de.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:b,skipUpdate:g}=u,f=v!=null&&n!==v.isValueShown&&a===v.name&&s===v.type&&r===v.value;return o=(h=!g&&n&&(!f||!b))!==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(){de.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){de.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];de.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(de.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){de.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)||(de.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(de.debug("applySourceSorts",r==null?void 0:r.sort),n==null||r==null){de.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(de.debug("applySourceFilters",r==null?void 0:r.filter),n==null||r==null){de.debug("Table not initialized");return}var a=[...r.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(de.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){de.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);zi(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){de.error("valuesTable is null");return}var s=this.getValuesColumn(a,r);if(!s){de.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:b,isLoaded:g}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),E=this.getPanelErrorMessage(),S=g&&m!=null?this.getCachedValues(v,m,l):[];return d.jsx(Si,{errorMessage:E,isLoading:b,isLoaded:g,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(Pa,{ref:this.dropdownFilterRef,column:o,columns:e,isValueShown:h,isLinkerActive:s,disableLinking:n,isLoaded:g,settingsError:C,source:f,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}De(Qe,"displayName","DropdownFilterPanel");De(Qe,"COMPONENT","DropdownFilterPanel");De(Qe,"MAX_TABLE_SIZE",256);De(Qe,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Yc=qc(Qe);const At=Yc;function Ue(i){return i.type==="directory"}function Xc(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=Qc(i,"string");return typeof e=="symbol"?e:String(e)}function Qc(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 Jc extends Error{constructor(){super("No file exists at the path specified"),Xc(this,"isFileNotFound",!0)}}const Ti=Jc;function wa(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 Ta(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){wa(a,n,r,s,o,"next",l)}function o(l){wa(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 Ta(function*(){try{return yield e.info(t),!0}catch(n){if(!(n instanceof Ti))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 Ta(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 yn("Name cannot be empty");if(t.includes(e))throw new yn('"'.concat(e,'" is a reserved name'));if(n.test(e)){var a,s;throw new yn('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 U=it;var Tr=26;function ir(i){return Ue(i)?U.makePath(i.filename):U.getPath(i.filename)}function Oa(i,e){if(i.length===0||e==null)throw new Error("No items to move");var t=ir(e);if(i.some(n=>{var{filename:r}=n;return U.getPath(r)===t}))throw new Error("File already in the destination folder");if(i.some(n=>Ue(n)&&t.startsWith(U.makePath(n.filename))))throw new Error("Destination folder cannot be a child of a dragged folder");return{files:i,targetPath:t}}function ev(i){if(Ue(i))return i.isExpanded?Xl:Zl;var e=U.getMimeType(i.basename);switch(e){case ut.PYTHON:return Jl;default:return Ql}}function rr(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,b=(e=n==null?void 0:n.some(L=>L.id===o.id))!==null&&e!==void 0?e:!1,g=ir(o),f=r&&u?ir(u):null,C=r&&a&&Ue(o)&&f===g,E=r&&a&&f===g,S=r&&!a&&f===g,y=ev(o),O=U.getDepth(o.filename),F=Array(O).fill(null).map((L,x)=>d.jsx("span",{className:"file-list-depth-line"},x));return d.jsxs("div",{className:X("d-flex w-100 align-items-center","file-list-item",{"is-dragged":b,"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:[F," ",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 Na(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 Zn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Na(Object(t),!0).forEach(function(n){tv(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Na(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function tv(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=iv(i,"string");return typeof e=="symbol"?e:String(e)}function iv(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 Ne=z.module("FileList"),rv=500,La="item-list-scroll-pane";function av(i){var{isMultiSelect:e=!1,table:t,onFocusChange:n=()=>{},onMove:r,onSelect:a,onSelectionChange:s=()=>{},renderItem:o=rr,rowHeight:l=Tr,overscanCount:u=Yi.DEFAULT_OVERSCAN}=i,[h,c]=p.useState(()=>({items:[],offset:0,itemCount:0})),[v,m]=p.useState({top:0,bottom:0}),[b,g]=p.useState(),[f,C]=p.useState(),[E,S]=p.useState(),[y,O]=p.useState([]),F=p.useRef(),L=p.useRef(null),x=p.useRef(null),N=p.useCallback(T=>{if(T.length===0||h==null)return[];for(var V=[],Y=0;Y<T.length;Y+=1)for(var ae=T[Y],Se=ae[0];Se<=ae[1];Se+=1)Se>=h.offset&&Se<h.offset+h.items.length&&V.push(h.items[Se-h.offset]);return V},[h]),$=p.useCallback(T=>{var V=N([[T,T]]);if(V.length>0)return V[0]},[N]),q=p.useCallback(()=>{var T=Hr.count(y);if(T===0)return null;if(T===1){var V=y[0][0],Y=$(V);if(Y!=null)return Y.filename}return"".concat(T," items")},[$,y]),j=p.useCallback(T=>{if(!(!f||!b)){Ne.debug("dropItems",f,"to",T);try{var{files:V,targetPath:Y}=Oa(f,b);if(r==null||r(V,Y),T!=null){var ae;O([[T,T]]),(ae=L.current)===null||ae===void 0||ae.focusItem(T)}}catch(Se){Ne.error("Unable to complete move",Se)}}},[f,b,r]),G=p.useCallback((T,V)=>{var Y=h.items[T-h.offset];Y!==void 0&&(Ne.debug("handleItemClick",Y),a(Y,V),Ue(Y)&&(t==null||t.setExpanded(Y.filename,!Y.isExpanded)))},[h,a,t]),A=p.useCallback((T,V)=>{var Y;Ne.debug2("handleItemDragStart",T,y);var ae=y;Hr.isSelected(y,T)||(ae=[[T,T]],O(ae)),C(N(ae)),(Y=L.current)===null||Y===void 0||Y.resetMouseState();var Se=document.createElement("div");Se.innerHTML='<div class="dnd-placeholder-content">'.concat(q(),"</div>"),Se.className="file-list-dnd-placeholder",document.body.appendChild(Se),V.dataTransfer.setDragImage(Se,0,0),V.dataTransfer.effectAllowed="move",S(Se)},[q,N,y]),R=p.useCallback((T,V)=>{V.preventDefault(),Ne.debug2("handleItemDragOver",V),g($(T))},[$]),K=p.useCallback((T,V)=>{Ne.debug("handleItemDragEnd",T),E==null||E.remove(),C(void 0),g(void 0),S(void 0)},[E]),H=p.useCallback((T,V)=>{j(T)},[j]),ce=p.useCallback(()=>{Ne.debug2("handleItemDragExit"),g(void 0)},[]),Ce=p.useCallback(T=>{T.target instanceof Element&&T.target.classList.contains(La)&&(T.preventDefault(),Ne.debug2("handleListDragOver",T),g({type:"directory",filename:"/",basename:"/",id:"/"}))},[]),Ie=p.useCallback(T=>{T.target instanceof Element&&T.target.classList.contains(La)&&(Ne.debug("handleListDrop"),j())},[j]),P=p.useCallback(function(T){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Ne.debug2("handleSelectionChange",T),V===!0||T!==y){O(T);var Y=N(T);s(Y)}},[N,s,y]),w=p.useCallback(T=>{if(Ne.debug2("handleFocusChange",T),T!=null){var[V]=N([[T,T]]);n(V)}else n();F.current=T},[N,n]),D=p.useCallback((T,V)=>{Ne.debug("handleViewportChange",T,V),(T!==v.top||V!==v.bottom)&&m({top:T,bottom:V})},[v]),B=p.useMemo(()=>{if(!f||!b)return!1;try{return Oa(f,b),Ne.debug("handleValidateDropTarget true"),!0}catch{return Ne.debug("handleValidateDropTarget false"),!1}},[f,b]),{focusedPath:W}=i;p.useEffect(()=>{W!==void 0&&(W==="/"?t.collapseAll():(t.setExpanded(W,!1),t.setExpanded(W,!0)))},[t,W]),p.useEffect(function(){Ne.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 V=t.onUpdate(Y=>{c({items:Y.items.map(ae=>Zn(Zn({},ae),{},{itemName:ae.basename})),offset:Y.offset,itemCount:t.size})});return()=>{V()}},[t]),p.useEffect(function(){F.current!=null&&w(F.current),y.length>0&&P(y,!0)},[h,w,P,y]),p.useEffect(function(){if(b!=null&&Ue(b)&&b.filename!=="/"){var V=setTimeout(()=>{b.isExpanded||t==null||t.setExpanded(b.filename,!0)},rv);return()=>clearTimeout(V)}},[b,t]);var ve=p.useCallback(T=>o(Zn(Zn({},T),{},{isDragInProgress:f!=null,dropTargetItem:b,draggedItems:f,isDropTargetValid:B,onDragStart:A,onDragEnd:K,onDragOver:R,onDragExit:ce,onDrop:H})),[K,ce,R,A,H,f,b,B,o]);return d.jsx("div",{ref:x,className:X("file-list",{"is-dragging":f!=null}),onDragOver:Ce,onDrop:Ie,children:d.jsx(Yi,{ref:L,items:h.items,itemCount:h.itemCount,offset:h.offset,onFocusChange:w,onSelect:G,onSelectionChange:P,onViewportChange:D,selectedRanges:y,renderItem:ve,rowHeight:l,isMultiSelect:e,isDragSelect:!1,isDeselectOnClick:!1})})}var sv={name:"File Explorer",DELETE:xe.createAndAdd({id:"FILE_EXPLORER.DELETE",name:"Delete",shortcut:[re.DELETE],macShortcut:[se.CMD,re.BACKSPACE]}),RENAME:xe.createAndAdd({id:"FILE_EXPLORER.RENAME",name:"Rename",shortcut:[re.ENTER],macShortcut:[re.ENTER]})};const Da={FILE_EXPLORER:sv};var Ma=z.module("FileListItemEditor"),ov=()=>Promise.resolve();function lv(i){var{item:e,onCancel:t,onSubmit:n,validate:r=ov}=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(),[]),b=p.useCallback(()=>{h.then(()=>{n(s)}).catch(E=>Ma.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 g=p.useCallback(()=>{Ma.debug2("handleBlur"),b()},[b]),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":{b();break}case"Escape":{t();break}}},[t,b]);return d.jsxs("div",{className:"file-list-item-editor",children:[d.jsx("input",{type:"text",className:X("form-control file-list-item-editor-input",{"is-invalid":l}),value:s,ref:a,onBlur:g,onKeyDown:C,onChange:f,onClick:m,onDoubleClick:m,onMouseDown:m}),l&&d.jsx("div",{className:"invalid-feedback",children:"".concat(l)})]})}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 Vi(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){dv(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 dv(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)}function _o(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:b=()=>Promise.resolve()}=i,[g,f]=p.useState(),[C,E]=p.useState([]),[S,y]=p.useState(),O=p.useCallback(H=>{E(H),c==null||c(H)},[c]),F=p.useCallback(H=>{y(H)},[]),L=p.useCallback(()=>{S&&(s==null||s(S))},[S,s]),x=p.useCallback(()=>{C.length>0&&(o==null||o(C))},[o,C]),N=p.useCallback(()=>{r==null||r()},[r]),$=p.useCallback(()=>{S&&(a==null||a(U.getPath(S.filename)))},[S,a]),q=p.useCallback(()=>{S&&f(S)},[S]),j=p.useCallback(()=>{f(void 0)},[]),G=p.useCallback(H=>{g&&(u==null||u(g,H),f(void 0))},[u,g]),A=p.useMemo(()=>{if(g)return[];var H=[];return r&&H.push({title:"New File",description:"Create new file",action:N,group:Q.groups.medium}),a&&H.push({title:"New Folder",description:"Create new folder",action:$,group:Q.groups.medium}),s&&H.push({title:"Copy File",description:"Copy the selected file",action:L,group:Q.groups.low,disabled:S==null||Ue(S)}),o&&C.length>0&&H.push({title:"Delete",description:"Delete",shortcut:Da.FILE_EXPLORER.DELETE,action:x,group:Q.groups.low}),u&&H.push({title:"Rename",description:"Rename",shortcut:Da.FILE_EXPLORER.RENAME,action:q,group:Q.groups.low,disabled:S==null}),H},[L,x,N,$,q,S,s,r,a,o,u,C,g]),R=p.useCallback(H=>(I(g),b(g,H)),[g,b]),K=p.useCallback(H=>{var{item:ce}=H;return g&&g.filename===ce.filename?d.jsx(rr,Vi(Vi({},H),{},{children:d.jsx(lv,{item:ce,validate:R,onSubmit:G,onCancel:j})})):d.jsx(rr,Vi({},H))},[j,G,g,R]);return d.jsxs("div",{className:"file-list-container",children:[v!=null&&d.jsx(av,{onMove:l,onSelect:h,onSelectionChange:O,onFocusChange:F,renderItem:K,rowHeight:m,table:v,isMultiSelect:e,focusedPath:t}),n&&d.jsx(Q,{actions:A})]})}_o.displayName="FileListContainer";function xa(i,e,t){return e=cv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cv(i){var e=vv(i,"string");return typeof e=="symbol"?e:String(e)}function vv(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 pv extends yn{constructor(e){super("Name already exists"),xa(this,"isExistingFile",!0),xa(this,"info",void 0),this.info=e}}const ni=pv;function Ia(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 Ra(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Ia(a,n,r,s,o,"next",l)}function o(l){Ia(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([]),[b,g]=p.useState();p.useEffect(function(){var G;function A(){return R.apply(this,arguments)}function R(){return R=Ra(function*(){tt.debug("initTable"),G=ge.makeCancelable(e.getTable(),K=>K.close());try{g(yield G)}catch(K){ge.isCanceled(K)||tt.error("Unable to initialize table",K)}}),R.apply(this,arguments)}return A(),()=>{G.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(Ue(j)?U.makePath(j.filename):j.filename)),a(v),m([])},[v,a,e]),F=p.useCallback(()=>{tt.debug("handleDeleteCancel"),m([])},[]),L=p.useCallback((j,G)=>{var A=U.reducePaths(j.map(R=>Ue(R)?U.makePath(R.filename):R.filename));A.forEach(R=>{var K=U.isPath(R)?"".concat(G).concat(U.getBaseName(R.substring(0,R.length-1)),"/"):"".concat(G).concat(U.getBaseName(R));e.moveFile(R,K).then(()=>{s(R,K)}).catch(f)})},[f,s,e]),x=p.useCallback((j,G)=>{var A=j.filename,R=Ue(j);R&&!A.endsWith("/")&&(A="".concat(A,"/"));var K="".concat(U.getParent(A)).concat(G);R&&!K.endsWith("/")&&(K="".concat(K,"/")),tt.debug2("handleRename",A,K),e.moveFile(A,K).catch(f),s(A,K)},[f,s,e]),N=p.useCallback(function(){var j=Ra(function*(G,A){if(A!==G.basename){U.validateName(A);var R="".concat(U.getPath(G.filename)).concat(A);try{var K=yield e.info(R);throw new ni(K)}catch(H){if(!(H instanceof Ti))throw H}}});return function(G,A){return j.apply(this,arguments)}}(),[e]),$=v.length>0,q=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:[b&&d.jsx(_o,{isMultiSelect:t,focusedPath:n,showContextMenu:!0,onCopy:S,onCreateFolder:E,onCreateFile:C,onMove:L,onDelete:y,onRename:x,onSelect:u,onSelectionChange:h,rowHeight:c,table:b,validateRename:N}),d.jsx(Fn,{isOpen:$,headerText:q,bodyText:"You cannot undo this action.",onCancel:F,onConfirm:O,confirmButtonText:"Delete"})]})}Or.displayName="FileExplorer";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 mv(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 St(i,e,t){return e=fv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fv(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 xt=z.module("NewItemModal");class _t 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)||xt.error(e)}constructor(e){super(e),St(this,"inputRef",Z.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=U.hasPath(t)?U.getPath(t):"/";this.state={isSubmitting:!1,path:n,prevExtension:U.getExtension(t),showExtensionChangeModal:!1,showOverwriteModal:!1,value:U.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=U.hasPath(e)?U.getPath(e):"/";this.setState({path:t,value:U.getBaseName(e),validationError:void 0,prevExtension:U.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 mv(function*(){U.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 Ti))throw u}}return t})()}updateValidationStatus(e,t){this.getValidationPromise(e,t).then(()=>{this.setState({validationError:void 0})}).catch(this.handleValidationError).catch(_t.handleError)}handleModalOpened(){this.focusRenameInput()}handleModalSubmit(){this.submitModal()}handleChange(e){var{value:t}=e.target;this.setState({value:t})}handleSelect(e){if(xt.debug("handleSelect",e),e.type==="directory")this.setState({path:U.makePath(e.filename)});else{var t=e.basename,n=U.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 yn))throw e;xt.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;xt.debug("handleOverwriteConfirm",t,n),e("".concat(t).concat(n),!0)}handleExtensionChangeCancel(){xt.debug("handleExtensionChangeCancel"),this.setState(e=>{var{value:t,prevExtension:n}=e,r=U.replaceExtension(t,n);return{showExtensionChangeModal:!1,value:r}}),this.submitModal(!0)}handleExtensionChangeConfirm(){xt.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;xt.debug("submitModal",n,r);var l=U.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(_t.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(Z.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:ed,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:b}=this.state,g=s==="directory",f=U.fileExtensionToString(m),C=U.fileExtensionToString(b),E=g?"Create":"Save",S=g?"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(Xs,{toggle:n,children:a}),d.jsx(Zs,{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:X("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:_t.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(Fn,{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(Fn,{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(_t,"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(_t,"defaultProps",{isOpen:!1,defaultValue:"/",notifyOnExtensionChange:!1,placeholder:"",onSubmit:(i,e)=>{},onCancel:()=>{}});const $o=_t;function bv(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:td,tooltip:"New folder",onClick:t,"aria-label":"New folder"})]}),n&&d.jsx("div",{className:"file-explorer-toolbar-search",children:d.jsx(wl,{value:r,onChange:n,placeholder:"Search by name"})})]})}function ja(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 Cv(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ja(a,n,r,s,o,"next",l)}function o(l){ja(a,n,r,s,o,"throw",l)}s(void 0)})}}function Uo(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=Ev(i,"string");return typeof e=="symbol"?e:String(e)}function Ev(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 It=z.module("FileExplorerPanel"),yv=(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}},Pv=Ke(yv,null,null,{forwardRef:!0});function wv(i){var e=i;return e!=null&&typeof e.button=="number"}class Zt extends Z.Component{static handleError(e){It.error(e)}static isFocusEvent(e){return wv(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:""};It.debug("handleCreateFile",t,n,r),e.emit(ie.CREATE_NOTEBOOK,t,n,r)}handleCreateDirectory(){this.setState({showCreateFolder:!0})}handleCreateDirectoryCancel(){It.debug("handleCreateDirectoryCancel"),this.setState({showCreateFolder:!1})}handleCreateDirectorySubmit(e){It.debug("handleCreateDirectorySubmit",e),this.setState({showCreateFolder:!1});var{fileStorage:t}=this.props;t.createDirectory(e).catch(Zt.handleError)}handleCopyFile(e){var t=this;return Cv(function*(){var{fileStorage:n}=t.props;if(Ue(e)){It.error("Invalid item in handleCopyItem",e);return}var r=yield U.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=U.makePath(e[0].filename):t=U.getPath(e[0].filename)),this.setState({focusedFilePath:t})}handleFileSelect(e,t){if(It.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;It.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(bv,{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($o,{isOpen:a,type:"directory",title:"Create New Folder",storage:e,onSubmit:this.handleCreateDirectorySubmit,onCancel:this.handleCreateDirectoryCancel,defaultValue:s})]})}}Uo(Zt,"COMPONENT","FileExplorerPanel");Uo(Zt,"TITLE","File Explorer");var Tv=Pv(Zt);const Ov=Tv;function Aa(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?Aa(Object(t),!0).forEach(function(n){Cn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Aa(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Cn(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 ue=z.module("FilterSetManager"),Dv="Enter name...",_a="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),Cn(this,"renameInputRef",Z.createRef()),Cn(this,"dropdownRef",Z.createRef()),Cn(this,"editDropdownRef",Z.createRef()),Cn(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;ue.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(ue.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:[]}),ue.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=$e(),n=e(),r={id:t,title:"",panels:n};ue.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 ue.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 ue.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){ue.error("Renamed set undefined.");return}var s=this.getNameError(t);if(ue.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,ue.debug("Renamed existing set",h)):(h.push(l),ue.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 ue.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 ue.debug("Deleted selected set",t,n,a),ue.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 ue.error("Filter for update not selected."),null;var s=[...r],o=s.findIndex(l=>{var{id:u}=l;return u===a});return o<0?(ue.error("Selected set for update not found."),null):(s[o]=Qn(Qn({},s[o]),{},{panels:t}),ue.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 ue.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){ue.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){ue.debug("No filter selected");return}var r=n.find(a=>{var{id:s}=a;return s===e});if(r===void 0){ue.debug("Selected id not found in filterSets",e,n);return}ue.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,b=!h&&!m,g=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:id,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:rd,transform:"shrink-1 down-5 right-7"})]});return d.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:d.jsxs(dr,{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:g,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:Dv,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:nd})]}),t!==void 0&&d.jsx("div",{className:"error-message",children:t})]}),d.jsx("div",{className:"form-group",children:d.jsxs(Tl,{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"})]})})]}),b&&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(qt,{"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:_a}),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:kn,tooltip:"Delete"})]})]}),d.jsx("div",{children:d.jsx(k,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,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(qt,{"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:_a}),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:pi,transform:"grow-4"})})})]},"back")]})})}}const Mv=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(Ci,{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:_s.Container.isRequired,widgetName:_.string.isRequired,description:_.string};Nr.defaultProps={description:null};function Fv(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function xv(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=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 nt=z.module("IrisGridPanel"),kv=500,jv={IrisGrid:vi,IrisGridTableModel:Ll,ContextMenuRoot:cd};function Ua(i){if(i==null)throw new Error("No metadata provided");if(xv(i))return i.name;if(Fv(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(i))}class Qt 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||!Ri(r)||n==null||r.table==null)return null;var l={panel:this,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:s,components:jv};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,o)=>je.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:a,partitionColumns:s,advancedSettings:o}))),be(this,"getDehydratedIrisGridState",te((n,r,a,s,o,l,u,h,c,v,m,b,g,f,C,E,S,y,O,F,L)=>(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:b,selectedSearchColumns:g,sorts:r,invertSearchColumns:f,pendingDataMap:y,frozenColumns:O,conditionalFormats:F,columnHeaderGroups:L})))),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,partitionColumns:c,advancedSettings:v}=this.state,{advancedFilters:m,aggregationSettings:b,customColumnFormatMap:g,isFilterBarShown:f,quickFilters:C,customColumns:E,reverseType:S,rollupConfig:y,showSearchBar:O,searchValue:F,selectDistinctColumns:L,selectedSearchColumns:x,sorts:N,invertSearchColumns:$,metrics:q,pendingDataMap:j,frozenColumns:G,conditionalFormats:A,columnHeaderGroups:R}=n;I(o),I(q);var{userColumnWidths:K,userRowHeights:H}=q;I(r);var{isStuckToBottom:ce,isStuckToRight:Ce,movedColumns:Ie,movedRows:P}=r,w=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(o,u,h,c,v),this.getDehydratedIrisGridState(o,N,m,g,f,C,E,S,y,O,F,L,x,$,K,H,b,j,G,A,R),this.getDehydratedGridState(o,Ie,P,ce,Ce),a);w!==l&&(nt.debug("Saving panel state",this,w),this.setState({panelState:w}),s==null||s(w))},kv)),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=Z.createRef(),this.pluginRef=Z.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(Ol.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:[],partitionColumns:[],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 Ua(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(Ze.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(Ze.CREATE_CHART,{metadata:{settings:e,sourcePanelId:o,table:a,tableSettings:l},table:Ri(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(Ze.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(Ze.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}),Ri(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:b}=u,g=a.getColumnIndexByName(e);I(g);var f=s.getVisibleColumn(g),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*b;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,partitionColumns:m,advancedSettings:b}=je.hydrateIrisGridPanelState(e,o);I(this.irisGridUtils);var{advancedFilters:g,customColumns:f,customColumnFormatMap:C,isFilterBarShown:E,quickFilters:S,reverseType:y,rollupConfig:O,aggregationSettings:F,sorts:L,userColumnWidths:x,userRowHeights:N,showSearchBar:$,searchValue:q,selectDistinctColumns:j,selectedSearchColumns:G,invertSearchColumns:A,pendingDataMap:R,frozenColumns:K,conditionalFormats:H,columnHeaderGroups:ce}=this.irisGridUtils.hydrateIrisGridState(e,gt(gt({},s),l)),{isStuckToBottom:Ce,isStuckToRight:Ie,movedColumns:P,movedRows:w}=je.hydrateGridState(e,gt(gt({},a),r),s.customColumns);this.setState({advancedFilters:g,advancedSettings:b,conditionalFormats:H,customColumns:f,customColumnFormatMap:C,isFilterBarShown:E,isSelectingPartition:c,movedColumns:P,movedRows:w,partitions:v,partitionColumns:m,quickFilters:S,reverseType:y,rollupConfig:O,aggregationSettings:F,sorts:L,userColumnWidths:x,userRowHeights:N,showSearchBar:$,searchValue:q,selectDistinctColumns:j,selectedSearchColumns:G,invertSearchColumns:A,pendingDataMap:R,frozenColumns:K,isStuckToBottom:Ce,isStuckToRight:Ie,columnHeaderGroups:ce})}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:b,theme:g}=this.props,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,conditionalFormats:S,customColumns:y,customColumnFormatMap:O,error:F,isDisconnected:L,isFilterBarShown:x,isSelectingPartition:N,isStuckToBottom:$,isStuckToRight:q,isLoaded:j,isLoading:G,isModelReady:A,model:R,movedColumns:K,movedRows:H,partitions:ce,partitionColumns:Ce,quickFilters:Ie,reverseType:P,rollupConfig:w,sorts:D,userColumnWidths:B,userRowHeights:W,showSearchBar:ve,searchValue:T,selectDistinctColumns:V,selectedSearchColumns:Y,invertSearchColumns:ae,Plugin:Se,pluginFilters:xi,pluginFetchColumns:Vn,pendingDataMap:Ii,frozenColumns:ln,columnHeaderGroups:il}=this.state,rl=F!=null?"Unable to open table. ".concat(F):void 0,kr=Ua(h),jr=(e=R==null?void 0:R.description)!==null&&e!==void 0?e:void 0,al=(t=c==null?void 0:c.pluginState)!==null&&t!==void 0?t:null,sl=n??this.getPluginContent(Se,R,v,m,al),{permissions:ol}=v,{canCopy:ll,canDownloadCsv:dl}=ol;return d.jsx(Si,{errorMessage:rl,isDisconnected:L,isLoading:G,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:A&&R&&d.jsx(vi,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,alwaysFetchColumns:this.getAlwaysFetchColumns(u,Vn),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:x,isSelectingColumn:s!=null,isSelectingPartition:N,isStuckToBottom:$,isStuckToRight:q,movedColumns:K,movedRows:H,partitions:ce,partitionColumns:Ce,quickFilters:Ie,reverseType:P,rollupConfig:w,settings:b,sorts:D,userColumnWidths:B,userRowHeights:W,model:R,showSearchBar:ve,searchValue:T,selectedSearchColumns:Y,selectDistinctColumns:V,invertSearchColumns:ae,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:xi,pendingDataMap:Ii,canCopy:ll,canDownloadCsv:dl,ref:this.irisGrid,getDownloadWorker:o,frozenColumns:ln,theme:g,columnHeaderGroups:il,children:sl})})}}be(Qt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});be(Qt,"displayName","IrisGridPanel");be(Qt,"COMPONENT","IrisGridPanel");var Av=(i,e)=>{var{localDashboardId:t=Nl}=e;return{inputFilters:Sr(i,t),links:on(i,t),columnSelectionValidator:Pr(i,t),user:Pd(i),workspace:so(i),settings:jn(i)}},_v=Ke(Av,null,null,{forwardRef:!0})(Qt);const In=_v;function Nn(i,e,t){return e=$v(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $v(i){var e=Uv(i,"string");return typeof e=="symbol"?e:String(e)}function Uv(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 Ha=z.module("InputFilter"),Hv=150;class Jt extends p.Component{constructor(e){super(e),Nn(this,"inputRef",void 0),Nn(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})),Nn(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:l}=this.state;a({column:s,isValueShown:l,value:o})},Hv)),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=Z.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)];Ha.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;Ha.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?Jt.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(dr,{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(qt,{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:Jt.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:pi,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}Nn(Jt,"PLACEHOLDER","Enter value...");Nn(Jt,"defaultProps",{column:null,isValueShown:!1,value:null});const Vv=Jt;function Oi(i,e,t){return e=Gv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gv(i){var e=Bv(i,"string");return typeof e=="symbol"?e:String(e)}function Bv(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 Wv=250;class Ni extends p.Component{constructor(e){super(e),Oi(this,"inputFilterRef",void 0),this.handleChange=Je(this.handleChange.bind(this),Wv),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=Z.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:b}=u,g=c!=null&&n!==c.isValueShown&&a===c.name&&s===c.type&&r===c.value;return o=(h=!b&&n&&(!g||!m))!==null&&h!==void 0?h:!1,o||(l=v),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:l},timestamp:l,wasFlipped:g,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(Vv,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:s})})}}Oi(Ni,"defaultProps",{panelState:null});Oi(Ni,"COMPONENT","InputFilterPanel");Oi(Ni,"displayName","InputFilterPanel");var Kv=(i,e)=>{var{localDashboardId:t}=e;return{columns:Ro(i,t)}},zv=Ke(Kv,null,null,{forwardRef:!0})(Ni);const Ln=zv;function Va(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?Va(Object(t),!0).forEach(function(n){Lr(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Va(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Lr(i,e,t){return e=qv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qv(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 we=z.module("FilterSetManagerPanel");function Xv(i){return i.setPanelState!=null}class en 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){we.error("Could not get panel",r);return}var a=M.getComponentNameFromPanel(r),s=M.getIdFromPanel(r);we.debug("Panel:",r,a);var{glContainer:o=null}=r.props;if(o==null){we.error("Could not get panel container",r);return}var l=M.getComponentConfigFromContainer(o);if(l==null){we.error("Could not get component config from container",o);return}var u=M.getPanelComponentState(l);if(u==null){we.debug("Panel state is null ".concat(s));return}switch(a){case M.getComponentName(Qt):{var h;s!=null&&(h=this.getIrisGridPanelFilters(s,u)),h!=null&&t.push({panelId:s,type:a,state:h});break}case M.getComponentName(Ln):case M.getComponentName(At):{var{isValueShown:c,name:v,type:m,value:b}=u;t.push({panelId:s,type:a,state:{isValueShown:c,name:v,type:m,value:b}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return we.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=en.changeFilterIndexesToColumnNames(r,o));var h;return l&&(h=en.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;we.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;we.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:s,type:o,state:l}=a;if(s==null){we.debug("panel is null",s);return}if(!t.has(s)){we.debug("Ignore closed panel",s);return}we.debug("Apply panel filters",s,o,l);var u=t.get(s);switch(o){case M.getComponentName(Qt):this.restoreIrisGridFilters(u,l,r);break;case M.getComponentName(Ln):case M.getComponentName(At):this.restoreInputFilterState(u,l);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;we.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){we.error("Panel Id is null.");return}var c=u.get(h);if(c==null){we.error("Unable to get table for panel ".concat(h,"."));return}we.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,we.debug("restoreInputFilterState",e,n),e&&Xv(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(Mv,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Lr(en,"defaultProps",{panelState:null});Lr(en,"COMPONENT","FilterSetManagerPanel");var Zv=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:mc(i,t),dashboardOpenedPanelMap:Vs(i,t),dashboardInputFilters:Sr(i,t),panelTableMap:Er(i,t)}},Qv=Ke(Zv,{setDashboardFilterSets:Sc},null,{forwardRef:!0})(en);const Gi=Qv;function Rn(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)}var Ga=z.module("LogPanel");class Li extends p.PureComponent{constructor(e){super(e),Rn(this,"isBottomVisible",void 0),Rn(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){Ga.debug("Session opened",[e]),this.setState({session:e})}handleSessionClosed(e){Ga.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(_h,{session:n,ref:r=>{this.logView=r}})]})}}Rn(Li,"defaultProps",{session:null});Rn(Li,"COMPONENT","LogPanel");Rn(Li,"TITLE","Log");var tp=(i,e)=>{var t;return{session:(t=$n(i,e.localDashboardId))===null||t===void 0?void 0:t.session}},np=Ke(tp,null,null,{forwardRef:!0})(Li);const ip=np;function rp(i,e,t){return e=ap(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ap(i){var e=sp(i,"string");return typeof e=="symbol"?e:String(e)}function sp(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 Ho 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:X("text-muted","edit-hint",{viewing:e===void 0||!e}),children:d.jsxs("span",{children:["double-click to edit ",d.jsx(J,{icon:Js})]})}),t]})}}rp(Ho,"defaultProps",{isEditing:!1});function op(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)}var up=z.module("MarkdownStartPage");class Vo 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(up.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:kn})})]},s.id)),d.jsxs(Ys,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[d.jsx(Xs,{children:"Are you sure you want to permanently delete this note?"}),d.jsx(Zs,{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"})]})]})]})]})})}}op(Vo,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const hp=Vo;function Go(i,e,t){return e=cp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cp(i){var e=vp(i,"string");return typeof e=="symbol"?e:String(e)}function vp(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 pp=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(mi,{language:n,children:Z.Children.map(e,r=>typeof r=="string"?r.trim():r)})})})};class Bo extends p.PureComponent{constructor(e){super(e),Go(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(js,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):d.jsx(Fs,{components:{code:pp},children:t})})}}Go(Bo,"defaultProps",{isEditing:!1,content:""});function Dn(i,e,t){return e=mp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mp(i){var e=fp(i,"string");return typeof e=="symbol"?e:String(e)}function fp(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),Dn(this,"markdownEditor",void 0),Dn(this,"editor",void 0),Dn(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(oe.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(oe.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(hp,{closedMarkdowns:o,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):d.jsx(Ho,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:d.jsx(Bo,{ref:l=>{this.markdownEditor=l},isEditing:r,content:s??void 0,onEditorInitialized:this.handleEditorInitialized})})})}}Dn(Dr,"defaultProps",{panelState:null});Dn(Dr,"COMPONENT","MarkdownPanel");var gp=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Dl(i,t)}},bp=Ke(gp,null,null,{forwardRef:!0})(Dr);const un=bp;function ii(i,e,t){return e=Cp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cp(i){var e=Sp(i,"string");return typeof e=="symbol"?e:String(e)}function Sp(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 Wo 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=Z.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(g=>g===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,b=m;(v=this.editorScrollView.current)===null||v===void 0||v.scroll({top:b,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=Z.createRef(),b=this.commands.size===0,g=o===c||b&&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:X("markdown-notebook-code-block",{"is-selected":g}),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(mi,{language:f,children:Z.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:X("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(Fs,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[ml],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}ii(Wo,"defaultProps",{onRunCode:()=>{}});const Ep=Wo;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 Wa(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)})}}function Ka(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?Ka(Object(t),!0).forEach(function(n){Oe(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ka(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Oe(i,e,t){return e=yp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yp(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)}var ee=z.module("NotebookPanel"),za=400;class ye extends p.Component{static handleError(e){ge.isCanceled(e)||ee.error(e)}static unsavedNotebookCount(){return document.querySelectorAll(".".concat(ye.UNSAVED_INDICATOR_CLASS_NAME,".").concat(ye.UNSAVED_STATUS_CLASS_NAME)).length}static languageFromFileName(e){var t=U.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),Oe(this,"pending",void 0),Oe(this,"debouncedSavePanelState",void 0),Oe(this,"debouncedLoad",void 0),Oe(this,"notebook",void 0),Oe(this,"tabTitleElement",void 0),Oe(this,"tabInitOnce",void 0),Oe(this,"editor",void 0),Oe(this,"getSettings",te((v,m)=>ke(ke({},v),{},{minimap:{enabled:m}}))),Oe(this,"getOverflowActions",te((v,m)=>[{title:"Find",icon:sd,action:this.handleFind,group:Q.groups.high,shortcut:Fe.NOTEBOOK.FIND,order:10},{title:"Copy File",icon:od,action:this.handleCopy,group:Q.groups.medium,order:20},{title:"Rename File",icon:ld,action:this.handleShowRename,group:Q.groups.medium,order:30},{title:"Delete File",icon:kn,action:this.handleDelete,group:Q.groups.medium,order:40},{title:"Show Minimap",icon:v?wn:void 0,action:this.handleMinimapChange,group:Q.groups.low,shortcut:Fe.NOTEBOOK.MINIMAP,order:20},{title:"Word Wrap",icon:m?wn:void 0,action:this.handleWordWrapChange,group:Q.groups.low,shortcut:Fe.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),za),this.debouncedLoad=Je(this.load.bind(this),za),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&&U.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(oe.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(oe.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,U.getBaseName(o))}var c=ke(ke({},t),{},{language:(s=ye.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&&U.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 Wa(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 U.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 Wa(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&&(U.hasPath(a.itemName)&&(yield U.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{defaultNotebookSettings:e,updateSettings:t}=this.props,n={defaultNotebookSettings:{isMinimapEnabled:!e.isMinimapEnabled}};t(n)}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=ye.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&&U.hasPath(o.itemName)&&o.itemName!==r.itemName&&(ee.debug("handleSaveSuccess deleting old file",o.itemName),n.deleteFile(o.itemName).catch(ye.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}),U.getBaseName(a)!==U.getBaseName(e)){var{metadata:o}=this.props,{id:l}=o;this.renameTab(l,U.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{defaultNotebookSettings:e}=this.props,{settings:t}=this.state;return this.getOverflowActions(e.isMinimapEnabled,this.getSettings(t,e.isMinimapEnabled).wordWrap==="on")}render(){var e,t,{fileStorage:n,glContainer:r,glContainer:{tab:a},glEventHub:s,defaultNotebookSettings:o}=this.props,{changeCount:l,savedChangeCount:u,error:h,isDashboardActive:c,isLoaded:v,isLoading:m,isPreview:b,fileMetadata:g,session:f,sessionLanguage:C,settings:E,showCloseModal:S,showDeleteModal:y,showSaveAsModal:O}=this.state,F=c&&!r.isHidden&&!b,L=(e=g==null?void 0:g.itemName)!==null&&e!==void 0?e:ye.DEFAULT_NAME,x=L.endsWith(".md"),N=(g==null?void 0:g.id)!=null,$=this.getSettings(E,o.isMinimapEnabled),q=f!=null,j=C===$.language,G=!v||!q||!j,A=!v,R=[{action:this.handleSave,shortcut:Mn.SAVE},{action:this.handleMinimapChange,shortcut:Fe.NOTEBOOK.MINIMAP},{action:this.handleWordWrapChange,shortcut:Fe.NOTEBOOK.WORDWRAP}],K=er.getDisabledRunTooltip(q,j,"Notebook extension","Run"),H=er.getDisabledRunTooltip(q,j,"Notebook extension","Run Selected"),ce=[{title:N?"Rename":"Save As…",order:10,group:Q.groups.high,action:this.handleShowRename},{title:"Copy File",action:this.handleCopy,group:Q.groups.high,order:20}],Ce=a==null?void 0:a.element.find(".lm_title_before").get(0);return d.jsxs(d.Fragment,{children:[Ce!=null&&Ms.createPortal(d.jsx("span",{className:X(ye.UNSAVED_INDICATOR_CLASS_NAME,{[ye.UNSAVED_STATUS_CLASS_NAME]:l!==u})}),Ce),d.jsxs(pt,{className:"notebook-container",componentPanel:this,glContainer:r,glEventHub:s,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:()=>L,children:[!x&&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:G,icon:d.jsx(J,{icon:ri,transform:"grow-4"}),tooltip:"Run ".concat(Fe.NOTEBOOK.RUN.getDisplayText()),"aria-label":"Run"}),K!=null&&d.jsx(wt,{children:K})]}),d.jsxs("span",{children:[d.jsx(k,{kind:"ghost",className:"btn-play",onClick:this.handleRunSelected,disabled:G,icon:d.jsx(J,{icon:ad,transform:"grow-4"}),tooltip:"Run Selected ".concat(Fe.NOTEBOOK.RUN_SELECTED.getDisplayText()),"aria-label":"Run Selected"}),H!=null&&d.jsx(wt,{children:H})]}),d.jsx(k,{kind:"ghost",className:"mr-auto",disabled:A,onClick:this.handleSave,icon:Qs,tooltip:"Save ".concat(Mn.SAVE.getDisplayText()),"aria-label":"Save"}),d.jsx(k,{kind:"ghost",className:"btn-overflow",disabled:A,icon:zs,tooltip:"More Actions...",onClick:()=>{},children:d.jsx(Kt,{actions:this.getDropdownOverflowActions,popperOptions:ye.POPPER_OPTIONS})})]}),d.jsx(Eh,{isLoaded:v,isLoading:m,error:h,onChange:this.handleEditorChange,onRunCommand:this.handleRunCommand,session:f,sessionLanguage:C,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy,settings:$,focusOnMount:F,ref:Ie=>{this.notebook=Ie}})]}),x&&d.jsx(Ep,{content:(t=$.value)!==null&&t!==void 0?t:"",onLinkClick:this.handleLinkClick,onRunCode:this.handleRunCommand,transformImageUri:this.handleTransformLinkUri,transformLinkUri:this.handleTransformLinkUri}),d.jsx($o,{isOpen:O,type:"file",defaultValue:L,title:N?"Rename":"Save file as",onSubmit:this.handleSaveAsSubmit,onCancel:this.handleSaveAsCancel,notifyOnExtensionChange:!0,storage:n}),d.jsx(Fn,{isOpen:y,headerText:'Are you sure you want to delete "'.concat(L,'"?'),bodyText:"You cannot undo this action.",onCancel:this.handleDeleteCancel,onConfirm:this.handleDeleteConfirm,confirmButtonText:"Delete"}),d.jsx(Fn,{isOpen:S,headerText:"Do you want to save the changes you made to ".concat(L,"?"),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:R})]})]})}}Oe(ye,"COMPONENT","NotebookPanel");Oe(ye,"POPPER_OPTIONS",{placement:"bottom-end"});Oe(ye,"DEFAULT_NAME","Untitled");Oe(ye,"UNSAVED_INDICATOR_CLASS_NAME","editor-unsaved-indicator");Oe(ye,"UNSAVED_STATUS_CLASS_NAME","is-unsaved");Oe(ye,"defaultProps",{isDashboardActive:!0,isPreview:!1,session:null,sessionLanguage:null,defaultNotebookSettings:{isMinimapEnabled:!0}});var wp=(i,e)=>{var t=ao(i),n=Td(i),r=$n(i,e.localDashboardId),{session:a,config:s}=r??{},{type:o}=s??{};return{fileStorage:t,defaultNotebookSettings:n,session:a,sessionLanguage:o}},Tp=Ke(wp,{updateSettings:Hd},null,{forwardRef:!0})(ye);const Rt=Tp;function Ko(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 qa(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 Ya(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qa(Object(t),!0).forEach(function(n){Di(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):qa(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Di(i,e,t){return e=Op(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Op(i){var e=Np(i,"string");return typeof e=="symbol"?e:String(e)}function Np(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),Di(this,"irisGridRef",void 0),this.irisGridRef=Z.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(In,Ya(Ya({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:d.jsx(Ko,{onClick:this.handleReload})}))}}Di(Mr,"defaultProps",{panelState:null});Di(Mr,"COMPONENT","PandasPanel");const Lp=Mr;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 Za(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)})}}function Qa(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=Mp(i,"string");return typeof e=="symbol"?e:String(e)}function Mp(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 Fp{constructor(e){Qa(this,"items",void 0),Qa(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];Ue(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];Ue(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 xp=Fp;function Ja(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 hn(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Ja(a,n,r,s,o,"next",l)}function o(l){Ja(a,n,r,s,o,"throw",l)}s(void 0)})}}function Ip(i,e,t){return e=Rp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rp(i){var e=kp(i,"string");return typeof e=="symbol"?e:String(e)}function kp(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 jp{constructor(e){Ip(this,"items",void 0),this.items=e}getTable(){var e=this;return hn(function*(){return new xp(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return hn(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return hn(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return hn(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=U.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return hn(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Ti;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 hf=jp;function es(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?es(Object(t),!0).forEach(function(n){Ap(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):es(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ap(i,e,t){return e=_p(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _p(i){var e=$p(i,"string");return typeof e=="symbol"?e:String(e)}function $p(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 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 Up(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 Hp(i,e,t,n,r,a){return ar.apply(this,arguments)}function ar(){return ar=Up(function*(i,e,t,n,r,a){var s,o,l,u;if(On(n)?(s=n.settings,o=n.table,l=void 0,u=n.tableSettings):(s={},o="",l=Ao(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 Pn.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 Pn.makeModel(i,s,c,e)}var m={name:o,type:i.VariableType.TABLE},b=yield t.getObject(m);return new je(i).applyTableSettings(b,u,mr(hu.getState())),Pn.makeModelFromSettings(i,s,b,e)}),ar.apply(this,arguments)}var Fr=p.forwardRef((i,e)=>{var t=$t(),n=ci(),r=vd(),a=yc(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 Hp(t,n,r,o,s,a)}}),[t,r,s,a,o,l,n]);return d.jsx(Pi,hi(hi({ref:e},i),u))});Fr.displayName="ChartPanelPlugin";const cf=Fr;function ns(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 Vp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ns(a,n,r,s,o,"next",l)}function o(l){ns(a,n,r,s,o,"throw",l)}s(void 0)})}}function Gp(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=Vp(function*(){var u=yield a(),h=yield Pn.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 Bp={name:"ChartPanel",title:"Chart",type:Nt.WIDGET_PLUGIN,component:Gp,panelComponent:Fr,supportedTypes:"Figure",icon:hr};const vf=Bp;function Wp(i){nn(i);var{id:e,layout:t}=i,n=$t(),r=ci(),a=p.useCallback(s=>{var{metadata:o,panelId:l=$e.generate(),table:u}=s,{settings:h}=o,c=()=>Pn.makeModelFromSettings(n,h,u,r),v=Us.titleFromSettings(h),m={type:"react-component",component:Pi.COMPONENT,props:{localDashboardId:e,id:l,metadata:o,makeModel:c},title:v,id:l},{root:b}=t;M.openComponent({root:b,config:m})},[r,n,e,t]);return me(t.eventHub,Ze.CREATE_CHART,a),null}var Kp={name:"ChartBuilderPlugin",type:Nt.DASHBOARD_PLUGIN,component:Wp};const pf=Kp;function is(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 rs(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?is(Object(t),!0).forEach(function(n){zp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):is(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function zp(i,e,t){return e=qp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qp(i){var e=Yp(i,"string");return typeof e=="symbol"?e:String(e)}function Yp(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 as(i){return i.notebook!==void 0}function Xp(i){nn(i)}function mf(i){Xp(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=xs(),m=p.useCallback(()=>r.getLastUsedPanelOfType(Hi),[r]),b=p.useCallback((P,w)=>{u(D=>new Map(D.set(P,w)))},[u]),g=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 W=m();if(!W||!(W instanceof Hi.WrappedComponent)){pe.error("Console panel not found");return}pe.debug("Send command: ",P,w,D),W.addCommand(P,w,D)}},[m]),S=p.useCallback(P=>{v(Cc(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 $e.generate()},[l,h]),F=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),g(P),D!=null&&b(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}F(D,U.getBaseName(w))},[l,h,F,b,f,g,C]),x=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 W=l.get(B);if(P===W){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(W));return}b(B,P),h.has(B)&&C(B)},[l,h,L,b,f,C]),$=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}g(D)},[g,C]),q=p.useCallback((P,w)=>{pe.debug("closeFilePanel",P);var{id:D}=P,B=null,W=!1;if(l.has(D))B=l.get(D);else if(h.has(D))B=h.get(D),W=!0;else{pe.debug("File ".concat(D," isn't open, ignore close event"));return}$(P,W),M.closeComponent(n.root,{id:B},w)},[n.root,l,h,$]),j=p.useCallback(P=>{var{itemName:w}=P;return U.getBaseName(w)},[]),G=p.useCallback(P=>{var{id:w}=P;return pe.debug("fileIsOpen",P,w,l),w!=null&&l.has(w)},[l]),A=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&&as(w)&&w.focus()}},[r]),K=p.useCallback(P=>{var{id:w,settings:D,fileMetadata:B,session:W,sessionLanguage:ve,isPreview:T=!1}=P,V={settings:D,fileMetadata:B},Y=j(B);return{type:"react-component",component:Rt.COMPONENT,isFocusOnShow:!1,props:{localDashboardId:e,metadata:{id:w},session:W,sessionLanguage:ve,panelState:V,isPreview:T,notebooksUrl:s},title:Y,id:w}},[j,e,s]),H=p.useCallback(function(P,w,D){var B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{id:null,itemName:y(D)},W=O(B);if(G(B)&&W!=null){pe.debug("File is already open, focus panel"),x(B),R(W);return}var ve=M.getStackForComponentTypes(n.root,[Rt.COMPONENT]),T=K({id:W,settings:D,fileMetadata:B,session:P,sessionLanguage:w});pe.debug("createNotebook",T,l),M.openComponentInStack(ve,T)},[G,R,y,O,n.root,K,l,x]),ce=p.useCallback(function(P,w,D,B){var W=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;pe.debug("selectNotebook",B,W);var ve=G(B),T=A(B),[V]=[...h.values()],Y=!W,ae=Y&&V?V:O(B);if(ae==null||ae==="")throw new Error("Unable to retrieve or create panelId for metadata",B);if(ve||T)x(B);else{var Se=M.getStackForComponentTypes(n.root,[Rt.COMPONENT]),xi=K({id:ae,settings:D,fileMetadata:B,session:P,sessionLanguage:w,isPreview:Y});M.openComponentInStack(Se,xi)}if(T&&W){var Vn=B.id,Ii=M.getStackForConfig(n.root,{component:Rt.COMPONENT,id:ae}),ln=M.getContentItemInStack(Ii,{component:Rt.COMPONENT,id:ae});ln&&Ml(ln)&&(ln.container.emit(ie.PROMOTE_FROM_PREVIEW),C(Vn),b(Vn,ae))}W&&R(ae)},[x,G,A,R,O,n.root,K,h,C,b]),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,W=r.getLastUsedPanelOfType(Rt);W&&as(W)?D!=null&&D.value!=null&&W.notebook!=null&&W.notebook.append(D.value):B&&H(P,w,D)},[H,r]),Ie=p.useCallback((P,w)=>Fl.hydrate(rs(rs({},P),{},{notebooksUrl:s}),w),[s]);return dn(a,Hi,t),dn(a,Rc),dn(a,Ov),dn(a,ip),dn(a,Rt,Ie),me(n.eventHub,We.SEND_COMMAND,E),me(n.eventHub,We.SETTINGS_CHANGED,S),me(n.eventHub,ie.CLOSE_FILE,q),me(n.eventHub,ie.CREATE_NOTEBOOK,H),me(n.eventHub,ie.SELECT_NOTEBOOK,ce),me(n.eventHub,ie.RENAME,F),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,$),null}var cn=z.module("FilterPlugin");function ss(i,e){return i.concat(e)}function Zp(i){nn(i);var{id:e,layout:t,registerComponent:n}=i,r=xs(),[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(ss,[]).sort((S,y)=>{var O=qe.toLower(S.name),F=qe.toLower(y.name);if(O!==F)return O>F?1:-1;var L=qe.toLower(S.type),x=qe.toLower(y.type);return L!==x?L>x?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(ss,[]).sort((S,y)=>S.timestamp-y.timestamp),E=new Map(o);cn.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)=>{cn.debug2("handleColumnsChanged",f,C),a.set(f,[].concat(C)),l()},[a,l]),h=p.useCallback((f,C)=>{cn.debug2("handleFiltersChanged",f,C),s.set(f,[].concat(C)),l()},[s,l]),c=p.useCallback((f,C)=>{cn.debug2("handleTableChanged",f,C),o.set(M.getIdFromPanel(f),C),l()},[o,l]),v=p.useCallback(f=>{cn.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=$e.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=null}=f,x={type:"react-component",component:At.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:x,focusElement:O,createNewStack:F,dragEvent:L})},[t,e]),b=p.useCallback(f=>{var{title:C="InputFilter",metadata:E={},panelState:S=null,id:y=$e.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=f,x={type:"react-component",component:Ln.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:x,focusElement:O,createNewStack:F,dragEvent:L})},[t,e]),g=p.useCallback(f=>{var{title:C="FilterSets",metadata:E={},panelState:S=null,id:y=$e.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=null}=f,x={type:"react-component",component:Gi.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:x,focusElement:O,createNewStack:F,dragEvent:L})},[t,e]);return p.useEffect(function(){var C=[n(At.COMPONENT,At),n(Ln.COMPONENT,Ln),n(Gi.COMPONENT,Gi)];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,b),me(t.eventHub,fe.OPEN_FILTER_SET_MANAGER,g),me(t.eventHub,oe.UNMOUNT,v),null}var Qp={name:"FilterPlugin",type:Nt.DASHBOARD_PLUGIN,component:Zp};const ff=Qp;var Jp=z.module("@deephaven/app-utils/useTablePlugin");function em(){var i=to(),e=p.useCallback(t=>{var n=i.get(t);if(n!=null){if(pd(n))return n.component;if(md(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw Jp.error(r),new Error(r)},[i]);return e}function os(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 tm(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){os(a,n,r,s,o,"next",l)}function o(l){os(a,n,r,s,o,"throw",l)}s(void 0)})}}function zo(i,e){var t=$t(),n=em(),r=p.useMemo(()=>({loadPlugin:n,localDashboardId:e,makeModel:function(){var a=tm(function*(){var o=yield i();return ur.makeModel(t,o)});function s(){return a.apply(this,arguments)}return s}()}),[t,n,i,e]);return r}function ls(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 ds(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ls(Object(t),!0).forEach(function(n){nm(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ls(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function nm(i,e,t){return e=im(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function im(i){var e=rm(i,"string");return typeof e=="symbol"?e:String(e)}function rm(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=zo(n,t);return d.jsx(In,ds(ds({ref:e},i),r))});xr.displayName="GridPanelPlugin";const gf=xr;function us(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 am(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){us(a,n,r,s,o,"next",l)}function o(l){us(a,n,r,s,o,"throw",l)}s(void 0)})}}function sm(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=am(function*(){var l=yield r(),u=yield ur.makeModel(e,l);a||n(u)}),o.apply(this,arguments)}return s(),()=>{a=!0}},[e,r]),t?d.jsx(vi,{model:t}):null}var om={name:"IrisGridPanel",title:"Table",type:Nt.WIDGET_PLUGIN,component:sm,panelComponent:xr,supportedTypes:["Table","TreeTable","HierarchicalTable"],icon:cr};const bf=om;function hs(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?hs(Object(t),!0).forEach(function(n){qo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):hs(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function qo(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)}function Yo(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function cs(i){var e=i;return Yo(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function vs(i){var e;return i.description===void 0||!((e=i.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var vn=z.module("LinkerUtils");class Mi{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 vn.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return vn.error("PanelComponent should not be null",e,t),"invalid";var a=(r=Mi.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(a===void 0||!a)return vn.debug2("Incompatible panel components",e,t),"invalid";var{columnType:s}=e,{columnType:o}=t,l=o===null||Ae.isCompatibleType(s,o);if(!l)return vn.debug2("Incompatible type",s,o),"invalid";switch(t.panelComponent){case M.getComponentName(Pi):return"chartLink";case M.getComponentName(In):return"tableLink";case M.getComponentName(At):return"filterSource"}return vn.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:$e.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:$e.generate(),end:bt(bt({},a.end),{},{panelId:n})}))}),r}}qo(Mi,"ALLOWED_LINKS",new Map([[M.getComponentName(In),[M.getComponentName(In),M.getComponentName(Pi),M.getComponentName(At)]]]));const Gt=Mi;function Xo(i,e,t){return e=um(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function um(i){var e=hm(i,"string");return typeof e=="symbol"?e:String(e)}function hm(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 cm=z.module("LinkerLink"),ps=.015,ms=1.5,Zo=12,Qo=12,fs=2,ti=Math.sqrt((Qo*.5)**2+Zo**2),gs=Math.asin(Qo*.5/Zo),bs=15,Ct=Math.PI*.5;class zt 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 xl(t);if(Ae.isTextType(e))return Il(t);if(Ae.isDateType(e))return Rl(t);if(Ae.isBooleanType(e)){if(t===mn.eq)return"is equal to";if(t===mn.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return cm.warn(n),""}}constructor(e){super(e),Xo(this,"getOperators",te((t,n)=>{var{onOperatorChanged:r}=this.props,a=Ae.getFilterTypes(n);return Ae.isBooleanType(n)&&(a=[mn.eq,mn.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:zt.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),b=Math.sin(m),g=Math.cos(m)+2,f=window.innerWidth,C=window.innerHeight,E=0,S=0,y=Math.max(E,Math.min(r+(s-r)/2+b*(v*ps)**ms,f)),O=Math.max(S,Math.min(a+(o-a)/2+g*(v*ps)**ms,C)),F="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(zt.makeCirclePath(r,a,bs),`
24
- `).concat(zt.makeCirclePath(s,o,bs)),x="link-select-clip-".concat(l),N=Math.atan2(o-O,s-y),$=N-gs+Math.PI,q=N+gs+Math.PI,j=s+Math.cos(N)*fs,G=o+Math.sin(N)*fs,A=j+Math.cos($)*ti,R=G+Math.sin($)*ti,K=j+Math.cos(q)*ti,H=G+Math.sin(q)*ti,ce="".concat(j,",").concat(G," ").concat(A,",").concat(R," ").concat(K,",").concat(H),Ce=.25*r+.5*y+.25*s,Ie=.25*a+.5*O+.25*o,P=y-r+(s-y),w=O-a+(o-O),D=w/P,B=20,W=B/Math.sqrt(1+D**2),ve=W*D,T=W*-1,V=ve*-1;Number.isFinite(D)?D>0?(W*=-1,ve*=-1,T*=-1,V*=-1,T-=50-10*(Math.abs(m)%Ct),V+=10*(Math.abs(m)%Ct),W-=50-10*(Math.abs(m)%Ct),ve+=10*(Math.abs(m)%Ct)):D<0?(T+=10*(Math.abs(m)%Ct),V+=10*(Math.abs(m)%Ct),W+=10*(Math.abs(m)%Ct),ve+=10*(Math.abs(m)%Ct)):(T=15,V=10,W=-25,ve=10):(T=10,V=5,W=10,ve=-35);var Y="";t!==void 0&&(t==="startsWith"?Y="a*":t==="endsWith"?Y="*z":Y=Ae.getFilterOperatorString(t));var ae=h!=="chartLink"&&h!=="filterSource";return d.jsxs(d.Fragment,{children:[d.jsxs("svg",{className:X(e,{hovering:c}),children:[d.jsx("clipPath",{id:x,children:d.jsx("path",{d:L,clipRule:"evenodd"})}),d.jsx("path",{className:"link-select",d:F,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(x,")"),"data-testid":"link-select"}),d.jsx("path",{className:"link-background",d:F}),d.jsx("path",{className:"link-foreground",d:F}),d.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),d.jsx("polygon",{className:"link-triangle",points:ce})]}),u!=null&&n&&d.jsxs(d.Fragment,{children:[ae&&d.jsx(k,{kind:"primary",className:"btn-fab btn-operator",style:{top:Ie+(D>=0?ve:V),left:Ce+(D>=0?W:T)},onClick:()=>{},icon:d.jsxs("div",{className:"fa-md fa-layers",children:[d.jsx("b",{children:Y}),d.jsx(J,{icon:Wt,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:d.jsx(Kt,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),d.jsx(k,{kind:"primary",className:"btn-fab btn-delete",style:{top:Ie+(D<0?ve:V),left:Ce+(D<0?W:T)},onClick:this.handleDelete,icon:kn,tooltip:"Delete"})]})]})}}Xo(zt,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const vm=zt;function Cs(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 Ss(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Cs(Object(t),!0).forEach(function(n){Ir(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Cs(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ir(i,e,t){return e=pm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pm(i){var e=mm(i,"string");return typeof e=="symbol"?e:String(e)}function mm(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 Bi=z.module("LinkerOverlayContent");class Jo 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=Z.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){Bi.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(!Yo(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var s=a.getCoordinateForColumn(r);if(s!=null)return s}catch{Bi.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?Ss(Ss({},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=Bn(e.x,0,window.innerWidth-t.width),r=Bn(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=Bn(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),s=Bn(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(b=>{try{var g,f,{id:C,type:E,isReversed:S,start:y,end:O,operator:F}=b,L=y.columnType,[x,N]=this.getPointFromLinkPoint(y),$=(g=u==null?void 0:u.x)!==null&&g!==void 0?g:x,q=(f=u==null?void 0:u.y)!==null&&f!==void 0?f:N;if(O!=null&&([$,q]=this.getPointFromLinkPoint(O)),S!=null&&S){var[j,G]=[x,N];[x,N]=[$,q],[$,q]=[j,G]}var A=X("linker-link",{disabled:e},{"link-filter-source":E==="filterSource"},{"link-invalid":E==="invalid"},{interactive:b.end==null},{"link-is-selected":n.has(C)},{"danger-delete":v==="delete"});return{x1:x,y1:N,x2:$,y2:q,id:C,className:A,operator:F,startColumnType:L,type:E}}catch(R){return Bi.warn("Unable to get point for link",b,R),null}}).filter(b=>b!=null);return d.jsxs("div",{className:X("linker-overlay",{"danger-delete":v==="delete"}),children:[m.map(b=>{var{x1:g,y1:f,x2:C,y2:E,id:S,className:y,operator:O,startColumnType:F,type:L}=b;return d.jsx(vm,{className:y,id:S,x1:g,y1:f,x2:C,y2:E,onClick:a,onDelete:s,isSelected:n.has(S),operator:O,startColumnType:F,type:L,onOperatorChanged:this.handleOperatorChanged},S)}),d.jsxs("div",{className:X("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:dd,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:Mn.LINKER_CLOSE,isGlobal:!0}]})]})}}Ir(Jo,"defaultProps",{disabled:"false"});const fm=Jo;function Es(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 ys(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Es(Object(t),!0).forEach(function(n){el(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Es(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function el(i,e,t){return e=gm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function gm(i){var e=bm(i,"string");return typeof e=="symbol"?e:String(e)}function bm(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("Linker"),Cm=(i,e)=>({activeTool:fr(i),dh:no(i),isolatedLinkerPanelId:yr(i,e.localDashboardId),links:on(i,e.localDashboardId),timeZone:mr(i)}),Sm=Ke(Cm,{setActiveTool:uo,setDashboardLinks:wr,addDashboardLinks:fc,deleteDashboardLinks:gc,setDashboardIsolatedLinkerPanelId:ko,setDashboardColumnSelectionValidator:bc});class Em extends p.Component{constructor(e){super(e),el(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){Ee.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(Ze.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(Ze.DATA_SELECTED,this.handleUpdateValues),t.on(Ze.STATE_CHANGED,this.handleStateChange),t.on(tr.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(oe.CLONED,this.handlePanelCloned),t.on(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(oe.CLOSE,this.handlePanelClosed),t.on(oe.CLOSED,this.handlePanelClosed),t.on(oe.DRAGGING,this.handlePanelDragging),t.on(oe.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(Ze.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(Ze.DATA_SELECTED,this.handleUpdateValues),t.off(Ze.STATE_CHANGED,this.handleStateChange),t.off(tr.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(oe.CLONED,this.handlePanelCloned),t.off(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(oe.CLOSE,this.handlePanelClosed),t.off(oe.CLOSED,this.handlePanelClosed),t.off(oe.DRAGGING,this.handlePanelDragging),t.off(oe.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){Ee.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){Ee.debug("handleColumnsChanged",e,t);var{links:n}=this.props,r=M.getIdFromPanel(e);if(r==null){Ee.error("Invalid panelId",e);return}var a=n.filter(s=>{var{start:o,end:l}=s;return o.panelId===r&&Gt.findColumn(t,o)==null||l!=null&&l.panelId===r&&Gt.findColumn(t,l)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!vs(t)){Ee.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:$e.generate(),start:{panelId:o,panelComponent:l,columnName:u,columnType:h},type:"invalid",isReversed:n};Ee.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:v}=this.props,{start:m,id:b,isReversed:g}=s,f={panelId:o,panelComponent:l,columnName:u,columnType:h},C=Gt.getLinkType(g!==void 0&&g?f:m,g!==void 0&&g?m:f,r??a);switch(C){case"invalid":Ee.debug("Ignore invalid link connection",s,f);return;case"filterSource":{var E=g!==void 0&&g?m.panelId:f.panelId,S=v.filter(x=>{var{end:N}=x;return(N==null?void 0:N.panelId)===E});this.deleteLinks(S);break}case"chartLink":{var y=g===!0?m:f,O=g===!0?f:m;Ee.debug("creating chartlink",{existingLinkEnd:y,start:m,end:f});var F=v.filter(x=>{var{end:N,start:$}=x;return($==null?void 0:$.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(F);break}}var L={start:g!==void 0&&g?f:m,end:g!==void 0&&g?m:f,id:b,type:C,operator:mn.eq};Ee.info("creating link",L),this.setState({linkInProgress:void 0,selectedIds:new Set([b])},()=>{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?cs(o)?o.unsetFilterValue(a,s):Ee.debug("endPanel.unsetFilterValue not implemented",o):Ee.debug("endPanel no longer exists, ignoring unsetFilterValue",r)}}setPanelFilterMap(e,t){Ee.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,r=n.getOpenedPanelById(e);r?cs(r)?r.setFilterMap(t):Ee.debug("panel.setFilterMap not implemented",e,r):Ee.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]):Ee.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:b}=h,g=o.has(v)?o.get(v):new Map,f=g.has(m)===!0?g.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),b!=null&&Ae.isDateType(b)){var F=new Gs(r,{timeZone:s,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:kl.FULL_DATE_FORMAT});O=F.format(y)}var L={operator:c,text:O,value:y,startColumnIndex:C};f.push(L),g.set(m,{columnType:b,filterList:f}),o.set(v,g)}}o.forEach((x,N)=>{this.setPanelFilterMap(N,x)})}handlePanelCloned(e,t){var{links:n}=this.props,r=M.getIdFromPanel(e),a=t.id;if(r!=null){var s=Gt.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){Ee.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:ys(ys({},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(!vs(t))return Ee.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?Gt.getLinkType(l,s,r):Gt.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(qi,{in:o,timeout:Zi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:d.jsx(fm,{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 ym=Sm(Em);const Pm=ym;function wm(i){nn(i);var{id:e,layout:t,panelManager:n}=i;return d.jsx(Pm,{layout:t,localDashboardId:e,panelManager:n})}var Tm={name:"LinkerPlugin",type:Nt.DASHBOARD_PLUGIN,component:wm};const Cf=Tm;function tl(i,e,t){return e=Om(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Om(i){var e=Nm(i,"string");return typeof e=="symbol"?e:String(e)}function Nm(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 tn{static getNewMarkdownTitle(e){for(var t="".concat(tn.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(tn.DEFAULT_TITLE,"-").concat(n);return t}}tl(tn,"DEFAULT_TITLE","Note");tl(tn,"DEFAULT_CONTENT",`# Markdown Note
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:b,description:g,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:S,onResize:y,onShow:O,onTabBlur:F,onTabFocus:L,onTabClicked:x}=this.props,{isPanelDisconnected:N,isWidgetDisconnected:$,isPanelInactive:q}=this.state,j=this.getErrorMessage(),G=v??this.getCachedRenderTabTooltip(c,s,m,b,g),A=[{title:"Copy ".concat(m," Name"),group:Q.groups.medium,order:20,action:this.handleCopyName}];return d.jsxs(pt,{className:X(t,{disconnected:N||$||l,inactive:q}),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:F,onTabFocus:L,onTabClicked:x,renderTabTooltip:G,errorMessage:j,isLoaded:r,isLoading:a,isClonable:u,isRenamable:h,additionalActions:A,children:[e,q&&d.jsx("div",{className:"fill-parent-absolute"})]})}}Io(Ro,"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 Si=Ro,at=Object.freeze({DEFAULT:"DEFAULT",LINKER:"LINKER"});var vc=new Map,Ei=Object.freeze([]),ko=(i,e)=>{var t;return(t=ot(i,e).columns)!==null&&t!==void 0?t:Ei},pc=(i,e)=>{var t;return(t=ot(i,e).filterSets)!==null&&t!==void 0?t:Ei},Sr=(i,e)=>{var t;return(t=ot(i,e).filters)!==null&&t!==void 0?t:Ei},Er=(i,e)=>{var t;return(t=ot(i,e).tableMap)!==null&&t!==void 0?t:vc},yr=(i,e)=>ot(i,e).isolatedLinkerPanelId,on=(i,e)=>{var t;return(t=ot(i,e).links)!==null&&t!==void 0?t:Ei},Pr=(i,e)=>ot(i,e).columnSelectionValidator,sf=(i,e)=>ot(i,e).consoleSettings,of=(i,e)=>ot(i,e).connection,$n=(i,e)=>ot(i,e).sessionWrapper,lf=(i,e)=>t=>t(Ot(i,{connection:e})),df=(i,e)=>t=>t(Ot(i,{sessionWrapper:e})),wr=(i,e)=>t=>t(Ot(i,{links:e})),mc=(i,e)=>(t,n)=>{var r=on(n(),i),a=e.filter(s=>r.findIndex(o=>zi(o.start,s.start)&&zi(o.end,s.end))<0);return t(wr(i,r.concat(a)))},fc=(i,e)=>(t,n)=>{var r=on(n(),i),a=r.filter(s=>!e.includes(s.id));return t(wr(i,a))},jo=(i,e)=>t=>t(Ot(i,{isolatedLinkerPanelId:e})),gc=(i,e)=>t=>t(Ot(i,{columnSelectionValidator:e})),bc=(i,e)=>t=>t(Ot(i,{consoleSettings:e})),Cc=(i,e)=>t=>t(Ot(i,{filterSets:e}));function Ao(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:s,waitingInputMap:o}=i,l=p.useMemo(()=>{var b=Array.from(o.keys()),g=b.find(E=>t.get(E)!=null),f=b.find(E=>n.get(E)!=null),C=qe.join(b.map(E=>'"'.concat(E,'"')));return g!=null&&g&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):g!=null&&g?"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(b=>{b.stopPropagation(),b.preventDefault(),r(Array.from(s.values()))},[r,s]),c=p.useCallback(b=>{b.stopPropagation(),b.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:X("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(b=>{var g=s.has(b.name),f=g?vr:Zl;return d.jsxs("div",{className:X("waiting-filter-item",{"is-invalid":g}),children:[d.jsx(J,{icon:f}),b.name]},b.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})]})]})})}Ao.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 xn(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:X("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(Us,{className:X("btn-chart-column-selector",xn.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}xn.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);xn.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function On(i){return i.settings!==void 0}function _o(i){return i.figure!==void 0}function Sc(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function Ec(i){return i!=null&&Sc(i.panelState)}function Sa(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 Ea(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sa(Object(t),!0).forEach(function(n){Ye(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Sa(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ye(i,e,t){return e=yc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yc(i){var e=Pc(i,"string");return typeof e=="symbol"?e:String(e)}function Pc(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"),wc=150;function Tc(i){return i.inputFilters!=null}function Oc(i){return i.panelState!=null}class yi 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),wc),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=Z.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&&On(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(tr.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(),On(e)){var{settings:s}=e;this.pending.add(a.plot.Figure.create(new Hs(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&&Tc(e.props)&&Oc(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=Ea(Ea({},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(){this.setState({isLoading:!1})}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=xn.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:b,isActive:g,isDisconnected:f,isLoaded:C,isLoading:E}=this.state,S;On(o)?S=o.table:_o(o)?S=o.figure:S=o.name;var y=this.getInputFilterColumnMap(c,r),O=this.getLinkedColumnMap(c,s),F=b!=null?this.getWaitingInputMap(b.isFilterRequired(),c,v):new Map,L=b!=null?this.getWaitingFilterMap(b.isFilterRequired(),c,v,O,y):new Map,x=m!=null?"Unable to open chart. ".concat(m):void 0,N=F.size>0,$=c.size>0&&a;return d.jsx(Si,{className:X("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:x,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&&b&&d.jsx(Vs,{isActive:g,model:b,settings:l,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:u,containerRef:h})}),d.jsx(qi,{in:N&&!$&&!E,timeout:Zi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:d.jsx(Ao,{inputFilterMap:y,linkedColumnMap:O,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:L,waitingInputMap:F})}),d.jsx(qi,{in:$,timeout:Zi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:d.jsx(xn,{columns:this.getSelectorColumns(c,O,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}Ye(yi,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});Ye(yi,"displayName","ChartPanel");Ye(yi,"COMPONENT","ChartPanel");var Nc=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&On(n)&&(r=n.sourcePanelId);var a=Er(i,t),s=Gs(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:on(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?s.get(r):void 0,settings:jn(i)}},Lc=Ke(Nc,{setActiveTool:ho,setDashboardIsolatedLinkerPanelId:jo},null,{forwardRef:!0})(yi);const Pi=Lc;function di(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 qn=z.module("CommandHistoryPanel");class Un extends p.Component{static handleError(e){qn.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=Z.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:Fe.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(qn.debug("handleSendToNotebook",n,e),!n){qn.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;qn.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(Un.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(xh,{ref:this.container,language:r,sendToNotebook:this.handleSendToNotebook,sendToConsole:this.handleSendToConsole,table:s,commandHistoryStorage:n}),d.jsx(Q,{actions:a})]})]})}}di(Un,"COMPONENT","CommandHistoryPanel");di(Un,"TITLE","Command History");var Fc=(i,e)=>{var t=ao(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}},xc=Ke(Fc,null,null,{forwardRef:!0})(Un);const Ic=xc;function ya(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 Pa(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ya(Object(t),!0).forEach(function(n){jt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ya(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function jt(i,e,t){return e=Rc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rc(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)}var Yn=z.module("ConsolePanel"),jc=500,Ac=Object.freeze({consoleSettings:{},itemIds:[]});class wi extends p.PureComponent{constructor(e){super(e),jt(this,"consoleRef",void 0),jt(this,"objectSubscriptionCleanup",void 0),jt(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})},jc)),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=Z.createRef();var{panelState:t}=e,n=Pa(Pa({},Ac),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(oe.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(oe.MOUNT,this.handlePanelMount),(e=this.objectSubscriptionCleanup)===null||e===void 0||e.call(this)}subscribeToFieldUpdates(){var{sessionWrapper:e}=this.props,{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=$e.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,{sessionWrapper:n}=this.props,{session:r}=n,{root:a}=this.context,s=e.title!=null?this.getItemId(e.title,!1):null;(t||s!=null&&M.getStackForRoot(a,{id:s},!1,!1,!1)!=null)&&this.openWidget(e,r)}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(oe.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,t){var{glEventHub:n}=this.props,{title:r}=e;I(r);var a=this.getItemId(r),s={fetch:()=>t.getObject(e),panelId:a,widget:e};Yn.debug("openWidget",s),n.emit(oe.OPEN,s)}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(oe.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?vd(n):d.jsx(pu,{type:e})}render(){var{commandHistoryStorage:e,glContainer:t,glEventHub:n,sessionWrapper:r,timeZone:a,unzip:s}=this.props,{consoleSettings:o,error:l,objectMap:u}=this.state,{config:h,session:c,connection:v,details:m={},dh:b}=r,{workerName:g,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(mh,{dh:b,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:po.LANGUAGE_MAP.get(E)}),g!=null&&d.jsxs(d.Fragment,{children:[d.jsx("div",{children:"•"}),g]}),f!=null&&d.jsxs(d.Fragment,{children:[d.jsx("div",{children:"•"}),f,d.jsx("div",{children:"•"})]}),d.jsx(Uh,{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})})}}jt(wi,"COMPONENT","ConsolePanel");jt(wi,"TITLE","Console");jt(wi,"contextType",Tl);var _c=(i,e)=>({commandHistoryStorage:ao(i),sessionWrapper:$n(i,e.localDashboardId),timeZone:mr(i),plugins:Ld(i)}),$c=Ke(_c,null,null,{forwardRef:!0})(wi);const Hi=$c;function Xe(i,e,t){return e=Uc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Uc(i){var e=Hc(i,"string");return typeof e=="symbol"?e:String(e)}function Hc(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 Xn=z.module("DropdownFilter"),Vc=150;class ht extends p.Component{constructor(e){super(e),Xe(this,"dropdownRef",void 0),Xe(this,"getCompatibleColumns",te((a,s)=>a!=null?s.filter(o=>{var{type:l}=o;return l!==void 0&&Ae.isCompatibleType(l,a.columnType)}):[])),Xe(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]})),Xe(this,"getSelectedOptionIndex",te((a,s)=>a.indexOf(s))),Xe(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)))])),Xe(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})),Xe(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})},Vc)),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=Z.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:$e(),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(Xn.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(),Xn.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]:Xn.debug2("Selected default item"),Xn.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:b,isValueShown:g,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,F=v!=null?"".concat(v.name," Filter"):null,[L,x]=this.getColumnOptions(S,f),N=this.getValueOptions(h),$=this.getSelectedOptionIndex(h,C),q=!y||f==null,j=g&&!r,G="source-column-btn-".concat(b),A="filter-column-select-".concat(b);return d.jsxs(dr,{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:G,children:"Source Column"}),d.jsx(Us,{id:G,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:A,children:"Filter Column"}),d.jsx(qt,{id:A,value:String(x),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||g||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:q||g||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:F})}),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(qt,{className:"custom-select",value:String($),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:pi,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}Xe(ht,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});Xe(ht,"PLACEHOLDER","Select a value...");Xe(ht,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");Xe(ht,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const wa=ht;function De(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 de=z.module("DropdownFilterPanel"),Wc=250,Kc=(i,e)=>{var{localDashboardId:t}=e,n=M.getIdFromPanel({props:e}),r=Er(i,t),a=on(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:ko(i,t),columnSelectionValidator:Pr(i,t),dh:io(i),isLinkerActive:l,disableLinking:u,settings:jn(i),panelTableMap:r,dashboardLinks:a}},zc=Ke(Kc,null,null,{forwardRef:!0});class Qe extends p.Component{constructor(e){super(e),De(this,"dateTimeFormatter",void 0),De(this,"dropdownFilterRef",void 0),De(this,"panelContainer",void 0),De(this,"pending",void 0),De(this,"cleanup",void 0),De(this,"columnFormats",void 0),De(this,"getCachedValues",Et((c,v,m)=>{var{type:b,name:g}=v;return b!==void 0&&Ae.isDateType(b)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&b!=null?m.getFormattedString(f,b,g):null)})),De(this,"getCachedPanelLinks",Et((c,v)=>{var m=M.getIdFromPanel(v);return de.debug("getCachedPanelLinks",c,m),c.filter(b=>{var g;return((g=b.end)===null||g===void 0?void 0:g.panelId)===m})})),De(this,"getCachedSource",Et(c=>{de.debug("getCachedSource",c);var v;if(c.length>0){var[m]=c;v=m.start,c.length>1&&de.error("Filter has more that one link",c)}return v})),De(this,"getCachedSourceTable",Et((c,v)=>{var m;if(de.debug("getCachedSourceTable",c,v),v==null)return null;var{panelId:b}=v;return(m=c.get(b))!==null&&m!==void 0?m:null})),De(this,"getCachedSourceColumn",Et((c,v)=>{var m;return de.debug("getCachedSourceColumn",c,v),c==null||v==null?null:(m=c.columns.find(b=>{var{name:g,type:f}=b;return g===v.columnName&&f===v.columnType}))!==null&&m!==void 0?m:null})),this.handleChange=Je(this.handleChange.bind(this),Wc),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=Z.createRef(),this.panelContainer=Z.createRef(),this.pending=new Tt;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=$r.getColumnFormats(r),this.dateTimeFormatter=new Bs(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&&(de.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(wa.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;de.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;de.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:b,skipUpdate:g}=u,f=v!=null&&n!==v.isValueShown&&a===v.name&&s===v.type&&r===v.value;return o=(h=!g&&n&&(!f||!b))!==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(){de.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){de.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];de.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(de.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){de.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)||(de.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(de.debug("applySourceSorts",r==null?void 0:r.sort),n==null||r==null){de.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(de.debug("applySourceFilters",r==null?void 0:r.filter),n==null||r==null){de.debug("Table not initialized");return}var a=[...r.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(de.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){de.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);zi(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){de.error("valuesTable is null");return}var s=this.getValuesColumn(a,r);if(!s){de.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:b,isLoaded:g}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),E=this.getPanelErrorMessage(),S=g&&m!=null?this.getCachedValues(v,m,l):[];return d.jsx(Si,{errorMessage:E,isLoading:b,isLoaded:g,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(wa,{ref:this.dropdownFilterRef,column:o,columns:e,isValueShown:h,isLinkerActive:s,disableLinking:n,isLoaded:g,settingsError:C,source:f,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}De(Qe,"displayName","DropdownFilterPanel");De(Qe,"COMPONENT","DropdownFilterPanel");De(Qe,"MAX_TABLE_SIZE",256);De(Qe,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var qc=zc(Qe);const At=qc;function Ue(i){return i.type==="directory"}function Yc(i,e,t){return e=Xc(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xc(i){var e=Zc(i,"string");return typeof e=="symbol"?e:String(e)}function Zc(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 Qc extends Error{constructor(){super("No file exists at the path specified"),Yc(this,"isFileNotFound",!0)}}const Ti=Qc;function Ta(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 Oa(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Ta(a,n,r,s,o,"next",l)}function o(l){Ta(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 Oa(function*(){try{return yield e.info(t),!0}catch(n){if(!(n instanceof Ti))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 Oa(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 yn("Name cannot be empty");if(t.includes(e))throw new yn('"'.concat(e,'" is a reserved name'));if(n.test(e)){var a,s;throw new yn('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 U=it;var Tr=26;function ir(i){return Ue(i)?U.makePath(i.filename):U.getPath(i.filename)}function Na(i,e){if(i.length===0||e==null)throw new Error("No items to move");var t=ir(e);if(i.some(n=>{var{filename:r}=n;return U.getPath(r)===t}))throw new Error("File already in the destination folder");if(i.some(n=>Ue(n)&&t.startsWith(U.makePath(n.filename))))throw new Error("Destination folder cannot be a child of a dragged folder");return{files:i,targetPath:t}}function Jc(i){if(Ue(i))return i.isExpanded?Ql:Jl;var e=U.getMimeType(i.basename);switch(e){case ut.PYTHON:return td;default:return ed}}function rr(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,b=(e=n==null?void 0:n.some(L=>L.id===o.id))!==null&&e!==void 0?e:!1,g=ir(o),f=r&&u?ir(u):null,C=r&&a&&Ue(o)&&f===g,E=r&&a&&f===g,S=r&&!a&&f===g,y=Jc(o),O=U.getDepth(o.filename),F=Array(O).fill(null).map((L,x)=>d.jsx("span",{className:"file-list-depth-line"},x));return d.jsxs("div",{className:X("d-flex w-100 align-items-center","file-list-item",{"is-dragged":b,"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:[F," ",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 La(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 Zn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?La(Object(t),!0).forEach(function(n){ev(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):La(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ev(i,e,t){return e=tv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function tv(i){var e=nv(i,"string");return typeof e=="symbol"?e:String(e)}function nv(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 Ne=z.module("FileList"),iv=500,Da="item-list-scroll-pane";function rv(i){var{isMultiSelect:e=!1,table:t,onFocusChange:n=()=>{},onMove:r,onSelect:a,onSelectionChange:s=()=>{},renderItem:o=rr,rowHeight:l=Tr,overscanCount:u=Yi.DEFAULT_OVERSCAN}=i,[h,c]=p.useState(()=>({items:[],offset:0,itemCount:0})),[v,m]=p.useState({top:0,bottom:0}),[b,g]=p.useState(),[f,C]=p.useState(),[E,S]=p.useState(),[y,O]=p.useState([]),F=p.useRef(),L=p.useRef(null),x=p.useRef(null),N=p.useCallback(T=>{if(T.length===0||h==null)return[];for(var V=[],Y=0;Y<T.length;Y+=1)for(var ae=T[Y],Se=ae[0];Se<=ae[1];Se+=1)Se>=h.offset&&Se<h.offset+h.items.length&&V.push(h.items[Se-h.offset]);return V},[h]),$=p.useCallback(T=>{var V=N([[T,T]]);if(V.length>0)return V[0]},[N]),q=p.useCallback(()=>{var T=Hr.count(y);if(T===0)return null;if(T===1){var V=y[0][0],Y=$(V);if(Y!=null)return Y.filename}return"".concat(T," items")},[$,y]),j=p.useCallback(T=>{if(!(!f||!b)){Ne.debug("dropItems",f,"to",T);try{var{files:V,targetPath:Y}=Na(f,b);if(r==null||r(V,Y),T!=null){var ae;O([[T,T]]),(ae=L.current)===null||ae===void 0||ae.focusItem(T)}}catch(Se){Ne.error("Unable to complete move",Se)}}},[f,b,r]),G=p.useCallback((T,V)=>{var Y=h.items[T-h.offset];Y!==void 0&&(Ne.debug("handleItemClick",Y),a(Y,V),Ue(Y)&&(t==null||t.setExpanded(Y.filename,!Y.isExpanded)))},[h,a,t]),A=p.useCallback((T,V)=>{var Y;Ne.debug2("handleItemDragStart",T,y);var ae=y;Hr.isSelected(y,T)||(ae=[[T,T]],O(ae)),C(N(ae)),(Y=L.current)===null||Y===void 0||Y.resetMouseState();var Se=document.createElement("div");Se.innerHTML='<div class="dnd-placeholder-content">'.concat(q(),"</div>"),Se.className="file-list-dnd-placeholder",document.body.appendChild(Se),V.dataTransfer.setDragImage(Se,0,0),V.dataTransfer.effectAllowed="move",S(Se)},[q,N,y]),R=p.useCallback((T,V)=>{V.preventDefault(),Ne.debug2("handleItemDragOver",V),g($(T))},[$]),K=p.useCallback((T,V)=>{Ne.debug("handleItemDragEnd",T),E==null||E.remove(),C(void 0),g(void 0),S(void 0)},[E]),H=p.useCallback((T,V)=>{j(T)},[j]),ce=p.useCallback(()=>{Ne.debug2("handleItemDragExit"),g(void 0)},[]),Ce=p.useCallback(T=>{T.target instanceof Element&&T.target.classList.contains(Da)&&(T.preventDefault(),Ne.debug2("handleListDragOver",T),g({type:"directory",filename:"/",basename:"/",id:"/"}))},[]),Ie=p.useCallback(T=>{T.target instanceof Element&&T.target.classList.contains(Da)&&(Ne.debug("handleListDrop"),j())},[j]),P=p.useCallback(function(T){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Ne.debug2("handleSelectionChange",T),V===!0||T!==y){O(T);var Y=N(T);s(Y)}},[N,s,y]),w=p.useCallback(T=>{if(Ne.debug2("handleFocusChange",T),T!=null){var[V]=N([[T,T]]);n(V)}else n();F.current=T},[N,n]),D=p.useCallback((T,V)=>{Ne.debug("handleViewportChange",T,V),(T!==v.top||V!==v.bottom)&&m({top:T,bottom:V})},[v]),B=p.useMemo(()=>{if(!f||!b)return!1;try{return Na(f,b),Ne.debug("handleValidateDropTarget true"),!0}catch{return Ne.debug("handleValidateDropTarget false"),!1}},[f,b]),{focusedPath:W}=i;p.useEffect(()=>{W!==void 0&&(W==="/"?t.collapseAll():(t.setExpanded(W,!1),t.setExpanded(W,!0)))},[t,W]),p.useEffect(function(){Ne.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 V=t.onUpdate(Y=>{c({items:Y.items.map(ae=>Zn(Zn({},ae),{},{itemName:ae.basename})),offset:Y.offset,itemCount:t.size})});return()=>{V()}},[t]),p.useEffect(function(){F.current!=null&&w(F.current),y.length>0&&P(y,!0)},[h,w,P,y]),p.useEffect(function(){if(b!=null&&Ue(b)&&b.filename!=="/"){var V=setTimeout(()=>{b.isExpanded||t==null||t.setExpanded(b.filename,!0)},iv);return()=>clearTimeout(V)}},[b,t]);var ve=p.useCallback(T=>o(Zn(Zn({},T),{},{isDragInProgress:f!=null,dropTargetItem:b,draggedItems:f,isDropTargetValid:B,onDragStart:A,onDragEnd:K,onDragOver:R,onDragExit:ce,onDrop:H})),[K,ce,R,A,H,f,b,B,o]);return d.jsx("div",{ref:x,className:X("file-list",{"is-dragging":f!=null}),onDragOver:Ce,onDrop:Ie,children:d.jsx(Yi,{ref:L,items:h.items,itemCount:h.itemCount,offset:h.offset,onFocusChange:w,onSelect:G,onSelectionChange:P,onViewportChange:D,selectedRanges:y,renderItem:ve,rowHeight:l,isMultiSelect:e,isDragSelect:!1,isDeselectOnClick:!1})})}var av={name:"File Explorer",DELETE:xe.createAndAdd({id:"FILE_EXPLORER.DELETE",name:"Delete",shortcut:[re.DELETE],macShortcut:[se.CMD,re.BACKSPACE]}),RENAME:xe.createAndAdd({id:"FILE_EXPLORER.RENAME",name:"Rename",shortcut:[re.ENTER],macShortcut:[re.ENTER]})};const Ma={FILE_EXPLORER:av};var Fa=z.module("FileListItemEditor"),sv=()=>Promise.resolve();function ov(i){var{item:e,onCancel:t,onSubmit:n,validate:r=sv}=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(),[]),b=p.useCallback(()=>{h.then(()=>{n(s)}).catch(E=>Fa.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 g=p.useCallback(()=>{Fa.debug2("handleBlur"),b()},[b]),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":{b();break}case"Escape":{t();break}}},[t,b]);return d.jsxs("div",{className:"file-list-item-editor",children:[d.jsx("input",{type:"text",className:X("form-control file-list-item-editor-input",{"is-invalid":l}),value:s,ref:a,onBlur:g,onKeyDown:C,onChange:f,onClick:m,onDoubleClick:m,onMouseDown:m}),l&&d.jsx("div",{className:"invalid-feedback",children:"".concat(l)})]})}function xa(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 Vi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xa(Object(t),!0).forEach(function(n){lv(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):xa(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function lv(i,e,t){return e=dv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function dv(i){var e=uv(i,"string");return typeof e=="symbol"?e:String(e)}function uv(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 $o(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:b=()=>Promise.resolve()}=i,[g,f]=p.useState(),[C,E]=p.useState([]),[S,y]=p.useState(),O=p.useCallback(H=>{E(H),c==null||c(H)},[c]),F=p.useCallback(H=>{y(H)},[]),L=p.useCallback(()=>{S&&(s==null||s(S))},[S,s]),x=p.useCallback(()=>{C.length>0&&(o==null||o(C))},[o,C]),N=p.useCallback(()=>{r==null||r()},[r]),$=p.useCallback(()=>{S&&(a==null||a(U.getPath(S.filename)))},[S,a]),q=p.useCallback(()=>{S&&f(S)},[S]),j=p.useCallback(()=>{f(void 0)},[]),G=p.useCallback(H=>{g&&(u==null||u(g,H),f(void 0))},[u,g]),A=p.useMemo(()=>{if(g)return[];var H=[];return r&&H.push({title:"New File",description:"Create new file",action:N,group:Q.groups.medium}),a&&H.push({title:"New Folder",description:"Create new folder",action:$,group:Q.groups.medium}),s&&H.push({title:"Copy File",description:"Copy the selected file",action:L,group:Q.groups.low,disabled:S==null||Ue(S)}),o&&C.length>0&&H.push({title:"Delete",description:"Delete",shortcut:Ma.FILE_EXPLORER.DELETE,action:x,group:Q.groups.low}),u&&H.push({title:"Rename",description:"Rename",shortcut:Ma.FILE_EXPLORER.RENAME,action:q,group:Q.groups.low,disabled:S==null}),H},[L,x,N,$,q,S,s,r,a,o,u,C,g]),R=p.useCallback(H=>(I(g),b(g,H)),[g,b]),K=p.useCallback(H=>{var{item:ce}=H;return g&&g.filename===ce.filename?d.jsx(rr,Vi(Vi({},H),{},{children:d.jsx(ov,{item:ce,validate:R,onSubmit:G,onCancel:j})})):d.jsx(rr,Vi({},H))},[j,G,g,R]);return d.jsxs("div",{className:"file-list-container",children:[v!=null&&d.jsx(rv,{onMove:l,onSelect:h,onSelectionChange:O,onFocusChange:F,renderItem:K,rowHeight:m,table:v,isMultiSelect:e,focusedPath:t}),n&&d.jsx(Q,{actions:A})]})}$o.displayName="FileListContainer";function Ia(i,e,t){return e=hv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hv(i){var e=cv(i,"string");return typeof e=="symbol"?e:String(e)}function cv(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 vv extends yn{constructor(e){super("Name already exists"),Ia(this,"isExistingFile",!0),Ia(this,"info",void 0),this.info=e}}const ni=vv;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 ka(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)})}}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([]),[b,g]=p.useState();p.useEffect(function(){var G;function A(){return R.apply(this,arguments)}function R(){return R=ka(function*(){tt.debug("initTable"),G=ge.makeCancelable(e.getTable(),K=>K.close());try{g(yield G)}catch(K){ge.isCanceled(K)||tt.error("Unable to initialize table",K)}}),R.apply(this,arguments)}return A(),()=>{G.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(Ue(j)?U.makePath(j.filename):j.filename)),a(v),m([])},[v,a,e]),F=p.useCallback(()=>{tt.debug("handleDeleteCancel"),m([])},[]),L=p.useCallback((j,G)=>{var A=U.reducePaths(j.map(R=>Ue(R)?U.makePath(R.filename):R.filename));A.forEach(R=>{var K=U.isPath(R)?"".concat(G).concat(U.getBaseName(R.substring(0,R.length-1)),"/"):"".concat(G).concat(U.getBaseName(R));e.moveFile(R,K).then(()=>{s(R,K)}).catch(f)})},[f,s,e]),x=p.useCallback((j,G)=>{var A=j.filename,R=Ue(j);R&&!A.endsWith("/")&&(A="".concat(A,"/"));var K="".concat(U.getParent(A)).concat(G);R&&!K.endsWith("/")&&(K="".concat(K,"/")),tt.debug2("handleRename",A,K),e.moveFile(A,K).catch(f),s(A,K)},[f,s,e]),N=p.useCallback(function(){var j=ka(function*(G,A){if(A!==G.basename){U.validateName(A);var R="".concat(U.getPath(G.filename)).concat(A);try{var K=yield e.info(R);throw new ni(K)}catch(H){if(!(H instanceof Ti))throw H}}});return function(G,A){return j.apply(this,arguments)}}(),[e]),$=v.length>0,q=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:[b&&d.jsx($o,{isMultiSelect:t,focusedPath:n,showContextMenu:!0,onCopy:S,onCreateFolder:E,onCreateFile:C,onMove:L,onDelete:y,onRename:x,onSelect:u,onSelectionChange:h,rowHeight:c,table:b,validateRename:N}),d.jsx(Fn,{isOpen:$,headerText:q,bodyText:"You cannot undo this action.",onCancel:F,onConfirm:O,confirmButtonText:"Delete"})]})}Or.displayName="FileExplorer";function ja(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 pv(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ja(a,n,r,s,o,"next",l)}function o(l){ja(a,n,r,s,o,"throw",l)}s(void 0)})}}function St(i,e,t){return e=mv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mv(i){var e=fv(i,"string");return typeof e=="symbol"?e:String(e)}function fv(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("NewItemModal");class _t 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)||xt.error(e)}constructor(e){super(e),St(this,"inputRef",Z.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=U.hasPath(t)?U.getPath(t):"/";this.state={isSubmitting:!1,path:n,prevExtension:U.getExtension(t),showExtensionChangeModal:!1,showOverwriteModal:!1,value:U.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=U.hasPath(e)?U.getPath(e):"/";this.setState({path:t,value:U.getBaseName(e),validationError:void 0,prevExtension:U.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 pv(function*(){U.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 Ti))throw u}}return t})()}updateValidationStatus(e,t){this.getValidationPromise(e,t).then(()=>{this.setState({validationError:void 0})}).catch(this.handleValidationError).catch(_t.handleError)}handleModalOpened(){this.focusRenameInput()}handleModalSubmit(){this.submitModal()}handleChange(e){var{value:t}=e.target;this.setState({value:t})}handleSelect(e){if(xt.debug("handleSelect",e),e.type==="directory")this.setState({path:U.makePath(e.filename)});else{var t=e.basename,n=U.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 yn))throw e;xt.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;xt.debug("handleOverwriteConfirm",t,n),e("".concat(t).concat(n),!0)}handleExtensionChangeCancel(){xt.debug("handleExtensionChangeCancel"),this.setState(e=>{var{value:t,prevExtension:n}=e,r=U.replaceExtension(t,n);return{showExtensionChangeModal:!1,value:r}}),this.submitModal(!0)}handleExtensionChangeConfirm(){xt.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;xt.debug("submitModal",n,r);var l=U.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(_t.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(Z.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:nd,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:b}=this.state,g=s==="directory",f=U.fileExtensionToString(m),C=U.fileExtensionToString(b),E=g?"Create":"Save",S=g?"New folder name":"Save file as";return d.jsxs(d.Fragment,{children:[d.jsxs(Xs,{isOpen:t,toggle:n,onOpened:this.handleModalOpened,className:"modal-dialog-centered new-file-modal",children:[d.jsx(Zs,{toggle:n,children:a}),d.jsx(Qs,{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:X("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:_t.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(Ws,{children:[d.jsx(k,{kind:"secondary",onClick:n,children:"Cancel"}),d.jsx(k,{kind:"primary",disabled:o,onClick:this.handleModalSubmit,children:E})]})]}),d.jsx(Fn,{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(Fn,{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(_t,"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(_t,"defaultProps",{isOpen:!1,defaultValue:"/",notifyOnExtensionChange:!1,placeholder:"",onSubmit:(i,e)=>{},onCancel:()=>{}});const Uo=_t;function gv(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:Ys,tooltip:"New notebook",onClick:e,"aria-label":"New notebook"}),d.jsx(k,{kind:"ghost",icon:id,tooltip:"New folder",onClick:t,"aria-label":"New folder"})]}),n&&d.jsx("div",{className:"file-explorer-toolbar-search",children:d.jsx(Ol,{value:r,onChange:n,placeholder:"Search by name"})})]})}function Aa(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 bv(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Aa(a,n,r,s,o,"next",l)}function o(l){Aa(a,n,r,s,o,"throw",l)}s(void 0)})}}function Ho(i,e,t){return e=Cv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cv(i){var e=Sv(i,"string");return typeof e=="symbol"?e:String(e)}function Sv(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 It=z.module("FileExplorerPanel"),Ev=(i,e)=>{var t=so(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}},yv=Ke(Ev,null,null,{forwardRef:!0});function Pv(i){var e=i;return e!=null&&typeof e.button=="number"}class Zt extends Z.Component{static handleError(e){It.error(e)}static isFocusEvent(e){return Pv(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:""};It.debug("handleCreateFile",t,n,r),e.emit(ie.CREATE_NOTEBOOK,t,n,r)}handleCreateDirectory(){this.setState({showCreateFolder:!0})}handleCreateDirectoryCancel(){It.debug("handleCreateDirectoryCancel"),this.setState({showCreateFolder:!1})}handleCreateDirectorySubmit(e){It.debug("handleCreateDirectorySubmit",e),this.setState({showCreateFolder:!1});var{fileStorage:t}=this.props;t.createDirectory(e).catch(Zt.handleError)}handleCopyFile(e){var t=this;return bv(function*(){var{fileStorage:n}=t.props;if(Ue(e)){It.error("Invalid item in handleCopyItem",e);return}var r=yield U.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=U.makePath(e[0].filename):t=U.getPath(e[0].filename)),this.setState({focusedFilePath:t})}handleFileSelect(e,t){if(It.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;It.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(gv,{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(Uo,{isOpen:a,type:"directory",title:"Create New Folder",storage:e,onSubmit:this.handleCreateDirectorySubmit,onCancel:this.handleCreateDirectoryCancel,defaultValue:s})]})}}Ho(Zt,"COMPONENT","FileExplorerPanel");Ho(Zt,"TITLE","File Explorer");var wv=yv(Zt);const Tv=wv;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 Qn(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){Cn(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 Cn(i,e,t){return e=Ov(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ov(i){var e=Nv(i,"string");return typeof e=="symbol"?e:String(e)}function Nv(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("FilterSetManager"),Lv="Enter name...",$a="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),Cn(this,"renameInputRef",Z.createRef()),Cn(this,"dropdownRef",Z.createRef()),Cn(this,"editDropdownRef",Z.createRef()),Cn(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;ue.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(ue.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:[]}),ue.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=$e(),n=e(),r={id:t,title:"",panels:n};ue.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 ue.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 ue.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){ue.error("Renamed set undefined.");return}var s=this.getNameError(t);if(ue.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,ue.debug("Renamed existing set",h)):(h.push(l),ue.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 ue.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 ue.debug("Deleted selected set",t,n,a),ue.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 ue.error("Filter for update not selected."),null;var s=[...r],o=s.findIndex(l=>{var{id:u}=l;return u===a});return o<0?(ue.error("Selected set for update not found."),null):(s[o]=Qn(Qn({},s[o]),{},{panels:t}),ue.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 ue.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){ue.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){ue.debug("No filter selected");return}var r=n.find(a=>{var{id:s}=a;return s===e});if(r===void 0){ue.debug("Selected id not found in filterSets",e,n);return}ue.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,b=!h&&!m,g=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:ad,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:sd,transform:"shrink-1 down-5 right-7"})]});return d.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:d.jsxs(dr,{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:g,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:Lv,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:Js}),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:rd})]}),t!==void 0&&d.jsx("div",{className:"error-message",children:t})]}),d.jsx("div",{className:"form-group",children:d.jsxs(Nl,{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"})]})})]}),b&&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(qt,{"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:$a}),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:eo,tooltip:"Edit"}),d.jsx(k,{kind:"ghost",onClick:this.handleSetDelete,disabled:v,icon:kn,tooltip:"Delete"})]})]}),d.jsx("div",{children:d.jsx(k,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,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(qt,{"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:$a}),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:to,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:pi,transform:"grow-4"})})})]},"back")]})})}}const Dv=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(Ci,{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:$s.Container.isRequired,widgetName:_.string.isRequired,description:_.string};Nr.defaultProps={description:null};function Mv(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function Fv(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}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 gt(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){be(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 be(i,e,t){return e=xv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xv(i){var e=Iv(i,"string");return typeof e=="symbol"?e:String(e)}function Iv(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"),Rv=500,kv={IrisGrid:vi,IrisGridTableModel:Ml,ContextMenuRoot:pd};function Ha(i){if(i==null)throw new Error("No metadata provided");if(Fv(i))return i.name;if(Mv(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(i))}class Qt 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||!Ri(r)||n==null||r.table==null)return null;var l={panel:this,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:s,components:kv};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,o)=>je.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:a,partitionColumns:s,advancedSettings:o}))),be(this,"getDehydratedIrisGridState",te((n,r,a,s,o,l,u,h,c,v,m,b,g,f,C,E,S,y,O,F,L)=>(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:b,selectedSearchColumns:g,sorts:r,invertSearchColumns:f,pendingDataMap:y,frozenColumns:O,conditionalFormats:F,columnHeaderGroups:L})))),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,partitionColumns:c,advancedSettings:v}=this.state,{advancedFilters:m,aggregationSettings:b,customColumnFormatMap:g,isFilterBarShown:f,quickFilters:C,customColumns:E,reverseType:S,rollupConfig:y,showSearchBar:O,searchValue:F,selectDistinctColumns:L,selectedSearchColumns:x,sorts:N,invertSearchColumns:$,metrics:q,pendingDataMap:j,frozenColumns:G,conditionalFormats:A,columnHeaderGroups:R}=n;I(o),I(q);var{userColumnWidths:K,userRowHeights:H}=q;I(r);var{isStuckToBottom:ce,isStuckToRight:Ce,movedColumns:Ie,movedRows:P}=r,w=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(o,u,h,c,v),this.getDehydratedIrisGridState(o,N,m,g,f,C,E,S,y,O,F,L,x,$,K,H,b,j,G,A,R),this.getDehydratedGridState(o,Ie,P,ce,Ce),a);w!==l&&(nt.debug("Saving panel state",this,w),this.setState({panelState:w}),s==null||s(w))},Rv)),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=Z.createRef(),this.pluginRef=Z.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(Ll.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:[],partitionColumns:[],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 Ha(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(Ze.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(Ze.CREATE_CHART,{metadata:{settings:e,sourcePanelId:o,table:a,tableSettings:l},table:Ri(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(Ze.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(Ze.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}),Ri(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:b}=u,g=a.getColumnIndexByName(e);I(g);var f=s.getVisibleColumn(g),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*b;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,partitionColumns:m,advancedSettings:b}=je.hydrateIrisGridPanelState(e,o);I(this.irisGridUtils);var{advancedFilters:g,customColumns:f,customColumnFormatMap:C,isFilterBarShown:E,quickFilters:S,reverseType:y,rollupConfig:O,aggregationSettings:F,sorts:L,userColumnWidths:x,userRowHeights:N,showSearchBar:$,searchValue:q,selectDistinctColumns:j,selectedSearchColumns:G,invertSearchColumns:A,pendingDataMap:R,frozenColumns:K,conditionalFormats:H,columnHeaderGroups:ce}=this.irisGridUtils.hydrateIrisGridState(e,gt(gt({},s),l)),{isStuckToBottom:Ce,isStuckToRight:Ie,movedColumns:P,movedRows:w}=je.hydrateGridState(e,gt(gt({},a),r),s.customColumns);this.setState({advancedFilters:g,advancedSettings:b,conditionalFormats:H,customColumns:f,customColumnFormatMap:C,isFilterBarShown:E,isSelectingPartition:c,movedColumns:P,movedRows:w,partitions:v,partitionColumns:m,quickFilters:S,reverseType:y,rollupConfig:O,aggregationSettings:F,sorts:L,userColumnWidths:x,userRowHeights:N,showSearchBar:$,searchValue:q,selectDistinctColumns:j,selectedSearchColumns:G,invertSearchColumns:A,pendingDataMap:R,frozenColumns:K,isStuckToBottom:Ce,isStuckToRight:Ie,columnHeaderGroups:ce})}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:b,theme:g}=this.props,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,conditionalFormats:S,customColumns:y,customColumnFormatMap:O,error:F,isDisconnected:L,isFilterBarShown:x,isSelectingPartition:N,isStuckToBottom:$,isStuckToRight:q,isLoaded:j,isLoading:G,isModelReady:A,model:R,movedColumns:K,movedRows:H,partitions:ce,partitionColumns:Ce,quickFilters:Ie,reverseType:P,rollupConfig:w,sorts:D,userColumnWidths:B,userRowHeights:W,showSearchBar:ve,searchValue:T,selectDistinctColumns:V,selectedSearchColumns:Y,invertSearchColumns:ae,Plugin:Se,pluginFilters:xi,pluginFetchColumns:Vn,pendingDataMap:Ii,frozenColumns:ln,columnHeaderGroups:rl}=this.state,al=F!=null?"Unable to open table. ".concat(F):void 0,kr=Ha(h),jr=(e=R==null?void 0:R.description)!==null&&e!==void 0?e:void 0,sl=(t=c==null?void 0:c.pluginState)!==null&&t!==void 0?t:null,ol=n??this.getPluginContent(Se,R,v,m,sl),{permissions:ll}=v,{canCopy:dl,canDownloadCsv:ul}=ll;return d.jsx(Si,{errorMessage:al,isDisconnected:L,isLoading:G,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:A&&R&&d.jsx(vi,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,alwaysFetchColumns:this.getAlwaysFetchColumns(u,Vn),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:x,isSelectingColumn:s!=null,isSelectingPartition:N,isStuckToBottom:$,isStuckToRight:q,movedColumns:K,movedRows:H,partitions:ce,partitionColumns:Ce,quickFilters:Ie,reverseType:P,rollupConfig:w,settings:b,sorts:D,userColumnWidths:B,userRowHeights:W,model:R,showSearchBar:ve,searchValue:T,selectedSearchColumns:Y,selectDistinctColumns:V,invertSearchColumns:ae,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:xi,pendingDataMap:Ii,canCopy:dl,canDownloadCsv:ul,ref:this.irisGrid,getDownloadWorker:o,frozenColumns:ln,theme:g,columnHeaderGroups:rl,children:ol})})}}be(Qt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});be(Qt,"displayName","IrisGridPanel");be(Qt,"COMPONENT","IrisGridPanel");var jv=(i,e)=>{var{localDashboardId:t=Dl}=e;return{inputFilters:Sr(i,t),links:on(i,t),columnSelectionValidator:Pr(i,t),user:Td(i),workspace:oo(i),settings:jn(i)}},Av=Ke(jv,null,null,{forwardRef:!0})(Qt);const In=Av;function Nn(i,e,t){return e=_v(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _v(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 Va=z.module("InputFilter"),Uv=150;class Jt extends p.Component{constructor(e){super(e),Nn(this,"inputRef",void 0),Nn(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})),Nn(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:l}=this.state;a({column:s,isValueShown:l,value:o})},Uv)),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=Z.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)];Va.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;Va.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?Jt.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(dr,{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(qt,{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:Jt.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:pi,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}Nn(Jt,"PLACEHOLDER","Enter value...");Nn(Jt,"defaultProps",{column:null,isValueShown:!1,value:null});const Hv=Jt;function Oi(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 Bv=250;class Ni extends p.Component{constructor(e){super(e),Oi(this,"inputFilterRef",void 0),this.handleChange=Je(this.handleChange.bind(this),Bv),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=Z.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:b}=u,g=c!=null&&n!==c.isValueShown&&a===c.name&&s===c.type&&r===c.value;return o=(h=!b&&n&&(!g||!m))!==null&&h!==void 0?h:!1,o||(l=v),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:l},timestamp:l,wasFlipped:g,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(Hv,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:s})})}}Oi(Ni,"defaultProps",{panelState:null});Oi(Ni,"COMPONENT","InputFilterPanel");Oi(Ni,"displayName","InputFilterPanel");var Wv=(i,e)=>{var{localDashboardId:t}=e;return{columns:ko(i,t)}},Kv=Ke(Wv,null,null,{forwardRef:!0})(Ni);const Ln=Kv;function Ga(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?Ga(Object(t),!0).forEach(function(n){Lr(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ga(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Lr(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 we=z.module("FilterSetManagerPanel");function Yv(i){return i.setPanelState!=null}class en 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){we.error("Could not get panel",r);return}var a=M.getComponentNameFromPanel(r),s=M.getIdFromPanel(r);we.debug("Panel:",r,a);var{glContainer:o=null}=r.props;if(o==null){we.error("Could not get panel container",r);return}var l=M.getComponentConfigFromContainer(o);if(l==null){we.error("Could not get component config from container",o);return}var u=M.getPanelComponentState(l);if(u==null){we.debug("Panel state is null ".concat(s));return}switch(a){case M.getComponentName(Qt):{var h;s!=null&&(h=this.getIrisGridPanelFilters(s,u)),h!=null&&t.push({panelId:s,type:a,state:h});break}case M.getComponentName(Ln):case M.getComponentName(At):{var{isValueShown:c,name:v,type:m,value:b}=u;t.push({panelId:s,type:a,state:{isValueShown:c,name:v,type:m,value:b}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return we.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=en.changeFilterIndexesToColumnNames(r,o));var h;return l&&(h=en.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;we.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;we.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:s,type:o,state:l}=a;if(s==null){we.debug("panel is null",s);return}if(!t.has(s)){we.debug("Ignore closed panel",s);return}we.debug("Apply panel filters",s,o,l);var u=t.get(s);switch(o){case M.getComponentName(Qt):this.restoreIrisGridFilters(u,l,r);break;case M.getComponentName(Ln):case M.getComponentName(At):this.restoreInputFilterState(u,l);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;we.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){we.error("Panel Id is null.");return}var c=u.get(h);if(c==null){we.error("Unable to get table for panel ".concat(h,"."));return}we.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,we.debug("restoreInputFilterState",e,n),e&&Yv(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(Dv,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Lr(en,"defaultProps",{panelState:null});Lr(en,"COMPONENT","FilterSetManagerPanel");var Xv=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:pc(i,t),dashboardOpenedPanelMap:Gs(i,t),dashboardInputFilters:Sr(i,t),panelTableMap:Er(i,t)}},Zv=Ke(Xv,{setDashboardFilterSets:Cc},null,{forwardRef:!0})(en);const Gi=Zv;function Rn(i,e,t){return e=Qv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qv(i){var e=Jv(i,"string");return typeof e=="symbol"?e:String(e)}function Jv(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 Ba=z.module("LogPanel");class Li extends p.PureComponent{constructor(e){super(e),Rn(this,"isBottomVisible",void 0),Rn(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){Ba.debug("Session opened",[e]),this.setState({session:e})}handleSessionClosed(e){Ba.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(Ah,{session:n,ref:r=>{this.logView=r}})]})}}Rn(Li,"defaultProps",{session:null});Rn(Li,"COMPONENT","LogPanel");Rn(Li,"TITLE","Log");var ep=(i,e)=>{var t;return{session:(t=$n(i,e.localDashboardId))===null||t===void 0?void 0:t.session}},tp=Ke(ep,null,null,{forwardRef:!0})(Li);const np=tp;function ip(i,e,t){return e=rp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function rp(i){var e=ap(i,"string");return typeof e=="symbol"?e:String(e)}function ap(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{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:X("text-muted","edit-hint",{viewing:e===void 0||!e}),children:d.jsxs("span",{children:["double-click to edit ",d.jsx(J,{icon:eo})]})}),t]})}}ip(Vo,"defaultProps",{isEditing:!1});function sp(i,e,t){return e=op(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function op(i){var e=lp(i,"string");return typeof e=="symbol"?e:String(e)}function lp(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 dp=z.module("MarkdownStartPage");class Go 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(dp.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:kn})})]},s.id)),d.jsxs(Xs,{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(Qs,{children:"You can't undo this action."}),d.jsxs(Ws,{children:[d.jsx(k,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),d.jsx(k,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}sp(Go,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const up=Go;function Bo(i,e,t){return e=hp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hp(i){var e=cp(i,"string");return typeof e=="symbol"?e:String(e)}function cp(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 vp=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(mi,{language:n,children:Z.Children.map(e,r=>typeof r=="string"?r.trim():r)})})})};class Wo extends p.PureComponent{constructor(e){super(e),Bo(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(As,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):d.jsx(xs,{components:{code:vp},children:t})})}}Bo(Wo,"defaultProps",{isEditing:!1,content:""});function Dn(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=mp(i,"string");return typeof e=="symbol"?e:String(e)}function mp(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),Dn(this,"markdownEditor",void 0),Dn(this,"editor",void 0),Dn(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(oe.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(oe.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(up,{closedMarkdowns:o,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):d.jsx(Vo,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:d.jsx(Wo,{ref:l=>{this.markdownEditor=l},isEditing:r,content:s??void 0,onEditorInitialized:this.handleEditorInitialized})})})}}Dn(Dr,"defaultProps",{panelState:null});Dn(Dr,"COMPONENT","MarkdownPanel");var fp=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Fl(i,t)}},gp=Ke(fp,null,null,{forwardRef:!0})(Dr);const un=gp;function ii(i,e,t){return e=bp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bp(i){var e=Cp(i,"string");return typeof e=="symbol"?e:String(e)}function Cp(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 Ko 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=Z.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(g=>g===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,b=m;(v=this.editorScrollView.current)===null||v===void 0||v.scroll({top:b,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=Z.createRef(),b=this.commands.size===0,g=o===c||b&&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:X("markdown-notebook-code-block",{"is-selected":g}),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(mi,{language:f,children:Z.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:X("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(xs,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[fl],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}ii(Ko,"defaultProps",{onRunCode:()=>{}});const Sp=Ko;function Wa(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 Ka(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Wa(a,n,r,s,o,"next",l)}function o(l){Wa(a,n,r,s,o,"throw",l)}s(void 0)})}}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 ke(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){Oe(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 Oe(i,e,t){return e=Ep(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ep(i){var e=yp(i,"string");return typeof e=="symbol"?e:String(e)}function yp(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"),qa=400;class ye extends p.Component{static handleError(e){ge.isCanceled(e)||ee.error(e)}static unsavedNotebookCount(){return document.querySelectorAll(".".concat(ye.UNSAVED_INDICATOR_CLASS_NAME,".").concat(ye.UNSAVED_STATUS_CLASS_NAME)).length}static languageFromFileName(e){var t=U.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),Oe(this,"pending",void 0),Oe(this,"debouncedSavePanelState",void 0),Oe(this,"debouncedLoad",void 0),Oe(this,"notebook",void 0),Oe(this,"tabTitleElement",void 0),Oe(this,"tabInitOnce",void 0),Oe(this,"editor",void 0),Oe(this,"getSettings",te((v,m)=>ke(ke({},v),{},{minimap:{enabled:m}}))),Oe(this,"getOverflowActions",te((v,m)=>[{title:"Find",icon:ld,action:this.handleFind,group:Q.groups.high,shortcut:Fe.NOTEBOOK.FIND,order:10},{title:"Copy File",icon:dd,action:this.handleCopy,group:Q.groups.medium,order:20},{title:"Rename File",icon:ud,action:this.handleShowRename,group:Q.groups.medium,order:30},{title:"Delete File",icon:kn,action:this.handleDelete,group:Q.groups.medium,order:40},{title:"Show Minimap",icon:v?wn:void 0,action:this.handleMinimapChange,group:Q.groups.low,shortcut:Fe.NOTEBOOK.MINIMAP,order:20},{title:"Word Wrap",icon:m?wn:void 0,action:this.handleWordWrapChange,group:Q.groups.low,shortcut:Fe.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),qa),this.debouncedLoad=Je(this.load.bind(this),qa),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&&U.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(oe.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(oe.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,U.getBaseName(o))}var c=ke(ke({},t),{},{language:(s=ye.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&&U.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 Ka(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 U.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 Ka(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&&(U.hasPath(a.itemName)&&(yield U.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{defaultNotebookSettings:e,updateSettings:t}=this.props,n={defaultNotebookSettings:{isMinimapEnabled:!e.isMinimapEnabled}};t(n)}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=ye.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&&U.hasPath(o.itemName)&&o.itemName!==r.itemName&&(ee.debug("handleSaveSuccess deleting old file",o.itemName),n.deleteFile(o.itemName).catch(ye.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}),U.getBaseName(a)!==U.getBaseName(e)){var{metadata:o}=this.props,{id:l}=o;this.renameTab(l,U.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{defaultNotebookSettings:e}=this.props,{settings:t}=this.state;return this.getOverflowActions(e.isMinimapEnabled,this.getSettings(t,e.isMinimapEnabled).wordWrap==="on")}render(){var e,t,{fileStorage:n,glContainer:r,glContainer:{tab:a},glEventHub:s,defaultNotebookSettings:o}=this.props,{changeCount:l,savedChangeCount:u,error:h,isDashboardActive:c,isLoaded:v,isLoading:m,isPreview:b,fileMetadata:g,session:f,sessionLanguage:C,settings:E,showCloseModal:S,showDeleteModal:y,showSaveAsModal:O}=this.state,F=c&&!r.isHidden&&!b,L=(e=g==null?void 0:g.itemName)!==null&&e!==void 0?e:ye.DEFAULT_NAME,x=L.endsWith(".md"),N=(g==null?void 0:g.id)!=null,$=this.getSettings(E,o.isMinimapEnabled),q=f!=null,j=C===$.language,G=!v||!q||!j,A=!v,R=[{action:this.handleSave,shortcut:Mn.SAVE},{action:this.handleMinimapChange,shortcut:Fe.NOTEBOOK.MINIMAP},{action:this.handleWordWrapChange,shortcut:Fe.NOTEBOOK.WORDWRAP}],K=er.getDisabledRunTooltip(q,j,"Notebook extension","Run"),H=er.getDisabledRunTooltip(q,j,"Notebook extension","Run Selected"),ce=[{title:N?"Rename":"Save As…",order:10,group:Q.groups.high,action:this.handleShowRename},{title:"Copy File",action:this.handleCopy,group:Q.groups.high,order:20}],Ce=a==null?void 0:a.element.find(".lm_title_before").get(0);return d.jsxs(d.Fragment,{children:[Ce!=null&&Fs.createPortal(d.jsx("span",{className:X(ye.UNSAVED_INDICATOR_CLASS_NAME,{[ye.UNSAVED_STATUS_CLASS_NAME]:l!==u})}),Ce),d.jsxs(pt,{className:"notebook-container",componentPanel:this,glContainer:r,glEventHub:s,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:()=>L,children:[!x&&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:G,icon:d.jsx(J,{icon:ri,transform:"grow-4"}),tooltip:"Run ".concat(Fe.NOTEBOOK.RUN.getDisplayText()),"aria-label":"Run"}),K!=null&&d.jsx(wt,{children:K})]}),d.jsxs("span",{children:[d.jsx(k,{kind:"ghost",className:"btn-play",onClick:this.handleRunSelected,disabled:G,icon:d.jsx(J,{icon:od,transform:"grow-4"}),tooltip:"Run Selected ".concat(Fe.NOTEBOOK.RUN_SELECTED.getDisplayText()),"aria-label":"Run Selected"}),H!=null&&d.jsx(wt,{children:H})]}),d.jsx(k,{kind:"ghost",className:"mr-auto",disabled:A,onClick:this.handleSave,icon:Js,tooltip:"Save ".concat(Mn.SAVE.getDisplayText()),"aria-label":"Save"}),d.jsx(k,{kind:"ghost",className:"btn-overflow",disabled:A,icon:qs,tooltip:"More Actions...",onClick:()=>{},children:d.jsx(Kt,{actions:this.getDropdownOverflowActions,popperOptions:ye.POPPER_OPTIONS})})]}),d.jsx(Sh,{isLoaded:v,isLoading:m,error:h,onChange:this.handleEditorChange,onRunCommand:this.handleRunCommand,session:f,sessionLanguage:C,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy,settings:$,focusOnMount:F,ref:Ie=>{this.notebook=Ie}})]}),x&&d.jsx(Sp,{content:(t=$.value)!==null&&t!==void 0?t:"",onLinkClick:this.handleLinkClick,onRunCode:this.handleRunCommand,transformImageUri:this.handleTransformLinkUri,transformLinkUri:this.handleTransformLinkUri}),d.jsx(Uo,{isOpen:O,type:"file",defaultValue:L,title:N?"Rename":"Save file as",onSubmit:this.handleSaveAsSubmit,onCancel:this.handleSaveAsCancel,notifyOnExtensionChange:!0,storage:n}),d.jsx(Fn,{isOpen:y,headerText:'Are you sure you want to delete "'.concat(L,'"?'),bodyText:"You cannot undo this action.",onCancel:this.handleDeleteCancel,onConfirm:this.handleDeleteConfirm,confirmButtonText:"Delete"}),d.jsx(Fn,{isOpen:S,headerText:"Do you want to save the changes you made to ".concat(L,"?"),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:R})]})]})}}Oe(ye,"COMPONENT","NotebookPanel");Oe(ye,"POPPER_OPTIONS",{placement:"bottom-end"});Oe(ye,"DEFAULT_NAME","Untitled");Oe(ye,"UNSAVED_INDICATOR_CLASS_NAME","editor-unsaved-indicator");Oe(ye,"UNSAVED_STATUS_CLASS_NAME","is-unsaved");Oe(ye,"defaultProps",{isDashboardActive:!0,isPreview:!1,session:null,sessionLanguage:null,defaultNotebookSettings:{isMinimapEnabled:!0}});var Pp=(i,e)=>{var t=so(i),n=Nd(i),r=$n(i,e.localDashboardId),{session:a,config:s}=r??{},{type:o}=s??{};return{fileStorage:t,defaultNotebookSettings:n,session:a,sessionLanguage:o}},wp=Ke(Pp,{updateSettings:Gd},null,{forwardRef:!0})(ye);const Rt=wp;function zo(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:to,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function Ya(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 Xa(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ya(Object(t),!0).forEach(function(n){Di(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ya(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Di(i,e,t){return e=Tp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Tp(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)}class Mr extends p.Component{constructor(e){super(e),Di(this,"irisGridRef",void 0),this.irisGridRef=Z.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(In,Xa(Xa({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:d.jsx(zo,{onClick:this.handleReload})}))}}Di(Mr,"defaultProps",{panelState:null});Di(Mr,"COMPONENT","PandasPanel");const Np=Mr;function Za(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 Qa(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Za(a,n,r,s,o,"next",l)}function o(l){Za(a,n,r,s,o,"throw",l)}s(void 0)})}}function Ja(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){Ja(this,"items",void 0),Ja(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];Ue(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];Ue(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return Qa(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return Qa(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 Fp=Mp;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 hn(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 xp(i,e,t){return e=Ip(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ip(i){var e=Rp(i,"string");return typeof e=="symbol"?e:String(e)}function Rp(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 kp{constructor(e){xp(this,"items",void 0),this.items=e}getTable(){var e=this;return hn(function*(){return new Fp(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return hn(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return hn(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return hn(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=U.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return hn(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Ti;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 uf=kp;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 hi(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){jp(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 jp(i,e,t){return e=Ap(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ap(i){var e=_p(i,"string");return typeof e=="symbol"?e:String(e)}function _p(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 ns(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 $p(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ns(a,n,r,s,o,"next",l)}function o(l){ns(a,n,r,s,o,"throw",l)}s(void 0)})}}function Up(i,e,t,n,r,a){return ar.apply(this,arguments)}function ar(){return ar=$p(function*(i,e,t,n,r,a){var s,o,l,u;if(On(n)?(s=n.settings,o=n.table,l=void 0,u=n.tableSettings):(s={},o="",l=_o(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 Pn.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 Pn.makeModel(i,s,c,e)}var m={name:o,type:i.VariableType.TABLE},b=yield t.getObject(m);return new je(i).applyTableSettings(b,u,mr(vu.getState())),Pn.makeModelFromSettings(i,s,b,e)}),ar.apply(this,arguments)}var Fr=p.forwardRef((i,e)=>{var t=$t(),n=ci(),r=md(),a=Ec(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 Up(t,n,r,o,s,a)}}),[t,r,s,a,o,l,n]);return d.jsx(Pi,hi(hi({ref:e},i),u))});Fr.displayName="ChartPanelPlugin";const hf=Fr;function is(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 Hp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){is(a,n,r,s,o,"next",l)}function o(l){is(a,n,r,s,o,"throw",l)}s(void 0)})}}function Vp(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=Hp(function*(){var u=yield a(),h=yield Pn.makeModel(e,void 0,u,t);s||r(h)}),l.apply(this,arguments)}return o(),()=>{s=!0}},[e,a,t]),n?d.jsx(Vs,{model:n}):null}var Gp={name:"ChartPanel",title:"Chart",type:Nt.WIDGET_PLUGIN,component:Vp,panelComponent:Fr,supportedTypes:"Figure",icon:hr};const cf=Gp;function Bp(i){nn(i);var{id:e,layout:t}=i,n=$t(),r=ci(),a=p.useCallback(s=>{var{metadata:o,panelId:l=$e.generate(),table:u}=s,{settings:h}=o,c=()=>Pn.makeModelFromSettings(n,h,u,r),v=Hs.titleFromSettings(h),m={type:"react-component",component:Pi.COMPONENT,props:{localDashboardId:e,id:l,metadata:o,makeModel:c},title:v,id:l},{root:b}=t;M.openComponent({root:b,config:m})},[r,n,e,t]);return me(t.eventHub,Ze.CREATE_CHART,a),null}var Wp={name:"ChartBuilderPlugin",type:Nt.DASHBOARD_PLUGIN,component:Bp};const vf=Wp;function rs(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 as(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rs(Object(t),!0).forEach(function(n){Kp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):rs(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Kp(i,e,t){return e=zp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zp(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 pe=z.module("ConsolePlugin");function ss(i){return i.notebook!==void 0}function Yp(i){nn(i)}function pf(i){Yp(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=Is(),m=p.useCallback(()=>r.getLastUsedPanelOfType(Hi),[r]),b=p.useCallback((P,w)=>{u(D=>new Map(D.set(P,w)))},[u]),g=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 W=m();if(!W||!(W instanceof Hi.WrappedComponent)){pe.error("Console panel not found");return}pe.debug("Send command: ",P,w,D),W.addCommand(P,w,D)}},[m]),S=p.useCallback(P=>{v(bc(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 $e.generate()},[l,h]),F=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),g(P),D!=null&&b(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}F(D,U.getBaseName(w))},[l,h,F,b,f,g,C]),x=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 W=l.get(B);if(P===W){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(W));return}b(B,P),h.has(B)&&C(B)},[l,h,L,b,f,C]),$=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}g(D)},[g,C]),q=p.useCallback((P,w)=>{pe.debug("closeFilePanel",P);var{id:D}=P,B=null,W=!1;if(l.has(D))B=l.get(D);else if(h.has(D))B=h.get(D),W=!0;else{pe.debug("File ".concat(D," isn't open, ignore close event"));return}$(P,W),M.closeComponent(n.root,{id:B},w)},[n.root,l,h,$]),j=p.useCallback(P=>{var{itemName:w}=P;return U.getBaseName(w)},[]),G=p.useCallback(P=>{var{id:w}=P;return pe.debug("fileIsOpen",P,w,l),w!=null&&l.has(w)},[l]),A=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&&ss(w)&&w.focus()}},[r]),K=p.useCallback(P=>{var{id:w,settings:D,fileMetadata:B,session:W,sessionLanguage:ve,isPreview:T=!1}=P,V={settings:D,fileMetadata:B},Y=j(B);return{type:"react-component",component:Rt.COMPONENT,isFocusOnShow:!1,props:{localDashboardId:e,metadata:{id:w},session:W,sessionLanguage:ve,panelState:V,isPreview:T,notebooksUrl:s},title:Y,id:w}},[j,e,s]),H=p.useCallback(function(P,w,D){var B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{id:null,itemName:y(D)},W=O(B);if(G(B)&&W!=null){pe.debug("File is already open, focus panel"),x(B),R(W);return}var ve=M.getStackForComponentTypes(n.root,[Rt.COMPONENT]),T=K({id:W,settings:D,fileMetadata:B,session:P,sessionLanguage:w});pe.debug("createNotebook",T,l),M.openComponentInStack(ve,T)},[G,R,y,O,n.root,K,l,x]),ce=p.useCallback(function(P,w,D,B){var W=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;pe.debug("selectNotebook",B,W);var ve=G(B),T=A(B),[V]=[...h.values()],Y=!W,ae=Y&&V?V:O(B);if(ae==null||ae==="")throw new Error("Unable to retrieve or create panelId for metadata",B);if(ve||T)x(B);else{var Se=M.getStackForComponentTypes(n.root,[Rt.COMPONENT]),xi=K({id:ae,settings:D,fileMetadata:B,session:P,sessionLanguage:w,isPreview:Y});M.openComponentInStack(Se,xi)}if(T&&W){var Vn=B.id,Ii=M.getStackForConfig(n.root,{component:Rt.COMPONENT,id:ae}),ln=M.getContentItemInStack(Ii,{component:Rt.COMPONENT,id:ae});ln&&xl(ln)&&(ln.container.emit(ie.PROMOTE_FROM_PREVIEW),C(Vn),b(Vn,ae))}W&&R(ae)},[x,G,A,R,O,n.root,K,h,C,b]),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,W=r.getLastUsedPanelOfType(Rt);W&&ss(W)?D!=null&&D.value!=null&&W.notebook!=null&&W.notebook.append(D.value):B&&H(P,w,D)},[H,r]),Ie=p.useCallback((P,w)=>Il.hydrate(as(as({},P),{},{notebooksUrl:s}),w),[s]);return dn(a,Hi,t),dn(a,Ic),dn(a,Tv),dn(a,np),dn(a,Rt,Ie),me(n.eventHub,We.SEND_COMMAND,E),me(n.eventHub,We.SETTINGS_CHANGED,S),me(n.eventHub,ie.CLOSE_FILE,q),me(n.eventHub,ie.CREATE_NOTEBOOK,H),me(n.eventHub,ie.SELECT_NOTEBOOK,ce),me(n.eventHub,ie.RENAME,F),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,$),null}var cn=z.module("FilterPlugin");function os(i,e){return i.concat(e)}function Xp(i){nn(i);var{id:e,layout:t,registerComponent:n}=i,r=Is(),[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(os,[]).sort((S,y)=>{var O=qe.toLower(S.name),F=qe.toLower(y.name);if(O!==F)return O>F?1:-1;var L=qe.toLower(S.type),x=qe.toLower(y.type);return L!==x?L>x?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(os,[]).sort((S,y)=>S.timestamp-y.timestamp),E=new Map(o);cn.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)=>{cn.debug2("handleColumnsChanged",f,C),a.set(f,[].concat(C)),l()},[a,l]),h=p.useCallback((f,C)=>{cn.debug2("handleFiltersChanged",f,C),s.set(f,[].concat(C)),l()},[s,l]),c=p.useCallback((f,C)=>{cn.debug2("handleTableChanged",f,C),o.set(M.getIdFromPanel(f),C),l()},[o,l]),v=p.useCallback(f=>{cn.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=$e.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=null}=f,x={type:"react-component",component:At.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:x,focusElement:O,createNewStack:F,dragEvent:L})},[t,e]),b=p.useCallback(f=>{var{title:C="InputFilter",metadata:E={},panelState:S=null,id:y=$e.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=f,x={type:"react-component",component:Ln.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:x,focusElement:O,createNewStack:F,dragEvent:L})},[t,e]),g=p.useCallback(f=>{var{title:C="FilterSets",metadata:E={},panelState:S=null,id:y=$e.generate(),focusElement:O=M.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=null}=f,x={type:"react-component",component:Gi.COMPONENT,props:{id:y,metadata:E,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;M.openComponent({root:N,config:x,focusElement:O,createNewStack:F,dragEvent:L})},[t,e]);return p.useEffect(function(){var C=[n(At.COMPONENT,At),n(Ln.COMPONENT,Ln),n(Gi.COMPONENT,Gi)];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,b),me(t.eventHub,fe.OPEN_FILTER_SET_MANAGER,g),me(t.eventHub,oe.UNMOUNT,v),null}var Zp={name:"FilterPlugin",type:Nt.DASHBOARD_PLUGIN,component:Xp};const mf=Zp;var Qp=z.module("@deephaven/app-utils/useTablePlugin");function Jp(){var i=no(),e=p.useCallback(t=>{var n=i.get(t);if(n!=null){if(fd(n))return n.component;if(gd(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw Qp.error(r),new Error(r)},[i]);return e}function ls(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 em(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){ls(a,n,r,s,o,"next",l)}function o(l){ls(a,n,r,s,o,"throw",l)}s(void 0)})}}function qo(i,e){var t=$t(),n=Jp(),r=p.useMemo(()=>({loadPlugin:n,localDashboardId:e,makeModel:function(){var a=em(function*(){var o=yield i();return ur.makeModel(t,o)});function s(){return a.apply(this,arguments)}return s}()}),[t,n,i,e]);return r}function ds(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 us(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ds(Object(t),!0).forEach(function(n){tm(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ds(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function tm(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)}var xr=p.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n}=i,r=qo(n,t);return d.jsx(In,us(us({ref:e},i),r))});xr.displayName="GridPanelPlugin";const ff=xr;function hs(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 rm(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){hs(a,n,r,s,o,"next",l)}function o(l){hs(a,n,r,s,o,"throw",l)}s(void 0)})}}function am(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=rm(function*(){var l=yield r(),u=yield ur.makeModel(e,l);a||n(u)}),o.apply(this,arguments)}return s(),()=>{a=!0}},[e,r]),t?d.jsx(vi,{model:t}):null}var sm={name:"IrisGridPanel",title:"Table",type:Nt.WIDGET_PLUGIN,component:am,panelComponent:xr,supportedTypes:["Table","TreeTable","HierarchicalTable"],icon:cr};const gf=sm;function cs(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?cs(Object(t),!0).forEach(function(n){Yo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):cs(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Yo(i,e,t){return e=om(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function om(i){var e=lm(i,"string");return typeof e=="symbol"?e:String(e)}function lm(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 Xo(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function vs(i){var e=i;return Xo(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function ps(i){var e;return i.description===void 0||!((e=i.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var vn=z.module("LinkerUtils");class Mi{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 vn.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return vn.error("PanelComponent should not be null",e,t),"invalid";var a=(r=Mi.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(a===void 0||!a)return vn.debug2("Incompatible panel components",e,t),"invalid";var{columnType:s}=e,{columnType:o}=t,l=o===null||Ae.isCompatibleType(s,o);if(!l)return vn.debug2("Incompatible type",s,o),"invalid";switch(t.panelComponent){case M.getComponentName(Pi):return"chartLink";case M.getComponentName(In):return"tableLink";case M.getComponentName(At):return"filterSource"}return vn.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:$e.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:$e.generate(),end:bt(bt({},a.end),{},{panelId:n})}))}),r}}Yo(Mi,"ALLOWED_LINKS",new Map([[M.getComponentName(In),[M.getComponentName(In),M.getComponentName(Pi),M.getComponentName(At)]]]));const Gt=Mi;function Zo(i,e,t){return e=dm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function dm(i){var e=um(i,"string");return typeof e=="symbol"?e:String(e)}function um(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 hm=z.module("LinkerLink"),ms=.015,fs=1.5,Qo=12,Jo=12,gs=2,ti=Math.sqrt((Jo*.5)**2+Qo**2),bs=Math.asin(Jo*.5/Qo),Cs=15,Ct=Math.PI*.5;class zt 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 Rl(t);if(Ae.isTextType(e))return kl(t);if(Ae.isDateType(e))return jl(t);if(Ae.isBooleanType(e)){if(t===mn.eq)return"is equal to";if(t===mn.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return hm.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=[mn.eq,mn.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:zt.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),b=Math.sin(m),g=Math.cos(m)+2,f=window.innerWidth,C=window.innerHeight,E=0,S=0,y=Math.max(E,Math.min(r+(s-r)/2+b*(v*ms)**fs,f)),O=Math.max(S,Math.min(a+(o-a)/2+g*(v*ms)**fs,C)),F="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(zt.makeCirclePath(r,a,Cs),`
24
+ `).concat(zt.makeCirclePath(s,o,Cs)),x="link-select-clip-".concat(l),N=Math.atan2(o-O,s-y),$=N-bs+Math.PI,q=N+bs+Math.PI,j=s+Math.cos(N)*gs,G=o+Math.sin(N)*gs,A=j+Math.cos($)*ti,R=G+Math.sin($)*ti,K=j+Math.cos(q)*ti,H=G+Math.sin(q)*ti,ce="".concat(j,",").concat(G," ").concat(A,",").concat(R," ").concat(K,",").concat(H),Ce=.25*r+.5*y+.25*s,Ie=.25*a+.5*O+.25*o,P=y-r+(s-y),w=O-a+(o-O),D=w/P,B=20,W=B/Math.sqrt(1+D**2),ve=W*D,T=W*-1,V=ve*-1;Number.isFinite(D)?D>0?(W*=-1,ve*=-1,T*=-1,V*=-1,T-=50-10*(Math.abs(m)%Ct),V+=10*(Math.abs(m)%Ct),W-=50-10*(Math.abs(m)%Ct),ve+=10*(Math.abs(m)%Ct)):D<0?(T+=10*(Math.abs(m)%Ct),V+=10*(Math.abs(m)%Ct),W+=10*(Math.abs(m)%Ct),ve+=10*(Math.abs(m)%Ct)):(T=15,V=10,W=-25,ve=10):(T=10,V=5,W=10,ve=-35);var Y="";t!==void 0&&(t==="startsWith"?Y="a*":t==="endsWith"?Y="*z":Y=Ae.getFilterOperatorString(t));var ae=h!=="chartLink"&&h!=="filterSource";return d.jsxs(d.Fragment,{children:[d.jsxs("svg",{className:X(e,{hovering:c}),children:[d.jsx("clipPath",{id:x,children:d.jsx("path",{d:L,clipRule:"evenodd"})}),d.jsx("path",{className:"link-select",d:F,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(x,")"),"data-testid":"link-select"}),d.jsx("path",{className:"link-background",d:F}),d.jsx("path",{className:"link-foreground",d:F}),d.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),d.jsx("polygon",{className:"link-triangle",points:ce})]}),u!=null&&n&&d.jsxs(d.Fragment,{children:[ae&&d.jsx(k,{kind:"primary",className:"btn-fab btn-operator",style:{top:Ie+(D>=0?ve:V),left:Ce+(D>=0?W:T)},onClick:()=>{},icon:d.jsxs("div",{className:"fa-md fa-layers",children:[d.jsx("b",{children:Y}),d.jsx(J,{icon:Wt,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:d.jsx(Kt,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),d.jsx(k,{kind:"primary",className:"btn-fab btn-delete",style:{top:Ie+(D<0?ve:V),left:Ce+(D<0?W:T)},onClick:this.handleDelete,icon:kn,tooltip:"Delete"})]})]})}}Zo(zt,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const cm=zt;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){Ir(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 Ir(i,e,t){return e=vm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vm(i){var e=pm(i,"string");return typeof e=="symbol"?e:String(e)}function pm(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 Bi=z.module("LinkerOverlayContent");class el 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=Z.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){Bi.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(!Xo(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var s=a.getCoordinateForColumn(r);if(s!=null)return s}catch{Bi.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?Es(Es({},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=Bn(e.x,0,window.innerWidth-t.width),r=Bn(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=Bn(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),s=Bn(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(b=>{try{var g,f,{id:C,type:E,isReversed:S,start:y,end:O,operator:F}=b,L=y.columnType,[x,N]=this.getPointFromLinkPoint(y),$=(g=u==null?void 0:u.x)!==null&&g!==void 0?g:x,q=(f=u==null?void 0:u.y)!==null&&f!==void 0?f:N;if(O!=null&&([$,q]=this.getPointFromLinkPoint(O)),S!=null&&S){var[j,G]=[x,N];[x,N]=[$,q],[$,q]=[j,G]}var A=X("linker-link",{disabled:e},{"link-filter-source":E==="filterSource"},{"link-invalid":E==="invalid"},{interactive:b.end==null},{"link-is-selected":n.has(C)},{"danger-delete":v==="delete"});return{x1:x,y1:N,x2:$,y2:q,id:C,className:A,operator:F,startColumnType:L,type:E}}catch(R){return Bi.warn("Unable to get point for link",b,R),null}}).filter(b=>b!=null);return d.jsxs("div",{className:X("linker-overlay",{"danger-delete":v==="delete"}),children:[m.map(b=>{var{x1:g,y1:f,x2:C,y2:E,id:S,className:y,operator:O,startColumnType:F,type:L}=b;return d.jsx(cm,{className:y,id:S,x1:g,y1:f,x2:C,y2:E,onClick:a,onDelete:s,isSelected:n.has(S),operator:O,startColumnType:F,type:L,onOperatorChanged:this.handleOperatorChanged},S)}),d.jsxs("div",{className:X("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:hd,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:Mn.LINKER_CLOSE,isGlobal:!0}]})]})}}Ir(el,"defaultProps",{disabled:"false"});const mm=el;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){tl(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 tl(i,e,t){return e=fm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fm(i){var e=gm(i,"string");return typeof e=="symbol"?e:String(e)}function gm(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("Linker"),bm=(i,e)=>({activeTool:fr(i),dh:io(i),isolatedLinkerPanelId:yr(i,e.localDashboardId),links:on(i,e.localDashboardId),timeZone:mr(i)}),Cm=Ke(bm,{setActiveTool:ho,setDashboardLinks:wr,addDashboardLinks:mc,deleteDashboardLinks:fc,setDashboardIsolatedLinkerPanelId:jo,setDashboardColumnSelectionValidator:gc});class Sm extends p.Component{constructor(e){super(e),tl(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){Ee.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(Ze.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(Ze.DATA_SELECTED,this.handleUpdateValues),t.on(Ze.STATE_CHANGED,this.handleStateChange),t.on(tr.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(oe.CLONED,this.handlePanelCloned),t.on(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(oe.CLOSE,this.handlePanelClosed),t.on(oe.CLOSED,this.handlePanelClosed),t.on(oe.DRAGGING,this.handlePanelDragging),t.on(oe.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(Ze.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(Ze.DATA_SELECTED,this.handleUpdateValues),t.off(Ze.STATE_CHANGED,this.handleStateChange),t.off(tr.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(oe.CLONED,this.handlePanelCloned),t.off(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(oe.CLOSE,this.handlePanelClosed),t.off(oe.CLOSED,this.handlePanelClosed),t.off(oe.DRAGGING,this.handlePanelDragging),t.off(oe.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){Ee.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){Ee.debug("handleColumnsChanged",e,t);var{links:n}=this.props,r=M.getIdFromPanel(e);if(r==null){Ee.error("Invalid panelId",e);return}var a=n.filter(s=>{var{start:o,end:l}=s;return o.panelId===r&&Gt.findColumn(t,o)==null||l!=null&&l.panelId===r&&Gt.findColumn(t,l)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!ps(t)){Ee.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:$e.generate(),start:{panelId:o,panelComponent:l,columnName:u,columnType:h},type:"invalid",isReversed:n};Ee.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:v}=this.props,{start:m,id:b,isReversed:g}=s,f={panelId:o,panelComponent:l,columnName:u,columnType:h},C=Gt.getLinkType(g!==void 0&&g?f:m,g!==void 0&&g?m:f,r??a);switch(C){case"invalid":Ee.debug("Ignore invalid link connection",s,f);return;case"filterSource":{var E=g!==void 0&&g?m.panelId:f.panelId,S=v.filter(x=>{var{end:N}=x;return(N==null?void 0:N.panelId)===E});this.deleteLinks(S);break}case"chartLink":{var y=g===!0?m:f,O=g===!0?f:m;Ee.debug("creating chartlink",{existingLinkEnd:y,start:m,end:f});var F=v.filter(x=>{var{end:N,start:$}=x;return($==null?void 0:$.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(F);break}}var L={start:g!==void 0&&g?f:m,end:g!==void 0&&g?m:f,id:b,type:C,operator:mn.eq};Ee.info("creating link",L),this.setState({linkInProgress:void 0,selectedIds:new Set([b])},()=>{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?vs(o)?o.unsetFilterValue(a,s):Ee.debug("endPanel.unsetFilterValue not implemented",o):Ee.debug("endPanel no longer exists, ignoring unsetFilterValue",r)}}setPanelFilterMap(e,t){Ee.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,r=n.getOpenedPanelById(e);r?vs(r)?r.setFilterMap(t):Ee.debug("panel.setFilterMap not implemented",e,r):Ee.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]):Ee.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:b}=h,g=o.has(v)?o.get(v):new Map,f=g.has(m)===!0?g.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),b!=null&&Ae.isDateType(b)){var F=new Bs(r,{timeZone:s,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Al.FULL_DATE_FORMAT});O=F.format(y)}var L={operator:c,text:O,value:y,startColumnIndex:C};f.push(L),g.set(m,{columnType:b,filterList:f}),o.set(v,g)}}o.forEach((x,N)=>{this.setPanelFilterMap(N,x)})}handlePanelCloned(e,t){var{links:n}=this.props,r=M.getIdFromPanel(e),a=t.id;if(r!=null){var s=Gt.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){Ee.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:Ps(Ps({},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(!ps(t))return Ee.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?Gt.getLinkType(l,s,r):Gt.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(qi,{in:o,timeout:Zi.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:d.jsx(mm,{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 Em=Cm(Sm);const ym=Em;function Pm(i){nn(i);var{id:e,layout:t,panelManager:n}=i;return d.jsx(ym,{layout:t,localDashboardId:e,panelManager:n})}var wm={name:"LinkerPlugin",type:Nt.DASHBOARD_PLUGIN,component:Pm};const bf=wm;function nl(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)}class tn{static getNewMarkdownTitle(e){for(var t="".concat(tn.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(tn.DEFAULT_TITLE,"-").concat(n);return t}}nl(tn,"DEFAULT_TITLE","Note");nl(tn,"DEFAULT_CONTENT",`# Markdown Note
25
25
 
26
- This note can be edited using **markdown** for styling.`);const Wi=tn;function Lm(i){nn(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===Wi.DEFAULT_CONTENT?null:jl(o)},[]),s=p.useCallback(function(){var{title:o="",metadata:l={},id:u=$e.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(un.COMPONENT),b=n.getClosedPanelConfigsOfType(un.COMPONENT),g=m.map(y=>{var O;return(O=y.title)!==null&&O!==void 0?O:""}),f=o!=null&&o!==""?o:Wi.getNewMarkdownTitle(g),C=b.length>0?null:Wi.DEFAULT_CONTENT,E={type:"react-component",component:un.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(un.COMPONENT,un,Al,a)];return()=>{l.forEach(u=>u())}},[a,r]),me(t.eventHub,Xh.OPEN,s),null}var Dm={name:"MarkdownPlugin",type:Nt.DASHBOARD_PLUGIN,component:Lm};const Sf=Dm;function Ps(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 ws(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ps(Object(t),!0).forEach(function(n){Mm(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ps(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Mm(i,e,t){return e=Fm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fm(i){var e=xm(i,"string");return typeof e=="symbol"?e:String(e)}function xm(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=zo(n,t);return d.jsx(Lp,ws(ws({ref:e},i),r))});Rr.displayName="PandasPanelPlugin";const Ef=Rr;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 Ki(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 Im(i){var e=$t(),[t,n]=p.useState(),[r,a]=p.useState(!0),[s,o]=p.useState(!1),{fetch:l}=i,u=p.useCallback(Ki(function*(){var c=yield l();return ur.makeModel(e,c)}),[e,l]),h=p.useCallback(Ki(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=Ki(function*(){var b=yield u();c||(n(b),o(!0),a(!1))}),m.apply(this,arguments)}return v(),a(!0),()=>{c=!0}},[u]),d.jsxs(d.Fragment,{children:[d.jsx(pr,{isLoaded:s,isLoading:r}),t&&d.jsx(vi,{model:t,children:d.jsx(Ko,{onClick:h})})]})}var Rm={name:"PandasPanel",title:"Pandas",type:Nt.WIDGET_PLUGIN,component:Im,panelComponent:Rr,supportedTypes:"pandas.DataFrame",icon:Ws};const yf=Rm;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 pn(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){km(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 km(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)}var _m=z.module("WidgetLoaderPlugin");function $m(i){var e;function t(n,r){var a=i.component,{metadata:s}=n,o=_l(a);return d.jsx(Si,pn(pn({widgetName:s==null?void 0:s.name,widgetType:i.title},n),{},{children:o?d.jsx(a,pn(pn({},n),{},{ref:r})):d.jsx(a,pn({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),p.forwardRef(t)}function Um(i){var e=to(),t=p.useMemo(()=>{var o=new Map;return e.forEach(l=>{fd(l)&&[l.supportedTypes].flat().forEach(u=>{if(u!=null&&u!==""){if(o.has(u)){var h;_m.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]);nn(i);var{id:n,layout:r,registerComponent:a}=i,s=p.useCallback(o=>{var l,{dragEvent:u,fetch:h,panelId:c=$e.generate(),widget:v}=o,{id:m,type:b}=v,g=(l=v.title)!==null&&l!==void 0?l:v.name,f=t.get(b);if(f!=null){var C={id:m,name:g,type:b},E={localDashboardId:n,metadata:C,fetch:h},S={type:"react-component",component:f.name,props:E,title:g,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,$m(l)):a(l.name,u)});return()=>{o.forEach(l=>l())}},[a,t]),me(r.eventHub,oe.OPEN,s),null}var Hm={name:"WidgetLoaderPlugin",type:Nt.DASHBOARD_PLUGIN,component:Um};const Pf=Hm;function Fi(i,e,t){return e=Vm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vm(i){var e=Gm(i,"string");return typeof e=="symbol"?e:String(e)}function Gm(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 Hn{}Fi(Hn,"DROPDOWN_FILTER","ControlType.DROPDOWN_FILTER");Fi(Hn,"INPUT_FILTER","ControlType.INPUT_FILTER");Fi(Hn,"MARKDOWN","ControlType.MARKDOWN");Fi(Hn,"FILTER_SET_MANAGER","ControlType.FILTER_SET_MANAGER");const wf=Hn;var Bm=_.shape({state:_.shape({panelState:_.shape({})})}),Wm=_.shape({panelId:_.string.isRequired,columnName:_.string.isRequired,columnType:_.string.isRequired}),Ns=_.shape({panelId:_.string.isRequired,columnName:_.string.isRequired}),nl=_.shape({start:Ns,end:Ns,id:_.string,isReversed:_.bool}),Km=_.arrayOf(nl),zm=_.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}),qm=Object.freeze({LinkPoint:Wm,Link:nl,Links:Km,Panel:Bm,User:zm});const Tf=qm;var Ym=(i,e)=>i[e]===null?null:_.bool,Xm=(i,e)=>i[e]===null?null:_.string,Zm=Object.freeze({nullableBoolean:Ym,nullableString:Xm});const Of=Zm;export{Wp as ChartBuilderPlugin,pf as ChartBuilderPluginConfig,tr as ChartEvent,Pi as ChartPanel,cf as ChartPanelPlugin,vf as ChartPluginConfig,Gp as ChartWidgetPlugin,Rc as CommandHistoryPanel,Of as CommonPropTypes,We as ConsoleEvent,Hi as ConsolePanel,mf as ConsolePlugin,wf as ControlType,At as DropdownFilterPanel,Ov as FileExplorerPanel,Zp as FilterPlugin,ff as FilterPluginConfig,Mv as FilterSetManager,Gi as FilterSetManagerPanel,gf as GridPanelPlugin,bf as GridPluginConfig,sm as GridWidgetPlugin,fe as InputFilterEvent,Ln as InputFilterPanel,Ze as IrisGridEvent,In as IrisGridPanel,wm as LinkerPlugin,Cf as LinkerPluginConfig,Gt as LinkerUtils,ip as LogPanel,Xh as MarkdownEvent,un as MarkdownPanel,Lm as MarkdownPlugin,Sf as MarkdownPluginConfig,hf as MockFileStorage,ie as NotebookEvent,Rt as NotebookPanel,af as PandasEvent,Lp as PandasPanel,Ef as PandasPanelPlugin,yf as PandasPluginConfig,Im as PandasWidgetPlugin,pt as Panel,zn as TabEvent,at as ToolType,Tf as UIPropTypes,Um as WidgetLoaderPlugin,Pf as WidgetLoaderPluginConfig,Si as WidgetPanel,Ci as WidgetPanelTooltip,fc as addDashboardLinks,gc as deleteDashboardLinks,Pr as getColumnSelectionValidatorForDashboard,Ro as getColumnsForDashboard,lf as getDashboardConnection,of as getDashboardConsoleSettings,$n as getDashboardSessionWrapper,mc as getFilterSetsForDashboard,Sr as getInputFiltersForDashboard,yr as getIsolatedLinkerPanelIdForDashboard,on as getLinksForDashboard,Er as getTableMapForDashboard,yc as isChartPanelDehydratedProps,Ao as isChartPanelFigureMetadata,On as isChartPanelTableMetadata,Ec as isGLChartPanelState,xv as isIrisGridPanelMetadata,Fv as isLegacyIrisGridPanelMetadata,bc as setDashboardColumnSelectionValidator,df as setDashboardConnection,Cc as setDashboardConsoleSettings,Sc as setDashboardFilterSets,ko as setDashboardIsolatedLinkerPanelId,wr as setDashboardLinks,uf as setDashboardSessionWrapper,em as useLoadTablePlugin};
27
- //# sourceMappingURL=index-27f2ea37.js.map
26
+ This note can be edited using **markdown** for styling.`);const Wi=tn;function Nm(i){nn(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===Wi.DEFAULT_CONTENT?null:_l(o)},[]),s=p.useCallback(function(){var{title:o="",metadata:l={},id:u=$e.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(un.COMPONENT),b=n.getClosedPanelConfigsOfType(un.COMPONENT),g=m.map(y=>{var O;return(O=y.title)!==null&&O!==void 0?O:""}),f=o!=null&&o!==""?o:Wi.getNewMarkdownTitle(g),C=b.length>0?null:Wi.DEFAULT_CONTENT,E={type:"react-component",component:un.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(un.COMPONENT,un,$l,a)];return()=>{l.forEach(u=>u())}},[a,r]),me(t.eventHub,Yh.OPEN,s),null}var Lm={name:"MarkdownPlugin",type:Nt.DASHBOARD_PLUGIN,component:Nm};const Cf=Lm;function ws(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 Ts(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ws(Object(t),!0).forEach(function(n){Dm(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ws(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 Rr=p.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n}=i,r=qo(n,t);return d.jsx(Np,Ts(Ts({ref:e},i),r))});Rr.displayName="PandasPanelPlugin";const Sf=Rr;function Os(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 Ki(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(l){Os(a,n,r,s,o,"next",l)}function o(l){Os(a,n,r,s,o,"throw",l)}s(void 0)})}}function xm(i){var e=$t(),[t,n]=p.useState(),[r,a]=p.useState(!0),[s,o]=p.useState(!1),{fetch:l}=i,u=p.useCallback(Ki(function*(){var c=yield l();return ur.makeModel(e,c)}),[e,l]),h=p.useCallback(Ki(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=Ki(function*(){var b=yield u();c||(n(b),o(!0),a(!1))}),m.apply(this,arguments)}return v(),a(!0),()=>{c=!0}},[u]),d.jsxs(d.Fragment,{children:[d.jsx(pr,{isLoaded:s,isLoading:r}),t&&d.jsx(vi,{model:t,children:d.jsx(zo,{onClick:h})})]})}var Im={name:"PandasPanel",title:"Pandas",type:Nt.WIDGET_PLUGIN,component:xm,panelComponent:Rr,supportedTypes:"pandas.DataFrame",icon:Ks};const Ef=Im;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 pn(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){Rm(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 Rm(i,e,t){return e=km(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function km(i){var e=jm(i,"string");return typeof e=="symbol"?e:String(e)}function jm(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 Am=z.module("WidgetLoaderPlugin");function _m(i){var e;function t(n,r){var a=i.component,{metadata:s}=n,o=Ul(a);return d.jsx(Si,pn(pn({widgetName:s==null?void 0:s.name,widgetType:i.title},n),{},{children:o?d.jsx(a,pn(pn({},n),{},{ref:r})):d.jsx(a,pn({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),p.forwardRef(t)}function $m(i){var e=no(),t=p.useMemo(()=>{var o=new Map;return e.forEach(l=>{bd(l)&&[l.supportedTypes].flat().forEach(u=>{if(u!=null&&u!==""){if(o.has(u)){var h;Am.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]);nn(i);var{id:n,layout:r,registerComponent:a}=i,s=p.useCallback(o=>{var l,{dragEvent:u,fetch:h,panelId:c=$e.generate(),widget:v}=o,{id:m,type:b}=v,g=(l=v.title)!==null&&l!==void 0?l:v.name,f=t.get(b);if(f!=null){var C={id:m,name:g,type:b},E={localDashboardId:n,metadata:C,fetch:h},S={type:"react-component",component:f.name,props:E,title:g,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,_m(l)):a(l.name,u)});return()=>{o.forEach(l=>l())}},[a,t]),me(r.eventHub,oe.OPEN,s),null}var Um={name:"WidgetLoaderPlugin",type:Nt.DASHBOARD_PLUGIN,component:$m};const yf=Um;function Fi(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=Vm(i,"string");return typeof e=="symbol"?e:String(e)}function Vm(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 Hn{}Fi(Hn,"DROPDOWN_FILTER","ControlType.DROPDOWN_FILTER");Fi(Hn,"INPUT_FILTER","ControlType.INPUT_FILTER");Fi(Hn,"MARKDOWN","ControlType.MARKDOWN");Fi(Hn,"FILTER_SET_MANAGER","ControlType.FILTER_SET_MANAGER");const Pf=Hn;var Gm=_.shape({state:_.shape({panelState:_.shape({})})}),Bm=_.shape({panelId:_.string.isRequired,columnName:_.string.isRequired,columnType:_.string.isRequired}),Ls=_.shape({panelId:_.string.isRequired,columnName:_.string.isRequired}),il=_.shape({start:Ls,end:Ls,id:_.string,isReversed:_.bool}),Wm=_.arrayOf(il),Km=_.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}),zm=Object.freeze({LinkPoint:Bm,Link:il,Links:Wm,Panel:Gm,User:Km});const wf=zm;var qm=(i,e)=>i[e]===null?null:_.bool,Ym=(i,e)=>i[e]===null?null:_.string,Xm=Object.freeze({nullableBoolean:qm,nullableString:Ym});const Tf=Xm;export{Bp as ChartBuilderPlugin,vf as ChartBuilderPluginConfig,tr as ChartEvent,Pi as ChartPanel,hf as ChartPanelPlugin,cf as ChartPluginConfig,Vp as ChartWidgetPlugin,Ic as CommandHistoryPanel,Tf as CommonPropTypes,We as ConsoleEvent,Hi as ConsolePanel,pf as ConsolePlugin,Pf as ControlType,At as DropdownFilterPanel,Tv as FileExplorerPanel,Xp as FilterPlugin,mf as FilterPluginConfig,Dv as FilterSetManager,Gi as FilterSetManagerPanel,ff as GridPanelPlugin,gf as GridPluginConfig,am as GridWidgetPlugin,fe as InputFilterEvent,Ln as InputFilterPanel,Ze as IrisGridEvent,In as IrisGridPanel,Pm as LinkerPlugin,bf as LinkerPluginConfig,Gt as LinkerUtils,np as LogPanel,Yh as MarkdownEvent,un as MarkdownPanel,Nm as MarkdownPlugin,Cf as MarkdownPluginConfig,uf as MockFileStorage,ie as NotebookEvent,Rt as NotebookPanel,rf as PandasEvent,Np as PandasPanel,Sf as PandasPanelPlugin,Ef as PandasPluginConfig,xm as PandasWidgetPlugin,pt as Panel,zn as TabEvent,at as ToolType,wf as UIPropTypes,$m as WidgetLoaderPlugin,yf as WidgetLoaderPluginConfig,Si as WidgetPanel,Ci as WidgetPanelTooltip,mc as addDashboardLinks,fc as deleteDashboardLinks,Pr as getColumnSelectionValidatorForDashboard,ko as getColumnsForDashboard,of as getDashboardConnection,sf as getDashboardConsoleSettings,$n as getDashboardSessionWrapper,pc as getFilterSetsForDashboard,Sr as getInputFiltersForDashboard,yr as getIsolatedLinkerPanelIdForDashboard,on as getLinksForDashboard,Er as getTableMapForDashboard,Ec as isChartPanelDehydratedProps,_o as isChartPanelFigureMetadata,On as isChartPanelTableMetadata,Sc as isGLChartPanelState,Fv as isIrisGridPanelMetadata,Mv as isLegacyIrisGridPanelMetadata,gc as setDashboardColumnSelectionValidator,lf as setDashboardConnection,bc as setDashboardConsoleSettings,Cc as setDashboardFilterSets,jo as setDashboardIsolatedLinkerPanelId,wr as setDashboardLinks,df as setDashboardSessionWrapper,Jp as useLoadTablePlugin};
27
+ //# sourceMappingURL=index-6be50a46.js.map