@deephaven/code-studio 1.15.1 → 1.16.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 (45) hide show
  1. package/build/assets/{AppRoot-yoU6xO7o.js → AppRoot-BwEVs27P.js} +6 -6
  2. package/build/assets/{AppRoot-yoU6xO7o.js.map → AppRoot-BwEVs27P.js.map} +1 -1
  3. package/build/assets/{Chart-B-lgYFRk.js → Chart-d1LFGOMH.js} +2 -2
  4. package/build/assets/{Chart-B-lgYFRk.js.map → Chart-d1LFGOMH.js.map} +1 -1
  5. package/build/assets/{ControlType-BXDfYonb.js → ControlType-Etqnd6n0.js} +4 -4
  6. package/build/assets/{ControlType-BXDfYonb.js.map → ControlType-Etqnd6n0.js.map} +1 -1
  7. package/build/assets/{FormatterUtils-VvugcpnR.js → FormatterUtils-DclplMcY.js} +2 -2
  8. package/build/assets/{FormatterUtils-VvugcpnR.js.map → FormatterUtils-DclplMcY.js.map} +1 -1
  9. package/build/assets/{Grid-BhSfx_MV.js → Grid-NUf6WtL2.js} +2 -2
  10. package/build/assets/{Grid-BhSfx_MV.js.map → Grid-NUf6WtL2.js.map} +1 -1
  11. package/build/assets/GridTokenMouseHandler-X4KdhlOq.js +2 -0
  12. package/build/assets/GridTokenMouseHandler-X4KdhlOq.js.map +1 -0
  13. package/build/assets/{IrisGrid-CxxjDqw5.js → IrisGrid-Bh9yAG6T.js} +3 -3
  14. package/build/assets/{IrisGrid-CxxjDqw5.js.map → IrisGrid-Bh9yAG6T.js.map} +1 -1
  15. package/build/assets/{IrisGridModel-DSlx1u3X.js → IrisGridModel-DDGkzyRh.js} +3 -3
  16. package/build/assets/{IrisGridModel-DSlx1u3X.js.map → IrisGridModel-DDGkzyRh.js.map} +1 -1
  17. package/build/assets/{IrisGridShortcuts-RA3wXust.js → IrisGridShortcuts-D2g_Rl9k.js} +2 -2
  18. package/build/assets/{IrisGridShortcuts-RA3wXust.js.map → IrisGridShortcuts-D2g_Rl9k.js.map} +1 -1
  19. package/build/assets/{IrisGridThemeProvider-6it02n4x.js → IrisGridThemeProvider-BTuQfmMf.js} +6 -6
  20. package/build/assets/IrisGridThemeProvider-BTuQfmMf.js.map +1 -0
  21. package/build/assets/{LocalWorkspaceStorage-BZKRnSF8.js → LocalWorkspaceStorage-C3ldThpP.js} +2 -2
  22. package/build/assets/{LocalWorkspaceStorage-BZKRnSF8.js.map → LocalWorkspaceStorage-C3ldThpP.js.map} +1 -1
  23. package/build/assets/{MarkdownEditor-C2AAm9ih.js → MarkdownEditor-Bww40EVD.js} +2 -2
  24. package/build/assets/{MarkdownEditor-C2AAm9ih.js.map → MarkdownEditor-Bww40EVD.js.map} +1 -1
  25. package/build/assets/{MarkdownNotebook-DBOYivNl.js → MarkdownNotebook-CTVzzJtp.js} +2 -2
  26. package/build/assets/{MarkdownNotebook-DBOYivNl.js.map → MarkdownNotebook-CTVzzJtp.js.map} +1 -1
  27. package/build/assets/{MissingPartitionError-uL8lR3Hy.js → MissingPartitionError-jNITaf6f.js} +2 -2
  28. package/build/assets/{MissingPartitionError-uL8lR3Hy.js.map → MissingPartitionError-jNITaf6f.js.map} +1 -1
  29. package/build/assets/{MockChartModel-DTdba9NN.js → MockChartModel-Cc0LZyRl.js} +2 -2
  30. package/build/assets/{MockChartModel-DTdba9NN.js.map → MockChartModel-Cc0LZyRl.js.map} +1 -1
  31. package/build/assets/{StyleGuideRoot-DTTYIKzl.js → StyleGuideRoot-BvO87vbL.js} +2 -2
  32. package/build/assets/{StyleGuideRoot-DTTYIKzl.js.map → StyleGuideRoot-BvO87vbL.js.map} +1 -1
  33. package/build/assets/{index-Pb0fT4BS.js → index-BzMWwrSc.js} +4 -4
  34. package/build/assets/{index-Pb0fT4BS.js.map → index-BzMWwrSc.js.map} +1 -1
  35. package/build/assets/index-D44-83Ub.js +2 -0
  36. package/build/assets/index-D44-83Ub.js.map +1 -0
  37. package/build/assets/{index-SLNddBo_.js → index-D9pGoiog.js} +3 -3
  38. package/build/assets/{index-SLNddBo_.js.map → index-D9pGoiog.js.map} +1 -1
  39. package/build/index.html +2 -2
  40. package/package.json +18 -18
  41. package/build/assets/GridTokenMouseHandler-Dem4pZ7B.js +0 -2
  42. package/build/assets/GridTokenMouseHandler-Dem4pZ7B.js.map +0 -1
  43. package/build/assets/IrisGridThemeProvider-6it02n4x.js.map +0 -1
  44. package/build/assets/index-DZpheLqH.js +0 -2
  45. package/build/assets/index-DZpheLqH.js.map +0 -1
