@deephaven/code-studio 0.85.28 → 0.85.30

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