@deephaven/code-studio 0.85.20 → 0.85.22

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 (48) hide show
  1. package/build/assets/{AppRoot-42a17b8e.js → AppRoot-3da1828a.js} +4 -4
  2. package/build/assets/{AppRoot-42a17b8e.js.map → AppRoot-3da1828a.js.map} +1 -1
  3. package/build/assets/{Chart-85f035e2.js → Chart-93017bb0.js} +2 -2
  4. package/build/assets/{Chart-85f035e2.js.map → Chart-93017bb0.js.map} +1 -1
  5. package/build/assets/{ControlType-774d7fe4.js → ControlType-ae0db8e1.js} +5 -5
  6. package/build/assets/ControlType-ae0db8e1.js.map +1 -0
  7. package/build/assets/{FontBootstrap-99824283.js → FontBootstrap-3e3a0b4f.js} +2 -2
  8. package/build/assets/{FontBootstrap-99824283.js.map → FontBootstrap-3e3a0b4f.js.map} +1 -1
  9. package/build/assets/{FormatterUtils-2669a872.js → FormatterUtils-75ad9efb.js} +2 -2
  10. package/build/assets/{FormatterUtils-2669a872.js.map → FormatterUtils-75ad9efb.js.map} +1 -1
  11. package/build/assets/Grid-3bb94eca.js +4 -0
  12. package/build/assets/Grid-3bb94eca.js.map +1 -0
  13. package/build/assets/{IrisGrid-7130f50c.js → IrisGrid-6dac5f07.js} +2 -2
  14. package/build/assets/{IrisGrid-7130f50c.js.map → IrisGrid-6dac5f07.js.map} +1 -1
  15. package/build/assets/{IrisGridModel-9cb3893e.js → IrisGridModel-1c26dcf8.js} +2 -2
  16. package/build/assets/{IrisGridModel-9cb3893e.js.map → IrisGridModel-1c26dcf8.js.map} +1 -1
  17. package/build/assets/{IrisGridShortcuts-7c0cadfd.js → IrisGridShortcuts-a0e50c5e.js} +2 -2
  18. package/build/assets/{IrisGridShortcuts-7c0cadfd.js.map → IrisGridShortcuts-a0e50c5e.js.map} +1 -1
  19. package/build/assets/IrisGridThemeProvider-31b8442c.js +11 -0
  20. package/build/assets/IrisGridThemeProvider-31b8442c.js.map +1 -0
  21. package/build/assets/{LocalWorkspaceStorage-9dd17113.js → LocalWorkspaceStorage-e39208a1.js} +2 -2
  22. package/build/assets/{LocalWorkspaceStorage-9dd17113.js.map → LocalWorkspaceStorage-e39208a1.js.map} +1 -1
  23. package/build/assets/{MarkdownEditor-c0485a95.js → MarkdownEditor-058b80a4.js} +2 -2
  24. package/build/assets/{MarkdownEditor-c0485a95.js.map → MarkdownEditor-058b80a4.js.map} +1 -1
  25. package/build/assets/{MarkdownNotebook-36debeb7.js → MarkdownNotebook-a7cd39f9.js} +2 -2
  26. package/build/assets/{MarkdownNotebook-36debeb7.js.map → MarkdownNotebook-a7cd39f9.js.map} +1 -1
  27. package/build/assets/{MissingPartitionError-e020a19e.js → MissingPartitionError-588bc1a3.js} +2 -2
  28. package/build/assets/MissingPartitionError-588bc1a3.js.map +1 -0
  29. package/build/assets/{StyleGuideRoot-0ff89949.js → StyleGuideRoot-6606e84a.js} +2 -2
  30. package/build/assets/{StyleGuideRoot-0ff89949.js.map → StyleGuideRoot-6606e84a.js.map} +1 -1
  31. package/build/assets/TokenBoxCellRenderer-7992cbdf.js +2 -0
  32. package/build/assets/TokenBoxCellRenderer-7992cbdf.js.map +1 -0
  33. package/build/assets/{index-92d8000d.js → index-29777e6c.js} +2 -2
  34. package/build/assets/{index-92d8000d.js.map → index-29777e6c.js.map} +1 -1
  35. package/build/assets/{index-67e9cb27.js → index-576eeba9.js} +3 -3
  36. package/build/assets/{index-67e9cb27.js.map → index-576eeba9.js.map} +1 -1
  37. package/build/assets/{index-3b53804c.js → index-7bcf604b.js} +2 -2
  38. package/build/assets/{index-3b53804c.js.map → index-7bcf604b.js.map} +1 -1
  39. package/build/index.html +2 -2
  40. package/package.json +12 -12
  41. package/build/assets/ControlType-774d7fe4.js.map +0 -1
  42. package/build/assets/Grid-a169a656.js +0 -4
  43. package/build/assets/Grid-a169a656.js.map +0 -1
  44. package/build/assets/IrisGridThemeProvider-1dfd5be9.js +0 -11
  45. package/build/assets/IrisGridThemeProvider-1dfd5be9.js.map +0 -1
  46. package/build/assets/MissingPartitionError-e020a19e.js.map +0 -1
  47. package/build/assets/TokenBoxCellRenderer-bc5fc12e.js +0 -2
  48. package/build/assets/TokenBoxCellRenderer-bc5fc12e.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import{r as y,J as u,M as le,a1 as He,a2 as re,bl as Gr,ab as N,bm as Oi,a3 as M,N as ae,a0 as Be,V as ne,I as ce,aS as Vr,aR as Dn,a5 as Hr,ac as Br,aq as Ft}from"./vendor-3cc10195.js";import{F as ke,cv as Fe,P as xe,af as z,cw as Xt,c as $,bM as F,J as Kr,bS as Ni,a7 as zr,ai as Ii,cx as Ct,cy as ge,B as k,U as ki,cz as rn,cA as xi,M as ue,aa as H,w as tn,cB as Rt,b_ as _i,Z as an,cC as jt,cD as At,cE as $t,cF as St,G as Ut,S as gt,cG as ln,i as Ri,b as ji,a3 as qr,a8 as Wr,cH as Ai,cI as $i,aN as Zr,ab as ee,bZ as Xr,cJ as Mn,co as Yr,cp as Qr,u as at,aX as Jr,o as Ui,c7 as _e,bW as wt,bO as be,X as ea,ak as Gi,ci as ta,cg as na,T as ht,N as ia,s as ra,H as aa,cK as Vi,cL as Hi,cM as Bi,cN as Ki,a$ as la,ac as zi,c6 as sa,bX as oa,ct as da,cO as ua,cr as ha,ah as ca,L as pa,cu as va,cs as ma,a9 as fa,ad as ga,cP as ba,a1 as Ca,cQ as Sa,a2 as wa,aq as ya,cR as Pa,ar as Ea}from"./ControlType-774d7fe4.js";import{L as G,e as I,am as Fa,an as Ta,I as sn,ao as Da,ap as Ma,aq as qi,f as on,ar as Wi,as as Ln,w as On,g as La,D as Oa,M as Na,b as Ia,c as ka,J as Zi,s as xa,at as _a,au as Ra,d as ja,av as Aa,aw as $a}from"./index-92d8000d.js";import{C as Ua,a as X,b as U,G as Xe,S as Xi,L as Yi,I as dn}from"./IrisGridModel-9cb3893e.js";import{I as Qi,M as Nn,h as Ga,i as Ye,g as Ue,c as J,A as Va,j as Ha,k as Ba,l as Ka}from"./MissingPartitionError-e020a19e.js";import{F as In}from"./FormatterUtils-2669a872.js";import{_ as za}from"./monaco-b5248072.js";function un(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=y.useRef(null),s=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return y.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:le(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 kn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function xn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kn(Object(t),!0).forEach(function(n){A(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):kn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function A(i,e,t){return e=qa(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qa(i){var e=Wa(i,"string");return typeof e=="symbol"?e:String(e)}function Wa(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var B=G.module("FigureChartModel");class Gt extends Ua{constructor(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,A(this,"chartUtils",void 0),A(this,"dh",void 0),A(this,"figure",void 0),A(this,"settings",void 0),A(this,"data",void 0),A(this,"layout",void 0),A(this,"seriesDataMap",void 0),A(this,"pendingSeries",void 0),A(this,"oneClicks",void 0),A(this,"filterColumnMap",void 0),A(this,"lastFilter",void 0),A(this,"isConnected",void 0),A(this,"seriesToProcess",void 0),A(this,"addPendingSeries",He(()=>{for(var a=X.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?.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},Gt.ADD_SERIES_DEBOUNCE)),A(this,"getTimeZone",re((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}})),A(this,"getValueTranslator",re((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)})),A(this,"getValueParser",re((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)})),A(this,"getRangeParser",re((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]})),A(this,"getAxisRangeParser",re((a,l)=>s=>{var o=X.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d})),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 X(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=X.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:f,title:m}=p;if(m!=null&&m.length>0&&(t.length>1||e.figure.title!=null)){var C=f.find(O=>O.type===e.dh.plot.AxisType.X),w=f.find(O=>O.type===e.dh.plot.AxisType.Y);if(C==null||w==null)B.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var b,S,P,T,L=((b=(S=n.get(C.type))===null||S===void 0?void 0:S.findIndex(O=>O===C))!==null&&b!==void 0?b:0)+1,D=((P=(T=n.get(w.type))===null||T===void 0?void 0:T.findIndex(O=>O===w))!==null&&P!==void 0?P:0)+1,E={align:"center",x:.5,y:1,yshift:17,text:m,showarrow:!1,xref:"x".concat(L," domain"),yref:"y".concat(D," domain")};e.layout.annotations==null?e.layout.annotations=[E]:e.layout.annotations.push(E)}}},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,X.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=X.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){B.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&&(B.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){B.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){B.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){B.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){B.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;B.debug2("handleFigureUpdated",n);for(var r=0;r<n.length;r+=1){var a=n[r];B.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){B.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){B.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){B.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;B.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=X.DEFAULT_MARGIN.t+r*X.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=xn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=xn({},this.layout.title.pad),this.layout.title.pad.t=X.DEFAULT_TITLE_PADDING.t+r*X.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)=>{B.debug("Assigning ".concat(n),this.layout[n],t);var r=this.layout[n];r!=null?Object.assign(r,t):B.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&&Gr(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:f}=a;c&&p&&c!==h&&(a.error_x=X.getPlotlyErrorBars(h,c,p)),g&&f&&g!==v&&(a.error_y=X.getPlotlyErrorBars(v,g,f))}else if(r===t.plot.SeriesPlotStyle.TREEMAP){var{ids:m,labels:C}=a;m!==void 0&&C===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){B.warn("Trying to set a filter, but no one click!");return}B.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}}A(Gt,"ADD_SERIES_DEBOUNCE",50);const _n=Gt;function Rn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Yt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Rn(a,n,r,l,s,"next",o)}function s(o){Rn(a,n,r,l,s,"throw",o)}l(void 0)})}}class hn{static makeModelFromSettings(e,t,n){return Yt(function*(){var r=yield hn.makeFigureFromSettings(e,t,n);return new _n(e,r,t)})()}static makeFigureFromSettings(e,t,n){return Yt(function*(){var r=yield n.copy();return r.applyCustomColumns(n.customColumns),r.applyFilter(n.filter),r.applySort(n.sort),e.plot.Figure.create(new X(e).makeFigureSettings(t,r))})()}static makeModel(e,t,n){return Yt(function*(){return new _n(e,n,t)})()}}const vt=hn;function jn(i){return i.setFigure!==void 0}function An(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function qe(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){An(a,n,r,l,s,"next",o)}function s(o){An(a,n,r,l,s,"throw",o)}l(void 0)})}}function me(i,e,t){return e=Za(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Za(i){var e=Xa(i,"string");return typeof e=="symbol"?e:String(e)}function Xa(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ye=G.module("IrisGridTableModel");class Ya extends Qi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),me(this,"userFrozenColumns",void 0),me(this,"customColumnList",void 0),me(this,"formatColumnList",void 0),me(this,"initialFilters",[]),me(this,"getMemoizedKeyColumnSet",N(a=>new Set(a??z))),me(this,"getMemoizedFrontColumns",N(a=>a??z)),me(this,"getMemoizedBackColumns",N(a=>a??z)),me(this,"getMemoizedFrozenColumns",N((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:z})),me(this,"getCachedFilterableColumnSet",N(a=>new Set(a.map((l,s)=>s)))),me(this,"getCachedPartitionColumns",N(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}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 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 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(ye.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){ye.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){ye.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(ye.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){ye.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){ye.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(U.EVENT.TABLE_CHANGED,{detail:this.table}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return qe(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return qe(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionTable(e){var t=this;return qe(function*(){ye.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(ye.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(U.EVENT.UPDATED));return}this.totalsTablePromise=xe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{xe.isCanceled(t)||(ye.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Fe(U.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return qe(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 qe(function*(){var a;if(!r.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));I(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(b=>Xe.intersection(s,b)).filter(b=>b!=null).map(b=>(I(b),Xe.offset(b,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];I(c.startRow),I(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),r.formattedStringData=[],r.dispatchEvent(new Fe(U.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new Fe(U.EVENT.UPDATED))}var v=r.getTableAreaRange(),g=e.map(b=>Xe.intersection(v,b)).filter(b=>b!=null);if(!(g.length<=0)){var[f,m]=yield Promise.all([r.snapshot(g.map(b=>(I(b),l.map(S=>{var P=r.getColumnIndexByName(S.name);if(P==null)throw new Error("Key column ".concat(S.name," not found"));return new Xe(P,b.startRow,P,b.endRow)}))).flat()),r.table.copy()]),C=f.map(b=>{for(var S=[],P=0;P<l.length;P+=1){var T=l[P],L=b[P],D=r.tableUtils.makeNullableEqFilter(T,L);S.push(D)}return S.reduce((E,O)=>{var x;return(x=E?.and(O))!==null&&x!==void 0?x:O})}),w=C.reduce((b,S)=>{var P;return(P=b?.or(S))!==null&&P!==void 0?P:S});m.applyFilter([w]),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 qe(function*(){return o.table.seekRow(e,t,n,r,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const Qa=Ya;function Ja(i,e,t){return e=el(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function el(i){var e=tl(i,"string");return typeof e=="symbol"?e:String(e)}function tl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class nl extends U{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new ke(e);super(e),Ja(this,"modelFormatter",void 0),this.modelFormatter=t}get rowCount(){return 0}get columnCount(){return 0}textForCell(e,t){return""}textForColumnHeader(e,t){}get columns(){return z}getColumnIndexByName(e){}get initialMovedColumns(){return z}get initialMovedRows(){return z}get initialColumnHeaderGroups(){return z}get groupedColumns(){return z}formatForCell(e,t){}valueForCell(e,t){}get filter(){return z}set filter(e){}get partition(){return z}set partition(e){}get partitionColumns(){return z}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return z}set sort(e){}get customColumns(){return z}set customColumns(e){}get formatColumns(){return z}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 z}set selectDistinctColumns(e){}get pendingDataMap(){return Xt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Xt}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 z}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Xt}getColumnHeaderParentGroup(e,t){}}const il=nl;function $n(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Qt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){$n(a,n,r,l,s,"next",o)}function s(o){$n(a,n,r,l,s,"throw",o)}l(void 0)})}}function rl(i,e,t){return e=al(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function al(i){var e=ll(i,"string");return typeof e=="symbol"?e:String(e)}function ll(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class sl extends il{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e);super(e,n),rl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}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}partitionKeysTable(){var e=this;return Qt(function*(){return e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return Qt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return Qt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Nn("Partition not found");return n}catch(r){throw Ga(r)?r:new Nn("Unable to retrieve partition")}})()}}const ol=sl;function Un(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function dl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Un(a,n,r,l,s,"next",o)}function s(o){Un(a,n,r,l,s,"throw",o)}l(void 0)})}}function Gn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Vn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gn(Object(t),!0).forEach(function(n){Ze(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Gn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ze(i,e,t){return e=ul(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ul(i){var e=hl(i,"string");return typeof e=="symbol"?e:String(e)}function hl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var cl=G.module("IrisGridTreeTableModel");function pl(i){return i.layoutHints!==void 0}class vl extends Qi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),Ze(this,"virtualColumns",void 0),Ze(this,"getCachedColumns",N((a,l)=>[...a,...l])),Ze(this,"getCachedGroupColumns",N((a,l)=>[...a,...l])),Ze(this,"getCachedFilterableColumnSet",N((a,l,s)=>new Set((l?.length>0?l:a).filter(o=>!s.includes(o)).map(o=>a.findIndex(d=>o.name===d.name))))),Ze(this,"getCachedGroupedColumnSet",N(a=>new Set(a.map(l=>this.columns.findIndex(s=>l.name===s.name))))),this.virtualColumns=t.groupedColumns.length>1?[{name:"__DH_UI_GROUP__",displayName:"Group",type:$.dataType.STRING,constituentType:$.dataType.STRING,isPartitionColumn:!1,isSortable:!1,isProxy:!0,description:"Key column",index:-1,filter:()=>{throw new Error("Filter not implemented for virtual column")},sort:()=>{throw new Error("Sort not implemented for virtual column")},formatColor:()=>{throw new Error("Color not implemented for virtual column")},get:()=>{throw new Error("get not implemented for virtual column")},getFormat:()=>{throw new Error("getFormat not implemented for virtual column")},formatNumber:()=>{throw new Error("formatNumber not implemented for virtual column")},formatDate:()=>{throw new Error("formatDate not implemented for virtual column")}}]:[]}applyBufferedViewport(e,t,n){var r=[...this.table.groupedColumns,...n.filter(a=>!this.virtualColumns.includes(a)&&!this.groupedColumns.includes(a))];this.table.setViewport(e,t,r)}textForCell(e,t){var n=this.sourceColumn(e,t),r=this.row(t);if(r!=null&&n!=null){if(!r.hasChildren&&n.constituentType!=null){var a=this.valueForCell(e,t);return this.displayString(a,n.constituentType,n.name)}if(r.hasChildren&&r.depth<=e+1&&this.valueForCell(e,t)===null&&this.getCachedGroupedColumnSet(this.groupedColumns).has(e))return""}return super.textForCell(e,t)}extractViewportRow(e,t){var{isExpanded:n,hasChildren:r,depth:a}=e,l=super.extractViewportRow(e,t),s=new Map(l.data);if(r)for(var o=0;o<this.virtualColumns.length;o+=1){var d=o+(a-1)+(this.virtualColumns.length-1),h=s.get(d);h==null?cl.warn("Missing key data for virtual column",o,a,d,e):s.set(o,h)}return Vn(Vn({},l),{},{data:s,isExpanded:n,hasChildren:r,depth:a})}snapshot(e,t){var n=arguments,r=this;return dl(function*(){var a,l,s=n.length>2&&n[2]!==void 0?n[2]:w=>w;I(r.viewport),I(r.viewportData);var o=(a=r.viewport.columns)!==null&&a!==void 0?a:r.columns,d=[];t!=null&&t&&d.push(o.map(w=>w.name));for(var h=new Xe(0,(l=r.viewportData)===null||l===void 0?void 0:l.offset,o.length,r.viewportData.offset+r.viewportData.rows.length),c=0;c<e.length;c+=1){var p=Xe.intersection(h,e[c]);I(p),I(p.startRow),I(p.endRow);for(var v=p.startRow;v<=p.endRow;v+=1){var g=[],f=r.viewportData.rows[v-r.viewportData.offset];I(p.startColumn),I(p.endColumn);for(var m=p.startColumn;m<=p.endColumn;m+=1){var C;g.push(s((C=f.data.get(m))===null||C===void 0?void 0:C.value,r.columns[m]))}d.push(g)}}return d})()}get columns(){return this.getCachedColumns(this.virtualColumns,super.columns)}get groupedColumns(){return this.getCachedGroupColumns(this.virtualColumns,this.table.groupedColumns)}sourceForCell(e,t){if(e>=this.virtualColumns.length)return{column:e,row:t};var n=this.depthForRow(t);return{column:e+n,row:t}}sourceColumn(e,t){if(e>=this.virtualColumns.length)return super.sourceColumn(e,t);var n=this.depthForRow(t);return this.columns[e+n]}getClearFilterRange(e){return e>=this.virtualColumns.length?super.getClearFilterRange(e):[this.virtualColumns.length,this.groupedColumns.length]}get layoutHints(){if(pl(this.table))return this.table.layoutHints}get hasExpandableRows(){return!0}get isExpandAllAvailable(){return this.table.expandAll!==void 0}get isChartBuilderAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isReversible(){return!1}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns,this.groupedColumns,this.virtualColumns).has(e)}isColumnMovable(e){return e>=this.groupedColumns.length}isRowExpandable(e){var t,n=this.row(e);return(t=n?.hasChildren)!==null&&t!==void 0?t:!1}isRowExpanded(e){var t,n=this.row(e);return(t=n?.isExpanded)!==null&&t!==void 0?t:!1}setRowExpanded(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.isExpandAllAvailable?this.table.setExpanded(e,t,n):this.table.setExpanded(e,t)}expandAll(){this.table.expandAll!=null&&this.table.expandAll()}collapseAll(){this.table.collapseAll!=null&&this.table.collapseAll()}depthForRow(e){var t,n=this.row(e);return((t=n?.depth)!==null&&t!==void 0?t:1)-1}updateFrozenColumns(e){if(e.length>0)throw new Error("Cannot freeze columns on a tree table")}}const ml=vl;function Pe(i,e,t){return e=fl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fl(i){var e=gl(i,"string");return typeof e=="symbol"?e:String(e)}function gl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ee=G.module("IrisGridProxyModel");function We(i,e,t,n){return $.isTreeTable(e)?new ml(i,e,t):$.isPartitionedTable(e)?new ol(i,e,t):new Qa(i,e,t,n)}class bl extends U{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Pe(this,"model",void 0),Pe(this,"dh",void 0),Pe(this,"originalModel",void 0),Pe(this,"modelPromise",void 0),Pe(this,"rollup",void 0),Pe(this,"partition",void 0),Pe(this,"selectDistinct",void 0),Pe(this,"currentViewport",void 0),Pe(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){Ee.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Fe(n,{detail:t}))}setModel(e){Ee.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(U.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)}Ye(e)&&this.dispatchEvent(new Fe(U.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Ee.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=xe.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(xe.isCanceled(t)){Ee.debug2("setNextModel cancelled");return}Ee.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Fe(U.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(U.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(U.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 Ue(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!Ue(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Ee.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&Ue(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionKeysTable().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(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Ee.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Oi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);Ye(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(Ee.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){Ee.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);Ye(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 Ue(this.originalModel)?this.originalModel.isPartitionRequired:!1}get formatter(){return this.originalModel.formatter}set formatter(e){this.originalModel.formatter=e}}const Cl=bl;function Hn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Sl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Hn(a,n,r,l,s,"next",o)}function s(o){Hn(a,n,r,l,s,"throw",o)}l(void 0)})}}class wl{static makeModel(e,t){var n=arguments;return Sl(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new ke(e),a=null;return!$.isTreeTable(t)&&!$.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new Cl(e,t,r,a)})()}}const cn=wl;function pn(i,e,t){return e=yl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yl(i){var e=Pl(i,"string");return typeof e=="symbol"?e:String(e)}function Pl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Vt{}pn(Vt,"OPEN","ChartEvent.OPEN");pn(Vt,"CLOSE","ChartEvent.CLOSE");pn(Vt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const kt=Vt;function lt(i,e,t){return e=El(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function El(i){var e=Fl(i,"string");return typeof e=="symbol"?e:String(e)}function Fl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ke{}lt(Ke,"OPEN_GRID","IrisGridEvent.OPEN_GRID");lt(Ke,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");lt(Ke,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");lt(Ke,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");lt(Ke,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");lt(Ke,"CREATE_CHART","IrisGridevent.CREATE_CHART");const ie=Ke;function Ji(i,e,t){return e=Tl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Tl(i){var e=Dl(i,"string");return typeof e=="symbol"?e:String(e)}function Dl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class vn{}Ji(vn,"OPEN","PandasEvent.OPEN");Ji(vn,"CLOSE","PandasEvent.CLOSE");const Ml=vn;function yt(i){var{widgetType:e,widgetName:t,glContainer:n,description:r,children:a}=i,l=F.getTitleFromContainer(n);return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:t}),u.jsx(Kr,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==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})]}),r&&u.jsx("div",{className:"tab-tooltip-description",children:r}),a]})}yt.propTypes={glContainer:Ni.Container.isRequired,widgetType:M.string,widgetName:M.string,description:M.string,children:M.node};yt.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function er(i,e,t){return e=Ll(e),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:String(e)}function Ol(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class tr extends y.PureComponent{constructor(e){super(e),er(this,"getCachedRenderTabTooltip",N((t,n,r,a,l)=>t?()=>u.jsx(yt,{glContainer:n,widgetType:r,widgetName:a,description:l}):null)),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{widgetName:e}=this.props;zr(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:r,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
1
+ import{r as y,J as u,M as le,a1 as He,a2 as re,bl as Gr,ab as N,bm as Oi,a3 as M,N as ae,a0 as Be,V as ne,I as ce,aS as Vr,aR as Dn,a5 as Hr,ac as Br,aq as Ft}from"./vendor-3cc10195.js";import{F as ke,cv as Fe,P as xe,af as z,cw as Xt,c as $,bM as F,J as Kr,bS as Ni,a7 as zr,ai as Ii,cx as Ct,cy as ge,B as k,U as ki,cz as rn,cA as xi,M as ue,aa as H,w as tn,cB as Rt,b_ as _i,Z as an,cC as jt,cD as At,cE as $t,cF as St,G as Ut,S as gt,cG as ln,i as Ri,b as ji,a3 as qr,a8 as Wr,cH as Ai,cI as $i,aN as Zr,ab as ee,bZ as Xr,cJ as Mn,co as Yr,cp as Qr,u as at,aX as Jr,o as Ui,c7 as _e,bW as wt,bO as be,X as ea,ak as Gi,ci as ta,cg as na,T as ht,N as ia,s as ra,H as aa,cK as Vi,cL as Hi,cM as Bi,cN as Ki,a$ as la,ac as zi,c6 as sa,bX as oa,ct as da,cO as ua,cr as ha,ah as ca,L as pa,cu as va,cs as ma,a9 as fa,ad as ga,cP as ba,a1 as Ca,cQ as Sa,a2 as wa,aq as ya,cR as Pa,ar as Ea}from"./ControlType-ae0db8e1.js";import{L as G,e as I,am as Fa,an as Ta,I as sn,ao as Da,ap as Ma,aq as qi,f as on,ar as Wi,as as Ln,w as On,g as La,D as Oa,M as Na,b as Ia,c as ka,J as Zi,s as xa,at as _a,au as Ra,d as ja,av as Aa,aw as $a}from"./index-29777e6c.js";import{C as Ua,a as X,b as U,G as Xe,S as Xi,L as Yi,I as dn}from"./IrisGridModel-1c26dcf8.js";import{I as Qi,M as Nn,h as Ga,i as Ye,g as Ue,c as J,A as Va,j as Ha,k as Ba,l as Ka}from"./MissingPartitionError-588bc1a3.js";import{F as In}from"./FormatterUtils-75ad9efb.js";import{_ as za}from"./monaco-b5248072.js";function un(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=y.useRef(null),s=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return y.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:le(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 kn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function xn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kn(Object(t),!0).forEach(function(n){A(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):kn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function A(i,e,t){return e=qa(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qa(i){var e=Wa(i,"string");return typeof e=="symbol"?e:String(e)}function Wa(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var B=G.module("FigureChartModel");class Gt extends Ua{constructor(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,A(this,"chartUtils",void 0),A(this,"dh",void 0),A(this,"figure",void 0),A(this,"settings",void 0),A(this,"data",void 0),A(this,"layout",void 0),A(this,"seriesDataMap",void 0),A(this,"pendingSeries",void 0),A(this,"oneClicks",void 0),A(this,"filterColumnMap",void 0),A(this,"lastFilter",void 0),A(this,"isConnected",void 0),A(this,"seriesToProcess",void 0),A(this,"addPendingSeries",He(()=>{for(var a=X.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?.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},Gt.ADD_SERIES_DEBOUNCE)),A(this,"getTimeZone",re((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}})),A(this,"getValueTranslator",re((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)})),A(this,"getValueParser",re((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)})),A(this,"getRangeParser",re((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]})),A(this,"getAxisRangeParser",re((a,l)=>s=>{var o=X.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d})),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 X(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=X.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:f,title:m}=p;if(m!=null&&m.length>0&&(t.length>1||e.figure.title!=null)){var C=f.find(O=>O.type===e.dh.plot.AxisType.X),w=f.find(O=>O.type===e.dh.plot.AxisType.Y);if(C==null||w==null)B.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var b,S,P,T,L=((b=(S=n.get(C.type))===null||S===void 0?void 0:S.findIndex(O=>O===C))!==null&&b!==void 0?b:0)+1,D=((P=(T=n.get(w.type))===null||T===void 0?void 0:T.findIndex(O=>O===w))!==null&&P!==void 0?P:0)+1,E={align:"center",x:.5,y:1,yshift:17,text:m,showarrow:!1,xref:"x".concat(L," domain"),yref:"y".concat(D," domain")};e.layout.annotations==null?e.layout.annotations=[E]:e.layout.annotations.push(E)}}},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,X.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=X.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){B.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&&(B.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){B.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){B.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){B.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){B.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;B.debug2("handleFigureUpdated",n);for(var r=0;r<n.length;r+=1){var a=n[r];B.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){B.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){B.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){B.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;B.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=X.DEFAULT_MARGIN.t+r*X.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=xn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=xn({},this.layout.title.pad),this.layout.title.pad.t=X.DEFAULT_TITLE_PADDING.t+r*X.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)=>{B.debug("Assigning ".concat(n),this.layout[n],t);var r=this.layout[n];r!=null?Object.assign(r,t):B.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&&Gr(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:f}=a;c&&p&&c!==h&&(a.error_x=X.getPlotlyErrorBars(h,c,p)),g&&f&&g!==v&&(a.error_y=X.getPlotlyErrorBars(v,g,f))}else if(r===t.plot.SeriesPlotStyle.TREEMAP){var{ids:m,labels:C}=a;m!==void 0&&C===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){B.warn("Trying to set a filter, but no one click!");return}B.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}}A(Gt,"ADD_SERIES_DEBOUNCE",50);const _n=Gt;function Rn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Yt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Rn(a,n,r,l,s,"next",o)}function s(o){Rn(a,n,r,l,s,"throw",o)}l(void 0)})}}class hn{static makeModelFromSettings(e,t,n){return Yt(function*(){var r=yield hn.makeFigureFromSettings(e,t,n);return new _n(e,r,t)})()}static makeFigureFromSettings(e,t,n){return Yt(function*(){var r=yield n.copy();return r.applyCustomColumns(n.customColumns),r.applyFilter(n.filter),r.applySort(n.sort),e.plot.Figure.create(new X(e).makeFigureSettings(t,r))})()}static makeModel(e,t,n){return Yt(function*(){return new _n(e,n,t)})()}}const vt=hn;function jn(i){return i.setFigure!==void 0}function An(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function qe(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){An(a,n,r,l,s,"next",o)}function s(o){An(a,n,r,l,s,"throw",o)}l(void 0)})}}function me(i,e,t){return e=Za(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Za(i){var e=Xa(i,"string");return typeof e=="symbol"?e:String(e)}function Xa(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ye=G.module("IrisGridTableModel");class Ya extends Qi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),me(this,"userFrozenColumns",void 0),me(this,"customColumnList",void 0),me(this,"formatColumnList",void 0),me(this,"initialFilters",[]),me(this,"getMemoizedKeyColumnSet",N(a=>new Set(a??z))),me(this,"getMemoizedFrontColumns",N(a=>a??z)),me(this,"getMemoizedBackColumns",N(a=>a??z)),me(this,"getMemoizedFrozenColumns",N((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:z})),me(this,"getCachedFilterableColumnSet",N(a=>new Set(a.map((l,s)=>s)))),me(this,"getCachedPartitionColumns",N(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}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 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 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(ye.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){ye.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){ye.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(ye.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){ye.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){ye.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(U.EVENT.TABLE_CHANGED,{detail:this.table}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return qe(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return qe(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionTable(e){var t=this;return qe(function*(){ye.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(ye.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(U.EVENT.UPDATED));return}this.totalsTablePromise=xe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{xe.isCanceled(t)||(ye.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Fe(U.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return qe(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 qe(function*(){var a;if(!r.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));I(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(b=>Xe.intersection(s,b)).filter(b=>b!=null).map(b=>(I(b),Xe.offset(b,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];I(c.startRow),I(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),r.formattedStringData=[],r.dispatchEvent(new Fe(U.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new Fe(U.EVENT.UPDATED))}var v=r.getTableAreaRange(),g=e.map(b=>Xe.intersection(v,b)).filter(b=>b!=null);if(!(g.length<=0)){var[f,m]=yield Promise.all([r.snapshot(g.map(b=>(I(b),l.map(S=>{var P=r.getColumnIndexByName(S.name);if(P==null)throw new Error("Key column ".concat(S.name," not found"));return new Xe(P,b.startRow,P,b.endRow)}))).flat()),r.table.copy()]),C=f.map(b=>{for(var S=[],P=0;P<l.length;P+=1){var T=l[P],L=b[P],D=r.tableUtils.makeNullableEqFilter(T,L);S.push(D)}return S.reduce((E,O)=>{var x;return(x=E?.and(O))!==null&&x!==void 0?x:O})}),w=C.reduce((b,S)=>{var P;return(P=b?.or(S))!==null&&P!==void 0?P:S});m.applyFilter([w]),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 qe(function*(){return o.table.seekRow(e,t,n,r,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const Qa=Ya;function Ja(i,e,t){return e=el(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function el(i){var e=tl(i,"string");return typeof e=="symbol"?e:String(e)}function tl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class nl extends U{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new ke(e);super(e),Ja(this,"modelFormatter",void 0),this.modelFormatter=t}get rowCount(){return 0}get columnCount(){return 0}textForCell(e,t){return""}textForColumnHeader(e,t){}get columns(){return z}getColumnIndexByName(e){}get initialMovedColumns(){return z}get initialMovedRows(){return z}get initialColumnHeaderGroups(){return z}get groupedColumns(){return z}formatForCell(e,t){}valueForCell(e,t){}get filter(){return z}set filter(e){}get partition(){return z}set partition(e){}get partitionColumns(){return z}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return z}set sort(e){}get customColumns(){return z}set customColumns(e){}get formatColumns(){return z}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 z}set selectDistinctColumns(e){}get pendingDataMap(){return Xt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Xt}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 z}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Xt}getColumnHeaderParentGroup(e,t){}}const il=nl;function $n(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Qt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){$n(a,n,r,l,s,"next",o)}function s(o){$n(a,n,r,l,s,"throw",o)}l(void 0)})}}function rl(i,e,t){return e=al(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function al(i){var e=ll(i,"string");return typeof e=="symbol"?e:String(e)}function ll(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class sl extends il{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e);super(e,n),rl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}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}partitionKeysTable(){var e=this;return Qt(function*(){return e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return Qt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return Qt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Nn("Partition not found");return n}catch(r){throw Ga(r)?r:new Nn("Unable to retrieve partition")}})()}}const ol=sl;function Un(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function dl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Un(a,n,r,l,s,"next",o)}function s(o){Un(a,n,r,l,s,"throw",o)}l(void 0)})}}function Gn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Vn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gn(Object(t),!0).forEach(function(n){Ze(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Gn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ze(i,e,t){return e=ul(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ul(i){var e=hl(i,"string");return typeof e=="symbol"?e:String(e)}function hl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var cl=G.module("IrisGridTreeTableModel");function pl(i){return i.layoutHints!==void 0}class vl extends Qi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),Ze(this,"virtualColumns",void 0),Ze(this,"getCachedColumns",N((a,l)=>[...a,...l])),Ze(this,"getCachedGroupColumns",N((a,l)=>[...a,...l])),Ze(this,"getCachedFilterableColumnSet",N((a,l,s)=>new Set((l?.length>0?l:a).filter(o=>!s.includes(o)).map(o=>a.findIndex(d=>o.name===d.name))))),Ze(this,"getCachedGroupedColumnSet",N(a=>new Set(a.map(l=>this.columns.findIndex(s=>l.name===s.name))))),this.virtualColumns=t.groupedColumns.length>1?[{name:"__DH_UI_GROUP__",displayName:"Group",type:$.dataType.STRING,constituentType:$.dataType.STRING,isPartitionColumn:!1,isSortable:!1,isProxy:!0,description:"Key column",index:-1,filter:()=>{throw new Error("Filter not implemented for virtual column")},sort:()=>{throw new Error("Sort not implemented for virtual column")},formatColor:()=>{throw new Error("Color not implemented for virtual column")},get:()=>{throw new Error("get not implemented for virtual column")},getFormat:()=>{throw new Error("getFormat not implemented for virtual column")},formatNumber:()=>{throw new Error("formatNumber not implemented for virtual column")},formatDate:()=>{throw new Error("formatDate not implemented for virtual column")}}]:[]}applyBufferedViewport(e,t,n){var r=[...this.table.groupedColumns,...n.filter(a=>!this.virtualColumns.includes(a)&&!this.groupedColumns.includes(a))];this.table.setViewport(e,t,r)}textForCell(e,t){var n=this.sourceColumn(e,t),r=this.row(t);if(r!=null&&n!=null){if(!r.hasChildren&&n.constituentType!=null){var a=this.valueForCell(e,t);return this.displayString(a,n.constituentType,n.name)}if(r.hasChildren&&r.depth<=e+1&&this.valueForCell(e,t)===null&&this.getCachedGroupedColumnSet(this.groupedColumns).has(e))return""}return super.textForCell(e,t)}extractViewportRow(e,t){var{isExpanded:n,hasChildren:r,depth:a}=e,l=super.extractViewportRow(e,t),s=new Map(l.data);if(r)for(var o=0;o<this.virtualColumns.length;o+=1){var d=o+(a-1)+(this.virtualColumns.length-1),h=s.get(d);h==null?cl.warn("Missing key data for virtual column",o,a,d,e):s.set(o,h)}return Vn(Vn({},l),{},{data:s,isExpanded:n,hasChildren:r,depth:a})}snapshot(e,t){var n=arguments,r=this;return dl(function*(){var a,l,s=n.length>2&&n[2]!==void 0?n[2]:w=>w;I(r.viewport),I(r.viewportData);var o=(a=r.viewport.columns)!==null&&a!==void 0?a:r.columns,d=[];t!=null&&t&&d.push(o.map(w=>w.name));for(var h=new Xe(0,(l=r.viewportData)===null||l===void 0?void 0:l.offset,o.length,r.viewportData.offset+r.viewportData.rows.length),c=0;c<e.length;c+=1){var p=Xe.intersection(h,e[c]);I(p),I(p.startRow),I(p.endRow);for(var v=p.startRow;v<=p.endRow;v+=1){var g=[],f=r.viewportData.rows[v-r.viewportData.offset];I(p.startColumn),I(p.endColumn);for(var m=p.startColumn;m<=p.endColumn;m+=1){var C;g.push(s((C=f.data.get(m))===null||C===void 0?void 0:C.value,r.columns[m]))}d.push(g)}}return d})()}get columns(){return this.getCachedColumns(this.virtualColumns,super.columns)}get groupedColumns(){return this.getCachedGroupColumns(this.virtualColumns,this.table.groupedColumns)}sourceForCell(e,t){if(e>=this.virtualColumns.length)return{column:e,row:t};var n=this.depthForRow(t);return{column:e+n,row:t}}sourceColumn(e,t){if(e>=this.virtualColumns.length)return super.sourceColumn(e,t);var n=this.depthForRow(t);return this.columns[e+n]}getClearFilterRange(e){return e>=this.virtualColumns.length?super.getClearFilterRange(e):[this.virtualColumns.length,this.groupedColumns.length]}get layoutHints(){if(pl(this.table))return this.table.layoutHints}get hasExpandableRows(){return!0}get isExpandAllAvailable(){return this.table.expandAll!==void 0}get isChartBuilderAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isReversible(){return!1}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns,this.groupedColumns,this.virtualColumns).has(e)}isColumnMovable(e){return e>=this.groupedColumns.length}isRowExpandable(e){var t,n=this.row(e);return(t=n?.hasChildren)!==null&&t!==void 0?t:!1}isRowExpanded(e){var t,n=this.row(e);return(t=n?.isExpanded)!==null&&t!==void 0?t:!1}setRowExpanded(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.isExpandAllAvailable?this.table.setExpanded(e,t,n):this.table.setExpanded(e,t)}expandAll(){this.table.expandAll!=null&&this.table.expandAll()}collapseAll(){this.table.collapseAll!=null&&this.table.collapseAll()}depthForRow(e){var t,n=this.row(e);return((t=n?.depth)!==null&&t!==void 0?t:1)-1}updateFrozenColumns(e){if(e.length>0)throw new Error("Cannot freeze columns on a tree table")}}const ml=vl;function Pe(i,e,t){return e=fl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fl(i){var e=gl(i,"string");return typeof e=="symbol"?e:String(e)}function gl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ee=G.module("IrisGridProxyModel");function We(i,e,t,n){return $.isTreeTable(e)?new ml(i,e,t):$.isPartitionedTable(e)?new ol(i,e,t):new Qa(i,e,t,n)}class bl extends U{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Pe(this,"model",void 0),Pe(this,"dh",void 0),Pe(this,"originalModel",void 0),Pe(this,"modelPromise",void 0),Pe(this,"rollup",void 0),Pe(this,"partition",void 0),Pe(this,"selectDistinct",void 0),Pe(this,"currentViewport",void 0),Pe(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){Ee.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Fe(n,{detail:t}))}setModel(e){Ee.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(U.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)}Ye(e)&&this.dispatchEvent(new Fe(U.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Ee.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=xe.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(xe.isCanceled(t)){Ee.debug2("setNextModel cancelled");return}Ee.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Fe(U.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(U.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(U.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 Ue(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!Ue(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Ee.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&Ue(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionKeysTable().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(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Ee.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Oi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);Ye(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(Ee.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){Ee.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);Ye(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 Ue(this.originalModel)?this.originalModel.isPartitionRequired:!1}get formatter(){return this.originalModel.formatter}set formatter(e){this.originalModel.formatter=e}}const Cl=bl;function Hn(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Sl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){Hn(a,n,r,l,s,"next",o)}function s(o){Hn(a,n,r,l,s,"throw",o)}l(void 0)})}}class wl{static makeModel(e,t){var n=arguments;return Sl(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new ke(e),a=null;return!$.isTreeTable(t)&&!$.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new Cl(e,t,r,a)})()}}const cn=wl;function pn(i,e,t){return e=yl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yl(i){var e=Pl(i,"string");return typeof e=="symbol"?e:String(e)}function Pl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Vt{}pn(Vt,"OPEN","ChartEvent.OPEN");pn(Vt,"CLOSE","ChartEvent.CLOSE");pn(Vt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const kt=Vt;function lt(i,e,t){return e=El(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function El(i){var e=Fl(i,"string");return typeof e=="symbol"?e:String(e)}function Fl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ke{}lt(Ke,"OPEN_GRID","IrisGridEvent.OPEN_GRID");lt(Ke,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");lt(Ke,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");lt(Ke,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");lt(Ke,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");lt(Ke,"CREATE_CHART","IrisGridevent.CREATE_CHART");const ie=Ke;function Ji(i,e,t){return e=Tl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Tl(i){var e=Dl(i,"string");return typeof e=="symbol"?e:String(e)}function Dl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class vn{}Ji(vn,"OPEN","PandasEvent.OPEN");Ji(vn,"CLOSE","PandasEvent.CLOSE");const Ml=vn;function yt(i){var{widgetType:e,widgetName:t,glContainer:n,description:r,children:a}=i,l=F.getTitleFromContainer(n);return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:t}),u.jsx(Kr,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==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})]}),r&&u.jsx("div",{className:"tab-tooltip-description",children:r}),a]})}yt.propTypes={glContainer:Ni.Container.isRequired,widgetType:M.string,widgetName:M.string,description:M.string,children:M.node};yt.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function er(i,e,t){return e=Ll(e),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:String(e)}function Ol(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class tr extends y.PureComponent{constructor(e){super(e),er(this,"getCachedRenderTabTooltip",N((t,n,r,a,l)=>t?()=>u.jsx(yt,{glContainer:n,widgetType:r,widgetName:a,description:l}):null)),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{widgetName:e}=this.props;zr(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:r,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
2
2
  Check your internet connection.`;if(t&&n)return"Disconnected from server.";if(n){var{widgetName:l,widgetType:s}=this.props;return'Variable "'.concat(l,`" not set.
3
3
  `).concat(s," does not exist yet.")}if(r){var{widgetName:o}=this.props;return"".concat(o," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:r,isLoading:a,glContainer:l,glEventHub:s,isDisconnected:o,isClonable:d,isRenamable:h,showTabTooltip:c,renderTabTooltip:p,widgetType:v,widgetName:g,description:f,onClearAllFilters:m,onHide:C,onFocus:w,onBlur:b,onResize:S,onShow:P,onTabBlur:T,onTabFocus:L,onTabClicked:D}=this.props,{isPanelDisconnected:E,isWidgetDisconnected:O,isPanelInactive:x}=this.state,Z=this.getErrorMessage(),q=p??this.getCachedRenderTabTooltip(c,l,v,g,f),R=[{title:"Copy ".concat(v," Name"),group:Ii.groups.medium,order:20,action:this.handleCopyName}];return u.jsxs(Ct,{className:le(t,{disconnected:E||O||o,inactive:x}),componentPanel:n,glContainer:l,glEventHub:s,onClearAllFilters:m,onHide:C,onFocus:w,onBlur:b,onResize:S,onShow:P,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:T,onTabFocus:L,onTabClicked:D,renderTabTooltip:q,errorMessage:Z,isLoaded:r,isLoading:a,isClonable:d,isRenamable:h,additionalActions:R,children:[e,x&&u.jsx("div",{className:"fill-parent-absolute"})]})}}er(tr,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const Pt=tr;function nr(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=i,o=y.useMemo(()=>{var g=Array.from(s.keys()),f=g.find(w=>t.get(w)!=null),m=g.find(w=>n.get(w)!=null),C=ge.join(g.map(w=>'"'.concat(w,'"')));return f!=null&&f&&m!=null&&m?"Use a filter control or linked table to set a value for ".concat(C):f!=null&&f?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,s]),d=y.useMemo(()=>Array.from(e.values()),[e]),h=y.useCallback(g=>{g.stopPropagation(),g.preventDefault(),r(Array.from(l.values()))},[r,l]),c=y.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:le("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 f=l.has(g.name),m=f?Fa:Ta;return u.jsxs("div",{className:le("waiting-filter-item",{"is-invalid":f}),children:[u.jsx(ae,{icon:m}),g.name]},g.name)})}),u.jsxs("div",{children:[u.jsx(k,{kind:"primary",onClick:h,children:"Add Input Filters"}),u.jsx(k,{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})]})]})})}nr.propTypes={columnMap:M.instanceOf(Map).isRequired,inputFilterMap:M.instanceOf(Map).isRequired,linkedColumnMap:M.instanceOf(Map).isRequired,onAdd:M.func.isRequired,onOpenLinker:M.func.isRequired,waitingFilterMap:M.instanceOf(Map).isRequired,waitingInputMap:M.instanceOf(Map).isRequired};function bt(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:le("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(Xi,{className:le("btn-chart-column-selector",bt.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}bt.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);bt.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Qe(i){return i.settings!==void 0}function mn(i){return i.figure!==void 0}function ir(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function rr(i){return i!=null&&ir(i.panelState)}function Bn(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?Bn(Object(t),!0).forEach(function(n){oe(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Bn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function oe(i,e,t){return e=Nl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Nl(i){var e=Il(i,"string");return typeof e=="symbol"?e:String(e)}function Il(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Q=G.module("ChartPanel"),kl=150;function xl(i){return i.inputFilters!=null}function _l(i){return i.panelState!=null}class Ht extends y.Component{constructor(e){super(e),oe(this,"panelContainer",void 0),oe(this,"pending",void 0),oe(this,"getWaitingInputMap",N((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),oe(this,"getWaitingFilterMap",N((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})),oe(this,"getInputFilterColumnMap",N((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})),oe(this,"getLinkedColumnMap",N((l,s)=>{for(var o=new Map,d=F.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],p=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?p=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(p=c.end.columnName),p!=null&&l.has(p)){var v=l.get(p);I(v),o.set(p,v)}}return o})),oe(this,"getSelectorColumns",N((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d):!1,isActive:s.has(d.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=He(this.updateModelFromSource.bind(this),kl),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;s&&(a!==e.makeModel&&this.initModel(),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&&jn(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});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Q.debug("startListeningToSource",e);var{model:t}=this.state;I(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){Q.debug("stopListeningToSource",e);var{model:t}=this.state;I(t);var{dh:n}=t;e.removeEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:n}=this.state;e&&!t&&!n&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:n}=this.state;t.emit(kt.COLUMN_SELECTED,this,n.get(e))}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})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Q.debug("handleColumnMouseLeave",e),e&&e(this,void 0)}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:n}=this.props;n(e,void 0),t(ue.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){xe.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(a.plot.Figure.create(new X(a).makeFigureSettings(l,t))).then(s=>{jn(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&&xl(e.props)&&_l(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=J.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=Kn(Kn({},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(H.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:r,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(H.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=bt.makeButtonClassName(e);if(!this.panelContainer.current)return null;var r=this.panelContainer.current.querySelector(".".concat(n)),a=(t=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 n,{columnMap:r,filterMap:a}=t,l=null,s=new Map(t.filterValueMap);return e.forEach((o,d)=>{var{columnType:h,filterList:c}=o,p=r.get(d);if(!(p==null||p.type!==h)){if(c.length<1){Q.debug("Ignoring empty filterList for column",d);return}var{value:v}=c[0];s.set(d,v),a.get(d)!==v&&(l===null&&(l=new Map(a)),l.set(d,v))}}),{filterValueMap:s,filterMap:(n=l)!==null&&n!==void 0?n:a}})}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;I(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 e,{columnSelectionValidator:t,glContainer:n,glEventHub:r,inputFilters:a,isLinkerActive:l,links:s,metadata:o,settings:d,Plotly:h,containerRef:c}=this.props,{columnMap:p,filterMap:v,error:g,model:f,isActive:m,isDisconnected:C,isLoaded:w,isLoading:b}=this.state,S;Qe(o)?S=o.table:mn(o)?S=o.figure:S=o.name;var P=this.getInputFilterColumnMap(p,a),T=this.getLinkedColumnMap(p,s),L=f!=null?this.getWaitingInputMap(f.isFilterRequired(),p,v):new Map,D=f!=null?this.getWaitingFilterMap(f.isFilterRequired(),p,v,T,P):new Map,E=g!=null?"Unable to open chart. ".concat(g):void 0,O=L.size>0,x=p.size>0&&l;return u.jsx(Pt,{className:le("iris-chart-panel",{"input-required":O}),componentPanel:this,glContainer:n,glEventHub:r,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:E,isDisconnected:C,isLoading:b,isLoaded:w,widgetName:(e=S)!==null&&e!==void 0?e:void 0,widgetType:"Chart",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:w&&f&&u.jsx(Yi,{isActive:m,model:f,settings:d,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:h,containerRef:c})}),u.jsx(tn,{in:O&&!x&&!b,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(nr,{inputFilterMap:P,linkedColumnMap:T,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:p,waitingFilterMap:D,waitingInputMap:L})}),u.jsx(tn,{in:x,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(bt,{columns:this.getSelectorColumns(p,T,t),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}oe(Ht,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});oe(Ht,"displayName","ChartPanel");oe(Ht,"COMPONENT","ChartPanel");var Rl=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&Qe(n)&&(r=n.sourcePanelId);var a=Rt(i,t),l=_i(i,t),s=an(i),o=jt(i,t),d=s===ue.LINKER&&o===void 0;return{columnSelectionValidator:At(i,t),isLinkerActive:d,inputFilters:$t(i,t),links:St(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?l.get(r):void 0,settings:Ut(i)}},jl=Be(Rl,{setActiveTool:ki,setDashboardIsolatedLinkerPanelId:rn},null,{forwardRef:!0})(Ht);const Et=jl;function de(i,e,t){return e=Al(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Al(i){var e=$l(i,"string");return typeof e=="symbol"?e:String(e)}function $l(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Tt=G.module("DropdownFilter"),Ul=150;class Te extends y.Component{constructor(e){super(e),de(this,"dropdownRef",void 0),de(this,"getCompatibleColumns",N((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&$.isCompatibleType(o,a.columnType)}):[])),de(this,"getColumnOptions",N((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]})),de(this,"getSelectedOptionIndex",N((a,l)=>a.indexOf(l))),de(this,"getValueOptions",N(a=>[u.jsx("option",{value:"-1",children:Te.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),de(this,"getItemLabel",re((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})),de(this,"sendUpdate",He(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},Ul)),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:ce(),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(Tt.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(),Tt.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]:Tt.debug2("Selected default item"),Tt.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:f,selectedColumn:m,value:C}=this.state,w=l===null,b=this.getCompatibleColumns(l,t),S=l!=null,P=(e=l?.columnName)!==null&&e!==void 0?e:Te.SOURCE_BUTTON_PLACEHOLDER,T=p!=null?"".concat(p.name," Filter"):null,[L,D]=this.getColumnOptions(b,m),E=this.getValueOptions(h),O=this.getSelectedOptionIndex(h,C),x=!S||m==null,Z=f&&!r,q="source-column-btn-".concat(g),R="filter-column-select-".concat(g);return u.jsxs(un,{className:"dropdown-filter fill-parent-absolute",isFlipped:Z,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:q,children:"Source Column"}),u.jsx(Xi,{id:q,isLinked:S,onClick:s,onMouseEnter:o,onMouseLeave:d,className:Te.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:P}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:R,children:"Filter Column"}),u.jsx(gt,{id:R,value:String(D),className:"custom-select",onChange:this.handleColumnChange,disabled:w,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}),S&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx(k,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||f||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx(k,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:x||f||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:T})}),u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:u.jsx(gt,{className:"custom-select",value:String(O),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:E})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx(k,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(ae,{icon:sn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}de(Te,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});de(Te,"PLACEHOLDER","Select a value...");de(Te,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");de(Te,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const zn=Te;function Y(i,e,t){return e=Gl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gl(i){var e=Vl(i,"string");return typeof e=="symbol"?e:String(e)}function Vl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var _=G.module("DropdownFilterPanel"),Hl=250,Bl=(i,e)=>{var{localDashboardId:t}=e,n=F.getIdFromPanel({props:e}),r=Rt(i,t),a=St(i,t),l=an(i),s=jt(i,t),o=l===ue.LINKER&&(s===void 0||s===n),d=l===ue.LINKER&&s!==void 0&&s!==n;return{columns:ln(i,t),columnSelectionValidator:At(i,t),dh:Ri(i),isLinkerActive:o,disableLinking:d,settings:Ut(i),panelTableMap:r,dashboardLinks:a}},Kl=Be(Bl,null,null,{forwardRef:!0});class he extends y.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",re((c,p,v)=>{var{type:g,name:f}=p;return g!==void 0&&$.isDateType(g)?c.map(m=>this.dateTimeFormatter.format(m)):c.map(m=>m!=null&&g!=null?v.getFormattedString(m,g,f):null)})),Y(this,"getCachedPanelLinks",re((c,p)=>{var v=F.getIdFromPanel(p);return _.debug("getCachedPanelLinks",c,v),c.filter(g=>{var f;return((f=g.end)===null||f===void 0?void 0:f.panelId)===v})})),Y(this,"getCachedSource",re(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})),Y(this,"getCachedSourceTable",re((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})),Y(this,"getCachedSourceColumn",re((c,p)=>{var v;return _.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(g=>{var{name:f,type:m}=g;return f===p.columnName&&m===p.columnType}))!==null&&v!==void 0?v:null})),this.handleChange=He(this.handleChange.bind(this),Hl),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=In.getColumnFormats(r),this.dateTimeFormatter=new ji(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 ke(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?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(zn.SOURCE_BUTTON_CLASS_NAME)),n=(e=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>he.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(he.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,c,{panelState:p,timestamp:v,wasFlipped:g,skipUpdate:f}=d,m=p!=null&&n!==p.isValueShown&&a===p.name&&l===p.type&&r===p.value;return s=(h=!f&&n&&(!m||!g))!==null&&h!==void 0?h:!1,s||(o=v),{panelState:{isValueShown:n,name:a,type:l,value:r,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:m,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;e.emit(H.COLUMN_SELECTED,this,he.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){_.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!r}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,r){var a,{dashboardLinks: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}),s.emit(H.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:d})}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=>{xe.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?.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?.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?.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,he.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=In.getColumnFormats(e);Oi(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new ke(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,he.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:r,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:p,valuesColumn:v,isLoading:g,isLoaded:f}=this.state,m=this.getSource(t),C=this.getSettingsErrorMessage(),w=this.getPanelErrorMessage(),b=f&&v!=null?this.getCachedValues(p,v,o):[];return u.jsx(Pt,{errorMessage:w,isLoading:g,isLoaded:f,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(zn,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:l,disableLinking:n,isLoaded:f,settingsError:C,source:m,value:c,values:b,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Y(he,"displayName","DropdownFilterPanel");Y(he,"COMPONENT","DropdownFilterPanel");Y(he,"MAX_TABLE_SIZE",256);Y(he,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var zl=Kl(he);const Ie=zl;function qn(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 Dt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qn(Object(t),!0).forEach(function(n){ct(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):qn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ct(i,e,t){return e=ql(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ql(i){var e=Wl(i,"string");return typeof e=="symbol"?e:String(e)}function Wl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var j=G.module("FilterSetManager"),Zl="Enter name...",Wn="No Available Filter Sets";class xt extends y.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),ct(this,"renameInputRef",ne.createRef()),ct(this,"dropdownRef",ne.createRef()),ct(this,"editDropdownRef",ne.createRef()),ct(this,"isRenamingExistingSet",N((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;j.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(j.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:[]}),j.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;xt.animateScreenFlash();var t=ce(),n=e(),r={id:t,title:"",panels:n};j.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?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return j.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 j.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){j.error("Renamed set undefined.");return}var l=this.getNameError(t);if(j.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",o=Dt(Dt({},n),{},{title:s,restoreFullState:a}),d=r.findIndex(c=>{var{id:p}=c;return p===n.id}),h=[...r];d>=0?(h[d]=o,j.debug("Renamed existing set",h)):(h.push(o),j.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 j.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 j.debug("Deleted selected set",t,n,a),j.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;xt.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:a}=n;if(a===void 0)return j.error("Filter for update not selected."),null;var l=[...r],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(j.error("Selected set for update not found."),null):(l[s]=Dt(Dt({},l[s]),{},{panels:t}),j.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 j.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){j.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){j.debug("No filter selected");return}var r=n.find(a=>{var{id:l}=a;return l===e});if(r===void 0){j.debug("Selected id not found in filterSets",e,n);return}j.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,f=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(ae,{icon:Ln,mask:On,transform:"shrink-1 down-5 right-7"}),u.jsx(ae,{icon:La,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),m=u.jsxs("div",{className:"fa-layers",children:[u.jsx(ae,{icon:Ln,mask:On,transform:"shrink-1 down-5 right-7"}),u.jsx(ae,{icon:Oa,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(un,{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(k,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:f,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:Zl,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx(k,{"data-testid":"rename-confirm-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameConfirm,tooltip:"Save","test-id":"button-save",icon:Da}),u.jsx(k,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:Ma})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(Vr,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Dn,{value:"false",children:"Restore only filters"}),u.jsx(Dn,{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(gt,{"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:Wn}),a.map(C=>{var{id:w,title:b}=C;return u.jsx("option",{value:w,children:b},w)})]}),u.jsx(k,{kind:"ghost",onClick:this.handleSetUpdate,disabled:p,icon:m,tooltip:"Update"}),u.jsx(k,{kind:"ghost",onClick:this.handleSetEdit,disabled:p,icon:qi,tooltip:"Edit"}),u.jsx(k,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:on,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(k,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:f,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx(k,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx(k,{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(gt,{"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:Wn}),o.map(C=>{var{id:w,title:b}=C;return u.jsx("option",{value:w,children:b},w)})]}),u.jsx(k,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:Wi,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx(k,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(ae,{icon:sn,transform:"grow-4"})})})]},"back")]})})}}const ar=xt;function fn(i){var e,t,n,r,a,{model:l,widgetName:s,glContainer:o,description:d}=i,h=((e=l?.rowCount)!==null&&e!==void 0?e:0)-((t=l?.pendingRowCount)!==null&&t!==void 0?t:0)-((n=l?.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=l?.floatingTopRowCount)!==null&&r!==void 0?r:0),c=l?.displayString(h,"long"),p=(a=l?.columnCount)!==null&&a!==void 0?a:0,v=l?.displayString(p,"long");return u.jsxs(yt,{widgetType:"Table",widgetName:s,glContainer:o,description:d,children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:v}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}fn.propTypes={glContainer:Ni.Container.isRequired,widgetName:M.string.isRequired,description:M.string};fn.defaultProps={description:null};function lr(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function sr(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function Zn(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?Zn(Object(t),!0).forEach(function(n){V(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Zn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function V(i,e,t){return e=Xl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xl(i){var e=Yl(i,"string");return typeof e=="symbol"?e:String(e)}function Yl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fe=G.module("IrisGridPanel"),Ql=500;function Xn(i){if(i==null)throw new Error("No metadata provided");if(sr(i))return i.name;if(lr(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(i)))}class tt extends y.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,"getGridInputFilters",N((n,r)=>J.getInputFiltersForColumns(n,r.filter(a=>{var{value:l,excludePanelIds:s}=a,o=F.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),V(this,"getAlwaysFetchColumns",N((n,r)=>{for(var a=F.getIdFromPanel(this),l=new Set(r),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),V(this,"getPluginContent",N((n,r,a)=>{if(!r||!Ye(r)||n==null||r.table==null)return null;var l={panel:this};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,Le({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,onStateChange:this.handlePluginStateChange,pluginState:a},l))})})),V(this,"getDehydratedIrisGridPanelState",N((n,r,a,l)=>J.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:a,advancedSettings:l}))),V(this,"getDehydratedIrisGridState",N((n,r,a,l,s,o,d,h,c,p,v,g,f,m,C,w,b,S,P,T,L,D)=>(I(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:b,customColumnFormatMap:l,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:w},quickFilters:o,customColumns:d,reverseType:h,rollupConfig:c,showSearchBar:p,searchValue:v,selectDistinctColumns:g,selectedSearchColumns:f,sorts:r,invertSearchColumns:m,pendingDataMap:S,frozenColumns:P,conditionalFormats:T,columnHeaderGroups:L,partitionConfig:D})))),V(this,"getDehydratedGridState",N((n,r,a,l,s)=>J.dehydrateGridState(n,{isStuckToBottom:l,isStuckToRight:s,movedColumns:r,movedRows:a}))),V(this,"getCachedPanelState",N((n,r,a,l)=>({irisGridPanelState:n,irisGridState:r,gridState:a,pluginState:l}))),V(this,"savePanelState",He(()=>{var{irisGridState:n,gridState:r,pluginState:a}=this;I(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state,{advancedFilters:p,aggregationSettings:v,customColumnFormatMap:g,isFilterBarShown:f,quickFilters:m,customColumns:C,reverseType:w,rollupConfig:b,showSearchBar:S,searchValue:P,selectDistinctColumns:T,selectedSearchColumns:L,sorts:D,invertSearchColumns:E,metrics:O,pendingDataMap:x,frozenColumns:Z,conditionalFormats:q,columnHeaderGroups:R,partitionConfig:Ce}=n;I(s),I(O);var{userColumnWidths:Re,userRowHeights:je}=O;I(r);var{isStuckToBottom:Ae,isStuckToRight:De,movedColumns:Me,movedRows:$e}=r,pe=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.getDehydratedIrisGridState(s,D,p,g,f,m,C,w,b,S,P,T,L,E,Re,je,v,x,Z,q,R,Ce),this.getDehydratedGridState(s,Me,$e,Ae,De),a);pe!==o&&(fe.debug("Saving panel state",this,pe),this.setState({panelState:pe}),l?.(pe))},Ql)),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(Va.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:$.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:r}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),r!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return Xn(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=xe.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 J(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=Le(Le({},l),r);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=J.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;I(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):!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(ie.STATE_CHANGED,this),r?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:r}=this.state;t?this.sendColumnsChange(e.detail):(I(n),this.initModelQueue(n,r))}handleTableChanged(e){fe.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(H.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r}=this.props,a=this.getTableName(),{panelState:l}=this.state,s=F.getIdFromPanel(this),o;l&&(o=J.extractTableSettings(l,r)),n.emit(ie.CREATE_CHART,{metadata:{settings:e,sourcePanelId:s,table:a,tableSettings:o},table:Ye(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(ie.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(ie.DATA_SELECTED,this,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){xe.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}),Ye(e)){var{table:r}=e,{pluginName:a}=r;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}t.emit(H.TABLE_CHANGED,this,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){fe.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(H.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(U.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(U.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(U.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(U.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(U.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(U.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(U.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(U.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?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;I(l);var{metrics:d}=l.state;I(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:p,right:v,columnHeaderMaxDepth:g}=d,f=a.getColumnIndexByName(e);I(f);var m=l.getVisibleColumn(f),C=(n=c.get(m))!==null&&n!==void 0?n:0,w=(r=p.get(m))!==null&&r!==void 0?r:0,b=Math.max(o.left,Math.min(m>v?o.right:o.left+C+w*.5,o.right)),S=o.top+h*g;return[b,S]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;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}I(r);var{columns:s,formatter:o}=r,d=J.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[p]=c;return r.isFilterable(p)}),h=J.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[p]=c;return r.isFilterable(p)});I(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){fe.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:r}=this.state;if(t!=null)try{var{gridState:a,irisGridState:l,irisGridPanelState:s}=t,o=Le({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=J.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=J.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:p,advancedSettings:v}=J.hydrateIrisGridPanelState(e,s);I(this.irisGridUtils);var{advancedFilters:g,customColumns:f,customColumnFormatMap:m,isFilterBarShown:C,quickFilters:w,reverseType:b,rollupConfig:S,aggregationSettings:P,sorts:T,userColumnWidths:L,userRowHeights:D,showSearchBar:E,searchValue:O,selectDistinctColumns:x,selectedSearchColumns:Z,invertSearchColumns:q,pendingDataMap:R,frozenColumns:Ce,conditionalFormats:Re,columnHeaderGroups:je,partitionConfig:Ae}=this.irisGridUtils.hydrateIrisGridState(e,Le(Le({},l),o)),{isStuckToBottom:De,isStuckToRight:Me,movedColumns:$e,movedRows:pe}=J.hydrateGridState(e,Le(Le({},a),r),l.customColumns);this.setState({advancedFilters:g,advancedSettings:v,conditionalFormats:Re,customColumns:f,customColumnFormatMap:m,isFilterBarShown:C,isSelectingPartition:c,movedColumns:$e,movedRows:pe,partitions:p,quickFilters:w,reverseType:b,rollupConfig:S,aggregationSettings:P,sorts:T,userColumnWidths:L,userRowHeights:D,showSearchBar:E,searchValue:O,selectDistinctColumns:x,selectedSearchColumns:Z,invertSearchColumns:q,pendingDataMap:R,frozenColumns:Ce,isStuckToBottom:De,isStuckToRight:Me,columnHeaderGroups:je,partitionConfig:Ae})}catch(te){fe.error("loadPanelState failed to load panelState",t,te)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:r,glEventHub:a,columnSelectionValidator:l,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,panelState:c,user:p,settings:v,theme:g}=this.props,{advancedFilters:f,aggregationSettings:m,advancedSettings:C,conditionalFormats:w,customColumns:b,customColumnFormatMap:S,error:P,isDisconnected:T,isFilterBarShown:L,isSelectingPartition:D,isStuckToBottom:E,isStuckToRight:O,isLoaded:x,isLoading:Z,isModelReady:q,model:R,movedColumns:Ce,movedRows:Re,partitions:je,partitionConfig:Ae,quickFilters:De,reverseType:Me,rollupConfig:$e,sorts:pe,userColumnWidths:te,userRowHeights:Wt,showSearchBar:se,searchValue:ve,selectDistinctColumns:Se,selectedSearchColumns:we,invertSearchColumns:ze,Plugin:Zt,pluginFilters:Or,pluginFetchColumns:Nr,pendingDataMap:Ir,frozenColumns:kr,columnHeaderGroups:xr}=this.state,_r=P!=null?"Unable to open table. ".concat(P):void 0,Fn=Xn(h),Tn=(e=R?.description)!==null&&e!==void 0?e:void 0,Rr=(t=c?.pluginState)!==null&&t!==void 0?t:null,jr=n??this.getPluginContent(Zt,R,Rr),{permissions:Ar}=p,{canCopy:$r,canDownloadCsv:Ur}=Ar;return u.jsx(Pt,{errorMessage:_r,isDisconnected:T,isLoading:Z,isLoaded:x,className:"iris-grid-panel",glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:Fn,widgetType:"Table",description:Tn,componentPanel:this,renderTabTooltip:()=>u.jsx(fn,{model:R,widgetName:Fn,glContainer:r,description:Tn}),children:q&&R&&u.jsx(dn,{advancedFilters:f,aggregationSettings:m,advancedSettings:C,alwaysFetchColumns:this.getAlwaysFetchColumns(d,Nr),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:b,customColumnFormatMap:S,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:w,inputFilters:this.getGridInputFilters(R.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:L,isSelectingColumn:l!=null,isSelectingPartition:D,isStuckToBottom:E,isStuckToRight:O,movedColumns:Ce,movedRows:Re,partitions:je,partitionConfig:Ae,quickFilters:De,reverseType:Me,rollupConfig:$e,settings:v,sorts:pe,userColumnWidths:te,userRowHeights:Wt,model:R,showSearchBar:se,searchValue:ve,selectedSearchColumns:we,selectDistinctColumns:Se,invertSearchColumns:ze,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:Or,pendingDataMap:Ir,canCopy:$r,canDownloadCsv:Ur,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:kr,theme:g,columnHeaderGroups:xr,children:jr})})}}V(tt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});V(tt,"displayName","IrisGridPanel");V(tt,"COMPONENT","IrisGridPanel");var Jl=(i,e)=>{var{localDashboardId:t=Wr}=e;return{inputFilters:$t(i,t),links:St(i,t),columnSelectionValidator:At(i,t),user:qr(i),settings:Ut(i)}},es=Be(Jl,null,null,{forwardRef:!0})(tt);const nt=es;function mt(i,e,t){return e=ts(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ts(i){var e=ns(i,"string");return typeof e=="symbol"?e:String(e)}function ns(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Yn=G.module("InputFilter"),is=150;class it extends y.Component{constructor(e){super(e),mt(this,"inputRef",void 0),mt(this,"getItemLabel",re((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})),mt(this,"sendUpdate",He(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},is)),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)];Yn.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;Yn.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?it.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(un,{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(gt,{value:String(e.findIndex(d=>d.name===r?.name&&d.type===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(k,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx(k,{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:it.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(k,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(ae,{icon:sn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}mt(it,"PLACEHOLDER","Enter value...");mt(it,"defaultProps",{column:null,isValueShown:!1,value:null});const rs=it;function Bt(i,e,t){return e=as(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function as(i){var e=ls(i,"string");return typeof e=="symbol"?e:String(e)}function ls(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ss=250;class Kt extends y.Component{constructor(e){super(e),Bt(this,"inputFilterRef",void 0),this.handleChange=He(this.handleChange.bind(this),ss),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}=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,f=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&r===c.value;return s=(h=!g&&n&&(!f||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:r,timestamp:o},timestamp:o,wasFlipped:f,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;a.emit(H.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:r})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(r=>{var{name:a,type: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(Ct,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(rs,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:l})})}}Bt(Kt,"defaultProps",{panelState:null});Bt(Kt,"COMPONENT","InputFilterPanel");Bt(Kt,"displayName","InputFilterPanel");var os=(i,e)=>{var{localDashboardId:t}=e;return{columns:ln(i,t)}},ds=Be(os,null,null,{forwardRef:!0})(Kt);const Je=ds;function Qn(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 Mt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qn(Object(t),!0).forEach(function(n){gn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Qn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function gn(i,e,t){return e=us(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function us(i){var e=hs(i,"string");return typeof e=="symbol"?e:String(e)}function hs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var W=G.module("FilterSetManagerPanel");function cs(i){return i.setPanelState!=null}class rt extends y.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){W.error("Could not get panel",r);return}var a=F.getComponentNameFromPanel(r),l=F.getIdFromPanel(r);W.debug("Panel:",r,a);var{glContainer:s=null}=r.props;if(s==null){W.error("Could not get panel container",r);return}var o=F.getComponentConfigFromContainer(s);if(o==null){W.error("Could not get component config from container",s);return}var d=F.getPanelComponentState(o);if(d==null){W.debug("Panel state is null ".concat(l));return}switch(a){case F.getComponentName(tt):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case F.getComponentName(Je):case F.getComponentName(Ie):{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 W.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=rt.changeFilterIndexesToColumnNames(r,s));var h;return o&&(h=rt.changeFilterIndexesToColumnNames(r,o)),{irisGridState:Mt(Mt({},a),{},{advancedFilters:d,quickFilters:h}),gridState:Mt({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;W.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;W.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){W.debug("panel is null",l);return}if(!t.has(l)){W.debug("Ignore closed panel",l);return}W.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case F.getComponentName(tt):this.restoreIrisGridFilters(d,o,r);break;case F.getComponentName(Je):case F.getComponentName(Ie):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;W.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:r={},advancedFilters:a=[],quickFilters:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=r,{panelTableMap:d}=this.props,h=F.getIdFromPanel(e);if(h==null){W.error("Panel Id is null.");return}var c=d.get(h);if(c==null){W.error("Unable to get table for panel ".concat(h,"."));return}W.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=Mt({},t);delete n.isValueShown,W.debug("restoreInputFilterState",e,n),e&&cs(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:a}=this.state;return u.jsx(Ct,{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(ar,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}gn(rt,"defaultProps",{panelState:null});gn(rt,"COMPONENT","FilterSetManagerPanel");var ps=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:$i(i,t),dashboardOpenedPanelMap:_i(i,t),dashboardInputFilters:$t(i,t),panelTableMap:Rt(i,t)}},vs=Be(ps,{setDashboardFilterSets:Ai},null,{forwardRef:!0})(rt);const Nt=vs;function ms(i,e,t){return e=fs(e),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:String(e)}function gs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class or extends y.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:le("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(ae,{icon:qi})]})}),t]})}}ms(or,"defaultProps",{isEditing:!1});function bs(i,e,t){return e=Cs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cs(i){var e=Ss(i,"string");return typeof e=="symbol"?e:String(e)}function Ss(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ws=G.module("MarkdownStartPage");class dr extends y.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(ws.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(k,{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(k,{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(ae,{icon:on})})]},l.id)),u.jsxs(Na,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(Ia,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(ka,{children:"You can't undo this action."}),u.jsxs(Zr,{children:[u.jsx(k,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(k,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}bs(dr,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const ys=dr;function bn(i,e,t){return e=Ps(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ps(i){var e=Es(i,"string");return typeof e=="symbol"?e:String(e)}function Es(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ve{static getNewMarkdownTitle(e){for(var t="".concat(Ve.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Ve.DEFAULT_TITLE,"-").concat(n);return t}}bn(Ve,"DEFAULT_TITLE","Note");bn(Ve,"DEFAULT_CONTENT",`# Markdown Note
4
4
 
5
- This note can be edited using **markdown** for styling.`);bn(Ve,"getClosedMarkdowns",N(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));const It=Ve;function ft(i,e,t){return e=Fs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fs(i){var e=Ts(i,"string");return typeof e=="symbol"?e:String(e)}function Ts(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ds=y.lazy(()=>za(()=>import("./MarkdownEditor-c0485a95.js"),["./MarkdownEditor-c0485a95.js","./vendor-3cc10195.js","./helpers-de833af9.js","./vendor-fb3fd713.css","./ControlType-774d7fe4.js","./index-92d8000d.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-7d08f7c0.css","./ControlType-fbf3b3ed.css","./mathjax-8120e3f3.js"],import.meta.url)),Lt=G.module("MarkdownPanel");class Cn extends y.Component{constructor(e){super(e),ft(this,"markdownEditor",void 0),ft(this,"editor",void 0),ft(this,"getClosedMarkdowns",N(It.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=It.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){I(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){Lt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){Lt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){Lt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=F.getComponentConfigFromContainer(t);n.emit(ee.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ee.DELETE,e)}handleEditorBlur(e){var t;Lt.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(Ct,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(ys,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(or,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(y.Suspense,{fallback:u.jsx(Zi,{}),children:u.jsx(Ds,{ref:o=>{this.markdownEditor=o},isEditing:r,content:l??It.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}ft(Cn,"defaultProps",{panelState:null});ft(Cn,"COMPONENT","MarkdownPanel");var Ms=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Xr(i,t)}},Ls=Be(Ms,null,null,{forwardRef:!0})(Cn);const pt=Ls;function ur(i){var{onClick:e}=i,t=y.useRef(null),n=y.useCallback(r=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(r)},[e]);return u.jsxs(k,{ref:t,kind:"primary",className:"btn-pandas",onClick:n,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",u.jsxs("span",{children:[u.jsx(ae,{icon:Wi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}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){zt(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 zt(i,e,t){return e=Os(e),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:String(e)}function Ns(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Sn extends y.Component{constructor(e){super(e),zt(this,"irisGridRef",void 0),this.irisGridRef=ne.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:r}=this.state;r&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(nt,ei(ei({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(ur,{onClick:this.handleReload})}))}}zt(Sn,"defaultProps",{panelState:null});zt(Sn,"COMPONENT","PandasPanel");const hr=Sn;function ti(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function ni(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 ii(i,e,t){return e=Is(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Is(i){var e=ks(i,"string");return typeof e=="symbol"?e:String(e)}function ks(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class xs{constructor(e){ii(this,"items",void 0),ii(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];Mn(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];Mn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return ni(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return ni(function*(){var n,r=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,r)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}const _s=xs;function ri(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function st(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){ri(a,n,r,l,s,"next",o)}function s(o){ri(a,n,r,l,s,"throw",o)}l(void 0)})}}function Rs(i,e,t){return e=js(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function js(i){var e=As(i,"string");return typeof e=="symbol"?e:String(e)}function As(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class $s{constructor(e){Rs(this,"items",void 0),this.items=e}getTable(){var e=this;return st(function*(){return new _s(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return st(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return st(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return st(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=Yr.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return st(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Qr;if(n.length>1)throw new Error("More than one matching file found");var r=n[0];return{filename:r.filename,basename:r.basename,id:r.filename,type:r.type}})()}createDirectory(e){throw new Error("Method not implemented.")}}const Us=$s;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 _t(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){Gs(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 Gs(i,e,t){return e=Vs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vs(i){var e=Hs(i,"string");return typeof e=="symbol"?e:String(e)}function Hs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function li(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Bs(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){li(a,n,r,l,s,"next",o)}function s(o){li(a,n,r,l,s,"throw",o)}l(void 0)})}}function Ks(i,e,t,n,r){return nn.apply(this,arguments)}function nn(){return nn=Bs(function*(i,e,t,n,r){var a,l,s,o;if(Qe(t)?(a=t.settings,l=t.table,s=void 0,o=t.tableSettings):(a={},l="",s=mn(t)?t.figure:t.name,o={}),r!=null&&(r.tableSettings!=null&&(o=r.tableSettings),r.table!=null&&(l=r.table),r.figure!=null&&(s=r.figure),r.settings!=null&&(a=_t(_t({},a),r.settings))),s==null&&l==null){var d=yield n();return vt.makeModel(i,a,d)}if(s!=null){var h;if(t.type===i.VariableType.FIGURE){var c={name:s,type:i.VariableType.FIGURE};h=yield e(c)}else h=yield n();return vt.makeModel(i,a,h)}var p={name:l,type:i.VariableType.TABLE},v=yield e(p);return new J(i).applyTableSettings(v,o,Ui(xa.getState())),vt.makeModelFromSettings(i,a,v)}),nn.apply(this,arguments)}var wn=y.forwardRef((i,e)=>{var t=at(),n=Jr(),r=rr(i)?i.panelState:void 0,{fetch:a,metadata:l,localDashboardId:s}=i,o=y.useMemo(()=>({metadata:l,localDashboardId:s,makeModel:()=>{if(l==null)throw new Error("Metadata is required for chart panel");return Ks(t,n,l,a,r)}}),[l,s,t,n,a,r]);return u.jsx(Et,_t(_t({ref:e},i),o))});wn.displayName="ChartPanelPlugin";const zs=wn;function si(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function qs(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 cr(i){var e=at(),[t,n]=y.useState(),{fetch:r}=i;return y.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=qs(function*(){var o=yield r(),d=yield vt.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,r]),t?u.jsx(Yi,{model:t}):null}var Ws={name:"ChartPanel",title:"Chart",type:_e.WIDGET_PLUGIN,component:cr,panelComponent:wn,supportedTypes:"Figure",icon:_a};const Zs=Ws;function pr(i){wt(i);var{id:e,layout:t}=i,n=at(),r=y.useCallback(a=>{var{metadata:l,panelId:s=ce(),table:o}=a,{settings:d}=l,h=()=>vt.makeModelFromSettings(n,d,o),c=X.titleFromSettings(d),p={type:"react-component",component:Et.COMPONENT,props:{localDashboardId:e,id:s,metadata:l,makeModel:h},title:c,id:s},{root:v}=t;F.openComponent({root:v,config:p})},[n,e,t]);return be(t.eventHub,ie.CREATE_CHART,r),null}var Xs={name:"ChartBuilderPlugin",type:_e.DASHBOARD_PLUGIN,component:pr};const Ys=Xs;var ot=G.module("FilterPlugin");function oi(i,e){return i.concat(e)}function vr(i){wt(i);var{id:e,layout:t,registerComponent:n}=i,r=Hr(),[a]=y.useState(()=>new Map),[l]=y.useState(()=>new Map),[s]=y.useState(()=>new Map),o=y.useCallback(()=>{var m=Array.from(a.values()).reduce(oi,[]).sort((b,S)=>{var P=ge.toLower(b.name),T=ge.toLower(S.name);if(P!==T)return P>T?1:-1;var L=ge.toLower(b.type),D=ge.toLower(S.type);return L!==D?L>D?1:-1:0}).reduce((b,S)=>((b.length===0||ge.toLower(b[b.length-1].name)!==ge.toLower(S.name)||ge.toLower(b[b.length-1].type)!==ge.toLower(S.type))&&b.push(S),b),[]),C=Array.from(l.values()).reduce(oi,[]).sort((b,S)=>b.timestamp-S.timestamp),w=new Map(s);ot.debug("sendUpdate",{columns:m,filters:C,tableMap:w}),r(ea(e,{columns:m,filters:C,tableMap:w}))},[r,e,a,l,s]),d=y.useCallback((m,C)=>{ot.debug2("handleColumnsChanged",m,C),a.set(m,[].concat(C)),o()},[a,o]),h=y.useCallback((m,C)=>{ot.debug2("handleFiltersChanged",m,C),l.set(m,[].concat(C)),o()},[l,o]),c=y.useCallback((m,C)=>{ot.debug2("handleTableChanged",m,C),s.set(F.getIdFromPanel(m),C),o()},[s,o]),p=y.useCallback(m=>{ot.debug2("handlePanelUnmount",m),a.delete(m),l.delete(m),s.delete(F.getIdFromPanel(m)),o()},[a,l,s,o]),v=y.useCallback(m=>{var{title:C="DropdownFilter",metadata:w={},panelState:b=null,id:S=ce(),focusElement:P=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=null}=m,D={type:"react-component",component:Ie.COMPONENT,props:{id:S,metadata:w,panelState:b,localDashboardId:e},title:C,id:S},{root:E}=t;F.openComponent({root:E,config:D,focusElement:P,createNewStack:T,dragEvent:L})},[t,e]),g=y.useCallback(m=>{var{title:C="InputFilter",metadata:w={},panelState:b=null,id:S=ce(),focusElement:P=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,D={type:"react-component",component:Je.COMPONENT,props:{id:S,metadata:w,panelState:b,localDashboardId:e},title:C,id:S},{root:E}=t;F.openComponent({root:E,config:D,focusElement:P,createNewStack:T,dragEvent:L})},[t,e]),f=y.useCallback(m=>{var{title:C="FilterSets",metadata:w={},panelState:b=null,id:S=ce(),focusElement:P=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=null}=m,D={type:"react-component",component:Nt.COMPONENT,props:{id:S,metadata:w,panelState:b,localDashboardId:e},title:C,id:S},{root:E}=t;F.openComponent({root:E,config:D,focusElement:P,createNewStack:T,dragEvent:L})},[t,e]);return y.useEffect(function(){var C=[n(Ie.COMPONENT,Ie),n(Je.COMPONENT,Je),n(Nt.COMPONENT,Nt)];return()=>{C.forEach(w=>w())}},[n]),be(t.eventHub,H.COLUMNS_CHANGED,d),be(t.eventHub,H.FILTERS_CHANGED,h),be(t.eventHub,H.TABLE_CHANGED,c),be(t.eventHub,H.OPEN_DROPDOWN,v),be(t.eventHub,H.OPEN_INPUT,g),be(t.eventHub,H.OPEN_FILTER_SET_MANAGER,f),be(t.eventHub,ee.UNMOUNT,p),null}var Qs={name:"FilterPlugin",type:_e.DASHBOARD_PLUGIN,component:vr};const Js=Qs;var eo=G.module("@deephaven/app-utils/useTablePlugin");function mr(){var i=Gi(),e=y.useCallback(t=>{var n=i.get(t);if(n!=null){if(ta(n))return n.component;if(na(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw eo.error(r),new Error(r)},[i]);return e}function di(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function to(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){di(a,n,r,l,s,"next",o)}function s(o){di(a,n,r,l,s,"throw",o)}l(void 0)})}}function fr(i,e,t){var n=at(),r=mr(),a=y.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var l=to(function*(){var o=yield i();return cn.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return a}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 hi(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){no(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 no(i,e,t){return e=io(e),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:String(e)}function ro(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var yn=y.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=fr(n,t,r);return u.jsx(nt,hi(hi({ref:e},i),a))});yn.displayName="GridPanelPlugin";const ao=yn;function ci(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function lo(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 gr(i){var e=at(),t=Br(Ut),[n,r]=y.useState(),{fetch:a}=i;return y.useEffect(()=>{var l=!1;function s(){return o.apply(this,arguments)}function o(){return o=lo(function*(){var d=yield a(),h=yield cn.makeModel(e,d);l||r(h)}),o.apply(this,arguments)}return s(),()=>{l=!0}},[e,a]),n?u.jsx(dn,{model:n,settings:t}):null}var so={name:"IrisGridPanel",title:"Table",type:_e.WIDGET_PLUGIN,component:gr,panelComponent:yn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:Ra};const oo=so;function pi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Oe(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pi(Object(t),!0).forEach(function(n){br(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):pi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function br(i,e,t){return e=uo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function uo(i){var e=ho(i,"string");return typeof e=="symbol"?e:String(e)}function ho(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Cr(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function vi(i){var e=i;return Cr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function mi(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var dt=G.module("LinkerUtils");class qt{static getLinkType(e,t,n){var r;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return dt.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return dt.error("PanelComponent should not be null",e,t),"invalid";var a=(r=qt.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(a===void 0||!a)return dt.debug2("Incompatible panel components",e,t),"invalid";var{columnType:l}=e,{columnType:s}=t,o=s===null||$.isCompatibleType(l,s);if(!o)return dt.debug2("Incompatible type",l,s),"invalid";switch(t.panelComponent){case F.getComponentName(Et):return"chartLink";case F.getComponentName(nt):return"tableLink";case F.getComponentName(Ie):return"filterSource"}return dt.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?r.push(Oe(Oe({},a),{},{id:ce(),start:Oe(Oe({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&r.push(Oe(Oe({},a),{},{id:ce(),end:Oe(Oe({},a.end),{},{panelId:n})}))}),r}}br(qt,"ALLOWED_LINKS",new Map([[F.getComponentName(nt),[F.getComponentName(nt),F.getComponentName(Et),F.getComponentName(Ie)]]]));const Ge=qt;function Sr(i,e,t){return e=co(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function co(i){var e=po(i,"string");return typeof e=="symbol"?e:String(e)}function po(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var vo=G.module("LinkerLink"),fi=.015,gi=1.5,wr=12,yr=12,bi=2,Ot=Math.sqrt((yr*.5)**2+wr**2),Ci=Math.asin(yr*.5/wr),Si=15,Ne=Math.PI*.5;class et extends y.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($.isNumberType(e)||$.isCharType(e))return Ha(t);if($.isTextType(e))return Ba(t);if($.isDateType(e))return Ka(t);if($.isBooleanType(e)){if(t===ht.eq)return"is equal to";if(t===ht.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return vo.warn(n),""}}constructor(e){super(e),Sr(this,"getOperators",N((t,n)=>{var{onOperatorChanged:r}=this.props,a=$.getFilterTypes(n);return $.isBooleanType(n)&&(a=[ht.eq,ht.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=$.getFilterOperatorString(l),[{title:et.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),f=Math.cos(v)+2,m=window.innerWidth,C=window.innerHeight,w=0,b=0,S=Math.max(w,Math.min(r+(l-r)/2+g*(p*fi)**gi,m)),P=Math.max(b,Math.min(a+(s-a)/2+f*(p*fi)**gi,C)),T="M ".concat(r," ").concat(a," Q ").concat(S," ").concat(P," ").concat(l," ").concat(s),L="M ".concat(w," ").concat(b," L ").concat(w," ").concat(C," L ").concat(m," ").concat(C," L ").concat(m," ").concat(b,` z
5
+ This note can be edited using **markdown** for styling.`);bn(Ve,"getClosedMarkdowns",N(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));const It=Ve;function ft(i,e,t){return e=Fs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fs(i){var e=Ts(i,"string");return typeof e=="symbol"?e:String(e)}function Ts(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ds=y.lazy(()=>za(()=>import("./MarkdownEditor-058b80a4.js"),["./MarkdownEditor-058b80a4.js","./vendor-3cc10195.js","./helpers-de833af9.js","./vendor-fb3fd713.css","./ControlType-ae0db8e1.js","./index-29777e6c.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-7d08f7c0.css","./ControlType-fbf3b3ed.css","./mathjax-8120e3f3.js"],import.meta.url)),Lt=G.module("MarkdownPanel");class Cn extends y.Component{constructor(e){super(e),ft(this,"markdownEditor",void 0),ft(this,"editor",void 0),ft(this,"getClosedMarkdowns",N(It.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=It.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){I(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){Lt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){Lt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){Lt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=F.getComponentConfigFromContainer(t);n.emit(ee.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ee.DELETE,e)}handleEditorBlur(e){var t;Lt.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(Ct,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(ys,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(or,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(y.Suspense,{fallback:u.jsx(Zi,{}),children:u.jsx(Ds,{ref:o=>{this.markdownEditor=o},isEditing:r,content:l??It.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}ft(Cn,"defaultProps",{panelState:null});ft(Cn,"COMPONENT","MarkdownPanel");var Ms=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Xr(i,t)}},Ls=Be(Ms,null,null,{forwardRef:!0})(Cn);const pt=Ls;function ur(i){var{onClick:e}=i,t=y.useRef(null),n=y.useCallback(r=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(r)},[e]);return u.jsxs(k,{ref:t,kind:"primary",className:"btn-pandas",onClick:n,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",u.jsxs("span",{children:[u.jsx(ae,{icon:Wi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}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){zt(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 zt(i,e,t){return e=Os(e),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:String(e)}function Ns(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Sn extends y.Component{constructor(e){super(e),zt(this,"irisGridRef",void 0),this.irisGridRef=ne.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:r}=this.state;r&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(nt,ei(ei({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(ur,{onClick:this.handleReload})}))}}zt(Sn,"defaultProps",{panelState:null});zt(Sn,"COMPONENT","PandasPanel");const hr=Sn;function ti(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function ni(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 ii(i,e,t){return e=Is(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Is(i){var e=ks(i,"string");return typeof e=="symbol"?e:String(e)}function ks(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class xs{constructor(e){ii(this,"items",void 0),ii(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];Mn(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];Mn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return ni(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return ni(function*(){var n,r=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,r)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}const _s=xs;function ri(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function st(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){ri(a,n,r,l,s,"next",o)}function s(o){ri(a,n,r,l,s,"throw",o)}l(void 0)})}}function Rs(i,e,t){return e=js(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function js(i){var e=As(i,"string");return typeof e=="symbol"?e:String(e)}function As(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class $s{constructor(e){Rs(this,"items",void 0),this.items=e}getTable(){var e=this;return st(function*(){return new _s(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return st(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return st(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return st(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=Yr.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return st(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Qr;if(n.length>1)throw new Error("More than one matching file found");var r=n[0];return{filename:r.filename,basename:r.basename,id:r.filename,type:r.type}})()}createDirectory(e){throw new Error("Method not implemented.")}}const Us=$s;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 _t(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){Gs(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 Gs(i,e,t){return e=Vs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vs(i){var e=Hs(i,"string");return typeof e=="symbol"?e:String(e)}function Hs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function li(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Bs(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){li(a,n,r,l,s,"next",o)}function s(o){li(a,n,r,l,s,"throw",o)}l(void 0)})}}function Ks(i,e,t,n,r){return nn.apply(this,arguments)}function nn(){return nn=Bs(function*(i,e,t,n,r){var a,l,s,o;if(Qe(t)?(a=t.settings,l=t.table,s=void 0,o=t.tableSettings):(a={},l="",s=mn(t)?t.figure:t.name,o={}),r!=null&&(r.tableSettings!=null&&(o=r.tableSettings),r.table!=null&&(l=r.table),r.figure!=null&&(s=r.figure),r.settings!=null&&(a=_t(_t({},a),r.settings))),s==null&&l==null){var d=yield n();return vt.makeModel(i,a,d)}if(s!=null){var h;if(t.type===i.VariableType.FIGURE){var c={name:s,type:i.VariableType.FIGURE};h=yield e(c)}else h=yield n();return vt.makeModel(i,a,h)}var p={name:l,type:i.VariableType.TABLE},v=yield e(p);return new J(i).applyTableSettings(v,o,Ui(xa.getState())),vt.makeModelFromSettings(i,a,v)}),nn.apply(this,arguments)}var wn=y.forwardRef((i,e)=>{var t=at(),n=Jr(),r=rr(i)?i.panelState:void 0,{fetch:a,metadata:l,localDashboardId:s}=i,o=y.useMemo(()=>({metadata:l,localDashboardId:s,makeModel:()=>{if(l==null)throw new Error("Metadata is required for chart panel");return Ks(t,n,l,a,r)}}),[l,s,t,n,a,r]);return u.jsx(Et,_t(_t({ref:e},i),o))});wn.displayName="ChartPanelPlugin";const zs=wn;function si(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function qs(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 cr(i){var e=at(),[t,n]=y.useState(),{fetch:r}=i;return y.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=qs(function*(){var o=yield r(),d=yield vt.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,r]),t?u.jsx(Yi,{model:t}):null}var Ws={name:"ChartPanel",title:"Chart",type:_e.WIDGET_PLUGIN,component:cr,panelComponent:wn,supportedTypes:"Figure",icon:_a};const Zs=Ws;function pr(i){wt(i);var{id:e,layout:t}=i,n=at(),r=y.useCallback(a=>{var{metadata:l,panelId:s=ce(),table:o}=a,{settings:d}=l,h=()=>vt.makeModelFromSettings(n,d,o),c=X.titleFromSettings(d),p={type:"react-component",component:Et.COMPONENT,props:{localDashboardId:e,id:s,metadata:l,makeModel:h},title:c,id:s},{root:v}=t;F.openComponent({root:v,config:p})},[n,e,t]);return be(t.eventHub,ie.CREATE_CHART,r),null}var Xs={name:"ChartBuilderPlugin",type:_e.DASHBOARD_PLUGIN,component:pr};const Ys=Xs;var ot=G.module("FilterPlugin");function oi(i,e){return i.concat(e)}function vr(i){wt(i);var{id:e,layout:t,registerComponent:n}=i,r=Hr(),[a]=y.useState(()=>new Map),[l]=y.useState(()=>new Map),[s]=y.useState(()=>new Map),o=y.useCallback(()=>{var m=Array.from(a.values()).reduce(oi,[]).sort((b,S)=>{var P=ge.toLower(b.name),T=ge.toLower(S.name);if(P!==T)return P>T?1:-1;var L=ge.toLower(b.type),D=ge.toLower(S.type);return L!==D?L>D?1:-1:0}).reduce((b,S)=>((b.length===0||ge.toLower(b[b.length-1].name)!==ge.toLower(S.name)||ge.toLower(b[b.length-1].type)!==ge.toLower(S.type))&&b.push(S),b),[]),C=Array.from(l.values()).reduce(oi,[]).sort((b,S)=>b.timestamp-S.timestamp),w=new Map(s);ot.debug("sendUpdate",{columns:m,filters:C,tableMap:w}),r(ea(e,{columns:m,filters:C,tableMap:w}))},[r,e,a,l,s]),d=y.useCallback((m,C)=>{ot.debug2("handleColumnsChanged",m,C),a.set(m,[].concat(C)),o()},[a,o]),h=y.useCallback((m,C)=>{ot.debug2("handleFiltersChanged",m,C),l.set(m,[].concat(C)),o()},[l,o]),c=y.useCallback((m,C)=>{ot.debug2("handleTableChanged",m,C),s.set(F.getIdFromPanel(m),C),o()},[s,o]),p=y.useCallback(m=>{ot.debug2("handlePanelUnmount",m),a.delete(m),l.delete(m),s.delete(F.getIdFromPanel(m)),o()},[a,l,s,o]),v=y.useCallback(m=>{var{title:C="DropdownFilter",metadata:w={},panelState:b=null,id:S=ce(),focusElement:P=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=null}=m,D={type:"react-component",component:Ie.COMPONENT,props:{id:S,metadata:w,panelState:b,localDashboardId:e},title:C,id:S},{root:E}=t;F.openComponent({root:E,config:D,focusElement:P,createNewStack:T,dragEvent:L})},[t,e]),g=y.useCallback(m=>{var{title:C="InputFilter",metadata:w={},panelState:b=null,id:S=ce(),focusElement:P=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=void 0}=m,D={type:"react-component",component:Je.COMPONENT,props:{id:S,metadata:w,panelState:b,localDashboardId:e},title:C,id:S},{root:E}=t;F.openComponent({root:E,config:D,focusElement:P,createNewStack:T,dragEvent:L})},[t,e]),f=y.useCallback(m=>{var{title:C="FilterSets",metadata:w={},panelState:b=null,id:S=ce(),focusElement:P=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:L=null}=m,D={type:"react-component",component:Nt.COMPONENT,props:{id:S,metadata:w,panelState:b,localDashboardId:e},title:C,id:S},{root:E}=t;F.openComponent({root:E,config:D,focusElement:P,createNewStack:T,dragEvent:L})},[t,e]);return y.useEffect(function(){var C=[n(Ie.COMPONENT,Ie),n(Je.COMPONENT,Je),n(Nt.COMPONENT,Nt)];return()=>{C.forEach(w=>w())}},[n]),be(t.eventHub,H.COLUMNS_CHANGED,d),be(t.eventHub,H.FILTERS_CHANGED,h),be(t.eventHub,H.TABLE_CHANGED,c),be(t.eventHub,H.OPEN_DROPDOWN,v),be(t.eventHub,H.OPEN_INPUT,g),be(t.eventHub,H.OPEN_FILTER_SET_MANAGER,f),be(t.eventHub,ee.UNMOUNT,p),null}var Qs={name:"FilterPlugin",type:_e.DASHBOARD_PLUGIN,component:vr};const Js=Qs;var eo=G.module("@deephaven/app-utils/useTablePlugin");function mr(){var i=Gi(),e=y.useCallback(t=>{var n=i.get(t);if(n!=null){if(ta(n))return n.component;if(na(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw eo.error(r),new Error(r)},[i]);return e}function di(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function to(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function l(o){di(a,n,r,l,s,"next",o)}function s(o){di(a,n,r,l,s,"throw",o)}l(void 0)})}}function fr(i,e,t){var n=at(),r=mr(),a=y.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var l=to(function*(){var o=yield i();return cn.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return a}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 hi(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){no(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 no(i,e,t){return e=io(e),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:String(e)}function ro(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var yn=y.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=fr(n,t,r);return u.jsx(nt,hi(hi({ref:e},i),a))});yn.displayName="GridPanelPlugin";const ao=yn;function ci(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function lo(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 gr(i){var e=at(),t=Br(Ut),[n,r]=y.useState(),{fetch:a}=i;return y.useEffect(()=>{var l=!1;function s(){return o.apply(this,arguments)}function o(){return o=lo(function*(){var d=yield a(),h=yield cn.makeModel(e,d);l||r(h)}),o.apply(this,arguments)}return s(),()=>{l=!0}},[e,a]),n?u.jsx(dn,{model:n,settings:t}):null}var so={name:"IrisGridPanel",title:"Table",type:_e.WIDGET_PLUGIN,component:gr,panelComponent:yn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:Ra};const oo=so;function pi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Oe(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pi(Object(t),!0).forEach(function(n){br(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):pi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function br(i,e,t){return e=uo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function uo(i){var e=ho(i,"string");return typeof e=="symbol"?e:String(e)}function ho(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Cr(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function vi(i){var e=i;return Cr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function mi(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var dt=G.module("LinkerUtils");class qt{static getLinkType(e,t,n){var r;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return dt.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return dt.error("PanelComponent should not be null",e,t),"invalid";var a=(r=qt.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(a===void 0||!a)return dt.debug2("Incompatible panel components",e,t),"invalid";var{columnType:l}=e,{columnType:s}=t,o=s===null||$.isCompatibleType(l,s);if(!o)return dt.debug2("Incompatible type",l,s),"invalid";switch(t.panelComponent){case F.getComponentName(Et):return"chartLink";case F.getComponentName(nt):return"tableLink";case F.getComponentName(Ie):return"filterSource"}return dt.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?r.push(Oe(Oe({},a),{},{id:ce(),start:Oe(Oe({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&r.push(Oe(Oe({},a),{},{id:ce(),end:Oe(Oe({},a.end),{},{panelId:n})}))}),r}}br(qt,"ALLOWED_LINKS",new Map([[F.getComponentName(nt),[F.getComponentName(nt),F.getComponentName(Et),F.getComponentName(Ie)]]]));const Ge=qt;function Sr(i,e,t){return e=co(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function co(i){var e=po(i,"string");return typeof e=="symbol"?e:String(e)}function po(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var vo=G.module("LinkerLink"),fi=.015,gi=1.5,wr=12,yr=12,bi=2,Ot=Math.sqrt((yr*.5)**2+wr**2),Ci=Math.asin(yr*.5/wr),Si=15,Ne=Math.PI*.5;class et extends y.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($.isNumberType(e)||$.isCharType(e))return Ha(t);if($.isTextType(e))return Ba(t);if($.isDateType(e))return Ka(t);if($.isBooleanType(e)){if(t===ht.eq)return"is equal to";if(t===ht.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return vo.warn(n),""}}constructor(e){super(e),Sr(this,"getOperators",N((t,n)=>{var{onOperatorChanged:r}=this.props,a=$.getFilterTypes(n);return $.isBooleanType(n)&&(a=[ht.eq,ht.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=$.getFilterOperatorString(l),[{title:et.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),f=Math.cos(v)+2,m=window.innerWidth,C=window.innerHeight,w=0,b=0,S=Math.max(w,Math.min(r+(l-r)/2+g*(p*fi)**gi,m)),P=Math.max(b,Math.min(a+(s-a)/2+f*(p*fi)**gi,C)),T="M ".concat(r," ").concat(a," Q ").concat(S," ").concat(P," ").concat(l," ").concat(s),L="M ".concat(w," ").concat(b," L ").concat(w," ").concat(C," L ").concat(m," ").concat(C," L ").concat(m," ").concat(b,` z
6
6
  `).concat(et.makeCirclePath(r,a,Si),`
7
7
  `).concat(et.makeCirclePath(l,s,Si)),D="link-select-clip-".concat(o),E=Math.atan2(s-P,l-S),O=E-Ci+Math.PI,x=E+Ci+Math.PI,Z=l+Math.cos(E)*bi,q=s+Math.sin(E)*bi,R=Z+Math.cos(O)*Ot,Ce=q+Math.sin(O)*Ot,Re=Z+Math.cos(x)*Ot,je=q+Math.sin(x)*Ot,Ae="".concat(Z,",").concat(q," ").concat(R,",").concat(Ce," ").concat(Re,",").concat(je),De=.25*r+.5*S+.25*l,Me=.25*a+.5*P+.25*s,$e=S-r+(l-S),pe=P-a+(s-P),te=pe/$e,Wt=20,se=Wt/Math.sqrt(1+te**2),ve=se*te,Se=se*-1,we=ve*-1;Number.isFinite(te)?te>0?(se*=-1,ve*=-1,Se*=-1,we*=-1,Se-=50-10*(Math.abs(v)%Ne),we+=10*(Math.abs(v)%Ne),se-=50-10*(Math.abs(v)%Ne),ve+=10*(Math.abs(v)%Ne)):te<0?(Se+=10*(Math.abs(v)%Ne),we+=10*(Math.abs(v)%Ne),se+=10*(Math.abs(v)%Ne),ve+=10*(Math.abs(v)%Ne)):(Se=15,we=10,se=-25,ve=10):(Se=10,we=5,se=10,ve=-35);var ze="";t!==void 0&&(t==="startsWith"?ze="a*":t==="endsWith"?ze="*z":ze=$.getFilterOperatorString(t));var Zt=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:le(e,{hovering:c}),children:[u.jsx("clipPath",{id:D,children:u.jsx("path",{d:L,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:T,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(D,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:T}),u.jsx("path",{className:"link-foreground",d:T}),u.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:Ae})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[Zt&&u.jsx(k,{kind:"primary",className:"btn-fab btn-operator",style:{top:Me+(te>=0?ve:we),left:De+(te>=0?se:Se)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:ze}),u.jsx(ae,{icon:ja,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(ia,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx(k,{kind:"primary",className:"btn-fab btn-delete",style:{top:Me+(te<0?ve:we),left:De+(te<0?se:Se)},onClick:this.handleDelete,icon:on,tooltip:"Delete"})]})]})}}Sr(et,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const mo=et;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 yi(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){Pn(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 Pn(i,e,t){return e=fo(e),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:String(e)}function go(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Jt=G.module("LinkerOverlayContent");class Pr extends y.Component{constructor(e){super(e),Pn(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){Jt.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:r}=e,a=t.getOpenedPanelById(n);if(a!=null){if(!Cr(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var l=a.getCoordinateForColumn(r);if(l!=null)return l}catch{Jt.error("Could not get coordinate for column",r,a)}}var s=t.getContainerByPanelId(n);if(s==null)throw new Error("Unable to find panel container for id: ".concat(n));return F.getTabPoint(s)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:r}=this.props,a=n.map(l=>l.id===e?yi(yi({},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=Ft(e.x,0,window.innerWidth-t.width),r=Ft(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=Ft(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),l=Ft(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 f,m,{id:C,type:w,isReversed:b,start:S,end:P,operator:T}=g,L=S.columnType,[D,E]=this.getPointFromLinkPoint(S),O=(f=d?.x)!==null&&f!==void 0?f:D,x=(m=d?.y)!==null&&m!==void 0?m:E;if(P!=null&&([O,x]=this.getPointFromLinkPoint(P)),b!=null&&b){var[Z,q]=[D,E];[D,E]=[O,x],[O,x]=[Z,q]}var R=le("linker-link",{disabled:e},{"link-filter-source":w==="filterSource"},{"link-invalid":w==="invalid"},{interactive:g.end==null},{"link-is-selected":n.has(C)},{"danger-delete":p==="delete"});return{x1:D,y1:E,x2:O,y2:x,id:C,className:R,operator:T,startColumnType:L,type:w}}catch(Ce){return Jt.warn("Unable to get point for link",g,Ce),null}}).filter(g=>g!=null);return u.jsxs("div",{className:le("linker-overlay",{"danger-delete":p==="delete"}),children:[v.map(g=>{var{x1:f,y1:m,x2:C,y2:w,id:b,className:S,operator:P,startColumnType:T,type:L}=g;return u.jsx(mo,{className:S,id:b,x1:f,y1:m,x2:C,y2:w,onClick:a,onDelete:l,isSelected:n.has(b),operator:P,startColumnType:T,type:L,onOperatorChanged:this.handleOperatorChanged},b)}),u.jsxs("div",{className:le("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:h?.y,right:h?.x},"data-testid":"linker-toast-dialog",children:[u.jsx(k,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:Aa,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(ra,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:r}),u.jsxs("div",{className:"toast-footer",children:[u.jsx(k,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx(k,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(Ii,{actions:[{action:this.handleEscapePressed,shortcut:aa.LINKER_CLOSE,isGlobal:!0}]})]})}}Pn(Pr,"defaultProps",{disabled:"false"});const bo=Pr;function Pi(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?Pi(Object(t),!0).forEach(function(n){Er(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Pi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Er(i,e,t){return e=Co(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Co(i){var e=So(i,"string");return typeof e=="symbol"?e:String(e)}function So(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var K=G.module("Linker"),wo=(i,e)=>({activeTool:an(i),dh:Ri(i),isolatedLinkerPanelId:jt(i,e.localDashboardId),links:St(i,e.localDashboardId),timeZone:Ui(i)}),yo=Be(wo,{setActiveTool:ki,setDashboardLinks:Vi,addDashboardLinks:Hi,deleteDashboardLinks:Bi,setDashboardIsolatedLinkerPanelId:rn,setDashboardColumnSelectionValidator:Ki});class Po extends y.Component{constructor(e){super(e),Er(this,"getCachedLinks",N((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?.end==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.bind(this),this.handleFilterColumnSelect=this.handleFilterColumnSelect.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:n}=this.props;n!==e.layout&&(this.stopListening(e.layout),this.startListening(n)),t!==e.activeTool&&(this.updateSelectionValidators(),t===ue.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(ie.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(ie.DATA_SELECTED,this.handleUpdateValues),t.on(ie.STATE_CHANGED,this.handleStateChange),t.on(kt.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(ee.CLONED,this.handlePanelCloned),t.on(H.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(H.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(ee.CLOSE,this.handlePanelClosed),t.on(ee.CLOSED,this.handlePanelClosed),t.on(ee.DRAGGING,this.handlePanelDragging),t.on(ee.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(ie.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(ie.DATA_SELECTED,this.handleUpdateValues),t.off(ie.STATE_CHANGED,this.handleStateChange),t.off(kt.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(ee.CLONED,this.handlePanelCloned),t.off(H.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(H.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(ee.CLOSE,this.handlePanelClosed),t.off(ee.CLOSED,this.handlePanelClosed),t.off(ee.DRAGGING,this.handlePanelDragging),t.off(ee.DROPPED,this.handlePanelDropped)}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(ue.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(ue.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){K.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:n,localDashboardId:r,setActiveTool:a,setDashboardIsolatedLinkerPanelId:l}=this.props,s=F.getIdFromPanel(e),o=n.filter(d=>{var h,c;return((h=d.start)===null||h===void 0?void 0:h.panelId)===s||((c=d.end)===null||c===void 0?void 0:c.panelId)===s});if(!this.isOverlayShown()&&s!=null){a(ue.LINKER),l(r,s),o.length===0&&this.columnSelected(e,t,!0,s);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){K.debug("handleColumnsChanged",e,t);var{links:n}=this.props,r=F.getIdFromPanel(e);if(r==null){K.error("Invalid panelId",e);return}var a=n.filter(l=>{var{start:s,end:o}=l;return s.panelId===r&&Ge.findColumn(t,s)==null||o!=null&&o.panelId===r&&Ge.findColumn(t,o)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!mi(t)){K.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3?arguments[3]:void 0;if(!(r===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:l}=this.state,s=F.getIdFromPanel(e);if(s!=null){var o=F.getComponentNameFromPanel(e),{name:d,type:h}=t;if(l==null||l.start==null){var c={id:ce(),start:{panelId:s,panelComponent:o,columnName:d,columnType:h},type:"invalid",isReversed:n};K.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:p}=this.props,{start:v,id:g,isReversed:f}=l,m={panelId:s,panelComponent:o,columnName:d,columnType:h},C=Ge.getLinkType(f!==void 0&&f?m:v,f!==void 0&&f?v:m,r??a);switch(C){case"invalid":K.debug("Ignore invalid link connection",l,m);return;case"filterSource":{var w=f!==void 0&&f?v.panelId:m.panelId,b=p.filter(D=>{var{end:E}=D;return E?.panelId===w});this.deleteLinks(b);break}case"chartLink":{var S=f===!0?v:m,P=f===!0?m:v;K.debug("creating chartlink",{existingLinkEnd:S,start:v,end:m});var T=p.filter(D=>{var{end:E,start:O}=D;return O?.panelId===P.panelId&&E?.panelId===S.panelId&&E?.columnName===S.columnName&&E?.columnType===S.columnType});this.deleteLinks(T);break}}var L={start:f!==void 0&&f?m:v,end:f!==void 0&&f?v:m,id:g,type:C,operator:ht.eq};K.info("creating link",L),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([L])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:r,columnName:a,columnType:l}=n,s=t.getOpenedPanelById(r);s?vi(s)?s.unsetFilterValue(a,l):K.debug("endPanel.unsetFilterValue not implemented",s):K.debug("endPanel no longer exists, ignoring unsetFilterValue",r)}}setPanelFilterMap(e,t){K.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,r=n.getOpenedPanelById(e);r?vi(r)?r.setFilterMap(t):K.debug("panel.setFilterMap not implemented",e,r):K.debug("panel no longer exists, ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:n}=this.props;t(n,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:n}=this.props;if(e.forEach(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)}handleUpdateValues(e,t){for(var n=F.getIdFromPanel(e),{dh:r,links:a,timeZone:l}=this.props,s=new Map,o=0;o<a.length;o+=1){var{start:d,end:h,operator:c}=a[o];if(d.panelId===n&&h!=null){var{panelId:p,columnName:v,columnType:g}=h,f=s.has(p)?s.get(p):new Map,m=f.has(v)===!0?f.get(v).filterList:[],{visibleIndex:C,isExpandable:w,isGrouped:b}=t[d.columnName],{value:S}=t[d.columnName],P="".concat(S);if(S===null&&w&&b&&(S=void 0),g!=null&&$.isDateType(g)){var T=new ji(r,{timeZone:l,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:la.FULL_DATE_FORMAT});P=T.format(S)}var L={operator:c,text:P,value:S,startColumnIndex:C};m.push(L),f.set(v,{columnType:g,filterList:m}),s.set(p,f)}}s.forEach((D,E)=>{this.setPanelFilterMap(E,D)})}handlePanelCloned(e,t){var{links:n}=this.props,r=F.getIdFromPanel(e),a=t.id;if(r!=null){var l=Ge.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?.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?.panelId===e)&&this.handleLinkDeleted(s)}}isOverlayShown(){var{activeTool:e}=this.props;return e===ue.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case ue.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:Ei(Ei({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:r}=this.props;if(t==null)return n?.start!=null&&this.updateLinkInProgressType(),!1;if(!mi(t))return K.debug2("Column is not filterable",t.description),n?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(n?.start==null)return!0;var{isReversed:a,start:l}=n,s=F.getIdFromPanel(e);if(s==null)return!1;var o={panelId:s,panelComponent:F.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},d=a!==void 0&&a?Ge.getLinkType(o,l,r):Ge.getLinkType(l,o,r);return this.updateLinkInProgressType(d),d!=="invalid"}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(tn,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(bo,{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})})}}var Eo=yo(Po);const Fo=Eo;function Fr(i){wt(i);var{id:e,layout:t,panelManager:n}=i;return u.jsx(Fo,{layout:t,localDashboardId:e,panelManager:n})}var To={name:"LinkerPlugin",type:_e.DASHBOARD_PLUGIN,component:Fr};const Do=To;function Tr(i){wt(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,a=y.useCallback(function(){var{title:l="",metadata:s={},id:o=ce(),focusElement:d=F.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:c=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(pt.COMPONENT),v=p.map(w=>{var b;return(b=w.title)!==null&&b!==void 0?b:""}),g=l!=null&&l!==""?l:It.getNewMarkdownTitle(v),f=null,m={type:"react-component",component:pt.COMPONENT,props:{id:o,metadata:s,panelState:{content:f},localDashboardId:e},title:g,id:o},{root:C}=t;F.openComponent({root:C,config:m,focusElement:d,createNewStack:h,dragEvent:c})},[e,t,n]);return y.useEffect(function(){var s=[r(pt.COMPONENT,pt)];return()=>{s.forEach(o=>o())}},[r]),be(t.eventHub,zi.OPEN,a),null}var Mo={name:"MarkdownPlugin",type:_e.DASHBOARD_PLUGIN,component:Tr};const Lo=Mo;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 Ti(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){Oo(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 Oo(i,e,t){return e=No(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function No(i){var e=Io(i,"string");return typeof e=="symbol"?e:String(e)}function Io(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var En=y.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,a=fr(n,t,r);return u.jsx(hr,Ti(Ti({ref:e},i),a))});En.displayName="PandasPanelPlugin";const ko=En;function Di(i,e,t,n,r,a,l){try{var s=i[a](l),o=s.value}catch(d){t(d);return}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){Di(a,n,r,l,s,"next",o)}function s(o){Di(a,n,r,l,s,"throw",o)}l(void 0)})}}function Dr(i){var e=at(),[t,n]=y.useState(),[r,a]=y.useState(!0),[l,s]=y.useState(!1),{fetch:o}=i,d=y.useCallback(en(function*(){var c=yield o();return cn.makeModel(e,c)}),[e,o]),h=y.useCallback(en(function*(){a(!0);var c=yield d();n(c),a(!1)}),[d]);return y.useEffect(()=>{var c=!1;function p(){return v.apply(this,arguments)}function v(){return v=en(function*(){var g=yield d();c||(n(g),s(!0),a(!1))}),v.apply(this,arguments)}return p(),a(!0),()=>{c=!0}},[d]),u.jsxs(u.Fragment,{children:[u.jsx(Zi,{isLoaded:l,isLoading:r}),t&&u.jsx(dn,{model:t,children:u.jsx(ur,{onClick:h})})]})}var xo={name:"PandasPanel",title:"Pandas",type:_e.WIDGET_PLUGIN,component:Dr,panelComponent:En,supportedTypes:"pandas.DataFrame",icon:$a};const _o=xo;function Mi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ut(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mi(Object(t),!0).forEach(function(n){Ro(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Mi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ro(i,e,t){return e=jo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jo(i){var e=Ao(i,"string");return typeof e=="symbol"?e:String(e)}function Ao(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var $o=G.module("WidgetLoaderPlugin");function Uo(i){var e;function t(n,r){var a,l=i.component,{metadata:s}=n,o=oa(l);return u.jsx(Pt,ut(ut({widgetName:(a=s?.name)!==null&&a!==void 0?a:void 0,widgetType:i.title},n),{},{children:o?u.jsx(l,ut(ut({},n),{},{ref:r})):u.jsx(l,ut({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),y.forwardRef(t)}function Mr(i){var e=Gi(),t=y.useMemo(()=>{var s=new Map;return e.forEach(o=>{sa(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var h;$o.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]);wt(i);var{id:n,layout:r,registerComponent:a}=i,l=y.useCallback(s=>{var o,{dragEvent:d,panelId:h=ce(),fetch:c,widget:p}=s,{type:v}=p,g=v!=null?t.get(v):null;if(g!=null){var f=(o=p.name)!==null&&o!==void 0?o:v,m={localDashboardId:n,metadata:p,fetch:c},C={type:"react-component",component:g.name,props:m,title:f,id:h},{root:w}=r;F.openComponent({root:w,config:C,dragEvent:d})}},[n,r,t]);return y.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?a(o.name,Uo(o)):a(o.name,d)});return()=>{s.forEach(o=>o())}},[a,t]),be(r.eventHub,ee.OPEN,l),null}var Go={name:"WidgetLoaderPlugin",type:_e.DASHBOARD_PLUGIN,component:Mr};const Vo=Go;var Ho=M.shape({state:M.shape({panelState:M.shape({})})}),Bo=M.shape({panelId:M.string.isRequired,columnName:M.string.isRequired,columnType:M.string.isRequired}),Li=M.shape({panelId:M.string.isRequired,columnName:M.string.isRequired}),Lr=M.shape({start:Li,end:Li,id:M.string,isReversed:M.bool}),Ko=M.arrayOf(Lr),zo=M.shape({name:M.string.isRequired,operateAs:M.string.isRequired,groups:M.arrayOf(M.string).isRequired,permissions:M.shape({canUsePanels:M.bool.isRequired,canCopy:M.bool.isRequired,canDownloadCsv:M.bool.isRequired,canLogout:M.bool.isRequired}).isRequired}),qo=Object.freeze({LinkPoint:Bo,Link:Lr,Links:Ko,Panel:Ho,User:zo});const Wo=qo;var Zo=(i,e)=>i[e]===null?null:M.bool,Xo=(i,e)=>i[e]===null?null:M.string,Yo=Object.freeze({nullableBoolean:Zo,nullableString:Xo});const Qo=Yo,ld=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:pr,ChartBuilderPluginConfig:Ys,ChartEvent:kt,ChartPanel:Et,ChartPanelPlugin:zs,ChartPluginConfig:Zs,ChartWidgetPlugin:cr,CommandHistoryPanel:da,CommonPropTypes:Qo,ConsoleEvent:ua,ConsolePanel:ha,ConsolePlugin:ca,ControlType:pa,DropdownFilterPanel:Ie,FileExplorerPanel:va,FilterPlugin:vr,FilterPluginConfig:Js,FilterSetManager:ar,FilterSetManagerPanel:Nt,GridPanelPlugin:ao,GridPluginConfig:oo,GridWidgetPlugin:gr,InputFilterEvent:H,InputFilterPanel:Je,IrisGridEvent:ie,IrisGridPanel:nt,LinkerPlugin:Fr,LinkerPluginConfig:Do,LinkerUtils:Ge,LogPanel:ma,MarkdownEvent:zi,MarkdownPanel:pt,MarkdownPlugin:Tr,MarkdownPluginConfig:Lo,MockFileStorage:Us,NotebookEvent:fa,NotebookPanel:ga,PandasEvent:Ml,PandasPanel:hr,PandasPanelPlugin:ko,PandasPluginConfig:_o,PandasWidgetPlugin:Dr,Panel:Ct,TabEvent:ba,ToolType:ue,UIPropTypes:Wo,WidgetLoaderPlugin:Mr,WidgetLoaderPluginConfig:Vo,WidgetPanel:Pt,WidgetPanelTooltip:yt,addDashboardLinks:Hi,deleteDashboardLinks:Bi,getColumnSelectionValidatorForDashboard:At,getColumnsForDashboard:ln,getDashboardConnection:Ca,getDashboardConsoleSettings:Sa,getDashboardSessionWrapper:wa,getFilterSetsForDashboard:$i,getInputFiltersForDashboard:$t,getIsolatedLinkerPanelIdForDashboard:jt,getLinksForDashboard:St,getTableMapForDashboard:Rt,isChartPanelDehydratedProps:rr,isChartPanelFigureMetadata:mn,isChartPanelTableMetadata:Qe,isGLChartPanelState:ir,isIrisGridPanelMetadata:sr,isLegacyIrisGridPanelMetadata:lr,setDashboardColumnSelectionValidator:Ki,setDashboardConnection:ya,setDashboardConsoleSettings:Pa,setDashboardFilterSets:Ai,setDashboardIsolatedLinkerPanelId:rn,setDashboardLinks:Vi,setDashboardSessionWrapper:Ea,useLoadTablePlugin:mr},Symbol.toStringTag,{value:"Module"}));export{un as C,ld as D,_n as F,Cl as I,vt as a,cn as b,ol as c,Qa as d,ml as e,jn as i};
8
- //# sourceMappingURL=index-67e9cb27.js.map
8
+ //# sourceMappingURL=index-576eeba9.js.map