@@ -1,9 +1,9 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MarkdownEditor-C2AAm9ih.js","./vendor-DJYze3uU.js","./helpers-BosuxZz1.js","./vendor-CawHrWiI.css","./ControlType-BXDfYonb.js","./index-SLNddBo_.js","./monaco-DaE0jI-i.js","./monaco-CgHo24-M.css","./index-WCsQ0aAg.css","./ControlType-CFrcYBSr.css","./mathjax-B1bZVHHN.js"])))=>i.map(i=>d[i]);
2
- import{r as f,I as u,K as de,bC as Rn,a1 as se,ad as O,bD as Bi,H as ue,M as oe,_ as Ve,a0 as it,U as ne,b2 as va,b1 as An,av as Ke,a3 as ma,af as fa,bE as I}from"./vendor-DJYze3uU.js";import{F as $e,dj as Fe,P as Ne,at as G,dk as Qt,c as z,cj as ga,cP as on,cn as ba,cq as Sa,b9 as Wi,V as Ca,aw as Ki,af as ya,dl as rt,dm as ge,B as N,dn as at,ah as De,dp as dn,a3 as zi,dq as Vt,cw as qi,ac as un,dr as Gt,X as pe,L as Ht,ds as lt,dt as wt,du as Et,dv as Xi,c8 as T,y as nn,S as bt,a as Zi,n as Yi,dw as hn,aa as Pa,a5 as wa,dx as Qi,dy as Ji,b0 as Ea,cv as Ta,am as te,dz as Un,dc as Fa,dd as Da,f as er,u as Bt,cV as je,cr as Tt,cQ as Ue,a0 as Ma,ay as tr,d4 as ka,d2 as La,cO as nr,z as rn,cR as ir,d7 as rr,T as ze,Y as Oa,t as Na,U as ja,dA as ar,dB as lr,dC as sr,dD as or,bn as Ia,an as dr,cT as xa,ca as _a,b7 as Ra,dh as Aa,dE as Ua,df as $a,av as Va,W as Ga,di as Ha,dg as Ba,ag as Wa,aq as Ka,a7 as za,dF as qa,a6 as Xa,aE as Za,dG as Ya,aF as Qa,dH as Ja}from"./ControlType-BXDfYonb.js";import{aA as el,L as B,e as k,aO as tl,aP as nl,K as cn,aQ as il,aR as rl,aS as ur,f as pn,aT as hr,y as $n,aU as Vn,g as al,F as ll,M as sl,b as ol,c as dl,N as St,s as ul,aV as hl,aW as cl,d as pl,aX as vl,aY as ml}from"./index-SLNddBo_.js";import{C as fl,a as J,I as x,G as Dt,S as cr,L as pr,b as vn}from"./IrisGridModel-DSlx1u3X.js";import{d as gl,M as Gn,n as bl,f as Me,l as ke,k as Sl,e as Cl,I as H,A as yl,o as Pl,p as wl,q as El}from"./MissingPartitionError-uL8lR3Hy.js";import{F as Hn}from"./FormatterUtils-VvugcpnR.js";import{_ as Tl}from"./monaco-DaE0jI-i.js";function mn(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:de(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 Bn(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 Fl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Bn(a,n,r,l,s,"next",o)}function s(o){Bn(a,n,r,l,s,"throw",o)}l(void 0)})}}var vr=f.createContext(null);vr.displayName="DeferredApiContext";function Dl(i){var[e,t]=f.useState(null),[n,r]=f.useState(null),a=f.useContext(vr),l=f.useContext(el);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=Fl(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 Wn(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 Kn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wn(Object(t),!0).forEach(function(n){$(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Wn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function $(i,e,t){return(e=Ml(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ml(i){var e=kl(i,"string");return typeof e=="symbol"?e:e+""}function kl(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 Ct extends fl{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",Rn.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=[]},Ct.ADD_SERIES_DEBOUNCE)),$(this,"getTimeZone",se((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}},{max:100})),$(this,"getValueTranslator",se((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)},{max:100})),$(this,"getValueParser",se((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)},{max:100})),$(this,"getRangeParser",se((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",se((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:S,title:m}=p;if(m!=null&&m.length>0&&(t.length>1||e.figure.title!=null)){var b=S.find(E=>E.type===e.dh.plot.AxisType.X),y=S.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 C,P,w,F,L=((C=(P=n.get(b.type))===null||P===void 0?void 0:P.findIndex(E=>E===b))!==null&&C!==void 0?C:0)+1,M=((w=(F=n.get(y.type))===null||F===void 0?void 0:F.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=Kn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=Kn({},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&&Rn.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:S}=a;c&&p&&c!==h&&(a.error_x=J.getPlotlyErrorBars(h,c,p)),g&&S&&g!==v&&(a.error_y=J.getPlotlyErrorBars(v,g,S))}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}}$(Ct,"ADD_SERIES_DEBOUNCE",50);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 Jt(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)})}}class Qe{static makeModelFromSettings(e,t,n){return Jt(function*(){var r=yield Qe.makeFigureFromSettings(e,t,n);return new Ct(e,r,t)})()}static makeFigureFromSettings(e,t,n){return Jt(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 Jt(function*(){return new Ct(e,n,t)})()}}function qn(i){return i.setFigure!==void 0}function Xn(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 _e(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Xn(a,n,r,l,s,"next",o)}function s(o){Xn(a,n,r,l,s,"throw",o)}l(void 0)})}}function re(i,e,t){return(e=Ll(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ll(i){var e=Ol(i,"string");return typeof e=="symbol"?e:e+""}function Ol(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 Nl extends gl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new $e(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),re(this,"userFrozenColumns",void 0),re(this,"customColumnList",void 0),re(this,"formatColumnList",void 0),re(this,"initialFilters",[]),re(this,"wasUncoalesced",void 0),re(this,"getMemoizedKeyColumnSet",O(a=>new Set(a??G))),re(this,"getMemoizedValueColumnSet",O(a=>new Set(a??G))),re(this,"getMemoizedFrontColumns",O(a=>a??G)),re(this,"getMemoizedBackColumns",O(a=>a??G)),re(this,"getMemoizedFrozenColumns",O((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:G})),re(this,"getCachedFilterableColumnSet",O(a=>new Set(a.map((l,s)=>s)))),re(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 Fe(x.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return _e(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return _e(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return _e(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return _e(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 Fe(x.EVENT.UPDATED));return}this.totalsTablePromise=Ne.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Ne.isCanceled(t)||(we.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Fe(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 _e(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 _e(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(C=>Dt.intersection(s,C)).filter(C=>C!=null).map(C=>(k(C),Dt.offset(C,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 Fe(x.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new Fe(x.EVENT.UPDATED))}var v=r.getTableAreaRange(),g=e.map(C=>Dt.intersection(v,C)).filter(C=>C!=null);if(!(g.length<=0)){var[S,m]=yield Promise.all([r.snapshot(g.map(C=>(k(C),l.map(P=>{var w=r.getColumnIndexByName(P.name);if(w==null)throw new Error("Key column ".concat(P.name," not found"));return new Dt(w,C.startRow,w,C.endRow)}))).flat()),r.table.copy()]),b=S.map(C=>{for(var P=[],w=0;w<l.length;w+=1){var F=l[w],L=C[w],M=r.tableUtils.makeNullableEqFilter(F,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((C,P)=>{var w;return(w=C==null?void 0:C.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 _e(function*(){return o.table.seekRow(e,t,n,r,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}function Zn(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)}class xl extends x{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new $e(e);super(e),Zn(this,"modelFormatter",void 0),Zn(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 Qt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Qt}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 Qt}getColumnHeaderParentGroup(e,t){}}function Yn(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 Mt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Yn(a,n,r,l,s,"next",o)}function s(o){Yn(a,n,r,l,s,"throw",o)}l(void 0)})}}function _l(i,e,t){return(e=Rl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rl(i){var e=Al(i,"string");return typeof e=="symbol"?e:e+""}function Al(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 Ul(i){return"getBaseTable"in i&&typeof i.getBaseTable=="function"}class $l extends xl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new $e(e);super(e,n),_l(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 Mt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return Mt(function*(){return Ul(e.partitionedTable)?e.partitionedTable.getBaseTable():e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return Mt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return Mt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Gn("Partition not found");return n}catch(r){throw bl(r)?r:new Gn("Unable to retrieve partition")}})()}}function Ee(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 Te=B.module("IrisGridProxyModel");function We(i,e,t,n){return z.isTreeTable(e)?new Cl(i,e,t):z.isPartitionedTable(e)?new $l(i,e,t):new Nl(i,e,t,n)}class Hl extends x{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new $e(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=We(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){Te.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Fe(n,{detail:t}))}setModel(e){Te.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 Fe(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)}Me(e)&&this.dispatchEvent(new Fe(x.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Te.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Ne.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Ne.isCanceled(t)){Te.debug2("setNextModel cancelled");return}Te.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Fe(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 ke(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!ke(this.originalModel)||!this.originalModel.isPartitionRequired?Sl(this.originalModel)?null:void 0:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Te.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&ke(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>We(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>We(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>We(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!ke(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!ke(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!ke(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Te.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Bi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);Me(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>We(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Te.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){Te.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);Me(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(r=>We(this.dh,r,this.formatter))),this.setNextModel(n)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return ke(this.originalModel)?this.originalModel.isPartitionRequired:void 0}get isPartitionAwareSourceTable(){return ke(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 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 Bl(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 mr{static makeModel(e,t){var n=arguments;return Bl(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new $e(e),a=null;return!z.isTreeTable(t)&&!z.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new Hl(e,t,r,a)})()}}function Jn(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 ei(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jn(Object(t),!0).forEach(function(n){Wl(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Jn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Wl(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)}function fr(i,e){var t=["isStuckToBottom","isStuckToRight","movedColumns","movedRows"];return i===e||t.every(n=>i[n]===e[n])}function gr(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.metrics.userColumnWidths===e.metrics.userColumnWidths&&i.metrics.userRowHeights===e.metrics.userRowHeights&&t.every(n=>i[n]===e[n])}function ql(){return O((i,e)=>H.dehydrateGridState(i,e),(i,e)=>{var[t,n]=i,[r,a]=e;return t===r&&fr(n,a)})}function Xl(){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&&gr(n,a)})}function Zl(){return O((i,e,t)=>{var n=new H(i.dh);return ei(ei({},n.dehydrateIrisGridState(i,e)),H.dehydrateGridState(i,t))},(i,e)=>{var[t,n,r]=i,[a,l,s]=e;return t===a&&gr(n,l)&&fr(r,s)})}var an={makeMemoizedGridStateDehydrator:ql,makeMemoizedIrisGridStateDehydrator:Xl,makeMemoizedCombinedGridStateDehydrator:Zl};function Wt(){var i=f.useContext(ga);if(i==null)throw new Error("LayoutManager not available, did you add a LayoutManagerContext.Provider to the tree?");return i}function Yl(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 br(i,e){var t=on(),n=f.useMemo(()=>ue(),[]),r=f.useContext(ba),{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?Yl(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 fn(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)}class Je{}fn(Je,"OPEN","ChartEvent.OPEN");fn(Je,"CLOSE","ChartEvent.CLOSE");fn(Je,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");function st(i,e,t){return(e=es(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function es(i){var e=ts(i,"string");return typeof e=="symbol"?e:e+""}function ts(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{}st(Z,"OPEN_GRID","IrisGridEvent.OPEN_GRID");st(Z,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");st(Z,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");st(Z,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");st(Z,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");st(Z,"CREATE_CHART","IrisGridevent.CREATE_CHART");function Sr(i,e,t){return(e=ns(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ns(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)}class gn{}Sr(gn,"OPEN","PandasEvent.OPEN");Sr(gn,"CLOSE","PandasEvent.CLOSE");var rs=Sa;function as(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(Ca,{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 bn=Wi(as);function ln(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=ss(i,"string");return typeof e=="symbol"?e:e+""}function ss(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 Cr extends f.PureComponent{constructor(e){var t;super(e),t=this,ln(this,"getCachedRenderTabTooltip",O((n,r)=>n?()=>u.jsx(bn,{descriptor:r}):void 0)),ln(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:Ki.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;ya(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-Bww40EVD.js","./vendor-DJYze3uU.js","./helpers-BosuxZz1.js","./vendor-CawHrWiI.css","./ControlType-Etqnd6n0.js","./index-D9pGoiog.js","./monaco-DaE0jI-i.js","./monaco-CgHo24-M.css","./index-WCsQ0aAg.css","./ControlType-CFrcYBSr.css","./mathjax-B1bZVHHN.js"])))=>i.map(i=>d[i]);
2
+ import{r as f,I as u,K as de,bC as Rn,a1 as se,ad as O,bD as Bi,H as ue,M as oe,_ as Ve,a0 as it,U as ne,b2 as va,b1 as An,av as Ke,a3 as ma,af as fa,bE as I}from"./vendor-DJYze3uU.js";import{F as $e,dj as Fe,P as Ne,at as G,dk as Qt,c as z,cj as ga,cP as on,cn as ba,cq as Sa,b9 as Wi,V as Ca,aw as Ki,af as ya,dl as rt,dm as ge,B as N,dn as at,ah as De,dp as dn,a3 as zi,dq as Vt,cw as qi,ac as un,dr as Gt,X as pe,L as Ht,ds as lt,dt as wt,du as Et,dv as Xi,c8 as T,y as nn,S as bt,a as Zi,n as Yi,dw as hn,aa as Pa,a5 as wa,dx as Qi,dy as Ji,b0 as Ea,cv as Ta,am as te,dz as Un,dc as Fa,dd as Da,f as er,u as Bt,cV as je,cr as Tt,cQ as Ue,a0 as Ma,ay as tr,d4 as ka,d2 as La,cO as nr,z as rn,cR as ir,d7 as rr,T as ze,Y as Oa,t as Na,U as ja,dA as ar,dB as lr,dC as sr,dD as or,bn as Ia,an as dr,cT as xa,ca as _a,b7 as Ra,dh as Aa,dE as Ua,df as $a,av as Va,W as Ga,di as Ha,dg as Ba,ag as Wa,aq as Ka,a7 as za,dF as qa,a6 as Xa,aE as Za,dG as Ya,aF as Qa,dH as Ja}from"./ControlType-Etqnd6n0.js";import{aA as el,L as B,e as k,aO as tl,aP as nl,K as cn,aQ as il,aR as rl,aS as ur,f as pn,aT as hr,y as $n,aU as Vn,g as al,F as ll,M as sl,b as ol,c as dl,N as St,s as ul,aV as hl,aW as cl,d as pl,aX as vl,aY as ml}from"./index-D9pGoiog.js";import{C as fl,a as J,I as x,G as Dt,S as cr,L as pr,b as vn}from"./IrisGridModel-DDGkzyRh.js";import{d as gl,M as Gn,n as bl,f as Me,l as ke,k as Sl,e as Cl,I as H,A as yl,o as Pl,p as wl,q as El}from"./MissingPartitionError-jNITaf6f.js";import{F as Hn}from"./FormatterUtils-DclplMcY.js";import{_ as Tl}from"./monaco-DaE0jI-i.js";function mn(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:de(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 Bn(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 Fl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Bn(a,n,r,l,s,"next",o)}function s(o){Bn(a,n,r,l,s,"throw",o)}l(void 0)})}}var vr=f.createContext(null);vr.displayName="DeferredApiContext";function Dl(i){var[e,t]=f.useState(null),[n,r]=f.useState(null),a=f.useContext(vr),l=f.useContext(el);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=Fl(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 Wn(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 Kn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wn(Object(t),!0).forEach(function(n){$(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Wn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function $(i,e,t){return(e=Ml(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ml(i){var e=kl(i,"string");return typeof e=="symbol"?e:e+""}function kl(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 Ct extends fl{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",Rn.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=[]},Ct.ADD_SERIES_DEBOUNCE)),$(this,"getTimeZone",se((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}},{max:100})),$(this,"getValueTranslator",se((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)},{max:100})),$(this,"getValueParser",se((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)},{max:100})),$(this,"getRangeParser",se((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",se((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:S,title:m}=p;if(m!=null&&m.length>0&&(t.length>1||e.figure.title!=null)){var b=S.find(E=>E.type===e.dh.plot.AxisType.X),y=S.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 C,P,w,F,L=((C=(P=n.get(b.type))===null||P===void 0?void 0:P.findIndex(E=>E===b))!==null&&C!==void 0?C:0)+1,M=((w=(F=n.get(y.type))===null||F===void 0?void 0:F.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=Kn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=Kn({},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&&Rn.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:S}=a;c&&p&&c!==h&&(a.error_x=J.getPlotlyErrorBars(h,c,p)),g&&S&&g!==v&&(a.error_y=J.getPlotlyErrorBars(v,g,S))}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}}$(Ct,"ADD_SERIES_DEBOUNCE",50);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 Jt(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)})}}class Qe{static makeModelFromSettings(e,t,n){return Jt(function*(){var r=yield Qe.makeFigureFromSettings(e,t,n);return new Ct(e,r,t)})()}static makeFigureFromSettings(e,t,n){return Jt(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 Jt(function*(){return new Ct(e,n,t)})()}}function qn(i){return i.setFigure!==void 0}function Xn(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 _e(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Xn(a,n,r,l,s,"next",o)}function s(o){Xn(a,n,r,l,s,"throw",o)}l(void 0)})}}function re(i,e,t){return(e=Ll(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ll(i){var e=Ol(i,"string");return typeof e=="symbol"?e:e+""}function Ol(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 Nl extends gl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new $e(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),re(this,"userFrozenColumns",void 0),re(this,"customColumnList",void 0),re(this,"formatColumnList",void 0),re(this,"initialFilters",[]),re(this,"wasUncoalesced",void 0),re(this,"getMemoizedKeyColumnSet",O(a=>new Set(a??G))),re(this,"getMemoizedValueColumnSet",O(a=>new Set(a??G))),re(this,"getMemoizedFrontColumns",O(a=>a??G)),re(this,"getMemoizedBackColumns",O(a=>a??G)),re(this,"getMemoizedFrozenColumns",O((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:G})),re(this,"getCachedFilterableColumnSet",O(a=>new Set(a.map((l,s)=>s)))),re(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 Fe(x.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return _e(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return _e(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return _e(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return _e(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 Fe(x.EVENT.UPDATED));return}this.totalsTablePromise=Ne.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Ne.isCanceled(t)||(we.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Fe(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 _e(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 _e(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(C=>Dt.intersection(s,C)).filter(C=>C!=null).map(C=>(k(C),Dt.offset(C,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 Fe(x.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new Fe(x.EVENT.UPDATED))}var v=r.getTableAreaRange(),g=e.map(C=>Dt.intersection(v,C)).filter(C=>C!=null);if(!(g.length<=0)){var[S,m]=yield Promise.all([r.snapshot(g.map(C=>(k(C),l.map(P=>{var w=r.getColumnIndexByName(P.name);if(w==null)throw new Error("Key column ".concat(P.name," not found"));return new Dt(w,C.startRow,w,C.endRow)}))).flat()),r.table.copy()]),b=S.map(C=>{for(var P=[],w=0;w<l.length;w+=1){var F=l[w],L=C[w],M=r.tableUtils.makeNullableEqFilter(F,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((C,P)=>{var w;return(w=C==null?void 0:C.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 _e(function*(){return o.table.seekRow(e,t,n,r,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}function Zn(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)}class xl extends x{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new $e(e);super(e),Zn(this,"modelFormatter",void 0),Zn(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 Qt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Qt}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 Qt}getColumnHeaderParentGroup(e,t){}}function Yn(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 Mt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Yn(a,n,r,l,s,"next",o)}function s(o){Yn(a,n,r,l,s,"throw",o)}l(void 0)})}}function _l(i,e,t){return(e=Rl(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rl(i){var e=Al(i,"string");return typeof e=="symbol"?e:e+""}function Al(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 Ul(i){return"getBaseTable"in i&&typeof i.getBaseTable=="function"}class $l extends xl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new $e(e);super(e,n),_l(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 Mt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return Mt(function*(){return Ul(e.partitionedTable)?e.partitionedTable.getBaseTable():e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return Mt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return Mt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Gn("Partition not found");return n}catch(r){throw bl(r)?r:new Gn("Unable to retrieve partition")}})()}}function Ee(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 Te=B.module("IrisGridProxyModel");function We(i,e,t,n){return z.isTreeTable(e)?new Cl(i,e,t):z.isPartitionedTable(e)?new $l(i,e,t):new Nl(i,e,t,n)}class Hl extends x{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new $e(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=We(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){Te.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Fe(n,{detail:t}))}setModel(e){Te.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 Fe(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)}Me(e)&&this.dispatchEvent(new Fe(x.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Te.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Ne.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Ne.isCanceled(t)){Te.debug2("setNextModel cancelled");return}Te.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Fe(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 ke(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!ke(this.originalModel)||!this.originalModel.isPartitionRequired?Sl(this.originalModel)?null:void 0:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Te.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&ke(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>We(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>We(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>We(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!ke(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!ke(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!ke(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Te.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Bi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);Me(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>We(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Te.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){Te.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);Me(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(r=>We(this.dh,r,this.formatter))),this.setNextModel(n)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return ke(this.originalModel)?this.originalModel.isPartitionRequired:void 0}get isPartitionAwareSourceTable(){return ke(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 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 Bl(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 mr{static makeModel(e,t){var n=arguments;return Bl(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new $e(e),a=null;return!z.isTreeTable(t)&&!z.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new Hl(e,t,r,a)})()}}function Jn(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 ei(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jn(Object(t),!0).forEach(function(n){Wl(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Jn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Wl(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)}function fr(i,e){var t=["isStuckToBottom","isStuckToRight","movedColumns","movedRows"];return i===e||t.every(n=>i[n]===e[n])}function gr(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.metrics.userColumnWidths===e.metrics.userColumnWidths&&i.metrics.userRowHeights===e.metrics.userRowHeights&&t.every(n=>i[n]===e[n])}function ql(){return O((i,e)=>H.dehydrateGridState(i,e),(i,e)=>{var[t,n]=i,[r,a]=e;return t===r&&fr(n,a)})}function Xl(){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&&gr(n,a)})}function Zl(){return O((i,e,t)=>{var n=new H(i.dh);return ei(ei({},n.dehydrateIrisGridState(i,e)),H.dehydrateGridState(i,t))},(i,e)=>{var[t,n,r]=i,[a,l,s]=e;return t===a&&gr(n,l)&&fr(r,s)})}var an={makeMemoizedGridStateDehydrator:ql,makeMemoizedIrisGridStateDehydrator:Xl,makeMemoizedCombinedGridStateDehydrator:Zl};function Wt(){var i=f.useContext(ga);if(i==null)throw new Error("LayoutManager not available, did you add a LayoutManagerContext.Provider to the tree?");return i}function Yl(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 br(i,e){var t=on(),n=f.useMemo(()=>ue(),[]),r=f.useContext(ba),{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?Yl(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 fn(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)}class Je{}fn(Je,"OPEN","ChartEvent.OPEN");fn(Je,"CLOSE","ChartEvent.CLOSE");fn(Je,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");function st(i,e,t){return(e=es(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function es(i){var e=ts(i,"string");return typeof e=="symbol"?e:e+""}function ts(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{}st(Z,"OPEN_GRID","IrisGridEvent.OPEN_GRID");st(Z,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");st(Z,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");st(Z,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");st(Z,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");st(Z,"CREATE_CHART","IrisGridevent.CREATE_CHART");function Sr(i,e,t){return(e=ns(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ns(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)}class gn{}Sr(gn,"OPEN","PandasEvent.OPEN");Sr(gn,"CLOSE","PandasEvent.CLOSE");var rs=Sa;function as(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(Ca,{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 bn=Wi(as);function ln(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=ss(i,"string");return typeof e=="symbol"?e:e+""}function ss(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 Cr extends f.PureComponent{constructor(e){var t;super(e),t=this,ln(this,"getCachedRenderTabTooltip",O((n,r)=>n?()=>u.jsx(bn,{descriptor:r}):void 0)),ln(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:Ki.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;ya(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
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:S,onFocus:m,onBlur:b,onResize:y,onSessionOpen:C,onShow:P,onTabBlur:w,onTabFocus:F,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(rt,{className:de(t,{disconnected:D||E||d,inactive:j}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:g,onHide:S,onFocus:m,onBlur:b,onResize:y,onShow:P,onSessionClose:this.handleSessionClosed,onSessionOpen:C,onTabBlur:w,onTabFocus:F,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"})]})}}ln(Cr,"defaultProps",{className:"",isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0});var Ft=Wi(Cr);function os(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()),S=g.find(y=>t.get(y)!=null),m=g.find(y=>n.get(y)!=null),b=ge.join(g.map(y=>'"'.concat(y,'"')));return S!=null&&S&&m!=null&&m?"Use a filter control or linked table to set a value for ".concat(b):S!=null&&S?"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:de("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 S=l.has(g.name),m=S?tl:nl;return u.jsxs("div",{className:de("waiting-filter-item",{"is-invalid":S}),children:[u.jsx(oe,{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 Rt(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:de("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(cr,{className:de("btn-chart-column-selector",Rt.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))})]})})}Rt.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);function qe(i){return i.settings!==void 0}function yr(i){return i.figure!==void 0}function Pr(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function wr(i){return i!=null&&Pr(i.panelState)}var Sn=at(De.COLUMNS_CHANGED),ds=Sn.listen,At=Sn.emit,us=Sn.useListener,Cn=at(De.TABLE_CHANGED);Cn.listen;var Ut=Cn.emit,hs=Cn.useListener,yn=at(De.FILTERS_CHANGED);yn.listen;var Er=yn.emit,cs=yn.useListener,Pn=Object.freeze({LINK_POINT_SELECTED:"LinkerEvent.LINK_POINT_SELECTED",SOURCE_DATA_SELECTED:"LinkerEvent.SOURCE_DATA_SELECTED",REGISTER_TARGET:"LinkerEvent.REGISTER_TARGET"}),wn=at(Pn.LINK_POINT_SELECTED),ps=wn.listen,Kt=wn.emit;wn.useListener;var En=at(Pn.SOURCE_DATA_SELECTED),vs=En.listen,Tr=En.emit;En.useListener;var Tn=at(Pn.REGISTER_TARGET),ms=Tn.listen,ti=Tn.emit;Tn.useListener;function ni(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 kt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ni(Object(t),!0).forEach(function(n){le(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ni(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function le(i,e,t){return(e=fs(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fs(i){var e=gs(i,"string");return typeof e=="symbol"?e:e+""}function gs(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"),bs=150;function Ss(i){return i.inputFilters!=null}function Cs(i){return i.panelState!=null}class zt extends f.Component{constructor(e){super(e),le(this,"panelContainer",void 0),le(this,"pending",void 0),le(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})),le(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})),le(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})),le(this,"getLinkedColumnMap",O((l,s)=>{for(var o=new Map,d=T.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})),le(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)})))),le(this,"getWidgetPanelDescriptor",O(l=>{var s="Chart";if(qe(l))s=l.table;else if(yr(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 kt(kt({},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=it(this.updateModelFromSource.bind(this),bs),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=ne.createRef(),this.pending=new Xi;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&&qe(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&&qn(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=T.getIdFromPanel(this);k(r);var a=n.get(e);a!=null&&Kt(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){Ne.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(),qe(e)){var{settings:l}=e;this.pending.add(Qe.makeFigureFromSettings(a,l,t),s=>s.close()).then(s=>{qn(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&&Ss(e.props)&&Cs(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=kt(kt({},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(De.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=T.getIdFromPanel(this);k(n),At(t,n,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Rt.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:S,isDisconnected:m,isLoaded:b,isLoading:y}=this.state,C=this.getInputFilterColumnMap(c,r),P=this.getLinkedColumnMap(c,l),w=g!=null?this.getWaitingInputMap(g.isFilterRequired(),c,p):new Map,F=g!=null?this.getWaitingFilterMap(g.isFilterRequired(),c,p,P,C):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(Ft,{className:de("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(pr,{isActive:S,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(nn,{in:M&&!D&&!y,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(os,{inputFilterMap:C,linkedColumnMap:P,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:F,waitingInputMap:w})}),u.jsx(nn,{in:D,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Rt,{columns:this.getSelectorColumns(c,P,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}le(zt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});le(zt,"displayName","ChartPanel");le(zt,"COMPONENT","ChartPanel");var ys=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&qe(n)&&(r=n.sourcePanelId);var a=Vt(i,t),l=qi(i,t),s=un(i),o=Gt(i,t),d=s===pe.LINKER&&o===void 0;return{columnSelectionValidator:Et(i,t),isLinkerActive:d,inputFilters:wt(i,t),links:lt(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?l.get(r):void 0,settings:Ht(i)}},Fn=Ve(ys,{setActiveTool:zi,setDashboardIsolatedLinkerPanelId:dn},null,{forwardRef:!0})(zt);function ce(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=ws(i,"string");return typeof e=="symbol"?e:e+""}function ws(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 Lt=B.module("DropdownFilter"),Es=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",se((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",it(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},Es)),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=ne.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:ue(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:a}=this.props,{column: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(Lt.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(),Lt.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]:Lt.debug2("Selected default item"),Lt.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:S,selectedColumn:m,value:b}=this.state,y=l===null,C=this.getCompatibleColumns(l,t),P=l!=null,w=(e=l==null?void 0:l.columnName)!==null&&e!==void 0?e:be.SOURCE_BUTTON_PLACEHOLDER,F=p!=null?"".concat(p.name," Filter"):null,[L,M]=this.getColumnOptions(C,m),D=this.getValueOptions(h),E=this.getSelectedOptionIndex(h,b),j=!P||m==null,R=S&&!r,A="source-column-btn-".concat(g),q="filter-column-select-".concat(g);return u.jsxs(mn,{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(cr,{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(bt,{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||S||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||S||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:F})}),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(bt,{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(oe,{icon:cn,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=Ts(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ts(i){var e=Fs(i,"string");return typeof e=="symbol"?e:e+""}function Fs(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"),Ds=250,Ms=Object.freeze({name:"Dropdown Filter",type:"DropdownFilter"}),ks=(i,e)=>{var{localDashboardId:t}=e,n=T.getIdFromPanel({props:e}),r=Vt(i,t),a=lt(i,t),l=un(i),s=Gt(i,t),o=l===pe.LINKER&&(s===void 0||s===n),d=l===pe.LINKER&&s!==void 0&&s!==n;return{columns:hn(i,t),columnSelectionValidator:Et(i,t),dh:Yi(i),isLinkerActive:o,disableLinking:d,settings:Ht(i),panelTableMap:r,dashboardLinks:a}},Ls=Ve(ks,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",se((c,p,v)=>{var{type:g,name:S}=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,S):null)},{max:1e3})),Y(this,"getCachedPanelLinks",se((c,p)=>{var v=T.getIdFromPanel(p);return _.debug("getCachedPanelLinks",c,v),c.filter(g=>{var S;return((S=g.end)===null||S===void 0?void 0:S.panelId)===v})},{max:1e3})),Y(this,"getCachedSource",se(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",se((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",se((c,p)=>{var v;return _.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(g=>{var{name:S,type:m}=g;return S===p.columnName&&m===p.columnType}))!==null&&v!==void 0?v:null},{max:1e3})),this.handleChange=it(this.handleChange.bind(this),Ds),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=ne.createRef(),this.panelContainer=ne.createRef(),this.pending=new Xi;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=Hn.getColumnFormats(r),this.dateTimeFormatter=new Zi(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 $e(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,S=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&r===c.value;return s=(h=!g&&n&&(!S||!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:S,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=T.getIdFromPanel(this);k(t),Kt(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=T.getIdFromPanel(this);k(h),Er(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=>{Ne.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=Hn.getColumnFormats(e);Bi(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new $e(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:S}=this.state,m=this.getSource(t),b=this.getSettingsErrorMessage(),y=this.getPanelErrorMessage(),C=S&&v!=null?this.getCachedValues(p,v,o):G;return u.jsx(Ft,{errorMessage:y,isLoading:g,isLoaded:S,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,descriptor:Ms,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:S,settingsError:b,source:m,value:c,values:C,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 Xe=Ls(ve);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 Ot(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){vt(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 vt(i,e,t){return(e=Os(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Os(i){var e=Ns(i,"string");return typeof e=="symbol"?e:e+""}function Ns(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"),js="Enter name...",ri="No Available Filter Sets";class yt 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),vt(this,"renameInputRef",ne.createRef()),vt(this,"dropdownRef",ne.createRef()),vt(this,"editDropdownRef",ne.createRef()),vt(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;yt.animateScreenFlash();var t=ue(),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=Ot(Ot({},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;yt.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]=Ot(Ot({},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,S=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(oe,{icon:Vn,mask:$n,transform:"shrink-1 down-5 right-7"}),u.jsx(oe,{icon:al,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),m=u.jsxs("div",{className:"fa-layers",children:[u.jsx(oe,{icon:Vn,mask:$n,transform:"shrink-1 down-5 right-7"}),u.jsx(oe,{icon:ll,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(mn,{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:S,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:js,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:il}),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:rl})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(va,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(An,{value:"false",children:"Restore only filters"}),u.jsx(An,{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(bt,{"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:ri}),a.map(b=>{var{id:y,title:C}=b;return u.jsx("option",{value:y,children:C},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:ur,tooltip:"Edit"}),u.jsx(N,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:pn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(N,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:S,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(bt,{"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:ri}),o.map(b=>{var{id:y,title:C}=b;return u.jsx("option",{value:y,children:C},y)})]}),u.jsx(N,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:hr,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(oe,{icon:cn,transform:"grow-4"})})})]},"back")]})})}}function ai(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 li(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ai(Object(t),!0).forEach(function(n){Is(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ai(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Is(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=_s(i,"string");return typeof e=="symbol"?e:e+""}function _s(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 Rs(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(bn,li(li({},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 Fr(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function Dr(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function si(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 ae(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?si(Object(t),!0).forEach(function(n){V(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):si(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function V(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=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)}var fe=B.module("IrisGridPanel"),$s=500;function oi(i){if(i==null)throw new Error("No metadata provided");if(Dr(i))return i.name;if(Fr(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(i)))}class et 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",an.makeMemoizedGridStateDehydrator()),V(this,"irisGridStateDehydrator",an.makeMemoizedIrisGridStateDehydrator()),V(this,"getGridInputFilters",O((n,r)=>H.getInputFiltersForColumns(n,r.filter(a=>{var{value:l,excludePanelIds:s}=a,o=T.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),V(this,"getAlwaysFetchColumns",O((n,r)=>{for(var a=T.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||!Me(r)||n==null||r.table==null)return null;var s={panel:this};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,ae({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=oi(n);return ae(ae({type:"Table",displayType:"Table"},n),{},{name:a,description:r})})),V(this,"savePanelState",it(()=>{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))},$s)),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=ne.createRef(),this.pluginRef=ne.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(yl.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,columnAlignmentMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths: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 oi(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=Ne.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}=ae(ae({},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=T.getIdFromPanel(this);k(r),Ut(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=T.getIdFromPanel(this),d;s&&(d=H.extractTableSettings(s,r)),n.emit(Z.CREATE_CHART,{metadata:ae(ae({},a),{},{settings:e,sourcePanelId:o,table:l,tableSettings:d}),table:Me(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props,n=T.getIdFromPanel(this);k(n),Kt(t,n,e,{type:"tableLink"})}handleDataSelected(e,t){var{glEventHub:n}=this.props,r=T.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){Ne.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}),Me(e)){var{table:r}=e,{pluginName:a}=r;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}var s=T.getIdFromPanel(this);k(s),Ut(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=T.getIdFromPanel(this);k(n),At(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,S=a.getColumnIndexByName(e);k(S);var m=l.getVisibleColumn(S),b=(n=c.get(m))!==null&&n!==void 0?n:0,y=(r=p.get(m))!==null&&r!==void 0?r:0,C=Ke(m>v?o.right:o.left+b+y*.5,o.left,o.right),P=o.top+h*g;return[C,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=ae({},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:S,customColumnFormatMap:m,columnAlignmentMap:b,isFilterBarShown:y,quickFilters:C,reverse:P,rollupConfig:w,aggregationSettings:F,sorts:L,userColumnWidths:M,userRowHeights:D,showSearchBar:E,searchValue:j,selectDistinctColumns:R,selectedSearchColumns:A,invertSearchColumns:q,pendingDataMap:Ce,frozenColumns:Ie,conditionalFormats:xe,columnHeaderGroups:ie,partitionConfig:Ge}=this.irisGridUtils.hydrateIrisGridState(e,ae(ae({},l),o)),{isStuckToBottom:He,isStuckToRight:ot,movedColumns:dt,movedRows:ee}=H.hydrateGridState(e,ae(ae({},a),r),l.customColumns);this.setState({advancedFilters:g,advancedSettings:v,conditionalFormats:xe,customColumns:S,customColumnFormatMap:m,columnAlignmentMap:b,isFilterBarShown:y,isSelectingPartition:c,movedColumns:dt,movedRows:ee,partitions:p,quickFilters:C,reverse:P,rollupConfig:w,aggregationSettings:F,sorts:L,userColumnWidths:M,userRowHeights:D,showSearchBar:E,searchValue:j,selectDistinctColumns:R,selectedSearchColumns:A,invertSearchColumns:q,pendingDataMap:Ce,frozenColumns:Ie,isStuckToBottom:He,isStuckToRight:ot,columnHeaderGroups:ie,partitionConfig:Ge})}catch(ut){fe.error("loadPanelState failed to load panelState",t,ut)}}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:S,getMetricCalculator:m,theme:b}=this.props,{advancedFilters:y,aggregationSettings:C,advancedSettings:P,conditionalFormats:w,customColumns:F,customColumnFormatMap:L,columnAlignmentMap:M,error:D,isDisconnected:E,isFilterBarShown:j,isSelectingPartition:R,isStuckToBottom:A,isStuckToRight:q,isLoaded:Ce,isLoading:Ie,isModelReady:xe,model:ie,movedColumns:Ge,movedRows:He,partitions:ot,partitionConfig:dt,quickFilters:ee,reverse:ut,rollupConfig:he,sorts:me,userColumnWidths:ye,userRowHeights:Pe,showSearchBar:Be,searchValue:Yt,selectDistinctColumns:Qr,selectedSearchColumns:Jr,invertSearchColumns:ea,Plugin:ta,pluginFilters:na,pluginFetchColumns:ia,pendingDataMap:ra,frozenColumns:aa,columnHeaderGroups:la}=this.state,sa=D!=null?"Unable to open table. ".concat(D):void 0,oa=(e=ie==null?void 0:ie.description)!==null&&e!==void 0?e:void 0,da=(t=p==null?void 0:p.pluginState)!==null&&t!==void 0?t:null,ua=n??this.getPluginContent(ta,ie,da),{permissions:ha}=v,{canCopy:ca,canDownloadCsv:pa}=ha,_n=this.getWidgetPanelDescriptor(h,oa);return u.jsx(Ft,{errorMessage:sa,isDisconnected:E,isLoading:Ie,isLoaded:Ce,className:"iris-grid-panel",glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,componentPanel:this,descriptor:_n,renderTabTooltip:()=>u.jsx(Rs,{descriptor:_n,model:ie}),children:xe&&ie&&u.jsx(vn,{advancedFilters:y,aggregationSettings:C,advancedSettings:P,alwaysFetchColumns:this.getAlwaysFetchColumns(d,ia),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:F,customColumnFormatMap:L,columnAlignmentMap:M,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:w,inputFilters:this.getGridInputFilters(ie.columns,o),applyInputFiltersOnInit:p==null,isFilterBarShown:j,isSelectingColumn:l!=null,isSelectingPartition:R,isStuckToBottom:A,isStuckToRight:q,mouseHandlers:c,movedColumns:Ge,movedRows:He,partitions:ot,partitionConfig:dt,quickFilters:ee,renderer:g,reverse:ut,rollupConfig:he,settings:S,sorts:me,userColumnWidths:ye,userRowHeights:Pe,model:ie,showSearchBar:Be,searchValue:Yt,selectedSearchColumns:Jr,selectDistinctColumns:Qr,invertSearchColumns:ea,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:na,pendingDataMap:ra,canCopy:ca,canDownloadCsv:pa,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:aa,theme:b,columnHeaderGroups:la,getMetricCalculator:m,children:ua})})}}V(et,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});V(et,"displayName","IrisGridPanel");V(et,"COMPONENT","IrisGridPanel");var Vs=(i,e)=>{var{localDashboardId:t=Pa,glContainer:n}=e;return{inputFilters:wt(i,t),links:lt(i,t),columnSelectionValidator:Et(i,t),user:wa(i),settings:Ht(i)}},Dn=Ve(Vs,null,null,{forwardRef:!0})(et);function ft(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 di=B.module("InputFilter"),Bs=150;class tt extends f.Component{constructor(e){super(e),ft(this,"inputRef",void 0),ft(this,"getItemLabel",se((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})),ft(this,"sendUpdate",it(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},Bs)),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=ne.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)];di.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;di.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?tt.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(mn,{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(bt,{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:tt.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(oe,{icon:cn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}ft(tt,"PLACEHOLDER","Enter value...");ft(tt,"defaultProps",{column:null,isValueShown:!1,value:null});function qt(i,e,t){return(e=Ws(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ws(i){var e=Ks(i,"string");return typeof e=="symbol"?e:e+""}function Ks(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 zs=250;class Xt extends f.Component{constructor(e){super(e),qt(this,"inputFilterRef",void 0),this.handleChange=it(this.handleChange.bind(this),zs),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=ne.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,S=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&r===c.value;return s=(h=!g&&n&&(!S||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:r,timestamp:o},timestamp:o,wasFlipped:S,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=T.getIdFromPanel(this);k(l),Er(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(rt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(tt,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:l})})}}qt(Xt,"defaultProps",{panelState:null});qt(Xt,"COMPONENT","InputFilterPanel");qt(Xt,"displayName","InputFilterPanel");var qs=(i,e)=>{var{localDashboardId:t}=e;return{columns:hn(i,t)}},Ze=Ve(qs,null,null,{forwardRef:!0})(Xt);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 Nt(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){Mn(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 Mn(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 X=B.module("FilterSetManagerPanel");function Ys(i){return i.setPanelState!=null}class nt 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=T.getComponentNameFromPanel(r),l=T.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=T.getComponentConfigFromContainer(s);if(o==null){X.error("Could not get component config from container",s);return}var d=T.getPanelComponentState(o);if(d==null){X.debug("Panel state is null ".concat(l));return}switch(a){case T.getComponentName(et):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case T.getComponentName(Ze):case T.getComponentName(Xe):{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=nt.changeFilterIndexesToColumnNames(r,s));var h;return o&&(h=nt.changeFilterIndexesToColumnNames(r,o)),{irisGridState:Nt(Nt({},a),{},{advancedFilters:d,quickFilters:h}),gridState:Nt({},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 T.getComponentName(et):this.restoreIrisGridFilters(d,o,r);break;case T.getComponentName(Ze):case T.getComponentName(Xe):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=T.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=Nt({},t);delete n.isValueShown,X.debug("restoreInputFilterState",e,n),e&&Ys(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:a}=this.state;return u.jsx(rt,{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(yt,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Mn(nt,"defaultProps",{panelState:null});Mn(nt,"COMPONENT","FilterSetManagerPanel");var Qs=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:Ji(i,t),dashboardOpenedPanelMap:qi(i,t),dashboardInputFilters:wt(i,t),panelTableMap:Vt(i,t)}},xt=Ve(Qs,{setDashboardFilterSets:Qi},null,{forwardRef:!0})(nt);function Js(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)}class Mr 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:de("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(oe,{icon:ur})]})}),t]})}}Js(Mr,"defaultProps",{isEditing:!1});function no(i,e,t){return(e=io(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function io(i){var e=ro(i,"string");return typeof e=="symbol"?e:e+""}function ro(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 ao=B.module("MarkdownStartPage");class kr 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(ao.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(oe,{icon:pn})})]},l.id)),u.jsxs(sl,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(ol,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(dl,{children:"You can't undo this action."}),u.jsxs(Ea,{children:[u.jsx(N,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(N,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}no(kr,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});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)}class Se{static getNewMarkdownTitle(e){for(var t="".concat(Se.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Se.DEFAULT_TITLE,"-").concat(n);return t}}kn(Se,"DEFAULT_TITLE","Note");kn(Se,"DEFAULT_CONTENT",`# Markdown Note
5
5
 
6
- This note can be edited using **markdown** for styling.`);kn(Se,"getClosedMarkdowns",O(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));function gt(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=f.lazy(()=>Tl(()=>import("./MarkdownEditor-C2AAm9ih.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url)),jt=B.module("MarkdownPanel");class Ln extends f.Component{constructor(e){super(e),gt(this,"markdownEditor",void 0),gt(this,"editor",void 0),gt(this,"getClosedMarkdowns",O(Se.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=Se.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){jt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){jt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){jt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=T.getComponentConfigFromContainer(t);n.emit(te.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(te.DELETE,e)}handleEditorBlur(e){var t;jt.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(rt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(kr,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(Mr,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(f.Suspense,{fallback:u.jsx(St,{"data-testid":"markdown-panel-loading"}),children:u.jsx(ho,{ref:o=>{this.markdownEditor=o},isEditing:r,content:l??Se.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}gt(Ln,"defaultProps",{panelState:null});gt(Ln,"COMPONENT","MarkdownPanel");var co=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Ta(i,t)}},mt=Ve(co,null,null,{forwardRef:!0})(Ln);function Lr(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(oe,{icon:hr,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}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 ci(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){Pt(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 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 po(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 Pt(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)}class Zt extends f.Component{constructor(e){super(e),Pt(this,"irisGridRef",void 0),Pt(this,"model",null),this.irisGridRef=ne.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 po(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(Dn,ci(ci({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{makeModel:e,children:u.jsx(Lr,{onClick:this.handleReload})}))}}Pt(Zt,"defaultProps",{panelState:null});Pt(Zt,"COMPONENT","PandasPanel");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 mi(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 fi(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=go(i,"string");return typeof e=="symbol"?e:e+""}function go(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 bo{constructor(e){fi(this,"items",void 0),fi(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];Un(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];Un(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return mi(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return mi(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 gi(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 ht(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){gi(a,n,r,l,s,"next",o)}function s(o){gi(a,n,r,l,s,"throw",o)}l(void 0)})}}function So(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=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)}class Po{constructor(e){So(this,"items",void 0),this.items=e}getTable(){var e=this;return ht(function*(){return new bo(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return ht(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return ht(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return ht(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=Fa.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return ht(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Da;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 wo=rt,Eo=rt;function bi(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 $t(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bi(Object(t),!0).forEach(function(n){To(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):bi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function To(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=Do(i,"string");return typeof e=="symbol"?e:e+""}function Do(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 Or(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 Mo(i,e,t,n){return sn.apply(this,arguments)}function sn(){return sn=Or(function*(i,e,t,n){var r={},a="",l={};if(qe(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=$t($t({},r),n.settings))),a!=null&&a!==""){var s=yield t();return new H(i).applyTableSettings(s,l,er(ul.getState())),Qe.makeModelFromSettings(i,r,s)}var o=yield t();return Qe.makeModel(i,r,o)}),sn.apply(this,arguments)}var On=f.forwardRef((i,e)=>{var t=wr(i)?i.panelState:void 0,{fetch:n,metadata:r,localDashboardId:a}=i;k(r);var[l,s]=Dl(r),o=f.useCallback(Or(function*(){if(s!=null)throw s;return l==null?new Promise(()=>{}):Mo(l,r,n,t)}),[l,s,r,n,t]);return u.jsx(Fn,$t($t({ref:e},i),{},{metadata:r,localDashboardId:a,makeModel:o}))});On.displayName="ChartPanelPlugin";function Ci(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){Ci(a,n,r,l,s,"next",o)}function s(o){Ci(a,n,r,l,s,"throw",o)}l(void 0)})}}function Nr(i){var e=Bt(),[t,n]=f.useState(),{fetch:r}=i;return f.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=ko(function*(){var o=yield r(),d=yield Qe.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,r]),t?u.jsx(pr,{model:t}):null}var Lo={name:"ChartPanel",title:"Chart",type:je.WIDGET_PLUGIN,component:Nr,panelComponent:On,supportedTypes:"Figure",icon:hl};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 Oo(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){Tt(i);var{id:e,layout:t}=i,n=f.useCallback(r=>{var{metadata:a,panelId:l=ue(),table:s}=r,{settings:o}=a,d=function(){var v=Oo(function*(){return s});return function(){return v.apply(this,arguments)}}(),h=J.titleFromSettings(o),c={type:"react-component",component:Fn.COMPONENT,props:{localDashboardId:e,id:l,metadata:a,fetch:d},title:h,id:l},{root:p}=t;T.openComponent({root:p,config:c})},[e,t]);return Ue(t.eventHub,Z.CREATE_CHART,n),null}var No={name:"ChartBuilderPlugin",type:je.DASHBOARD_PLUGIN,component:jr},ct=B.module("FilterPlugin");function Ir(i){Tt(i);var{id:e,layout:t,registerComponent:n}=i,r=ma(),[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((C,P)=>{var w=ge.toLower(C.name),F=ge.toLower(P.name);if(w!==F)return w>F?1:-1;var L=ge.toLower(C.type),M=ge.toLower(P.type);return L!==M?L>M?1:-1:0}).reduce((C,P)=>((C.length===0||ge.toLower(C[C.length-1].name)!==ge.toLower(P.name)||ge.toLower(C[C.length-1].type)!==ge.toLower(P.type))&&C.push(P),C),[]),b=Array.from(l.values()).flat().sort((C,P)=>C.timestamp-P.timestamp),y=new Map(s);ct.debug("sendUpdate",{columns:m,filters:b,tableMap:y}),r(Ma(e,{columns:m,filters:b,tableMap:y}))},[r,e,a,l,s]),d=f.useCallback((m,b)=>{ct.debug2("handleColumnsChanged",m,b),b==null?a.delete(m):a.set(m,[].concat(b)),o()},[a,o]),h=f.useCallback((m,b)=>{ct.debug2("handleFiltersChanged",m,b),b==null?l.delete(m):l.set(m,[].concat(b??[])),o()},[l,o]),c=f.useCallback((m,b)=>{ct.debug2("handleTableChanged",m,b),b==null?s.delete(m):s.set(m,b),o()},[s,o]),p=f.useCallback(m=>{ct.debug2("handlePanelUnmount",m);var b=T.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:C=null,id:P=ue(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Xe.COMPONENT,props:{id:P,metadata:y,panelState:C,localDashboardId:e},title:b,id:P},{root:D}=t;T.openComponent({root:D,config:M,focusElement:w,createNewStack:F,dragEvent:L})},[t,e]),g=f.useCallback(m=>{var{title:b="InputFilter",metadata:y={},panelState:C=null,id:P=ue(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Ze.COMPONENT,props:{id:P,metadata:y,panelState:C,localDashboardId:e},title:b,id:P},{root:D}=t;T.openComponent({root:D,config:M,focusElement:w,createNewStack:F,dragEvent:L})},[t,e]),S=f.useCallback(m=>{var{title:b="FilterSets",metadata:y={},panelState:C=null,id:P=ue(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:xt.COMPONENT,props:{id:P,metadata:y,panelState:C,localDashboardId:e},title:b,id:P},{root:D}=t;T.openComponent({root:D,config:M,focusElement:w,createNewStack:F,dragEvent:L})},[t,e]);return f.useEffect(function(){var b=[n(Xe.COMPONENT,Xe),n(Ze.COMPONENT,Ze),n(xt.COMPONENT,xt)];return()=>{b.forEach(y=>y())}},[n]),us(t.eventHub,d),cs(t.eventHub,h),hs(t.eventHub,c),Ue(t.eventHub,De.OPEN_DROPDOWN,v),Ue(t.eventHub,De.OPEN_INPUT,g),Ue(t.eventHub,De.OPEN_FILTER_SET_MANAGER,S),Ue(t.eventHub,te.UNMOUNT,p),null}var jo={name:"FilterPlugin",type:je.DASHBOARD_PLUGIN,component:Ir},Io=B.module("@deephaven/app-utils/useTablePlugin");function Nn(){var i=tr(),e=f.useCallback(t=>{var n=i.get(t);if(n!=null){if(ka(n))return n.component;if(La(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw Io.error(r),new Error(r)},[i]);return e}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 xo(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 xr(i,e,t){var n=Bt(),r=Nn(),a=f.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var l=xo(function*(){var o=yield i();return mr.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return a}function wi(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 Ei(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wi(Object(t),!0).forEach(function(n){_o(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):wi(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)}var jn=f.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=xr(n,t,r);return u.jsx(Dn,Ei(Ei({ref:e},i),a))});jn.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 en(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 _r(i){var e=Bt(),[t,n]=f.useState(),[r,a]=f.useState(),[l,s]=f.useState(!0),o=f.useCallback(en(function*(){var c=yield i();return mr.makeModel(e,c)}),[e,i]),d=f.useCallback(en(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=en(function*(){s(!0),a(void 0);try{var g=yield o();c||(n(g),s(!1))}catch(S){c||(a(S),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 Rr(i,e){var{eventHub:t}=Wt(),n=nr(),r=on();f.useEffect(function(){r==null||i==null||At(t,r,i)},[t,r,i]),f.useEffect(function(){e==null||r==null||Ut(t,r,e)},[t,r,e]),f.useEffect(function(){if(r!=null)return()=>{At(t,r,null),Ut(t,r,null)}},[t,r]);var a=f.useCallback(o=>wt(o,n),[n]),l=rn(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 Ar(i,e){var{eventHub:t}=Wt(),n=nr(),r=on(),a=ir(),l=f.useCallback(m=>lt(m,n),[n]),s=rn(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=>Et(m,n),[n]),h=rn(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,C;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:F}=e.state;k(F);var{columnHeaderHeight:L,allColumnXs:M,allColumnWidths:D,right:E,columnHeaderMaxDepth:j}=F,R=i.getColumnIndexByName(m);k(R);var A=e.getVisibleColumn(R),q=(y=M.get(A))!==null&&y!==void 0?y:0,Ce=(C=D.get(A))!==null&&C!==void 0?C:0,Ie=Ke(A>E?w.right:w.left+q+Ce*.5,w.left,w.right),xe=w.top+L*j;return[Ie,xe]},[i,e]),S=f.useCallback(m=>{r!=null&&Kt(t,r,m,{type:"tableLink"})},[t,r]);return f.useEffect(function(){if(!(!e||a==null||r==null))return ti(t,r,{getCoordinates:g,setFilterValues:e.setFilterMap,unsetFilterValue:()=>{},panelId:a}),()=>{ti(t,r,null)}},[t,r,g,e,a]),{alwaysFetchColumns:o,columnSelectionValidator:c,isSelectingColumn:p,onColumnSelected:S,onDataSelected:v}}var Ur=f.forwardRef((i,e)=>{var{name:t,model:n,filter:r,fetchColumns:a,selectedRanges:l,irisGridRef:s,pluginState:o,onStateChange:d}=i,h=Nn(),c=f.useMemo(()=>h(t),[h,t]),p=Wt(),v=ir(),g=f.useMemo(()=>{var m;if(v==null)return"unknown";var b=T.getContentItemById(p.root,v);return(m=b==null?void 0:b.config.title)!==null&&m!==void 0?m:"unknown"},[p.root,v]),S=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:S})})});Ur.displayName="TablePluginWrapper";function $r(i){var{model:e,irisGridRef:t,irisGridUtils:n,selectedRanges:r}=i,[a,l]=f.useState([]),s=f.useMemo(()=>e!=null&&n!=null&&Me(e)?n.getFiltersFromInputFilters(e.table.columns,a,e.formatter.timeZone):[],[e,n,a]),[o,d]=f.useState([]),h=f.useRef(null),[c,p]=br(void 0,{version:1,type:"GridWidgetTablePluginState"}),v=f.useMemo(()=>e!=null&&Me(e)&&e.table.pluginName!=null?u.jsx(Ur,{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(S=>{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,S))!==null&&m!==void 0?m:[]},[]);return{Plugin:v,customFilters:s,alwaysFetchColumns:o,onContextMenu:g}}var Uo=["alwaysFetchColumns"];function $o(i,e){if(i==null)return{};var t,n,r=Vo(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 Vo(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 Fi(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 pt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fi(Object(t),!0).forEach(function(n){Go(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Fi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Go(i,e,t){return(e=Ho(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ho(i){var e=Bo(i,"string");return typeof e=="symbol"?e:e+""}function Bo(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 Vr(i){var e,{fetch:t}=i,n=fa(Ht),{eventHub:r}=Wt(),a=_r(t),l=a.status==="success"?a.model:void 0,s=Bt(),o=f.useMemo(()=>new H(s),[s]),[d,h]=br(void 0,{version:1,type:"GridWidgetPlugin"}),c=f.useRef(d),p=f.useMemo(()=>{if(!(a.status!=="success"||c.current===void 0))return pt(pt({},o.hydrateIrisGridState(a.model,c.current)),H.hydrateGridState(a.model,c.current))},[a,o]),v=f.useMemo(()=>an.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]),S=Rr((e=l==null?void 0:l.columns)!==null&&e!==void 0?e:null,l!=null&&Me(l)?l.table:void 0),m=f.useRef(null),b=Ar(a.status==="success"?a.model:null,m.current),{alwaysFetchColumns:y}=b,C=$o(b,Uo),P=f.useCallback(()=>{m.current!=null&&m.current.clearAllFilters()},[]);Ue(r,De.CLEAR_ALL_FILTERS,P);var[w,F]=f.useState([]),{Plugin:L,customFilters:M,alwaysFetchColumns:D,onContextMenu:E}=$r({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:rr(a.error),isLoading:!1}):(k(l,"Model should be defined when fetch is successful"),u.jsx(vn,pt(pt(pt({ref:m,model:l,settings:n,onStateChange:g,onSelectionChanged:F,onContextMenu:E,inputFilters:S,customFilters:M},C),{},{alwaysFetchColumns:j},p),{},{children:L})))}var Wo={name:"IrisGridPanel",title:"Table",type:je.WIDGET_PLUGIN,component:Vr,panelComponent:jn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:cl};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 Le(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){Ko(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 Ko(i,e,t){return(e=zo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zo(i){var e=qo(i,"string");return typeof e=="symbol"?e:e+""}function qo(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=i;return typeof e.getCoordinateForColumn=="function"}function Mi(i){var e=i;return Gr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function ki(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var Li=B.module("LinkerUtils");class Ae{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 Li.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:(Li.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(Le(Le({},a),{},{id:ue(),start:Le(Le({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&r.push(Le(Le({},a),{},{id:ue(),end:Le(Le({},a.end),{},{panelId:n})}))}),r}}function Hr(i,e,t){return(e=Xo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xo(i){var e=Zo(i,"string");return typeof e=="symbol"?e:e+""}function Zo(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 Yo=B.module("LinkerLink"),Oi=.015,Ni=1.5,Br=12,Wr=12,ji=2,It=Math.sqrt((Wr*.5)**2+Br**2),Ii=Math.asin(Wr*.5/Br),xi=15,Oe=Math.PI*.5;class Ye 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 Pl(t);if(z.isTextType(e))return wl(t);if(z.isDateType(e))return El(t);if(z.isBooleanType(e)){if(t===ze.eq)return"is equal to";if(t===ze.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return Yo.warn(n),""}}constructor(e){super(e),Hr(this,"getOperators",O((t,n)=>{var{onOperatorChanged:r}=this.props,a=z.getFilterTypes(n);return z.isBooleanType(n)&&(a=[ze.eq,ze.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:Ye.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),S=Math.cos(v)+2,m=window.innerWidth,b=window.innerHeight,y=0,C=0,P=Math.max(y,Math.min(r+(l-r)/2+g*(p*Oi)**Ni,m)),w=Math.max(C,Math.min(a+(s-a)/2+S*(p*Oi)**Ni,b)),F="M ".concat(r," ").concat(a," Q ").concat(P," ").concat(w," ").concat(l," ").concat(s),L="M ".concat(y," ").concat(C," L ").concat(y," ").concat(b," L ").concat(m," ").concat(b," L ").concat(m," ").concat(C,` z
6
+ This note can be edited using **markdown** for styling.`);kn(Se,"getClosedMarkdowns",O(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));function gt(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=f.lazy(()=>Tl(()=>import("./MarkdownEditor-Bww40EVD.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url)),jt=B.module("MarkdownPanel");class Ln extends f.Component{constructor(e){super(e),gt(this,"markdownEditor",void 0),gt(this,"editor",void 0),gt(this,"getClosedMarkdowns",O(Se.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=Se.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){jt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){jt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){jt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=T.getComponentConfigFromContainer(t);n.emit(te.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(te.DELETE,e)}handleEditorBlur(e){var t;jt.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(rt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(kr,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(Mr,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(f.Suspense,{fallback:u.jsx(St,{"data-testid":"markdown-panel-loading"}),children:u.jsx(ho,{ref:o=>{this.markdownEditor=o},isEditing:r,content:l??Se.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}gt(Ln,"defaultProps",{panelState:null});gt(Ln,"COMPONENT","MarkdownPanel");var co=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Ta(i,t)}},mt=Ve(co,null,null,{forwardRef:!0})(Ln);function Lr(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(oe,{icon:hr,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}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 ci(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){Pt(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 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 po(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 Pt(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)}class Zt extends f.Component{constructor(e){super(e),Pt(this,"irisGridRef",void 0),Pt(this,"model",null),this.irisGridRef=ne.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 po(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(Dn,ci(ci({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{makeModel:e,children:u.jsx(Lr,{onClick:this.handleReload})}))}}Pt(Zt,"defaultProps",{panelState:null});Pt(Zt,"COMPONENT","PandasPanel");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 mi(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 fi(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=go(i,"string");return typeof e=="symbol"?e:e+""}function go(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 bo{constructor(e){fi(this,"items",void 0),fi(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];Un(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];Un(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return mi(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return mi(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 gi(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 ht(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){gi(a,n,r,l,s,"next",o)}function s(o){gi(a,n,r,l,s,"throw",o)}l(void 0)})}}function So(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=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)}class Po{constructor(e){So(this,"items",void 0),this.items=e}getTable(){var e=this;return ht(function*(){return new bo(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return ht(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return ht(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return ht(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=Fa.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return ht(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Da;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 wo=rt,Eo=rt;function bi(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 $t(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bi(Object(t),!0).forEach(function(n){To(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):bi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function To(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=Do(i,"string");return typeof e=="symbol"?e:e+""}function Do(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 Or(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 Mo(i,e,t,n){return sn.apply(this,arguments)}function sn(){return sn=Or(function*(i,e,t,n){var r={},a="",l={};if(qe(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=$t($t({},r),n.settings))),a!=null&&a!==""){var s=yield t();return new H(i).applyTableSettings(s,l,er(ul.getState())),Qe.makeModelFromSettings(i,r,s)}var o=yield t();return Qe.makeModel(i,r,o)}),sn.apply(this,arguments)}var On=f.forwardRef((i,e)=>{var t=wr(i)?i.panelState:void 0,{fetch:n,metadata:r,localDashboardId:a}=i;k(r);var[l,s]=Dl(r),o=f.useCallback(Or(function*(){if(s!=null)throw s;return l==null?new Promise(()=>{}):Mo(l,r,n,t)}),[l,s,r,n,t]);return u.jsx(Fn,$t($t({ref:e},i),{},{metadata:r,localDashboardId:a,makeModel:o}))});On.displayName="ChartPanelPlugin";function Ci(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){Ci(a,n,r,l,s,"next",o)}function s(o){Ci(a,n,r,l,s,"throw",o)}l(void 0)})}}function Nr(i){var e=Bt(),[t,n]=f.useState(),{fetch:r}=i;return f.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=ko(function*(){var o=yield r(),d=yield Qe.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,r]),t?u.jsx(pr,{model:t}):null}var Lo={name:"ChartPanel",title:"Chart",type:je.WIDGET_PLUGIN,component:Nr,panelComponent:On,supportedTypes:"Figure",icon:hl};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 Oo(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){Tt(i);var{id:e,layout:t}=i,n=f.useCallback(r=>{var{metadata:a,panelId:l=ue(),table:s}=r,{settings:o}=a,d=function(){var v=Oo(function*(){return s});return function(){return v.apply(this,arguments)}}(),h=J.titleFromSettings(o),c={type:"react-component",component:Fn.COMPONENT,props:{localDashboardId:e,id:l,metadata:a,fetch:d},title:h,id:l},{root:p}=t;T.openComponent({root:p,config:c})},[e,t]);return Ue(t.eventHub,Z.CREATE_CHART,n),null}var No={name:"ChartBuilderPlugin",type:je.DASHBOARD_PLUGIN,component:jr},ct=B.module("FilterPlugin");function Ir(i){Tt(i);var{id:e,layout:t,registerComponent:n}=i,r=ma(),[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((C,P)=>{var w=ge.toLower(C.name),F=ge.toLower(P.name);if(w!==F)return w>F?1:-1;var L=ge.toLower(C.type),M=ge.toLower(P.type);return L!==M?L>M?1:-1:0}).reduce((C,P)=>((C.length===0||ge.toLower(C[C.length-1].name)!==ge.toLower(P.name)||ge.toLower(C[C.length-1].type)!==ge.toLower(P.type))&&C.push(P),C),[]),b=Array.from(l.values()).flat().sort((C,P)=>C.timestamp-P.timestamp),y=new Map(s);ct.debug("sendUpdate",{columns:m,filters:b,tableMap:y}),r(Ma(e,{columns:m,filters:b,tableMap:y}))},[r,e,a,l,s]),d=f.useCallback((m,b)=>{ct.debug2("handleColumnsChanged",m,b),b==null?a.delete(m):a.set(m,[].concat(b)),o()},[a,o]),h=f.useCallback((m,b)=>{ct.debug2("handleFiltersChanged",m,b),b==null?l.delete(m):l.set(m,[].concat(b??[])),o()},[l,o]),c=f.useCallback((m,b)=>{ct.debug2("handleTableChanged",m,b),b==null?s.delete(m):s.set(m,b),o()},[s,o]),p=f.useCallback(m=>{ct.debug2("handlePanelUnmount",m);var b=T.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:C=null,id:P=ue(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Xe.COMPONENT,props:{id:P,metadata:y,panelState:C,localDashboardId:e},title:b,id:P},{root:D}=t;T.openComponent({root:D,config:M,focusElement:w,createNewStack:F,dragEvent:L})},[t,e]),g=f.useCallback(m=>{var{title:b="InputFilter",metadata:y={},panelState:C=null,id:P=ue(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:Ze.COMPONENT,props:{id:P,metadata:y,panelState:C,localDashboardId:e},title:b,id:P},{root:D}=t;T.openComponent({root:D,config:M,focusElement:w,createNewStack:F,dragEvent:L})},[t,e]),S=f.useCallback(m=>{var{title:b="FilterSets",metadata:y={},panelState:C=null,id:P=ue(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:F=!1,dragEvent:L=void 0}=m,M={type:"react-component",component:xt.COMPONENT,props:{id:P,metadata:y,panelState:C,localDashboardId:e},title:b,id:P},{root:D}=t;T.openComponent({root:D,config:M,focusElement:w,createNewStack:F,dragEvent:L})},[t,e]);return f.useEffect(function(){var b=[n(Xe.COMPONENT,Xe),n(Ze.COMPONENT,Ze),n(xt.COMPONENT,xt)];return()=>{b.forEach(y=>y())}},[n]),us(t.eventHub,d),cs(t.eventHub,h),hs(t.eventHub,c),Ue(t.eventHub,De.OPEN_DROPDOWN,v),Ue(t.eventHub,De.OPEN_INPUT,g),Ue(t.eventHub,De.OPEN_FILTER_SET_MANAGER,S),Ue(t.eventHub,te.UNMOUNT,p),null}var jo={name:"FilterPlugin",type:je.DASHBOARD_PLUGIN,component:Ir},Io=B.module("@deephaven/app-utils/useTablePlugin");function Nn(){var i=tr(),e=f.useCallback(t=>{var n=i.get(t);if(n!=null){if(ka(n))return n.component;if(La(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw Io.error(r),new Error(r)},[i]);return e}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 xo(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 xr(i,e,t){var n=Bt(),r=Nn(),a=f.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var l=xo(function*(){var o=yield i();return mr.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return a}function wi(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 Ei(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wi(Object(t),!0).forEach(function(n){_o(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):wi(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)}var jn=f.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=xr(n,t,r);return u.jsx(Dn,Ei(Ei({ref:e},i),a))});jn.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 en(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 _r(i){var e=Bt(),[t,n]=f.useState(),[r,a]=f.useState(),[l,s]=f.useState(!0),o=f.useCallback(en(function*(){var c=yield i();return mr.makeModel(e,c)}),[e,i]),d=f.useCallback(en(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=en(function*(){s(!0),a(void 0);try{var g=yield o();c||(n(g),s(!1))}catch(S){c||(a(S),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 Rr(i,e){var{eventHub:t}=Wt(),n=nr(),r=on();f.useEffect(function(){r==null||i==null||At(t,r,i)},[t,r,i]),f.useEffect(function(){e==null||r==null||Ut(t,r,e)},[t,r,e]),f.useEffect(function(){if(r!=null)return()=>{At(t,r,null),Ut(t,r,null)}},[t,r]);var a=f.useCallback(o=>wt(o,n),[n]),l=rn(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 Ar(i,e){var{eventHub:t}=Wt(),n=nr(),r=on(),a=ir(),l=f.useCallback(m=>lt(m,n),[n]),s=rn(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=>Et(m,n),[n]),h=rn(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,C;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:F}=e.state;k(F);var{columnHeaderHeight:L,allColumnXs:M,allColumnWidths:D,right:E,columnHeaderMaxDepth:j}=F,R=i.getColumnIndexByName(m);k(R);var A=e.getVisibleColumn(R),q=(y=M.get(A))!==null&&y!==void 0?y:0,Ce=(C=D.get(A))!==null&&C!==void 0?C:0,Ie=Ke(A>E?w.right:w.left+q+Ce*.5,w.left,w.right),xe=w.top+L*j;return[Ie,xe]},[i,e]),S=f.useCallback(m=>{r!=null&&Kt(t,r,m,{type:"tableLink"})},[t,r]);return f.useEffect(function(){if(!(!e||a==null||r==null))return ti(t,r,{getCoordinates:g,setFilterValues:e.setFilterMap,unsetFilterValue:()=>{},panelId:a}),()=>{ti(t,r,null)}},[t,r,g,e,a]),{alwaysFetchColumns:o,columnSelectionValidator:c,isSelectingColumn:p,onColumnSelected:S,onDataSelected:v}}var Ur=f.forwardRef((i,e)=>{var{name:t,model:n,filter:r,fetchColumns:a,selectedRanges:l,irisGridRef:s,pluginState:o,onStateChange:d}=i,h=Nn(),c=f.useMemo(()=>h(t),[h,t]),p=Wt(),v=ir(),g=f.useMemo(()=>{var m;if(v==null)return"unknown";var b=T.getContentItemById(p.root,v);return(m=b==null?void 0:b.config.title)!==null&&m!==void 0?m:"unknown"},[p.root,v]),S=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:S})})});Ur.displayName="TablePluginWrapper";function $r(i){var{model:e,irisGridRef:t,irisGridUtils:n,selectedRanges:r}=i,[a,l]=f.useState([]),s=f.useMemo(()=>e!=null&&n!=null&&Me(e)?n.getFiltersFromInputFilters(e.table.columns,a,e.formatter.timeZone):[],[e,n,a]),[o,d]=f.useState([]),h=f.useRef(null),[c,p]=br(void 0,{version:1,type:"GridWidgetTablePluginState"}),v=f.useMemo(()=>e!=null&&Me(e)&&e.table.pluginName!=null?u.jsx(Ur,{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(S=>{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,S))!==null&&m!==void 0?m:[]},[]);return{Plugin:v,customFilters:s,alwaysFetchColumns:o,onContextMenu:g}}var Uo=["alwaysFetchColumns"];function $o(i,e){if(i==null)return{};var t,n,r=Vo(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 Vo(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 Fi(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 pt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fi(Object(t),!0).forEach(function(n){Go(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Fi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Go(i,e,t){return(e=Ho(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ho(i){var e=Bo(i,"string");return typeof e=="symbol"?e:e+""}function Bo(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 Vr(i){var e,{fetch:t}=i,n=fa(Ht),{eventHub:r}=Wt(),a=_r(t),l=a.status==="success"?a.model:void 0,s=Bt(),o=f.useMemo(()=>new H(s),[s]),[d,h]=br(void 0,{version:1,type:"GridWidgetPlugin"}),c=f.useRef(d),p=f.useMemo(()=>{if(!(a.status!=="success"||c.current===void 0))return pt(pt({},o.hydrateIrisGridState(a.model,c.current)),H.hydrateGridState(a.model,c.current))},[a,o]),v=f.useMemo(()=>an.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]),S=Rr((e=l==null?void 0:l.columns)!==null&&e!==void 0?e:null,l!=null&&Me(l)?l.table:void 0),m=f.useRef(null),b=Ar(a.status==="success"?a.model:null,m.current),{alwaysFetchColumns:y}=b,C=$o(b,Uo),P=f.useCallback(()=>{m.current!=null&&m.current.clearAllFilters()},[]);Ue(r,De.CLEAR_ALL_FILTERS,P);var[w,F]=f.useState([]),{Plugin:L,customFilters:M,alwaysFetchColumns:D,onContextMenu:E}=$r({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:rr(a.error),isLoading:!1}):(k(l,"Model should be defined when fetch is successful"),u.jsx(vn,pt(pt(pt({ref:m,model:l,settings:n,onStateChange:g,onSelectionChanged:F,onContextMenu:E,inputFilters:S,customFilters:M},C),{},{alwaysFetchColumns:j},p),{},{children:L})))}var Wo={name:"IrisGridPanel",title:"Table",type:je.WIDGET_PLUGIN,component:Vr,panelComponent:jn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:cl};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 Le(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){Ko(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 Ko(i,e,t){return(e=zo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zo(i){var e=qo(i,"string");return typeof e=="symbol"?e:e+""}function qo(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=i;return typeof e.getCoordinateForColumn=="function"}function Mi(i){var e=i;return Gr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function ki(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var Li=B.module("LinkerUtils");class Ae{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 Li.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:(Li.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(Le(Le({},a),{},{id:ue(),start:Le(Le({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&r.push(Le(Le({},a),{},{id:ue(),end:Le(Le({},a.end),{},{panelId:n})}))}),r}}function Hr(i,e,t){return(e=Xo(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xo(i){var e=Zo(i,"string");return typeof e=="symbol"?e:e+""}function Zo(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 Yo=B.module("LinkerLink"),Oi=.015,Ni=1.5,Br=12,Wr=12,ji=2,It=Math.sqrt((Wr*.5)**2+Br**2),Ii=Math.asin(Wr*.5/Br),xi=15,Oe=Math.PI*.5;class Ye 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 Pl(t);if(z.isTextType(e))return wl(t);if(z.isDateType(e))return El(t);if(z.isBooleanType(e)){if(t===ze.eq)return"is equal to";if(t===ze.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return Yo.warn(n),""}}constructor(e){super(e),Hr(this,"getOperators",O((t,n)=>{var{onOperatorChanged:r}=this.props,a=z.getFilterTypes(n);return z.isBooleanType(n)&&(a=[ze.eq,ze.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:Ye.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),S=Math.cos(v)+2,m=window.innerWidth,b=window.innerHeight,y=0,C=0,P=Math.max(y,Math.min(r+(l-r)/2+g*(p*Oi)**Ni,m)),w=Math.max(C,Math.min(a+(s-a)/2+S*(p*Oi)**Ni,b)),F="M ".concat(r," ").concat(a," Q ").concat(P," ").concat(w," ").concat(l," ").concat(s),L="M ".concat(y," ").concat(C," L ").concat(y," ").concat(b," L ").concat(m," ").concat(b," L ").concat(m," ").concat(C,` z
7
7
  `).concat(Ye.makeCirclePath(r,a,xi),`
8
8
  `).concat(Ye.makeCirclePath(l,s,xi)),M="link-select-clip-".concat(o),D=Math.atan2(s-w,l-P),E=D-Ii+Math.PI,j=D+Ii+Math.PI,R=l+Math.cos(D)*ji,A=s+Math.sin(D)*ji,q=R+Math.cos(E)*It,Ce=A+Math.sin(E)*It,Ie=R+Math.cos(j)*It,xe=A+Math.sin(j)*It,ie="".concat(R,",").concat(A," ").concat(q,",").concat(Ce," ").concat(Ie,",").concat(xe),Ge=.25*r+.5*P+.25*l,He=.25*a+.5*w+.25*s,ot=P-r+(l-P),dt=w-a+(s-w),ee=dt/ot,ut=20,he=ut/Math.sqrt(1+ee**2),me=he*ee,ye=he*-1,Pe=me*-1;Number.isFinite(ee)?ee>0?(he*=-1,me*=-1,ye*=-1,Pe*=-1,ye-=50-10*(Math.abs(v)%Oe),Pe+=10*(Math.abs(v)%Oe),he-=50-10*(Math.abs(v)%Oe),me+=10*(Math.abs(v)%Oe)):ee<0?(ye+=10*(Math.abs(v)%Oe),Pe+=10*(Math.abs(v)%Oe),he+=10*(Math.abs(v)%Oe),me+=10*(Math.abs(v)%Oe)):(ye=15,Pe=10,he=-25,me=10):(ye=10,Pe=5,he=10,me=-35);var Be="";t!==void 0&&(t==="startsWith"?Be="a*":t==="endsWith"?Be="*z":Be=z.getFilterOperatorString(t));var Yt=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:de(e,{hovering:c}),children:[u.jsx("clipPath",{id:M,children:u.jsx("path",{d:L,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:F,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(M,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:F}),u.jsx("path",{className:"link-foreground",d:F}),u.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:ie})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[Yt&&u.jsx(N,{kind:"primary",className:"btn-fab btn-operator",style:{top:He+(ee>=0?me:Pe),left:Ge+(ee>=0?he:ye)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:Be}),u.jsx(oe,{icon:pl,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(Oa,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx(N,{kind:"primary",className:"btn-fab btn-delete",style:{top:He+(ee<0?me:Pe),left:Ge+(ee<0?he:ye)},onClick:this.handleDelete,icon:pn,tooltip:"Delete"})]})]})}}Hr(Ye,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});function _i(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 Ri(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_i(Object(t),!0).forEach(function(n){In(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):_i(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function In(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)}var tn=B.module("LinkerOverlayContent");class Kr extends f.Component{constructor(e){super(e),In(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=ne.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){tn.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(!Gr(d))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(l));try{var h=d.getCoordinateForColumn(a);if(h!=null)return h}catch{tn.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 T.getTabPoint(c)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:r}=this.props,a=n.map(l=>l.id===e?Ri(Ri({},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=Ke(e.x,0,window.innerWidth-t.width),r=Ke(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=Ke(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),l=Ke(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 S,m,{id:b,type:y,isReversed:C,start:P,end:w,operator:F}=g,L=P.columnType,[M,D]=this.getPointFromLinkPoint(P),E=(S=d==null?void 0:d.x)!==null&&S!==void 0?S:M,j=(m=d==null?void 0:d.y)!==null&&m!==void 0?m:D;if(w!=null&&([E,j]=this.getPointFromLinkPoint(w)),C!=null&&C){var[R,A]=[M,D];[M,D]=[E,j],[E,j]=[R,A]}var q=de("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:F,startColumnType:L,type:y}}catch(Ce){return tn.warn("Unable to get point for link",g,Ce),null}}).filter(g=>g!=null);return u.jsxs("div",{className:de("linker-overlay",{"danger-delete":p==="delete"}),children:[v.map(g=>{var{x1:S,y1:m,x2:b,y2:y,id:C,className:P,operator:w,startColumnType:F,type:L}=g;return u.jsx(Ye,{className:P,id:C,x1:S,y1:m,x2:b,y2:y,onClick:a,onDelete:l,isSelected:n.has(C),operator:w??ze.eq,startColumnType:F,type:L,onOperatorChanged:this.handleOperatorChanged},C)}),u.jsxs("div",{className:de("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:vl,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(Na,{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(Ki,{actions:[{action:this.handleEscapePressed,shortcut:ja.LINKER_CLOSE,isGlobal:!0}]})]})}}In(Kr,"defaultProps",{disabled:"false"});function Ai(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 Ui(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ai(Object(t),!0).forEach(function(n){_t(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ai(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function _t(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 K=B.module("Linker"),nd=(i,e)=>({activeTool:un(i),dh:Yi(i),isolatedLinkerPanelId:Gt(i,e.localDashboardId),links:lt(i,e.localDashboardId),timeZone:er(i)}),id=Ve(nd,{setActiveTool:zi,setDashboardLinks:or,addDashboardLinks:sr,deleteDashboardLinks:lr,setDashboardIsolatedLinkerPanelId:dn,setDashboardColumnSelectionValidator:ar});class rd extends f.Component{constructor(e){super(e),_t(this,"linkTargetPropMap",new Map),_t(this,"removerFns",[]),_t(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(Je.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(te.CLONED,this.handlePanelCloned),this.removerFns=[ds(t,this.handleColumnsChanged),ps(t,this.handleLinkPointSelected),vs(t,this.handleUpdateValues),ms(t,this.handleTargetRegistered)],t.on(te.CLOSE,this.handlePanelClosed),t.on(te.CLOSED,this.handlePanelClosed),t.on(te.DRAGGING,this.handlePanelDragging),t.on(te.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(Je.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(te.CLONED,this.handlePanelCloned),t.off(te.CLOSE,this.handlePanelClosed),t.off(te.CLOSED,this.handlePanelClosed),t.off(te.DRAGGING,this.handlePanelDragging),t.off(te.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=T.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&&Ae.findColumn(t,l)==null||s!=null&&s.panelId===e&&Ae.findColumn(t,s)==null});this.deleteLinks(r)}handleGridColumnSelect(e,t){if(!ki(t)){K.debug2("Column is not filterable");return}var n=T.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:ue(),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:S=!1}=s,m={panelId:e,columnName:o,columnType:d},b=!(S&&r)&&Ae.isLinkValid(S?m:v,S?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 C=S!==void 0&&S?v.panelId:m.panelId,P=p.filter(D=>{var{end:E}=D;return(E==null?void 0:E.panelId)===C});this.deleteLinks(P);break}case"chartLink":{var w=S===!0?v:m,F=S===!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)===F.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:S?m:v,end:S?v:m,id:g,type:y,operator:ze.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?Mi(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?Mi(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:S}=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:C,isExpandable:P,isGrouped:w}=t[o.columnName],{value:F}=t[o.columnName],L="".concat(F);if(F===null&&P&&w&&(F=void 0),S!=null&&z.isDateType(S)){var M=new Zi(n,{timeZone:a,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Ia.FULL_DATE_FORMAT});L=M.format(F)}y.push({operator:h,text:L,value:F,startColumnIndex:C}),b.set(g,{columnType:S,filterList:y}),l.set(v,b)}}l.forEach((D,E)=>{this.setPanelFilterMap(E,D)})}handlePanelCloned(e,t){var{links:n}=this.props,r=T.getIdFromPanel(e),a=t.id;if(r!=null){var l=Ae.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:Ui(Ui({},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":T.getComponentNameFromPanel(e)!=="IrisGridPanel";if(t==null)return(a==null?void 0:a.start)!=null&&this.updateLinkInProgressType("invalid"),!1;if(!ki(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:T.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?Ae.isLinkValid(c,d,l):Ae.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(nn,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(Kr,{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 ad=id(rd);function zr(i){Tt(i);var{id:e,layout:t,panelManager:n}=i;return u.jsx(ad,{layout:t,localDashboardId:e,panelManager:n})}var ld={name:"LinkerPlugin",type:je.DASHBOARD_PLUGIN,component:zr};function qr(i){Tt(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,a=f.useCallback(function(){var{title:l="",metadata:s={},id:o=ue(),focusElement:d=T.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:c=void 0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(mt.COMPONENT),v=p.map(y=>{var C;return(C=y.title)!==null&&C!==void 0?C:""}),g=l!=null&&l!==""?l:Se.getNewMarkdownTitle(v),S=null,m={type:"react-component",component:mt.COMPONENT,props:{id:o,metadata:s,panelState:{content:S},localDashboardId:e},title:g,id:o},{root:b}=t;T.openComponent({root:b,config:m,focusElement:d,createNewStack:h,dragEvent:c})},[e,t,n]);return f.useEffect(function(){var s=[r(mt.COMPONENT,mt)];return()=>{s.forEach(o=>o())}},[r]),Ue(t.eventHub,dr.OPEN,a),null}var sd={name:"MarkdownPlugin",type:je.DASHBOARD_PLUGIN,component:qr};function $i(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Vi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$i(Object(t),!0).forEach(function(n){od(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):$i(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function od(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 xn=f.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=xr(n,t,r);return u.jsx(Zt,Vi(Vi({ref:e},i),a))});xn.displayName="PandasPanelPlugin";function Xr(i){var{fetch:e}=i,t=_r(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:rr(t.error),isLoading:!1,"data-testid":"pandas-widget-plugin-loading-error"});var{model:n,reload:r}=t;return u.jsx(vn,{model:n,children:u.jsx(Lr,{onClick:r})})}var hd={name:"PandasPanel",title:"Pandas",type:je.WIDGET_PLUGIN,component:Xr,panelComponent:xn,supportedTypes:"pandas.DataFrame",icon:ml};function Gi(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 Re(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gi(Object(t),!0).forEach(function(n){cd(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Gi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function cd(i,e,t){return(e=pd(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pd(i){var e=vd(i,"string");return typeof e=="symbol"?e:e+""}function vd(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 md=B.module("WidgetLoaderPlugin");function fd(i){var e;function t(n,r){var a,l,s=i.component,{metadata:o}=n,d=Re(Re({},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=Ra(s);return u.jsx(Ft,Re(Re({descriptor:d},n),{},{children:h?u.jsx(s,Re(Re({},n),{},{ref:r})):u.jsx(s,Re({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),f.forwardRef(t)}function Zr(i){var e=tr(),t=f.useMemo(()=>{var s=new Map;return e.forEach(o=>{xa(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var h;md.warn("Multiple WidgetPlugins handling type ".concat(d,". Replacing ").concat((h=s.get(d))===null||h===void 0?void 0:h.name," with ").concat(o.name," to handle ").concat(d))}s.set(d,o)}})}),s},[e]);Tt(i);var{id:n,layout:r,registerComponent:a}=i,l=f.useCallback(s=>{var o,{dragEvent:d,panelId:h=ue(),fetch:c,widget:p}=s,{type:v}=p,g=v!=null?t.get(v):null;if(g!=null){var S=(o=p.name)!==null&&o!==void 0?o:v,m={localDashboardId:n,metadata:p,fetch:c},b={type:"react-component",component:g.name,props:m,title:S,id:h},{root:y}=r;T.openComponent({root:y,config:b,dragEvent:d})}},[n,r,t]);return f.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?a(o.name,fd(o)):a(o.name,d)});return()=>{s.forEach(o=>o())}},[a,t]),_a(r.eventHub,l),null}var gd={name:"WidgetLoaderPlugin",type:je.DASHBOARD_PLUGIN,component:Zr},bd=I.shape({state:I.shape({panelState:I.shape({})})}),Sd=I.shape({panelId:I.string.isRequired,columnName:I.string.isRequired,columnType:I.string.isRequired}),Hi=I.shape({panelId:I.string.isRequired,columnName:I.string.isRequired}),Yr=I.shape({start:Hi,end:Hi,id:I.string,isReversed:I.bool}),Cd=I.arrayOf(Yr),yd=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}),Pd=Object.freeze({LinkPoint:Sd,Link:Yr,Links:Cd,Panel:bd,User:yd}),wd=(i,e)=>i[e]===null?null:I.bool,Ed=(i,e)=>i[e]===null?null:I.string,Td=Object.freeze({nullableBoolean:wd,nullableString:Ed});const jd=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:jr,ChartBuilderPluginConfig:No,ChartEvent:Je,ChartPanel:Fn,ChartPanelPlugin:On,ChartPluginConfig:Lo,ChartWidgetPlugin:Nr,CommandHistoryPanel:Aa,CommonPropTypes:Td,ConsoleEvent:Ua,ConsolePanel:$a,ConsolePlugin:Va,ControlType:Ga,CorePanel:wo,DropdownFilterPanel:Xe,FileExplorerPanel:Ha,FilterPlugin:Ir,FilterPluginConfig:jo,FilterSetManager:yt,FilterSetManagerPanel:xt,GridPanelPlugin:jn,GridPluginConfig:Wo,GridWidgetPlugin:Vr,InputFilterEvent:De,InputFilterPanel:Ze,IrisGridEvent:Z,IrisGridPanel:Dn,LinkerPlugin:zr,LinkerPluginConfig:ld,LinkerUtils:Ae,LogPanel:Ba,MarkdownEvent:dr,MarkdownPanel:mt,MarkdownPlugin:qr,MarkdownPluginConfig:sd,MockFileStorage:Po,NotebookEvent:Wa,NotebookPanel:Ka,PandasEvent:gn,PandasPanel:Zt,PandasPanelPlugin:xn,PandasPluginConfig:hd,PandasWidgetPlugin:Xr,Panel:Eo,TabEvent:rs,ToolType:pe,UIPropTypes:Pd,WidgetLoaderPlugin:Zr,WidgetLoaderPluginConfig:gd,WidgetPanel:Ft,WidgetPanelTooltip:bn,addDashboardLinks:sr,deleteDashboardLinks:lr,getColumnSelectionValidatorForDashboard:Et,getColumnsForDashboard:hn,getDashboardConnection:za,getDashboardConsoleSettings:qa,getDashboardSessionWrapper:Xa,getFilterSetsForDashboard:Ji,getInputFiltersForDashboard:wt,getIsolatedLinkerPanelIdForDashboard:Gt,getLinksForDashboard:lt,getTableMapForDashboard:Vt,isChartPanelDehydratedProps:wr,isChartPanelFigureMetadata:yr,isChartPanelTableMetadata:qe,isGLChartPanelState:Pr,isIrisGridPanelMetadata:Dr,isLegacyIrisGridPanelMetadata:Fr,setDashboardColumnSelectionValidator:ar,setDashboardConnection:Za,setDashboardConsoleSettings:Ya,setDashboardFilterSets:Qi,setDashboardIsolatedLinkerPanelId:dn,setDashboardLinks:or,setDashboardSessionWrapper:Qa,useConfigureRuff:Ja,useDashboardColumnFilters:Rr,useGridLinker:Ar,useLoadTablePlugin:Nn,useTablePlugin:$r},Symbol.toStringTag,{value:"Module"}));export{mn as C,vr as D,Ct as F,Hl as I,Qe as a,an as b,mr as c,$l as d,Nl as e,Wt as f,br as g,jd as h,qn as i,Dl as u};
9
- //# sourceMappingURL=index-Pb0fT4BS.js.map
9
+ //# sourceMappingURL=index-BzMWwrSc.js.map