@deephaven/code-studio 1.19.0 → 1.19.1-console-types-fixes.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 (41) hide show
  1. package/build/assets/{AppRoot-NMo-Zlso.js → AppRoot-CNtsSRk_.js} +4 -4
  2. package/build/assets/{AppRoot-NMo-Zlso.js.map → AppRoot-CNtsSRk_.js.map} +1 -1
  3. package/build/assets/{Chart-DTLrmMQR.js → Chart-BP_eYjx7.js} +2 -2
  4. package/build/assets/{Chart-DTLrmMQR.js.map → Chart-BP_eYjx7.js.map} +1 -1
  5. package/build/assets/{ControlType-aAfFvujo.js → ControlType-qh7zzRDd.js} +16 -16
  6. package/build/assets/ControlType-qh7zzRDd.js.map +1 -0
  7. package/build/assets/{FormatterUtils-Bx4F0J3C.js → FormatterUtils-CVuXIeT9.js} +2 -2
  8. package/build/assets/{FormatterUtils-Bx4F0J3C.js.map → FormatterUtils-CVuXIeT9.js.map} +1 -1
  9. package/build/assets/{Grid-DMho49wj.js → Grid-DhZMKn96.js} +2 -2
  10. package/build/assets/{Grid-DMho49wj.js.map → Grid-DhZMKn96.js.map} +1 -1
  11. package/build/assets/{GridTokenMouseHandler-_sMp-3oP.js → GridTokenMouseHandler-BCNMiceB.js} +2 -2
  12. package/build/assets/{GridTokenMouseHandler-_sMp-3oP.js.map → GridTokenMouseHandler-BCNMiceB.js.map} +1 -1
  13. package/build/assets/{IrisGrid-BIN4MxWT.js → IrisGrid-BrtadI-X.js} +2 -2
  14. package/build/assets/{IrisGrid-BIN4MxWT.js.map → IrisGrid-BrtadI-X.js.map} +1 -1
  15. package/build/assets/{IrisGridModel-D5t8PwBh.js → IrisGridModel-DhjQE7o_.js} +3 -3
  16. package/build/assets/{IrisGridModel-D5t8PwBh.js.map → IrisGridModel-DhjQE7o_.js.map} +1 -1
  17. package/build/assets/{IrisGridShortcuts-CUFIxudN.js → IrisGridShortcuts-CH_2O4Ka.js} +2 -2
  18. package/build/assets/{IrisGridShortcuts-CUFIxudN.js.map → IrisGridShortcuts-CH_2O4Ka.js.map} +1 -1
  19. package/build/assets/{IrisGridThemeProvider-CkWwnuUb.js → IrisGridThemeProvider-vIgaLOvQ.js} +2 -2
  20. package/build/assets/{IrisGridThemeProvider-CkWwnuUb.js.map → IrisGridThemeProvider-vIgaLOvQ.js.map} +1 -1
  21. package/build/assets/{LocalWorkspaceStorage-DXCun5wd.js → LocalWorkspaceStorage-HmiVZU8V.js} +2 -2
  22. package/build/assets/{LocalWorkspaceStorage-DXCun5wd.js.map → LocalWorkspaceStorage-HmiVZU8V.js.map} +1 -1
  23. package/build/assets/{MarkdownEditor-C98uFJ1t.js → MarkdownEditor-BPeAvulp.js} +2 -2
  24. package/build/assets/{MarkdownEditor-C98uFJ1t.js.map → MarkdownEditor-BPeAvulp.js.map} +1 -1
  25. package/build/assets/{MarkdownNotebook-Dri21Gmn.js → MarkdownNotebook-D-Qhu6GW.js} +2 -2
  26. package/build/assets/{MarkdownNotebook-Dri21Gmn.js.map → MarkdownNotebook-D-Qhu6GW.js.map} +1 -1
  27. package/build/assets/{MissingPartitionError-DClkHVxz.js → MissingPartitionError-tXrHwtWs.js} +2 -2
  28. package/build/assets/{MissingPartitionError-DClkHVxz.js.map → MissingPartitionError-tXrHwtWs.js.map} +1 -1
  29. package/build/assets/{MockChartModel-eKFrNG3K.js → MockChartModel-HJ0R37fP.js} +2 -2
  30. package/build/assets/{MockChartModel-eKFrNG3K.js.map → MockChartModel-HJ0R37fP.js.map} +1 -1
  31. package/build/assets/{StyleGuideRoot-xed9z_XO.js → StyleGuideRoot-d1QdiBfa.js} +2 -2
  32. package/build/assets/{StyleGuideRoot-xed9z_XO.js.map → StyleGuideRoot-d1QdiBfa.js.map} +1 -1
  33. package/build/assets/{index-CIue_U7Z.js → index-B8a4Z0Mt.js} +2 -2
  34. package/build/assets/{index-CIue_U7Z.js.map → index-B8a4Z0Mt.js.map} +1 -1
  35. package/build/assets/{index-B5GSM_Gf.js → index-BTFzKv94.js} +6 -6
  36. package/build/assets/{index-B5GSM_Gf.js.map → index-BTFzKv94.js.map} +1 -1
  37. package/build/assets/{index-C3GY9AgD.js → index-CBmjXWjj.js} +3 -3
  38. package/build/assets/{index-C3GY9AgD.js.map → index-CBmjXWjj.js.map} +1 -1
  39. package/build/index.html +1 -1
  40. package/package.json +31 -31
  41. package/build/assets/ControlType-aAfFvujo.js.map +0 -1
@@ -1,9 +1,9 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MarkdownEditor-C98uFJ1t.js","./vendor-V8Io1aAM.js","./helpers-BosuxZz1.js","./vendor-CxhKlw2o.css","./ControlType-aAfFvujo.js","./index-C3GY9AgD.js","./monaco-DaE0jI-i.js","./monaco-CgHo24-M.css","./index-CwMW8ik0.css","./ControlType-BwdkHnnE.css","./mathjax-DBtzGpr4.js"])))=>i.map(i=>d[i]);
2
- import{r as f,I as u,K as ue,bC as An,a1 as oe,ad as O,bD as Wi,H as he,M as de,_ as Ge,a0 as rt,U as ie,b2 as fa,b1 as Un,av as ze,a3 as ga,af as ba,bE as I}from"./vendor-V8Io1aAM.js";import{F as Ve,dt as De,P as Ie,at as G,du as Jt,c as z,cj as Ca,cP as dn,cn as Sa,cq as ya,b9 as Ki,V as Pa,aw as zi,af as wa,dv as at,dw as ge,B as N,dx as lt,ah as Me,dy as un,a3 as qi,dz as Gt,cw as Xi,ac as hn,dA as Ht,X as pe,L as Bt,dB as st,dC as Et,dD as Ft,dE as Zi,c8 as F,y as rn,S as Ct,a as Yi,n as Qi,dF as cn,aa as Ea,a5 as Fa,dG as Ji,dH as er,b0 as Ta,cv as Da,am as ne,dI as $n,dl as Ma,dm as ka,f as tr,u as Wt,cU as xe,cr as Tt,cQ as $e,a0 as La,ay as nr,d8 as Oa,d5 as Na,cO as ir,z as an,cR as rr,dg as ar,T as qe,Y as ja,t as Ia,U as xa,dJ as lr,dK as sr,dL as or,dM as dr,bn as _a,an as ur,da as Ra,db as Aa,cX as Ua,cY as $a,ca as Va,b7 as Ga,dr as Ha,dN as Ba,dp as Wa,av as Ka,W as za,ds as qa,dq as Xa,ag as Za,aq as Ya,a7 as Qa,dO as Ja,a6 as el,aE as tl,dP as nl,aF as il,dQ as rl}from"./ControlType-aAfFvujo.js";import{aA as al,L as B,e as k,aO as ll,aP as sl,K as pn,aQ as ol,aR as dl,aS as hr,f as vn,aT as cr,y as Vn,aU as Gn,g as ul,F as hl,M as cl,b as pl,c as vl,N as St,s as ml,aV as fl,aW as gl,d as bl,aX as Cl,aY as Sl}from"./index-C3GY9AgD.js";import{C as yl,a as J,I as x,G as Mt,S as pr,L as vr,b as mn}from"./IrisGridModel-D5t8PwBh.js";import{d as Pl,M as Hn,n as wl,f as ke,l as Le,k as El,e as Fl,I as H,A as Tl,o as Dl,p as Ml,q as kl}from"./MissingPartitionError-DClkHVxz.js";import{F as Bn}from"./FormatterUtils-Bx4F0J3C.js";import{_ as Ll}from"./monaco-DaE0jI-i.js";function fn(i){var{className:e,isFlipped:t,children:n,"data-testid":r}=i,a=d=>{if(n.length!==2)throw new Error("CardFlip requires 2 children to function");return n[d]},l=f.useRef(null),s=f.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=f.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return f.useEffect(function(){if(!l.current)throw Error("ref undefined");l.current.addEventListener("transitionstart",s);var h=l.current;return function(){if(h!=null)return h.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:ue(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":r,children:[u.jsx("div",{className:"card-flip--back",children:a(0)}),u.jsx("div",{ref:l,className:"card-flip--front",onTransitionEnd:o,children:a(1)})]})}function Wn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Ol(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Wn(a,n,r,l,s,"next",o)}function s(o){Wn(a,n,r,l,s,"throw",o)}l(void 0)})}}var mr=f.createContext(null);mr.displayName="DeferredApiContext";function Nl(i){var[e,t]=f.useState(null),[n,r]=f.useState(null),a=f.useContext(mr),l=f.useContext(al);return f.useEffect(()=>{if(a==null){if(l!=null){t(l),r(null);return}t(null),r(new Error("No API available in useDeferredApi. Was code wrapped in ApiBootstrap or DeferredApiContext.Provider?"));return}var s=!1;function o(){return d.apply(this,arguments)}function d(){return d=Ol(function*(){if(i==null)s||(t(null),r(new Error("No widget provided to useDeferredApi")));else if(typeof a=="function")try{var h=yield a(i);s||(t(h),r(null))}catch(c){s||(t(null),r(c??new Error("Null error")))}else t(a)}),d.apply(this,arguments)}return o(),()=>{s=!0}},[l,a,i]),[e,n]}function Kn(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?Kn(Object(t),!0).forEach(function(n){$(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Kn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function $(i,e,t){return(e=jl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jl(i){var e=Il(i,"string");return typeof e=="symbol"?e:e+""}function Il(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var W=B.module("FigureChartModel");class yt extends yl{constructor(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,$(this,"chartUtils",void 0),$(this,"dh",void 0),$(this,"figure",void 0),$(this,"settings",void 0),$(this,"data",void 0),$(this,"layout",void 0),$(this,"seriesDataMap",void 0),$(this,"pendingSeries",void 0),$(this,"oneClicks",void 0),$(this,"filterColumnMap",void 0),$(this,"lastFilter",void 0),$(this,"isConnected",void 0),$(this,"seriesToProcess",void 0),$(this,"addPendingSeries",An.debounce(()=>{for(var a=J.getAxisTypeMap(this.figure),{pendingSeries:l}=this,s=function(){var h,c=l[o],p=n.figure.charts.find(v=>v.series.includes(c));n.addSeries(c,a,(h=p==null?void 0:p.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},yt.ADD_SERIES_DEBOUNCE)),$(this,"getTimeZone",oe((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}},{max:100})),$(this,"getValueTranslator",oe((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)},{max:100})),$(this,"getValueParser",oe((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)},{max:100})),$(this,"getRangeParser",oe((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]},{max:100})),$(this,"getAxisRangeParser",oe((a,l)=>s=>{var o=J.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d},{max:100})),this.handleFigureUpdated=this.handleFigureUpdated.bind(this),this.handleFigureDisconnected=this.handleFigureDisconnected.bind(this),this.handleFigureReconnected=this.handleFigureReconnected.bind(this),this.handleFigureSeriesAdded=this.handleFigureSeriesAdded.bind(this),this.handleDownsampleStart=this.handleDownsampleStart.bind(this),this.handleDownsampleFinish=this.handleDownsampleFinish.bind(this),this.handleDownsampleFail=this.handleDownsampleFail.bind(this),this.handleDownsampleNeeded=this.handleDownsampleNeeded.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.dh=e,this.chartUtils=new J(e),this.figure=t,this.settings=r,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=J.getAxisTypeMap(this.figure),r=[];this.seriesToProcess=new Set;for(var a=function(){for(var p=t[l],v=0;v<p.series.length;v+=1){var g=p.series[v];r.push(g.name),e.addSeries(g,n,p.showLegend)}var{axes:C,title:m}=p;if(m!=null&&m.length>0&&(t.length>1||e.figure.title!=null)){var b=C.find(E=>E.type===e.dh.plot.AxisType.X),y=C.find(E=>E.type===e.dh.plot.AxisType.Y);if(b==null||y==null)W.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var S,P,w,T,L=((S=(P=n.get(b.type))===null||P===void 0?void 0:P.findIndex(E=>E===b))!==null&&S!==void 0?S:0)+1,M=((w=(T=n.get(y.type))===null||T===void 0?void 0:T.findIndex(E=>E===y))!==null&&w!==void 0?w:0)+1,D={align:"center",x:.5,y:1,yshift:17,text:m,showarrow:!1,xref:"x".concat(L," domain"),yref:"y".concat(M," domain")};e.layout.annotations==null?e.layout.annotations=[D]:e.layout.annotations.push(D)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>r.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var r,a,{dh:l}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,J.getSeriesVisibility(e.name,this.settings),n,(r=(a=this.renderOptions)===null||a===void 0?void 0:a.webgl)!==null&&r!==void 0?r:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===l.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===l.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=J.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===l.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:o}=e,{columns:d}=o,h=0;h<d.length;h+=1)this.filterColumnMap.set(d[h].name,d[h]);this.oneClicks.push(o)}this.updateLayoutFormats()}subscribe(e){super.subscribe(e),this.listeners.length===1&&(this.initAllSeries(),this.subscribeFigure())}unsubscribe(e){super.unsubscribe(e),this.listeners.length===0&&this.unsubscribeFigure()}subscribeFigure(){if(!this.isConnected){W.debug("Ignoring subscribe when figure in disconnected state");return}this.figure.subscribe(this.isDownsamplingDisabled?this.dh.plot.DownsampleOptions.DISABLE:this.dh.plot.DownsampleOptions.DEFAULT),this.figure.errors.length>0&&(W.error("Errors in figure",this.figure.errors),this.fireError(this.figure.errors))}unsubscribeFigure(){this.figure.unsubscribe()}startListeningFigure(){var{dh:e}=this;this.figure.addEventListener(e.plot.Figure.EVENT_UPDATED,this.handleFigureUpdated),this.figure.addEventListener(e.plot.Figure.EVENT_SERIES_ADDED,this.handleFigureSeriesAdded),this.figure.addEventListener(e.plot.Figure.EVENT_DISCONNECT,this.handleFigureDisconnected),this.figure.addEventListener(e.plot.Figure.EVENT_RECONNECT,this.handleFigureReconnected),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLESTARTED,this.handleDownsampleStart),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFINISHED,this.handleDownsampleFinish),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFAILED,this.handleDownsampleFail),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLENEEDED,this.handleDownsampleNeeded),this.figure.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed)}stopListeningFigure(){var{dh:e}=this;this.figure.removeEventListener(e.plot.Figure.EVENT_UPDATED,this.handleFigureUpdated),this.figure.removeEventListener(e.plot.Figure.EVENT_SERIES_ADDED,this.handleFigureSeriesAdded),this.figure.removeEventListener(e.plot.Figure.EVENT_DISCONNECT,this.handleFigureDisconnected),this.figure.removeEventListener(e.plot.Figure.EVENT_RECONNECT,this.handleFigureReconnected),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLESTARTED,this.handleDownsampleStart),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFINISHED,this.handleDownsampleFinish),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFAILED,this.handleDownsampleFail),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLENEEDED,this.handleDownsampleNeeded),this.figure.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed)}handleDownsampleStart(e){W.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){W.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){W.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){W.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;W.debug2("handleFigureUpdated",n);for(var r=0;r<n.length;r+=1){var a=n[r];W.debug2("handleFigureUpdated updating series",a.name);for(var{sources:l}=a,s=0;s<l.length;s+=1){var o=l[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),p=t.getArray(a,h,c);this.setDataArrayForSeries(a,h,p)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:v}=this;this.fireUpdate(v)}handleRequestFailed(e){W.error("Request failed",e),this.fireError(["".concat(e.detail)])}resubscribe(){this.listeners.length>0&&(this.unsubscribeFigure(),this.subscribeFigure())}setFormatter(e){super.setFormatter(e),this.updateLayoutFormats(),this.resubscribe()}setRenderOptions(e){super.setRenderOptions(e),this.initAllSeries()}setDownsamplingDisabled(e){super.setDownsamplingDisabled(e),this.resubscribe()}handleFigureDisconnected(e){W.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){W.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;W.debug("handleFigureSeriesAdded",t),this.pendingSeries.push(t),this.addPendingSeries()}setDimensions(e){super.setDimensions(e),this.updateAxisPositions()}setTitle(e){var t,n;super.setTitle(e);var r=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,a=J.DEFAULT_MARGIN.t+r*J.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title={text:e}:(this.layout.title=zn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=zn({},this.layout.title.pad),this.layout.title.pad.t=J.DEFAULT_TITLE_PADDING.t+r*J.SUBTITLE_LINE_HEIGHT*.5),this.fireLayoutUpdated({title:this.layout.title})}getPlotWidth(){var e,t,n,r;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,r;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{W.debug("Assigning ".concat(n),this.layout[n],t);var r=this.layout[n];r!=null?Object.assign(r,t):W.debug("Ignoring null layout.".concat(n))})}}setDataArrayForSeries(e,t,n){var{name:r,plotStyle:a}=e,l=this.seriesDataMap.get(r),s=this.chartUtils.getPlotlyProperty(a,t);l&&An.set(l,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:r}=e,a=this.seriesDataMap.get(n);if(a!=null){if(r===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:l,xHigh:s}=a;if(l&&s&&l.length===s.length){for(var o=[],d=0;d<l.length;d+=1)o.push(s[d]-l[d]);a.width=o}}else if(r===t.plot.SeriesPlotStyle.LINE||r===t.plot.SeriesPlotStyle.ERROR_BAR||r===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:p,y:v,yLow:g,yHigh:C}=a;c&&p&&c!==h&&(a.error_x=J.getPlotlyErrorBars(h,c,p)),g&&C&&g!==v&&(a.error_y=J.getPlotlyErrorBars(v,g,C))}else if(r===t.plot.SeriesPlotStyle.TREEMAP){var{ids:m,labels:b}=a;m!==void 0&&b===void 0&&(a.labels=m)}}}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){return new Map(this.filterColumnMap)}isFilterRequired(){return this.oneClicks.find(e=>e.requireAllFiltersToDisplay)!=null}setFilter(e){var t=this;if(this.oneClicks.length===0){W.warn("Trying to set a filter, but no one click!");return}W.debug("setFilter",e);for(var n=function(){var l=t.oneClicks[r],{columns:s}=l,o=new Set([...e.keys(),...t.lastFilter.keys()]);o.forEach(d=>{var h=e.get(d);t.lastFilter.get(d)!==h&&s.find(c=>c.name===d)!=null&&l.setValueForColumn(d,h)})},r=0;r<this.oneClicks.length;r+=1)n();this.lastFilter=new Map(e)}setFigure(e){this.close(),this.figure=e,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure(),this.listeners.length>0&&this.subscribeFigure()}updateSettings(e){this.settings=e}}$(yt,"ADD_SERIES_DEBOUNCE",50);function qn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function en(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){qn(a,n,r,l,s,"next",o)}function s(o){qn(a,n,r,l,s,"throw",o)}l(void 0)})}}class Je{static makeModelFromSettings(e,t,n){return en(function*(){var r=yield Je.makeFigureFromSettings(e,t,n);return new yt(e,r,t)})()}static makeFigureFromSettings(e,t,n){return en(function*(){var r=yield n.copy();return r.applyCustomColumns(n.customColumns),r.applyFilter(n.filter),r.applySort(n.sort),e.plot.Figure.create(new J(e).makeFigureSettings(t,r))})()}static makeModel(e,t,n){return en(function*(){return new yt(e,n,t)})()}}function Xn(i){return i.setFigure!==void 0}function Zn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Ae(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Zn(a,n,r,l,s,"next",o)}function s(o){Zn(a,n,r,l,s,"throw",o)}l(void 0)})}}function ae(i,e,t){return(e=xl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xl(i){var e=_l(i,"string");return typeof e=="symbol"?e:e+""}function _l(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var we=B.module("IrisGridTableModel");class Rl extends Pl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Ve(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),ae(this,"userFrozenColumns",void 0),ae(this,"customColumnList",void 0),ae(this,"formatColumnList",void 0),ae(this,"initialFilters",[]),ae(this,"wasUncoalesced",void 0),ae(this,"getMemoizedKeyColumnSet",O(a=>new Set(a??G))),ae(this,"getMemoizedValueColumnSet",O(a=>new Set(a??G))),ae(this,"getMemoizedFrontColumns",O(a=>a??G)),ae(this,"getMemoizedBackColumns",O(a=>a??G)),ae(this,"getMemoizedFrozenColumns",O((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:G})),ae(this,"getCachedFilterableColumnSet",O(a=>new Set(a.map((l,s)=>s)))),ae(this,"getCachedPartitionColumns",O(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter,this.wasUncoalesced=this.isPartitionRequired}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isRollupAvailable(){return this.table.rollup!=null}get isSelectDistinctAvailable(){return this.table.selectDistinct!=null}get isOrganizeColumnsAvailable(){return!0}get isCustomColumnsAvailable(){return this.table.applyCustomColumns!=null}get isFormatColumnsAvailable(){return this.table.applyCustomColumns!=null}get keyColumnSet(){var e;return this.getMemoizedKeyColumnSet((e=this.inputTable)===null||e===void 0?void 0:e.keys)}get valueColumnSet(){var e;return this.getMemoizedValueColumnSet((e=this.inputTable)===null||e===void 0?void 0:e.values)}get frontColumns(){var e,t;return this.getMemoizedFrontColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frontColumns)!==null&&e!==void 0?e:void 0)}get backColumns(){var e,t;return this.getMemoizedBackColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.backColumns)!==null&&e!==void 0?e:void 0)}get frozenColumns(){var e,t;return this.getMemoizedFrozenColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frozenColumns)!==null&&e!==void 0?e:void 0,this.userFrozenColumns)}get layoutHints(){return this.table.layoutHints}get floatingLeftColumnCount(){return this.frozenColumns.length}get description(){var e;return(e=this.table.description)!==null&&e!==void 0?e:""}get customColumns(){return this.customColumnList}set customColumns(e){if(we.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){we.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){we.debug("Ignore same customColumns");return}this.closeSubscription(),this.customColumnList=e,this.table.applyCustomColumns([...e,...this.formatColumns]),this.applyViewport()}get formatColumns(){return this.formatColumnList}set formatColumns(e){if(we.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){we.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){we.debug("Ignore same formatColumns");return}this.closeSubscription(),this.formatColumnList=e,this.table.applyCustomColumns([...this.customColumns,...e]),this.applyViewport()}updateFrozenColumns(e){this.userFrozenColumns=e,this.dispatchEvent(new De(x.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Ae(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Ae(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return Ae(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return Ae(function*(){we.debug("getting partition table for partitions",e);for(var n=[],r=0;r<t.partitionColumns.length;r+=1){var a=e[r],l=t.partitionColumns[r],s=t.tableUtils.makeNullableEqFilter(l,a);n.push(s)}var o=yield t.table.copy();return o.applyFilter([...t.initialFilters,...n]),o})()}set filter(e){this.closeSubscription(),this.table.applyFilter([...this.initialFilters,...e]),this.applyViewport()}set totalsConfig(e){if(we.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new De(x.EVENT.UPDATED));return}this.totalsTablePromise=Ie.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Ie.isCanceled(t)||(we.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new De(x.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}get isPartitionAwareSourceTable(){return this.wasUncoalesced}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Ae(function*(){return e.table.freeze()})()}columnStatistics(e){return this.table.getColumnStatistics(e)}isColumnMovable(e){var t=this.columns[e].name;return this.frontColumns.includes(t)||this.backColumns.includes(t)||this.frozenColumns.includes(t)?!1:!this.isKeyColumn(e)}isColumnFrozen(e){return this.frozenColumns.includes(this.columns[e].name)}delete(e){var t=()=>super.pendingDataMap,n=a=>super.pendingDataMap=a,r=this;return Ae(function*(){var a;if(!r.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));k(r.inputTable);var{keyColumns:l}=r.inputTable;if(r.keyColumnSet.size===0)throw new Error("No key columns to allow deletion");var s=r.getPendingAreaRange(),o=e.map(S=>Mt.intersection(s,S)).filter(S=>S!=null).map(S=>(k(S),Mt.offset(S,0,-(r.floatingTopRowCount+r.table.size))));if(o.length>0){for(var d=new Map(t()),h=0;h<o.length;h+=1){var c=o[h];k(c.startRow),k(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),r.formattedStringData=[],r.dispatchEvent(new De(x.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new De(x.EVENT.UPDATED))}var v=r.getTableAreaRange(),g=e.map(S=>Mt.intersection(v,S)).filter(S=>S!=null);if(!(g.length<=0)){var[C,m]=yield Promise.all([r.snapshot(g.map(S=>(k(S),l.map(P=>{var w=r.getColumnIndexByName(P.name);if(w==null)throw new Error("Key column ".concat(P.name," not found"));return new Mt(w,S.startRow,w,S.endRow)}))).flat()),r.table.copy()]),b=C.map(S=>{for(var P=[],w=0;w<l.length;w+=1){var T=l[w],L=S[w],M=r.tableUtils.makeNullableEqFilter(T,L);P.push(M)}return P.reduce((D,E)=>{var j;return(j=D==null?void 0:D.and(E))!==null&&j!==void 0?j:E})}),y=b.reduce((S,P)=>{var w;return(w=S==null?void 0:S.or(P))!==null&&w!==void 0?w:P});m.applyFilter([y]),yield(a=r.inputTable)===null||a===void 0?void 0:a.deleteTable(m),m.close()}})()}seekRow(e,t,n,r,a,l,s){var o=this;return Ae(function*(){return o.table.seekRow(e,t,n,r,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}function Yn(i,e,t){return(e=Al(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Al(i){var e=Ul(i,"string");return typeof e=="symbol"?e:e+""}function Ul(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class $l extends x{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Ve(e);super(e),Yn(this,"modelFormatter",void 0),Yn(this,"modelColumnAlignmentMap",void 0),this.modelFormatter=t,this.modelColumnAlignmentMap=new Map}get rowCount(){return 0}get columnCount(){return 0}textForCell(e,t){return""}textForColumnHeader(e,t){}get columns(){return G}getColumnIndexByName(e){}get initialMovedColumns(){return G}get initialMovedRows(){return G}get initialColumnHeaderGroups(){return G}get groupedColumns(){return G}formatForCell(e,t){}valueForCell(e,t){}get filter(){return G}set filter(e){}get partition(){return G}set partition(e){}get partitionColumns(){return G}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}get columnAlignmentMap(){return this.modelColumnAlignmentMap}set columnAlignmentMap(e){this.modelColumnAlignmentMap=e}displayString(e,t,n){return""}get sort(){return G}set sort(e){}get customColumns(){return G}set customColumns(e){}get formatColumns(){return G}updateFrozenColumns(e){}get rollupConfig(){return null}set rollupConfig(e){}get totalsConfig(){return null}set totalsConfig(e){}export(){throw new Error("Method not implemented.")}columnStatistics(e){throw new Error("Method not implemented.")}get selectDistinctColumns(){return G}set selectDistinctColumns(e){}get pendingDataMap(){return Jt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Jt}commitPending(){return Promise.resolve()}setViewport(e,t,n){}snapshot(e){return Promise.resolve([])}textSnapshot(e,t,n){return Promise.resolve("")}valuesTable(e){throw new Error("Method not implemented.")}delete(e){return Promise.resolve()}seekRow(e,t,n,r,a,l,s){return Promise.resolve(0)}get columnHeaderGroups(){return G}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Jt}getColumnHeaderParentGroup(e,t){}}function Qn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function kt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Qn(a,n,r,l,s,"next",o)}function s(o){Qn(a,n,r,l,s,"throw",o)}l(void 0)})}}function Vl(i,e,t){return(e=Gl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gl(i){var e=Hl(i,"string");return typeof e=="symbol"?e:e+""}function Hl(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Bl(i){return"getBaseTable"in i&&typeof i.getBaseTable=="function"}class Wl extends $l{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Ve(e);super(e,n),Vl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}get isPartitionAwareSourceTable(){return!1}get isReversible(){return!1}displayString(e,t,n){return""}close(){this.partitionedTable.close()}get columns(){return this.partitionedTable.columns}get partitionColumns(){return this.partitionedTable.keyColumns}get columnCount(){return this.columns.length}getColumnIndexByName(e){return this.columns.findIndex(t=>t.name===e)}textForColumnHeader(e,t){var n;return(n=this.columns[e].name)!==null&&n!==void 0?n:""}partitionKeysTable(){var e=this;return kt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return kt(function*(){return Bl(e.partitionedTable)?e.partitionedTable.getBaseTable():e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return kt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return kt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Hn("Partition not found");return n}catch(r){throw wl(r)?r:new Hn("Unable to retrieve partition")}})()}}function Ee(i,e,t){return(e=Kl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Kl(i){var e=zl(i,"string");return typeof e=="symbol"?e:e+""}function zl(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Fe=B.module("IrisGridProxyModel");function Ke(i,e,t,n){return z.isTreeTable(e)?new Fl(i,e,t):z.isPartitionedTable(e)?new Wl(i,e,t):new Rl(i,e,t,n)}class ql extends x{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Ve(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Ee(this,"model",void 0),Ee(this,"dh",void 0),Ee(this,"originalModel",void 0),Ee(this,"modelPromise",void 0),Ee(this,"rollup",void 0),Ee(this,"partition",void 0),Ee(this,"selectDistinct",void 0),Ee(this,"currentViewport",void 0),Ee(this,"setViewport",(l,s,o)=>{this.currentViewport={top:l,bottom:s,columns:o},this.model.setViewport(l,s,o)}),this.addEventListener=this.addEventListener.bind(this),this.removeEventListener=this.removeEventListener.bind(this),this.dispatchEvent=this.dispatchEvent.bind(this),this.handleModelEvent=this.handleModelEvent.bind(this);var a=Ke(e,t,n,r);return this.dh=e,this.originalModel=a,this.model=a,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[],new Proxy(this,{get(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.get)!=null;if(h)return Reflect.get(l,s,o);var c=Object.prototype.hasOwnProperty.call(l,s),p=Object.prototype.hasOwnProperty.call(Object.getPrototypeOf(l),s),v=c||p?l:l.model;return Reflect.get(v,s)},set(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.set)!=null,c=Object.prototype.hasOwnProperty.call(l,s);return h||c?Reflect.set(l,s,o,l):Reflect.set(l.model,s,o,l.model)}})}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){Fe.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new De(n,{detail:t}))}setModel(e){Fe.debug("setModel",e);var t=this.model,{columns:n}=t;if(t!==this.originalModel&&t.close(),this.model=e,this.listenerCount>0&&this.addListeners(e),n!==e.columns)this.dispatchEvent(new De(x.EVENT.COLUMNS_CHANGED,{detail:e.columns}));else if(this.currentViewport!=null){var{top:r,bottom:a,columns:l}=this.currentViewport;e.setViewport(r,a,l)}ke(e)&&this.dispatchEvent(new De(x.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Fe.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Ie.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Ie.isCanceled(t)){Fe.debug2("setNextModel cancelled");return}Fe.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new De(x.EVENT.REQUEST_FAILED,{detail:t}))})}startListening(){super.startListening(),this.addListeners(this.model)}stopListening(){super.stopListening(),this.removeListeners(this.model)}addListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get originalColumns(){return this.originalModel.columns}get partitionColumns(){return Le(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!Le(this.originalModel)||!this.originalModel.isPartitionRequired?El(this.originalModel)?null:void 0:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Fe.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&Le(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>Ke(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>Ke(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!Le(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!Le(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!Le(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Fe.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Wi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);ke(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Fe.debug("set selectDistinctColumns",e),!this.isSelectDistinctAvailable)throw new Error("Select distinct is not available");if(e===this.selectDistinctColumns||e.length===0&&this.selectDistinctColumns.length===0){Fe.debug("Ignore same selectDistinctColumns",e);return}this.selectDistinct=e;var t=e.map(r=>this.originalColumns.find(a=>a.name===r)).filter(r=>r!=null),n=Promise.resolve(this.originalModel);ke(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(r=>Ke(this.dh,r,this.formatter))),this.setNextModel(n)}set totalsConfig(e){this.modelPromise==null&&(this.model.totalsConfig=e)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return Le(this.originalModel)?this.originalModel.isPartitionRequired:void 0}get isPartitionAwareSourceTable(){return Le(this.originalModel)&&this.originalModel.isPartitionAwareSourceTable}get formatter(){return this.originalModel.formatter}set formatter(e){this.originalModel.formatter=e}get columnAlignmentMap(){return this.originalModel.columnAlignmentMap}set columnAlignmentMap(e){this.originalModel.columnAlignmentMap=e}}function Jn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Xl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Jn(a,n,r,l,s,"next",o)}function s(o){Jn(a,n,r,l,s,"throw",o)}l(void 0)})}}class fr{static makeModel(e,t){var n=arguments;return Xl(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new Ve(e),a=null;return!z.isTreeTable(t)&&!z.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new ql(e,t,r,a)})()}}function ei(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 ti(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ei(Object(t),!0).forEach(function(n){Zl(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ei(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Zl(i,e,t){return(e=Yl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Yl(i){var e=Ql(i,"string");return typeof e=="symbol"?e:e+""}function Ql(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function gr(i,e){var t=["isStuckToBottom","isStuckToRight","movedColumns","movedRows"];return i===e||t.every(n=>i[n]===e[n])}function br(i,e){var t=["advancedFilters","aggregationSettings","customColumnFormatMap","columnAlignmentMap","isFilterBarShown","quickFilters","customColumns","reverse","rollupConfig","showSearchBar","searchValue","selectDistinctColumns","selectedSearchColumns","sorts","invertSearchColumns","pendingDataMap","frozenColumns","conditionalFormats","columnHeaderGroups","partitionConfig"];return i===e||i.metrics!=null&&e.metrics!=null&&i.metricCalculator===e.metricCalculator&&i.metrics.userColumnWidths===e.metrics.userColumnWidths&&i.metrics.userRowHeights===e.metrics.userRowHeights&&t.every(n=>i[n]===e[n])}function Jl(){return O((i,e)=>H.dehydrateGridState(i,e),(i,e)=>{var[t,n]=i,[r,a]=e;return t===r&&gr(n,a)})}function es(){return O((i,e)=>{var t=new H(i.dh);return t.dehydrateIrisGridState(i,e)},(i,e)=>{var[t,n]=i,[r,a]=e;return t===r&&br(n,a)})}function ts(){return O((i,e,t)=>{var n=new H(i.dh);return ti(ti({},n.dehydrateIrisGridState(i,e)),H.dehydrateGridState(i,t))},(i,e)=>{var[t,n,r]=i,[a,l,s]=e;return t===a&&br(n,l)&&gr(r,s)})}var ln={makeMemoizedGridStateDehydrator:Jl,makeMemoizedIrisGridStateDehydrator:es,makeMemoizedCombinedGridStateDehydrator:ts};function Kt(){var i=f.useContext(Ca);if(i==null)throw new Error("LayoutManager not available, did you add a LayoutManagerContext.Provider to the tree?");return i}function ns(i,e,t,n,r){if(e>t)throw new Error("Persisted state ".concat(r," is a newer version than the current version. Persisted version: ").concat(e,". Current version: ").concat(t));for(var a=i,l=e;l<t;){var s=n.filter(d=>d.from===l);if(s.length===0)throw new Error("No migration found for persisted state ".concat(r," from version ").concat(l));if(s.length>1)throw new Error("Multiple migrations found for persisted state ".concat(r," from version ").concat(l));var o=s[0];try{a=o.migrate(a),l+=1}catch(d){throw new Error("Error migrating persisted state ".concat(r," from version ").concat(o.from,": ").concat(d),{cause:d})}}return a}function Cr(i,e){var t=dn(),n=f.useMemo(()=>he(),[]),r=f.useContext(Sa),{type:a,version:l,migrations:s=[],deleteOnUnmount:o=!0}=e,[d,h]=f.useState(()=>{var p=t!=null?r==null?void 0:r.getState(t,a):void 0;return p==null?typeof i=="function"?i():i:p.version!==l?ns(p.state,p.version,l,s,a):p.state}),c=f.useMemo(()=>({type:a,version:l,state:d}),[d,a,l]);return f.useDebugValue(c),f.useEffect(function(){t!=null&&(r==null||r.addState(n,t,c))},[r,n,t,c]),f.useEffect(function(){return()=>{o&&t!=null&&(r==null||r.removeState(n,t,a))}},[r,o,n,t,a]),f.useEffect(()=>()=>{t!=null&&(r==null||r.deregisterHook(n,t,a))},[r,n,t,a]),[d,h]}function gn(i,e,t){return(e=is(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function is(i){var e=rs(i,"string");return typeof e=="symbol"?e:e+""}function rs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class et{}gn(et,"OPEN","ChartEvent.OPEN");gn(et,"CLOSE","ChartEvent.CLOSE");gn(et,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");function ot(i,e,t){return(e=as(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function as(i){var e=ls(i,"string");return typeof e=="symbol"?e:e+""}function ls(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Z{}ot(Z,"OPEN_GRID","IrisGridEvent.OPEN_GRID");ot(Z,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");ot(Z,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");ot(Z,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");ot(Z,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");ot(Z,"CREATE_CHART","IrisGridevent.CREATE_CHART");function Sr(i,e,t){return(e=ss(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ss(i){var e=os(i,"string");return typeof e=="symbol"?e:e+""}function os(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class bn{}Sr(bn,"OPEN","PandasEvent.OPEN");Sr(bn,"CLOSE","PandasEvent.CLOSE");var ds=ya;function us(i){var{children:e,descriptor:t}=i,{name:n,type:r,description:a,displayName:l}=t,s=r.replace(/([a-z])([A-Z])/g,"$1 $2");return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[s," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:n}),u.jsx(Pa,{UNSAFE_className:"tab-tooltip-copy",tooltip:"Copy name",copy:n,isQuiet:!0})]}),n!==l&&!!l&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),u.jsx("span",{className:"tab-tooltip-name",children:l})]}),!!a&&u.jsx("div",{className:"tab-tooltip-description",children:a}),e]})}var Cn=Ki(us);function sn(i,e,t){return(e=hs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hs(i){var e=cs(i,"string");return typeof e=="symbol"?e:e+""}function cs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class yr extends f.PureComponent{constructor(e){var t;super(e),t=this,sn(this,"getCachedRenderTabTooltip",O((n,r)=>n?()=>u.jsx(Cn,{descriptor:r}):void 0)),sn(this,"getCachedActions",O(function(n){var r,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:G;return[...a,{title:"Copy ".concat((r=n.displayType)!==null&&r!==void 0?r:n.type," Name"),group:zi.groups.medium,order:20,action:t.handleCopyName}]})),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{descriptor:e}=this.props;wa(e.name)}getErrorMessage(){var{descriptor:e,errorMessage:t}=this.props,{isClientDisconnected:n,isPanelDisconnected:r,isWidgetDisconnected:a,isWaitingForReconnect:l}=this.state;if(t!=null&&t!=="")return"".concat(t);if(n&&r&&l)return`Disconnected from server.
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MarkdownEditor-BPeAvulp.js","./vendor-V8Io1aAM.js","./helpers-BosuxZz1.js","./vendor-CxhKlw2o.css","./ControlType-qh7zzRDd.js","./index-CBmjXWjj.js","./monaco-DaE0jI-i.js","./monaco-CgHo24-M.css","./index-CwMW8ik0.css","./ControlType-BwdkHnnE.css","./mathjax-DBtzGpr4.js"])))=>i.map(i=>d[i]);
2
+ import{r as f,I as u,K as ue,bC as An,a1 as oe,ad as O,bD as Wi,H as he,M as de,_ as Ge,a0 as rt,U as ie,b2 as fa,b1 as Un,av as ze,a3 as ga,af as ba,bE as I}from"./vendor-V8Io1aAM.js";import{F as Ve,dt as De,P as Ie,at as G,du as Jt,c as z,cj as Ca,cP as dn,cn as Sa,cq as ya,b9 as Ki,V as Pa,aw as zi,af as wa,dv as at,dw as ge,B as N,dx as lt,ah as Me,dy as un,a3 as qi,dz as Gt,cw as Xi,ac as hn,dA as Ht,X as pe,L as Bt,dB as st,dC as Et,dD as Ft,dE as Zi,c8 as F,y as rn,S as Ct,a as Yi,n as Qi,dF as cn,aa as Ea,a5 as Fa,dG as Ji,dH as er,b0 as Ta,cv as Da,am as ne,dI as $n,dl as Ma,dm as ka,f as tr,u as Wt,cU as xe,cr as Tt,cQ as $e,a0 as La,ay as nr,d8 as Oa,d5 as Na,cO as ir,z as an,cR as rr,dg as ar,T as qe,Y as ja,t as Ia,U as xa,dJ as lr,dK as sr,dL as or,dM as dr,bn as _a,an as ur,da as Ra,db as Aa,cX as Ua,cY as $a,ca as Va,b7 as Ga,dr as Ha,dN as Ba,dp as Wa,av as Ka,W as za,ds as qa,dq as Xa,ag as Za,aq as Ya,dO as Qa,dP as Ja,a7 as el,dQ as tl,a6 as nl,dR as il,dS as rl,aE as al,dT as ll,aF as sl,dU as ol,dV as dl,dW as ul}from"./ControlType-qh7zzRDd.js";import{aA as hl,L as B,e as k,aO as cl,aP as pl,K as pn,aQ as vl,aR as ml,aS as hr,f as vn,aT as cr,y as Vn,aU as Gn,g as fl,F as gl,M as bl,b as Cl,c as Sl,N as St,s as yl,aV as Pl,aW as wl,d as El,aX as Fl,aY as Tl}from"./index-CBmjXWjj.js";import{C as Dl,a as J,I as x,G as Mt,S as pr,L as vr,b as mn}from"./IrisGridModel-DhjQE7o_.js";import{d as Ml,M as Hn,n as kl,f as ke,l as Le,k as Ll,e as Ol,I as H,A as Nl,o as jl,p as Il,q as xl}from"./MissingPartitionError-tXrHwtWs.js";import{F as Bn}from"./FormatterUtils-CVuXIeT9.js";import{_ as _l}from"./monaco-DaE0jI-i.js";function fn(i){var{className:e,isFlipped:t,children:n,"data-testid":r}=i,a=d=>{if(n.length!==2)throw new Error("CardFlip requires 2 children to function");return n[d]},l=f.useRef(null),s=f.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=f.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return f.useEffect(function(){if(!l.current)throw Error("ref undefined");l.current.addEventListener("transitionstart",s);var h=l.current;return function(){if(h!=null)return h.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:ue(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":r,children:[u.jsx("div",{className:"card-flip--back",children:a(0)}),u.jsx("div",{ref:l,className:"card-flip--front",onTransitionEnd:o,children:a(1)})]})}function Wn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Rl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Wn(a,n,r,l,s,"next",o)}function s(o){Wn(a,n,r,l,s,"throw",o)}l(void 0)})}}var mr=f.createContext(null);mr.displayName="DeferredApiContext";function Al(i){var[e,t]=f.useState(null),[n,r]=f.useState(null),a=f.useContext(mr),l=f.useContext(hl);return f.useEffect(()=>{if(a==null){if(l!=null){t(l),r(null);return}t(null),r(new Error("No API available in useDeferredApi. Was code wrapped in ApiBootstrap or DeferredApiContext.Provider?"));return}var s=!1;function o(){return d.apply(this,arguments)}function d(){return d=Rl(function*(){if(i==null)s||(t(null),r(new Error("No widget provided to useDeferredApi")));else if(typeof a=="function")try{var h=yield a(i);s||(t(h),r(null))}catch(c){s||(t(null),r(c??new Error("Null error")))}else t(a)}),d.apply(this,arguments)}return o(),()=>{s=!0}},[l,a,i]),[e,n]}function Kn(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?Kn(Object(t),!0).forEach(function(n){$(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Kn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function $(i,e,t){return(e=Ul(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ul(i){var e=$l(i,"string");return typeof e=="symbol"?e:e+""}function $l(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var W=B.module("FigureChartModel");class yt extends Dl{constructor(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,$(this,"chartUtils",void 0),$(this,"dh",void 0),$(this,"figure",void 0),$(this,"settings",void 0),$(this,"data",void 0),$(this,"layout",void 0),$(this,"seriesDataMap",void 0),$(this,"pendingSeries",void 0),$(this,"oneClicks",void 0),$(this,"filterColumnMap",void 0),$(this,"lastFilter",void 0),$(this,"isConnected",void 0),$(this,"seriesToProcess",void 0),$(this,"addPendingSeries",An.debounce(()=>{for(var a=J.getAxisTypeMap(this.figure),{pendingSeries:l}=this,s=function(){var h,c=l[o],p=n.figure.charts.find(v=>v.series.includes(c));n.addSeries(c,a,(h=p==null?void 0:p.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},yt.ADD_SERIES_DEBOUNCE)),$(this,"getTimeZone",oe((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}},{max:100})),$(this,"getValueTranslator",oe((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)},{max:100})),$(this,"getValueParser",oe((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)},{max:100})),$(this,"getRangeParser",oe((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]},{max:100})),$(this,"getAxisRangeParser",oe((a,l)=>s=>{var o=J.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d},{max:100})),this.handleFigureUpdated=this.handleFigureUpdated.bind(this),this.handleFigureDisconnected=this.handleFigureDisconnected.bind(this),this.handleFigureReconnected=this.handleFigureReconnected.bind(this),this.handleFigureSeriesAdded=this.handleFigureSeriesAdded.bind(this),this.handleDownsampleStart=this.handleDownsampleStart.bind(this),this.handleDownsampleFinish=this.handleDownsampleFinish.bind(this),this.handleDownsampleFail=this.handleDownsampleFail.bind(this),this.handleDownsampleNeeded=this.handleDownsampleNeeded.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.dh=e,this.chartUtils=new J(e),this.figure=t,this.settings=r,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=J.getAxisTypeMap(this.figure),r=[];this.seriesToProcess=new Set;for(var a=function(){for(var p=t[l],v=0;v<p.series.length;v+=1){var g=p.series[v];r.push(g.name),e.addSeries(g,n,p.showLegend)}var{axes:C,title:m}=p;if(m!=null&&m.length>0&&(t.length>1||e.figure.title!=null)){var b=C.find(E=>E.type===e.dh.plot.AxisType.X),y=C.find(E=>E.type===e.dh.plot.AxisType.Y);if(b==null||y==null)W.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var S,P,w,T,L=((S=(P=n.get(b.type))===null||P===void 0?void 0:P.findIndex(E=>E===b))!==null&&S!==void 0?S:0)+1,M=((w=(T=n.get(y.type))===null||T===void 0?void 0:T.findIndex(E=>E===y))!==null&&w!==void 0?w:0)+1,D={align:"center",x:.5,y:1,yshift:17,text:m,showarrow:!1,xref:"x".concat(L," domain"),yref:"y".concat(M," domain")};e.layout.annotations==null?e.layout.annotations=[D]:e.layout.annotations.push(D)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>r.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var r,a,{dh:l}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,J.getSeriesVisibility(e.name,this.settings),n,(r=(a=this.renderOptions)===null||a===void 0?void 0:a.webgl)!==null&&r!==void 0?r:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===l.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===l.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=J.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===l.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:o}=e,{columns:d}=o,h=0;h<d.length;h+=1)this.filterColumnMap.set(d[h].name,d[h]);this.oneClicks.push(o)}this.updateLayoutFormats()}subscribe(e){super.subscribe(e),this.listeners.length===1&&(this.initAllSeries(),this.subscribeFigure())}unsubscribe(e){super.unsubscribe(e),this.listeners.length===0&&this.unsubscribeFigure()}subscribeFigure(){if(!this.isConnected){W.debug("Ignoring subscribe when figure in disconnected state");return}this.figure.subscribe(this.isDownsamplingDisabled?this.dh.plot.DownsampleOptions.DISABLE:this.dh.plot.DownsampleOptions.DEFAULT),this.figure.errors.length>0&&(W.error("Errors in figure",this.figure.errors),this.fireError(this.figure.errors))}unsubscribeFigure(){this.figure.unsubscribe()}startListeningFigure(){var{dh:e}=this;this.figure.addEventListener(e.plot.Figure.EVENT_UPDATED,this.handleFigureUpdated),this.figure.addEventListener(e.plot.Figure.EVENT_SERIES_ADDED,this.handleFigureSeriesAdded),this.figure.addEventListener(e.plot.Figure.EVENT_DISCONNECT,this.handleFigureDisconnected),this.figure.addEventListener(e.plot.Figure.EVENT_RECONNECT,this.handleFigureReconnected),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLESTARTED,this.handleDownsampleStart),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFINISHED,this.handleDownsampleFinish),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFAILED,this.handleDownsampleFail),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLENEEDED,this.handleDownsampleNeeded),this.figure.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed)}stopListeningFigure(){var{dh:e}=this;this.figure.removeEventListener(e.plot.Figure.EVENT_UPDATED,this.handleFigureUpdated),this.figure.removeEventListener(e.plot.Figure.EVENT_SERIES_ADDED,this.handleFigureSeriesAdded),this.figure.removeEventListener(e.plot.Figure.EVENT_DISCONNECT,this.handleFigureDisconnected),this.figure.removeEventListener(e.plot.Figure.EVENT_RECONNECT,this.handleFigureReconnected),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLESTARTED,this.handleDownsampleStart),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFINISHED,this.handleDownsampleFinish),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFAILED,this.handleDownsampleFail),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLENEEDED,this.handleDownsampleNeeded),this.figure.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed)}handleDownsampleStart(e){W.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){W.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){W.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){W.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;W.debug2("handleFigureUpdated",n);for(var r=0;r<n.length;r+=1){var a=n[r];W.debug2("handleFigureUpdated updating series",a.name);for(var{sources:l}=a,s=0;s<l.length;s+=1){var o=l[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),p=t.getArray(a,h,c);this.setDataArrayForSeries(a,h,p)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:v}=this;this.fireUpdate(v)}handleRequestFailed(e){W.error("Request failed",e),this.fireError(["".concat(e.detail)])}resubscribe(){this.listeners.length>0&&(this.unsubscribeFigure(),this.subscribeFigure())}setFormatter(e){super.setFormatter(e),this.updateLayoutFormats(),this.resubscribe()}setRenderOptions(e){super.setRenderOptions(e),this.initAllSeries()}setDownsamplingDisabled(e){super.setDownsamplingDisabled(e),this.resubscribe()}handleFigureDisconnected(e){W.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){W.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;W.debug("handleFigureSeriesAdded",t),this.pendingSeries.push(t),this.addPendingSeries()}setDimensions(e){super.setDimensions(e),this.updateAxisPositions()}setTitle(e){var t,n;super.setTitle(e);var r=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,a=J.DEFAULT_MARGIN.t+r*J.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title={text:e}:(this.layout.title=zn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=zn({},this.layout.title.pad),this.layout.title.pad.t=J.DEFAULT_TITLE_PADDING.t+r*J.SUBTITLE_LINE_HEIGHT*.5),this.fireLayoutUpdated({title:this.layout.title})}getPlotWidth(){var e,t,n,r;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,r;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{W.debug("Assigning ".concat(n),this.layout[n],t);var r=this.layout[n];r!=null?Object.assign(r,t):W.debug("Ignoring null layout.".concat(n))})}}setDataArrayForSeries(e,t,n){var{name:r,plotStyle:a}=e,l=this.seriesDataMap.get(r),s=this.chartUtils.getPlotlyProperty(a,t);l&&An.set(l,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:r}=e,a=this.seriesDataMap.get(n);if(a!=null){if(r===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:l,xHigh:s}=a;if(l&&s&&l.length===s.length){for(var o=[],d=0;d<l.length;d+=1)o.push(s[d]-l[d]);a.width=o}}else if(r===t.plot.SeriesPlotStyle.LINE||r===t.plot.SeriesPlotStyle.ERROR_BAR||r===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:p,y:v,yLow:g,yHigh:C}=a;c&&p&&c!==h&&(a.error_x=J.getPlotlyErrorBars(h,c,p)),g&&C&&g!==v&&(a.error_y=J.getPlotlyErrorBars(v,g,C))}else if(r===t.plot.SeriesPlotStyle.TREEMAP){var{ids:m,labels:b}=a;m!==void 0&&b===void 0&&(a.labels=m)}}}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){return new Map(this.filterColumnMap)}isFilterRequired(){return this.oneClicks.find(e=>e.requireAllFiltersToDisplay)!=null}setFilter(e){var t=this;if(this.oneClicks.length===0){W.warn("Trying to set a filter, but no one click!");return}W.debug("setFilter",e);for(var n=function(){var l=t.oneClicks[r],{columns:s}=l,o=new Set([...e.keys(),...t.lastFilter.keys()]);o.forEach(d=>{var h=e.get(d);t.lastFilter.get(d)!==h&&s.find(c=>c.name===d)!=null&&l.setValueForColumn(d,h)})},r=0;r<this.oneClicks.length;r+=1)n();this.lastFilter=new Map(e)}setFigure(e){this.close(),this.figure=e,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure(),this.listeners.length>0&&this.subscribeFigure()}updateSettings(e){this.settings=e}}$(yt,"ADD_SERIES_DEBOUNCE",50);function qn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function en(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){qn(a,n,r,l,s,"next",o)}function s(o){qn(a,n,r,l,s,"throw",o)}l(void 0)})}}class Je{static makeModelFromSettings(e,t,n){return en(function*(){var r=yield Je.makeFigureFromSettings(e,t,n);return new yt(e,r,t)})()}static makeFigureFromSettings(e,t,n){return en(function*(){var r=yield n.copy();return r.applyCustomColumns(n.customColumns),r.applyFilter(n.filter),r.applySort(n.sort),e.plot.Figure.create(new J(e).makeFigureSettings(t,r))})()}static makeModel(e,t,n){return en(function*(){return new yt(e,n,t)})()}}function Xn(i){return i.setFigure!==void 0}function Zn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Ae(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Zn(a,n,r,l,s,"next",o)}function s(o){Zn(a,n,r,l,s,"throw",o)}l(void 0)})}}function ae(i,e,t){return(e=Vl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vl(i){var e=Gl(i,"string");return typeof e=="symbol"?e:e+""}function Gl(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var we=B.module("IrisGridTableModel");class Hl extends Ml{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Ve(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),ae(this,"userFrozenColumns",void 0),ae(this,"customColumnList",void 0),ae(this,"formatColumnList",void 0),ae(this,"initialFilters",[]),ae(this,"wasUncoalesced",void 0),ae(this,"getMemoizedKeyColumnSet",O(a=>new Set(a??G))),ae(this,"getMemoizedValueColumnSet",O(a=>new Set(a??G))),ae(this,"getMemoizedFrontColumns",O(a=>a??G)),ae(this,"getMemoizedBackColumns",O(a=>a??G)),ae(this,"getMemoizedFrozenColumns",O((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:G})),ae(this,"getCachedFilterableColumnSet",O(a=>new Set(a.map((l,s)=>s)))),ae(this,"getCachedPartitionColumns",O(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter,this.wasUncoalesced=this.isPartitionRequired}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isRollupAvailable(){return this.table.rollup!=null}get isSelectDistinctAvailable(){return this.table.selectDistinct!=null}get isOrganizeColumnsAvailable(){return!0}get isCustomColumnsAvailable(){return this.table.applyCustomColumns!=null}get isFormatColumnsAvailable(){return this.table.applyCustomColumns!=null}get keyColumnSet(){var e;return this.getMemoizedKeyColumnSet((e=this.inputTable)===null||e===void 0?void 0:e.keys)}get valueColumnSet(){var e;return this.getMemoizedValueColumnSet((e=this.inputTable)===null||e===void 0?void 0:e.values)}get frontColumns(){var e,t;return this.getMemoizedFrontColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frontColumns)!==null&&e!==void 0?e:void 0)}get backColumns(){var e,t;return this.getMemoizedBackColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.backColumns)!==null&&e!==void 0?e:void 0)}get frozenColumns(){var e,t;return this.getMemoizedFrozenColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frozenColumns)!==null&&e!==void 0?e:void 0,this.userFrozenColumns)}get layoutHints(){return this.table.layoutHints}get floatingLeftColumnCount(){return this.frozenColumns.length}get description(){var e;return(e=this.table.description)!==null&&e!==void 0?e:""}get customColumns(){return this.customColumnList}set customColumns(e){if(we.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){we.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){we.debug("Ignore same customColumns");return}this.closeSubscription(),this.customColumnList=e,this.table.applyCustomColumns([...e,...this.formatColumns]),this.applyViewport()}get formatColumns(){return this.formatColumnList}set formatColumns(e){if(we.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){we.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){we.debug("Ignore same formatColumns");return}this.closeSubscription(),this.formatColumnList=e,this.table.applyCustomColumns([...this.customColumns,...e]),this.applyViewport()}updateFrozenColumns(e){this.userFrozenColumns=e,this.dispatchEvent(new De(x.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Ae(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Ae(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return Ae(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return Ae(function*(){we.debug("getting partition table for partitions",e);for(var n=[],r=0;r<t.partitionColumns.length;r+=1){var a=e[r],l=t.partitionColumns[r],s=t.tableUtils.makeNullableEqFilter(l,a);n.push(s)}var o=yield t.table.copy();return o.applyFilter([...t.initialFilters,...n]),o})()}set filter(e){this.closeSubscription(),this.table.applyFilter([...this.initialFilters,...e]),this.applyViewport()}set totalsConfig(e){if(we.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new De(x.EVENT.UPDATED));return}this.totalsTablePromise=Ie.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Ie.isCanceled(t)||(we.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new De(x.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}get isPartitionAwareSourceTable(){return this.wasUncoalesced}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Ae(function*(){return e.table.freeze()})()}columnStatistics(e){return this.table.getColumnStatistics(e)}isColumnMovable(e){var t=this.columns[e].name;return this.frontColumns.includes(t)||this.backColumns.includes(t)||this.frozenColumns.includes(t)?!1:!this.isKeyColumn(e)}isColumnFrozen(e){return this.frozenColumns.includes(this.columns[e].name)}delete(e){var t=()=>super.pendingDataMap,n=a=>super.pendingDataMap=a,r=this;return Ae(function*(){var a;if(!r.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));k(r.inputTable);var{keyColumns:l}=r.inputTable;if(r.keyColumnSet.size===0)throw new Error("No key columns to allow deletion");var s=r.getPendingAreaRange(),o=e.map(S=>Mt.intersection(s,S)).filter(S=>S!=null).map(S=>(k(S),Mt.offset(S,0,-(r.floatingTopRowCount+r.table.size))));if(o.length>0){for(var d=new Map(t()),h=0;h<o.length;h+=1){var c=o[h];k(c.startRow),k(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),r.formattedStringData=[],r.dispatchEvent(new De(x.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new De(x.EVENT.UPDATED))}var v=r.getTableAreaRange(),g=e.map(S=>Mt.intersection(v,S)).filter(S=>S!=null);if(!(g.length<=0)){var[C,m]=yield Promise.all([r.snapshot(g.map(S=>(k(S),l.map(P=>{var w=r.getColumnIndexByName(P.name);if(w==null)throw new Error("Key column ".concat(P.name," not found"));return new Mt(w,S.startRow,w,S.endRow)}))).flat()),r.table.copy()]),b=C.map(S=>{for(var P=[],w=0;w<l.length;w+=1){var T=l[w],L=S[w],M=r.tableUtils.makeNullableEqFilter(T,L);P.push(M)}return P.reduce((D,E)=>{var j;return(j=D==null?void 0:D.and(E))!==null&&j!==void 0?j:E})}),y=b.reduce((S,P)=>{var w;return(w=S==null?void 0:S.or(P))!==null&&w!==void 0?w:P});m.applyFilter([y]),yield(a=r.inputTable)===null||a===void 0?void 0:a.deleteTable(m),m.close()}})()}seekRow(e,t,n,r,a,l,s){var o=this;return Ae(function*(){return o.table.seekRow(e,t,n,r,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}function Yn(i,e,t){return(e=Bl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Bl(i){var e=Wl(i,"string");return typeof e=="symbol"?e:e+""}function Wl(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Kl extends x{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Ve(e);super(e),Yn(this,"modelFormatter",void 0),Yn(this,"modelColumnAlignmentMap",void 0),this.modelFormatter=t,this.modelColumnAlignmentMap=new Map}get rowCount(){return 0}get columnCount(){return 0}textForCell(e,t){return""}textForColumnHeader(e,t){}get columns(){return G}getColumnIndexByName(e){}get initialMovedColumns(){return G}get initialMovedRows(){return G}get initialColumnHeaderGroups(){return G}get groupedColumns(){return G}formatForCell(e,t){}valueForCell(e,t){}get filter(){return G}set filter(e){}get partition(){return G}set partition(e){}get partitionColumns(){return G}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}get columnAlignmentMap(){return this.modelColumnAlignmentMap}set columnAlignmentMap(e){this.modelColumnAlignmentMap=e}displayString(e,t,n){return""}get sort(){return G}set sort(e){}get customColumns(){return G}set customColumns(e){}get formatColumns(){return G}updateFrozenColumns(e){}get rollupConfig(){return null}set rollupConfig(e){}get totalsConfig(){return null}set totalsConfig(e){}export(){throw new Error("Method not implemented.")}columnStatistics(e){throw new Error("Method not implemented.")}get selectDistinctColumns(){return G}set selectDistinctColumns(e){}get pendingDataMap(){return Jt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Jt}commitPending(){return Promise.resolve()}setViewport(e,t,n){}snapshot(e){return Promise.resolve([])}textSnapshot(e,t,n){return Promise.resolve("")}valuesTable(e){throw new Error("Method not implemented.")}delete(e){return Promise.resolve()}seekRow(e,t,n,r,a,l,s){return Promise.resolve(0)}get columnHeaderGroups(){return G}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Jt}getColumnHeaderParentGroup(e,t){}}function Qn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function kt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Qn(a,n,r,l,s,"next",o)}function s(o){Qn(a,n,r,l,s,"throw",o)}l(void 0)})}}function zl(i,e,t){return(e=ql(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ql(i){var e=Xl(i,"string");return typeof e=="symbol"?e:e+""}function Xl(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Zl(i){return"getBaseTable"in i&&typeof i.getBaseTable=="function"}class Yl extends Kl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Ve(e);super(e,n),zl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}get isPartitionAwareSourceTable(){return!1}get isReversible(){return!1}displayString(e,t,n){return""}close(){this.partitionedTable.close()}get columns(){return this.partitionedTable.columns}get partitionColumns(){return this.partitionedTable.keyColumns}get columnCount(){return this.columns.length}getColumnIndexByName(e){return this.columns.findIndex(t=>t.name===e)}textForColumnHeader(e,t){var n;return(n=this.columns[e].name)!==null&&n!==void 0?n:""}partitionKeysTable(){var e=this;return kt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return kt(function*(){return Zl(e.partitionedTable)?e.partitionedTable.getBaseTable():e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return kt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return kt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Hn("Partition not found");return n}catch(r){throw kl(r)?r:new Hn("Unable to retrieve partition")}})()}}function Ee(i,e,t){return(e=Ql(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ql(i){var e=Jl(i,"string");return typeof e=="symbol"?e:e+""}function Jl(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Fe=B.module("IrisGridProxyModel");function Ke(i,e,t,n){return z.isTreeTable(e)?new Ol(i,e,t):z.isPartitionedTable(e)?new Yl(i,e,t):new Hl(i,e,t,n)}class es extends x{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Ve(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Ee(this,"model",void 0),Ee(this,"dh",void 0),Ee(this,"originalModel",void 0),Ee(this,"modelPromise",void 0),Ee(this,"rollup",void 0),Ee(this,"partition",void 0),Ee(this,"selectDistinct",void 0),Ee(this,"currentViewport",void 0),Ee(this,"setViewport",(l,s,o)=>{this.currentViewport={top:l,bottom:s,columns:o},this.model.setViewport(l,s,o)}),this.addEventListener=this.addEventListener.bind(this),this.removeEventListener=this.removeEventListener.bind(this),this.dispatchEvent=this.dispatchEvent.bind(this),this.handleModelEvent=this.handleModelEvent.bind(this);var a=Ke(e,t,n,r);return this.dh=e,this.originalModel=a,this.model=a,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[],new Proxy(this,{get(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.get)!=null;if(h)return Reflect.get(l,s,o);var c=Object.prototype.hasOwnProperty.call(l,s),p=Object.prototype.hasOwnProperty.call(Object.getPrototypeOf(l),s),v=c||p?l:l.model;return Reflect.get(v,s)},set(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.set)!=null,c=Object.prototype.hasOwnProperty.call(l,s);return h||c?Reflect.set(l,s,o,l):Reflect.set(l.model,s,o,l.model)}})}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){Fe.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new De(n,{detail:t}))}setModel(e){Fe.debug("setModel",e);var t=this.model,{columns:n}=t;if(t!==this.originalModel&&t.close(),this.model=e,this.listenerCount>0&&this.addListeners(e),n!==e.columns)this.dispatchEvent(new De(x.EVENT.COLUMNS_CHANGED,{detail:e.columns}));else if(this.currentViewport!=null){var{top:r,bottom:a,columns:l}=this.currentViewport;e.setViewport(r,a,l)}ke(e)&&this.dispatchEvent(new De(x.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Fe.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Ie.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Ie.isCanceled(t)){Fe.debug2("setNextModel cancelled");return}Fe.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new De(x.EVENT.REQUEST_FAILED,{detail:t}))})}startListening(){super.startListening(),this.addListeners(this.model)}stopListening(){super.stopListening(),this.removeListeners(this.model)}addListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get originalColumns(){return this.originalModel.columns}get partitionColumns(){return Le(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!Le(this.originalModel)||!this.originalModel.isPartitionRequired?Ll(this.originalModel)?null:void 0:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Fe.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&Le(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>Ke(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>Ke(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!Le(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!Le(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!Le(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Fe.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Wi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);ke(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Fe.debug("set selectDistinctColumns",e),!this.isSelectDistinctAvailable)throw new Error("Select distinct is not available");if(e===this.selectDistinctColumns||e.length===0&&this.selectDistinctColumns.length===0){Fe.debug("Ignore same selectDistinctColumns",e);return}this.selectDistinct=e;var t=e.map(r=>this.originalColumns.find(a=>a.name===r)).filter(r=>r!=null),n=Promise.resolve(this.originalModel);ke(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(r=>Ke(this.dh,r,this.formatter))),this.setNextModel(n)}set totalsConfig(e){this.modelPromise==null&&(this.model.totalsConfig=e)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return Le(this.originalModel)?this.originalModel.isPartitionRequired:void 0}get isPartitionAwareSourceTable(){return Le(this.originalModel)&&this.originalModel.isPartitionAwareSourceTable}get formatter(){return this.originalModel.formatter}set formatter(e){this.originalModel.formatter=e}get columnAlignmentMap(){return this.originalModel.columnAlignmentMap}set columnAlignmentMap(e){this.originalModel.columnAlignmentMap=e}}function Jn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function ts(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Jn(a,n,r,l,s,"next",o)}function s(o){Jn(a,n,r,l,s,"throw",o)}l(void 0)})}}class fr{static makeModel(e,t){var n=arguments;return ts(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new Ve(e),a=null;return!z.isTreeTable(t)&&!z.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new es(e,t,r,a)})()}}function ei(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 ti(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ei(Object(t),!0).forEach(function(n){ns(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ei(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ns(i,e,t){return(e=is(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function is(i){var e=rs(i,"string");return typeof e=="symbol"?e:e+""}function rs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function gr(i,e){var t=["isStuckToBottom","isStuckToRight","movedColumns","movedRows"];return i===e||t.every(n=>i[n]===e[n])}function br(i,e){var t=["advancedFilters","aggregationSettings","customColumnFormatMap","columnAlignmentMap","isFilterBarShown","quickFilters","customColumns","reverse","rollupConfig","showSearchBar","searchValue","selectDistinctColumns","selectedSearchColumns","sorts","invertSearchColumns","pendingDataMap","frozenColumns","conditionalFormats","columnHeaderGroups","partitionConfig"];return i===e||i.metrics!=null&&e.metrics!=null&&i.metricCalculator===e.metricCalculator&&i.metrics.userColumnWidths===e.metrics.userColumnWidths&&i.metrics.userRowHeights===e.metrics.userRowHeights&&t.every(n=>i[n]===e[n])}function as(){return O((i,e)=>H.dehydrateGridState(i,e),(i,e)=>{var[t,n]=i,[r,a]=e;return t===r&&gr(n,a)})}function ls(){return O((i,e)=>{var t=new H(i.dh);return t.dehydrateIrisGridState(i,e)},(i,e)=>{var[t,n]=i,[r,a]=e;return t===r&&br(n,a)})}function ss(){return O((i,e,t)=>{var n=new H(i.dh);return ti(ti({},n.dehydrateIrisGridState(i,e)),H.dehydrateGridState(i,t))},(i,e)=>{var[t,n,r]=i,[a,l,s]=e;return t===a&&br(n,l)&&gr(r,s)})}var ln={makeMemoizedGridStateDehydrator:as,makeMemoizedIrisGridStateDehydrator:ls,makeMemoizedCombinedGridStateDehydrator:ss};function Kt(){var i=f.useContext(Ca);if(i==null)throw new Error("LayoutManager not available, did you add a LayoutManagerContext.Provider to the tree?");return i}function os(i,e,t,n,r){if(e>t)throw new Error("Persisted state ".concat(r," is a newer version than the current version. Persisted version: ").concat(e,". Current version: ").concat(t));for(var a=i,l=e;l<t;){var s=n.filter(d=>d.from===l);if(s.length===0)throw new Error("No migration found for persisted state ".concat(r," from version ").concat(l));if(s.length>1)throw new Error("Multiple migrations found for persisted state ".concat(r," from version ").concat(l));var o=s[0];try{a=o.migrate(a),l+=1}catch(d){throw new Error("Error migrating persisted state ".concat(r," from version ").concat(o.from,": ").concat(d),{cause:d})}}return a}function Cr(i,e){var t=dn(),n=f.useMemo(()=>he(),[]),r=f.useContext(Sa),{type:a,version:l,migrations:s=[],deleteOnUnmount:o=!0}=e,[d,h]=f.useState(()=>{var p=t!=null?r==null?void 0:r.getState(t,a):void 0;return p==null?typeof i=="function"?i():i:p.version!==l?os(p.state,p.version,l,s,a):p.state}),c=f.useMemo(()=>({type:a,version:l,state:d}),[d,a,l]);return f.useDebugValue(c),f.useEffect(function(){t!=null&&(r==null||r.addState(n,t,c))},[r,n,t,c]),f.useEffect(function(){return()=>{o&&t!=null&&(r==null||r.removeState(n,t,a))}},[r,o,n,t,a]),f.useEffect(()=>()=>{t!=null&&(r==null||r.deregisterHook(n,t,a))},[r,n,t,a]),[d,h]}function gn(i,e,t){return(e=ds(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ds(i){var e=us(i,"string");return typeof e=="symbol"?e:e+""}function us(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class et{}gn(et,"OPEN","ChartEvent.OPEN");gn(et,"CLOSE","ChartEvent.CLOSE");gn(et,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");function ot(i,e,t){return(e=hs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hs(i){var e=cs(i,"string");return typeof e=="symbol"?e:e+""}function cs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Z{}ot(Z,"OPEN_GRID","IrisGridEvent.OPEN_GRID");ot(Z,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");ot(Z,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");ot(Z,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");ot(Z,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");ot(Z,"CREATE_CHART","IrisGridevent.CREATE_CHART");function Sr(i,e,t){return(e=ps(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ps(i){var e=vs(i,"string");return typeof e=="symbol"?e:e+""}function vs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class bn{}Sr(bn,"OPEN","PandasEvent.OPEN");Sr(bn,"CLOSE","PandasEvent.CLOSE");var ms=ya;function fs(i){var{children:e,descriptor:t}=i,{name:n,type:r,description:a,displayName:l}=t,s=r.replace(/([a-z])([A-Z])/g,"$1 $2");return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[s," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:n}),u.jsx(Pa,{UNSAFE_className:"tab-tooltip-copy",tooltip:"Copy name",copy:n,isQuiet:!0})]}),n!==l&&!!l&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),u.jsx("span",{className:"tab-tooltip-name",children:l})]}),!!a&&u.jsx("div",{className:"tab-tooltip-description",children:a}),e]})}var Cn=Ki(fs);function sn(i,e,t){return(e=gs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function gs(i){var e=bs(i,"string");return typeof e=="symbol"?e:e+""}function bs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class yr extends f.PureComponent{constructor(e){var t;super(e),t=this,sn(this,"getCachedRenderTabTooltip",O((n,r)=>n?()=>u.jsx(Cn,{descriptor:r}):void 0)),sn(this,"getCachedActions",O(function(n){var r,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:G;return[...a,{title:"Copy ".concat((r=n.displayType)!==null&&r!==void 0?r:n.type," Name"),group:zi.groups.medium,order:20,action:t.handleCopyName}]})),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{descriptor:e}=this.props;wa(e.name)}getErrorMessage(){var{descriptor:e,errorMessage:t}=this.props,{isClientDisconnected:n,isPanelDisconnected:r,isWidgetDisconnected:a,isWaitingForReconnect:l}=this.state;if(t!=null&&t!=="")return"".concat(t);if(n&&r&&l)return`Disconnected from server.
3
3
  Check your internet connection.`;if(n&&r)return"Disconnected from server.";if(r){var{name:s,type:o}=e;return'Variable "'.concat(s,`" not set.
4
- `).concat(o," does not exist yet.")}if(a)return"".concat(e.name," is unavailable.")}handleSessionClosed(e){var{onSessionClose:t}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),t==null||t(e)}render(){var{children:e,className:t,componentPanel:n,descriptor:r,isLoaded:a,isLoading:l,glContainer:s,glEventHub:o,isDisconnected:d,isClonable:h,isRenamable:c,showTabTooltip:p=!1,renderTabTooltip:v,onClearAllFilters:g,onHide:C,onFocus:m,onBlur:b,onResize:y,onSessionOpen:S,onShow:P,onTabBlur:w,onTabFocus:T,onTabClicked:L,additionalActions:M}=this.props,{isPanelDisconnected:D,isWidgetDisconnected:E,isPanelInactive:j}=this.state,R=this.getErrorMessage(),A=v??this.getCachedRenderTabTooltip(p,r),q=this.getCachedActions(r,M);return u.jsxs(at,{className:ue(t,{disconnected:D||E||d,inactive:j}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:g,onHide:C,onFocus:m,onBlur:b,onResize:y,onShow:P,onSessionClose:this.handleSessionClosed,onSessionOpen:S,onTabBlur:w,onTabFocus:T,onTabClicked:L,renderTabTooltip:A,errorMessage:R,isLoaded:a,isLoading:l,isClonable:h,isRenamable:c,additionalActions:q,children:[e,j&&u.jsx("div",{className:"fill-parent-absolute"})]})}}sn(yr,"defaultProps",{className:"",isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0});var Dt=Ki(yr);function ps(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=i,o=f.useMemo(()=>{var g=Array.from(s.keys()),C=g.find(y=>t.get(y)!=null),m=g.find(y=>n.get(y)!=null),b=ge.join(g.map(y=>'"'.concat(y,'"')));return C!=null&&C&&m!=null&&m?"Use a filter control or linked table to set a value for ".concat(b):C!=null&&C?"Set a filter control value for ".concat(b):"Double click a row in a linked table to set a value for ".concat(b)},[t,n,s]),d=f.useMemo(()=>Array.from(e.values()),[e]),h=f.useCallback(g=>{g.stopPropagation(),g.preventDefault(),r(Array.from(l.values()))},[r,l]),c=f.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),p=l.size>0,v=!p&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ue("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":p},{"chart-filter-waiting-input":v}),children:[p&&u.jsxs(u.Fragment,{children:[u.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:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(g=>{var C=l.has(g.name),m=C?ll:sl;return u.jsxs("div",{className:ue("waiting-filter-item",{"is-invalid":C}),children:[u.jsx(de,{icon:m}),g.name]},g.name)})}),u.jsxs("div",{children:[u.jsx(N,{kind:"primary",onClick:h,children:"Add Input Filters"}),u.jsx(N,{kind:"primary",onClick:c,children:"Open Linker Tool"})]})]}),v&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}function At(i){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:r}=i;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:ue("chart-panel-overlay-content"),children:[u.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:"}),u.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>u.jsx(pr,{className:ue("btn-chart-column-selector",At.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n==null||n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}At.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);function Xe(i){return i.settings!==void 0}function Pr(i){return i.figure!==void 0}function wr(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function Er(i){return i!=null&&wr(i.panelState)}var Sn=lt(Me.COLUMNS_CHANGED),vs=Sn.listen,Ut=Sn.emit,ms=Sn.useListener,yn=lt(Me.TABLE_CHANGED);yn.listen;var $t=yn.emit,fs=yn.useListener,Pn=lt(Me.FILTERS_CHANGED);Pn.listen;var Fr=Pn.emit,gs=Pn.useListener,wn=Object.freeze({LINK_POINT_SELECTED:"LinkerEvent.LINK_POINT_SELECTED",SOURCE_DATA_SELECTED:"LinkerEvent.SOURCE_DATA_SELECTED",REGISTER_TARGET:"LinkerEvent.REGISTER_TARGET"}),En=lt(wn.LINK_POINT_SELECTED),bs=En.listen,zt=En.emit;En.useListener;var Fn=lt(wn.SOURCE_DATA_SELECTED),Cs=Fn.listen,Tr=Fn.emit;Fn.useListener;var Tn=lt(wn.REGISTER_TARGET),Ss=Tn.listen,ni=Tn.emit;Tn.useListener;function ii(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 Lt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ii(Object(t),!0).forEach(function(n){se(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ii(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function se(i,e,t){return(e=ys(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ys(i){var e=Ps(i,"string");return typeof e=="symbol"?e:e+""}function Ps(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Q=B.module("ChartPanel"),ws=150;function Es(i){return i.inputFilters!=null}function Fs(i){return i.panelState!=null}class qt extends f.Component{constructor(e){super(e),se(this,"panelContainer",void 0),se(this,"pending",void 0),se(this,"getWaitingInputMap",O((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),se(this,"getWaitingFilterMap",O((l,s,o,d,h)=>{if(!l)return new Map;var c=new Map(s);return o.forEach((p,v)=>{c.delete(v)}),h.forEach((p,v)=>{c.delete(v)}),d.forEach((p,v)=>{c.delete(v)}),c})),se(this,"getInputFilterColumnMap",O((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:p}=h,v=l.get(c);v!=null&&v.type===p&&o.set(c,h)}return o})),se(this,"getLinkedColumnMap",O((l,s)=>{for(var o=new Map,d=F.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],p=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?p=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(p=c.end.columnName),p!=null&&l.has(p)){var v=l.get(p);k(v),o.set(p,v)}}return o})),se(this,"getSelectorColumns",O((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d,{type:"chartLink"}):!1,isActive:s.has(d.name)})))),se(this,"getWidgetPanelDescriptor",O(l=>{var s="Chart";if(Xe(l))s=l.table;else if(Pr(l)){var o;s=(o=l.figure)!==null&&o!==void 0?o:s}else{var d;s=(d=l.name)!==null&&d!==void 0?d:s}return Lt(Lt({},l),{},{type:"Chart",name:s})})),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=rt(this.updateModelFromSource.bind(this),ws),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=ie.createRef(),this.pending=new Zi;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&&Xe(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:l,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:c}=this.state;a!==e.makeModel&&this.initModel(),s!=null&&(l!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),o!==t.filterMap?this.updateFilters():d!==t.filterValueMap&&this.updatePanelState(),c!==t.settings&&Xn(s)&&(s.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,isDisconnected:!1});var{makeModel:e}=this.props;this.pending.cancel(),this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Q.debug("startListeningToSource",e);var{model:t}=this.state;k(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){Q.debug("stopListeningToSource",e);var{model:t}=this.state;k(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,r=F.getIdFromPanel(this);k(r);var a=n.get(e);a!=null&&zt(t,r,a,{type:"chartLink"})}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:r}=this.props;Q.debug("handleColumnMouseEnter",r,t,n),r&&r(this,{type:t,name:n},{type:"chartLink"})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Q.debug("handleColumnMouseLeave",e),e&&e(this,void 0,{type:"chartLink"})}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(pe.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){Q.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:r}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),r&&l&&(this.startListeningToSource(r),this.updateModelFromSource()))})}handleLoadError(e){Ie.isCanceled(e)||(Q.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){Q.debug2("updateModelFromSource ignoring",n,r,t);return}var{dh:a}=r;if(this.pending.cancel(),Xe(e)){var{settings:l}=e;this.pending.add(Je.makeFigureFromSettings(a,l,t),s=>s.close()).then(s=>{Xn(r)&&r.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:r}=this.state,{tableSettings:a}=t??{};if(e&&Es(e.props)&&Fs(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=H.extractTableSettings(s,l))}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=Lt(Lt({},n),e);return Q.debug("Updated settings",r),{settings:r}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:r}=e;t.emit(Me.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,n=F.getIdFromPanel(this);k(n),Ut(t,n,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=At.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 l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){Q.debug("setFilterMap",e),this.setState(t=>{var{columnMap:n,filterMap:r}=t,a=null,l=new Map(t.filterValueMap);return e.forEach((s,o)=>{var{columnType:d,filterList:h}=s,c=n.get(o);if(!(c==null||c.type!==d)){if(h.length===0){Q.debug("Ignoring empty filterList for column",o);return}var{value:p}=h[0];l.set(o,p),r.get(o)!==p&&(a===null&&(a=new Map(r)),a.set(o,p))}}),{filterValueMap:l,filterMap:a??r}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:r}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(r,n);if(s.has(e)){var o,d=a.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==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:l}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(l=>l.name===a.name&&l.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),l=new Map(n.filterMap),s=t?{filterMap:l,filterValueMap:a}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],p=r.get(d);p!=null&&p.type===h&&(c!=null&&l.get(d)!==c&&(c===""?l.delete(d):l.set(d,c),s.filterMap=l),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return Q.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r,filterValueMap:a}=n,l=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=r.get(d);if(c!=null&&c.type===h&&l.has(d)){var p=l.get(d);if(a.has(d)){var v=a.get(d);v!==p&&v!=null&&(s=!0,l.set(d,v))}else s=!0,l.delete(d)}}return Q.debug("deleteInputFilters",s),s?{filterMap:l}: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;k(n);var r=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&r.size===0){var a=n.getDefaultTitle(),l=ge.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),Q.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else Q.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((l,s)=>{t.has(s)||(r.delete(s),a.filterValueMap=r)}),e.filterMap.forEach((l,s)=>{t.has(s)||(n.delete(s),a.filterMap=n)}),a})}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:r,isLinkerActive:a,links:l,metadata:s,settings:o,Plotly:d,containerRef:h}=this.props,{columnMap:c,filterMap:p,error:v,model:g,isActive:C,isDisconnected:m,isLoaded:b,isLoading:y}=this.state,S=this.getInputFilterColumnMap(c,r),P=this.getLinkedColumnMap(c,l),w=g!=null?this.getWaitingInputMap(g.isFilterRequired(),c,p):new Map,T=g!=null?this.getWaitingFilterMap(g.isFilterRequired(),c,p,P,S):new Map,L=v!=null?"Unable to open chart. ".concat(v):void 0,M=w.size>0,D=c.size>0&&a,E=this.getWidgetPanelDescriptor(s);return u.jsx(Dt,{className:ue("iris-chart-panel",{"input-required":M}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:L,isDisconnected:m,isLoading:y,isLoaded:b,descriptor:E,children:u.jsxs("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100",children:[u.jsx("div",{className:"chart-container h-100 w-100",children:b&&g&&u.jsx(vr,{isActive:C,model:g,settings:o,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d,containerRef:h})}),u.jsx(rn,{in:M&&!D&&!y,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(ps,{inputFilterMap:S,linkedColumnMap:P,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:T,waitingInputMap:w})}),u.jsx(rn,{in:D,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(At,{columns:this.getSelectorColumns(c,P,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}se(qt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});se(qt,"displayName","ChartPanel");se(qt,"COMPONENT","ChartPanel");var Ts=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&Xe(n)&&(r=n.sourcePanelId);var a=Gt(i,t),l=Xi(i,t),s=hn(i),o=Ht(i,t),d=s===pe.LINKER&&o===void 0;return{columnSelectionValidator:Ft(i,t),isLinkerActive:d,inputFilters:Et(i,t),links:st(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?l.get(r):void 0,settings:Bt(i)}},Dn=Ge(Ts,{setActiveTool:qi,setDashboardIsolatedLinkerPanelId:un},null,{forwardRef:!0})(qt);function ce(i,e,t){return(e=Ds(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ds(i){var e=Ms(i,"string");return typeof e=="symbol"?e:e+""}function Ms(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ot=B.module("DropdownFilter"),ks=150;class be extends f.Component{constructor(e){super(e),ce(this,"dropdownRef",void 0),ce(this,"getCompatibleColumns",O((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&z.isCompatibleType(o,a.columnType)}):[])),ce(this,"getColumnOptions",O((a,l)=>{var s=-1,o=[];return o.push(u.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((d,h)=>{o.push(u.jsx("option",{value:h,children:this.getItemLabel(a,h)},"".concat(d.name,"/").concat(d.type))),l!==null&&d.name===l.name&&d.type===l.type&&(s=h)}),[o,s]})),ce(this,"getSelectedOptionIndex",O((a,l)=>a.indexOf(l))),ce(this,"getValueOptions",O(a=>[u.jsx("option",{value:"-1",children:be.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),ce(this,"getItemLabel",oe((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s},{max:1e3})),ce(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},ks)),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=ie.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:he(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a&&(n!==e.source&&this.sourceUpdated(),r!==e.values&&s!==""&&!r.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(l!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(Ot.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(),Ot.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]:Ot.debug2("Selected default item"),Ot.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,l=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:l,value:r??o,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:r,isLoaded:a,source:l,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:p,disableCancel:v,id:g,isValueShown:C,selectedColumn:m,value:b}=this.state,y=l===null,S=this.getCompatibleColumns(l,t),P=l!=null,w=(e=l==null?void 0:l.columnName)!==null&&e!==void 0?e:be.SOURCE_BUTTON_PLACEHOLDER,T=p!=null?"".concat(p.name," Filter"):null,[L,M]=this.getColumnOptions(S,m),D=this.getValueOptions(h),E=this.getSelectedOptionIndex(h,b),j=!P||m==null,R=C&&!r,A="source-column-btn-".concat(g),q="filter-column-select-".concat(g);return u.jsxs(fn,{className:"dropdown-filter fill-parent-absolute",isFlipped:R,children:[u.jsx("div",{className:"dropdown-filter-settings-card",children:u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsxs("div",{className:"dropdown-filter-settings-grid",children:[u.jsx("label",{htmlFor:A,children:"Source Column"}),u.jsx(pr,{id:A,isLinked:P,onClick:s,onMouseEnter:o,onMouseLeave:d,className:be.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:w}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:q,children:"Filter Column"}),u.jsx(Ct,{id:q,value:String(M),className:"custom-select",onChange:this.handleColumnChange,disabled:y,children:L}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&u.jsx("div",{className:"error-message text-center",children:c}),P&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx(N,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||C||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx(N,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:j||C||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:T})}),u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:u.jsx(Ct,{className:"custom-select",value:String(E),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:D})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx(N,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(de,{icon:pn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}ce(be,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});ce(be,"PLACEHOLDER","Select a value...");ce(be,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");ce(be,"SOURCE_BUTTON_PLACEHOLDER","Select a column");function Y(i,e,t){return(e=Ls(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ls(i){var e=Os(i,"string");return typeof e=="symbol"?e:e+""}function Os(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var _=B.module("DropdownFilterPanel"),Ns=250,js=Object.freeze({name:"Dropdown Filter",type:"DropdownFilter"}),Is=(i,e)=>{var{localDashboardId:t}=e,n=F.getIdFromPanel({props:e}),r=Gt(i,t),a=st(i,t),l=hn(i),s=Ht(i,t),o=l===pe.LINKER&&(s===void 0||s===n),d=l===pe.LINKER&&s!==void 0&&s!==n;return{columns:cn(i,t),columnSelectionValidator:Ft(i,t),dh:Qi(i),isLinkerActive:o,disableLinking:d,settings:Bt(i),panelTableMap:r,dashboardLinks:a}},xs=Ge(Is,null,null,{forwardRef:!0});class ve extends f.Component{constructor(e){super(e),Y(this,"dateTimeFormatter",void 0),Y(this,"dropdownFilterRef",void 0),Y(this,"panelContainer",void 0),Y(this,"pending",void 0),Y(this,"cleanup",void 0),Y(this,"columnFormats",void 0),Y(this,"getCachedValues",oe((c,p,v)=>{var{type:g,name:C}=p;return g!==void 0&&z.isDateType(g)?c.map(m=>this.dateTimeFormatter.format(m)):c.map(m=>m!=null&&g!=null?v.getFormattedString(m,g,C):null)},{max:1e3})),Y(this,"getCachedPanelLinks",oe((c,p)=>{var v=F.getIdFromPanel(p);return _.debug("getCachedPanelLinks",c,v),c.filter(g=>{var C;return((C=g.end)===null||C===void 0?void 0:C.panelId)===v})},{max:1e3})),Y(this,"getCachedSource",oe(c=>{_.debug("getCachedSource",c);var p;if(c.length>0){var[v]=c;p=v.start,c.length>1&&_.error("Filter has more that one link",c)}return p},{max:1e3})),Y(this,"getCachedSourceTable",oe((c,p)=>{var v;if(_.debug("getCachedSourceTable",c,p),p==null)return null;var{panelId:g}=p;return(v=c.get(g))!==null&&v!==void 0?v:null},{max:1e3})),Y(this,"getCachedSourceColumn",oe((c,p)=>{var v;return _.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(g=>{var{name:C,type:m}=g;return C===p.columnName&&m===p.columnType}))!==null&&v!==void 0?v:null},{max:1e3})),this.handleChange=rt(this.handleChange.bind(this),Ns),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=ie.createRef(),this.panelContainer=ie.createRef(),this.pending=new Zi;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=Bn.getColumnFormats(r),this.dateTimeFormatter=new Yi(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:l=!1,name:s,type:o,timestamp:d}=n??{},h=s!=null&&o!=null?{name:s,type:o}:void 0;this.state={column:h,formatter:new Ve(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:l,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,l=this.getSourceTable(t,e);if(l!==null&&this.startListeningToSource(l),n!=null){var{name:s,type:o}=n;this.sendUpdate(s,o,r,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:r,settings:a}=this.props,{valuesTable:l}=this.state,s=this.getSource(n),o=this.getSourceTable(r,n),d=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),l!==t.valuesTable&&t.valuesTable!=null&&(_.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==h||s!==d)&&this.updateValuesTable(),o!==h&&(h!==null&&this.stopListeningToSource(h),o!==null&&this.startListeningToSource(o))}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(be.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>ve.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(ve.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;_.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;_.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:l=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:g}=d,C=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&r===c.value;return s=(h=!g&&n&&(!C||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:r,timestamp:o??void 0},timestamp:o,wasFlipped:C,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,l,r,o)})}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(){_.debug("handleColumnSelected");var{glEventHub:e}=this.props,t=F.getIdFromPanel(this);k(t),zt(e,t,ve.SOURCE_COLUMN,{type:"filterSource"})}handleClearAllFilters(){var e;(e=this.dropdownFilterRef)===null||e===void 0||(e=e.current)===null||e===void 0||e.clearFilter()}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:r}=this.props;if(this.getSource(r)==null){_.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!n}),(t=this.dropdownFilterRef)===null||t===void 0||(t=t.current)===null||t===void 0||t.setFilterState(e)}sendUpdate(e,t,n,r){var a,{dashboardLinks:l,glEventHub:s}=this.props,o=(a=this.getSource(l))===null||a===void 0?void 0:a.panelId,d=o==null?[]:[o];_.debug("sendUpdate",{name:e,type:t,value:n,timestamp:r,excludePanelIds:d});var h=F.getIdFromPanel(this);k(h),Fr(s,h,e!=null&&t!=null&&r!=null?{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:d}:null)}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),r=this.getSourceTable(t,e);if(_.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){_.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=>{Ie.isCanceled(a)||(_.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(_.debug("applySourceSorts",r==null?void 0:r.sort),n==null||r==null){_.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(_.debug("applySourceFilters",r==null?void 0:r.filter),n==null||r==null){_.debug("Table not initialized");return}var a=[...r.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(_.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){_.error("values column is null");return}e.setViewport(0,ve.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=Bn.getColumnFormats(e);Wi(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new Ve(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:r}=this.props,{valuesTable:a}=this.state;if(!a){_.error("valuesTable is null");return}var l=this.getValuesColumn(a,r);if(!l){_.error("Values column not found");return}var s=n.map(o=>o.get(l));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:l})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,ve.SOURCE_COLUMN,{type:"filterSource"})}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0,{type:"filterSource"})}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:r,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:p,valuesColumn:v,isLoading:g,isLoaded:C}=this.state,m=this.getSource(t),b=this.getSettingsErrorMessage(),y=this.getPanelErrorMessage(),S=C&&v!=null?this.getCachedValues(p,v,o):G;return u.jsx(Dt,{errorMessage:y,isLoading:g,isLoaded:C,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,descriptor:js,children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(be,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:l,disableLinking:n,isLoaded:C,settingsError:b,source:m,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Y(ve,"displayName","DropdownFilterPanel");Y(ve,"COMPONENT","DropdownFilterPanel");Y(ve,"MAX_TABLE_SIZE",256);Y(ve,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Ze=xs(ve);function ri(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 Nt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ri(Object(t),!0).forEach(function(n){mt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ri(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function mt(i,e,t){return(e=_s(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _s(i){var e=Rs(i,"string");return typeof e=="symbol"?e:e+""}function Rs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var U=B.module("FilterSetManager"),As="Enter name...",ai="No Available Filter Sets";class Pt extends f.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),mt(this,"renameInputRef",ie.createRef()),mt(this,"dropdownRef",ie.createRef()),mt(this,"editDropdownRef",ie.createRef()),mt(this,"isRenamingExistingSet",O((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:l}=this.props;l({isValueShown:!0,selectedId:r[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;U.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(U.debug("updateSelectedId",t,n),!!e&&!t.some(l=>{var{id:s}=l;return s===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:[]}),U.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Pt.animateScreenFlash();var t=he(),n=e(),r={id:t,title:"",panels:n};U.debug("handleSetCreate",r),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:r})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e==="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 U.debug("Name cannot be empty",a),"Name cannot be empty";if(n!==void 0&&r.some(l=>{var{title:s,id:o}=l;return s===a&&o!==n.id}))return U.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){U.error("Renamed set undefined.");return}var l=this.getNameError(t);if(U.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t==null?void 0:t.trim())!==null&&e!==void 0?e:"",o=Nt(Nt({},n),{},{title:s,restoreFullState:a}),d=r.findIndex(c=>{var{id:p}=c;return p===n.id}),h=[...r];d>=0?(h[d]=o,U.debug("Renamed existing set",h)):(h.push(o),U.debug("Added new set to modified sets",h)),this.setState({editId:o.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.findIndex(o=>{var{id:d}=o;return d===t});if(r<0)return U.error("Unable to find selected filterSet index",n,t),null;var a=n.filter(o=>{var{id:d}=o;return d!==t}),l=Math.max(0,Math.min(a.length-1,r-1)),s=a.length>0?a[l].id:void 0;return U.debug("Deleted selected set",t,n,a),U.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Pt.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:a}=n;if(a===void 0)return U.error("Filter for update not selected."),null;var l=[...r],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(U.error("Selected set for update not found."),null):(l[s]=Nt(Nt({},l[s]),{},{panels:t}),U.debug("Update set",l,t),{modifiedFilterSets:l})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.find(s=>{var{id:o}=s;return o===t});if(r===void 0)return U.error("Could not find selected set",t,n),null;var{title:a,restoreFullState:l=!1}=r;return{nameInputValue:a,nameInputError:void 0,renameSet:r,restoreFullState:l}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){U.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){U.debug("No filter selected");return}var r=n.find(a=>{var{id:l}=a;return l===e});if(r===void 0){U.debug("Selected id not found in filterSets",e,n);return}U.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:l}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,r),p=a.length===0,v=!h&&p&&o.length===0,g=!h&&!v,C=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(de,{icon:Gn,mask:Vn,transform:"shrink-1 down-5 right-7"}),u.jsx(de,{icon:ul,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),m=u.jsxs("div",{className:"fa-layers",children:[u.jsx(de,{icon:Gn,mask:Vn,transform:"shrink-1 down-5 right-7"}),u.jsx(de,{icon:hl,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(fn,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[v&&u.jsxs("div",{children:[u.jsx(N,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,children:"Capture filter set"}),u.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&&u.jsxs("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:c?"Edit set":"Name captured set"}),u.jsxs("div",{className:"name-input-container",children:[u.jsx("input",{type:"text",className:"input-set-name form-control",placeholder:As,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx(N,{"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:ol}),u.jsx(N,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:dl})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(fa,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Un,{value:"false",children:"Restore only filters"}),u.jsx(Un,{value:"true",children:"Restore full table state"})]})})]}),g&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(Ct,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:p,children:[p&&u.jsx("option",{value:"-1",disabled:!0,children:ai}),a.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(N,{kind:"ghost",onClick:this.handleSetUpdate,disabled:p,icon:m,tooltip:"Update"}),u.jsx(N,{kind:"ghost",onClick:this.handleSetEdit,disabled:p,icon:hr,tooltip:"Edit"}),u.jsx(N,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:vn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(N,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx(N,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx(N,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),u.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"filter-set-manager-column",children:u.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),u.jsx("div",{className:"filter-set-manager-card-content",children:u.jsx("div",{className:"filter-set-manager-value-input",children:u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(Ct,{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d??"-1",className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[o.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:ai}),o.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(N,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:cr,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx(N,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(de,{icon:pn,transform:"grow-4"})})})]},"back")]})})}}function li(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 si(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?li(Object(t),!0).forEach(function(n){Us(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):li(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Us(i,e,t){return(e=$s(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $s(i){var e=Vs(i,"string");return typeof e=="symbol"?e:e+""}function Vs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Gs(i){var e,t,n,r,a,{model:l}=i,s=((e=l==null?void 0:l.rowCount)!==null&&e!==void 0?e:0)-((t=l==null?void 0:l.pendingRowCount)!==null&&t!==void 0?t:0)-((n=l==null?void 0:l.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=l==null?void 0:l.floatingTopRowCount)!==null&&r!==void 0?r:0),o=l==null?void 0:l.displayString(s,"long"),d=(a=l==null?void 0:l.columnCount)!==null&&a!==void 0?a:0,h=l==null?void 0:l.displayString(d,"long");return u.jsxs(Cn,si(si({},i),{},{children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:h}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:o})]}))}function Dr(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function Mr(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function oi(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 le(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?oi(Object(t),!0).forEach(function(n){V(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):oi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function V(i,e,t){return(e=Hs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Hs(i){var e=Bs(i,"string");return typeof e=="symbol"?e:e+""}function Bs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fe=B.module("IrisGridPanel"),Ws=500;function di(i){if(i==null)throw new Error("No metadata provided");if(Mr(i))return i.name;if(Dr(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(i)))}class tt extends f.PureComponent{constructor(e){super(e),V(this,"irisGrid",void 0),V(this,"pluginRef",void 0),V(this,"modelPromise",void 0),V(this,"irisGridState",void 0),V(this,"gridState",void 0),V(this,"pluginState",void 0),V(this,"irisGridUtils",void 0),V(this,"gridStateDehydrator",ln.makeMemoizedGridStateDehydrator()),V(this,"irisGridStateDehydrator",ln.makeMemoizedIrisGridStateDehydrator()),V(this,"getGridInputFilters",O((n,r)=>H.getInputFiltersForColumns(n,r.filter(a=>{var{value:l,excludePanelIds:s}=a,o=F.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),V(this,"getAlwaysFetchColumns",O((n,r)=>{for(var a=F.getIdFromPanel(this),l=new Set(r),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),V(this,"getPluginContent",O((n,r,a)=>{var l;if(!r||!ke(r)||n==null||r.table==null)return null;var s={panel:this};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,le({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,tableName:this.getTableName(),selectedRanges:(l=this.irisGrid.current)===null||l===void 0?void 0:l.state.selectedRanges,onStateChange:this.handlePluginStateChange,pluginState:a},s))})})),V(this,"getDehydratedIrisGridPanelState",O((n,r,a,l)=>H.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:a,advancedSettings:l}))),V(this,"getCachedPanelState",O((n,r,a,l)=>({irisGridPanelState:n,irisGridState:r,gridState:a,pluginState:l}))),V(this,"getWidgetPanelDescriptor",O((n,r)=>{var a=di(n);return le(le({type:"Table",displayType:"Table"},n),{},{name:a,description:r})})),V(this,"savePanelState",rt(()=>{var{irisGridState:n,gridState:r,pluginState:a}=this;k(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state;k(this.irisGridUtils),k(s),k(r);var p=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.irisGridStateDehydrator(s,n),this.gridStateDehydrator(s,r),a);p!==o&&(fe.debug("Saving panel state",this,p),this.setState({panelState:p}),l==null||l(p))},Ws)),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=ie.createRef(),this.pluginRef=ie.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(Tl.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,columnAlignmentMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userColumnWidthsByName:new Map,userRowHeights:new Map,reverse:!1,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:r}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),r!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return di(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null,isDisconnected:!1});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Ie.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 H(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=le(le({},l),r);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=H.getModelRollupConfig(c.originalColumns,h,s)}),d.length>0&&a.push(c=>{c.selectDistinctColumns=d})}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();fe.debug("initModelQueue",r),r&&r(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){fe.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;k(r);var{columns:a,formatter:l}=r,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,l.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}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,{type:"tableLink"}):!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(Z.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):(k(n),this.initModelQueue(n,r))}handleTableChanged(e){fe.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e,r=F.getIdFromPanel(this);k(r),$t(t,r,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r,metadata:a}=this.props,l=this.getTableName(),{panelState:s}=this.state,o=F.getIdFromPanel(this),d;s&&(d=H.extractTableSettings(s,r)),n.emit(Z.CREATE_CHART,{metadata:le(le({},a),{},{settings:e,sourcePanelId:o,table:l,tableSettings:d}),table:ke(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props,n=F.getIdFromPanel(this);k(n),zt(t,n,e,{type:"tableLink"})}handleDataSelected(e,t){var{glEventHub:n}=this.props,r=F.getIdFromPanel(this);k(r),Tr(n,r,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){fe.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){Ie.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}),ke(e)){var{table:r}=e,{pluginName:a}=r;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}var s=F.getIdFromPanel(this);k(s),$t(t,s,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){fe.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props,n=F.getIdFromPanel(this);k(n),Ut(t,n,e)}startModelListening(e){e.addEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,r,{model:a}=this.state;if(!a)return null;var l=this.irisGrid.current,{gridWrapper:s}=l||{},o=(t=s==null?void 0:s.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;k(l);var{metrics:d}=l.state;k(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:p,right:v,columnHeaderMaxDepth:g}=d,C=a.getColumnIndexByName(e);k(C);var m=l.getVisibleColumn(C),b=(n=c.get(m))!==null&&n!==void 0?n:0,y=(r=p.get(m))!==null&&r!==void 0?r:0,S=ze(m>v?o.right:o.left+b+y*.5,o.left,o.right),P=o.top+h*g;return[S,P]}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;fe.debug("setFilters",t,n);var{model:r,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){fe.debug("Ignore setFilters, model disconnected");return}k(r);var{columns:s,formatter:o}=r,d=H.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[p]=c;return r.isFilterable(p)}),h=H.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[p]=c;return r.isFilterable(p)});k(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){fe.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:l,irisGridPanelState:s}=t,o=le({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=H.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=H.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:p,advancedSettings:v}=H.hydrateIrisGridPanelState(e,s);k(this.irisGridUtils);var{advancedFilters:g,customColumns:C,customColumnFormatMap:m,columnAlignmentMap:b,isFilterBarShown:y,quickFilters:S,reverse:P,rollupConfig:w,aggregationSettings:T,sorts:L,userColumnWidths:M,userColumnWidthsByName:D,userRowHeights:E,showSearchBar:j,searchValue:R,selectDistinctColumns:A,selectedSearchColumns:q,invertSearchColumns:Se,pendingDataMap:_e,frozenColumns:Re,conditionalFormats:re,columnHeaderGroups:He,partitionConfig:Be}=this.irisGridUtils.hydrateIrisGridState(e,le(le({},l),o)),{isStuckToBottom:dt,isStuckToRight:ut,movedColumns:ee,movedRows:ht}=H.hydrateGridState(e,le(le({},a),r),l.customColumns);this.setState({advancedFilters:g,advancedSettings:v,conditionalFormats:re,customColumns:C,customColumnFormatMap:m,columnAlignmentMap:b,isFilterBarShown:y,isSelectingPartition:c,movedColumns:ee,movedRows:ht,partitions:p,quickFilters:S,reverse:P,rollupConfig:w,aggregationSettings:T,sorts:L,userColumnWidths:M,userColumnWidthsByName:D,userRowHeights:E,showSearchBar:j,searchValue:R,selectDistinctColumns:A,selectedSearchColumns:q,invertSearchColumns:Se,pendingDataMap:_e,frozenColumns:Re,isStuckToBottom:dt,isStuckToRight:ut,columnHeaderGroups:He,partitionConfig:Be})}catch(te){fe.error("loadPanelState failed to load panelState",t,te)}}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:l,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,mouseHandlers:c,panelState:p,user:v,renderer:g,settings:C,getMetricCalculator:m,theme:b}=this.props,{advancedFilters:y,aggregationSettings:S,advancedSettings:P,conditionalFormats:w,customColumns:T,customColumnFormatMap:L,columnAlignmentMap:M,error:D,isDisconnected:E,isFilterBarShown:j,isSelectingPartition:R,isStuckToBottom:A,isStuckToRight:q,isLoaded:Se,isLoading:_e,isModelReady:Re,model:re,movedColumns:He,movedRows:Be,partitions:dt,partitionConfig:ut,quickFilters:ee,reverse:ht,rollupConfig:te,sorts:me,userColumnWidths:ye,userColumnWidthsByName:Pe,userRowHeights:We,showSearchBar:Qt,searchValue:Jr,selectDistinctColumns:ea,selectedSearchColumns:ta,invertSearchColumns:na,Plugin:ia,pluginFilters:ra,pluginFetchColumns:aa,pendingDataMap:la,frozenColumns:sa,columnHeaderGroups:oa}=this.state,da=D!=null?"Unable to open table. ".concat(D):void 0,ua=(e=re==null?void 0:re.description)!==null&&e!==void 0?e:void 0,ha=(t=p==null?void 0:p.pluginState)!==null&&t!==void 0?t:null,ca=n??this.getPluginContent(ia,re,ha),{permissions:pa}=v,{canCopy:va,canDownloadCsv:ma}=pa,Rn=this.getWidgetPanelDescriptor(h,ua);return u.jsx(Dt,{errorMessage:da,isDisconnected:E,isLoading:_e,isLoaded:Se,className:"iris-grid-panel",glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,componentPanel:this,descriptor:Rn,renderTabTooltip:()=>u.jsx(Gs,{descriptor:Rn,model:re}),children:Re&&re&&u.jsx(mn,{advancedFilters:y,aggregationSettings:S,advancedSettings:P,alwaysFetchColumns:this.getAlwaysFetchColumns(d,aa),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:T,customColumnFormatMap:L,columnAlignmentMap:M,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:w,inputFilters:this.getGridInputFilters(re.columns,o),applyInputFiltersOnInit:p==null,isFilterBarShown:j,isSelectingColumn:l!=null,isSelectingPartition:R,isStuckToBottom:A,isStuckToRight:q,mouseHandlers:c,movedColumns:He,movedRows:Be,partitions:dt,partitionConfig:ut,quickFilters:ee,renderer:g,reverse:ht,rollupConfig:te,settings:C,sorts:me,userColumnWidths:ye,userColumnWidthsByName:Pe,userRowHeights:We,model:re,showSearchBar:Qt,searchValue:Jr,selectedSearchColumns:ta,selectDistinctColumns:ea,invertSearchColumns:na,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:ra,pendingDataMap:la,canCopy:va,canDownloadCsv:ma,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:sa,theme:b,columnHeaderGroups:oa,getMetricCalculator:m,children:ca})})}}V(tt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});V(tt,"displayName","IrisGridPanel");V(tt,"COMPONENT","IrisGridPanel");var Ks=(i,e)=>{var{localDashboardId:t=Ea,glContainer:n}=e;return{inputFilters:Et(i,t),links:st(i,t),columnSelectionValidator:Ft(i,t),user:Fa(i),settings:Bt(i)}},Mn=Ge(Ks,null,null,{forwardRef:!0})(tt);function gt(i,e,t){return(e=zs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zs(i){var e=qs(i,"string");return typeof e=="symbol"?e:e+""}function qs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ui=B.module("InputFilter"),Xs=150;class nt extends f.Component{constructor(e){super(e),gt(this,"inputRef",void 0),gt(this,"getItemLabel",oe((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s},{max:1e3})),gt(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},Xs)),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=ie.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:l}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),l!==void 0&&l&&l!==t.isValueShown&&this.focusInput(),(r!==t.column||a!==t.value||l!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];ui.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;ui.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,l=t!=null&&n!=null?{name:t,type:n}:void 0,s=a===void 0?{column:l,value:r}:{column:l,value:r,isValueShown:a};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:r,value:a}=this.state,l=a==null||a.length===0?nt.PLACEHOLDER.length:a.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(fn,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(Ct,{value:String(e.findIndex(d=>d.name===(r==null?void 0:r.name)&&d.type===(r==null?void 0:r.type))),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,h)=>u.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx(N,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx(N,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:r==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:nt.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(l+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx(N,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(de,{icon:pn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}gt(nt,"PLACEHOLDER","Enter value...");gt(nt,"defaultProps",{column:null,isValueShown:!1,value:null});function Xt(i,e,t){return(e=Zs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zs(i){var e=Ys(i,"string");return typeof e=="symbol"?e:e+""}function Ys(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Qs=250;class Zt extends f.Component{constructor(e){super(e),Xt(this,"inputFilterRef",void 0),this.handleChange=rt(this.handleChange.bind(this),Qs),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=ie.createRef();var{panelState:t}=e,{value:n,isValueShown:r=!1,name:a,type:l,timestamp:s=Date.now()}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,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,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:g}=d,C=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&r===c.value;return s=(h=!g&&n&&(!C||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:r,timestamp:o},timestamp:o,wasFlipped:C,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,l,r,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,r){var{glEventHub:a}=this.props,l=F.getIdFromPanel(this);k(l),Fr(a,l,e!=null&&t!=null&&n!=null&&r!=null?{name:e,type:t,value:n,timestamp:r}:null)}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:l}=r;return n.name===a&&n.type===l})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:r,isValueShown:a,value:l}=this.state;return u.jsx(at,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(nt,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:l})})}}Xt(Zt,"defaultProps",{panelState:null});Xt(Zt,"COMPONENT","InputFilterPanel");Xt(Zt,"displayName","InputFilterPanel");var Js=(i,e)=>{var{localDashboardId:t}=e;return{columns:cn(i,t)}},Ye=Ge(Js,null,null,{forwardRef:!0})(Zt);function hi(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 jt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hi(Object(t),!0).forEach(function(n){kn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):hi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function kn(i,e,t){return(e=eo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function eo(i){var e=to(i,"string");return typeof e=="symbol"?e:e+""}function to(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var X=B.module("FilterSetManagerPanel");function no(i){return i.setPanelState!=null}class it extends f.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[r,a]=n;if(r>=e.columns.length)return null;var{name:l}=e.columns[r];return{name:l,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){X.error("Could not get panel",r);return}var a=F.getComponentNameFromPanel(r),l=F.getIdFromPanel(r);X.debug("Panel:",r,a);var{glContainer:s=null}=r.props;if(s==null){X.error("Could not get panel container",r);return}var o=F.getComponentConfigFromContainer(s);if(o==null){X.error("Could not get component config from container",s);return}var d=F.getPanelComponentState(o);if(d==null){X.debug("Panel state is null ".concat(l));return}switch(a){case F.getComponentName(tt):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case F.getComponentName(Ye):case F.getComponentName(Ze):{var{isValueShown:c,name:p,type:v,value:g}=d;t.push({panelId:l,type:a,state:{isValueShown:c,name:p,type:v,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return X.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=it.changeFilterIndexesToColumnNames(r,s));var h;return o&&(h=it.changeFilterIndexesToColumnNames(r,o)),{irisGridState:jt(jt({},a),{},{advancedFilters:d,quickFilters:h}),gridState:jt({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;X.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;X.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){X.debug("panel is null",l);return}if(!t.has(l)){X.debug("Ignore closed panel",l);return}X.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case F.getComponentName(tt):this.restoreIrisGridFilters(d,o,r);break;case F.getComponentName(Ye):case F.getComponentName(Ze):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;X.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:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=r,{panelTableMap:d}=this.props,h=F.getIdFromPanel(e);if(h==null){X.error("Panel Id is null.");return}var c=d.get(h);if(c==null){X.error("Unable to get table for panel ".concat(h,"."));return}X.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=jt({},t);delete n.isValueShown,X.debug("restoreInputFilterState",e,n),e&&no(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:a}=this.state;return u.jsx(at,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0,children:u.jsx("div",{className:"input-filter-container h-100 w-100 container",children:u.jsx(Pt,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}kn(it,"defaultProps",{panelState:null});kn(it,"COMPONENT","FilterSetManagerPanel");var io=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:er(i,t),dashboardOpenedPanelMap:Xi(i,t),dashboardInputFilters:Et(i,t),panelTableMap:Gt(i,t)}},_t=Ge(io,{setDashboardFilterSets:Ji},null,{forwardRef:!0})(it);function ro(i,e,t){return(e=ao(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ao(i){var e=lo(i,"string");return typeof e=="symbol"?e:e+""}function lo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class kr extends f.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return u.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[u.jsx("div",{className:ue("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(de,{icon:hr})]})}),t]})}}ro(kr,"defaultProps",{isEditing:!1});function so(i,e,t){return(e=oo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function oo(i){var e=uo(i,"string");return typeof e=="symbol"?e:e+""}function uo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ho=B.module("MarkdownStartPage");class Lr extends f.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(ho.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 u.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:u.jsxs("div",{className:"markdown-panel-start-page-container",children:[u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Start"}),u.jsx("div",{className:"list-item",children:u.jsx(N,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(l=>u.jsxs("div",{className:"list-item",children:[u.jsx(N,{kind:"ghost",className:"title",onClick:()=>t(l),children:l.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(l)},children:u.jsx(de,{icon:vn})})]},l.id)),u.jsxs(cl,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(pl,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(vl,{children:"You can't undo this action."}),u.jsxs(Ta,{children:[u.jsx(N,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(N,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}so(Lr,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});function Ln(i,e,t){return(e=co(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function co(i){var e=po(i,"string");return typeof e=="symbol"?e:e+""}function po(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ce{static getNewMarkdownTitle(e){for(var t="".concat(Ce.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Ce.DEFAULT_TITLE,"-").concat(n);return t}}Ln(Ce,"DEFAULT_TITLE","Note");Ln(Ce,"DEFAULT_CONTENT",`# Markdown Note
4
+ `).concat(o," does not exist yet.")}if(a)return"".concat(e.name," is unavailable.")}handleSessionClosed(e){var{onSessionClose:t}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),t==null||t(e)}render(){var{children:e,className:t,componentPanel:n,descriptor:r,isLoaded:a,isLoading:l,glContainer:s,glEventHub:o,isDisconnected:d,isClonable:h,isRenamable:c,showTabTooltip:p=!1,renderTabTooltip:v,onClearAllFilters:g,onHide:C,onFocus:m,onBlur:b,onResize:y,onSessionOpen:S,onShow:P,onTabBlur:w,onTabFocus:T,onTabClicked:L,additionalActions:M}=this.props,{isPanelDisconnected:D,isWidgetDisconnected:E,isPanelInactive:j}=this.state,R=this.getErrorMessage(),A=v??this.getCachedRenderTabTooltip(p,r),q=this.getCachedActions(r,M);return u.jsxs(at,{className:ue(t,{disconnected:D||E||d,inactive:j}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:g,onHide:C,onFocus:m,onBlur:b,onResize:y,onShow:P,onSessionClose:this.handleSessionClosed,onSessionOpen:S,onTabBlur:w,onTabFocus:T,onTabClicked:L,renderTabTooltip:A,errorMessage:R,isLoaded:a,isLoading:l,isClonable:h,isRenamable:c,additionalActions:q,children:[e,j&&u.jsx("div",{className:"fill-parent-absolute"})]})}}sn(yr,"defaultProps",{className:"",isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0});var Dt=Ki(yr);function Cs(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=i,o=f.useMemo(()=>{var g=Array.from(s.keys()),C=g.find(y=>t.get(y)!=null),m=g.find(y=>n.get(y)!=null),b=ge.join(g.map(y=>'"'.concat(y,'"')));return C!=null&&C&&m!=null&&m?"Use a filter control or linked table to set a value for ".concat(b):C!=null&&C?"Set a filter control value for ".concat(b):"Double click a row in a linked table to set a value for ".concat(b)},[t,n,s]),d=f.useMemo(()=>Array.from(e.values()),[e]),h=f.useCallback(g=>{g.stopPropagation(),g.preventDefault(),r(Array.from(l.values()))},[r,l]),c=f.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),p=l.size>0,v=!p&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ue("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":p},{"chart-filter-waiting-input":v}),children:[p&&u.jsxs(u.Fragment,{children:[u.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:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(g=>{var C=l.has(g.name),m=C?cl:pl;return u.jsxs("div",{className:ue("waiting-filter-item",{"is-invalid":C}),children:[u.jsx(de,{icon:m}),g.name]},g.name)})}),u.jsxs("div",{children:[u.jsx(N,{kind:"primary",onClick:h,children:"Add Input Filters"}),u.jsx(N,{kind:"primary",onClick:c,children:"Open Linker Tool"})]})]}),v&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}function At(i){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:r}=i;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:ue("chart-panel-overlay-content"),children:[u.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:"}),u.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>u.jsx(pr,{className:ue("btn-chart-column-selector",At.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n==null||n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}At.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);function Xe(i){return i.settings!==void 0}function Pr(i){return i.figure!==void 0}function wr(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function Er(i){return i!=null&&wr(i.panelState)}var Sn=lt(Me.COLUMNS_CHANGED),Ss=Sn.listen,Ut=Sn.emit,ys=Sn.useListener,yn=lt(Me.TABLE_CHANGED);yn.listen;var $t=yn.emit,Ps=yn.useListener,Pn=lt(Me.FILTERS_CHANGED);Pn.listen;var Fr=Pn.emit,ws=Pn.useListener,wn=Object.freeze({LINK_POINT_SELECTED:"LinkerEvent.LINK_POINT_SELECTED",SOURCE_DATA_SELECTED:"LinkerEvent.SOURCE_DATA_SELECTED",REGISTER_TARGET:"LinkerEvent.REGISTER_TARGET"}),En=lt(wn.LINK_POINT_SELECTED),Es=En.listen,zt=En.emit;En.useListener;var Fn=lt(wn.SOURCE_DATA_SELECTED),Fs=Fn.listen,Tr=Fn.emit;Fn.useListener;var Tn=lt(wn.REGISTER_TARGET),Ts=Tn.listen,ni=Tn.emit;Tn.useListener;function ii(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 Lt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ii(Object(t),!0).forEach(function(n){se(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ii(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function se(i,e,t){return(e=Ds(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ds(i){var e=Ms(i,"string");return typeof e=="symbol"?e:e+""}function Ms(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Q=B.module("ChartPanel"),ks=150;function Ls(i){return i.inputFilters!=null}function Os(i){return i.panelState!=null}class qt extends f.Component{constructor(e){super(e),se(this,"panelContainer",void 0),se(this,"pending",void 0),se(this,"getWaitingInputMap",O((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),se(this,"getWaitingFilterMap",O((l,s,o,d,h)=>{if(!l)return new Map;var c=new Map(s);return o.forEach((p,v)=>{c.delete(v)}),h.forEach((p,v)=>{c.delete(v)}),d.forEach((p,v)=>{c.delete(v)}),c})),se(this,"getInputFilterColumnMap",O((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:p}=h,v=l.get(c);v!=null&&v.type===p&&o.set(c,h)}return o})),se(this,"getLinkedColumnMap",O((l,s)=>{for(var o=new Map,d=F.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],p=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?p=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(p=c.end.columnName),p!=null&&l.has(p)){var v=l.get(p);k(v),o.set(p,v)}}return o})),se(this,"getSelectorColumns",O((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d,{type:"chartLink"}):!1,isActive:s.has(d.name)})))),se(this,"getWidgetPanelDescriptor",O(l=>{var s="Chart";if(Xe(l))s=l.table;else if(Pr(l)){var o;s=(o=l.figure)!==null&&o!==void 0?o:s}else{var d;s=(d=l.name)!==null&&d!==void 0?d:s}return Lt(Lt({},l),{},{type:"Chart",name:s})})),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=rt(this.updateModelFromSource.bind(this),ks),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=ie.createRef(),this.pending=new Zi;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&&Xe(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:l,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:c}=this.state;a!==e.makeModel&&this.initModel(),s!=null&&(l!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),o!==t.filterMap?this.updateFilters():d!==t.filterValueMap&&this.updatePanelState(),c!==t.settings&&Xn(s)&&(s.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,isDisconnected:!1});var{makeModel:e}=this.props;this.pending.cancel(),this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Q.debug("startListeningToSource",e);var{model:t}=this.state;k(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){Q.debug("stopListeningToSource",e);var{model:t}=this.state;k(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,r=F.getIdFromPanel(this);k(r);var a=n.get(e);a!=null&&zt(t,r,a,{type:"chartLink"})}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:r}=this.props;Q.debug("handleColumnMouseEnter",r,t,n),r&&r(this,{type:t,name:n},{type:"chartLink"})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Q.debug("handleColumnMouseLeave",e),e&&e(this,void 0,{type:"chartLink"})}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(pe.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){Q.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:r}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),r&&l&&(this.startListeningToSource(r),this.updateModelFromSource()))})}handleLoadError(e){Ie.isCanceled(e)||(Q.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){Q.debug2("updateModelFromSource ignoring",n,r,t);return}var{dh:a}=r;if(this.pending.cancel(),Xe(e)){var{settings:l}=e;this.pending.add(Je.makeFigureFromSettings(a,l,t),s=>s.close()).then(s=>{Xn(r)&&r.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:r}=this.state,{tableSettings:a}=t??{};if(e&&Ls(e.props)&&Os(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=H.extractTableSettings(s,l))}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=Lt(Lt({},n),e);return Q.debug("Updated settings",r),{settings:r}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:r}=e;t.emit(Me.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,n=F.getIdFromPanel(this);k(n),Ut(t,n,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=At.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 l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){Q.debug("setFilterMap",e),this.setState(t=>{var{columnMap:n,filterMap:r}=t,a=null,l=new Map(t.filterValueMap);return e.forEach((s,o)=>{var{columnType:d,filterList:h}=s,c=n.get(o);if(!(c==null||c.type!==d)){if(h.length===0){Q.debug("Ignoring empty filterList for column",o);return}var{value:p}=h[0];l.set(o,p),r.get(o)!==p&&(a===null&&(a=new Map(r)),a.set(o,p))}}),{filterValueMap:l,filterMap:a??r}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:r}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(r,n);if(s.has(e)){var o,d=a.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==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:l}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(l=>l.name===a.name&&l.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),l=new Map(n.filterMap),s=t?{filterMap:l,filterValueMap:a}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],p=r.get(d);p!=null&&p.type===h&&(c!=null&&l.get(d)!==c&&(c===""?l.delete(d):l.set(d,c),s.filterMap=l),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return Q.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r,filterValueMap:a}=n,l=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=r.get(d);if(c!=null&&c.type===h&&l.has(d)){var p=l.get(d);if(a.has(d)){var v=a.get(d);v!==p&&v!=null&&(s=!0,l.set(d,v))}else s=!0,l.delete(d)}}return Q.debug("deleteInputFilters",s),s?{filterMap:l}: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;k(n);var r=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&r.size===0){var a=n.getDefaultTitle(),l=ge.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),Q.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else Q.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((l,s)=>{t.has(s)||(r.delete(s),a.filterValueMap=r)}),e.filterMap.forEach((l,s)=>{t.has(s)||(n.delete(s),a.filterMap=n)}),a})}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:r,isLinkerActive:a,links:l,metadata:s,settings:o,Plotly:d,containerRef:h}=this.props,{columnMap:c,filterMap:p,error:v,model:g,isActive:C,isDisconnected:m,isLoaded:b,isLoading:y}=this.state,S=this.getInputFilterColumnMap(c,r),P=this.getLinkedColumnMap(c,l),w=g!=null?this.getWaitingInputMap(g.isFilterRequired(),c,p):new Map,T=g!=null?this.getWaitingFilterMap(g.isFilterRequired(),c,p,P,S):new Map,L=v!=null?"Unable to open chart. ".concat(v):void 0,M=w.size>0,D=c.size>0&&a,E=this.getWidgetPanelDescriptor(s);return u.jsx(Dt,{className:ue("iris-chart-panel",{"input-required":M}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:L,isDisconnected:m,isLoading:y,isLoaded:b,descriptor:E,children:u.jsxs("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100",children:[u.jsx("div",{className:"chart-container h-100 w-100",children:b&&g&&u.jsx(vr,{isActive:C,model:g,settings:o,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d,containerRef:h})}),u.jsx(rn,{in:M&&!D&&!y,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Cs,{inputFilterMap:S,linkedColumnMap:P,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:T,waitingInputMap:w})}),u.jsx(rn,{in:D,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(At,{columns:this.getSelectorColumns(c,P,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}se(qt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});se(qt,"displayName","ChartPanel");se(qt,"COMPONENT","ChartPanel");var Ns=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&Xe(n)&&(r=n.sourcePanelId);var a=Gt(i,t),l=Xi(i,t),s=hn(i),o=Ht(i,t),d=s===pe.LINKER&&o===void 0;return{columnSelectionValidator:Ft(i,t),isLinkerActive:d,inputFilters:Et(i,t),links:st(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?l.get(r):void 0,settings:Bt(i)}},Dn=Ge(Ns,{setActiveTool:qi,setDashboardIsolatedLinkerPanelId:un},null,{forwardRef:!0})(qt);function ce(i,e,t){return(e=js(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function js(i){var e=Is(i,"string");return typeof e=="symbol"?e:e+""}function Is(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ot=B.module("DropdownFilter"),xs=150;class be extends f.Component{constructor(e){super(e),ce(this,"dropdownRef",void 0),ce(this,"getCompatibleColumns",O((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&z.isCompatibleType(o,a.columnType)}):[])),ce(this,"getColumnOptions",O((a,l)=>{var s=-1,o=[];return o.push(u.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((d,h)=>{o.push(u.jsx("option",{value:h,children:this.getItemLabel(a,h)},"".concat(d.name,"/").concat(d.type))),l!==null&&d.name===l.name&&d.type===l.type&&(s=h)}),[o,s]})),ce(this,"getSelectedOptionIndex",O((a,l)=>a.indexOf(l))),ce(this,"getValueOptions",O(a=>[u.jsx("option",{value:"-1",children:be.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),ce(this,"getItemLabel",oe((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s},{max:1e3})),ce(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},xs)),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=ie.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:he(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a&&(n!==e.source&&this.sourceUpdated(),r!==e.values&&s!==""&&!r.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(l!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(Ot.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(),Ot.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]:Ot.debug2("Selected default item"),Ot.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,l=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:l,value:r??o,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:r,isLoaded:a,source:l,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:p,disableCancel:v,id:g,isValueShown:C,selectedColumn:m,value:b}=this.state,y=l===null,S=this.getCompatibleColumns(l,t),P=l!=null,w=(e=l==null?void 0:l.columnName)!==null&&e!==void 0?e:be.SOURCE_BUTTON_PLACEHOLDER,T=p!=null?"".concat(p.name," Filter"):null,[L,M]=this.getColumnOptions(S,m),D=this.getValueOptions(h),E=this.getSelectedOptionIndex(h,b),j=!P||m==null,R=C&&!r,A="source-column-btn-".concat(g),q="filter-column-select-".concat(g);return u.jsxs(fn,{className:"dropdown-filter fill-parent-absolute",isFlipped:R,children:[u.jsx("div",{className:"dropdown-filter-settings-card",children:u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsxs("div",{className:"dropdown-filter-settings-grid",children:[u.jsx("label",{htmlFor:A,children:"Source Column"}),u.jsx(pr,{id:A,isLinked:P,onClick:s,onMouseEnter:o,onMouseLeave:d,className:be.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:w}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:q,children:"Filter Column"}),u.jsx(Ct,{id:q,value:String(M),className:"custom-select",onChange:this.handleColumnChange,disabled:y,children:L}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&u.jsx("div",{className:"error-message text-center",children:c}),P&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx(N,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||C||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx(N,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:j||C||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:T})}),u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:u.jsx(Ct,{className:"custom-select",value:String(E),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:D})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx(N,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(de,{icon:pn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}ce(be,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});ce(be,"PLACEHOLDER","Select a value...");ce(be,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");ce(be,"SOURCE_BUTTON_PLACEHOLDER","Select a column");function Y(i,e,t){return(e=_s(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _s(i){var e=Rs(i,"string");return typeof e=="symbol"?e:e+""}function Rs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var _=B.module("DropdownFilterPanel"),As=250,Us=Object.freeze({name:"Dropdown Filter",type:"DropdownFilter"}),$s=(i,e)=>{var{localDashboardId:t}=e,n=F.getIdFromPanel({props:e}),r=Gt(i,t),a=st(i,t),l=hn(i),s=Ht(i,t),o=l===pe.LINKER&&(s===void 0||s===n),d=l===pe.LINKER&&s!==void 0&&s!==n;return{columns:cn(i,t),columnSelectionValidator:Ft(i,t),dh:Qi(i),isLinkerActive:o,disableLinking:d,settings:Bt(i),panelTableMap:r,dashboardLinks:a}},Vs=Ge($s,null,null,{forwardRef:!0});class ve extends f.Component{constructor(e){super(e),Y(this,"dateTimeFormatter",void 0),Y(this,"dropdownFilterRef",void 0),Y(this,"panelContainer",void 0),Y(this,"pending",void 0),Y(this,"cleanup",void 0),Y(this,"columnFormats",void 0),Y(this,"getCachedValues",oe((c,p,v)=>{var{type:g,name:C}=p;return g!==void 0&&z.isDateType(g)?c.map(m=>this.dateTimeFormatter.format(m)):c.map(m=>m!=null&&g!=null?v.getFormattedString(m,g,C):null)},{max:1e3})),Y(this,"getCachedPanelLinks",oe((c,p)=>{var v=F.getIdFromPanel(p);return _.debug("getCachedPanelLinks",c,v),c.filter(g=>{var C;return((C=g.end)===null||C===void 0?void 0:C.panelId)===v})},{max:1e3})),Y(this,"getCachedSource",oe(c=>{_.debug("getCachedSource",c);var p;if(c.length>0){var[v]=c;p=v.start,c.length>1&&_.error("Filter has more that one link",c)}return p},{max:1e3})),Y(this,"getCachedSourceTable",oe((c,p)=>{var v;if(_.debug("getCachedSourceTable",c,p),p==null)return null;var{panelId:g}=p;return(v=c.get(g))!==null&&v!==void 0?v:null},{max:1e3})),Y(this,"getCachedSourceColumn",oe((c,p)=>{var v;return _.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(g=>{var{name:C,type:m}=g;return C===p.columnName&&m===p.columnType}))!==null&&v!==void 0?v:null},{max:1e3})),this.handleChange=rt(this.handleChange.bind(this),As),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=ie.createRef(),this.panelContainer=ie.createRef(),this.pending=new Zi;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=Bn.getColumnFormats(r),this.dateTimeFormatter=new Yi(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:l=!1,name:s,type:o,timestamp:d}=n??{},h=s!=null&&o!=null?{name:s,type:o}:void 0;this.state={column:h,formatter:new Ve(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:l,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,l=this.getSourceTable(t,e);if(l!==null&&this.startListeningToSource(l),n!=null){var{name:s,type:o}=n;this.sendUpdate(s,o,r,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:r,settings:a}=this.props,{valuesTable:l}=this.state,s=this.getSource(n),o=this.getSourceTable(r,n),d=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),l!==t.valuesTable&&t.valuesTable!=null&&(_.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==h||s!==d)&&this.updateValuesTable(),o!==h&&(h!==null&&this.stopListeningToSource(h),o!==null&&this.startListeningToSource(o))}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(be.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>ve.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(ve.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;_.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;_.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:l=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:g}=d,C=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&r===c.value;return s=(h=!g&&n&&(!C||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:r,timestamp:o??void 0},timestamp:o,wasFlipped:C,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,l,r,o)})}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(){_.debug("handleColumnSelected");var{glEventHub:e}=this.props,t=F.getIdFromPanel(this);k(t),zt(e,t,ve.SOURCE_COLUMN,{type:"filterSource"})}handleClearAllFilters(){var e;(e=this.dropdownFilterRef)===null||e===void 0||(e=e.current)===null||e===void 0||e.clearFilter()}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:r}=this.props;if(this.getSource(r)==null){_.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!n}),(t=this.dropdownFilterRef)===null||t===void 0||(t=t.current)===null||t===void 0||t.setFilterState(e)}sendUpdate(e,t,n,r){var a,{dashboardLinks:l,glEventHub:s}=this.props,o=(a=this.getSource(l))===null||a===void 0?void 0:a.panelId,d=o==null?[]:[o];_.debug("sendUpdate",{name:e,type:t,value:n,timestamp:r,excludePanelIds:d});var h=F.getIdFromPanel(this);k(h),Fr(s,h,e!=null&&t!=null&&r!=null?{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:d}:null)}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),r=this.getSourceTable(t,e);if(_.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){_.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=>{Ie.isCanceled(a)||(_.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(_.debug("applySourceSorts",r==null?void 0:r.sort),n==null||r==null){_.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(_.debug("applySourceFilters",r==null?void 0:r.filter),n==null||r==null){_.debug("Table not initialized");return}var a=[...r.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(_.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){_.error("values column is null");return}e.setViewport(0,ve.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=Bn.getColumnFormats(e);Wi(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new Ve(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:r}=this.props,{valuesTable:a}=this.state;if(!a){_.error("valuesTable is null");return}var l=this.getValuesColumn(a,r);if(!l){_.error("Values column not found");return}var s=n.map(o=>o.get(l));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:l})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,ve.SOURCE_COLUMN,{type:"filterSource"})}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0,{type:"filterSource"})}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:r,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:p,valuesColumn:v,isLoading:g,isLoaded:C}=this.state,m=this.getSource(t),b=this.getSettingsErrorMessage(),y=this.getPanelErrorMessage(),S=C&&v!=null?this.getCachedValues(p,v,o):G;return u.jsx(Dt,{errorMessage:y,isLoading:g,isLoaded:C,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,descriptor:Us,children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(be,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:l,disableLinking:n,isLoaded:C,settingsError:b,source:m,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Y(ve,"displayName","DropdownFilterPanel");Y(ve,"COMPONENT","DropdownFilterPanel");Y(ve,"MAX_TABLE_SIZE",256);Y(ve,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Ze=Vs(ve);function ri(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 Nt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ri(Object(t),!0).forEach(function(n){mt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ri(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function mt(i,e,t){return(e=Gs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gs(i){var e=Hs(i,"string");return typeof e=="symbol"?e:e+""}function Hs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var U=B.module("FilterSetManager"),Bs="Enter name...",ai="No Available Filter Sets";class Pt extends f.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),mt(this,"renameInputRef",ie.createRef()),mt(this,"dropdownRef",ie.createRef()),mt(this,"editDropdownRef",ie.createRef()),mt(this,"isRenamingExistingSet",O((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:l}=this.props;l({isValueShown:!0,selectedId:r[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;U.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(U.debug("updateSelectedId",t,n),!!e&&!t.some(l=>{var{id:s}=l;return s===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:[]}),U.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Pt.animateScreenFlash();var t=he(),n=e(),r={id:t,title:"",panels:n};U.debug("handleSetCreate",r),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:r})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e==="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 U.debug("Name cannot be empty",a),"Name cannot be empty";if(n!==void 0&&r.some(l=>{var{title:s,id:o}=l;return s===a&&o!==n.id}))return U.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){U.error("Renamed set undefined.");return}var l=this.getNameError(t);if(U.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t==null?void 0:t.trim())!==null&&e!==void 0?e:"",o=Nt(Nt({},n),{},{title:s,restoreFullState:a}),d=r.findIndex(c=>{var{id:p}=c;return p===n.id}),h=[...r];d>=0?(h[d]=o,U.debug("Renamed existing set",h)):(h.push(o),U.debug("Added new set to modified sets",h)),this.setState({editId:o.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.findIndex(o=>{var{id:d}=o;return d===t});if(r<0)return U.error("Unable to find selected filterSet index",n,t),null;var a=n.filter(o=>{var{id:d}=o;return d!==t}),l=Math.max(0,Math.min(a.length-1,r-1)),s=a.length>0?a[l].id:void 0;return U.debug("Deleted selected set",t,n,a),U.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Pt.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:a}=n;if(a===void 0)return U.error("Filter for update not selected."),null;var l=[...r],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(U.error("Selected set for update not found."),null):(l[s]=Nt(Nt({},l[s]),{},{panels:t}),U.debug("Update set",l,t),{modifiedFilterSets:l})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.find(s=>{var{id:o}=s;return o===t});if(r===void 0)return U.error("Could not find selected set",t,n),null;var{title:a,restoreFullState:l=!1}=r;return{nameInputValue:a,nameInputError:void 0,renameSet:r,restoreFullState:l}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){U.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){U.debug("No filter selected");return}var r=n.find(a=>{var{id:l}=a;return l===e});if(r===void 0){U.debug("Selected id not found in filterSets",e,n);return}U.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:l}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,r),p=a.length===0,v=!h&&p&&o.length===0,g=!h&&!v,C=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(de,{icon:Gn,mask:Vn,transform:"shrink-1 down-5 right-7"}),u.jsx(de,{icon:fl,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),m=u.jsxs("div",{className:"fa-layers",children:[u.jsx(de,{icon:Gn,mask:Vn,transform:"shrink-1 down-5 right-7"}),u.jsx(de,{icon:gl,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(fn,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[v&&u.jsxs("div",{children:[u.jsx(N,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,children:"Capture filter set"}),u.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&&u.jsxs("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:c?"Edit set":"Name captured set"}),u.jsxs("div",{className:"name-input-container",children:[u.jsx("input",{type:"text",className:"input-set-name form-control",placeholder:Bs,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx(N,{"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:vl}),u.jsx(N,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:ml})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(fa,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Un,{value:"false",children:"Restore only filters"}),u.jsx(Un,{value:"true",children:"Restore full table state"})]})})]}),g&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(Ct,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:p,children:[p&&u.jsx("option",{value:"-1",disabled:!0,children:ai}),a.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(N,{kind:"ghost",onClick:this.handleSetUpdate,disabled:p,icon:m,tooltip:"Update"}),u.jsx(N,{kind:"ghost",onClick:this.handleSetEdit,disabled:p,icon:hr,tooltip:"Edit"}),u.jsx(N,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:vn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(N,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx(N,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx(N,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),u.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"filter-set-manager-column",children:u.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),u.jsx("div",{className:"filter-set-manager-card-content",children:u.jsx("div",{className:"filter-set-manager-value-input",children:u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(Ct,{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d??"-1",className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[o.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:ai}),o.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(N,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:cr,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx(N,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(de,{icon:pn,transform:"grow-4"})})})]},"back")]})})}}function li(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 si(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?li(Object(t),!0).forEach(function(n){Ws(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):li(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ws(i,e,t){return(e=Ks(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ks(i){var e=zs(i,"string");return typeof e=="symbol"?e:e+""}function zs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function qs(i){var e,t,n,r,a,{model:l}=i,s=((e=l==null?void 0:l.rowCount)!==null&&e!==void 0?e:0)-((t=l==null?void 0:l.pendingRowCount)!==null&&t!==void 0?t:0)-((n=l==null?void 0:l.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=l==null?void 0:l.floatingTopRowCount)!==null&&r!==void 0?r:0),o=l==null?void 0:l.displayString(s,"long"),d=(a=l==null?void 0:l.columnCount)!==null&&a!==void 0?a:0,h=l==null?void 0:l.displayString(d,"long");return u.jsxs(Cn,si(si({},i),{},{children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:h}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:o})]}))}function Dr(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function Mr(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function oi(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 le(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?oi(Object(t),!0).forEach(function(n){V(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):oi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function V(i,e,t){return(e=Xs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xs(i){var e=Zs(i,"string");return typeof e=="symbol"?e:e+""}function Zs(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fe=B.module("IrisGridPanel"),Ys=500;function di(i){if(i==null)throw new Error("No metadata provided");if(Mr(i))return i.name;if(Dr(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(i)))}class tt extends f.PureComponent{constructor(e){super(e),V(this,"irisGrid",void 0),V(this,"pluginRef",void 0),V(this,"modelPromise",void 0),V(this,"irisGridState",void 0),V(this,"gridState",void 0),V(this,"pluginState",void 0),V(this,"irisGridUtils",void 0),V(this,"gridStateDehydrator",ln.makeMemoizedGridStateDehydrator()),V(this,"irisGridStateDehydrator",ln.makeMemoizedIrisGridStateDehydrator()),V(this,"getGridInputFilters",O((n,r)=>H.getInputFiltersForColumns(n,r.filter(a=>{var{value:l,excludePanelIds:s}=a,o=F.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),V(this,"getAlwaysFetchColumns",O((n,r)=>{for(var a=F.getIdFromPanel(this),l=new Set(r),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),V(this,"getPluginContent",O((n,r,a)=>{var l;if(!r||!ke(r)||n==null||r.table==null)return null;var s={panel:this};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,le({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,tableName:this.getTableName(),selectedRanges:(l=this.irisGrid.current)===null||l===void 0?void 0:l.state.selectedRanges,onStateChange:this.handlePluginStateChange,pluginState:a},s))})})),V(this,"getDehydratedIrisGridPanelState",O((n,r,a,l)=>H.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:a,advancedSettings:l}))),V(this,"getCachedPanelState",O((n,r,a,l)=>({irisGridPanelState:n,irisGridState:r,gridState:a,pluginState:l}))),V(this,"getWidgetPanelDescriptor",O((n,r)=>{var a=di(n);return le(le({type:"Table",displayType:"Table"},n),{},{name:a,description:r})})),V(this,"savePanelState",rt(()=>{var{irisGridState:n,gridState:r,pluginState:a}=this;k(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state;k(this.irisGridUtils),k(s),k(r);var p=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.irisGridStateDehydrator(s,n),this.gridStateDehydrator(s,r),a);p!==o&&(fe.debug("Saving panel state",this,p),this.setState({panelState:p}),l==null||l(p))},Ys)),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=ie.createRef(),this.pluginRef=ie.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(Nl.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,columnAlignmentMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userColumnWidthsByName:new Map,userRowHeights:new Map,reverse:!1,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:r}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),r!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return di(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null,isDisconnected:!1});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Ie.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 H(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=le(le({},l),r);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=H.getModelRollupConfig(c.originalColumns,h,s)}),d.length>0&&a.push(c=>{c.selectDistinctColumns=d})}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();fe.debug("initModelQueue",r),r&&r(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){fe.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;k(r);var{columns:a,formatter:l}=r,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,l.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}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,{type:"tableLink"}):!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(Z.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):(k(n),this.initModelQueue(n,r))}handleTableChanged(e){fe.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e,r=F.getIdFromPanel(this);k(r),$t(t,r,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r,metadata:a}=this.props,l=this.getTableName(),{panelState:s}=this.state,o=F.getIdFromPanel(this),d;s&&(d=H.extractTableSettings(s,r)),n.emit(Z.CREATE_CHART,{metadata:le(le({},a),{},{settings:e,sourcePanelId:o,table:l,tableSettings:d}),table:ke(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props,n=F.getIdFromPanel(this);k(n),zt(t,n,e,{type:"tableLink"})}handleDataSelected(e,t){var{glEventHub:n}=this.props,r=F.getIdFromPanel(this);k(r),Tr(n,r,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){fe.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){Ie.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}),ke(e)){var{table:r}=e,{pluginName:a}=r;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}var s=F.getIdFromPanel(this);k(s),$t(t,s,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){fe.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props,n=F.getIdFromPanel(this);k(n),Ut(t,n,e)}startModelListening(e){e.addEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,r,{model:a}=this.state;if(!a)return null;var l=this.irisGrid.current,{gridWrapper:s}=l||{},o=(t=s==null?void 0:s.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;k(l);var{metrics:d}=l.state;k(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:p,right:v,columnHeaderMaxDepth:g}=d,C=a.getColumnIndexByName(e);k(C);var m=l.getVisibleColumn(C),b=(n=c.get(m))!==null&&n!==void 0?n:0,y=(r=p.get(m))!==null&&r!==void 0?r:0,S=ze(m>v?o.right:o.left+b+y*.5,o.left,o.right),P=o.top+h*g;return[S,P]}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;fe.debug("setFilters",t,n);var{model:r,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){fe.debug("Ignore setFilters, model disconnected");return}k(r);var{columns:s,formatter:o}=r,d=H.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[p]=c;return r.isFilterable(p)}),h=H.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[p]=c;return r.isFilterable(p)});k(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){fe.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:l,irisGridPanelState:s}=t,o=le({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=H.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=H.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:p,advancedSettings:v}=H.hydrateIrisGridPanelState(e,s);k(this.irisGridUtils);var{advancedFilters:g,customColumns:C,customColumnFormatMap:m,columnAlignmentMap:b,isFilterBarShown:y,quickFilters:S,reverse:P,rollupConfig:w,aggregationSettings:T,sorts:L,userColumnWidths:M,userColumnWidthsByName:D,userRowHeights:E,showSearchBar:j,searchValue:R,selectDistinctColumns:A,selectedSearchColumns:q,invertSearchColumns:Se,pendingDataMap:_e,frozenColumns:Re,conditionalFormats:re,columnHeaderGroups:He,partitionConfig:Be}=this.irisGridUtils.hydrateIrisGridState(e,le(le({},l),o)),{isStuckToBottom:dt,isStuckToRight:ut,movedColumns:ee,movedRows:ht}=H.hydrateGridState(e,le(le({},a),r),l.customColumns);this.setState({advancedFilters:g,advancedSettings:v,conditionalFormats:re,customColumns:C,customColumnFormatMap:m,columnAlignmentMap:b,isFilterBarShown:y,isSelectingPartition:c,movedColumns:ee,movedRows:ht,partitions:p,quickFilters:S,reverse:P,rollupConfig:w,aggregationSettings:T,sorts:L,userColumnWidths:M,userColumnWidthsByName:D,userRowHeights:E,showSearchBar:j,searchValue:R,selectDistinctColumns:A,selectedSearchColumns:q,invertSearchColumns:Se,pendingDataMap:_e,frozenColumns:Re,isStuckToBottom:dt,isStuckToRight:ut,columnHeaderGroups:He,partitionConfig:Be})}catch(te){fe.error("loadPanelState failed to load panelState",t,te)}}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:l,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,mouseHandlers:c,panelState:p,user:v,renderer:g,settings:C,getMetricCalculator:m,theme:b}=this.props,{advancedFilters:y,aggregationSettings:S,advancedSettings:P,conditionalFormats:w,customColumns:T,customColumnFormatMap:L,columnAlignmentMap:M,error:D,isDisconnected:E,isFilterBarShown:j,isSelectingPartition:R,isStuckToBottom:A,isStuckToRight:q,isLoaded:Se,isLoading:_e,isModelReady:Re,model:re,movedColumns:He,movedRows:Be,partitions:dt,partitionConfig:ut,quickFilters:ee,reverse:ht,rollupConfig:te,sorts:me,userColumnWidths:ye,userColumnWidthsByName:Pe,userRowHeights:We,showSearchBar:Qt,searchValue:Jr,selectDistinctColumns:ea,selectedSearchColumns:ta,invertSearchColumns:na,Plugin:ia,pluginFilters:ra,pluginFetchColumns:aa,pendingDataMap:la,frozenColumns:sa,columnHeaderGroups:oa}=this.state,da=D!=null?"Unable to open table. ".concat(D):void 0,ua=(e=re==null?void 0:re.description)!==null&&e!==void 0?e:void 0,ha=(t=p==null?void 0:p.pluginState)!==null&&t!==void 0?t:null,ca=n??this.getPluginContent(ia,re,ha),{permissions:pa}=v,{canCopy:va,canDownloadCsv:ma}=pa,Rn=this.getWidgetPanelDescriptor(h,ua);return u.jsx(Dt,{errorMessage:da,isDisconnected:E,isLoading:_e,isLoaded:Se,className:"iris-grid-panel",glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,componentPanel:this,descriptor:Rn,renderTabTooltip:()=>u.jsx(qs,{descriptor:Rn,model:re}),children:Re&&re&&u.jsx(mn,{advancedFilters:y,aggregationSettings:S,advancedSettings:P,alwaysFetchColumns:this.getAlwaysFetchColumns(d,aa),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:T,customColumnFormatMap:L,columnAlignmentMap:M,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:w,inputFilters:this.getGridInputFilters(re.columns,o),applyInputFiltersOnInit:p==null,isFilterBarShown:j,isSelectingColumn:l!=null,isSelectingPartition:R,isStuckToBottom:A,isStuckToRight:q,mouseHandlers:c,movedColumns:He,movedRows:Be,partitions:dt,partitionConfig:ut,quickFilters:ee,renderer:g,reverse:ht,rollupConfig:te,settings:C,sorts:me,userColumnWidths:ye,userColumnWidthsByName:Pe,userRowHeights:We,model:re,showSearchBar:Qt,searchValue:Jr,selectedSearchColumns:ta,selectDistinctColumns:ea,invertSearchColumns:na,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:ra,pendingDataMap:la,canCopy:va,canDownloadCsv:ma,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:sa,theme:b,columnHeaderGroups:oa,getMetricCalculator:m,children:ca})})}}V(tt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});V(tt,"displayName","IrisGridPanel");V(tt,"COMPONENT","IrisGridPanel");var Qs=(i,e)=>{var{localDashboardId:t=Ea,glContainer:n}=e;return{inputFilters:Et(i,t),links:st(i,t),columnSelectionValidator:Ft(i,t),user:Fa(i),settings:Bt(i)}},Mn=Ge(Qs,null,null,{forwardRef:!0})(tt);function gt(i,e,t){return(e=Js(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Js(i){var e=eo(i,"string");return typeof e=="symbol"?e:e+""}function eo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ui=B.module("InputFilter"),to=150;class nt extends f.Component{constructor(e){super(e),gt(this,"inputRef",void 0),gt(this,"getItemLabel",oe((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s},{max:1e3})),gt(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},to)),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=ie.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:l}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),l!==void 0&&l&&l!==t.isValueShown&&this.focusInput(),(r!==t.column||a!==t.value||l!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];ui.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;ui.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,l=t!=null&&n!=null?{name:t,type:n}:void 0,s=a===void 0?{column:l,value:r}:{column:l,value:r,isValueShown:a};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:r,value:a}=this.state,l=a==null||a.length===0?nt.PLACEHOLDER.length:a.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(fn,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(Ct,{value:String(e.findIndex(d=>d.name===(r==null?void 0:r.name)&&d.type===(r==null?void 0:r.type))),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,h)=>u.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx(N,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx(N,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:r==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:nt.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(l+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx(N,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(de,{icon:pn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}gt(nt,"PLACEHOLDER","Enter value...");gt(nt,"defaultProps",{column:null,isValueShown:!1,value:null});function Xt(i,e,t){return(e=no(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function no(i){var e=io(i,"string");return typeof e=="symbol"?e:e+""}function io(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ro=250;class Zt extends f.Component{constructor(e){super(e),Xt(this,"inputFilterRef",void 0),this.handleChange=rt(this.handleChange.bind(this),ro),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=ie.createRef();var{panelState:t}=e,{value:n,isValueShown:r=!1,name:a,type:l,timestamp:s=Date.now()}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,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,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:g}=d,C=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&r===c.value;return s=(h=!g&&n&&(!C||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:r,timestamp:o},timestamp:o,wasFlipped:C,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,l,r,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,r){var{glEventHub:a}=this.props,l=F.getIdFromPanel(this);k(l),Fr(a,l,e!=null&&t!=null&&n!=null&&r!=null?{name:e,type:t,value:n,timestamp:r}:null)}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:l}=r;return n.name===a&&n.type===l})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:r,isValueShown:a,value:l}=this.state;return u.jsx(at,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(nt,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:l})})}}Xt(Zt,"defaultProps",{panelState:null});Xt(Zt,"COMPONENT","InputFilterPanel");Xt(Zt,"displayName","InputFilterPanel");var ao=(i,e)=>{var{localDashboardId:t}=e;return{columns:cn(i,t)}},Ye=Ge(ao,null,null,{forwardRef:!0})(Zt);function hi(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 jt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hi(Object(t),!0).forEach(function(n){kn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):hi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function kn(i,e,t){return(e=lo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lo(i){var e=so(i,"string");return typeof e=="symbol"?e:e+""}function so(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var X=B.module("FilterSetManagerPanel");function oo(i){return i.setPanelState!=null}class it extends f.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[r,a]=n;if(r>=e.columns.length)return null;var{name:l}=e.columns[r];return{name:l,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){X.error("Could not get panel",r);return}var a=F.getComponentNameFromPanel(r),l=F.getIdFromPanel(r);X.debug("Panel:",r,a);var{glContainer:s=null}=r.props;if(s==null){X.error("Could not get panel container",r);return}var o=F.getComponentConfigFromContainer(s);if(o==null){X.error("Could not get component config from container",s);return}var d=F.getPanelComponentState(o);if(d==null){X.debug("Panel state is null ".concat(l));return}switch(a){case F.getComponentName(tt):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case F.getComponentName(Ye):case F.getComponentName(Ze):{var{isValueShown:c,name:p,type:v,value:g}=d;t.push({panelId:l,type:a,state:{isValueShown:c,name:p,type:v,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return X.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=it.changeFilterIndexesToColumnNames(r,s));var h;return o&&(h=it.changeFilterIndexesToColumnNames(r,o)),{irisGridState:jt(jt({},a),{},{advancedFilters:d,quickFilters:h}),gridState:jt({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;X.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;X.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){X.debug("panel is null",l);return}if(!t.has(l)){X.debug("Ignore closed panel",l);return}X.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case F.getComponentName(tt):this.restoreIrisGridFilters(d,o,r);break;case F.getComponentName(Ye):case F.getComponentName(Ze):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;X.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:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=r,{panelTableMap:d}=this.props,h=F.getIdFromPanel(e);if(h==null){X.error("Panel Id is null.");return}var c=d.get(h);if(c==null){X.error("Unable to get table for panel ".concat(h,"."));return}X.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=jt({},t);delete n.isValueShown,X.debug("restoreInputFilterState",e,n),e&&oo(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:a}=this.state;return u.jsx(at,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0,children:u.jsx("div",{className:"input-filter-container h-100 w-100 container",children:u.jsx(Pt,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}kn(it,"defaultProps",{panelState:null});kn(it,"COMPONENT","FilterSetManagerPanel");var uo=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:er(i,t),dashboardOpenedPanelMap:Xi(i,t),dashboardInputFilters:Et(i,t),panelTableMap:Gt(i,t)}},_t=Ge(uo,{setDashboardFilterSets:Ji},null,{forwardRef:!0})(it);function ho(i,e,t){return(e=co(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function co(i){var e=po(i,"string");return typeof e=="symbol"?e:e+""}function po(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class kr extends f.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return u.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[u.jsx("div",{className:ue("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(de,{icon:hr})]})}),t]})}}ho(kr,"defaultProps",{isEditing:!1});function vo(i,e,t){return(e=mo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mo(i){var e=fo(i,"string");return typeof e=="symbol"?e:e+""}function fo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var go=B.module("MarkdownStartPage");class Lr extends f.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(go.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 u.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:u.jsxs("div",{className:"markdown-panel-start-page-container",children:[u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Start"}),u.jsx("div",{className:"list-item",children:u.jsx(N,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(l=>u.jsxs("div",{className:"list-item",children:[u.jsx(N,{kind:"ghost",className:"title",onClick:()=>t(l),children:l.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(l)},children:u.jsx(de,{icon:vn})})]},l.id)),u.jsxs(bl,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(Cl,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(Sl,{children:"You can't undo this action."}),u.jsxs(Ta,{children:[u.jsx(N,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(N,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}vo(Lr,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});function Ln(i,e,t){return(e=bo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bo(i){var e=Co(i,"string");return typeof e=="symbol"?e:e+""}function Co(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ce{static getNewMarkdownTitle(e){for(var t="".concat(Ce.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Ce.DEFAULT_TITLE,"-").concat(n);return t}}Ln(Ce,"DEFAULT_TITLE","Note");Ln(Ce,"DEFAULT_CONTENT",`# Markdown Note
5
5
 
6
- This note can be edited using **markdown** for styling.`);Ln(Ce,"getClosedMarkdowns",O(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));function bt(i,e,t){return(e=vo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vo(i){var e=mo(i,"string");return typeof e=="symbol"?e:e+""}function mo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fo=f.lazy(()=>Ll(()=>import("./MarkdownEditor-C98uFJ1t.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url)),It=B.module("MarkdownPanel");class On extends f.Component{constructor(e){super(e),bt(this,"markdownEditor",void 0),bt(this,"editor",void 0),bt(this,"getClosedMarkdowns",O(Ce.getClosedMarkdowns)),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&&(t.content!==""?{content:n}=t:n=Ce.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){k(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,r,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(r=this.editor.getModel())===null||r===void 0?void 0:r.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,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){It.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){It.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){It.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=F.getComponentConfigFromContainer(t);n.emit(ne.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ne.DELETE,e)}handleEditorBlur(e){var t;It.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:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(at,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(Lr,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(kr,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(f.Suspense,{fallback:u.jsx(St,{"data-testid":"markdown-panel-loading"}),children:u.jsx(fo,{ref:o=>{this.markdownEditor=o},isEditing:r,content:l??Ce.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}bt(On,"defaultProps",{panelState:null});bt(On,"COMPONENT","MarkdownPanel");var go=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Da(i,t)}},ft=Ge(go,null,null,{forwardRef:!0})(On);function Or(i){var{onClick:e}=i,t=f.useRef(null),n=f.useCallback(r=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(r)},[e]);return u.jsxs(N,{ref:t,kind:"primary",className:"btn-pandas",onClick:n,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",u.jsxs("span",{children:[u.jsx(de,{icon:cr,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function ci(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 pi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ci(Object(t),!0).forEach(function(n){wt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ci(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function vi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function bo(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){vi(a,n,r,l,s,"next",o)}function s(o){vi(a,n,r,l,s,"throw",o)}l(void 0)})}}function wt(i,e,t){return(e=Co(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Co(i){var e=So(i,"string");return typeof e=="symbol"?e:e+""}function So(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Yt extends f.Component{constructor(e){super(e),wt(this,"irisGridRef",void 0),wt(this,"model",null),this.irisGridRef=ie.createRef(),this.handleDisconnect=this.handleDisconnect.bind(this),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,makeModel:this.wrapMakeModel(e.makeModel)}}componentDidUpdate(e){var{makeModel:t}=e,{makeModel:n}=this.props;t!==n&&this.setState({makeModel:this.wrapMakeModel(n)})}componentWillUnmount(){this.model!=null&&this.stopListening(this.model)}wrapMakeModel(e){var t=this;return bo(function*(){var n=yield e();return t.model!=null&&t.stopListening(t.model),t.model=n,t.startListening(n),n})}startListening(e){e.addEventListener(x.EVENT.DISCONNECT,this.handleDisconnect)}stopListening(e){e.removeEventListener(x.EVENT.DISCONNECT,this.handleDisconnect)}handleDisconnect(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.setState({model:void 0})}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,{shouldFocusGrid:t}=this.state;t&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(e=e.irisGrid)!==null&&e!==void 0&&(e=e.current)!==null&&e!==void 0&&e.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){var{makeModel:e}=this.state;return u.jsx(Mn,pi(pi({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{makeModel:e,children:u.jsx(Or,{onClick:this.handleReload})}))}}wt(Yt,"defaultProps",{panelState:null});wt(Yt,"COMPONENT","PandasPanel");function mi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function fi(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){mi(a,n,r,l,s,"next",o)}function s(o){mi(a,n,r,l,s,"throw",o)}l(void 0)})}}function gi(i,e,t){return(e=yo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yo(i){var e=Po(i,"string");return typeof e=="symbol"?e:e+""}function Po(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class wo{constructor(e){gi(this,"items",void 0),gi(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];$n(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];$n(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return fi(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return fi(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}}function bi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function ct(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){bi(a,n,r,l,s,"next",o)}function s(o){bi(a,n,r,l,s,"throw",o)}l(void 0)})}}function Eo(i,e,t){return(e=Fo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fo(i){var e=To(i,"string");return typeof e=="symbol"?e:e+""}function To(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Do{constructor(e){Eo(this,"items",void 0),this.items=e}getTable(){var e=this;return ct(function*(){return new wo(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return ct(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return ct(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return ct(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=Ma.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return ct(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new ka;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.")}}var Mo=at,ko=at;function Ci(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 Vt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ci(Object(t),!0).forEach(function(n){Lo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ci(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Lo(i,e,t){return(e=Oo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Oo(i){var e=No(i,"string");return typeof e=="symbol"?e:e+""}function No(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Si(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Nr(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Si(a,n,r,l,s,"next",o)}function s(o){Si(a,n,r,l,s,"throw",o)}l(void 0)})}}function jo(i,e,t,n){return on.apply(this,arguments)}function on(){return on=Nr(function*(i,e,t,n){var r={},a="",l={};if(Xe(e)&&(r=e.settings,a=e.table,l=e.tableSettings),n!=null&&(n.tableSettings!=null&&(l=n.tableSettings),n.table!=null&&(a=n.table),n.settings!=null&&(r=Vt(Vt({},r),n.settings))),a!=null&&a!==""){var s=yield t();return new H(i).applyTableSettings(s,l,tr(ml.getState())),Je.makeModelFromSettings(i,r,s)}var o=yield t();return Je.makeModel(i,r,o)}),on.apply(this,arguments)}var Nn=f.forwardRef((i,e)=>{var t=Er(i)?i.panelState:void 0,{fetch:n,metadata:r,localDashboardId:a}=i;k(r);var[l,s]=Nl(r),o=f.useCallback(Nr(function*(){if(s!=null)throw s;return l==null?new Promise(()=>{}):jo(l,r,n,t)}),[l,s,r,n,t]);return u.jsx(Dn,Vt(Vt({ref:e},i),{},{metadata:r,localDashboardId:a,makeModel:o}))});Nn.displayName="ChartPanelPlugin";function yi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Io(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){yi(a,n,r,l,s,"next",o)}function s(o){yi(a,n,r,l,s,"throw",o)}l(void 0)})}}function jr(i){var e=Wt(),[t,n]=f.useState(),{fetch:r}=i;return f.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=Io(function*(){var o=yield r(),d=yield Je.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,r]),t?u.jsx(vr,{model:t}):null}var xo={name:"ChartPanel",title:"Chart",type:xe.WIDGET_PLUGIN,component:jr,panelComponent:Nn,supportedTypes:"Figure",icon:fl};function Pi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function _o(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Pi(a,n,r,l,s,"next",o)}function s(o){Pi(a,n,r,l,s,"throw",o)}l(void 0)})}}function Ir(i){Tt(i);var{id:e,layout:t}=i,n=f.useCallback(r=>{var{metadata:a,panelId:l=he(),table:s}=r,{settings:o}=a,d=function(){var v=_o(function*(){return s});return function(){return v.apply(this,arguments)}}(),h=J.titleFromSettings(o),c={type:"react-component",component:Dn.COMPONENT,props:{localDashboardId:e,id:l,metadata:a,fetch:d},title:h,id:l},{root:p}=t;F.openComponent({root:p,config:c})},[e,t]);return $e(t.eventHub,Z.CREATE_CHART,n),null}var Ro={name:"ChartBuilderPlugin",type:xe.DASHBOARD_PLUGIN,component:Ir},pt=B.module("FilterPlugin");function xr(i){Tt(i);var{id:e,layout:t,registerComponent:n}=i,r=ga(),[a]=f.useState(()=>new Map),[l]=f.useState(()=>new Map),[s]=f.useState(()=>new Map),o=f.useCallback(()=>{var m=Array.from(a.values()).flat().sort((S,P)=>{var w=ge.toLower(S.name),T=ge.toLower(P.name);if(w!==T)return w>T?1:-1;var L=ge.toLower(S.type),M=ge.toLower(P.type);return L!==M?L>M?1:-1:0}).reduce((S,P)=>((S.length===0||ge.toLower(S[S.length-1].name)!==ge.toLower(P.name)||ge.toLower(S[S.length-1].type)!==ge.toLower(P.type))&&S.push(P),S),[]),b=Array.from(l.values()).flat().sort((S,P)=>S.timestamp-P.timestamp),y=new Map(s);pt.debug("sendUpdate",{columns:m,filters:b,tableMap:y}),r(La(e,{columns:m,filters:b,tableMap:y}))},[r,e,a,l,s]),d=f.useCallback((m,b)=>{pt.debug2("handleColumnsChanged",m,b),b==null?a.delete(m):a.set(m,[].concat(b)),o()},[a,o]),h=f.useCallback((m,b)=>{pt.debug2("handleFiltersChanged",m,b),b==null?l.delete(m):l.set(m,[].concat(b??[])),o()},[l,o]),c=f.useCallback((m,b)=>{pt.debug2("handleTableChanged",m,b),b==null?s.delete(m):s.set(m,b),o()},[s,o]),p=f.useCallback(m=>{pt.debug2("handlePanelUnmount",m);var b=F.getIdFromPanel(m);b!=null&&(a.delete(b),s.delete(b),l.delete(b)),o()},[a,l,s,o]),v=f.useCallback(m=>{var{title:b="DropdownFilter",metadata:y={},panelState:S=null,id:P=he(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Ze.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:D}=t;F.openComponent({root:D,config:M,focusElement:w,createNewStack:T,dragEvent:L})},[t,e]),g=f.useCallback(m=>{var{title:b="InputFilter",metadata:y={},panelState:S=null,id:P=he(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Ye.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:D}=t;F.openComponent({root:D,config:M,focusElement:w,createNewStack:T,dragEvent:L})},[t,e]),C=f.useCallback(m=>{var{title:b="FilterSets",metadata:y={},panelState:S=null,id:P=he(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:_t.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:D}=t;F.openComponent({root:D,config:M,focusElement:w,createNewStack:T,dragEvent:L})},[t,e]);return f.useEffect(function(){var b=[n(Ze.COMPONENT,Ze),n(Ye.COMPONENT,Ye),n(_t.COMPONENT,_t)];return()=>{b.forEach(y=>y())}},[n]),ms(t.eventHub,d),gs(t.eventHub,h),fs(t.eventHub,c),$e(t.eventHub,Me.OPEN_DROPDOWN,v),$e(t.eventHub,Me.OPEN_INPUT,g),$e(t.eventHub,Me.OPEN_FILTER_SET_MANAGER,C),$e(t.eventHub,ne.UNMOUNT,p),null}var Ao={name:"FilterPlugin",type:xe.DASHBOARD_PLUGIN,component:xr},Uo=B.module("@deephaven/app-utils/useTablePlugin");function jn(){var i=nr(),e=f.useCallback(t=>{var n=i.get(t);if(n!=null){if(Oa(n))return n.component;if(Na(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw Uo.error(r),new Error(r)},[i]);return e}function wi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function $o(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){wi(a,n,r,l,s,"next",o)}function s(o){wi(a,n,r,l,s,"throw",o)}l(void 0)})}}function _r(i,e,t){var n=Wt(),r=jn(),a=f.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var l=$o(function*(){var o=yield i();return fr.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return a}function Ei(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 Fi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ei(Object(t),!0).forEach(function(n){Vo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ei(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Vo(i,e,t){return(e=Go(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Go(i){var e=Ho(i,"string");return typeof e=="symbol"?e:e+""}function Ho(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var In=f.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=_r(n,t,r);return u.jsx(Mn,Fi(Fi({ref:e},i),a))});In.displayName="GridPanelPlugin";function Ti(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function tn(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Ti(a,n,r,l,s,"next",o)}function s(o){Ti(a,n,r,l,s,"throw",o)}l(void 0)})}}function Rr(i){var e=Wt(),[t,n]=f.useState(),[r,a]=f.useState(),[l,s]=f.useState(!0),o=f.useCallback(tn(function*(){var c=yield i();return fr.makeModel(e,c)}),[e,i]),d=f.useCallback(tn(function*(){s(!0),a(void 0);try{var c=yield o();n(c),s(!1)}catch(p){a(p),s(!1)}}),[o]);f.useEffect(()=>{var c=!1;function p(){return v.apply(this,arguments)}function v(){return v=tn(function*(){s(!0),a(void 0);try{var g=yield o();c||(n(g),s(!1))}catch(C){c||(a(C),s(!1))}}),v.apply(this,arguments)}return p(),()=>{c=!0}},[o]),f.useEffect(function(){if(!t)return;function p(){a(new Error("Table disconnected")),n(void 0),s(!1)}return t.addEventListener(x.EVENT.DISCONNECT,p),()=>{t.removeEventListener(x.EVENT.DISCONNECT,p)}},[t]);var h=f.useMemo(()=>{if(l)return{reload:d,status:"loading"};if(r!=null)return{error:r,reload:d,status:"error"};if(t!=null)return{model:t,reload:d,status:"success"};throw new Error("Invalid state")},[r,l,t,d]);return h}function Ar(i,e){var{eventHub:t}=Kt(),n=ir(),r=dn();f.useEffect(function(){r==null||i==null||Ut(t,r,i)},[t,r,i]),f.useEffect(function(){e==null||r==null||$t(t,r,e)},[t,r,e]),f.useEffect(function(){if(r!=null)return()=>{Ut(t,r,null),$t(t,r,null)}},[t,r]);var a=f.useCallback(o=>Et(o,n),[n]),l=an(a),s=f.useMemo(()=>H.getInputFiltersForColumns(i??[],l.filter(o=>{var{value:d,excludePanelIds:h}=o;return d!=null&&(h==null||r!=null&&!h.includes(r))})),[i,r,l]);return s}function Ur(i,e){var{eventHub:t}=Kt(),n=ir(),r=dn(),a=rr(),l=f.useCallback(m=>st(m,n),[n]),s=an(l),o=f.useMemo(()=>{var m=new Set;return s.forEach(b=>{b.start.panelId===r&&m.add(b.start.columnName)}),[...m]},[s,r]),d=f.useCallback(m=>Ft(m,n),[n]),h=an(d),c=f.useCallback(m=>h&&m&&r!=null?h(r,m,{type:"tableLink"}):!1,[h,r]),p=h!=null,v=f.useCallback((m,b)=>{r!=null&&Tr(t,r,b)},[t,r]),g=f.useCallback(m=>{var b,y,S;if(!i||!e)return null;var{gridWrapper:P}=e,w=(b=P==null?void 0:P.getBoundingClientRect())!==null&&b!==void 0?b:null;if(w==null||w.width<=0||w.height<=0)return null;var{metrics:T}=e.state;k(T);var{columnHeaderHeight:L,allColumnXs:M,allColumnWidths:D,right:E,columnHeaderMaxDepth:j}=T,R=i.getColumnIndexByName(m);k(R);var A=e.getVisibleColumn(R),q=(y=M.get(A))!==null&&y!==void 0?y:0,Se=(S=D.get(A))!==null&&S!==void 0?S:0,_e=ze(A>E?w.right:w.left+q+Se*.5,w.left,w.right),Re=w.top+L*j;return[_e,Re]},[i,e]),C=f.useCallback(m=>{r!=null&&zt(t,r,m,{type:"tableLink"})},[t,r]);return f.useEffect(function(){if(!(!e||a==null||r==null))return ni(t,r,{getCoordinates:g,setFilterValues:e.setFilterMap,unsetFilterValue:()=>{},panelId:a}),()=>{ni(t,r,null)}},[t,r,g,e,a]),{alwaysFetchColumns:o,columnSelectionValidator:c,isSelectingColumn:p,onColumnSelected:C,onDataSelected:v}}var $r=f.forwardRef((i,e)=>{var{name:t,model:n,filter:r,fetchColumns:a,selectedRanges:l,irisGridRef:s,pluginState:o,onStateChange:d}=i,h=jn(),c=f.useMemo(()=>h(t),[h,t]),p=Kt(),v=rr(),g=f.useMemo(()=>{var m;if(v==null)return"unknown";var b=F.getContentItemById(p.root,v);return(m=b==null?void 0:b.config.title)!==null&&m!==void 0?m:"unknown"},[p.root,v]),C=f.useMemo(()=>({irisGrid:s,getTableName:()=>g}),[s,g]);return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(c,{ref:e,filter:r,fetchColumns:a,model:n,table:n.table,tableName:g,selectedRanges:l,onStateChange:d,pluginState:o,panel:C})})});$r.displayName="TablePluginWrapper";function Vr(i){var{model:e,irisGridRef:t,irisGridUtils:n,selectedRanges:r}=i,[a,l]=f.useState([]),s=f.useMemo(()=>e!=null&&n!=null&&ke(e)?n.getFiltersFromInputFilters(e.table.columns,a,e.formatter.timeZone):[],[e,n,a]),[o,d]=f.useState([]),h=f.useRef(null),[c,p]=Cr(void 0,{version:1,type:"GridWidgetTablePluginState"}),v=f.useMemo(()=>e!=null&&ke(e)&&e.table.pluginName!=null?u.jsx($r,{ref:h,name:e.table.pluginName,model:e,filter:l,fetchColumns:d,selectedRanges:r,irisGridRef:t,pluginState:c,onStateChange:p}):null,[e,r,t,c,p]),g=f.useCallback(C=>{var m,b,y;return(m=(b=h.current)===null||b===void 0||(y=b.getMenu)===null||y===void 0?void 0:y.call(b,C))!==null&&m!==void 0?m:[]},[]);return{Plugin:v,customFilters:s,alwaysFetchColumns:o,onContextMenu:g}}var Bo=["alwaysFetchColumns"];function Wo(i,e){if(i==null)return{};var t,n,r=Ko(i,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(i);for(n=0;n<a.length;n++)t=a[n],e.indexOf(t)===-1&&{}.propertyIsEnumerable.call(i,t)&&(r[t]=i[t])}return r}function Ko(i,e){if(i==null)return{};var t={};for(var n in i)if({}.hasOwnProperty.call(i,n)){if(e.indexOf(n)!==-1)continue;t[n]=i[n]}return t}function Di(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 vt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Di(Object(t),!0).forEach(function(n){zo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Di(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function zo(i,e,t){return(e=qo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qo(i){var e=Xo(i,"string");return typeof e=="symbol"?e:e+""}function Xo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Gr(i){var e,{fetch:t}=i,n=ba(Bt),{eventHub:r}=Kt(),a=Rr(t),l=a.status==="success"?a.model:void 0,s=Wt(),o=f.useMemo(()=>new H(s),[s]),[d,h]=Cr(void 0,{version:1,type:"GridWidgetPlugin"}),c=f.useRef(d),p=f.useMemo(()=>{if(!(a.status!=="success"||c.current===void 0))return vt(vt({},o.hydrateIrisGridState(a.model,c.current)),H.hydrateGridState(a.model,c.current))},[a,o]),v=f.useMemo(()=>ln.makeMemoizedCombinedGridStateDehydrator(),[]),g=f.useCallback((R,A)=>{if(!(a.status!=="success"||R==null||A==null)){var q=v(a.model,R,A);h(q)}},[a,h,v]),C=Ar((e=l==null?void 0:l.columns)!==null&&e!==void 0?e:null,l!=null&&ke(l)?l.table:void 0),m=f.useRef(null),b=Ur(a.status==="success"?a.model:null,m.current),{alwaysFetchColumns:y}=b,S=Wo(b,Bo),P=f.useCallback(()=>{m.current!=null&&m.current.clearAllFilters()},[]);$e(r,Me.CLEAR_ALL_FILTERS,P);var[w,T]=f.useState([]),{Plugin:L,customFilters:M,alwaysFetchColumns:D,onContextMenu:E}=Vr({model:l,irisGridRef:m,irisGridUtils:o,selectedRanges:w}),j=f.useMemo(()=>{var R=new Set([...y,...D]);return[...R]},[y,D]);return a.status==="loading"?u.jsx(St,{isLoading:!0,"data-testid":"grid-widget-plugin-loading"}):a.status==="error"?u.jsx(St,{"data-testid":"grid-widget-plugin-loading-error",errorMessage:ar(a.error),isLoading:!1}):(k(l,"Model should be defined when fetch is successful"),u.jsx(mn,vt(vt(vt({ref:m,model:l,settings:n,onStateChange:g,onSelectionChanged:T,onContextMenu:E,inputFilters:C,customFilters:M},S),{},{alwaysFetchColumns:j},p),{},{children:L})))}var Zo={name:"IrisGridPanel",title:"Table",type:xe.WIDGET_PLUGIN,component:Gr,panelComponent:In,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:gl};function Mi(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 Oe(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mi(Object(t),!0).forEach(function(n){Yo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Mi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Yo(i,e,t){return(e=Qo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qo(i){var e=Jo(i,"string");return typeof e=="symbol"?e:e+""}function Jo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Hr(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function ki(i){var e=i;return Hr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function Li(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var Oi=B.module("LinkerUtils");class Ue{static isLinkValid(e,t,n){if(e.panelId==null||t.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return Oi.debug2("Incompatible panel ids",e,t,n),!1;var{columnType:r}=e,{columnType:a}=t,l=a===null||z.isCompatibleType(r,a);return l?!0:(Oi.debug2("Incompatible type",r,a),!1)}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?r.push(Oe(Oe({},a),{},{id:he(),start:Oe(Oe({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&r.push(Oe(Oe({},a),{},{id:he(),end:Oe(Oe({},a.end),{},{panelId:n})}))}),r}}function Br(i,e,t){return(e=ed(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ed(i){var e=td(i,"string");return typeof e=="symbol"?e:e+""}function td(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var nd=B.module("LinkerLink"),Ni=.015,ji=1.5,Wr=12,Kr=12,Ii=2,xt=Math.sqrt((Kr*.5)**2+Wr**2),xi=Math.asin(Kr*.5/Wr),_i=15,Ne=Math.PI*.5;class Qe extends f.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(z.isNumberType(e)||z.isCharType(e))return Dl(t);if(z.isTextType(e))return Ml(t);if(z.isDateType(e))return kl(t);if(z.isBooleanType(e)){if(t===qe.eq)return"is equal to";if(t===qe.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return nd.warn(n),""}}constructor(e){super(e),Br(this,"getOperators",O((t,n)=>{var{onOperatorChanged:r}=this.props,a=z.getFilterTypes(n);return z.isBooleanType(n)&&(a=[qe.eq,qe.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=z.getFilterOperatorString(l),[{title:Qe.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>r(t,l),order:s}]})})),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:l,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,p=Math.sqrt((r-l)**2+(a-s)**2),v=Math.atan2(s-a,l-r),g=Math.sin(v),C=Math.cos(v)+2,m=window.innerWidth,b=window.innerHeight,y=0,S=0,P=Math.max(y,Math.min(r+(l-r)/2+g*(p*Ni)**ji,m)),w=Math.max(S,Math.min(a+(s-a)/2+C*(p*Ni)**ji,b)),T="M ".concat(r," ").concat(a," Q ").concat(P," ").concat(w," ").concat(l," ").concat(s),L="M ".concat(y," ").concat(S," L ").concat(y," ").concat(b," L ").concat(m," ").concat(b," L ").concat(m," ").concat(S,` z
6
+ This note can be edited using **markdown** for styling.`);Ln(Ce,"getClosedMarkdowns",O(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));function bt(i,e,t){return(e=So(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function So(i){var e=yo(i,"string");return typeof e=="symbol"?e:e+""}function yo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Po=f.lazy(()=>_l(()=>import("./MarkdownEditor-BPeAvulp.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url)),It=B.module("MarkdownPanel");class On extends f.Component{constructor(e){super(e),bt(this,"markdownEditor",void 0),bt(this,"editor",void 0),bt(this,"getClosedMarkdowns",O(Ce.getClosedMarkdowns)),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&&(t.content!==""?{content:n}=t:n=Ce.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){k(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,r,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(r=this.editor.getModel())===null||r===void 0?void 0:r.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,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){It.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){It.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){It.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=F.getComponentConfigFromContainer(t);n.emit(ne.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ne.DELETE,e)}handleEditorBlur(e){var t;It.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:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(at,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(Lr,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(kr,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(f.Suspense,{fallback:u.jsx(St,{"data-testid":"markdown-panel-loading"}),children:u.jsx(Po,{ref:o=>{this.markdownEditor=o},isEditing:r,content:l??Ce.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}bt(On,"defaultProps",{panelState:null});bt(On,"COMPONENT","MarkdownPanel");var wo=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Da(i,t)}},ft=Ge(wo,null,null,{forwardRef:!0})(On);function Or(i){var{onClick:e}=i,t=f.useRef(null),n=f.useCallback(r=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(r)},[e]);return u.jsxs(N,{ref:t,kind:"primary",className:"btn-pandas",onClick:n,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",u.jsxs("span",{children:[u.jsx(de,{icon:cr,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function ci(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 pi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ci(Object(t),!0).forEach(function(n){wt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ci(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function vi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Eo(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){vi(a,n,r,l,s,"next",o)}function s(o){vi(a,n,r,l,s,"throw",o)}l(void 0)})}}function wt(i,e,t){return(e=Fo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fo(i){var e=To(i,"string");return typeof e=="symbol"?e:e+""}function To(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Yt extends f.Component{constructor(e){super(e),wt(this,"irisGridRef",void 0),wt(this,"model",null),this.irisGridRef=ie.createRef(),this.handleDisconnect=this.handleDisconnect.bind(this),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,makeModel:this.wrapMakeModel(e.makeModel)}}componentDidUpdate(e){var{makeModel:t}=e,{makeModel:n}=this.props;t!==n&&this.setState({makeModel:this.wrapMakeModel(n)})}componentWillUnmount(){this.model!=null&&this.stopListening(this.model)}wrapMakeModel(e){var t=this;return Eo(function*(){var n=yield e();return t.model!=null&&t.stopListening(t.model),t.model=n,t.startListening(n),n})}startListening(e){e.addEventListener(x.EVENT.DISCONNECT,this.handleDisconnect)}stopListening(e){e.removeEventListener(x.EVENT.DISCONNECT,this.handleDisconnect)}handleDisconnect(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.setState({model:void 0})}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,{shouldFocusGrid:t}=this.state;t&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(e=e.irisGrid)!==null&&e!==void 0&&(e=e.current)!==null&&e!==void 0&&e.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){var{makeModel:e}=this.state;return u.jsx(Mn,pi(pi({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{makeModel:e,children:u.jsx(Or,{onClick:this.handleReload})}))}}wt(Yt,"defaultProps",{panelState:null});wt(Yt,"COMPONENT","PandasPanel");function mi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function fi(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){mi(a,n,r,l,s,"next",o)}function s(o){mi(a,n,r,l,s,"throw",o)}l(void 0)})}}function gi(i,e,t){return(e=Do(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Do(i){var e=Mo(i,"string");return typeof e=="symbol"?e:e+""}function Mo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ko{constructor(e){gi(this,"items",void 0),gi(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];$n(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];$n(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return fi(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return fi(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}}function bi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function ct(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){bi(a,n,r,l,s,"next",o)}function s(o){bi(a,n,r,l,s,"throw",o)}l(void 0)})}}function Lo(i,e,t){return(e=Oo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Oo(i){var e=No(i,"string");return typeof e=="symbol"?e:e+""}function No(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class jo{constructor(e){Lo(this,"items",void 0),this.items=e}getTable(){var e=this;return ct(function*(){return new ko(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return ct(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return ct(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return ct(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=Ma.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return ct(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new ka;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.")}}var Io=at,xo=at;function Ci(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 Vt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ci(Object(t),!0).forEach(function(n){_o(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ci(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function _o(i,e,t){return(e=Ro(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ro(i){var e=Ao(i,"string");return typeof e=="symbol"?e:e+""}function Ao(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Si(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Nr(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Si(a,n,r,l,s,"next",o)}function s(o){Si(a,n,r,l,s,"throw",o)}l(void 0)})}}function Uo(i,e,t,n){return on.apply(this,arguments)}function on(){return on=Nr(function*(i,e,t,n){var r={},a="",l={};if(Xe(e)&&(r=e.settings,a=e.table,l=e.tableSettings),n!=null&&(n.tableSettings!=null&&(l=n.tableSettings),n.table!=null&&(a=n.table),n.settings!=null&&(r=Vt(Vt({},r),n.settings))),a!=null&&a!==""){var s=yield t();return new H(i).applyTableSettings(s,l,tr(yl.getState())),Je.makeModelFromSettings(i,r,s)}var o=yield t();return Je.makeModel(i,r,o)}),on.apply(this,arguments)}var Nn=f.forwardRef((i,e)=>{var t=Er(i)?i.panelState:void 0,{fetch:n,metadata:r,localDashboardId:a}=i;k(r);var[l,s]=Al(r),o=f.useCallback(Nr(function*(){if(s!=null)throw s;return l==null?new Promise(()=>{}):Uo(l,r,n,t)}),[l,s,r,n,t]);return u.jsx(Dn,Vt(Vt({ref:e},i),{},{metadata:r,localDashboardId:a,makeModel:o}))});Nn.displayName="ChartPanelPlugin";function yi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function $o(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){yi(a,n,r,l,s,"next",o)}function s(o){yi(a,n,r,l,s,"throw",o)}l(void 0)})}}function jr(i){var e=Wt(),[t,n]=f.useState(),{fetch:r}=i;return f.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=$o(function*(){var o=yield r(),d=yield Je.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,r]),t?u.jsx(vr,{model:t}):null}var Vo={name:"ChartPanel",title:"Chart",type:xe.WIDGET_PLUGIN,component:jr,panelComponent:Nn,supportedTypes:"Figure",icon:Pl};function Pi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Go(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Pi(a,n,r,l,s,"next",o)}function s(o){Pi(a,n,r,l,s,"throw",o)}l(void 0)})}}function Ir(i){Tt(i);var{id:e,layout:t}=i,n=f.useCallback(r=>{var{metadata:a,panelId:l=he(),table:s}=r,{settings:o}=a,d=function(){var v=Go(function*(){return s});return function(){return v.apply(this,arguments)}}(),h=J.titleFromSettings(o),c={type:"react-component",component:Dn.COMPONENT,props:{localDashboardId:e,id:l,metadata:a,fetch:d},title:h,id:l},{root:p}=t;F.openComponent({root:p,config:c})},[e,t]);return $e(t.eventHub,Z.CREATE_CHART,n),null}var Ho={name:"ChartBuilderPlugin",type:xe.DASHBOARD_PLUGIN,component:Ir},pt=B.module("FilterPlugin");function xr(i){Tt(i);var{id:e,layout:t,registerComponent:n}=i,r=ga(),[a]=f.useState(()=>new Map),[l]=f.useState(()=>new Map),[s]=f.useState(()=>new Map),o=f.useCallback(()=>{var m=Array.from(a.values()).flat().sort((S,P)=>{var w=ge.toLower(S.name),T=ge.toLower(P.name);if(w!==T)return w>T?1:-1;var L=ge.toLower(S.type),M=ge.toLower(P.type);return L!==M?L>M?1:-1:0}).reduce((S,P)=>((S.length===0||ge.toLower(S[S.length-1].name)!==ge.toLower(P.name)||ge.toLower(S[S.length-1].type)!==ge.toLower(P.type))&&S.push(P),S),[]),b=Array.from(l.values()).flat().sort((S,P)=>S.timestamp-P.timestamp),y=new Map(s);pt.debug("sendUpdate",{columns:m,filters:b,tableMap:y}),r(La(e,{columns:m,filters:b,tableMap:y}))},[r,e,a,l,s]),d=f.useCallback((m,b)=>{pt.debug2("handleColumnsChanged",m,b),b==null?a.delete(m):a.set(m,[].concat(b)),o()},[a,o]),h=f.useCallback((m,b)=>{pt.debug2("handleFiltersChanged",m,b),b==null?l.delete(m):l.set(m,[].concat(b??[])),o()},[l,o]),c=f.useCallback((m,b)=>{pt.debug2("handleTableChanged",m,b),b==null?s.delete(m):s.set(m,b),o()},[s,o]),p=f.useCallback(m=>{pt.debug2("handlePanelUnmount",m);var b=F.getIdFromPanel(m);b!=null&&(a.delete(b),s.delete(b),l.delete(b)),o()},[a,l,s,o]),v=f.useCallback(m=>{var{title:b="DropdownFilter",metadata:y={},panelState:S=null,id:P=he(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Ze.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:D}=t;F.openComponent({root:D,config:M,focusElement:w,createNewStack:T,dragEvent:L})},[t,e]),g=f.useCallback(m=>{var{title:b="InputFilter",metadata:y={},panelState:S=null,id:P=he(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Ye.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:D}=t;F.openComponent({root:D,config:M,focusElement:w,createNewStack:T,dragEvent:L})},[t,e]),C=f.useCallback(m=>{var{title:b="FilterSets",metadata:y={},panelState:S=null,id:P=he(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:_t.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:D}=t;F.openComponent({root:D,config:M,focusElement:w,createNewStack:T,dragEvent:L})},[t,e]);return f.useEffect(function(){var b=[n(Ze.COMPONENT,Ze),n(Ye.COMPONENT,Ye),n(_t.COMPONENT,_t)];return()=>{b.forEach(y=>y())}},[n]),ys(t.eventHub,d),ws(t.eventHub,h),Ps(t.eventHub,c),$e(t.eventHub,Me.OPEN_DROPDOWN,v),$e(t.eventHub,Me.OPEN_INPUT,g),$e(t.eventHub,Me.OPEN_FILTER_SET_MANAGER,C),$e(t.eventHub,ne.UNMOUNT,p),null}var Bo={name:"FilterPlugin",type:xe.DASHBOARD_PLUGIN,component:xr},Wo=B.module("@deephaven/app-utils/useTablePlugin");function jn(){var i=nr(),e=f.useCallback(t=>{var n=i.get(t);if(n!=null){if(Oa(n))return n.component;if(Na(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw Wo.error(r),new Error(r)},[i]);return e}function wi(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function Ko(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){wi(a,n,r,l,s,"next",o)}function s(o){wi(a,n,r,l,s,"throw",o)}l(void 0)})}}function _r(i,e,t){var n=Wt(),r=jn(),a=f.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var l=Ko(function*(){var o=yield i();return fr.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return a}function Ei(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 Fi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ei(Object(t),!0).forEach(function(n){zo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ei(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function zo(i,e,t){return(e=qo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qo(i){var e=Xo(i,"string");return typeof e=="symbol"?e:e+""}function Xo(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var In=f.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=_r(n,t,r);return u.jsx(Mn,Fi(Fi({ref:e},i),a))});In.displayName="GridPanelPlugin";function Ti(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){return void t(d)}s.done?e(o):Promise.resolve(o).then(n,r)}function tn(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Ti(a,n,r,l,s,"next",o)}function s(o){Ti(a,n,r,l,s,"throw",o)}l(void 0)})}}function Rr(i){var e=Wt(),[t,n]=f.useState(),[r,a]=f.useState(),[l,s]=f.useState(!0),o=f.useCallback(tn(function*(){var c=yield i();return fr.makeModel(e,c)}),[e,i]),d=f.useCallback(tn(function*(){s(!0),a(void 0);try{var c=yield o();n(c),s(!1)}catch(p){a(p),s(!1)}}),[o]);f.useEffect(()=>{var c=!1;function p(){return v.apply(this,arguments)}function v(){return v=tn(function*(){s(!0),a(void 0);try{var g=yield o();c||(n(g),s(!1))}catch(C){c||(a(C),s(!1))}}),v.apply(this,arguments)}return p(),()=>{c=!0}},[o]),f.useEffect(function(){if(!t)return;function p(){a(new Error("Table disconnected")),n(void 0),s(!1)}return t.addEventListener(x.EVENT.DISCONNECT,p),()=>{t.removeEventListener(x.EVENT.DISCONNECT,p)}},[t]);var h=f.useMemo(()=>{if(l)return{reload:d,status:"loading"};if(r!=null)return{error:r,reload:d,status:"error"};if(t!=null)return{model:t,reload:d,status:"success"};throw new Error("Invalid state")},[r,l,t,d]);return h}function Ar(i,e){var{eventHub:t}=Kt(),n=ir(),r=dn();f.useEffect(function(){r==null||i==null||Ut(t,r,i)},[t,r,i]),f.useEffect(function(){e==null||r==null||$t(t,r,e)},[t,r,e]),f.useEffect(function(){if(r!=null)return()=>{Ut(t,r,null),$t(t,r,null)}},[t,r]);var a=f.useCallback(o=>Et(o,n),[n]),l=an(a),s=f.useMemo(()=>H.getInputFiltersForColumns(i??[],l.filter(o=>{var{value:d,excludePanelIds:h}=o;return d!=null&&(h==null||r!=null&&!h.includes(r))})),[i,r,l]);return s}function Ur(i,e){var{eventHub:t}=Kt(),n=ir(),r=dn(),a=rr(),l=f.useCallback(m=>st(m,n),[n]),s=an(l),o=f.useMemo(()=>{var m=new Set;return s.forEach(b=>{b.start.panelId===r&&m.add(b.start.columnName)}),[...m]},[s,r]),d=f.useCallback(m=>Ft(m,n),[n]),h=an(d),c=f.useCallback(m=>h&&m&&r!=null?h(r,m,{type:"tableLink"}):!1,[h,r]),p=h!=null,v=f.useCallback((m,b)=>{r!=null&&Tr(t,r,b)},[t,r]),g=f.useCallback(m=>{var b,y,S;if(!i||!e)return null;var{gridWrapper:P}=e,w=(b=P==null?void 0:P.getBoundingClientRect())!==null&&b!==void 0?b:null;if(w==null||w.width<=0||w.height<=0)return null;var{metrics:T}=e.state;k(T);var{columnHeaderHeight:L,allColumnXs:M,allColumnWidths:D,right:E,columnHeaderMaxDepth:j}=T,R=i.getColumnIndexByName(m);k(R);var A=e.getVisibleColumn(R),q=(y=M.get(A))!==null&&y!==void 0?y:0,Se=(S=D.get(A))!==null&&S!==void 0?S:0,_e=ze(A>E?w.right:w.left+q+Se*.5,w.left,w.right),Re=w.top+L*j;return[_e,Re]},[i,e]),C=f.useCallback(m=>{r!=null&&zt(t,r,m,{type:"tableLink"})},[t,r]);return f.useEffect(function(){if(!(!e||a==null||r==null))return ni(t,r,{getCoordinates:g,setFilterValues:e.setFilterMap,unsetFilterValue:()=>{},panelId:a}),()=>{ni(t,r,null)}},[t,r,g,e,a]),{alwaysFetchColumns:o,columnSelectionValidator:c,isSelectingColumn:p,onColumnSelected:C,onDataSelected:v}}var $r=f.forwardRef((i,e)=>{var{name:t,model:n,filter:r,fetchColumns:a,selectedRanges:l,irisGridRef:s,pluginState:o,onStateChange:d}=i,h=jn(),c=f.useMemo(()=>h(t),[h,t]),p=Kt(),v=rr(),g=f.useMemo(()=>{var m;if(v==null)return"unknown";var b=F.getContentItemById(p.root,v);return(m=b==null?void 0:b.config.title)!==null&&m!==void 0?m:"unknown"},[p.root,v]),C=f.useMemo(()=>({irisGrid:s,getTableName:()=>g}),[s,g]);return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(c,{ref:e,filter:r,fetchColumns:a,model:n,table:n.table,tableName:g,selectedRanges:l,onStateChange:d,pluginState:o,panel:C})})});$r.displayName="TablePluginWrapper";function Vr(i){var{model:e,irisGridRef:t,irisGridUtils:n,selectedRanges:r}=i,[a,l]=f.useState([]),s=f.useMemo(()=>e!=null&&n!=null&&ke(e)?n.getFiltersFromInputFilters(e.table.columns,a,e.formatter.timeZone):[],[e,n,a]),[o,d]=f.useState([]),h=f.useRef(null),[c,p]=Cr(void 0,{version:1,type:"GridWidgetTablePluginState"}),v=f.useMemo(()=>e!=null&&ke(e)&&e.table.pluginName!=null?u.jsx($r,{ref:h,name:e.table.pluginName,model:e,filter:l,fetchColumns:d,selectedRanges:r,irisGridRef:t,pluginState:c,onStateChange:p}):null,[e,r,t,c,p]),g=f.useCallback(C=>{var m,b,y;return(m=(b=h.current)===null||b===void 0||(y=b.getMenu)===null||y===void 0?void 0:y.call(b,C))!==null&&m!==void 0?m:[]},[]);return{Plugin:v,customFilters:s,alwaysFetchColumns:o,onContextMenu:g}}var Zo=["alwaysFetchColumns"];function Yo(i,e){if(i==null)return{};var t,n,r=Qo(i,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(i);for(n=0;n<a.length;n++)t=a[n],e.indexOf(t)===-1&&{}.propertyIsEnumerable.call(i,t)&&(r[t]=i[t])}return r}function Qo(i,e){if(i==null)return{};var t={};for(var n in i)if({}.hasOwnProperty.call(i,n)){if(e.indexOf(n)!==-1)continue;t[n]=i[n]}return t}function Di(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 vt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Di(Object(t),!0).forEach(function(n){Jo(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Di(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Jo(i,e,t){return(e=ed(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ed(i){var e=td(i,"string");return typeof e=="symbol"?e:e+""}function td(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Gr(i){var e,{fetch:t}=i,n=ba(Bt),{eventHub:r}=Kt(),a=Rr(t),l=a.status==="success"?a.model:void 0,s=Wt(),o=f.useMemo(()=>new H(s),[s]),[d,h]=Cr(void 0,{version:1,type:"GridWidgetPlugin"}),c=f.useRef(d),p=f.useMemo(()=>{if(!(a.status!=="success"||c.current===void 0))return vt(vt({},o.hydrateIrisGridState(a.model,c.current)),H.hydrateGridState(a.model,c.current))},[a,o]),v=f.useMemo(()=>ln.makeMemoizedCombinedGridStateDehydrator(),[]),g=f.useCallback((R,A)=>{if(!(a.status!=="success"||R==null||A==null)){var q=v(a.model,R,A);h(q)}},[a,h,v]),C=Ar((e=l==null?void 0:l.columns)!==null&&e!==void 0?e:null,l!=null&&ke(l)?l.table:void 0),m=f.useRef(null),b=Ur(a.status==="success"?a.model:null,m.current),{alwaysFetchColumns:y}=b,S=Yo(b,Zo),P=f.useCallback(()=>{m.current!=null&&m.current.clearAllFilters()},[]);$e(r,Me.CLEAR_ALL_FILTERS,P);var[w,T]=f.useState([]),{Plugin:L,customFilters:M,alwaysFetchColumns:D,onContextMenu:E}=Vr({model:l,irisGridRef:m,irisGridUtils:o,selectedRanges:w}),j=f.useMemo(()=>{var R=new Set([...y,...D]);return[...R]},[y,D]);return a.status==="loading"?u.jsx(St,{isLoading:!0,"data-testid":"grid-widget-plugin-loading"}):a.status==="error"?u.jsx(St,{"data-testid":"grid-widget-plugin-loading-error",errorMessage:ar(a.error),isLoading:!1}):(k(l,"Model should be defined when fetch is successful"),u.jsx(mn,vt(vt(vt({ref:m,model:l,settings:n,onStateChange:g,onSelectionChanged:T,onContextMenu:E,inputFilters:C,customFilters:M},S),{},{alwaysFetchColumns:j},p),{},{children:L})))}var nd={name:"IrisGridPanel",title:"Table",type:xe.WIDGET_PLUGIN,component:Gr,panelComponent:In,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:wl};function Mi(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 Oe(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mi(Object(t),!0).forEach(function(n){id(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Mi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function id(i,e,t){return(e=rd(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function rd(i){var e=ad(i,"string");return typeof e=="symbol"?e:e+""}function ad(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Hr(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function ki(i){var e=i;return Hr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function Li(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var Oi=B.module("LinkerUtils");class Ue{static isLinkValid(e,t,n){if(e.panelId==null||t.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return Oi.debug2("Incompatible panel ids",e,t,n),!1;var{columnType:r}=e,{columnType:a}=t,l=a===null||z.isCompatibleType(r,a);return l?!0:(Oi.debug2("Incompatible type",r,a),!1)}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?r.push(Oe(Oe({},a),{},{id:he(),start:Oe(Oe({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&r.push(Oe(Oe({},a),{},{id:he(),end:Oe(Oe({},a.end),{},{panelId:n})}))}),r}}function Br(i,e,t){return(e=ld(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ld(i){var e=sd(i,"string");return typeof e=="symbol"?e:e+""}function sd(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var od=B.module("LinkerLink"),Ni=.015,ji=1.5,Wr=12,Kr=12,Ii=2,xt=Math.sqrt((Kr*.5)**2+Wr**2),xi=Math.asin(Kr*.5/Wr),_i=15,Ne=Math.PI*.5;class Qe extends f.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(z.isNumberType(e)||z.isCharType(e))return jl(t);if(z.isTextType(e))return Il(t);if(z.isDateType(e))return xl(t);if(z.isBooleanType(e)){if(t===qe.eq)return"is equal to";if(t===qe.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return od.warn(n),""}}constructor(e){super(e),Br(this,"getOperators",O((t,n)=>{var{onOperatorChanged:r}=this.props,a=z.getFilterTypes(n);return z.isBooleanType(n)&&(a=[qe.eq,qe.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=z.getFilterOperatorString(l),[{title:Qe.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>r(t,l),order:s}]})})),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:l,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,p=Math.sqrt((r-l)**2+(a-s)**2),v=Math.atan2(s-a,l-r),g=Math.sin(v),C=Math.cos(v)+2,m=window.innerWidth,b=window.innerHeight,y=0,S=0,P=Math.max(y,Math.min(r+(l-r)/2+g*(p*Ni)**ji,m)),w=Math.max(S,Math.min(a+(s-a)/2+C*(p*Ni)**ji,b)),T="M ".concat(r," ").concat(a," Q ").concat(P," ").concat(w," ").concat(l," ").concat(s),L="M ".concat(y," ").concat(S," L ").concat(y," ").concat(b," L ").concat(m," ").concat(b," L ").concat(m," ").concat(S,` z
7
7
  `).concat(Qe.makeCirclePath(r,a,_i),`
8
- `).concat(Qe.makeCirclePath(l,s,_i)),M="link-select-clip-".concat(o),D=Math.atan2(s-w,l-P),E=D-xi+Math.PI,j=D+xi+Math.PI,R=l+Math.cos(D)*Ii,A=s+Math.sin(D)*Ii,q=R+Math.cos(E)*xt,Se=A+Math.sin(E)*xt,_e=R+Math.cos(j)*xt,Re=A+Math.sin(j)*xt,re="".concat(R,",").concat(A," ").concat(q,",").concat(Se," ").concat(_e,",").concat(Re),He=.25*r+.5*P+.25*l,Be=.25*a+.5*w+.25*s,dt=P-r+(l-P),ut=w-a+(s-w),ee=ut/dt,ht=20,te=ht/Math.sqrt(1+ee**2),me=te*ee,ye=te*-1,Pe=me*-1;Number.isFinite(ee)?ee>0?(te*=-1,me*=-1,ye*=-1,Pe*=-1,ye-=50-10*(Math.abs(v)%Ne),Pe+=10*(Math.abs(v)%Ne),te-=50-10*(Math.abs(v)%Ne),me+=10*(Math.abs(v)%Ne)):ee<0?(ye+=10*(Math.abs(v)%Ne),Pe+=10*(Math.abs(v)%Ne),te+=10*(Math.abs(v)%Ne),me+=10*(Math.abs(v)%Ne)):(ye=15,Pe=10,te=-25,me=10):(ye=10,Pe=5,te=10,me=-35);var We="";t!==void 0&&(t==="startsWith"?We="a*":t==="endsWith"?We="*z":We=z.getFilterOperatorString(t));var Qt=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:ue(e,{hovering:c}),children:[u.jsx("clipPath",{id:M,children:u.jsx("path",{d:L,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:T,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(M,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:T}),u.jsx("path",{className:"link-foreground",d:T}),u.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:re})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[Qt&&u.jsx(N,{kind:"primary",className:"btn-fab btn-operator",style:{top:Be+(ee>=0?me:Pe),left:He+(ee>=0?te:ye)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:We}),u.jsx(de,{icon:bl,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(ja,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx(N,{kind:"primary",className:"btn-fab btn-delete",style:{top:Be+(ee<0?me:Pe),left:He+(ee<0?te:ye)},onClick:this.handleDelete,icon:vn,tooltip:"Delete"})]})]})}}Br(Qe,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});function Ri(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 Ai(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ri(Object(t),!0).forEach(function(n){xn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ri(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function xn(i,e,t){return(e=id(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function id(i){var e=rd(i,"string");return typeof e=="symbol"?e:e+""}function rd(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var nn=B.module("LinkerOverlayContent");class zr extends f.Component{constructor(e){super(e),xn(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=ie.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){nn.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,linkTargetPropMap:n}=this.props,{panelId:r,columnName:a}=e,l=r,s=n.get(r);if(s!=null){l=s.panelId;var o=s.getCoordinates(a);if(o!=null)return o}var d=t.getOpenedPanelById(l);if(s==null&&d!=null){if(!Hr(d))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(l));try{var h=d.getCoordinateForColumn(a);if(h!=null)return h}catch{nn.error("Could not get coordinate for column",a,d)}}var c=t.getContainerByPanelId(l);if(c==null)throw new Error("Unable to find panel container for id: ".concat(l));return F.getTabPoint(c)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:r}=this.props,a=n.map(l=>l.id===e?Ai(Ai({},l),{},{operator:t}):l);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=ze(e.x,0,window.innerWidth-t.width),r=ze(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=ze(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),l=ze(window.innerHeight-(e.clientY+r.height+t.y),0,window.innerHeight-r.height);this.setState({dialog:{x:a,y:l}})}}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:l,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:h,isDragging:c,mode:p}=this.state,v=t.map(g=>{try{var C,m,{id:b,type:y,isReversed:S,start:P,end:w,operator:T}=g,L=P.columnType,[M,D]=this.getPointFromLinkPoint(P),E=(C=d==null?void 0:d.x)!==null&&C!==void 0?C:M,j=(m=d==null?void 0:d.y)!==null&&m!==void 0?m:D;if(w!=null&&([E,j]=this.getPointFromLinkPoint(w)),S!=null&&S){var[R,A]=[M,D];[M,D]=[E,j],[E,j]=[R,A]}var q=ue("linker-link",{disabled:e},{"link-filter-source":y==="filterSource"},{"link-invalid":y==="invalid"},{interactive:g.end==null},{"link-is-selected":n.has(b)},{"danger-delete":p==="delete"});return{x1:M,y1:D,x2:E,y2:j,id:b,className:q,operator:T,startColumnType:L,type:y}}catch(Se){return nn.warn("Unable to get point for link",g,Se),null}}).filter(g=>g!=null);return u.jsxs("div",{className:ue("linker-overlay",{"danger-delete":p==="delete"}),children:[v.map(g=>{var{x1:C,y1:m,x2:b,y2:y,id:S,className:P,operator:w,startColumnType:T,type:L}=g;return u.jsx(Qe,{className:P,id:S,x1:C,y1:m,x2:b,y2:y,onClick:a,onDelete:l,isSelected:n.has(S),operator:w??qe.eq,startColumnType:T,type:L,onOperatorChanged:this.handleOperatorChanged},S)}),u.jsxs("div",{className:ue("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:[u.jsx(N,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:Cl,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(Ia,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:r}),u.jsxs("div",{className:"toast-footer",children:[u.jsx(N,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx(N,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(zi,{actions:[{action:this.handleEscapePressed,shortcut:xa.LINKER_CLOSE,isGlobal:!0}]})]})}}xn(zr,"defaultProps",{disabled:"false"});function Ui(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 $i(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ui(Object(t),!0).forEach(function(n){Rt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ui(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Rt(i,e,t){return(e=ad(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ad(i){var e=ld(i,"string");return typeof e=="symbol"?e:e+""}function ld(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var K=B.module("Linker"),sd=(i,e)=>({activeTool:hn(i),dh:Qi(i),isolatedLinkerPanelId:Ht(i,e.localDashboardId),links:st(i,e.localDashboardId),timeZone:tr(i)}),od=Ge(sd,{setActiveTool:qi,setDashboardLinks:dr,addDashboardLinks:or,deleteDashboardLinks:sr,setDashboardIsolatedLinkerPanelId:un,setDashboardColumnSelectionValidator:lr});class dd extends f.Component{constructor(e){super(e),Rt(this,"linkTargetPropMap",new Map),Rt(this,"removerFns",[]),Rt(this,"getCachedLinks",O((t,n,r)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),r!==void 0?a.filter(l=>{var s,o;return(l==null||(s=l.start)===null||s===void 0?void 0:s.panelId)===r||(l==null||(o=l.end)===null||o===void 0?void 0:o.panelId)===r||(l==null?void 0:l.end)==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.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.handleLinkPointSelected=this.handleLinkPointSelected.bind(this),this.handleTargetRegistered=this.handleTargetRegistered.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===pe.DEFAULT&&this.reset())}componentDidCatch(e,t){K.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(Z.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(Z.DATA_SELECTED,this.handleUpdateValues),t.on(Z.STATE_CHANGED,this.handleStateChange),t.on(et.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(ne.CLONED,this.handlePanelCloned),this.removerFns=[vs(t,this.handleColumnsChanged),bs(t,this.handleLinkPointSelected),Cs(t,this.handleUpdateValues),Ss(t,this.handleTargetRegistered)],t.on(ne.CLOSE,this.handlePanelClosed),t.on(ne.CLOSED,this.handlePanelClosed),t.on(ne.DRAGGING,this.handlePanelDragging),t.on(ne.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(Z.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(Z.DATA_SELECTED,this.handleUpdateValues),t.off(Z.STATE_CHANGED,this.handleStateChange),t.off(et.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(ne.CLONED,this.handlePanelCloned),t.off(ne.CLOSE,this.handlePanelClosed),t.off(ne.CLOSED,this.handlePanelClosed),t.off(ne.DRAGGING,this.handlePanelDragging),t.off(ne.DROPPED,this.handlePanelDropped),this.removerFns.forEach(n=>n()),this.removerFns=[]}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(pe.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(pe.DEFAULT)}handleChartColumnSelect(e,t){var n=F.getIdFromPanel(e);k(n),this.columnSelected(n,t,"chartLink",!0)}handleColumnsChanged(e,t){K.debug("handleColumnsChanged",e,t);var{links:n}=this.props;if(e==null){K.error("Invalid filter columns source id",e);return}if(t==null){this.deleteLinksForPanelId(e);return}var r=n.filter(a=>{var{start:l,end:s}=a;return l.panelId===e&&Ue.findColumn(t,l)==null||s!=null&&s.panelId===e&&Ue.findColumn(t,s)==null});this.deleteLinks(r)}handleGridColumnSelect(e,t){if(!Li(t)){K.debug2("Column is not filterable");return}var n=F.getIdFromPanel(e);k(n),this.columnSelected(n,t,"tableLink")}handleLinkPointSelected(e,t,n){var{type:r}=n,a=r==="filterSource",l=r==="chartLink"||r==="filterSource";if(!this.isOverlayShown()&&e!=null&&a){var{links:s,localDashboardId:o,setActiveTool:d,setDashboardIsolatedLinkerPanelId:h}=this.props,c=s.filter(p=>{var v,g;return((v=p.start)===null||v===void 0?void 0:v.panelId)===e||((g=p.end)===null||g===void 0?void 0:g.panelId)===e});d(pe.LINKER),h(o,e),c.length===0&&this.columnSelected(e,t,r,l,e);return}this.columnSelected(e,t,r,l)}columnSelected(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=arguments.length>4?arguments[4]:void 0;if(!(a===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:l}=this.props,{linkInProgress:s}=this.state,{name:o,type:d}=t;if(s==null||s.start==null){var h={id:he(),start:{panelId:e,columnName:o,columnType:d},type:"invalid",isReversed:r};r&&(h.endType=n),K.debug("starting link",h),this.setState({linkInProgress:h})}else{var c,{links:p}=this.props,{start:v,id:g,isReversed:C=!1}=s,m={panelId:e,columnName:o,columnType:d},b=!(C&&r)&&Ue.isLinkValid(C?m:v,C?v:m,a??l);if(!b){K.debug("Ignore invalid link connection",s,m);return}var y=(c=s.endType)!==null&&c!==void 0?c:n;switch(y){case"invalid":K.debug("Ignore invalid link connection",s,m);return;case"filterSource":{var S=C!==void 0&&C?v.panelId:m.panelId,P=p.filter(D=>{var{end:E}=D;return(E==null?void 0:E.panelId)===S});this.deleteLinks(P);break}case"chartLink":{var w=C===!0?v:m,T=C===!0?m:v;K.debug("creating chartlink",{existingLinkEnd:w,start:v,end:m});var L=p.filter(D=>{var{end:E,start:j}=D;return(j==null?void 0:j.panelId)===T.panelId&&(E==null?void 0:E.panelId)===w.panelId&&(E==null?void 0:E.columnName)===w.columnName&&(E==null?void 0:E.columnType)===w.columnType});this.deleteLinks(L);break}}var M={start:C?m:v,end:C?v:m,id:g,type:y,operator:qe.eq};K.info("creating link",M),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([M])})}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var n,{end:r}=e,{panelId:a,columnName:l,columnType:s}=r,{linkTargetPropMap:o}=this,d=(n=o.get(a))===null||n===void 0?void 0:n.unsetFilterValue;if(d){d(l,s);return}var h=t.getOpenedPanelById(a);h?ki(h)?h.unsetFilterValue(l,s):K.debug("endPanel.unsetFilterValue not implemented",h):K.debug("endPanel no longer exists or target is not a panel. Ignoring unsetFilterValue",a)}}setPanelFilterMap(e,t){var n;K.debug("Set filter data for panel:",e,t);var{panelManager:r}=this.props,{linkTargetPropMap:a}=this,l=(n=a.get(e))===null||n===void 0?void 0:n.setFilterValues;if(l){l(t);return}var s=r.getOpenedPanelById(e);s?ki(s)?s.setFilterMap(t):K.debug("panel.setFilterMap not implemented",e,s):K.debug("panel no longer exists or target is not a panel. 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(l=>this.unsetFilterValueForLink(l)),t){var{setDashboardLinks:r}=this.props;r(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(l=>{var{id:s}=l;return s}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(r=>{var a,l;return(r==null||(a=r.start)===null||a===void 0?void 0:a.panelId)===t||(r==null||(l=r.end)===null||l===void 0?void 0:l.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]):K.error("Unable to find link to delete",e)}handleTargetRegistered(e,t){var{linkTargetPropMap:n}=this;t==null?n.delete(e):n.set(e,t)}handleUpdateValues(e,t){for(var{dh:n,links:r,timeZone:a}=this.props,l=new Map,s=0;s<r.length;s+=1){var{start:o,end:d,operator:h}=r[s];if(o.panelId===e&&d!=null){var c,p,{panelId:v,columnName:g,columnType:C}=d,m=l.get(v),b=m??new Map,y=(c=(p=b.get(g))===null||p===void 0?void 0:p.filterList)!==null&&c!==void 0?c:[],{visibleIndex:S,isExpandable:P,isGrouped:w}=t[o.columnName],{value:T}=t[o.columnName],L="".concat(T);if(T===null&&P&&w&&(T=void 0),C!=null&&z.isDateType(C)){var M=new Yi(n,{timeZone:a,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:_a.FULL_DATE_FORMAT});L=M.format(T)}y.push({operator:h,text:L,value:T,startColumnIndex:S}),b.set(g,{columnType:C,filterList:y}),l.set(v,b)}}l.forEach((D,E)=>{this.setPanelFilterMap(E,D)})}handlePanelCloned(e,t){var{links:n}=this.props,r=F.getIdFromPanel(e),a=t.id;if(r!=null){var l=Ue.cloneLinksForPanel(n,r,a);this.addLinks(l)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:l}=r;if(a.panelId===e||(l==null?void 0:l.panelId)===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){K.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:l,id:s}=r;(a.panelId===e||(l==null?void 0:l.panelId)===e)&&this.handleLinkDeleted(s)}}isOverlayShown(){var{activeTool:e}=this.props;return e===pe.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case pe.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:$i($i({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t,n){var r,{linkInProgress:a}=this.state,{isolatedLinkerPanelId:l}=this.props,s=typeof e=="string"?n.type==="filterSource"||n.type==="chartLink":F.getComponentNameFromPanel(e)!=="IrisGridPanel";if(t==null)return(a==null?void 0:a.start)!=null&&this.updateLinkInProgressType("invalid"),!1;if(!Li(t))return K.debug2("Column is not filterable",t.description),(a==null?void 0:a.start)!=null&&this.updateLinkInProgressType("invalid"),!1;if((a==null?void 0:a.start)==null)return!0;var{isReversed:o=!1,start:d}=a,h=typeof e=="string"?e:F.getIdFromPanel(e);if(h==null)return!1;if(o&&s)return this.updateLinkInProgressType("invalid"),!1;var c={panelId:h,columnName:t.name,columnType:t.type},p=o?Ue.isLinkValid(c,d,l):Ue.isLinkValid(d,c,l);return this.updateLinkInProgressType(p?(r=a.endType)!==null&&r!==void 0?r:n.type:"invalid"),p}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:r,selectedIds:a,isDraggingPanel:l}=this.state,s=this.isOverlayShown(),o=r!=null&&r.start!=null,d=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 l?null:u.jsx(rn,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(zr,{disabled:o,panelManager:n,links:this.getCachedLinks(e,r,t),selectedIds:a,messageText:d,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel,linkTargetPropMap:this.linkTargetPropMap})})}}var ud=od(dd);function qr(i){Tt(i);var{id:e,layout:t,panelManager:n}=i;return u.jsx(ud,{layout:t,localDashboardId:e,panelManager:n})}var hd={name:"LinkerPlugin",type:xe.DASHBOARD_PLUGIN,component:qr};function Xr(i){Tt(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,a=f.useCallback(function(){var{title:l="",metadata:s={},id:o=he(),focusElement:d=F.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:c=void 0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(ft.COMPONENT),v=p.map(y=>{var S;return(S=y.title)!==null&&S!==void 0?S:""}),g=l!=null&&l!==""?l:Ce.getNewMarkdownTitle(v),C=null,m={type:"react-component",component:ft.COMPONENT,props:{id:o,metadata:s,panelState:{content:C},localDashboardId:e},title:g,id:o},{root:b}=t;F.openComponent({root:b,config:m,focusElement:d,createNewStack:h,dragEvent:c})},[e,t,n]);return f.useEffect(function(){var s=[r(ft.COMPONENT,ft)];return()=>{s.forEach(o=>o())}},[r]),$e(t.eventHub,ur.OPEN,a),null}var cd={name:"MarkdownPlugin",type:xe.DASHBOARD_PLUGIN,component:Xr};function Vi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Gi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vi(Object(t),!0).forEach(function(n){pd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Vi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function pd(i,e,t){return(e=vd(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vd(i){var e=md(i,"string");return typeof e=="symbol"?e:e+""}function md(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var _n=f.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=_r(n,t,r);return u.jsx(Yt,Gi(Gi({ref:e},i),a))});_n.displayName="PandasPanelPlugin";function Zr(i){var{fetch:e}=i,t=Rr(e);if(t.status==="loading")return u.jsx(St,{isLoading:!0,"data-testid":"pandas-widget-plugin-loading"});if(t.status==="error")return u.jsx(St,{errorMessage:ar(t.error),isLoading:!1,"data-testid":"pandas-widget-plugin-loading-error"});var{model:n,reload:r}=t;return u.jsx(mn,{model:n,children:u.jsx(Or,{onClick:r})})}var fd={name:"PandasPanel",title:"Pandas",type:xe.WIDGET_PLUGIN,component:Zr,panelComponent:_n,supportedTypes:"pandas.DataFrame",icon:Sl};function Hi(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 Te(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hi(Object(t),!0).forEach(function(n){gd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Hi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function gd(i,e,t){return(e=bd(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bd(i){var e=Cd(i,"string");return typeof e=="symbol"?e:e+""}function Cd(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var je=B.module("WidgetLoaderPlugin");function Sd(i){var e;function t(n,r){var a,l,s=i.component,{metadata:o}=n,d=Te(Te({},o),{},{type:(a=o==null?void 0:o.type)!==null&&a!==void 0?a:i.type,name:(l=o==null?void 0:o.name)!==null&&l!==void 0?l:"Widget"}),h=Ga(s),c="widget-loader-".concat(d.type);return u.jsx(Dt,Te(Te({descriptor:d,className:c},n),{},{children:h?u.jsx(s,Te(Te({},n),{},{ref:r})):u.jsx(s,Te({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),f.forwardRef(t)}function Yr(i){var e=nr(),t=f.useMemo(()=>{var s=new Map;e.forEach(d=>{var h=Ra(d);!Aa(d)&&!h||[d.supportedTypes].flat().forEach(c=>{if(!(c==null||c==="")){var p=s.get(c);h?p!=null?(p.middleware.push(d),je.debug("Adding middleware ".concat(d.name," to chain for type ").concat(c))):(s.set(c,{basePlugin:null,middleware:[d]}),je.debug("Creating pending middleware chain for type ".concat(c," with ").concat(d.name))):(p!=null?(p.basePlugin!=null&&je.warn("Multiple WidgetPlugins handling type ".concat(c,". ")+"Replacing ".concat(p.basePlugin.name," with ").concat(d.name," as base plugin")),p.basePlugin=d):s.set(c,{basePlugin:d,middleware:[]}),je.debug("Set base plugin ".concat(d.name," for type ").concat(c)))}})});var o=new Map;return s.forEach((d,h)=>{d.basePlugin!=null?o.set(h,d):je.warn("No base plugin found for type ".concat(h,", middleware will not be applied"))}),o},[e]);Tt(i);var{id:n,layout:r,registerComponent:a}=i,l=f.useCallback(s=>{var o,{dragEvent:d,panelId:h=he(),fetch:c,widget:p}=s,{type:v}=p,g=v!=null?t.get(v):null;if(g!=null){var C=(o=p.name)!==null&&o!==void 0?o:v,m={localDashboardId:n,metadata:p,fetch:c},b={type:"react-component",component:g.basePlugin.name,props:m,title:C,id:h},{root:y}=r;F.openComponent({root:y,config:b,dragEvent:d})}},[n,r,t]);return f.useEffect(()=>{var s=new Map;t.forEach((d,h)=>{if(!s.has(d.basePlugin.name))s.set(d.basePlugin.name,{basePlugin:d.basePlugin,middleware:[...d.middleware]});else{var c=s.get(d.basePlugin.name);c!=null&&d.middleware.forEach(p=>{c.middleware.includes(p)||c.middleware.push(p)})}}),je.debug("Registering widget components",[...s.entries()].map(d=>{var[h,c]=d;return{plugin:h,middleware:c.middleware.map(p=>p.name),hasPanel:c.basePlugin.panelComponent!=null}}));var o=[...s.values()].map(d=>{var{basePlugin:h,middleware:c}=d,{panelComponent:p}=h;if(p==null){je.debug("Chaining widget components for ".concat(h.name," (no panel component, using default wrapper)"));var v=Ua(h.component,c),g=Te(Te({},h),{},{component:v});return a(h.name,Sd(g))}je.debug("Chaining panel components for ".concat(h.name," (has custom panel component)"));var C=$a(p,c);return a(h.name,C)});return()=>{o.forEach(d=>d())}},[a,t]),Va(r.eventHub,l),null}var yd={name:"WidgetLoaderPlugin",type:xe.DASHBOARD_PLUGIN,component:Yr},Pd=I.shape({state:I.shape({panelState:I.shape({})})}),wd=I.shape({panelId:I.string.isRequired,columnName:I.string.isRequired,columnType:I.string.isRequired}),Bi=I.shape({panelId:I.string.isRequired,columnName:I.string.isRequired}),Qr=I.shape({start:Bi,end:Bi,id:I.string,isReversed:I.bool}),Ed=I.arrayOf(Qr),Fd=I.shape({name:I.string.isRequired,operateAs:I.string.isRequired,groups:I.arrayOf(I.string).isRequired,permissions:I.shape({canUsePanels:I.bool.isRequired,canCopy:I.bool.isRequired,canDownloadCsv:I.bool.isRequired,canLogout:I.bool.isRequired}).isRequired}),Td=Object.freeze({LinkPoint:wd,Link:Qr,Links:Ed,Panel:Pd,User:Fd}),Dd=(i,e)=>i[e]===null?null:I.bool,Md=(i,e)=>i[e]===null?null:I.string,kd=Object.freeze({nullableBoolean:Dd,nullableString:Md});const Rd=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:Ir,ChartBuilderPluginConfig:Ro,ChartEvent:et,ChartPanel:Dn,ChartPanelPlugin:Nn,ChartPluginConfig:xo,ChartWidgetPlugin:jr,CommandHistoryPanel:Ha,CommonPropTypes:kd,ConsoleEvent:Ba,ConsolePanel:Wa,ConsolePlugin:Ka,ControlType:za,CorePanel:Mo,DropdownFilterPanel:Ze,FileExplorerPanel:qa,FilterPlugin:xr,FilterPluginConfig:Ao,FilterSetManager:Pt,FilterSetManagerPanel:_t,GridPanelPlugin:In,GridPluginConfig:Zo,GridWidgetPlugin:Gr,InputFilterEvent:Me,InputFilterPanel:Ye,IrisGridEvent:Z,IrisGridPanel:Mn,LinkerPlugin:qr,LinkerPluginConfig:hd,LinkerUtils:Ue,LogPanel:Xa,MarkdownEvent:ur,MarkdownPanel:ft,MarkdownPlugin:Xr,MarkdownPluginConfig:cd,MockFileStorage:Do,NotebookEvent:Za,NotebookPanel:Ya,PandasEvent:bn,PandasPanel:Yt,PandasPanelPlugin:_n,PandasPluginConfig:fd,PandasWidgetPlugin:Zr,Panel:ko,TabEvent:ds,ToolType:pe,UIPropTypes:Td,WidgetLoaderPlugin:Yr,WidgetLoaderPluginConfig:yd,WidgetPanel:Dt,WidgetPanelTooltip:Cn,addDashboardLinks:or,deleteDashboardLinks:sr,getColumnSelectionValidatorForDashboard:Ft,getColumnsForDashboard:cn,getDashboardConnection:Qa,getDashboardConsoleSettings:Ja,getDashboardSessionWrapper:el,getFilterSetsForDashboard:er,getInputFiltersForDashboard:Et,getIsolatedLinkerPanelIdForDashboard:Ht,getLinksForDashboard:st,getTableMapForDashboard:Gt,isChartPanelDehydratedProps:Er,isChartPanelFigureMetadata:Pr,isChartPanelTableMetadata:Xe,isGLChartPanelState:wr,isIrisGridPanelMetadata:Mr,isLegacyIrisGridPanelMetadata:Dr,setDashboardColumnSelectionValidator:lr,setDashboardConnection:tl,setDashboardConsoleSettings:nl,setDashboardFilterSets:Ji,setDashboardIsolatedLinkerPanelId:un,setDashboardLinks:dr,setDashboardSessionWrapper:il,useConfigureRuff:rl,useDashboardColumnFilters:Ar,useGridLinker:Ur,useLoadTablePlugin:jn,useTablePlugin:Vr},Symbol.toStringTag,{value:"Module"}));export{fn as C,mr as D,yt as F,ql as I,Je as a,ln as b,fr as c,Wl as d,Rl as e,Kt as f,Cr as g,Rd as h,Xn as i,Nl as u};
9
- //# sourceMappingURL=index-B5GSM_Gf.js.map
8
+ `).concat(Qe.makeCirclePath(l,s,_i)),M="link-select-clip-".concat(o),D=Math.atan2(s-w,l-P),E=D-xi+Math.PI,j=D+xi+Math.PI,R=l+Math.cos(D)*Ii,A=s+Math.sin(D)*Ii,q=R+Math.cos(E)*xt,Se=A+Math.sin(E)*xt,_e=R+Math.cos(j)*xt,Re=A+Math.sin(j)*xt,re="".concat(R,",").concat(A," ").concat(q,",").concat(Se," ").concat(_e,",").concat(Re),He=.25*r+.5*P+.25*l,Be=.25*a+.5*w+.25*s,dt=P-r+(l-P),ut=w-a+(s-w),ee=ut/dt,ht=20,te=ht/Math.sqrt(1+ee**2),me=te*ee,ye=te*-1,Pe=me*-1;Number.isFinite(ee)?ee>0?(te*=-1,me*=-1,ye*=-1,Pe*=-1,ye-=50-10*(Math.abs(v)%Ne),Pe+=10*(Math.abs(v)%Ne),te-=50-10*(Math.abs(v)%Ne),me+=10*(Math.abs(v)%Ne)):ee<0?(ye+=10*(Math.abs(v)%Ne),Pe+=10*(Math.abs(v)%Ne),te+=10*(Math.abs(v)%Ne),me+=10*(Math.abs(v)%Ne)):(ye=15,Pe=10,te=-25,me=10):(ye=10,Pe=5,te=10,me=-35);var We="";t!==void 0&&(t==="startsWith"?We="a*":t==="endsWith"?We="*z":We=z.getFilterOperatorString(t));var Qt=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:ue(e,{hovering:c}),children:[u.jsx("clipPath",{id:M,children:u.jsx("path",{d:L,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:T,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(M,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:T}),u.jsx("path",{className:"link-foreground",d:T}),u.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:re})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[Qt&&u.jsx(N,{kind:"primary",className:"btn-fab btn-operator",style:{top:Be+(ee>=0?me:Pe),left:He+(ee>=0?te:ye)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:We}),u.jsx(de,{icon:El,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(ja,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx(N,{kind:"primary",className:"btn-fab btn-delete",style:{top:Be+(ee<0?me:Pe),left:He+(ee<0?te:ye)},onClick:this.handleDelete,icon:vn,tooltip:"Delete"})]})]})}}Br(Qe,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});function Ri(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 Ai(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ri(Object(t),!0).forEach(function(n){xn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ri(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function xn(i,e,t){return(e=dd(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function dd(i){var e=ud(i,"string");return typeof e=="symbol"?e:e+""}function ud(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var nn=B.module("LinkerOverlayContent");class zr extends f.Component{constructor(e){super(e),xn(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=ie.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){nn.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,linkTargetPropMap:n}=this.props,{panelId:r,columnName:a}=e,l=r,s=n.get(r);if(s!=null){l=s.panelId;var o=s.getCoordinates(a);if(o!=null)return o}var d=t.getOpenedPanelById(l);if(s==null&&d!=null){if(!Hr(d))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(l));try{var h=d.getCoordinateForColumn(a);if(h!=null)return h}catch{nn.error("Could not get coordinate for column",a,d)}}var c=t.getContainerByPanelId(l);if(c==null)throw new Error("Unable to find panel container for id: ".concat(l));return F.getTabPoint(c)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:r}=this.props,a=n.map(l=>l.id===e?Ai(Ai({},l),{},{operator:t}):l);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=ze(e.x,0,window.innerWidth-t.width),r=ze(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=ze(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),l=ze(window.innerHeight-(e.clientY+r.height+t.y),0,window.innerHeight-r.height);this.setState({dialog:{x:a,y:l}})}}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:l,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:h,isDragging:c,mode:p}=this.state,v=t.map(g=>{try{var C,m,{id:b,type:y,isReversed:S,start:P,end:w,operator:T}=g,L=P.columnType,[M,D]=this.getPointFromLinkPoint(P),E=(C=d==null?void 0:d.x)!==null&&C!==void 0?C:M,j=(m=d==null?void 0:d.y)!==null&&m!==void 0?m:D;if(w!=null&&([E,j]=this.getPointFromLinkPoint(w)),S!=null&&S){var[R,A]=[M,D];[M,D]=[E,j],[E,j]=[R,A]}var q=ue("linker-link",{disabled:e},{"link-filter-source":y==="filterSource"},{"link-invalid":y==="invalid"},{interactive:g.end==null},{"link-is-selected":n.has(b)},{"danger-delete":p==="delete"});return{x1:M,y1:D,x2:E,y2:j,id:b,className:q,operator:T,startColumnType:L,type:y}}catch(Se){return nn.warn("Unable to get point for link",g,Se),null}}).filter(g=>g!=null);return u.jsxs("div",{className:ue("linker-overlay",{"danger-delete":p==="delete"}),children:[v.map(g=>{var{x1:C,y1:m,x2:b,y2:y,id:S,className:P,operator:w,startColumnType:T,type:L}=g;return u.jsx(Qe,{className:P,id:S,x1:C,y1:m,x2:b,y2:y,onClick:a,onDelete:l,isSelected:n.has(S),operator:w??qe.eq,startColumnType:T,type:L,onOperatorChanged:this.handleOperatorChanged},S)}),u.jsxs("div",{className:ue("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:[u.jsx(N,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:Fl,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(Ia,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:r}),u.jsxs("div",{className:"toast-footer",children:[u.jsx(N,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx(N,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(zi,{actions:[{action:this.handleEscapePressed,shortcut:xa.LINKER_CLOSE,isGlobal:!0}]})]})}}xn(zr,"defaultProps",{disabled:"false"});function Ui(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 $i(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ui(Object(t),!0).forEach(function(n){Rt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ui(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Rt(i,e,t){return(e=hd(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hd(i){var e=cd(i,"string");return typeof e=="symbol"?e:e+""}function cd(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var K=B.module("Linker"),pd=(i,e)=>({activeTool:hn(i),dh:Qi(i),isolatedLinkerPanelId:Ht(i,e.localDashboardId),links:st(i,e.localDashboardId),timeZone:tr(i)}),vd=Ge(pd,{setActiveTool:qi,setDashboardLinks:dr,addDashboardLinks:or,deleteDashboardLinks:sr,setDashboardIsolatedLinkerPanelId:un,setDashboardColumnSelectionValidator:lr});class md extends f.Component{constructor(e){super(e),Rt(this,"linkTargetPropMap",new Map),Rt(this,"removerFns",[]),Rt(this,"getCachedLinks",O((t,n,r)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),r!==void 0?a.filter(l=>{var s,o;return(l==null||(s=l.start)===null||s===void 0?void 0:s.panelId)===r||(l==null||(o=l.end)===null||o===void 0?void 0:o.panelId)===r||(l==null?void 0:l.end)==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.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.handleLinkPointSelected=this.handleLinkPointSelected.bind(this),this.handleTargetRegistered=this.handleTargetRegistered.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===pe.DEFAULT&&this.reset())}componentDidCatch(e,t){K.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(Z.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(Z.DATA_SELECTED,this.handleUpdateValues),t.on(Z.STATE_CHANGED,this.handleStateChange),t.on(et.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(ne.CLONED,this.handlePanelCloned),this.removerFns=[Ss(t,this.handleColumnsChanged),Es(t,this.handleLinkPointSelected),Fs(t,this.handleUpdateValues),Ts(t,this.handleTargetRegistered)],t.on(ne.CLOSE,this.handlePanelClosed),t.on(ne.CLOSED,this.handlePanelClosed),t.on(ne.DRAGGING,this.handlePanelDragging),t.on(ne.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(Z.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(Z.DATA_SELECTED,this.handleUpdateValues),t.off(Z.STATE_CHANGED,this.handleStateChange),t.off(et.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(ne.CLONED,this.handlePanelCloned),t.off(ne.CLOSE,this.handlePanelClosed),t.off(ne.CLOSED,this.handlePanelClosed),t.off(ne.DRAGGING,this.handlePanelDragging),t.off(ne.DROPPED,this.handlePanelDropped),this.removerFns.forEach(n=>n()),this.removerFns=[]}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(pe.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(pe.DEFAULT)}handleChartColumnSelect(e,t){var n=F.getIdFromPanel(e);k(n),this.columnSelected(n,t,"chartLink",!0)}handleColumnsChanged(e,t){K.debug("handleColumnsChanged",e,t);var{links:n}=this.props;if(e==null){K.error("Invalid filter columns source id",e);return}if(t==null){this.deleteLinksForPanelId(e);return}var r=n.filter(a=>{var{start:l,end:s}=a;return l.panelId===e&&Ue.findColumn(t,l)==null||s!=null&&s.panelId===e&&Ue.findColumn(t,s)==null});this.deleteLinks(r)}handleGridColumnSelect(e,t){if(!Li(t)){K.debug2("Column is not filterable");return}var n=F.getIdFromPanel(e);k(n),this.columnSelected(n,t,"tableLink")}handleLinkPointSelected(e,t,n){var{type:r}=n,a=r==="filterSource",l=r==="chartLink"||r==="filterSource";if(!this.isOverlayShown()&&e!=null&&a){var{links:s,localDashboardId:o,setActiveTool:d,setDashboardIsolatedLinkerPanelId:h}=this.props,c=s.filter(p=>{var v,g;return((v=p.start)===null||v===void 0?void 0:v.panelId)===e||((g=p.end)===null||g===void 0?void 0:g.panelId)===e});d(pe.LINKER),h(o,e),c.length===0&&this.columnSelected(e,t,r,l,e);return}this.columnSelected(e,t,r,l)}columnSelected(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=arguments.length>4?arguments[4]:void 0;if(!(a===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:l}=this.props,{linkInProgress:s}=this.state,{name:o,type:d}=t;if(s==null||s.start==null){var h={id:he(),start:{panelId:e,columnName:o,columnType:d},type:"invalid",isReversed:r};r&&(h.endType=n),K.debug("starting link",h),this.setState({linkInProgress:h})}else{var c,{links:p}=this.props,{start:v,id:g,isReversed:C=!1}=s,m={panelId:e,columnName:o,columnType:d},b=!(C&&r)&&Ue.isLinkValid(C?m:v,C?v:m,a??l);if(!b){K.debug("Ignore invalid link connection",s,m);return}var y=(c=s.endType)!==null&&c!==void 0?c:n;switch(y){case"invalid":K.debug("Ignore invalid link connection",s,m);return;case"filterSource":{var S=C!==void 0&&C?v.panelId:m.panelId,P=p.filter(D=>{var{end:E}=D;return(E==null?void 0:E.panelId)===S});this.deleteLinks(P);break}case"chartLink":{var w=C===!0?v:m,T=C===!0?m:v;K.debug("creating chartlink",{existingLinkEnd:w,start:v,end:m});var L=p.filter(D=>{var{end:E,start:j}=D;return(j==null?void 0:j.panelId)===T.panelId&&(E==null?void 0:E.panelId)===w.panelId&&(E==null?void 0:E.columnName)===w.columnName&&(E==null?void 0:E.columnType)===w.columnType});this.deleteLinks(L);break}}var M={start:C?m:v,end:C?v:m,id:g,type:y,operator:qe.eq};K.info("creating link",M),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([M])})}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var n,{end:r}=e,{panelId:a,columnName:l,columnType:s}=r,{linkTargetPropMap:o}=this,d=(n=o.get(a))===null||n===void 0?void 0:n.unsetFilterValue;if(d){d(l,s);return}var h=t.getOpenedPanelById(a);h?ki(h)?h.unsetFilterValue(l,s):K.debug("endPanel.unsetFilterValue not implemented",h):K.debug("endPanel no longer exists or target is not a panel. Ignoring unsetFilterValue",a)}}setPanelFilterMap(e,t){var n;K.debug("Set filter data for panel:",e,t);var{panelManager:r}=this.props,{linkTargetPropMap:a}=this,l=(n=a.get(e))===null||n===void 0?void 0:n.setFilterValues;if(l){l(t);return}var s=r.getOpenedPanelById(e);s?ki(s)?s.setFilterMap(t):K.debug("panel.setFilterMap not implemented",e,s):K.debug("panel no longer exists or target is not a panel. 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(l=>this.unsetFilterValueForLink(l)),t){var{setDashboardLinks:r}=this.props;r(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(l=>{var{id:s}=l;return s}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(r=>{var a,l;return(r==null||(a=r.start)===null||a===void 0?void 0:a.panelId)===t||(r==null||(l=r.end)===null||l===void 0?void 0:l.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]):K.error("Unable to find link to delete",e)}handleTargetRegistered(e,t){var{linkTargetPropMap:n}=this;t==null?n.delete(e):n.set(e,t)}handleUpdateValues(e,t){for(var{dh:n,links:r,timeZone:a}=this.props,l=new Map,s=0;s<r.length;s+=1){var{start:o,end:d,operator:h}=r[s];if(o.panelId===e&&d!=null){var c,p,{panelId:v,columnName:g,columnType:C}=d,m=l.get(v),b=m??new Map,y=(c=(p=b.get(g))===null||p===void 0?void 0:p.filterList)!==null&&c!==void 0?c:[],{visibleIndex:S,isExpandable:P,isGrouped:w}=t[o.columnName],{value:T}=t[o.columnName],L="".concat(T);if(T===null&&P&&w&&(T=void 0),C!=null&&z.isDateType(C)){var M=new Yi(n,{timeZone:a,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:_a.FULL_DATE_FORMAT});L=M.format(T)}y.push({operator:h,text:L,value:T,startColumnIndex:S}),b.set(g,{columnType:C,filterList:y}),l.set(v,b)}}l.forEach((D,E)=>{this.setPanelFilterMap(E,D)})}handlePanelCloned(e,t){var{links:n}=this.props,r=F.getIdFromPanel(e),a=t.id;if(r!=null){var l=Ue.cloneLinksForPanel(n,r,a);this.addLinks(l)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:l}=r;if(a.panelId===e||(l==null?void 0:l.panelId)===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){K.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:l,id:s}=r;(a.panelId===e||(l==null?void 0:l.panelId)===e)&&this.handleLinkDeleted(s)}}isOverlayShown(){var{activeTool:e}=this.props;return e===pe.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case pe.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:$i($i({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t,n){var r,{linkInProgress:a}=this.state,{isolatedLinkerPanelId:l}=this.props,s=typeof e=="string"?n.type==="filterSource"||n.type==="chartLink":F.getComponentNameFromPanel(e)!=="IrisGridPanel";if(t==null)return(a==null?void 0:a.start)!=null&&this.updateLinkInProgressType("invalid"),!1;if(!Li(t))return K.debug2("Column is not filterable",t.description),(a==null?void 0:a.start)!=null&&this.updateLinkInProgressType("invalid"),!1;if((a==null?void 0:a.start)==null)return!0;var{isReversed:o=!1,start:d}=a,h=typeof e=="string"?e:F.getIdFromPanel(e);if(h==null)return!1;if(o&&s)return this.updateLinkInProgressType("invalid"),!1;var c={panelId:h,columnName:t.name,columnType:t.type},p=o?Ue.isLinkValid(c,d,l):Ue.isLinkValid(d,c,l);return this.updateLinkInProgressType(p?(r=a.endType)!==null&&r!==void 0?r:n.type:"invalid"),p}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:r,selectedIds:a,isDraggingPanel:l}=this.state,s=this.isOverlayShown(),o=r!=null&&r.start!=null,d=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 l?null:u.jsx(rn,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(zr,{disabled:o,panelManager:n,links:this.getCachedLinks(e,r,t),selectedIds:a,messageText:d,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel,linkTargetPropMap:this.linkTargetPropMap})})}}var fd=vd(md);function qr(i){Tt(i);var{id:e,layout:t,panelManager:n}=i;return u.jsx(fd,{layout:t,localDashboardId:e,panelManager:n})}var gd={name:"LinkerPlugin",type:xe.DASHBOARD_PLUGIN,component:qr};function Xr(i){Tt(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,a=f.useCallback(function(){var{title:l="",metadata:s={},id:o=he(),focusElement:d=F.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:c=void 0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(ft.COMPONENT),v=p.map(y=>{var S;return(S=y.title)!==null&&S!==void 0?S:""}),g=l!=null&&l!==""?l:Ce.getNewMarkdownTitle(v),C=null,m={type:"react-component",component:ft.COMPONENT,props:{id:o,metadata:s,panelState:{content:C},localDashboardId:e},title:g,id:o},{root:b}=t;F.openComponent({root:b,config:m,focusElement:d,createNewStack:h,dragEvent:c})},[e,t,n]);return f.useEffect(function(){var s=[r(ft.COMPONENT,ft)];return()=>{s.forEach(o=>o())}},[r]),$e(t.eventHub,ur.OPEN,a),null}var bd={name:"MarkdownPlugin",type:xe.DASHBOARD_PLUGIN,component:Xr};function Vi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Gi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vi(Object(t),!0).forEach(function(n){Cd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Vi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Cd(i,e,t){return(e=Sd(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sd(i){var e=yd(i,"string");return typeof e=="symbol"?e:e+""}function yd(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var _n=f.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=_r(n,t,r);return u.jsx(Yt,Gi(Gi({ref:e},i),a))});_n.displayName="PandasPanelPlugin";function Zr(i){var{fetch:e}=i,t=Rr(e);if(t.status==="loading")return u.jsx(St,{isLoading:!0,"data-testid":"pandas-widget-plugin-loading"});if(t.status==="error")return u.jsx(St,{errorMessage:ar(t.error),isLoading:!1,"data-testid":"pandas-widget-plugin-loading-error"});var{model:n,reload:r}=t;return u.jsx(mn,{model:n,children:u.jsx(Or,{onClick:r})})}var Pd={name:"PandasPanel",title:"Pandas",type:xe.WIDGET_PLUGIN,component:Zr,panelComponent:_n,supportedTypes:"pandas.DataFrame",icon:Tl};function Hi(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 Te(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hi(Object(t),!0).forEach(function(n){wd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Hi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function wd(i,e,t){return(e=Ed(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ed(i){var e=Fd(i,"string");return typeof e=="symbol"?e:e+""}function Fd(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var je=B.module("WidgetLoaderPlugin");function Td(i){var e;function t(n,r){var a,l,s=i.component,{metadata:o}=n,d=Te(Te({},o),{},{type:(a=o==null?void 0:o.type)!==null&&a!==void 0?a:i.type,name:(l=o==null?void 0:o.name)!==null&&l!==void 0?l:"Widget"}),h=Ga(s),c="widget-loader-".concat(d.type);return u.jsx(Dt,Te(Te({descriptor:d,className:c},n),{},{children:h?u.jsx(s,Te(Te({},n),{},{ref:r})):u.jsx(s,Te({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),f.forwardRef(t)}function Yr(i){var e=nr(),t=f.useMemo(()=>{var s=new Map;e.forEach(d=>{var h=Ra(d);!Aa(d)&&!h||[d.supportedTypes].flat().forEach(c=>{if(!(c==null||c==="")){var p=s.get(c);h?p!=null?(p.middleware.push(d),je.debug("Adding middleware ".concat(d.name," to chain for type ").concat(c))):(s.set(c,{basePlugin:null,middleware:[d]}),je.debug("Creating pending middleware chain for type ".concat(c," with ").concat(d.name))):(p!=null?(p.basePlugin!=null&&je.warn("Multiple WidgetPlugins handling type ".concat(c,". ")+"Replacing ".concat(p.basePlugin.name," with ").concat(d.name," as base plugin")),p.basePlugin=d):s.set(c,{basePlugin:d,middleware:[]}),je.debug("Set base plugin ".concat(d.name," for type ").concat(c)))}})});var o=new Map;return s.forEach((d,h)=>{d.basePlugin!=null?o.set(h,d):je.warn("No base plugin found for type ".concat(h,", middleware will not be applied"))}),o},[e]);Tt(i);var{id:n,layout:r,registerComponent:a}=i,l=f.useCallback(s=>{var o,{dragEvent:d,panelId:h=he(),fetch:c,widget:p}=s,{type:v}=p,g=v!=null?t.get(v):null;if(g!=null){var C=(o=p.name)!==null&&o!==void 0?o:v,m={localDashboardId:n,metadata:p,fetch:c},b={type:"react-component",component:g.basePlugin.name,props:m,title:C,id:h},{root:y}=r;F.openComponent({root:y,config:b,dragEvent:d})}},[n,r,t]);return f.useEffect(()=>{var s=new Map;t.forEach((d,h)=>{if(!s.has(d.basePlugin.name))s.set(d.basePlugin.name,{basePlugin:d.basePlugin,middleware:[...d.middleware]});else{var c=s.get(d.basePlugin.name);c!=null&&d.middleware.forEach(p=>{c.middleware.includes(p)||c.middleware.push(p)})}}),je.debug("Registering widget components",[...s.entries()].map(d=>{var[h,c]=d;return{plugin:h,middleware:c.middleware.map(p=>p.name),hasPanel:c.basePlugin.panelComponent!=null}}));var o=[...s.values()].map(d=>{var{basePlugin:h,middleware:c}=d,{panelComponent:p}=h;if(p==null){je.debug("Chaining widget components for ".concat(h.name," (no panel component, using default wrapper)"));var v=Ua(h.component,c),g=Te(Te({},h),{},{component:v});return a(h.name,Td(g))}je.debug("Chaining panel components for ".concat(h.name," (has custom panel component)"));var C=$a(p,c);return a(h.name,C)});return()=>{o.forEach(d=>d())}},[a,t]),Va(r.eventHub,l),null}var Dd={name:"WidgetLoaderPlugin",type:xe.DASHBOARD_PLUGIN,component:Yr},Md=I.shape({state:I.shape({panelState:I.shape({})})}),kd=I.shape({panelId:I.string.isRequired,columnName:I.string.isRequired,columnType:I.string.isRequired}),Bi=I.shape({panelId:I.string.isRequired,columnName:I.string.isRequired}),Qr=I.shape({start:Bi,end:Bi,id:I.string,isReversed:I.bool}),Ld=I.arrayOf(Qr),Od=I.shape({name:I.string.isRequired,operateAs:I.string.isRequired,groups:I.arrayOf(I.string).isRequired,permissions:I.shape({canUsePanels:I.bool.isRequired,canCopy:I.bool.isRequired,canDownloadCsv:I.bool.isRequired,canLogout:I.bool.isRequired}).isRequired}),Nd=Object.freeze({LinkPoint:kd,Link:Qr,Links:Ld,Panel:Md,User:Od}),jd=(i,e)=>i[e]===null?null:I.bool,Id=(i,e)=>i[e]===null?null:I.string,xd=Object.freeze({nullableBoolean:jd,nullableString:Id});const Hd=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:Ir,ChartBuilderPluginConfig:Ho,ChartEvent:et,ChartPanel:Dn,ChartPanelPlugin:Nn,ChartPluginConfig:Vo,ChartWidgetPlugin:jr,CommandHistoryPanel:Ha,CommonPropTypes:xd,ConsoleEvent:Ba,ConsolePanel:Wa,ConsolePlugin:Ka,ControlType:za,CorePanel:Io,DropdownFilterPanel:Ze,FileExplorerPanel:qa,FilterPlugin:xr,FilterPluginConfig:Bo,FilterSetManager:Pt,FilterSetManagerPanel:_t,GridPanelPlugin:In,GridPluginConfig:nd,GridWidgetPlugin:Gr,InputFilterEvent:Me,InputFilterPanel:Ye,IrisGridEvent:Z,IrisGridPanel:Mn,LinkerPlugin:qr,LinkerPluginConfig:gd,LinkerUtils:Ue,LogPanel:Xa,MarkdownEvent:ur,MarkdownPanel:ft,MarkdownPlugin:Xr,MarkdownPluginConfig:bd,MockFileStorage:jo,NotebookEvent:Za,NotebookPanel:Ya,PandasEvent:bn,PandasPanel:Yt,PandasPanelPlugin:_n,PandasPluginConfig:Pd,PandasWidgetPlugin:Zr,Panel:xo,TabEvent:ms,ToolType:pe,UIPropTypes:Nd,WidgetLoaderPlugin:Yr,WidgetLoaderPluginConfig:Dd,WidgetPanel:Dt,WidgetPanelTooltip:Cn,addDashboardLinks:or,deleteDashboardLinks:sr,emitSessionClosed:Qa,emitSessionOpened:Ja,getColumnSelectionValidatorForDashboard:Ft,getColumnsForDashboard:cn,getDashboardConnection:el,getDashboardConsoleSettings:tl,getDashboardSessionWrapper:nl,getFilterSetsForDashboard:er,getInputFiltersForDashboard:Et,getIsolatedLinkerPanelIdForDashboard:Ht,getLinksForDashboard:st,getTableMapForDashboard:Gt,isChartPanelDehydratedProps:Er,isChartPanelFigureMetadata:Pr,isChartPanelTableMetadata:Xe,isGLChartPanelState:wr,isIrisGridPanelMetadata:Mr,isLegacyIrisGridPanelMetadata:Dr,listenForSessionClosed:il,listenForSessionOpened:rl,setDashboardColumnSelectionValidator:lr,setDashboardConnection:al,setDashboardConsoleSettings:ll,setDashboardFilterSets:Ji,setDashboardIsolatedLinkerPanelId:un,setDashboardLinks:dr,setDashboardSessionWrapper:sl,useConfigureRuff:ol,useDashboardColumnFilters:Ar,useGridLinker:Ur,useLoadTablePlugin:jn,useSessionClosedListener:dl,useSessionOpenedListener:ul,useTablePlugin:Vr},Symbol.toStringTag,{value:"Module"}));export{fn as C,mr as D,yt as F,es as I,Je as a,ln as b,fr as c,Yl as d,Hl as e,Kt as f,Cr as g,Hd as h,Xn as i,Al as u};
9
+ //# sourceMappingURL=index-BTFzKv94.js.map