@deephaven/code-studio 0.94.1-beta.0 → 0.95.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/build/assets/{AppRoot-2QqbS1nC.js → AppRoot-BAdlVp-2.js} +4 -4
  2. package/build/assets/AppRoot-BAdlVp-2.js.map +1 -0
  3. package/build/assets/{Chart-Cm7qWO9E.js → Chart-CAbfBNKX.js} +2 -2
  4. package/build/assets/{Chart-Cm7qWO9E.js.map → Chart-CAbfBNKX.js.map} +1 -1
  5. package/build/assets/{ControlType-CckisQF4.js → ControlType-NUmGfTww.js} +4 -4
  6. package/build/assets/{ControlType-CckisQF4.js.map → ControlType-NUmGfTww.js.map} +1 -1
  7. package/build/assets/{FontBootstrap-CvnhQGa5.js → FontBootstrap-Bl6vq41v.js} +2 -2
  8. package/build/assets/{FontBootstrap-CvnhQGa5.js.map → FontBootstrap-Bl6vq41v.js.map} +1 -1
  9. package/build/assets/{FormatterUtils-BAfeV5hG.js → FormatterUtils-iauIVwuu.js} +2 -2
  10. package/build/assets/{FormatterUtils-BAfeV5hG.js.map → FormatterUtils-iauIVwuu.js.map} +1 -1
  11. package/build/assets/{Grid-PyvX8Ljr.js → Grid-CjnujVEX.js} +2 -2
  12. package/build/assets/{Grid-PyvX8Ljr.js.map → Grid-CjnujVEX.js.map} +1 -1
  13. package/build/assets/{IrisGrid-C7qtaa22.js → IrisGrid-BGnzpzYu.js} +2 -2
  14. package/build/assets/{IrisGrid-C7qtaa22.js.map → IrisGrid-BGnzpzYu.js.map} +1 -1
  15. package/build/assets/{IrisGridModel-CCMYIR29.js → IrisGridModel-CAsjFilJ.js} +3 -3
  16. package/build/assets/{IrisGridModel-CCMYIR29.js.map → IrisGridModel-CAsjFilJ.js.map} +1 -1
  17. package/build/assets/{IrisGridShortcuts-B3PQt1Dg.js → IrisGridShortcuts-BwHkgvtW.js} +2 -2
  18. package/build/assets/{IrisGridShortcuts-B3PQt1Dg.js.map → IrisGridShortcuts-BwHkgvtW.js.map} +1 -1
  19. package/build/assets/{IrisGridThemeProvider-Cf0M-Qvb.js → IrisGridThemeProvider-Atqacw7P.js} +2 -2
  20. package/build/assets/{IrisGridThemeProvider-Cf0M-Qvb.js.map → IrisGridThemeProvider-Atqacw7P.js.map} +1 -1
  21. package/build/assets/{LocalWorkspaceStorage-CFBIVjrj.js → LocalWorkspaceStorage-h3-A9jVy.js} +2 -2
  22. package/build/assets/{LocalWorkspaceStorage-CFBIVjrj.js.map → LocalWorkspaceStorage-h3-A9jVy.js.map} +1 -1
  23. package/build/assets/{MarkdownEditor-fe6mc7KC.js → MarkdownEditor-C8u19ocy.js} +2 -2
  24. package/build/assets/{MarkdownEditor-fe6mc7KC.js.map → MarkdownEditor-C8u19ocy.js.map} +1 -1
  25. package/build/assets/{MarkdownNotebook-2wkzDKT_.js → MarkdownNotebook-CEg2045K.js} +2 -2
  26. package/build/assets/{MarkdownNotebook-2wkzDKT_.js.map → MarkdownNotebook-CEg2045K.js.map} +1 -1
  27. package/build/assets/{MissingPartitionError-Dj2Y-FKf.js → MissingPartitionError-yhygxxeZ.js} +2 -2
  28. package/build/assets/{MissingPartitionError-Dj2Y-FKf.js.map → MissingPartitionError-yhygxxeZ.js.map} +1 -1
  29. package/build/assets/{StyleGuideRoot-DWcUvpZo.js → StyleGuideRoot-C-Kz5fEa.js} +2 -2
  30. package/build/assets/StyleGuideRoot-C-Kz5fEa.js.map +1 -0
  31. package/build/assets/{TokenBoxCellRenderer-DfZgvoE0.js → TokenBoxCellRenderer-DH2eZRQH.js} +2 -2
  32. package/build/assets/{TokenBoxCellRenderer-DfZgvoE0.js.map → TokenBoxCellRenderer-DH2eZRQH.js.map} +1 -1
  33. package/build/assets/{index-B0jej1Vv.js → index-B8xrSWbn.js} +5 -5
  34. package/build/assets/index-B8xrSWbn.js.map +1 -0
  35. package/build/assets/index-Bkz3vMXy.css +1 -0
  36. package/build/assets/{index-A37_P9XP.js → index-By1dHjp4.js} +3 -3
  37. package/build/assets/{index-A37_P9XP.js.map → index-By1dHjp4.js.map} +1 -1
  38. package/build/assets/{index-DVqL-niD.js → index-C159LUCr.js} +2 -2
  39. package/build/assets/{index-DVqL-niD.js.map → index-C159LUCr.js.map} +1 -1
  40. package/build/index.html +2 -2
  41. package/package.json +31 -31
  42. package/build/assets/AppRoot-2QqbS1nC.js.map +0 -1
  43. package/build/assets/StyleGuideRoot-DWcUvpZo.js.map +0 -1
  44. package/build/assets/index-B0jej1Vv.js.map +0 -1
  45. package/build/assets/index-DrdNUMrr.css +0 -1
@@ -1,9 +1,9 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MarkdownEditor-fe6mc7KC.js","./vendor-CohWXWuY.js","./helpers-BosuxZz1.js","./vendor-Ck7TznCw.css","./ControlType-CckisQF4.js","./index-A37_P9XP.js","./monaco-CNNCitmD.js","./monaco-BX50Gyx4.css","./index-6ub2NC3N.css","./ControlType-0B-XeYnS.css","./mathjax-BXHSps6A.js"])))=>i.map(i=>d[i]);
2
- import{r as y,J as u,M as se,a0 as We,a1 as ae,bl as Ar,ab as N,bm as wi,N as le,a2 as O,_ as Ke,V as ne,I as pe,aS as $r,aR as En,a5 as Ur,ac as Gr,aq as Pt}from"./vendor-CohWXWuY.js";import{F as Be,cF as Me,P as _e,ah as V,cG as Xt,c as W,aX as Ti,L as Vr,a8 as Hr,cH as gt,ak as Di,cI as be,B as I,V as Fi,cJ as nn,cK as Mi,N as he,ab as H,x as Jt,cL as xt,c6 as Li,_ as rn,cM as Rt,cN as jt,cO as At,cP as bt,H as $t,bV as T,S as vt,cQ as an,i as Oi,b as Ni,a4 as Br,a9 as Wr,cR as Ii,cS as ki,aP as Kr,ac as te,c5 as zr,cT as wn,cy as qr,cz as Xr,p as _i,u as ln,cg as xe,c3 as Ct,ce as Fe,Y as Yr,am as xi,cr as Zr,cp as Qr,cu as Ri,T as dt,Q as Jr,t as ea,J as ta,cU as ji,cV as Ai,cW as $i,cX as Ui,b9 as na,ad as Gi,cf as ia,bX as ra,aW as aa,cD as la,cY as sa,cB as oa,aj as da,M as ua,cE as ha,cC as ca,aa as pa,ae as va,cZ as fa,a2 as ma,c_ as ga,a3 as ba,as as Ca,c$ as Sa,at as ya}from"./ControlType-CckisQF4.js";import{aj as Pa,L as B,e as k,ap as Ea,aq as wa,I as sn,ar as Ta,as as Da,at as Vi,f as on,au as Hi,av as Tn,w as Dn,g as Fa,D as Ma,M as La,b as Oa,c as Na,J as ft,s as Ia,aw as ka,ax as _a,d as xa,ay as Ra,az as ja}from"./index-A37_P9XP.js";import{C as Aa,a as Q,I as x,G as Et,S as Bi,L as Wi,b as dn}from"./IrisGridModel-CCMYIR29.js";import{I as $a,M as Fn,k as Ua,i as Ye,j as Ue,c as Ga,d as J,A as Va,l as Ha,m as Ba,n as Wa}from"./MissingPartitionError-Dj2Y-FKf.js";import{F as Mn}from"./FormatterUtils-BAfeV5hG.js";import{_ as Ka}from"./monaco-CNNCitmD.js";function un(i){var{className:e,isFlipped:t,children:n,"data-testid":r}=i,l=d=>{if(n.length!==2)throw new Error("CardFlip requires 2 children to function");return n[d]},a=y.useRef(null),s=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return y.useEffect(function(){if(!a.current)throw Error("ref undefined");a.current.addEventListener("transitionstart",s);var h=a.current;return function(){if(h!=null)return h.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:se(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":r,children:[u.jsx("div",{className:"card-flip--back",children:l(0)}),u.jsx("div",{ref:a,className:"card-flip--front",onTransitionEnd:o,children:l(1)})]})}function Ln(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function za(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Ln(l,n,r,a,s,"next",o)}function s(o){Ln(l,n,r,a,s,"throw",o)}a(void 0)})}}var qa=y.createContext(null);function Xa(i){var[e,t]=y.useState(null),[n,r]=y.useState(null),l=y.useContext(qa),a=y.useContext(Pa);return y.useEffect(()=>{if(l==null){if(a!=null){t(a),r(null);return}t(null),r(new Error("No API available in useDeferredApi. Was code wrapped in ApiBootstrap or DeferredApiContext.Provider?"));return}var s=!1;function o(){return d.apply(this,arguments)}function d(){return d=za(function*(){if(i==null)s||(t(null),r(new Error("No widget provided to useDeferredApi")));else if(typeof l=="function")try{var h=yield l(i);s||(t(h),r(null))}catch(c){s||(t(null),r(c))}else t(l)}),d.apply(this,arguments)}return o(),()=>{s=!0}},[a,l,i]),[e,n]}function On(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Nn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?On(Object(t),!0).forEach(function(n){$(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):On(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function $(i,e,t){return e=Ya(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ya(i){var e=Za(i,"string");return typeof e=="symbol"?e:String(e)}function Za(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var K=B.module("FigureChartModel");class Ut extends Aa{constructor(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,$(this,"chartUtils",void 0),$(this,"dh",void 0),$(this,"figure",void 0),$(this,"settings",void 0),$(this,"data",void 0),$(this,"layout",void 0),$(this,"seriesDataMap",void 0),$(this,"pendingSeries",void 0),$(this,"oneClicks",void 0),$(this,"filterColumnMap",void 0),$(this,"lastFilter",void 0),$(this,"isConnected",void 0),$(this,"seriesToProcess",void 0),$(this,"addPendingSeries",We(()=>{for(var l=Q.getAxisTypeMap(this.figure),{pendingSeries:a}=this,s=function(){var h,c=a[o],p=n.figure.charts.find(v=>v.series.includes(c));n.addSeries(c,l,(h=p==null?void 0:p.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<a.length;o+=1)s();this.pendingSeries=[]},Ut.ADD_SERIES_DEBOUNCE)),$(this,"getTimeZone",ae((l,a)=>{if(a!=null){var s=a.getColumnTypeFormatter(l);if(s!=null)return s.dhTimeZone}})),$(this,"getValueTranslator",ae((l,a)=>{var s=this.getTimeZone(l,a);return o=>this.chartUtils.unwrapValue(o,s)})),$(this,"getValueParser",ae((l,a)=>{var s=this.getTimeZone(l,a);return o=>this.chartUtils.wrapValue(o,l,s)})),$(this,"getRangeParser",ae((l,a)=>s=>{var[o,d]=s,h=this.getValueParser(l,a);return o=h(o),d=h(d),[o,d]})),$(this,"getAxisRangeParser",ae((l,a)=>s=>{var o=Q.getSourceForAxis(l,s);return o!=null?this.getRangeParser(o.columnType,a):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 Q(e),this.figure=t,this.settings=r,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=Q.getAxisTypeMap(this.figure),r=[];this.seriesToProcess=new Set;for(var l=function(){for(var p=t[a],v=0;v<p.series.length;v+=1){var m=p.series[v];r.push(m.name),e.addSeries(m,n,p.showLegend)}var{axes:g,title:f}=p;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var C=g.find(L=>L.type===e.dh.plot.AxisType.X),P=g.find(L=>L.type===e.dh.plot.AxisType.Y);if(C==null||P==null)K.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var b,S,E,D,M=((b=(S=n.get(C.type))===null||S===void 0?void 0:S.findIndex(L=>L===C))!==null&&b!==void 0?b:0)+1,F=((E=(D=n.get(P.type))===null||D===void 0?void 0:D.findIndex(L=>L===P))!==null&&E!==void 0?E:0)+1,w={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(M," domain"),yref:"y".concat(F," domain")};e.layout.annotations==null?e.layout.annotations=[w]:e.layout.annotations.push(w)}}},a=0;a<t.length;a+=1)l();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>r.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var r,l,{dh:a}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,Q.getSeriesVisibility(e.name,this.settings),n,(r=(l=this.renderOptions)===null||l===void 0?void 0:l.webgl)!==null&&r!==void 0?r:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===a.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===a.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=Q.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===a.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 r=0;r<n.length;r+=1){var l=n[r];K.debug2("handleFigureUpdated updating series",l.name);for(var{sources:a}=l,s=0;s<a.length;s+=1){var o=a[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),p=t.getArray(l,h,c);this.setDataArrayForSeries(l,h,p)}this.seriesToProcess.delete(l.name),this.cleanSeries(l)}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 r=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,l=Q.DEFAULT_MARGIN.t+r*Q.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=l:this.layout.margin={t:l},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=Nn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=Nn({},this.layout.title.pad),this.layout.title.pad.t=Q.DEFAULT_TITLE_PADDING.t+r*Q.SUBTITLE_LINE_HEIGHT*.5)}getPlotWidth(){var e,t,n,r;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,r;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{K.debug("Assigning ".concat(n),this.layout[n],t);var r=this.layout[n];r!=null?Object.assign(r,t):K.debug("Ignoring null layout.".concat(n))})}}setDataArrayForSeries(e,t,n){var{name:r,plotStyle:l}=e,a=this.seriesDataMap.get(r),s=this.chartUtils.getPlotlyProperty(l,t);a&&Ar(a,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:r}=e,l=this.seriesDataMap.get(n);if(l!=null){if(r===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:a,xHigh:s}=l;if(a&&s&&a.length===s.length){for(var o=[],d=0;d<a.length;d+=1)o.push(s[d]-a[d]);l.width=o}}else if(r===t.plot.SeriesPlotStyle.LINE||r===t.plot.SeriesPlotStyle.ERROR_BAR||r===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:p,y:v,yLow:m,yHigh:g}=l;c&&p&&c!==h&&(l.error_x=Q.getPlotlyErrorBars(h,c,p)),m&&g&&m!==v&&(l.error_y=Q.getPlotlyErrorBars(v,m,g))}else if(r===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:C}=l;f!==void 0&&C===void 0&&(l.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 a=t.oneClicks[r],{columns:s}=a,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&&a.setValueForColumn(d,h)})},r=0;r<this.oneClicks.length;r+=1)n();this.lastFilter=new Map(e)}setFigure(e){this.close(),this.figure=e,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure(),this.listeners.length>0&&this.subscribeFigure()}updateSettings(e){this.settings=e}}$(Ut,"ADD_SERIES_DEBOUNCE",50);const In=Ut;function kn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Yt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){kn(l,n,r,a,s,"next",o)}function s(o){kn(l,n,r,a,s,"throw",o)}a(void 0)})}}class et{static makeModelFromSettings(e,t,n){return Yt(function*(){var r=yield et.makeFigureFromSettings(e,t,n);return new In(e,r,t)})()}static makeFigureFromSettings(e,t,n){return Yt(function*(){var r=yield n.copy();return r.applyCustomColumns(n.customColumns),r.applyFilter(n.filter),r.applySort(n.sort),e.plot.Figure.create(new Q(e).makeFigureSettings(t,r))})()}static makeModel(e,t,n){return Yt(function*(){return new In(e,n,t)})()}}function _n(i){return i.setFigure!==void 0}function xn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Ge(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){xn(l,n,r,a,s,"next",o)}function s(o){xn(l,n,r,a,s,"throw",o)}a(void 0)})}}function me(i,e,t){return e=Qa(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qa(i){var e=Ja(i,"string");return typeof e=="symbol"?e:String(e)}function Ja(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var we=B.module("IrisGridTableModel");class el extends $a{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Be(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),me(this,"userFrozenColumns",void 0),me(this,"customColumnList",void 0),me(this,"formatColumnList",void 0),me(this,"initialFilters",[]),me(this,"getMemoizedKeyColumnSet",N(l=>new Set(l??V))),me(this,"getMemoizedFrontColumns",N(l=>l??V)),me(this,"getMemoizedBackColumns",N(l=>l??V)),me(this,"getMemoizedFrozenColumns",N((l,a)=>{var s;return(s=a??l)!==null&&s!==void 0?s:V})),me(this,"getCachedFilterableColumnSet",N(l=>new Set(l.map((a,s)=>s)))),me(this,"getCachedPartitionColumns",N(l=>l.filter(a=>a.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isValuesTableAvailable(){return this.table.selectDistinct!=null&&this.table.copy!=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(we.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){we.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){we.debug("Ignore same customColumns");return}this.closeSubscription(),this.customColumnList=e,this.table.applyCustomColumns([...e,...this.formatColumns]),this.applyViewport()}get formatColumns(){return this.formatColumnList}set formatColumns(e){if(we.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){we.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){we.debug("Ignore same formatColumns");return}this.closeSubscription(),this.formatColumnList=e,this.table.applyCustomColumns([...this.customColumns,...e]),this.applyViewport()}updateFrozenColumns(e){this.userFrozenColumns=e,this.dispatchEvent(new Me(x.EVENT.TABLE_CHANGED,{detail:this.table}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Ge(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Ge(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return Ge(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return Ge(function*(){we.debug("getting partition table for partitions",e);for(var n=[],r=0;r<t.partitionColumns.length;r+=1){var l=e[r],a=t.partitionColumns[r],s=t.tableUtils.makeNullableEqFilter(a,l);n.push(s)}var o=yield t.table.copy();return o.applyFilter([...t.initialFilters,...n]),o})()}set filter(e){this.closeSubscription(),this.table.applyFilter([...this.initialFilters,...e]),this.applyViewport()}set totalsConfig(e){if(we.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new Me(x.EVENT.UPDATED));return}this.totalsTablePromise=_e.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{_e.isCanceled(t)||(we.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Me(x.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}get isPartitionAwareSourceTable(){return this.isPartitionRequired}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Ge(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=l=>super.pendingDataMap=l,r=this;return Ge(function*(){var l;if(!r.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));k(r.inputTable);var{keyColumns:a}=r.inputTable;if(r.keyColumnSet.size===0)throw new Error("No key columns to allow deletion");var s=r.getPendingAreaRange(),o=e.map(b=>Et.intersection(s,b)).filter(b=>b!=null).map(b=>(k(b),Et.offset(b,0,-(r.floatingTopRowCount+r.table.size))));if(o.length>0){for(var d=new Map(t()),h=0;h<o.length;h+=1){var c=o[h];k(c.startRow),k(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),r.formattedStringData=[],r.dispatchEvent(new Me(x.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new Me(x.EVENT.UPDATED))}var v=r.getTableAreaRange(),m=e.map(b=>Et.intersection(v,b)).filter(b=>b!=null);if(!(m.length<=0)){var[g,f]=yield Promise.all([r.snapshot(m.map(b=>(k(b),a.map(S=>{var E=r.getColumnIndexByName(S.name);if(E==null)throw new Error("Key column ".concat(S.name," not found"));return new Et(E,b.startRow,E,b.endRow)}))).flat()),r.table.copy()]),C=g.map(b=>{for(var S=[],E=0;E<a.length;E+=1){var D=a[E],M=b[E],F=r.tableUtils.makeFilterRawValue(D.type,M),w=D.filter().eq(F);S.push(w)}return S.reduce((L,R)=>{var G;return(G=L==null?void 0:L.and(R))!==null&&G!==void 0?G:R})}),P=C.reduce((b,S)=>{var E;return(E=b==null?void 0:b.or(S))!==null&&E!==void 0?E:S});f.applyFilter([P]),yield(l=r.inputTable)===null||l===void 0?void 0:l.deleteTable(f),f.close()}})()}seekRow(e,t,n,r,l,a,s){var o=this;return Ge(function*(){return o.table.seekRow(e,t,n,r,l,a,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const tl=el;function nl(i,e,t){return e=il(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function il(i){var e=rl(i,"string");return typeof e=="symbol"?e:String(e)}function rl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class al extends x{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Be(e);super(e),nl(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 V}getColumnIndexByName(e){}get initialMovedColumns(){return V}get initialMovedRows(){return V}get initialColumnHeaderGroups(){return V}get groupedColumns(){return V}formatForCell(e,t){}valueForCell(e,t){}get filter(){return V}set filter(e){}get partition(){return V}set partition(e){}get partitionColumns(){return V}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return V}set sort(e){}get customColumns(){return V}set customColumns(e){}get formatColumns(){return V}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 V}set selectDistinctColumns(e){}get pendingDataMap(){return Xt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Xt}commitPending(){return Promise.resolve()}setViewport(e,t,n){}snapshot(e){return Promise.resolve([])}textSnapshot(e,t,n){return Promise.resolve("")}valuesTable(e){throw new Error("Method not implemented.")}delete(e){return Promise.resolve()}seekRow(e,t,n,r,l,a,s){return Promise.resolve(0)}get columnHeaderGroups(){return V}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Xt}getColumnHeaderParentGroup(e,t){}}function Rn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function wt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Rn(l,n,r,a,s,"next",o)}function s(o){Rn(l,n,r,a,s,"throw",o)}a(void 0)})}}function ll(i,e,t){return e=sl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sl(i){var e=ol(i,"string");return typeof e=="symbol"?e:String(e)}function ol(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function dl(i){return"getBaseTable"in i&&typeof i.getBaseTable=="function"}class ul extends al{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Be(e);super(e,n),ll(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 wt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return wt(function*(){return dl(e.partitionedTable)?e.partitionedTable.getBaseTable():e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return wt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return wt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Fn("Partition not found");return n}catch(r){throw Ua(r)?r:new Fn("Unable to retrieve partition")}})()}}const hl=ul;function Te(i,e,t){return e=cl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cl(i){var e=pl(i,"string");return typeof e=="symbol"?e:String(e)}function pl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var De=B.module("IrisGridProxyModel");function Xe(i,e,t,n){return W.isTreeTable(e)?new Ga(i,e,t):W.isPartitionedTable(e)?new hl(i,e,t):new tl(i,e,t,n)}class vl extends x{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Be(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Te(this,"model",void 0),Te(this,"dh",void 0),Te(this,"originalModel",void 0),Te(this,"modelPromise",void 0),Te(this,"rollup",void 0),Te(this,"partition",void 0),Te(this,"selectDistinct",void 0),Te(this,"currentViewport",void 0),Te(this,"setViewport",(a,s,o)=>{this.currentViewport={top:a,bottom:s,columns:o},this.model.setViewport(a,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 l=Xe(e,t,n,r);return this.dh=e,this.originalModel=l,this.model=l,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[],new Proxy(this,{get(a,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(a),s))===null||d===void 0?void 0:d.get)!=null;if(h)return Reflect.get(a,s,o);var c=Object.prototype.hasOwnProperty.call(a,s),p=Object.prototype.hasOwnProperty.call(Object.getPrototypeOf(a),s),v=c||p?a:a.model;return Reflect.get(v,s)},set(a,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(a),s))===null||d===void 0?void 0:d.set)!=null,c=Object.prototype.hasOwnProperty.call(a,s);return h||c?Reflect.set(a,s,o,a):Reflect.set(a.model,s,o,a.model)}})}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){De.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Me(n,{detail:t}))}setModel(e){De.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 Me(x.EVENT.COLUMNS_CHANGED,{detail:e.columns}));else if(this.currentViewport!=null){var{top:r,bottom:l,columns:a}=this.currentViewport;e.setViewport(r,l,a)}Ye(e)&&this.dispatchEvent(new Me(x.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){De.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=_e.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(_e.isCanceled(t)){De.debug2("setNextModel cancelled");return}De.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Me(x.EVENT.REQUEST_FAILED,{detail:t}))})}startListening(){super.startListening(),this.addListeners(this.model)}stopListening(){super.stopListening(),this.removeListeners(this.model)}addListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get originalColumns(){return this.originalModel.columns}get partitionColumns(){return Ue(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!Ue(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");De.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&Ue(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>Xe(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>Xe(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>Xe(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(De.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!wi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);Ye(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>Xe(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(De.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){De.debug("Ignore same selectDistinctColumns",e);return}this.selectDistinct=e;var t=e.map(r=>this.originalColumns.find(l=>l.name===r)).filter(r=>r!=null),n=Promise.resolve(this.originalModel);Ye(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(r=>Xe(this.dh,r,this.formatter))),this.setNextModel(n)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return Ue(this.originalModel)?this.originalModel.isPartitionRequired:!1}}function jn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function fl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){jn(l,n,r,a,s,"next",o)}function s(o){jn(l,n,r,a,s,"throw",o)}a(void 0)})}}class ml{static makeModel(e,t){var n=arguments;return fl(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new Be(e),l=null;return!W.isTreeTable(t)&&!W.isPartitionedTable(t)&&t.hasInputTable&&(l=yield t.inputTable()),new vl(e,t,r,l)})()}}const Ki=ml;function hn(i,e,t){return e=gl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function gl(i){var e=bl(i,"string");return typeof e=="symbol"?e:String(e)}function bl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Gt{}hn(Gt,"OPEN","ChartEvent.OPEN");hn(Gt,"CLOSE","ChartEvent.CLOSE");hn(Gt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const It=Gt;function at(i,e,t){return e=Cl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cl(i){var e=Sl(i,"string");return typeof e=="symbol"?e:String(e)}function Sl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ze{}at(ze,"OPEN_GRID","IrisGridEvent.OPEN_GRID");at(ze,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");at(ze,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");at(ze,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");at(ze,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");at(ze,"CREATE_CHART","IrisGridevent.CREATE_CHART");const re=ze;function zi(i,e,t){return e=yl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yl(i){var e=Pl(i,"string");return typeof e=="symbol"?e:String(e)}function Pl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class cn{}zi(cn,"OPEN","PandasEvent.OPEN");zi(cn,"CLOSE","PandasEvent.CLOSE");const El=cn;function wl(i){var{children:e,descriptor:t}=i,{name:n,type:r,description:l,displayName:a}=t;return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[r," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:n}),u.jsx(Vr,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:n})]}),n!==a&&!!a&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),u.jsx("span",{className:"tab-tooltip-name",children:a})]}),!!l&&u.jsx("div",{className:"tab-tooltip-description",children:l}),e]})}var Tl=Ti(wl);const pn=Tl;function en(i,e,t){return e=Dl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Dl(i){var e=Fl(i,"string");return typeof e=="symbol"?e:String(e)}function Fl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class qi extends y.PureComponent{constructor(e){var t;super(e),t=this,en(this,"getCachedRenderTabTooltip",N((n,r)=>n?()=>u.jsx(pn,{descriptor:r}):void 0)),en(this,"getCachedActions",N(function(n){var r,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:V;return[...l,{title:"Copy ".concat((r=n.displayType)!==null&&r!==void 0?r:n.type," Name"),group:Di.groups.medium,order:20,action:t.handleCopyName}]})),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{descriptor:e}=this.props;Hr(e.name)}getErrorMessage(){var{descriptor:e,errorMessage:t}=this.props,{isClientDisconnected:n,isPanelDisconnected:r,isWidgetDisconnected:l,isWaitingForReconnect:a}=this.state;if(t!=null&&t!=="")return"".concat(t);if(n&&r&&a)return`Disconnected from server.
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MarkdownEditor-C8u19ocy.js","./vendor-CohWXWuY.js","./helpers-BosuxZz1.js","./vendor-Ck7TznCw.css","./ControlType-NUmGfTww.js","./index-By1dHjp4.js","./monaco-CNNCitmD.js","./monaco-BX50Gyx4.css","./index-6ub2NC3N.css","./ControlType-0B-XeYnS.css","./mathjax-BXHSps6A.js"])))=>i.map(i=>d[i]);
2
+ import{r as y,J as u,M as se,a0 as We,a1 as ae,bl as Ar,ab as N,bm as wi,N as le,a2 as O,_ as Ke,V as ne,I as pe,aS as $r,aR as En,a5 as Ur,ac as Gr,aq as Pt}from"./vendor-CohWXWuY.js";import{F as Be,cF as Me,P as _e,ah as V,cG as Xt,c as W,aX as Ti,L as Vr,a8 as Hr,cH as gt,ak as Di,cI as be,B as I,V as Fi,cJ as nn,cK as Mi,N as he,ab as H,x as Jt,cL as xt,c6 as Li,_ as rn,cM as Rt,cN as jt,cO as At,cP as bt,H as $t,bV as T,S as vt,cQ as an,i as Oi,b as Ni,a4 as Br,a9 as Wr,cR as Ii,cS as ki,aP as Kr,ac as te,c5 as zr,cT as wn,cy as qr,cz as Xr,p as _i,u as ln,cg as xe,c3 as Ct,ce as Fe,Y as Yr,am as xi,cr as Zr,cp as Qr,cu as Ri,T as dt,Q as Jr,t as ea,J as ta,cU as ji,cV as Ai,cW as $i,cX as Ui,b9 as na,ad as Gi,cf as ia,bX as ra,aW as aa,cD as la,cY as sa,cB as oa,aj as da,M as ua,cE as ha,cC as ca,aa as pa,ae as va,cZ as fa,a2 as ma,c_ as ga,a3 as ba,as as Ca,c$ as Sa,at as ya}from"./ControlType-NUmGfTww.js";import{aj as Pa,L as B,e as k,ap as Ea,aq as wa,I as sn,ar as Ta,as as Da,at as Vi,f as on,au as Hi,av as Tn,w as Dn,g as Fa,D as Ma,M as La,b as Oa,c as Na,J as ft,s as Ia,aw as ka,ax as _a,d as xa,ay as Ra,az as ja}from"./index-By1dHjp4.js";import{C as Aa,a as Q,I as x,G as Et,S as Bi,L as Wi,b as dn}from"./IrisGridModel-CAsjFilJ.js";import{I as $a,M as Fn,k as Ua,i as Ye,j as Ue,c as Ga,d as J,A as Va,l as Ha,m as Ba,n as Wa}from"./MissingPartitionError-yhygxxeZ.js";import{F as Mn}from"./FormatterUtils-iauIVwuu.js";import{_ as Ka}from"./monaco-CNNCitmD.js";function un(i){var{className:e,isFlipped:t,children:n,"data-testid":r}=i,l=d=>{if(n.length!==2)throw new Error("CardFlip requires 2 children to function");return n[d]},a=y.useRef(null),s=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=y.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return y.useEffect(function(){if(!a.current)throw Error("ref undefined");a.current.addEventListener("transitionstart",s);var h=a.current;return function(){if(h!=null)return h.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:se(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":r,children:[u.jsx("div",{className:"card-flip--back",children:l(0)}),u.jsx("div",{ref:a,className:"card-flip--front",onTransitionEnd:o,children:l(1)})]})}function Ln(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function za(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Ln(l,n,r,a,s,"next",o)}function s(o){Ln(l,n,r,a,s,"throw",o)}a(void 0)})}}var qa=y.createContext(null);function Xa(i){var[e,t]=y.useState(null),[n,r]=y.useState(null),l=y.useContext(qa),a=y.useContext(Pa);return y.useEffect(()=>{if(l==null){if(a!=null){t(a),r(null);return}t(null),r(new Error("No API available in useDeferredApi. Was code wrapped in ApiBootstrap or DeferredApiContext.Provider?"));return}var s=!1;function o(){return d.apply(this,arguments)}function d(){return d=za(function*(){if(i==null)s||(t(null),r(new Error("No widget provided to useDeferredApi")));else if(typeof l=="function")try{var h=yield l(i);s||(t(h),r(null))}catch(c){s||(t(null),r(c))}else t(l)}),d.apply(this,arguments)}return o(),()=>{s=!0}},[a,l,i]),[e,n]}function On(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Nn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?On(Object(t),!0).forEach(function(n){$(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):On(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function $(i,e,t){return e=Ya(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ya(i){var e=Za(i,"string");return typeof e=="symbol"?e:String(e)}function Za(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var K=B.module("FigureChartModel");class Ut extends Aa{constructor(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,$(this,"chartUtils",void 0),$(this,"dh",void 0),$(this,"figure",void 0),$(this,"settings",void 0),$(this,"data",void 0),$(this,"layout",void 0),$(this,"seriesDataMap",void 0),$(this,"pendingSeries",void 0),$(this,"oneClicks",void 0),$(this,"filterColumnMap",void 0),$(this,"lastFilter",void 0),$(this,"isConnected",void 0),$(this,"seriesToProcess",void 0),$(this,"addPendingSeries",We(()=>{for(var l=Q.getAxisTypeMap(this.figure),{pendingSeries:a}=this,s=function(){var h,c=a[o],p=n.figure.charts.find(v=>v.series.includes(c));n.addSeries(c,l,(h=p==null?void 0:p.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<a.length;o+=1)s();this.pendingSeries=[]},Ut.ADD_SERIES_DEBOUNCE)),$(this,"getTimeZone",ae((l,a)=>{if(a!=null){var s=a.getColumnTypeFormatter(l);if(s!=null)return s.dhTimeZone}})),$(this,"getValueTranslator",ae((l,a)=>{var s=this.getTimeZone(l,a);return o=>this.chartUtils.unwrapValue(o,s)})),$(this,"getValueParser",ae((l,a)=>{var s=this.getTimeZone(l,a);return o=>this.chartUtils.wrapValue(o,l,s)})),$(this,"getRangeParser",ae((l,a)=>s=>{var[o,d]=s,h=this.getValueParser(l,a);return o=h(o),d=h(d),[o,d]})),$(this,"getAxisRangeParser",ae((l,a)=>s=>{var o=Q.getSourceForAxis(l,s);return o!=null?this.getRangeParser(o.columnType,a):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 Q(e),this.figure=t,this.settings=r,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=Q.getAxisTypeMap(this.figure),r=[];this.seriesToProcess=new Set;for(var l=function(){for(var p=t[a],v=0;v<p.series.length;v+=1){var m=p.series[v];r.push(m.name),e.addSeries(m,n,p.showLegend)}var{axes:g,title:f}=p;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var C=g.find(L=>L.type===e.dh.plot.AxisType.X),P=g.find(L=>L.type===e.dh.plot.AxisType.Y);if(C==null||P==null)K.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var b,S,E,D,M=((b=(S=n.get(C.type))===null||S===void 0?void 0:S.findIndex(L=>L===C))!==null&&b!==void 0?b:0)+1,F=((E=(D=n.get(P.type))===null||D===void 0?void 0:D.findIndex(L=>L===P))!==null&&E!==void 0?E:0)+1,w={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(M," domain"),yref:"y".concat(F," domain")};e.layout.annotations==null?e.layout.annotations=[w]:e.layout.annotations.push(w)}}},a=0;a<t.length;a+=1)l();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>r.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var r,l,{dh:a}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,Q.getSeriesVisibility(e.name,this.settings),n,(r=(l=this.renderOptions)===null||l===void 0?void 0:l.webgl)!==null&&r!==void 0?r:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===a.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===a.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=Q.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===a.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 r=0;r<n.length;r+=1){var l=n[r];K.debug2("handleFigureUpdated updating series",l.name);for(var{sources:a}=l,s=0;s<a.length;s+=1){var o=a[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),p=t.getArray(l,h,c);this.setDataArrayForSeries(l,h,p)}this.seriesToProcess.delete(l.name),this.cleanSeries(l)}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 r=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,l=Q.DEFAULT_MARGIN.t+r*Q.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=l:this.layout.margin={t:l},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=Nn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=Nn({},this.layout.title.pad),this.layout.title.pad.t=Q.DEFAULT_TITLE_PADDING.t+r*Q.SUBTITLE_LINE_HEIGHT*.5)}getPlotWidth(){var e,t,n,r;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,r;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(r=this.layout.margin)===null||r===void 0?void 0:r.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{K.debug("Assigning ".concat(n),this.layout[n],t);var r=this.layout[n];r!=null?Object.assign(r,t):K.debug("Ignoring null layout.".concat(n))})}}setDataArrayForSeries(e,t,n){var{name:r,plotStyle:l}=e,a=this.seriesDataMap.get(r),s=this.chartUtils.getPlotlyProperty(l,t);a&&Ar(a,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:r}=e,l=this.seriesDataMap.get(n);if(l!=null){if(r===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:a,xHigh:s}=l;if(a&&s&&a.length===s.length){for(var o=[],d=0;d<a.length;d+=1)o.push(s[d]-a[d]);l.width=o}}else if(r===t.plot.SeriesPlotStyle.LINE||r===t.plot.SeriesPlotStyle.ERROR_BAR||r===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:p,y:v,yLow:m,yHigh:g}=l;c&&p&&c!==h&&(l.error_x=Q.getPlotlyErrorBars(h,c,p)),m&&g&&m!==v&&(l.error_y=Q.getPlotlyErrorBars(v,m,g))}else if(r===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:C}=l;f!==void 0&&C===void 0&&(l.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 a=t.oneClicks[r],{columns:s}=a,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&&a.setValueForColumn(d,h)})},r=0;r<this.oneClicks.length;r+=1)n();this.lastFilter=new Map(e)}setFigure(e){this.close(),this.figure=e,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure(),this.listeners.length>0&&this.subscribeFigure()}updateSettings(e){this.settings=e}}$(Ut,"ADD_SERIES_DEBOUNCE",50);const In=Ut;function kn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Yt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){kn(l,n,r,a,s,"next",o)}function s(o){kn(l,n,r,a,s,"throw",o)}a(void 0)})}}class et{static makeModelFromSettings(e,t,n){return Yt(function*(){var r=yield et.makeFigureFromSettings(e,t,n);return new In(e,r,t)})()}static makeFigureFromSettings(e,t,n){return Yt(function*(){var r=yield n.copy();return r.applyCustomColumns(n.customColumns),r.applyFilter(n.filter),r.applySort(n.sort),e.plot.Figure.create(new Q(e).makeFigureSettings(t,r))})()}static makeModel(e,t,n){return Yt(function*(){return new In(e,n,t)})()}}function _n(i){return i.setFigure!==void 0}function xn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Ge(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){xn(l,n,r,a,s,"next",o)}function s(o){xn(l,n,r,a,s,"throw",o)}a(void 0)})}}function me(i,e,t){return e=Qa(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qa(i){var e=Ja(i,"string");return typeof e=="symbol"?e:String(e)}function Ja(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var we=B.module("IrisGridTableModel");class el extends $a{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Be(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,r),me(this,"userFrozenColumns",void 0),me(this,"customColumnList",void 0),me(this,"formatColumnList",void 0),me(this,"initialFilters",[]),me(this,"getMemoizedKeyColumnSet",N(l=>new Set(l??V))),me(this,"getMemoizedFrontColumns",N(l=>l??V)),me(this,"getMemoizedBackColumns",N(l=>l??V)),me(this,"getMemoizedFrozenColumns",N((l,a)=>{var s;return(s=a??l)!==null&&s!==void 0?s:V})),me(this,"getCachedFilterableColumnSet",N(l=>new Set(l.map((a,s)=>s)))),me(this,"getCachedPartitionColumns",N(l=>l.filter(a=>a.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isValuesTableAvailable(){return this.table.selectDistinct!=null&&this.table.copy!=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(we.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){we.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){we.debug("Ignore same customColumns");return}this.closeSubscription(),this.customColumnList=e,this.table.applyCustomColumns([...e,...this.formatColumns]),this.applyViewport()}get formatColumns(){return this.formatColumnList}set formatColumns(e){if(we.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){we.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){we.debug("Ignore same formatColumns");return}this.closeSubscription(),this.formatColumnList=e,this.table.applyCustomColumns([...this.customColumns,...e]),this.applyViewport()}updateFrozenColumns(e){this.userFrozenColumns=e,this.dispatchEvent(new Me(x.EVENT.TABLE_CHANGED,{detail:this.table}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Ge(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Ge(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return Ge(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return Ge(function*(){we.debug("getting partition table for partitions",e);for(var n=[],r=0;r<t.partitionColumns.length;r+=1){var l=e[r],a=t.partitionColumns[r],s=t.tableUtils.makeNullableEqFilter(a,l);n.push(s)}var o=yield t.table.copy();return o.applyFilter([...t.initialFilters,...n]),o})()}set filter(e){this.closeSubscription(),this.table.applyFilter([...this.initialFilters,...e]),this.applyViewport()}set totalsConfig(e){if(we.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new Me(x.EVENT.UPDATED));return}this.totalsTablePromise=_e.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{_e.isCanceled(t)||(we.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Me(x.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}get isPartitionAwareSourceTable(){return this.isPartitionRequired}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Ge(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=l=>super.pendingDataMap=l,r=this;return Ge(function*(){var l;if(!r.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));k(r.inputTable);var{keyColumns:a}=r.inputTable;if(r.keyColumnSet.size===0)throw new Error("No key columns to allow deletion");var s=r.getPendingAreaRange(),o=e.map(b=>Et.intersection(s,b)).filter(b=>b!=null).map(b=>(k(b),Et.offset(b,0,-(r.floatingTopRowCount+r.table.size))));if(o.length>0){for(var d=new Map(t()),h=0;h<o.length;h+=1){var c=o[h];k(c.startRow),k(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),r.formattedStringData=[],r.dispatchEvent(new Me(x.EVENT.PENDING_DATA_UPDATED)),r.dispatchEvent(new Me(x.EVENT.UPDATED))}var v=r.getTableAreaRange(),m=e.map(b=>Et.intersection(v,b)).filter(b=>b!=null);if(!(m.length<=0)){var[g,f]=yield Promise.all([r.snapshot(m.map(b=>(k(b),a.map(S=>{var E=r.getColumnIndexByName(S.name);if(E==null)throw new Error("Key column ".concat(S.name," not found"));return new Et(E,b.startRow,E,b.endRow)}))).flat()),r.table.copy()]),C=g.map(b=>{for(var S=[],E=0;E<a.length;E+=1){var D=a[E],M=b[E],F=r.tableUtils.makeFilterRawValue(D.type,M),w=D.filter().eq(F);S.push(w)}return S.reduce((L,R)=>{var G;return(G=L==null?void 0:L.and(R))!==null&&G!==void 0?G:R})}),P=C.reduce((b,S)=>{var E;return(E=b==null?void 0:b.or(S))!==null&&E!==void 0?E:S});f.applyFilter([P]),yield(l=r.inputTable)===null||l===void 0?void 0:l.deleteTable(f),f.close()}})()}seekRow(e,t,n,r,l,a,s){var o=this;return Ge(function*(){return o.table.seekRow(e,t,n,r,l,a,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const tl=el;function nl(i,e,t){return e=il(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function il(i){var e=rl(i,"string");return typeof e=="symbol"?e:String(e)}function rl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class al extends x{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Be(e);super(e),nl(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 V}getColumnIndexByName(e){}get initialMovedColumns(){return V}get initialMovedRows(){return V}get initialColumnHeaderGroups(){return V}get groupedColumns(){return V}formatForCell(e,t){}valueForCell(e,t){}get filter(){return V}set filter(e){}get partition(){return V}set partition(e){}get partitionColumns(){return V}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return V}set sort(e){}get customColumns(){return V}set customColumns(e){}get formatColumns(){return V}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 V}set selectDistinctColumns(e){}get pendingDataMap(){return Xt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Xt}commitPending(){return Promise.resolve()}setViewport(e,t,n){}snapshot(e){return Promise.resolve([])}textSnapshot(e,t,n){return Promise.resolve("")}valuesTable(e){throw new Error("Method not implemented.")}delete(e){return Promise.resolve()}seekRow(e,t,n,r,l,a,s){return Promise.resolve(0)}get columnHeaderGroups(){return V}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Xt}getColumnHeaderParentGroup(e,t){}}function Rn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function wt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Rn(l,n,r,a,s,"next",o)}function s(o){Rn(l,n,r,a,s,"throw",o)}a(void 0)})}}function ll(i,e,t){return e=sl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sl(i){var e=ol(i,"string");return typeof e=="symbol"?e:String(e)}function ol(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function dl(i){return"getBaseTable"in i&&typeof i.getBaseTable=="function"}class ul extends al{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Be(e);super(e,n),ll(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 wt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return wt(function*(){return dl(e.partitionedTable)?e.partitionedTable.getBaseTable():e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return wt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return wt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Fn("Partition not found");return n}catch(r){throw Ua(r)?r:new Fn("Unable to retrieve partition")}})()}}const hl=ul;function Te(i,e,t){return e=cl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cl(i){var e=pl(i,"string");return typeof e=="symbol"?e:String(e)}function pl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var De=B.module("IrisGridProxyModel");function Xe(i,e,t,n){return W.isTreeTable(e)?new Ga(i,e,t):W.isPartitionedTable(e)?new hl(i,e,t):new tl(i,e,t,n)}class vl extends x{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Be(e),r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Te(this,"model",void 0),Te(this,"dh",void 0),Te(this,"originalModel",void 0),Te(this,"modelPromise",void 0),Te(this,"rollup",void 0),Te(this,"partition",void 0),Te(this,"selectDistinct",void 0),Te(this,"currentViewport",void 0),Te(this,"setViewport",(a,s,o)=>{this.currentViewport={top:a,bottom:s,columns:o},this.model.setViewport(a,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 l=Xe(e,t,n,r);return this.dh=e,this.originalModel=l,this.model=l,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[],new Proxy(this,{get(a,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(a),s))===null||d===void 0?void 0:d.get)!=null;if(h)return Reflect.get(a,s,o);var c=Object.prototype.hasOwnProperty.call(a,s),p=Object.prototype.hasOwnProperty.call(Object.getPrototypeOf(a),s),v=c||p?a:a.model;return Reflect.get(v,s)},set(a,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(a),s))===null||d===void 0?void 0:d.set)!=null,c=Object.prototype.hasOwnProperty.call(a,s);return h||c?Reflect.set(a,s,o,a):Reflect.set(a.model,s,o,a.model)}})}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){De.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Me(n,{detail:t}))}setModel(e){De.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 Me(x.EVENT.COLUMNS_CHANGED,{detail:e.columns}));else if(this.currentViewport!=null){var{top:r,bottom:l,columns:a}=this.currentViewport;e.setViewport(r,l,a)}Ye(e)&&this.dispatchEvent(new Me(x.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){De.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=_e.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(_e.isCanceled(t)){De.debug2("setNextModel cancelled");return}De.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Me(x.EVENT.REQUEST_FAILED,{detail:t}))})}startListening(){super.startListening(),this.addListeners(this.model)}stopListening(){super.stopListening(),this.removeListeners(this.model)}addListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get originalColumns(){return this.originalModel.columns}get partitionColumns(){return Ue(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!Ue(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");De.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&Ue(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>Xe(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>Xe(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>Xe(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!Ue(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(De.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!wi(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);Ye(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>Xe(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(De.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){De.debug("Ignore same selectDistinctColumns",e);return}this.selectDistinct=e;var t=e.map(r=>this.originalColumns.find(l=>l.name===r)).filter(r=>r!=null),n=Promise.resolve(this.originalModel);Ye(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(r=>Xe(this.dh,r,this.formatter))),this.setNextModel(n)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return Ue(this.originalModel)?this.originalModel.isPartitionRequired:!1}}function jn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function fl(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){jn(l,n,r,a,s,"next",o)}function s(o){jn(l,n,r,a,s,"throw",o)}a(void 0)})}}class ml{static makeModel(e,t){var n=arguments;return fl(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:new Be(e),l=null;return!W.isTreeTable(t)&&!W.isPartitionedTable(t)&&t.hasInputTable&&(l=yield t.inputTable()),new vl(e,t,r,l)})()}}const Ki=ml;function hn(i,e,t){return e=gl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function gl(i){var e=bl(i,"string");return typeof e=="symbol"?e:String(e)}function bl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Gt{}hn(Gt,"OPEN","ChartEvent.OPEN");hn(Gt,"CLOSE","ChartEvent.CLOSE");hn(Gt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const It=Gt;function at(i,e,t){return e=Cl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cl(i){var e=Sl(i,"string");return typeof e=="symbol"?e:String(e)}function Sl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ze{}at(ze,"OPEN_GRID","IrisGridEvent.OPEN_GRID");at(ze,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");at(ze,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");at(ze,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");at(ze,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");at(ze,"CREATE_CHART","IrisGridevent.CREATE_CHART");const re=ze;function zi(i,e,t){return e=yl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function yl(i){var e=Pl(i,"string");return typeof e=="symbol"?e:String(e)}function Pl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class cn{}zi(cn,"OPEN","PandasEvent.OPEN");zi(cn,"CLOSE","PandasEvent.CLOSE");const El=cn;function wl(i){var{children:e,descriptor:t}=i,{name:n,type:r,description:l,displayName:a}=t;return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[r," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:n}),u.jsx(Vr,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:n})]}),n!==a&&!!a&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),u.jsx("span",{className:"tab-tooltip-name",children:a})]}),!!l&&u.jsx("div",{className:"tab-tooltip-description",children:l}),e]})}var Tl=Ti(wl);const pn=Tl;function en(i,e,t){return e=Dl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Dl(i){var e=Fl(i,"string");return typeof e=="symbol"?e:String(e)}function Fl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class qi extends y.PureComponent{constructor(e){var t;super(e),t=this,en(this,"getCachedRenderTabTooltip",N((n,r)=>n?()=>u.jsx(pn,{descriptor:r}):void 0)),en(this,"getCachedActions",N(function(n){var r,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:V;return[...l,{title:"Copy ".concat((r=n.displayType)!==null&&r!==void 0?r:n.type," Name"),group:Di.groups.medium,order:20,action:t.handleCopyName}]})),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{descriptor:e}=this.props;Hr(e.name)}getErrorMessage(){var{descriptor:e,errorMessage:t}=this.props,{isClientDisconnected:n,isPanelDisconnected:r,isWidgetDisconnected:l,isWaitingForReconnect:a}=this.state;if(t!=null&&t!=="")return"".concat(t);if(n&&r&&a)return`Disconnected from server.
3
3
  Check your internet connection.`;if(n&&r)return"Disconnected from server.";if(r){var{name:s,type:o}=e;return'Variable "'.concat(s,`" not set.
4
- `).concat(o," does not exist yet.")}if(l)return"".concat(e.name," is unavailable.")}handleSessionClosed(e){var{onSessionClose:t}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),t==null||t(e)}render(){var{children:e,className:t,componentPanel:n,descriptor:r,isLoaded:l,isLoading:a,glContainer:s,glEventHub:o,isDisconnected:d,isClonable:h,isRenamable:c,showTabTooltip:p=!1,renderTabTooltip:v,onClearAllFilters:m,onHide:g,onFocus:f,onBlur:C,onResize:P,onSessionOpen:b,onShow:S,onTabBlur:E,onTabFocus:D,onTabClicked:M,additionalActions:F}=this.props,{isPanelDisconnected:w,isWidgetDisconnected:L,isPanelInactive:R}=this.state,G=this.getErrorMessage(),q=v??this.getCachedRenderTabTooltip(p,r),j=this.getCachedActions(r,F);return u.jsxs(gt,{className:se(t,{disconnected:w||L||d,inactive:R}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:m,onHide:g,onFocus:f,onBlur:C,onResize:P,onShow:S,onSessionClose:this.handleSessionClosed,onSessionOpen:b,onTabBlur:E,onTabFocus:D,onTabClicked:M,renderTabTooltip:q,errorMessage:G,isLoaded:l,isLoading:a,isClonable:h,isRenamable:c,additionalActions:j,children:[e,R&&u.jsx("div",{className:"fill-parent-absolute"})]})}}en(qi,"defaultProps",{className:"",isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0});var Ml=Ti(qi);const St=Ml;function Xi(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:l,waitingFilterMap:a,waitingInputMap:s}=i,o=y.useMemo(()=>{var m=Array.from(s.keys()),g=m.find(P=>t.get(P)!=null),f=m.find(P=>n.get(P)!=null),C=be.join(m.map(P=>'"'.concat(P,'"')));return g!=null&&g&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):g!=null&&g?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,s]),d=y.useMemo(()=>Array.from(e.values()),[e]),h=y.useCallback(m=>{m.stopPropagation(),m.preventDefault(),r(Array.from(a.values()))},[r,a]),c=y.useCallback(m=>{m.stopPropagation(),m.preventDefault(),l()},[l]),p=a.size>0,v=!p&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:se("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(m=>{var g=a.has(m.name),f=g?Ea:wa;return u.jsxs("div",{className:se("waiting-filter-item",{"is-invalid":g}),children:[u.jsx(le,{icon:f}),m.name]},m.name)})}),u.jsxs("div",{children:[u.jsx(I,{kind:"primary",onClick:h,children:"Add Input Filters"}),u.jsx(I,{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})]})]})})}Xi.propTypes={columnMap:O.instanceOf(Map).isRequired,inputFilterMap:O.instanceOf(Map).isRequired,linkedColumnMap:O.instanceOf(Map).isRequired,onAdd:O.func.isRequired,onOpenLinker:O.func.isRequired,waitingFilterMap:O.instanceOf(Map).isRequired,waitingInputMap:O.instanceOf(Map).isRequired};function mt(i){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:r}=i;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:se("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(l=>u.jsx(Bi,{className:se("btn-chart-column-selector",mt.makeButtonClassName(l.name)),onClick:()=>t(l.name),onMouseEnter:()=>{n&&n(l)},onMouseLeave:r,disabled:!l.isValid,isLinked:l.isActive,children:l.name},l.name))})]})})}mt.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);mt.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Ze(i){return i.settings!==void 0}function Yi(i){return i.figure!==void 0}function Zi(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function Qi(i){return i!=null&&Zi(i.panelState)}function An(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Tt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?An(Object(t),!0).forEach(function(n){ie(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):An(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ie(i,e,t){return e=Ll(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ll(i){var e=Ol(i,"string");return typeof e=="symbol"?e:String(e)}function Ol(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Z=B.module("ChartPanel"),Nl=150;function Il(i){return i.inputFilters!=null}function kl(i){return i.panelState!=null}class Vt extends y.Component{constructor(e){super(e),ie(this,"panelContainer",void 0),ie(this,"pending",void 0),ie(this,"getWaitingInputMap",N((a,s,o)=>{if(!a)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),ie(this,"getWaitingFilterMap",N((a,s,o,d,h)=>{if(!a)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})),ie(this,"getInputFilterColumnMap",N((a,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:p}=h,v=a.get(c);v!=null&&v.type===p&&o.set(c,h)}return o})),ie(this,"getLinkedColumnMap",N((a,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&&a.has(c.start.columnName)?p=c.start.columnName:c.end&&c.end.panelId===d&&a.has(c.end.columnName)&&(p=c.end.columnName),p!=null&&a.has(p)){var v=a.get(p);k(v),o.set(p,v)}}return o})),ie(this,"getSelectorColumns",N((a,s,o)=>Array.from(a.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d):!1,isActive:s.has(d.name)})))),ie(this,"getWidgetPanelDescriptor",N(a=>{var s="Chart";if(Ze(a))s=a.table;else if(Yi(a)){var o;s=(o=a.figure)!==null&&o!==void 0?o:s}else{var d;s=(d=a.name)!==null&&d!==void 0?d:s}return Tt(Tt({},a),{},{type:"Chart",name:s})})),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=We(this.updateModelFromSource.bind(this),Nl),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=ne.createRef(),this.pending=new Mi;var{metadata:t,panelState:n}=e,{filterValueMap:r=[],settings:l={}}=n??{};this.state={settings:l,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&Ze(t)&&t.settings.isLinked,filterMap:new Map(r),filterValueMap:new Map(r),model:void 0,columnMap:new Map,panelState:n}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:r,makeModel:l}=this.props,{columnMap:a,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:c}=this.state;l!==e.makeModel&&this.initModel(),s!=null&&(a!==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?r&&(h?(this.startListeningToSource(r),this.updateModelFromSource()):this.stopListeningToSource(r)):h&&r!==e.source&&(e.source&&this.stopListeningToSource(e.source),r&&(this.startListeningToSource(r),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.cancel(),this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Z.debug("startListeningToSource",e);var{model:t}=this.state;k(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){Z.debug("stopListeningToSource",e);var{model:t}=this.state;k(t);var{dh:n}=t;e.removeEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:n}=this.state;e&&!t&&!n&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:n}=this.state;t.emit(It.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:r}=this.props;Z.debug("handleColumnMouseEnter",r,t,n),r&&r(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Z.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){Z.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:r}=this.props,{filterMap:l,isLinked:a}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,l.size>0||e.isFilterRequired()),r&&a&&(this.startListeningToSource(r),this.updateModelFromSource()))})}handleLoadError(e){_e.isCanceled(e)||(Z.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:r}=this.state;if(!n||!r||!t){Z.debug2("updateModelFromSource ignoring",n,r,t);return}var{dh:l}=r;if(this.pending.cancel(),Ze(e)){var{settings:a}=e;this.pending.add(et.makeFigureFromSettings(l,a,t),s=>s.close()).then(s=>{_n(r)&&r.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:r}=this.state,{tableSettings:l}=t??{};if(e&&Il(e.props)&&kl(e.state)){var{inputFilters:a}=e.props,{panelState:s}=e.state;s!=null&&(l=J.extractTableSettings(s,a))}this.setState({panelState:{settings:r,tableSettings:l,filterValueMap:Array.from(n)}})}handleError(){this.setState({isLoading:!1})}handleSettingsChanged(e){this.setState(t=>{var{settings:n}=t,r=Tt(Tt({},n),e);return Z.debug("Updated settings",r),{settings:r}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:r}=e;t.emit(H.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:r,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(H.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=mt.makeButtonClassName(e);if(!this.panelContainer.current)return null;var r=this.panelContainer.current.querySelector(".".concat(n)),l=(t=r==null?void 0:r.getBoundingClientRect())!==null&&t!==void 0?t:null;if(l==null||l.width<=0||l.height<=0)return null;var a=l.left+l.width/2,s=l.bottom;return[a,s]}setFilterMap(e){Z.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:r,filterMap:l}=t,a=null,s=new Map(t.filterValueMap);return e.forEach((o,d)=>{var{columnType:h,filterList:c}=o,p=r.get(d);if(!(p==null||p.type!==h)){if(c.length<1){Z.debug("Ignoring empty filterList for column",d);return}var{value:v}=c[0];s.set(d,v),l.get(d)!==v&&(a===null&&(a=new Map(l)),a.set(d,v))}}),{filterValueMap:s,filterMap:(n=a)!==null&&n!==void 0?n:l}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:r}=t,{filterMap:l,filterValueMap:a}=t;if(!a.has(e))return null;a=new Map(t.filterValueMap),a.delete(e);var s=this.getInputFilterColumnMap(r,n);if(s.has(e)){var o,d=l.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==h&&(l=new Map(t.filterMap),h.length>0?l.set(e,h):l.delete(e))}else l=new Map(t.filterMap),l.delete(e);return{filterMap:l,filterValueMap:a}})}updateChangedInputFilters(e,t){var n=t.filter(l=>e.find(a=>a.name===l.name&&a.type===l.type)===void 0);n.length>0&&this.deleteInputFilters(n);var r=e.filter(l=>!t.includes(l));r.length>0&&this.updateInputFilters(r)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r}=n,l=new Map(n.filterValueMap),a=new Map(n.filterMap),s=t?{filterMap:a,filterValueMap:l}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],p=r.get(d);p!=null&&p.type===h&&(c!=null&&a.get(d)!==c&&(c===""?a.delete(d):a.set(d,c),s.filterMap=a),l.has(d)&&(l.delete(d),s.filterValueMap=l))}return Z.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r,filterValueMap:l}=n,a=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=r.get(d);if(c!=null&&c.type===h&&a.has(d)){var p=a.get(d);if(l.has(d)){var v=l.get(d);v!==p&&v!=null&&(s=!0,a.set(d,v))}else s=!0,a.delete(d)}}return Z.debug("deleteInputFilters",s),s?{filterMap:a}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;k(n);var r=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&r.size===0){var l=n.getDefaultTitle(),a=be.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));l?n.setTitle("".concat(l,'<br><span style="font-size: smaller">').concat(a,"</span>")):n.setTitle(a),Z.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else Z.debug2("updateFilters waiting on inputs",r),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),r=new Map(e.filterValueMap),l={};return e.filterValueMap.forEach((a,s)=>{t.has(s)||(r.delete(s),l.filterValueMap=r)}),e.filterMap.forEach((a,s)=>{t.has(s)||(n.delete(s),l.filterMap=n)}),l})}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:r,isLinkerActive:l,links:a,metadata:s,settings:o,Plotly:d,containerRef:h}=this.props,{columnMap:c,filterMap:p,error:v,model:m,isActive:g,isDisconnected:f,isLoaded:C,isLoading:P}=this.state,b=this.getInputFilterColumnMap(c,r),S=this.getLinkedColumnMap(c,a),E=m!=null?this.getWaitingInputMap(m.isFilterRequired(),c,p):new Map,D=m!=null?this.getWaitingFilterMap(m.isFilterRequired(),c,p,S,b):new Map,M=v!=null?"Unable to open chart. ".concat(v):void 0,F=E.size>0,w=c.size>0&&l,L=this.getWidgetPanelDescriptor(s);return u.jsx(St,{className:se("iris-chart-panel",{"input-required":F}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:M,isDisconnected:f,isLoading:P,isLoaded:C,descriptor:L,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:C&&m&&u.jsx(Wi,{isActive:g,model:m,settings:o,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d,containerRef:h})}),u.jsx(Jt,{in:F&&!w&&!P,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Xi,{inputFilterMap:b,linkedColumnMap:S,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:D,waitingInputMap:E})}),u.jsx(Jt,{in:w,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(mt,{columns:this.getSelectorColumns(c,S,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}ie(Vt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});ie(Vt,"displayName","ChartPanel");ie(Vt,"COMPONENT","ChartPanel");var _l=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&Ze(n)&&(r=n.sourcePanelId);var l=xt(i,t),a=Li(i,t),s=rn(i),o=Rt(i,t),d=s===he.LINKER&&o===void 0;return{columnSelectionValidator:jt(i,t),isLinkerActive:d,inputFilters:At(i,t),links:bt(i,t),source:r!=null?l.get(r):void 0,sourcePanel:r!=null?a.get(r):void 0,settings:$t(i)}},xl=Ke(_l,{setActiveTool:Fi,setDashboardIsolatedLinkerPanelId:nn},null,{forwardRef:!0})(Vt);const yt=xl;function ue(i,e,t){return e=Rl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rl(i){var e=jl(i,"string");return typeof e=="symbol"?e:String(e)}function jl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Dt=B.module("DropdownFilter"),Al=150;class Ce extends y.Component{constructor(e){super(e),ue(this,"dropdownRef",void 0),ue(this,"getCompatibleColumns",N((l,a)=>l!=null?a.filter(s=>{var{type:o}=s;return o!==void 0&&W.isCompatibleType(o,l.columnType)}):[])),ue(this,"getColumnOptions",N((l,a)=>{var s=-1,o=[];return o.push(u.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),l.forEach((d,h)=>{o.push(u.jsx("option",{value:h,children:this.getItemLabel(l,h)},"".concat(d.name,"/").concat(d.type))),a!==null&&d.name===a.name&&d.type===a.type&&(s=h)}),[o,s]})),ue(this,"getSelectedOptionIndex",N((l,a)=>l.indexOf(a))),ue(this,"getValueOptions",N(l=>[u.jsx("option",{value:"-1",children:Ce.PLACEHOLDER},"-1"),...l.map((a,s)=>u.jsx("option",{value:s,children:a??"(null)"},"".concat(s,"/").concat(a)))])),ue(this,"getItemLabel",ae((l,a)=>{var{name:s,type:o}=l[a];if(a>0&&l[a-1].name===s||a<l.length-1&&l[a+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),ue(this,"sendUpdate",We(()=>{var{onChange:l}=this.props,{column:a,value:s,isValueShown:o}=this.state;l({column:a,isValueShown:o,value:s??void 0})},Al)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleDropdownKeyPress=this.handleDropdownKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.dropdownRef=ne.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:pe(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:l}=this.props,{column:a,value:s,isValueShown:o}=this.state;l&&(n!==e.source&&this.sourceUpdated(),r!==e.values&&s!==""&&!r.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(a!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(Dt.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:r}=this.props,l=this.getCompatibleColumns(r,n);this.setState({selectedColumn:l[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),Dt.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var t=e,n=parseInt(t,10),r="",{values:l}=this.props;n>=0&&n<l.length?r=l[n]:Dt.debug2("Selected default item"),Dt.debug2("handleValueChange",r),this.setState({value:r})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:r}=e;return{column:n,value:t===n?r:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:r,isValueShown:l}=e,a=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:a,value:r??o,isValueShown:l??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:r,isLoaded:l,source:a,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:p,disableCancel:v,id:m,isValueShown:g,selectedColumn:f,value:C}=this.state,P=a===null,b=this.getCompatibleColumns(a,t),S=a!=null,E=(e=a==null?void 0:a.columnName)!==null&&e!==void 0?e:Ce.SOURCE_BUTTON_PLACEHOLDER,D=p!=null?"".concat(p.name," Filter"):null,[M,F]=this.getColumnOptions(b,f),w=this.getValueOptions(h),L=this.getSelectedOptionIndex(h,C),R=!S||f==null,G=g&&!r,q="source-column-btn-".concat(m),j="filter-column-select-".concat(m);return u.jsxs(un,{className:"dropdown-filter fill-parent-absolute",isFlipped:G,children:[u.jsx("div",{className:"dropdown-filter-settings-card",children:u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsxs("div",{className:"dropdown-filter-settings-grid",children:[u.jsx("label",{htmlFor:q,children:"Source Column"}),u.jsx(Bi,{id:q,isLinked:S,onClick:s,onMouseEnter:o,onMouseLeave:d,className:Ce.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:E}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:j,children:"Filter Column"}),u.jsx(vt,{id:j,value:String(F),className:"custom-select",onChange:this.handleColumnChange,disabled:P,children:M}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&u.jsx("div",{className:"error-message text-center",children:c}),S&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx(I,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||g||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx(I,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:R||g||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:l&&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(vt,{className:"custom-select",value:String(L),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:w})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx(I,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(le,{icon:sn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}ue(Ce,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});ue(Ce,"PLACEHOLDER","Select a value...");ue(Ce,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");ue(Ce,"SOURCE_BUTTON_PLACEHOLDER","Select a column");function Y(i,e,t){return e=$l(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $l(i){var e=Ul(i,"string");return typeof e=="symbol"?e:String(e)}function Ul(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var _=B.module("DropdownFilterPanel"),Gl=250,Vl=Object.freeze({name:"Dropdown Filter",type:"DropdownFilter"}),Hl=(i,e)=>{var{localDashboardId:t}=e,n=T.getIdFromPanel({props:e}),r=xt(i,t),l=bt(i,t),a=rn(i),s=Rt(i,t),o=a===he.LINKER&&(s===void 0||s===n),d=a===he.LINKER&&s!==void 0&&s!==n;return{columns:an(i,t),columnSelectionValidator:jt(i,t),dh:Oi(i),isLinkerActive:o,disableLinking:d,settings:$t(i),panelTableMap:r,dashboardLinks:l}},Bl=Ke(Hl,null,null,{forwardRef:!0});class ce extends y.Component{constructor(e){super(e),Y(this,"dateTimeFormatter",void 0),Y(this,"dropdownFilterRef",void 0),Y(this,"panelContainer",void 0),Y(this,"pending",void 0),Y(this,"cleanup",void 0),Y(this,"columnFormats",void 0),Y(this,"getCachedValues",ae((c,p,v)=>{var{type:m,name:g}=p;return m!==void 0&&W.isDateType(m)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&m!=null?v.getFormattedString(f,m,g):null)})),Y(this,"getCachedPanelLinks",ae((c,p)=>{var v=T.getIdFromPanel(p);return _.debug("getCachedPanelLinks",c,v),c.filter(m=>{var g;return((g=m.end)===null||g===void 0?void 0:g.panelId)===v})})),Y(this,"getCachedSource",ae(c=>{_.debug("getCachedSource",c);var p;if(c.length>0){var[v]=c;p=v.start,c.length>1&&_.error("Filter has more that one link",c)}return p})),Y(this,"getCachedSourceTable",ae((c,p)=>{var v;if(_.debug("getCachedSourceTable",c,p),p==null)return null;var{panelId:m}=p;return(v=c.get(m))!==null&&v!==void 0?v:null})),Y(this,"getCachedSourceColumn",ae((c,p)=>{var v;return _.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(m=>{var{name:g,type:f}=m;return g===p.columnName&&f===p.columnType}))!==null&&v!==void 0?v:null})),this.handleChange=We(this.handleChange.bind(this),Gl),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleSourceSizeChange=this.handleSourceSizeChange.bind(this),this.handleSourceMouseEnter=this.handleSourceMouseEnter.bind(this),this.handleSourceMouseLeave=this.handleSourceMouseLeave.bind(this),this.handleValuesTableUpdate=this.handleValuesTableUpdate.bind(this),this.dropdownFilterRef=ne.createRef(),this.panelContainer=ne.createRef(),this.pending=new Mi;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=Mn.getColumnFormats(r),this.dateTimeFormatter=new Ni(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:l="",isValueShown:a=!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 Be(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:l,timestamp:d,values:[],isValueShown:a,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:r,timestamp:l}=this.state,a=this.getSourceTable(t,e);if(a!==null&&this.startListeningToSource(a),n!=null){var{name:s,type:o}=n;this.sendUpdate(s,o,r,l)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:r,settings:l}=this.props,{valuesTable:a}=this.state,s=this.getSource(n),o=this.getSourceTable(r,n),d=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);l!==e.settings&&l!==void 0&&this.updateFormatterSettings(l),a!==t.valuesTable&&t.valuesTable!=null&&(_.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==h||s!==d)&&this.updateValuesTable(),o!==h&&(h!==null&&this.stopListeningToSource(h),o!==null&&this.startListeningToSource(o))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);this.pending.cancel(),r!==null&&this.stopListeningToSource(r),this.cleanup&&this.cleanup(),n!=null&&n.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(Ce.SOURCE_BUTTON_CLASS_NAME)),n=(e=t==null?void 0:t.getBoundingClientRect())!==null&&e!==void 0?e:null;if(n==null||n.width<=0||n.height<=0)return null;var r=n.left+n.width/2,l=n.bottom;return[r,l]}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:r}=e,{name:l=void 0,type:a=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,c,{panelState:p,timestamp:v,wasFlipped:m,skipUpdate:g}=d,f=p!=null&&n!==p.isValueShown&&l===p.name&&a===p.type&&r===p.value;return s=(h=!g&&n&&(!f||!m))!==null&&h!==void 0?h:!1,s||(o=v),{panelState:{isValueShown:n,name:l,type:a,value:r,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(l??null,a,r,o)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){_.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(H.COLUMN_SELECTED,this,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,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:l}=this.props;if(this.getSource(l)==null){_.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!r}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,r){var l,{dashboardLinks:a,glEventHub:s}=this.props,o=(l=this.getSource(a))===null||l===void 0?void 0:l.panelId,d=o===null?[]:[o];_.debug("sendUpdate",{name:e,type:t,value:n,timestamp:r,excludePanelIds:d}),s.emit(H.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),r=this.getSourceTable(t,e);if(_.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){_.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),r!=null&&(this.setState({isLoaded:!1,sourceSize:r.size}),this.pending.add(r.copy(),l=>l.close()).then(l=>{this.updateViewportListener(l),this.setState({valuesTable:l})}).catch(l=>{_e.isCanceled(l)||(_.error(l),this.setState({isLoading:!1,error:l}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(_.debug("applySourceSorts",r==null?void 0:r.sort),n==null||r==null){_.debug("Table not initialized");return}var l=[...r.sort];n.applySort(l),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(_.debug("applySourceFilters",r==null?void 0:r.filter),n==null||r==null){_.debug("Table not initialized");return}var l=[...r.filter];n.applyFilter(l),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(_.debug("updateViewportListener",e==null?void 0:e.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,n=this.getValuesColumn(e,t);if(!n){_.error("values column is null");return}e.setViewport(0,ce.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=Mn.getColumnFormats(e);wi(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new Be(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:r}=this.props,{valuesTable:l}=this.state;if(!l){_.error("valuesTable is null");return}var a=this.getValuesColumn(l,r);if(!a){_.error("Values column not found");return}var s=n.map(o=>o.get(a));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:a})}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:r,glEventHub:l,isLinkerActive:a}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:p,valuesColumn:v,isLoading:m,isLoaded:g}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),P=this.getPanelErrorMessage(),b=g&&v!=null?this.getCachedValues(p,v,o):V;return u.jsx(St,{errorMessage:P,isLoading:m,isLoaded:g,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:l,onClearAllFilters:this.handleClearAllFilters,descriptor:Vl,children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(Ce,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:a,disableLinking:n,isLoaded:g,settingsError:C,source:f,value:c,values:b,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Y(ce,"displayName","DropdownFilterPanel");Y(ce,"COMPONENT","DropdownFilterPanel");Y(ce,"MAX_TABLE_SIZE",256);Y(ce,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Wl=Bl(ce);const ke=Wl;function $n(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ft(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$n(Object(t),!0).forEach(function(n){ut(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):$n(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ut(i,e,t){return e=Kl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Kl(i){var e=zl(i,"string");return typeof e=="symbol"?e:String(e)}function zl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var A=B.module("FilterSetManager"),ql="Enter name...",Un="No Available Filter Sets";class kt extends y.Component{static animateScreenFlash(){var e,t=document.createElement("div");t.classList.add("screen-flash-overlay"),t.addEventListener("animationend",()=>{t.remove()}),(e=document.querySelector("body"))===null||e===void 0||e.appendChild(t)}constructor(e){super(e),ut(this,"renameInputRef",ne.createRef()),ut(this,"dropdownRef",ne.createRef()),ut(this,"editDropdownRef",ne.createRef()),ut(this,"isRenamingExistingSet",N((t,n)=>n!==void 0&&t.some(r=>{var{id:l}=r;return l===n.id}))),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleEditDropdownChange=this.handleEditDropdownChange.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleCaptureNewSet=this.handleCaptureNewSet.bind(this),this.handleNameInputChange=this.handleNameInputChange.bind(this),this.handleNameInputKeyPress=this.handleNameInputKeyPress.bind(this),this.handleRenameConfirm=this.handleRenameConfirm.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRestoreFullStateChange=this.handleRestoreFullStateChange.bind(this),this.handleSetDelete=this.handleSetDelete.bind(this),this.handleSetEdit=this.handleSetEdit.bind(this),this.handleSetUpdate=this.handleSetUpdate.bind(this),this.state={editId:void 0,renameSet:void 0,nameInputValue:"",nameInputError:void 0,modifiedFilterSets:[],restoreFullState:!1}}componentDidMount(){var{isValueShown:e}=this.props;e?this.updateSelectedId():this.initSettingsScreen()}componentDidUpdate(e,t){var{isValueShown:n,filterSets:r}=this.props,{modifiedFilterSets:l}=this.state;if(e.isValueShown&&!n&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),r!==e.filterSets)if(!n&&r.length>0&&e.filterSets.length===0&&l.length===0){var{onChange:a}=this.props;a({isValueShown:!0,selectedId:r[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;A.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(A.debug("updateSelectedId",t,n),!!e&&!t.some(a=>{var{id:s}=a;return s===n})){var l=t.length===0;r({isValueShown:!l,selectedId:l?void 0:t[0].id})}}handleEditDropdownChange(e){this.setState({editId:e})}handleFilterChange(e){var t=e,{isValueShown:n,onChange:r}=this.props;this.applyFilterSet(t),r({isValueShown:n,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:n}=this.props;this.setState({modifiedFilterSets:[]}),n.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:n,editId:r}=this.state;this.setState({modifiedFilterSets:[]}),A.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;kt.animateScreenFlash();var t=pe(),n=e(),r={id:t,title:"",panels:n};A.debug("handleSetCreate",r),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:r})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:r}=this.state,l=(t=e==null?void 0:e.trim())!==null&&t!==void 0?t:"";if(l.length===0)return A.debug("Name cannot be empty",l),"Name cannot be empty";if(n!==void 0&&r.some(a=>{var{title:s,id:o}=a;return s===l&&o!==n.id}))return A.debug("Set with this name already exists",l),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:n,modifiedFilterSets:r,restoreFullState:l}=this.state;if(n===void 0){A.error("Renamed set undefined.");return}var a=this.getNameError(t);if(A.debug("handleRenameConfirm",t,a),a!==void 0){this.setState({nameInputError:a});return}var s=(e=t==null?void 0:t.trim())!==null&&e!==void 0?e:"",o=Ft(Ft({},n),{},{title:s,restoreFullState:l}),d=r.findIndex(c=>{var{id:p}=c;return p===n.id}),h=[...r];d>=0?(h[d]=o,A.debug("Renamed existing set",h)):(h.push(o),A.debug("Added new set to modified sets",h)),this.setState({editId:o.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.findIndex(o=>{var{id:d}=o;return d===t});if(r<0)return A.error("Unable to find selected filterSet index",n,t),null;var l=n.filter(o=>{var{id:d}=o;return d!==t}),a=Math.max(0,Math.min(l.length-1,r-1)),s=l.length>0?l[a].id:void 0;return A.debug("Deleted selected set",t,n,l),A.debug("New selection",a,s),{modifiedFilterSets:l,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;kt.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:l}=n;if(l===void 0)return A.error("Filter for update not selected."),null;var a=[...r],s=a.findIndex(o=>{var{id:d}=o;return d===l});return s<0?(A.error("Selected set for update not found."),null):(a[s]=Ft(Ft({},a[s]),{},{panels:t}),A.debug("Update set",a,t),{modifiedFilterSets:a})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.find(s=>{var{id:o}=s;return o===t});if(r===void 0)return A.error("Could not find selected set",t,n),null;var{title:l,restoreFullState:a=!1}=r;return{nameInputValue:l,nameInputError:void 0,renameSet:r,restoreFullState:a}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){A.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){A.debug("No filter selected");return}var r=n.find(l=>{var{id:a}=l;return a===e});if(r===void 0){A.debug("Selected id not found in filterSets",e,n);return}A.debug("Apply filterSet",r),t(r)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:r,modifiedFilterSets:l,restoreFullState:a}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(l,r),p=l.length===0,v=!h&&p&&o.length===0,m=!h&&!v,g=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(le,{icon:Tn,mask:Dn,transform:"shrink-1 down-5 right-7"}),u.jsx(le,{icon:Fa,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(le,{icon:Tn,mask:Dn,transform:"shrink-1 down-5 right-7"}),u.jsx(le,{icon:Ma,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(un,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[v&&u.jsxs("div",{children:[u.jsx(I,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,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:ql,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx(I,{"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:Ta}),u.jsx(I,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:Da})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs($r,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(a),children:[u.jsx(En,{value:"false",children:"Restore only filters"}),u.jsx(En,{value:"true",children:"Restore full table state"})]})})]}),m&&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(vt,{"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:Un}),l.map(C=>{var{id:P,title:b}=C;return u.jsx("option",{value:P,children:b},P)})]}),u.jsx(I,{kind:"ghost",onClick:this.handleSetUpdate,disabled:p,icon:f,tooltip:"Update"}),u.jsx(I,{kind:"ghost",onClick:this.handleSetEdit,disabled:p,icon:Vi,tooltip:"Edit"}),u.jsx(I,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:on,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(I,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx(I,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx(I,{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(vt,{"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:Un}),o.map(C=>{var{id:P,title:b}=C;return u.jsx("option",{value:P,children:b},P)})]}),u.jsx(I,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:Hi,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx(I,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(le,{icon:sn,transform:"grow-4"})})})]},"back")]})})}}const Ji=kt;function Gn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Vn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gn(Object(t),!0).forEach(function(n){Xl(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Gn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Xl(i,e,t){return e=Yl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Yl(i){var e=Zl(i,"string");return typeof e=="symbol"?e:String(e)}function Zl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Ql(i){var e,t,n,r,l,{model:a}=i,s=((e=a==null?void 0:a.rowCount)!==null&&e!==void 0?e:0)-((t=a==null?void 0:a.pendingRowCount)!==null&&t!==void 0?t:0)-((n=a==null?void 0:a.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=a==null?void 0:a.floatingTopRowCount)!==null&&r!==void 0?r:0),o=a==null?void 0:a.displayString(s,"long"),d=(l=a==null?void 0:a.columnCount)!==null&&l!==void 0?l:0,h=a==null?void 0:a.displayString(d,"long");return u.jsxs(pn,Vn(Vn({},i),{},{children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:h}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:o})]}))}function er(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function tr(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function Hn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function de(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hn(Object(t),!0).forEach(function(n){U(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Hn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function U(i,e,t){return e=Jl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jl(i){var e=es(i,"string");return typeof e=="symbol"?e:String(e)}function es(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ge=B.module("IrisGridPanel"),ts=500;function Bn(i){if(i==null)throw new Error("No metadata provided");if(tr(i))return i.name;if(er(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(i)))}class tt extends y.PureComponent{constructor(e){super(e),U(this,"irisGrid",void 0),U(this,"pluginRef",void 0),U(this,"modelPromise",void 0),U(this,"irisGridState",void 0),U(this,"gridState",void 0),U(this,"pluginState",void 0),U(this,"irisGridUtils",void 0),U(this,"getGridInputFilters",N((n,r)=>J.getInputFiltersForColumns(n,r.filter(l=>{var{value:a,excludePanelIds:s}=l,o=T.getIdFromPanel(this);return a!=null&&(s==null||o!=null&&!s.includes(o))})))),U(this,"getAlwaysFetchColumns",N((n,r)=>{for(var l=T.getIdFromPanel(this),a=new Set(r),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===l&&a.add(o.columnName)}return[...a]})),U(this,"getPluginContent",N((n,r,l)=>{var a;return!r||!Ye(r)||n==null||r.table==null?null:u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,{ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,tableName:this.getTableName(),selectedRanges:(a=this.irisGrid.current)===null||a===void 0?void 0:a.state.selectedRanges,onStateChange:this.handlePluginStateChange,pluginState:l})})})),U(this,"getDehydratedIrisGridPanelState",N((n,r,l,a)=>J.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:l,advancedSettings:a}))),U(this,"getDehydratedIrisGridState",N((n,r,l,a,s,o,d,h,c,p,v,m,g,f,C,P,b,S,E,D,M,F)=>(k(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:l,aggregationSettings:b,customColumnFormatMap:a,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:P},quickFilters:o,customColumns:d,reverseType:h,rollupConfig:c,showSearchBar:p,searchValue:v,selectDistinctColumns:m,selectedSearchColumns:g,sorts:r,invertSearchColumns:f,pendingDataMap:S,frozenColumns:E,conditionalFormats:D,columnHeaderGroups:M,partitionConfig:F})))),U(this,"getDehydratedGridState",N((n,r,l,a,s)=>J.dehydrateGridState(n,{isStuckToBottom:a,isStuckToRight:s,movedColumns:r,movedRows:l}))),U(this,"getCachedPanelState",N((n,r,l,a)=>({irisGridPanelState:n,irisGridState:r,gridState:l,pluginState:a}))),U(this,"getWidgetPanelDescriptor",N((n,r)=>{var l=Bn(n);return de(de({type:"Table",displayType:"Table"},n),{},{name:l,description:r})})),U(this,"savePanelState",We(()=>{var{irisGridState:n,gridState:r,pluginState:l}=this;k(n);var{onPanelStateUpdate:a}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state,{advancedFilters:p,aggregationSettings:v,customColumnFormatMap:m,isFilterBarShown:g,quickFilters:f,customColumns:C,reverseType:P,rollupConfig:b,showSearchBar:S,searchValue:E,selectDistinctColumns:D,selectedSearchColumns:M,sorts:F,invertSearchColumns:w,metrics:L,pendingDataMap:R,frozenColumns:G,conditionalFormats:q,columnHeaderGroups:j,partitionConfig:ye}=n;k(s),k(L);var{userColumnWidths:Re,userRowHeights:je}=L;k(r);var{isStuckToBottom:Ae,isStuckToRight:Le,movedColumns:Oe,movedRows:$e}=r,ve=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.getDehydratedIrisGridState(s,F,p,m,g,f,C,P,b,S,E,D,M,w,Re,je,v,R,G,q,j,ye),this.getDehydratedGridState(s,Oe,$e,Ae,Le),l);ve!==o&&(ge.debug("Saving panel state",this,ve),this.setState({panelState:ve}),a==null||a(ve))},ts)),this.handleAdvancedSettingsChange=this.handleAdvancedSettingsChange.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handleTableChanged=this.handleTableChanged.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleDataSelected=this.handleDataSelected.bind(this),this.handleError=this.handleError.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePluginStateChange=this.handlePluginStateChange.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handlePluginFilter=this.handlePluginFilter.bind(this),this.handlePluginFetchColumns=this.handlePluginFetchColumns.bind(this),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.irisGrid=ne.createRef(),this.pluginRef=ne.createRef();var{panelState:t}=e;this.pluginState=null,this.irisGridUtils=null,this.state={error:null,isDisconnected:!1,isLoaded:!1,isLoading:!0,isModelReady:!1,model:void 0,advancedFilters:new Map,aggregationSettings:{aggregations:[],showOnTop:!1},advancedSettings:new Map(Va.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:W.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:r}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),r!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return Bn(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=_e.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:r}=this.state,l=[];if(this.irisGridUtils=new J(t.dh),n!=null){var{irisGridState:a}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=de(de({},a),r);o.length>0&&l.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&l.push(c=>{c.rollupConfig=J.getModelRollupConfig(c.originalColumns,h,s)}),d.length>0&&l.push(c=>{c.selectDistinctColumns=d})}this.setState({model:t,modelQueue:l}),this.initModelQueue(t,l)}initModelQueue(e,t){var n=e;if(t.length===0){this.modelInitialized(n);return}var r=t.shift();ge.debug("initModelQueue",r),r&&r(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){ge.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:r}=n;return r.get(e)===t?null:{advancedSettings:new Map(r).set(e,t)}})}handlePluginFilter(e){var t,n,{model:r}=this.state;k(r);var{columns:l,formatter:a}=r,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(l,e,a.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,r;return(t=(n=this.pluginRef.current)===null||n===void 0||(r=n.getMenu)===null||r===void 0?void 0:r.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:r}=this.props;n.emit(re.STATE_CHANGED,this),r==null||r(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:r}=this.state;t?this.sendColumnsChange(e.detail):(k(n),this.initModelQueue(n,r))}handleTableChanged(e){ge.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(H.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r,metadata:l}=this.props,a=this.getTableName(),{panelState:s}=this.state,o=T.getIdFromPanel(this),d;s&&(d=J.extractTableSettings(s,r)),n.emit(re.CREATE_CHART,{metadata:de(de({},l),{},{settings:e,sourcePanelId:o,table:a,tableSettings:d}),table:Ye(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){ge.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){_e.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:n}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),Ye(e)){var{table:r}=e,{pluginName:l}=r;if(l!==""&&n!=null&&l!=null){var a=n(l);this.setState({Plugin:a})}t.emit(H.TABLE_CHANGED,this,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){ge.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(H.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,r,{model:l}=this.state;if(!l)return null;var a=this.irisGrid.current,{gridWrapper:s}=a||{},o=(t=s==null?void 0:s.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;k(a);var{metrics:d}=a.state;k(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:p,right:v,columnHeaderMaxDepth:m}=d,g=l.getColumnIndexByName(e);k(g);var f=a.getVisibleColumn(g),C=(n=c.get(f))!==null&&n!==void 0?n:0,P=(r=p.get(f))!==null&&r!==void 0?r:0,b=Math.max(o.left,Math.min(f>v?o.right:o.left+C+P*.5,o.right)),S=o.top+h*m;return[b,S]}setFilterMap(e){var t=this.irisGrid.current;t!=null&&t.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t!=null&&t.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;ge.debug("setFilters",t,n);var{model:r,isDisconnected:l}=this.state,a=this.irisGrid.current;if(a==null||l){ge.debug("Ignore setFilters, model disconnected");return}k(r);var{columns:s,formatter:o}=r,d=J.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[p]=c;return r.isFilterable(p)}),h=J.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[p]=c;return r.isFilterable(p)});k(this.irisGridUtils),a.clearAllFilters(),a.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){ge.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:r}=this.state;if(t!=null)try{var{gridState:l,irisGridState:a,irisGridPanelState:s}=t,o=de({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=J.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=J.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:p,advancedSettings:v}=J.hydrateIrisGridPanelState(e,s);k(this.irisGridUtils);var{advancedFilters:m,customColumns:g,customColumnFormatMap:f,isFilterBarShown:C,quickFilters:P,reverseType:b,rollupConfig:S,aggregationSettings:E,sorts:D,userColumnWidths:M,userRowHeights:F,showSearchBar:w,searchValue:L,selectDistinctColumns:R,selectedSearchColumns:G,invertSearchColumns:q,pendingDataMap:j,frozenColumns:ye,conditionalFormats:Re,columnHeaderGroups:je,partitionConfig:Ae}=this.irisGridUtils.hydrateIrisGridState(e,de(de({},a),o)),{isStuckToBottom:Le,isStuckToRight:Oe,movedColumns:$e,movedRows:ve}=J.hydrateGridState(e,de(de({},l),r),a.customColumns);this.setState({advancedFilters:m,advancedSettings:v,conditionalFormats:Re,customColumns:g,customColumnFormatMap:f,isFilterBarShown:C,isSelectingPartition:c,movedColumns:$e,movedRows:ve,partitions:p,quickFilters:P,reverseType:b,rollupConfig:S,aggregationSettings:E,sorts:D,userColumnWidths:M,userRowHeights:F,showSearchBar:w,searchValue:L,selectDistinctColumns:R,selectedSearchColumns:G,invertSearchColumns:q,pendingDataMap:j,frozenColumns:ye,isStuckToBottom:Le,isStuckToRight:Oe,columnHeaderGroups:je,partitionConfig:Ae})}catch(ee){ge.error("loadPanelState failed to load panelState",t,ee)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:r,glEventHub:l,columnSelectionValidator:a,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,panelState:c,user:p,settings:v,theme:m}=this.props,{advancedFilters:g,aggregationSettings:f,advancedSettings:C,conditionalFormats:P,customColumns:b,customColumnFormatMap:S,error:E,isDisconnected:D,isFilterBarShown:M,isSelectingPartition:F,isStuckToBottom:w,isStuckToRight:L,isLoaded:R,isLoading:G,isModelReady:q,model:j,movedColumns:ye,movedRows:Re,partitions:je,partitionConfig:Ae,quickFilters:Le,reverseType:Oe,rollupConfig:$e,sorts:ve,userColumnWidths:ee,userRowHeights:zt,showSearchBar:oe,searchValue:fe,selectDistinctColumns:Pe,selectedSearchColumns:Ee,invertSearchColumns:qe,Plugin:qt,pluginFilters:Dr,pluginFetchColumns:Fr,pendingDataMap:Mr,frozenColumns:Lr,columnHeaderGroups:Or}=this.state,Nr=E!=null?"Unable to open table. ".concat(E):void 0,Ir=(e=j==null?void 0:j.description)!==null&&e!==void 0?e:void 0,kr=(t=c==null?void 0:c.pluginState)!==null&&t!==void 0?t:null,_r=n??this.getPluginContent(qt,j,kr),{permissions:xr}=p,{canCopy:Rr,canDownloadCsv:jr}=xr,Pn=this.getWidgetPanelDescriptor(h,Ir);return u.jsx(St,{errorMessage:Nr,isDisconnected:D,isLoading:G,isLoaded:R,className:"iris-grid-panel",glContainer:r,glEventHub:l,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,componentPanel:this,descriptor:Pn,renderTabTooltip:()=>u.jsx(Ql,{descriptor:Pn,model:j}),children:q&&j&&u.jsx(dn,{advancedFilters:g,aggregationSettings:f,advancedSettings:C,alwaysFetchColumns:this.getAlwaysFetchColumns(d,Fr),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:b,customColumnFormatMap:S,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:P,inputFilters:this.getGridInputFilters(j.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:M,isSelectingColumn:a!=null,isSelectingPartition:F,isStuckToBottom:w,isStuckToRight:L,movedColumns:ye,movedRows:Re,partitions:je,partitionConfig:Ae,quickFilters:Le,reverseType:Oe,rollupConfig:$e,settings:v,sorts:ve,userColumnWidths:ee,userRowHeights:zt,model:j,showSearchBar:oe,searchValue:fe,selectedSearchColumns:Ee,selectDistinctColumns:Pe,invertSearchColumns:qe,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:Dr,pendingDataMap:Mr,canCopy:Rr,canDownloadCsv:jr,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:Lr,theme:m,columnHeaderGroups:Or,children:_r})})}}U(tt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});U(tt,"displayName","IrisGridPanel");U(tt,"COMPONENT","IrisGridPanel");var ns=(i,e)=>{var{localDashboardId:t=Wr}=e;return{inputFilters:At(i,t),links:bt(i,t),columnSelectionValidator:jt(i,t),user:Br(i),settings:$t(i)}},is=Ke(ns,null,null,{forwardRef:!0})(tt);const nt=is;function ct(i,e,t){return e=rs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function rs(i){var e=as(i,"string");return typeof e=="symbol"?e:String(e)}function as(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Wn=B.module("InputFilter"),ls=150;class it extends y.Component{constructor(e){super(e),ct(this,"inputRef",void 0),ct(this,"getItemLabel",ae((l,a)=>{var{name:s,type:o}=l[a];if(a>0&&l[a-1].name===s||a<l.length-1&&l[a+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),ct(this,"sendUpdate",We(()=>{var{onChange:l}=this.props,{column:a,value:s,isValueShown:o}=this.state;l({column:a,isValueShown:o,value:s})},ls)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleInputKeyPress=this.handleInputKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.inputRef=ne.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,selectedColumn:t,value:r,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:r,value:l,isValueShown:a}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),a!==void 0&&a&&a!==t.isValueShown&&this.focusInput(),(r!==t.column||l!==t.value||a!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];Wn.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;Wn.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:r,isValueShown:l}=e,a=t!=null&&n!=null?{name:t,type:n}:void 0,s=l===void 0?{column:a,value:r}:{column:a,value:r,isValueShown:l};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:r,value:l}=this.state,a=l==null||l.length===0?it.PLACEHOLDER.length:l.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(un,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(vt,{value:String(e.findIndex(d=>d.name===(r==null?void 0:r.name)&&d.type===(r==null?void 0:r.type))),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,h)=>u.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx(I,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx(I,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:r==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:it.PLACEHOLDER,value:l??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(a+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx(I,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(le,{icon:sn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}ct(it,"PLACEHOLDER","Enter value...");ct(it,"defaultProps",{column:null,isValueShown:!1,value:null});function Ht(i,e,t){return e=ss(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ss(i){var e=os(i,"string");return typeof e=="symbol"?e:String(e)}function os(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ds=250;class Bt extends y.Component{constructor(e){super(e),Ht(this,"inputFilterRef",void 0),this.handleChange=We(this.handleChange.bind(this),ds),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=ne.createRef();var{panelState:t}=e,{value:n,isValueShown:r=!1,name:l,type:a,timestamp:s}=t??{};this.state={columns:[],column:l!=null&&a!=null?{name:l,type:a}:void 0,value:n,timestamp:s,isValueShown:r,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:r,type:l}=e;this.sendUpdate(r,l,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,l,a;t!=null&&({name:l,type:a}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:m}=d,g=c!=null&&n!==c.isValueShown&&l===c.name&&a===c.type&&r===c.value;return s=(h=!m&&n&&(!g||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:l,type:a,value:r,timestamp:o},timestamp:o,wasFlipped:g,skipUpdate:!1}},()=>{s&&this.sendUpdate(l,a,r,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,r){var{glEventHub:l}=this.props;l.emit(H.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:r})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(r=>{var{name:l,type:a}=r;return n.name===l&&n.type===a})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:r,isValueShown:l,value:a}=this.state;return u.jsx(gt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(it,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:l,value:a})})}}Ht(Bt,"defaultProps",{panelState:null});Ht(Bt,"COMPONENT","InputFilterPanel");Ht(Bt,"displayName","InputFilterPanel");var us=(i,e)=>{var{localDashboardId:t}=e;return{columns:an(i,t)}},hs=Ke(us,null,null,{forwardRef:!0})(Bt);const Qe=hs;function Kn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Mt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Kn(Object(t),!0).forEach(function(n){vn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Kn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function vn(i,e,t){return e=cs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cs(i){var e=ps(i,"string");return typeof e=="symbol"?e:String(e)}function ps(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var X=B.module("FilterSetManagerPanel");function vs(i){return i.setPanelState!=null}class rt extends y.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[r,l]=n;if(r>=e.columns.length)return null;var{name:a}=e.columns[r];return{name:a,filter:l}}).filter(n=>n!=null)}constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleSetsUpdate=this.handleSetsUpdate.bind(this),this.handleGetFilterState=this.handleGetFilterState.bind(this);var{panelState:t,filterSets:n}=e,{selectedId:r=n.length>0?n[0].id:void 0,isValueShown:l=!1}=t??{};this.state={selectedId:r,isValueShown:l,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(n=>{var r=e.get(n);if(r===void 0){X.error("Could not get panel",r);return}var l=T.getComponentNameFromPanel(r),a=T.getIdFromPanel(r);X.debug("Panel:",r,l);var{glContainer:s=null}=r.props;if(s==null){X.error("Could not get panel container",r);return}var o=T.getComponentConfigFromContainer(s);if(o==null){X.error("Could not get component config from container",s);return}var d=T.getPanelComponentState(o);if(d==null){X.debug("Panel state is null ".concat(a));return}switch(l){case T.getComponentName(tt):{var h;a!=null&&(h=this.getIrisGridPanelFilters(a,d)),h!=null&&t.push({panelId:a,type:l,state:h});break}case T.getComponentName(Qe):case T.getComponentName(ke):{var{isValueShown:c,name:p,type:v,value:m}=d;t.push({panelId:a,type:l,state:{isValueShown:c,name:p,type:v,value:m}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return X.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:l={advancedFilters:void 0,quickFilters:void 0},gridState:a={}}=t,{advancedFilters:s,quickFilters:o}=l,d;s&&(d=rt.changeFilterIndexesToColumnNames(r,s));var h;return o&&(h=rt.changeFilterIndexesToColumnNames(r,o)),{irisGridState:Mt(Mt({},l),{},{advancedFilters:d,quickFilters:h}),gridState:Mt({},a)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;X.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:r=!1}=e;X.debug("Apply filters from filter set",e),n.forEach(l=>{var{panelId:a,type:s,state:o}=l;if(a==null){X.debug("panel is null",a);return}if(!t.has(a)){X.debug("Ignore closed panel",a);return}X.debug("Apply panel filters",a,s,o);var d=t.get(a);switch(s){case T.getComponentName(tt):this.restoreIrisGridFilters(d,o,r);break;case T.getComponentName(Qe):case T.getComponentName(ke):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;X.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:r={},advancedFilters:l=[],quickFilters:a=[]}=t,{advancedFilters:s=l,quickFilters:o=a}=r,{panelTableMap:d}=this.props,h=T.getIdFromPanel(e);if(h==null){X.error("Panel Id is null.");return}var c=d.get(h);if(c==null){X.error("Unable to get table for panel ".concat(h,"."));return}X.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=Mt({},t);delete n.isValueShown,X.debug("restoreInputFilterState",e,n),e&&vs(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:l}=this.state;return u.jsx(gt,{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(Ji,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:l,getFilterState:this.handleGetFilterState})})})}}vn(rt,"defaultProps",{panelState:null});vn(rt,"COMPONENT","FilterSetManagerPanel");var fs=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:ki(i,t),dashboardOpenedPanelMap:Li(i,t),dashboardInputFilters:At(i,t),panelTableMap:xt(i,t)}},ms=Ke(fs,{setDashboardFilterSets:Ii},null,{forwardRef:!0})(rt);const Nt=ms;function gs(i,e,t){return e=bs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bs(i){var e=Cs(i,"string");return typeof e=="symbol"?e:String(e)}function Cs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class nr extends y.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return u.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[u.jsx("div",{className:se("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(le,{icon:Vi})]})}),t]})}}gs(nr,"defaultProps",{isEditing:!1});function Ss(i,e,t){return e=ys(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ys(i){var e=Ps(i,"string");return typeof e=="symbol"?e:String(e)}function Ps(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Es=B.module("MarkdownStartPage");class ir extends y.PureComponent{constructor(e){super(e),this.handleDeleteButtonClick=this.handleDeleteButtonClick.bind(this),this.handleDeleteModalClose=this.handleDeleteModalClose.bind(this),this.state={isDeleteModalShown:!1}}handleDeleteButtonClick(e){this.setState({isDeleteModalShown:!0,toBeDeleted:e})}handleDeleteModalClose(){this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}handleDeleteMarkdown(e){if(Es.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:r,toBeDeleted:l}=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(I,{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(a=>u.jsxs("div",{className:"list-item",children:[u.jsx(I,{kind:"ghost",className:"title",onClick:()=>t(a),children:a.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(a)},children:u.jsx(le,{icon:on})})]},a.id)),u.jsxs(La,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(Oa,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(Na,{children:"You can't undo this action."}),u.jsxs(Kr,{children:[u.jsx(I,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(I,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(l)},children:"Delete"})]})]})]})]})})}}Ss(ir,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});function fn(i,e,t){return e=ws(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ws(i){var e=Ts(i,"string");return typeof e=="symbol"?e:String(e)}function Ts(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Se{static getNewMarkdownTitle(e){for(var t="".concat(Se.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Se.DEFAULT_TITLE,"-").concat(n);return t}}fn(Se,"DEFAULT_TITLE","Note");fn(Se,"DEFAULT_CONTENT",`# Markdown Note
4
+ `).concat(o," does not exist yet.")}if(l)return"".concat(e.name," is unavailable.")}handleSessionClosed(e){var{onSessionClose:t}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),t==null||t(e)}render(){var{children:e,className:t,componentPanel:n,descriptor:r,isLoaded:l,isLoading:a,glContainer:s,glEventHub:o,isDisconnected:d,isClonable:h,isRenamable:c,showTabTooltip:p=!1,renderTabTooltip:v,onClearAllFilters:m,onHide:g,onFocus:f,onBlur:C,onResize:P,onSessionOpen:b,onShow:S,onTabBlur:E,onTabFocus:D,onTabClicked:M,additionalActions:F}=this.props,{isPanelDisconnected:w,isWidgetDisconnected:L,isPanelInactive:R}=this.state,G=this.getErrorMessage(),q=v??this.getCachedRenderTabTooltip(p,r),j=this.getCachedActions(r,F);return u.jsxs(gt,{className:se(t,{disconnected:w||L||d,inactive:R}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:m,onHide:g,onFocus:f,onBlur:C,onResize:P,onShow:S,onSessionClose:this.handleSessionClosed,onSessionOpen:b,onTabBlur:E,onTabFocus:D,onTabClicked:M,renderTabTooltip:q,errorMessage:G,isLoaded:l,isLoading:a,isClonable:h,isRenamable:c,additionalActions:j,children:[e,R&&u.jsx("div",{className:"fill-parent-absolute"})]})}}en(qi,"defaultProps",{className:"",isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0});var Ml=Ti(qi);const St=Ml;function Xi(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:l,waitingFilterMap:a,waitingInputMap:s}=i,o=y.useMemo(()=>{var m=Array.from(s.keys()),g=m.find(P=>t.get(P)!=null),f=m.find(P=>n.get(P)!=null),C=be.join(m.map(P=>'"'.concat(P,'"')));return g!=null&&g&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):g!=null&&g?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,s]),d=y.useMemo(()=>Array.from(e.values()),[e]),h=y.useCallback(m=>{m.stopPropagation(),m.preventDefault(),r(Array.from(a.values()))},[r,a]),c=y.useCallback(m=>{m.stopPropagation(),m.preventDefault(),l()},[l]),p=a.size>0,v=!p&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:se("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(m=>{var g=a.has(m.name),f=g?Ea:wa;return u.jsxs("div",{className:se("waiting-filter-item",{"is-invalid":g}),children:[u.jsx(le,{icon:f}),m.name]},m.name)})}),u.jsxs("div",{children:[u.jsx(I,{kind:"primary",onClick:h,children:"Add Input Filters"}),u.jsx(I,{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})]})]})})}Xi.propTypes={columnMap:O.instanceOf(Map).isRequired,inputFilterMap:O.instanceOf(Map).isRequired,linkedColumnMap:O.instanceOf(Map).isRequired,onAdd:O.func.isRequired,onOpenLinker:O.func.isRequired,waitingFilterMap:O.instanceOf(Map).isRequired,waitingInputMap:O.instanceOf(Map).isRequired};function mt(i){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:r}=i;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:se("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(l=>u.jsx(Bi,{className:se("btn-chart-column-selector",mt.makeButtonClassName(l.name)),onClick:()=>t(l.name),onMouseEnter:()=>{n&&n(l)},onMouseLeave:r,disabled:!l.isValid,isLinked:l.isActive,children:l.name},l.name))})]})})}mt.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);mt.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Ze(i){return i.settings!==void 0}function Yi(i){return i.figure!==void 0}function Zi(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function Qi(i){return i!=null&&Zi(i.panelState)}function An(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Tt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?An(Object(t),!0).forEach(function(n){ie(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):An(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ie(i,e,t){return e=Ll(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ll(i){var e=Ol(i,"string");return typeof e=="symbol"?e:String(e)}function Ol(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Z=B.module("ChartPanel"),Nl=150;function Il(i){return i.inputFilters!=null}function kl(i){return i.panelState!=null}class Vt extends y.Component{constructor(e){super(e),ie(this,"panelContainer",void 0),ie(this,"pending",void 0),ie(this,"getWaitingInputMap",N((a,s,o)=>{if(!a)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),ie(this,"getWaitingFilterMap",N((a,s,o,d,h)=>{if(!a)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})),ie(this,"getInputFilterColumnMap",N((a,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:p}=h,v=a.get(c);v!=null&&v.type===p&&o.set(c,h)}return o})),ie(this,"getLinkedColumnMap",N((a,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&&a.has(c.start.columnName)?p=c.start.columnName:c.end&&c.end.panelId===d&&a.has(c.end.columnName)&&(p=c.end.columnName),p!=null&&a.has(p)){var v=a.get(p);k(v),o.set(p,v)}}return o})),ie(this,"getSelectorColumns",N((a,s,o)=>Array.from(a.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d):!1,isActive:s.has(d.name)})))),ie(this,"getWidgetPanelDescriptor",N(a=>{var s="Chart";if(Ze(a))s=a.table;else if(Yi(a)){var o;s=(o=a.figure)!==null&&o!==void 0?o:s}else{var d;s=(d=a.name)!==null&&d!==void 0?d:s}return Tt(Tt({},a),{},{type:"Chart",name:s})})),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=We(this.updateModelFromSource.bind(this),Nl),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=ne.createRef(),this.pending=new Mi;var{metadata:t,panelState:n}=e,{filterValueMap:r=[],settings:l={}}=n??{};this.state={settings:l,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&Ze(t)&&t.settings.isLinked,filterMap:new Map(r),filterValueMap:new Map(r),model:void 0,columnMap:new Map,panelState:n}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:r,makeModel:l}=this.props,{columnMap:a,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:c}=this.state;l!==e.makeModel&&this.initModel(),s!=null&&(a!==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?r&&(h?(this.startListeningToSource(r),this.updateModelFromSource()):this.stopListeningToSource(r)):h&&r!==e.source&&(e.source&&this.stopListeningToSource(e.source),r&&(this.startListeningToSource(r),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0,isDisconnected:!1});var{makeModel:e}=this.props;this.pending.cancel(),this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Z.debug("startListeningToSource",e);var{model:t}=this.state;k(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){Z.debug("stopListeningToSource",e);var{model:t}=this.state;k(t);var{dh:n}=t;e.removeEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:n}=this.state;e&&!t&&!n&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:n}=this.state;t.emit(It.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:r}=this.props;Z.debug("handleColumnMouseEnter",r,t,n),r&&r(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Z.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){Z.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:r}=this.props,{filterMap:l,isLinked:a}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,l.size>0||e.isFilterRequired()),r&&a&&(this.startListeningToSource(r),this.updateModelFromSource()))})}handleLoadError(e){_e.isCanceled(e)||(Z.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:r}=this.state;if(!n||!r||!t){Z.debug2("updateModelFromSource ignoring",n,r,t);return}var{dh:l}=r;if(this.pending.cancel(),Ze(e)){var{settings:a}=e;this.pending.add(et.makeFigureFromSettings(l,a,t),s=>s.close()).then(s=>{_n(r)&&r.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:r}=this.state,{tableSettings:l}=t??{};if(e&&Il(e.props)&&kl(e.state)){var{inputFilters:a}=e.props,{panelState:s}=e.state;s!=null&&(l=J.extractTableSettings(s,a))}this.setState({panelState:{settings:r,tableSettings:l,filterValueMap:Array.from(n)}})}handleError(){this.setState({isLoading:!1})}handleSettingsChanged(e){this.setState(t=>{var{settings:n}=t,r=Tt(Tt({},n),e);return Z.debug("Updated settings",r),{settings:r}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:r}=e;t.emit(H.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:r,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(H.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=mt.makeButtonClassName(e);if(!this.panelContainer.current)return null;var r=this.panelContainer.current.querySelector(".".concat(n)),l=(t=r==null?void 0:r.getBoundingClientRect())!==null&&t!==void 0?t:null;if(l==null||l.width<=0||l.height<=0)return null;var a=l.left+l.width/2,s=l.bottom;return[a,s]}setFilterMap(e){Z.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:r,filterMap:l}=t,a=null,s=new Map(t.filterValueMap);return e.forEach((o,d)=>{var{columnType:h,filterList:c}=o,p=r.get(d);if(!(p==null||p.type!==h)){if(c.length<1){Z.debug("Ignoring empty filterList for column",d);return}var{value:v}=c[0];s.set(d,v),l.get(d)!==v&&(a===null&&(a=new Map(l)),a.set(d,v))}}),{filterValueMap:s,filterMap:(n=a)!==null&&n!==void 0?n:l}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:r}=t,{filterMap:l,filterValueMap:a}=t;if(!a.has(e))return null;a=new Map(t.filterValueMap),a.delete(e);var s=this.getInputFilterColumnMap(r,n);if(s.has(e)){var o,d=l.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==h&&(l=new Map(t.filterMap),h.length>0?l.set(e,h):l.delete(e))}else l=new Map(t.filterMap),l.delete(e);return{filterMap:l,filterValueMap:a}})}updateChangedInputFilters(e,t){var n=t.filter(l=>e.find(a=>a.name===l.name&&a.type===l.type)===void 0);n.length>0&&this.deleteInputFilters(n);var r=e.filter(l=>!t.includes(l));r.length>0&&this.updateInputFilters(r)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r}=n,l=new Map(n.filterValueMap),a=new Map(n.filterMap),s=t?{filterMap:a,filterValueMap:l}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],p=r.get(d);p!=null&&p.type===h&&(c!=null&&a.get(d)!==c&&(c===""?a.delete(d):a.set(d,c),s.filterMap=a),l.has(d)&&(l.delete(d),s.filterValueMap=l))}return Z.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r,filterValueMap:l}=n,a=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=r.get(d);if(c!=null&&c.type===h&&a.has(d)){var p=a.get(d);if(l.has(d)){var v=l.get(d);v!==p&&v!=null&&(s=!0,a.set(d,v))}else s=!0,a.delete(d)}}return Z.debug("deleteInputFilters",s),s?{filterMap:a}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;k(n);var r=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&r.size===0){var l=n.getDefaultTitle(),a=be.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));l?n.setTitle("".concat(l,'<br><span style="font-size: smaller">').concat(a,"</span>")):n.setTitle(a),Z.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else Z.debug2("updateFilters waiting on inputs",r),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),r=new Map(e.filterValueMap),l={};return e.filterValueMap.forEach((a,s)=>{t.has(s)||(r.delete(s),l.filterValueMap=r)}),e.filterMap.forEach((a,s)=>{t.has(s)||(n.delete(s),l.filterMap=n)}),l})}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:r,isLinkerActive:l,links:a,metadata:s,settings:o,Plotly:d,containerRef:h}=this.props,{columnMap:c,filterMap:p,error:v,model:m,isActive:g,isDisconnected:f,isLoaded:C,isLoading:P}=this.state,b=this.getInputFilterColumnMap(c,r),S=this.getLinkedColumnMap(c,a),E=m!=null?this.getWaitingInputMap(m.isFilterRequired(),c,p):new Map,D=m!=null?this.getWaitingFilterMap(m.isFilterRequired(),c,p,S,b):new Map,M=v!=null?"Unable to open chart. ".concat(v):void 0,F=E.size>0,w=c.size>0&&l,L=this.getWidgetPanelDescriptor(s);return u.jsx(St,{className:se("iris-chart-panel",{"input-required":F}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:M,isDisconnected:f,isLoading:P,isLoaded:C,descriptor:L,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:C&&m&&u.jsx(Wi,{isActive:g,model:m,settings:o,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d,containerRef:h})}),u.jsx(Jt,{in:F&&!w&&!P,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Xi,{inputFilterMap:b,linkedColumnMap:S,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:D,waitingInputMap:E})}),u.jsx(Jt,{in:w,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(mt,{columns:this.getSelectorColumns(c,S,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}ie(Vt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});ie(Vt,"displayName","ChartPanel");ie(Vt,"COMPONENT","ChartPanel");var _l=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&Ze(n)&&(r=n.sourcePanelId);var l=xt(i,t),a=Li(i,t),s=rn(i),o=Rt(i,t),d=s===he.LINKER&&o===void 0;return{columnSelectionValidator:jt(i,t),isLinkerActive:d,inputFilters:At(i,t),links:bt(i,t),source:r!=null?l.get(r):void 0,sourcePanel:r!=null?a.get(r):void 0,settings:$t(i)}},xl=Ke(_l,{setActiveTool:Fi,setDashboardIsolatedLinkerPanelId:nn},null,{forwardRef:!0})(Vt);const yt=xl;function ue(i,e,t){return e=Rl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rl(i){var e=jl(i,"string");return typeof e=="symbol"?e:String(e)}function jl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Dt=B.module("DropdownFilter"),Al=150;class Ce extends y.Component{constructor(e){super(e),ue(this,"dropdownRef",void 0),ue(this,"getCompatibleColumns",N((l,a)=>l!=null?a.filter(s=>{var{type:o}=s;return o!==void 0&&W.isCompatibleType(o,l.columnType)}):[])),ue(this,"getColumnOptions",N((l,a)=>{var s=-1,o=[];return o.push(u.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),l.forEach((d,h)=>{o.push(u.jsx("option",{value:h,children:this.getItemLabel(l,h)},"".concat(d.name,"/").concat(d.type))),a!==null&&d.name===a.name&&d.type===a.type&&(s=h)}),[o,s]})),ue(this,"getSelectedOptionIndex",N((l,a)=>l.indexOf(a))),ue(this,"getValueOptions",N(l=>[u.jsx("option",{value:"-1",children:Ce.PLACEHOLDER},"-1"),...l.map((a,s)=>u.jsx("option",{value:s,children:a??"(null)"},"".concat(s,"/").concat(a)))])),ue(this,"getItemLabel",ae((l,a)=>{var{name:s,type:o}=l[a];if(a>0&&l[a-1].name===s||a<l.length-1&&l[a+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),ue(this,"sendUpdate",We(()=>{var{onChange:l}=this.props,{column:a,value:s,isValueShown:o}=this.state;l({column:a,isValueShown:o,value:s??void 0})},Al)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleDropdownKeyPress=this.handleDropdownKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.dropdownRef=ne.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:pe(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:l}=this.props,{column:a,value:s,isValueShown:o}=this.state;l&&(n!==e.source&&this.sourceUpdated(),r!==e.values&&s!==""&&!r.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(a!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(Dt.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:r}=this.props,l=this.getCompatibleColumns(r,n);this.setState({selectedColumn:l[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),Dt.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var t=e,n=parseInt(t,10),r="",{values:l}=this.props;n>=0&&n<l.length?r=l[n]:Dt.debug2("Selected default item"),Dt.debug2("handleValueChange",r),this.setState({value:r})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:r}=e;return{column:n,value:t===n?r:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:r,isValueShown:l}=e,a=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:a,value:r??o,isValueShown:l??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:r,isLoaded:l,source:a,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:p,disableCancel:v,id:m,isValueShown:g,selectedColumn:f,value:C}=this.state,P=a===null,b=this.getCompatibleColumns(a,t),S=a!=null,E=(e=a==null?void 0:a.columnName)!==null&&e!==void 0?e:Ce.SOURCE_BUTTON_PLACEHOLDER,D=p!=null?"".concat(p.name," Filter"):null,[M,F]=this.getColumnOptions(b,f),w=this.getValueOptions(h),L=this.getSelectedOptionIndex(h,C),R=!S||f==null,G=g&&!r,q="source-column-btn-".concat(m),j="filter-column-select-".concat(m);return u.jsxs(un,{className:"dropdown-filter fill-parent-absolute",isFlipped:G,children:[u.jsx("div",{className:"dropdown-filter-settings-card",children:u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsxs("div",{className:"dropdown-filter-settings-grid",children:[u.jsx("label",{htmlFor:q,children:"Source Column"}),u.jsx(Bi,{id:q,isLinked:S,onClick:s,onMouseEnter:o,onMouseLeave:d,className:Ce.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:E}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:j,children:"Filter Column"}),u.jsx(vt,{id:j,value:String(F),className:"custom-select",onChange:this.handleColumnChange,disabled:P,children:M}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&u.jsx("div",{className:"error-message text-center",children:c}),S&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx(I,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||g||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx(I,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:R||g||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:l&&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(vt,{className:"custom-select",value:String(L),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:w})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx(I,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(le,{icon:sn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}ue(Ce,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});ue(Ce,"PLACEHOLDER","Select a value...");ue(Ce,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");ue(Ce,"SOURCE_BUTTON_PLACEHOLDER","Select a column");function Y(i,e,t){return e=$l(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $l(i){var e=Ul(i,"string");return typeof e=="symbol"?e:String(e)}function Ul(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var _=B.module("DropdownFilterPanel"),Gl=250,Vl=Object.freeze({name:"Dropdown Filter",type:"DropdownFilter"}),Hl=(i,e)=>{var{localDashboardId:t}=e,n=T.getIdFromPanel({props:e}),r=xt(i,t),l=bt(i,t),a=rn(i),s=Rt(i,t),o=a===he.LINKER&&(s===void 0||s===n),d=a===he.LINKER&&s!==void 0&&s!==n;return{columns:an(i,t),columnSelectionValidator:jt(i,t),dh:Oi(i),isLinkerActive:o,disableLinking:d,settings:$t(i),panelTableMap:r,dashboardLinks:l}},Bl=Ke(Hl,null,null,{forwardRef:!0});class ce extends y.Component{constructor(e){super(e),Y(this,"dateTimeFormatter",void 0),Y(this,"dropdownFilterRef",void 0),Y(this,"panelContainer",void 0),Y(this,"pending",void 0),Y(this,"cleanup",void 0),Y(this,"columnFormats",void 0),Y(this,"getCachedValues",ae((c,p,v)=>{var{type:m,name:g}=p;return m!==void 0&&W.isDateType(m)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&m!=null?v.getFormattedString(f,m,g):null)})),Y(this,"getCachedPanelLinks",ae((c,p)=>{var v=T.getIdFromPanel(p);return _.debug("getCachedPanelLinks",c,v),c.filter(m=>{var g;return((g=m.end)===null||g===void 0?void 0:g.panelId)===v})})),Y(this,"getCachedSource",ae(c=>{_.debug("getCachedSource",c);var p;if(c.length>0){var[v]=c;p=v.start,c.length>1&&_.error("Filter has more that one link",c)}return p})),Y(this,"getCachedSourceTable",ae((c,p)=>{var v;if(_.debug("getCachedSourceTable",c,p),p==null)return null;var{panelId:m}=p;return(v=c.get(m))!==null&&v!==void 0?v:null})),Y(this,"getCachedSourceColumn",ae((c,p)=>{var v;return _.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(m=>{var{name:g,type:f}=m;return g===p.columnName&&f===p.columnType}))!==null&&v!==void 0?v:null})),this.handleChange=We(this.handleChange.bind(this),Gl),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleSourceSizeChange=this.handleSourceSizeChange.bind(this),this.handleSourceMouseEnter=this.handleSourceMouseEnter.bind(this),this.handleSourceMouseLeave=this.handleSourceMouseLeave.bind(this),this.handleValuesTableUpdate=this.handleValuesTableUpdate.bind(this),this.dropdownFilterRef=ne.createRef(),this.panelContainer=ne.createRef(),this.pending=new Mi;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=Mn.getColumnFormats(r),this.dateTimeFormatter=new Ni(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:l="",isValueShown:a=!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 Be(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:l,timestamp:d,values:[],isValueShown:a,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:r,timestamp:l}=this.state,a=this.getSourceTable(t,e);if(a!==null&&this.startListeningToSource(a),n!=null){var{name:s,type:o}=n;this.sendUpdate(s,o,r,l)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:r,settings:l}=this.props,{valuesTable:a}=this.state,s=this.getSource(n),o=this.getSourceTable(r,n),d=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);l!==e.settings&&l!==void 0&&this.updateFormatterSettings(l),a!==t.valuesTable&&t.valuesTable!=null&&(_.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==h||s!==d)&&this.updateValuesTable(),o!==h&&(h!==null&&this.stopListeningToSource(h),o!==null&&this.startListeningToSource(o))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);this.pending.cancel(),r!==null&&this.stopListeningToSource(r),this.cleanup&&this.cleanup(),n!=null&&n.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(Ce.SOURCE_BUTTON_CLASS_NAME)),n=(e=t==null?void 0:t.getBoundingClientRect())!==null&&e!==void 0?e:null;if(n==null||n.width<=0||n.height<=0)return null;var r=n.left+n.width/2,l=n.bottom;return[r,l]}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:r}=e,{name:l=void 0,type:a=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,c,{panelState:p,timestamp:v,wasFlipped:m,skipUpdate:g}=d,f=p!=null&&n!==p.isValueShown&&l===p.name&&a===p.type&&r===p.value;return s=(h=!g&&n&&(!f||!m))!==null&&h!==void 0?h:!1,s||(o=v),{panelState:{isValueShown:n,name:l,type:a,value:r,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(l??null,a,r,o)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){_.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(H.COLUMN_SELECTED,this,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,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:l}=this.props;if(this.getSource(l)==null){_.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!r}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,r){var l,{dashboardLinks:a,glEventHub:s}=this.props,o=(l=this.getSource(a))===null||l===void 0?void 0:l.panelId,d=o===null?[]:[o];_.debug("sendUpdate",{name:e,type:t,value:n,timestamp:r,excludePanelIds:d}),s.emit(H.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),r=this.getSourceTable(t,e);if(_.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){_.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),r!=null&&(this.setState({isLoaded:!1,sourceSize:r.size}),this.pending.add(r.copy(),l=>l.close()).then(l=>{this.updateViewportListener(l),this.setState({valuesTable:l})}).catch(l=>{_e.isCanceled(l)||(_.error(l),this.setState({isLoading:!1,error:l}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(_.debug("applySourceSorts",r==null?void 0:r.sort),n==null||r==null){_.debug("Table not initialized");return}var l=[...r.sort];n.applySort(l),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(_.debug("applySourceFilters",r==null?void 0:r.filter),n==null||r==null){_.debug("Table not initialized");return}var l=[...r.filter];n.applyFilter(l),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(_.debug("updateViewportListener",e==null?void 0:e.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,n=this.getValuesColumn(e,t);if(!n){_.error("values column is null");return}e.setViewport(0,ce.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=Mn.getColumnFormats(e);wi(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new Be(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:r}=this.props,{valuesTable:l}=this.state;if(!l){_.error("valuesTable is null");return}var a=this.getValuesColumn(l,r);if(!a){_.error("Values column not found");return}var s=n.map(o=>o.get(a));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:a})}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:r,glEventHub:l,isLinkerActive:a}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:p,valuesColumn:v,isLoading:m,isLoaded:g}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),P=this.getPanelErrorMessage(),b=g&&v!=null?this.getCachedValues(p,v,o):V;return u.jsx(St,{errorMessage:P,isLoading:m,isLoaded:g,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:l,onClearAllFilters:this.handleClearAllFilters,descriptor:Vl,children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(Ce,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:a,disableLinking:n,isLoaded:g,settingsError:C,source:f,value:c,values:b,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Y(ce,"displayName","DropdownFilterPanel");Y(ce,"COMPONENT","DropdownFilterPanel");Y(ce,"MAX_TABLE_SIZE",256);Y(ce,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Wl=Bl(ce);const ke=Wl;function $n(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ft(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$n(Object(t),!0).forEach(function(n){ut(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):$n(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ut(i,e,t){return e=Kl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Kl(i){var e=zl(i,"string");return typeof e=="symbol"?e:String(e)}function zl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var A=B.module("FilterSetManager"),ql="Enter name...",Un="No Available Filter Sets";class kt extends y.Component{static animateScreenFlash(){var e,t=document.createElement("div");t.classList.add("screen-flash-overlay"),t.addEventListener("animationend",()=>{t.remove()}),(e=document.querySelector("body"))===null||e===void 0||e.appendChild(t)}constructor(e){super(e),ut(this,"renameInputRef",ne.createRef()),ut(this,"dropdownRef",ne.createRef()),ut(this,"editDropdownRef",ne.createRef()),ut(this,"isRenamingExistingSet",N((t,n)=>n!==void 0&&t.some(r=>{var{id:l}=r;return l===n.id}))),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleEditDropdownChange=this.handleEditDropdownChange.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleCaptureNewSet=this.handleCaptureNewSet.bind(this),this.handleNameInputChange=this.handleNameInputChange.bind(this),this.handleNameInputKeyPress=this.handleNameInputKeyPress.bind(this),this.handleRenameConfirm=this.handleRenameConfirm.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRestoreFullStateChange=this.handleRestoreFullStateChange.bind(this),this.handleSetDelete=this.handleSetDelete.bind(this),this.handleSetEdit=this.handleSetEdit.bind(this),this.handleSetUpdate=this.handleSetUpdate.bind(this),this.state={editId:void 0,renameSet:void 0,nameInputValue:"",nameInputError:void 0,modifiedFilterSets:[],restoreFullState:!1}}componentDidMount(){var{isValueShown:e}=this.props;e?this.updateSelectedId():this.initSettingsScreen()}componentDidUpdate(e,t){var{isValueShown:n,filterSets:r}=this.props,{modifiedFilterSets:l}=this.state;if(e.isValueShown&&!n&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),r!==e.filterSets)if(!n&&r.length>0&&e.filterSets.length===0&&l.length===0){var{onChange:a}=this.props;a({isValueShown:!0,selectedId:r[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;A.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(A.debug("updateSelectedId",t,n),!!e&&!t.some(a=>{var{id:s}=a;return s===n})){var l=t.length===0;r({isValueShown:!l,selectedId:l?void 0:t[0].id})}}handleEditDropdownChange(e){this.setState({editId:e})}handleFilterChange(e){var t=e,{isValueShown:n,onChange:r}=this.props;this.applyFilterSet(t),r({isValueShown:n,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:n}=this.props;this.setState({modifiedFilterSets:[]}),n.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:n,editId:r}=this.state;this.setState({modifiedFilterSets:[]}),A.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;kt.animateScreenFlash();var t=pe(),n=e(),r={id:t,title:"",panels:n};A.debug("handleSetCreate",r),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:r})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:r}=this.state,l=(t=e==null?void 0:e.trim())!==null&&t!==void 0?t:"";if(l.length===0)return A.debug("Name cannot be empty",l),"Name cannot be empty";if(n!==void 0&&r.some(a=>{var{title:s,id:o}=a;return s===l&&o!==n.id}))return A.debug("Set with this name already exists",l),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:n,modifiedFilterSets:r,restoreFullState:l}=this.state;if(n===void 0){A.error("Renamed set undefined.");return}var a=this.getNameError(t);if(A.debug("handleRenameConfirm",t,a),a!==void 0){this.setState({nameInputError:a});return}var s=(e=t==null?void 0:t.trim())!==null&&e!==void 0?e:"",o=Ft(Ft({},n),{},{title:s,restoreFullState:l}),d=r.findIndex(c=>{var{id:p}=c;return p===n.id}),h=[...r];d>=0?(h[d]=o,A.debug("Renamed existing set",h)):(h.push(o),A.debug("Added new set to modified sets",h)),this.setState({editId:o.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.findIndex(o=>{var{id:d}=o;return d===t});if(r<0)return A.error("Unable to find selected filterSet index",n,t),null;var l=n.filter(o=>{var{id:d}=o;return d!==t}),a=Math.max(0,Math.min(l.length-1,r-1)),s=l.length>0?l[a].id:void 0;return A.debug("Deleted selected set",t,n,l),A.debug("New selection",a,s),{modifiedFilterSets:l,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;kt.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:l}=n;if(l===void 0)return A.error("Filter for update not selected."),null;var a=[...r],s=a.findIndex(o=>{var{id:d}=o;return d===l});return s<0?(A.error("Selected set for update not found."),null):(a[s]=Ft(Ft({},a[s]),{},{panels:t}),A.debug("Update set",a,t),{modifiedFilterSets:a})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.find(s=>{var{id:o}=s;return o===t});if(r===void 0)return A.error("Could not find selected set",t,n),null;var{title:l,restoreFullState:a=!1}=r;return{nameInputValue:l,nameInputError:void 0,renameSet:r,restoreFullState:a}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){A.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){A.debug("No filter selected");return}var r=n.find(l=>{var{id:a}=l;return a===e});if(r===void 0){A.debug("Selected id not found in filterSets",e,n);return}A.debug("Apply filterSet",r),t(r)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:r,modifiedFilterSets:l,restoreFullState:a}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(l,r),p=l.length===0,v=!h&&p&&o.length===0,m=!h&&!v,g=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(le,{icon:Tn,mask:Dn,transform:"shrink-1 down-5 right-7"}),u.jsx(le,{icon:Fa,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(le,{icon:Tn,mask:Dn,transform:"shrink-1 down-5 right-7"}),u.jsx(le,{icon:Ma,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(un,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[v&&u.jsxs("div",{children:[u.jsx(I,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,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:ql,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx(I,{"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:Ta}),u.jsx(I,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:Da})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs($r,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(a),children:[u.jsx(En,{value:"false",children:"Restore only filters"}),u.jsx(En,{value:"true",children:"Restore full table state"})]})})]}),m&&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(vt,{"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:Un}),l.map(C=>{var{id:P,title:b}=C;return u.jsx("option",{value:P,children:b},P)})]}),u.jsx(I,{kind:"ghost",onClick:this.handleSetUpdate,disabled:p,icon:f,tooltip:"Update"}),u.jsx(I,{kind:"ghost",onClick:this.handleSetEdit,disabled:p,icon:Vi,tooltip:"Edit"}),u.jsx(I,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:on,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(I,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx(I,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx(I,{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(vt,{"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:Un}),o.map(C=>{var{id:P,title:b}=C;return u.jsx("option",{value:P,children:b},P)})]}),u.jsx(I,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:Hi,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx(I,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(le,{icon:sn,transform:"grow-4"})})})]},"back")]})})}}const Ji=kt;function Gn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Vn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gn(Object(t),!0).forEach(function(n){Xl(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Gn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Xl(i,e,t){return e=Yl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Yl(i){var e=Zl(i,"string");return typeof e=="symbol"?e:String(e)}function Zl(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Ql(i){var e,t,n,r,l,{model:a}=i,s=((e=a==null?void 0:a.rowCount)!==null&&e!==void 0?e:0)-((t=a==null?void 0:a.pendingRowCount)!==null&&t!==void 0?t:0)-((n=a==null?void 0:a.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=a==null?void 0:a.floatingTopRowCount)!==null&&r!==void 0?r:0),o=a==null?void 0:a.displayString(s,"long"),d=(l=a==null?void 0:a.columnCount)!==null&&l!==void 0?l:0,h=a==null?void 0:a.displayString(d,"long");return u.jsxs(pn,Vn(Vn({},i),{},{children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:h}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:o})]}))}function er(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function tr(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function Hn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function de(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hn(Object(t),!0).forEach(function(n){U(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Hn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function U(i,e,t){return e=Jl(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jl(i){var e=es(i,"string");return typeof e=="symbol"?e:String(e)}function es(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ge=B.module("IrisGridPanel"),ts=500;function Bn(i){if(i==null)throw new Error("No metadata provided");if(tr(i))return i.name;if(er(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(i)))}class tt extends y.PureComponent{constructor(e){super(e),U(this,"irisGrid",void 0),U(this,"pluginRef",void 0),U(this,"modelPromise",void 0),U(this,"irisGridState",void 0),U(this,"gridState",void 0),U(this,"pluginState",void 0),U(this,"irisGridUtils",void 0),U(this,"getGridInputFilters",N((n,r)=>J.getInputFiltersForColumns(n,r.filter(l=>{var{value:a,excludePanelIds:s}=l,o=T.getIdFromPanel(this);return a!=null&&(s==null||o!=null&&!s.includes(o))})))),U(this,"getAlwaysFetchColumns",N((n,r)=>{for(var l=T.getIdFromPanel(this),a=new Set(r),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===l&&a.add(o.columnName)}return[...a]})),U(this,"getPluginContent",N((n,r,l)=>{var a;return!r||!Ye(r)||n==null||r.table==null?null:u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,{ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,tableName:this.getTableName(),selectedRanges:(a=this.irisGrid.current)===null||a===void 0?void 0:a.state.selectedRanges,onStateChange:this.handlePluginStateChange,pluginState:l})})})),U(this,"getDehydratedIrisGridPanelState",N((n,r,l,a)=>J.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partitions:l,advancedSettings:a}))),U(this,"getDehydratedIrisGridState",N((n,r,l,a,s,o,d,h,c,p,v,m,g,f,C,P,b,S,E,D,M,F)=>(k(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:l,aggregationSettings:b,customColumnFormatMap:a,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:P},quickFilters:o,customColumns:d,reverseType:h,rollupConfig:c,showSearchBar:p,searchValue:v,selectDistinctColumns:m,selectedSearchColumns:g,sorts:r,invertSearchColumns:f,pendingDataMap:S,frozenColumns:E,conditionalFormats:D,columnHeaderGroups:M,partitionConfig:F})))),U(this,"getDehydratedGridState",N((n,r,l,a,s)=>J.dehydrateGridState(n,{isStuckToBottom:a,isStuckToRight:s,movedColumns:r,movedRows:l}))),U(this,"getCachedPanelState",N((n,r,l,a)=>({irisGridPanelState:n,irisGridState:r,gridState:l,pluginState:a}))),U(this,"getWidgetPanelDescriptor",N((n,r)=>{var l=Bn(n);return de(de({type:"Table",displayType:"Table"},n),{},{name:l,description:r})})),U(this,"savePanelState",We(()=>{var{irisGridState:n,gridState:r,pluginState:l}=this;k(n);var{onPanelStateUpdate:a}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state,{advancedFilters:p,aggregationSettings:v,customColumnFormatMap:m,isFilterBarShown:g,quickFilters:f,customColumns:C,reverseType:P,rollupConfig:b,showSearchBar:S,searchValue:E,selectDistinctColumns:D,selectedSearchColumns:M,sorts:F,invertSearchColumns:w,metrics:L,pendingDataMap:R,frozenColumns:G,conditionalFormats:q,columnHeaderGroups:j,partitionConfig:ye}=n;k(s),k(L);var{userColumnWidths:Re,userRowHeights:je}=L;k(r);var{isStuckToBottom:Ae,isStuckToRight:Le,movedColumns:Oe,movedRows:$e}=r,ve=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.getDehydratedIrisGridState(s,F,p,m,g,f,C,P,b,S,E,D,M,w,Re,je,v,R,G,q,j,ye),this.getDehydratedGridState(s,Oe,$e,Ae,Le),l);ve!==o&&(ge.debug("Saving panel state",this,ve),this.setState({panelState:ve}),a==null||a(ve))},ts)),this.handleAdvancedSettingsChange=this.handleAdvancedSettingsChange.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handleTableChanged=this.handleTableChanged.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleDataSelected=this.handleDataSelected.bind(this),this.handleError=this.handleError.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePluginStateChange=this.handlePluginStateChange.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handlePluginFilter=this.handlePluginFilter.bind(this),this.handlePluginFetchColumns=this.handlePluginFetchColumns.bind(this),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.irisGrid=ne.createRef(),this.pluginRef=ne.createRef();var{panelState:t}=e;this.pluginState=null,this.irisGridUtils=null,this.state={error:null,isDisconnected:!1,isLoaded:!1,isLoading:!0,isModelReady:!1,model:void 0,advancedFilters:new Map,aggregationSettings:{aggregations:[],showOnTop:!1},advancedSettings:new Map(Va.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:W.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:r}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),r!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return Bn(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null,isDisconnected:!1});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=_e.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:r}=this.state,l=[];if(this.irisGridUtils=new J(t.dh),n!=null){var{irisGridState:a}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=de(de({},a),r);o.length>0&&l.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&l.push(c=>{c.rollupConfig=J.getModelRollupConfig(c.originalColumns,h,s)}),d.length>0&&l.push(c=>{c.selectDistinctColumns=d})}this.setState({model:t,modelQueue:l}),this.initModelQueue(t,l)}initModelQueue(e,t){var n=e;if(t.length===0){this.modelInitialized(n);return}var r=t.shift();ge.debug("initModelQueue",r),r&&r(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){ge.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:r}=n;return r.get(e)===t?null:{advancedSettings:new Map(r).set(e,t)}})}handlePluginFilter(e){var t,n,{model:r}=this.state;k(r);var{columns:l,formatter:a}=r,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(l,e,a.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,r;return(t=(n=this.pluginRef.current)===null||n===void 0||(r=n.getMenu)===null||r===void 0?void 0:r.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:r}=this.props;n.emit(re.STATE_CHANGED,this),r==null||r(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:r}=this.state;t?this.sendColumnsChange(e.detail):(k(n),this.initModelQueue(n,r))}handleTableChanged(e){ge.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(H.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r,metadata:l}=this.props,a=this.getTableName(),{panelState:s}=this.state,o=T.getIdFromPanel(this),d;s&&(d=J.extractTableSettings(s,r)),n.emit(re.CREATE_CHART,{metadata:de(de({},l),{},{settings:e,sourcePanelId:o,table:a,tableSettings:d}),table:Ye(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){ge.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){_e.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:n}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),Ye(e)){var{table:r}=e,{pluginName:l}=r;if(l!==""&&n!=null&&l!=null){var a=n(l);this.setState({Plugin:a})}t.emit(H.TABLE_CHANGED,this,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){ge.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(H.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,r,{model:l}=this.state;if(!l)return null;var a=this.irisGrid.current,{gridWrapper:s}=a||{},o=(t=s==null?void 0:s.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;k(a);var{metrics:d}=a.state;k(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:p,right:v,columnHeaderMaxDepth:m}=d,g=l.getColumnIndexByName(e);k(g);var f=a.getVisibleColumn(g),C=(n=c.get(f))!==null&&n!==void 0?n:0,P=(r=p.get(f))!==null&&r!==void 0?r:0,b=Math.max(o.left,Math.min(f>v?o.right:o.left+C+P*.5,o.right)),S=o.top+h*m;return[b,S]}setFilterMap(e){var t=this.irisGrid.current;t!=null&&t.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t!=null&&t.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;ge.debug("setFilters",t,n);var{model:r,isDisconnected:l}=this.state,a=this.irisGrid.current;if(a==null||l){ge.debug("Ignore setFilters, model disconnected");return}k(r);var{columns:s,formatter:o}=r,d=J.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[p]=c;return r.isFilterable(p)}),h=J.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[p]=c;return r.isFilterable(p)});k(this.irisGridUtils),a.clearAllFilters(),a.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){ge.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:r}=this.state;if(t!=null)try{var{gridState:l,irisGridState:a,irisGridPanelState:s}=t,o=de({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=J.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=J.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:p,advancedSettings:v}=J.hydrateIrisGridPanelState(e,s);k(this.irisGridUtils);var{advancedFilters:m,customColumns:g,customColumnFormatMap:f,isFilterBarShown:C,quickFilters:P,reverseType:b,rollupConfig:S,aggregationSettings:E,sorts:D,userColumnWidths:M,userRowHeights:F,showSearchBar:w,searchValue:L,selectDistinctColumns:R,selectedSearchColumns:G,invertSearchColumns:q,pendingDataMap:j,frozenColumns:ye,conditionalFormats:Re,columnHeaderGroups:je,partitionConfig:Ae}=this.irisGridUtils.hydrateIrisGridState(e,de(de({},a),o)),{isStuckToBottom:Le,isStuckToRight:Oe,movedColumns:$e,movedRows:ve}=J.hydrateGridState(e,de(de({},l),r),a.customColumns);this.setState({advancedFilters:m,advancedSettings:v,conditionalFormats:Re,customColumns:g,customColumnFormatMap:f,isFilterBarShown:C,isSelectingPartition:c,movedColumns:$e,movedRows:ve,partitions:p,quickFilters:P,reverseType:b,rollupConfig:S,aggregationSettings:E,sorts:D,userColumnWidths:M,userRowHeights:F,showSearchBar:w,searchValue:L,selectDistinctColumns:R,selectedSearchColumns:G,invertSearchColumns:q,pendingDataMap:j,frozenColumns:ye,isStuckToBottom:Le,isStuckToRight:Oe,columnHeaderGroups:je,partitionConfig:Ae})}catch(ee){ge.error("loadPanelState failed to load panelState",t,ee)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:r,glEventHub:l,columnSelectionValidator:a,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,panelState:c,user:p,settings:v,theme:m}=this.props,{advancedFilters:g,aggregationSettings:f,advancedSettings:C,conditionalFormats:P,customColumns:b,customColumnFormatMap:S,error:E,isDisconnected:D,isFilterBarShown:M,isSelectingPartition:F,isStuckToBottom:w,isStuckToRight:L,isLoaded:R,isLoading:G,isModelReady:q,model:j,movedColumns:ye,movedRows:Re,partitions:je,partitionConfig:Ae,quickFilters:Le,reverseType:Oe,rollupConfig:$e,sorts:ve,userColumnWidths:ee,userRowHeights:zt,showSearchBar:oe,searchValue:fe,selectDistinctColumns:Pe,selectedSearchColumns:Ee,invertSearchColumns:qe,Plugin:qt,pluginFilters:Dr,pluginFetchColumns:Fr,pendingDataMap:Mr,frozenColumns:Lr,columnHeaderGroups:Or}=this.state,Nr=E!=null?"Unable to open table. ".concat(E):void 0,Ir=(e=j==null?void 0:j.description)!==null&&e!==void 0?e:void 0,kr=(t=c==null?void 0:c.pluginState)!==null&&t!==void 0?t:null,_r=n??this.getPluginContent(qt,j,kr),{permissions:xr}=p,{canCopy:Rr,canDownloadCsv:jr}=xr,Pn=this.getWidgetPanelDescriptor(h,Ir);return u.jsx(St,{errorMessage:Nr,isDisconnected:D,isLoading:G,isLoaded:R,className:"iris-grid-panel",glContainer:r,glEventHub:l,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,componentPanel:this,descriptor:Pn,renderTabTooltip:()=>u.jsx(Ql,{descriptor:Pn,model:j}),children:q&&j&&u.jsx(dn,{advancedFilters:g,aggregationSettings:f,advancedSettings:C,alwaysFetchColumns:this.getAlwaysFetchColumns(d,Fr),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:b,customColumnFormatMap:S,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:P,inputFilters:this.getGridInputFilters(j.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:M,isSelectingColumn:a!=null,isSelectingPartition:F,isStuckToBottom:w,isStuckToRight:L,movedColumns:ye,movedRows:Re,partitions:je,partitionConfig:Ae,quickFilters:Le,reverseType:Oe,rollupConfig:$e,settings:v,sorts:ve,userColumnWidths:ee,userRowHeights:zt,model:j,showSearchBar:oe,searchValue:fe,selectedSearchColumns:Ee,selectDistinctColumns:Pe,invertSearchColumns:qe,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:Dr,pendingDataMap:Mr,canCopy:Rr,canDownloadCsv:jr,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:Lr,theme:m,columnHeaderGroups:Or,children:_r})})}}U(tt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});U(tt,"displayName","IrisGridPanel");U(tt,"COMPONENT","IrisGridPanel");var ns=(i,e)=>{var{localDashboardId:t=Wr}=e;return{inputFilters:At(i,t),links:bt(i,t),columnSelectionValidator:jt(i,t),user:Br(i),settings:$t(i)}},is=Ke(ns,null,null,{forwardRef:!0})(tt);const nt=is;function ct(i,e,t){return e=rs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function rs(i){var e=as(i,"string");return typeof e=="symbol"?e:String(e)}function as(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Wn=B.module("InputFilter"),ls=150;class it extends y.Component{constructor(e){super(e),ct(this,"inputRef",void 0),ct(this,"getItemLabel",ae((l,a)=>{var{name:s,type:o}=l[a];if(a>0&&l[a-1].name===s||a<l.length-1&&l[a+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),ct(this,"sendUpdate",We(()=>{var{onChange:l}=this.props,{column:a,value:s,isValueShown:o}=this.state;l({column:a,isValueShown:o,value:s})},ls)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleInputKeyPress=this.handleInputKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.inputRef=ne.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,selectedColumn:t,value:r,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:r,value:l,isValueShown:a}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),a!==void 0&&a&&a!==t.isValueShown&&this.focusInput(),(r!==t.column||l!==t.value||a!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];Wn.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;Wn.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:r,isValueShown:l}=e,a=t!=null&&n!=null?{name:t,type:n}:void 0,s=l===void 0?{column:a,value:r}:{column:a,value:r,isValueShown:l};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:r,value:l}=this.state,a=l==null||l.length===0?it.PLACEHOLDER.length:l.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(un,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(vt,{value:String(e.findIndex(d=>d.name===(r==null?void 0:r.name)&&d.type===(r==null?void 0:r.type))),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,h)=>u.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx(I,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx(I,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:r==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:it.PLACEHOLDER,value:l??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(a+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx(I,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(le,{icon:sn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}ct(it,"PLACEHOLDER","Enter value...");ct(it,"defaultProps",{column:null,isValueShown:!1,value:null});function Ht(i,e,t){return e=ss(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ss(i){var e=os(i,"string");return typeof e=="symbol"?e:String(e)}function os(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ds=250;class Bt extends y.Component{constructor(e){super(e),Ht(this,"inputFilterRef",void 0),this.handleChange=We(this.handleChange.bind(this),ds),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=ne.createRef();var{panelState:t}=e,{value:n,isValueShown:r=!1,name:l,type:a,timestamp:s}=t??{};this.state={columns:[],column:l!=null&&a!=null?{name:l,type:a}:void 0,value:n,timestamp:s,isValueShown:r,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:r,type:l}=e;this.sendUpdate(r,l,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,l,a;t!=null&&({name:l,type:a}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:m}=d,g=c!=null&&n!==c.isValueShown&&l===c.name&&a===c.type&&r===c.value;return s=(h=!m&&n&&(!g||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:l,type:a,value:r,timestamp:o},timestamp:o,wasFlipped:g,skipUpdate:!1}},()=>{s&&this.sendUpdate(l,a,r,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,r){var{glEventHub:l}=this.props;l.emit(H.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:r})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(r=>{var{name:l,type:a}=r;return n.name===l&&n.type===a})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:r,isValueShown:l,value:a}=this.state;return u.jsx(gt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(it,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:l,value:a})})}}Ht(Bt,"defaultProps",{panelState:null});Ht(Bt,"COMPONENT","InputFilterPanel");Ht(Bt,"displayName","InputFilterPanel");var us=(i,e)=>{var{localDashboardId:t}=e;return{columns:an(i,t)}},hs=Ke(us,null,null,{forwardRef:!0})(Bt);const Qe=hs;function Kn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Mt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Kn(Object(t),!0).forEach(function(n){vn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Kn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function vn(i,e,t){return e=cs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cs(i){var e=ps(i,"string");return typeof e=="symbol"?e:String(e)}function ps(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var X=B.module("FilterSetManagerPanel");function vs(i){return i.setPanelState!=null}class rt extends y.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[r,l]=n;if(r>=e.columns.length)return null;var{name:a}=e.columns[r];return{name:a,filter:l}}).filter(n=>n!=null)}constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleSetsUpdate=this.handleSetsUpdate.bind(this),this.handleGetFilterState=this.handleGetFilterState.bind(this);var{panelState:t,filterSets:n}=e,{selectedId:r=n.length>0?n[0].id:void 0,isValueShown:l=!1}=t??{};this.state={selectedId:r,isValueShown:l,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(n=>{var r=e.get(n);if(r===void 0){X.error("Could not get panel",r);return}var l=T.getComponentNameFromPanel(r),a=T.getIdFromPanel(r);X.debug("Panel:",r,l);var{glContainer:s=null}=r.props;if(s==null){X.error("Could not get panel container",r);return}var o=T.getComponentConfigFromContainer(s);if(o==null){X.error("Could not get component config from container",s);return}var d=T.getPanelComponentState(o);if(d==null){X.debug("Panel state is null ".concat(a));return}switch(l){case T.getComponentName(tt):{var h;a!=null&&(h=this.getIrisGridPanelFilters(a,d)),h!=null&&t.push({panelId:a,type:l,state:h});break}case T.getComponentName(Qe):case T.getComponentName(ke):{var{isValueShown:c,name:p,type:v,value:m}=d;t.push({panelId:a,type:l,state:{isValueShown:c,name:p,type:v,value:m}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return X.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:l={advancedFilters:void 0,quickFilters:void 0},gridState:a={}}=t,{advancedFilters:s,quickFilters:o}=l,d;s&&(d=rt.changeFilterIndexesToColumnNames(r,s));var h;return o&&(h=rt.changeFilterIndexesToColumnNames(r,o)),{irisGridState:Mt(Mt({},l),{},{advancedFilters:d,quickFilters:h}),gridState:Mt({},a)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;X.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:r=!1}=e;X.debug("Apply filters from filter set",e),n.forEach(l=>{var{panelId:a,type:s,state:o}=l;if(a==null){X.debug("panel is null",a);return}if(!t.has(a)){X.debug("Ignore closed panel",a);return}X.debug("Apply panel filters",a,s,o);var d=t.get(a);switch(s){case T.getComponentName(tt):this.restoreIrisGridFilters(d,o,r);break;case T.getComponentName(Qe):case T.getComponentName(ke):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;X.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:r={},advancedFilters:l=[],quickFilters:a=[]}=t,{advancedFilters:s=l,quickFilters:o=a}=r,{panelTableMap:d}=this.props,h=T.getIdFromPanel(e);if(h==null){X.error("Panel Id is null.");return}var c=d.get(h);if(c==null){X.error("Unable to get table for panel ".concat(h,"."));return}X.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=Mt({},t);delete n.isValueShown,X.debug("restoreInputFilterState",e,n),e&&vs(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:l}=this.state;return u.jsx(gt,{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(Ji,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:l,getFilterState:this.handleGetFilterState})})})}}vn(rt,"defaultProps",{panelState:null});vn(rt,"COMPONENT","FilterSetManagerPanel");var fs=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:ki(i,t),dashboardOpenedPanelMap:Li(i,t),dashboardInputFilters:At(i,t),panelTableMap:xt(i,t)}},ms=Ke(fs,{setDashboardFilterSets:Ii},null,{forwardRef:!0})(rt);const Nt=ms;function gs(i,e,t){return e=bs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bs(i){var e=Cs(i,"string");return typeof e=="symbol"?e:String(e)}function Cs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class nr extends y.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return u.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[u.jsx("div",{className:se("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(le,{icon:Vi})]})}),t]})}}gs(nr,"defaultProps",{isEditing:!1});function Ss(i,e,t){return e=ys(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ys(i){var e=Ps(i,"string");return typeof e=="symbol"?e:String(e)}function Ps(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Es=B.module("MarkdownStartPage");class ir extends y.PureComponent{constructor(e){super(e),this.handleDeleteButtonClick=this.handleDeleteButtonClick.bind(this),this.handleDeleteModalClose=this.handleDeleteModalClose.bind(this),this.state={isDeleteModalShown:!1}}handleDeleteButtonClick(e){this.setState({isDeleteModalShown:!0,toBeDeleted:e})}handleDeleteModalClose(){this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}handleDeleteMarkdown(e){if(Es.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:r,toBeDeleted:l}=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(I,{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(a=>u.jsxs("div",{className:"list-item",children:[u.jsx(I,{kind:"ghost",className:"title",onClick:()=>t(a),children:a.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(a)},children:u.jsx(le,{icon:on})})]},a.id)),u.jsxs(La,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(Oa,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(Na,{children:"You can't undo this action."}),u.jsxs(Kr,{children:[u.jsx(I,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(I,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(l)},children:"Delete"})]})]})]})]})})}}Ss(ir,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});function fn(i,e,t){return e=ws(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ws(i){var e=Ts(i,"string");return typeof e=="symbol"?e:String(e)}function Ts(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Se{static getNewMarkdownTitle(e){for(var t="".concat(Se.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Se.DEFAULT_TITLE,"-").concat(n);return t}}fn(Se,"DEFAULT_TITLE","Note");fn(Se,"DEFAULT_CONTENT",`# Markdown Note
5
5
 
6
- This note can be edited using **markdown** for styling.`);fn(Se,"getClosedMarkdowns",N(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));function pt(i,e,t){return e=Ds(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ds(i){var e=Fs(i,"string");return typeof e=="symbol"?e:String(e)}function Fs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ms=y.lazy(()=>Ka(()=>import("./MarkdownEditor-fe6mc7KC.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url)),Lt=B.module("MarkdownPanel");class mn extends y.Component{constructor(e){super(e),pt(this,"markdownEditor",void 0),pt(this,"editor",void 0),pt(this,"getClosedMarkdowns",N(Se.getClosedMarkdowns)),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,n=null;t!=null&&t.content!=null&&(t.content!==""?{content:n}=t:n=Se.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){k(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,r,l=t.getBoundingClientRect().top,a=t.scrollTop,s=t.scrollHeight,o=(n=(r=this.editor.getModel())===null||r===void 0?void 0:r.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((a+e-l)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){Lt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){Lt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){Lt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=T.getComponentConfigFromContainer(t);n.emit(te.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(te.DELETE,e)}handleEditorBlur(e){var t;Lt.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var r=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:r,isEditing:!1,panelState:{content:r}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:r,isStartPageShown:l,content:a}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(gt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:l?u.jsx(ir,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(nr,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(y.Suspense,{fallback:u.jsx(ft,{}),children:u.jsx(Ms,{ref:o=>{this.markdownEditor=o},isEditing:r,content:a??Se.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}pt(mn,"defaultProps",{panelState:null});pt(mn,"COMPONENT","MarkdownPanel");var Ls=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:zr(i,t)}},Os=Ke(Ls,null,null,{forwardRef:!0})(mn);const ht=Os;function rr(i){var{onClick:e}=i,t=y.useRef(null),n=y.useCallback(r=>{var l;(l=t.current)===null||l===void 0||l.blur(),e(r)},[e]);return u.jsxs(I,{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(le,{icon:Hi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function zn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function qn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zn(Object(t),!0).forEach(function(n){Wt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):zn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Wt(i,e,t){return e=Ns(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ns(i){var e=Is(i,"string");return typeof e=="symbol"?e:String(e)}function Is(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gn extends y.Component{constructor(e){super(e),Wt(this,"irisGridRef",void 0),this.irisGridRef=ne.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:r}=this.state;r&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(nt,qn(qn({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(rr,{onClick:this.handleReload})}))}}Wt(gn,"defaultProps",{panelState:null});Wt(gn,"COMPONENT","PandasPanel");const ar=gn;function Xn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Yn(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Xn(l,n,r,a,s,"next",o)}function s(o){Xn(l,n,r,a,s,"throw",o)}a(void 0)})}}function Zn(i,e,t){return e=ks(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ks(i){var e=_s(i,"string");return typeof e=="symbol"?e:String(e)}function _s(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class xs{constructor(e){Zn(this,"items",void 0),Zn(this,"onUpdateCallback",void 0),this.items=e}setSearch(e){}setExpanded(e,t){if(e.charAt(e.length-1)==="/")for(var n=0;n<this.items.length;n+=1){var r=this.items[n];wn(r)&&("".concat(r.filename,"/")===e||r.filename===e)&&(r.isExpanded=t)}return Promise.resolve()}collapseAll(){for(var e=0;e<this.items.length;e+=1){var t=this.items[e];wn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return Yn(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return Yn(function*(){var n,r=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,r)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}function Qn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function lt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Qn(l,n,r,a,s,"next",o)}function s(o){Qn(l,n,r,a,s,"throw",o)}a(void 0)})}}function Rs(i,e,t){return e=js(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function js(i){var e=As(i,"string");return typeof e=="symbol"?e:String(e)}function As(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class $s{constructor(e){Rs(this,"items",void 0),this.items=e}getTable(){var e=this;return lt(function*(){return new xs(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return lt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return lt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return lt(function*(){for(var r=0;r<n.items.length;r+=1)if(n.items[r].filename===e){n.items[r].filename=t,n.items[r].basename=qr.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return lt(function*(){var n=t.items.filter(l=>l.filename===e);if(n.length===0)throw new Xr;if(n.length>1)throw new Error("More than one matching file found");var r=n[0];return{filename:r.filename,basename:r.basename,id:r.filename,type:r.type}})()}createDirectory(e){throw new Error("Method not implemented.")}}const Us=$s;function Jn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function _t(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jn(Object(t),!0).forEach(function(n){Gs(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Jn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Gs(i,e,t){return e=Vs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vs(i){var e=Hs(i,"string");return typeof e=="symbol"?e:String(e)}function Hs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function ei(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function lr(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ei(l,n,r,a,s,"next",o)}function s(o){ei(l,n,r,a,s,"throw",o)}a(void 0)})}}function Bs(i,e,t,n){return tn.apply(this,arguments)}function tn(){return tn=lr(function*(i,e,t,n){var r={},l="",a={};if(Ze(e)&&(r=e.settings,l=e.table,a=e.tableSettings),n!=null&&(n.tableSettings!=null&&(a=n.tableSettings),n.table!=null&&(l=n.table),n.settings!=null&&(r=_t(_t({},r),n.settings))),l!=null&&l!==""){var s=yield t();return new J(i).applyTableSettings(s,a,_i(Ia.getState())),et.makeModelFromSettings(i,r,s)}var o=yield t();return et.makeModel(i,r,o)}),tn.apply(this,arguments)}var bn=y.forwardRef((i,e)=>{var t=Qi(i)?i.panelState:void 0,{fetch:n,metadata:r,localDashboardId:l}=i;k(r);var[a,s]=Xa(r),o=y.useCallback(lr(function*(){if(s!=null)throw s;return a==null?new Promise(()=>{}):Bs(a,r,n,t)}),[a,s,r,n,t]);return u.jsx(yt,_t(_t({ref:e},i),{},{metadata:r,localDashboardId:l,makeModel:o}))});bn.displayName="ChartPanelPlugin";const Ws=bn;function ti(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Ks(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ti(l,n,r,a,s,"next",o)}function s(o){ti(l,n,r,a,s,"throw",o)}a(void 0)})}}function sr(i){var e=ln(),[t,n]=y.useState(),{fetch:r}=i;return y.useEffect(()=>{var l=!1;function a(){return s.apply(this,arguments)}function s(){return s=Ks(function*(){var o=yield r(),d=yield et.makeModel(e,void 0,o);l||n(d)}),s.apply(this,arguments)}return a(),()=>{l=!0}},[e,r]),t?u.jsx(Wi,{model:t}):null}var zs={name:"ChartPanel",title:"Chart",type:xe.WIDGET_PLUGIN,component:sr,panelComponent:bn,supportedTypes:"Figure",icon:ka};const qs=zs;function ni(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Xs(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ni(l,n,r,a,s,"next",o)}function s(o){ni(l,n,r,a,s,"throw",o)}a(void 0)})}}function or(i){Ct(i);var{id:e,layout:t}=i,n=y.useCallback(r=>{var{metadata:l,panelId:a=pe(),table:s}=r,{settings:o}=l,d=function(){var v=Xs(function*(){return s});return function(){return v.apply(this,arguments)}}(),h=Q.titleFromSettings(o),c={type:"react-component",component:yt.COMPONENT,props:{localDashboardId:e,id:a,metadata:l,fetch:d},title:h,id:a},{root:p}=t;T.openComponent({root:p,config:c})},[e,t]);return Fe(t.eventHub,re.CREATE_CHART,n),null}var Ys={name:"ChartBuilderPlugin",type:xe.DASHBOARD_PLUGIN,component:or};const Zs=Ys;var st=B.module("FilterPlugin");function ii(i,e){return i.concat(e)}function dr(i){Ct(i);var{id:e,layout:t,registerComponent:n}=i,r=Ur(),[l]=y.useState(()=>new Map),[a]=y.useState(()=>new Map),[s]=y.useState(()=>new Map),o=y.useCallback(()=>{var f=Array.from(l.values()).reduce(ii,[]).sort((b,S)=>{var E=be.toLower(b.name),D=be.toLower(S.name);if(E!==D)return E>D?1:-1;var M=be.toLower(b.type),F=be.toLower(S.type);return M!==F?M>F?1:-1:0}).reduce((b,S)=>((b.length===0||be.toLower(b[b.length-1].name)!==be.toLower(S.name)||be.toLower(b[b.length-1].type)!==be.toLower(S.type))&&b.push(S),b),[]),C=Array.from(a.values()).reduce(ii,[]).sort((b,S)=>b.timestamp-S.timestamp),P=new Map(s);st.debug("sendUpdate",{columns:f,filters:C,tableMap:P}),r(Yr(e,{columns:f,filters:C,tableMap:P}))},[r,e,l,a,s]),d=y.useCallback((f,C)=>{st.debug2("handleColumnsChanged",f,C),l.set(f,[].concat(C)),o()},[l,o]),h=y.useCallback((f,C)=>{st.debug2("handleFiltersChanged",f,C),a.set(f,[].concat(C)),o()},[a,o]),c=y.useCallback((f,C)=>{st.debug2("handleTableChanged",f,C),s.set(T.getIdFromPanel(f),C),o()},[s,o]),p=y.useCallback(f=>{st.debug2("handlePanelUnmount",f),l.delete(f),a.delete(f),s.delete(T.getIdFromPanel(f)),o()},[l,a,s,o]),v=y.useCallback(f=>{var{title:C="DropdownFilter",metadata:P={},panelState:b=null,id:S=pe(),focusElement:E=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:M=null}=f,F={type:"react-component",component:ke.COMPONENT,props:{id:S,metadata:P,panelState:b,localDashboardId:e},title:C,id:S},{root:w}=t;T.openComponent({root:w,config:F,focusElement:E,createNewStack:D,dragEvent:M})},[t,e]),m=y.useCallback(f=>{var{title:C="InputFilter",metadata:P={},panelState:b=null,id:S=pe(),focusElement:E=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:M=void 0}=f,F={type:"react-component",component:Qe.COMPONENT,props:{id:S,metadata:P,panelState:b,localDashboardId:e},title:C,id:S},{root:w}=t;T.openComponent({root:w,config:F,focusElement:E,createNewStack:D,dragEvent:M})},[t,e]),g=y.useCallback(f=>{var{title:C="FilterSets",metadata:P={},panelState:b=null,id:S=pe(),focusElement:E=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:M=null}=f,F={type:"react-component",component:Nt.COMPONENT,props:{id:S,metadata:P,panelState:b,localDashboardId:e},title:C,id:S},{root:w}=t;T.openComponent({root:w,config:F,focusElement:E,createNewStack:D,dragEvent:M})},[t,e]);return y.useEffect(function(){var C=[n(ke.COMPONENT,ke),n(Qe.COMPONENT,Qe),n(Nt.COMPONENT,Nt)];return()=>{C.forEach(P=>P())}},[n]),Fe(t.eventHub,H.COLUMNS_CHANGED,d),Fe(t.eventHub,H.FILTERS_CHANGED,h),Fe(t.eventHub,H.TABLE_CHANGED,c),Fe(t.eventHub,H.OPEN_DROPDOWN,v),Fe(t.eventHub,H.OPEN_INPUT,m),Fe(t.eventHub,H.OPEN_FILTER_SET_MANAGER,g),Fe(t.eventHub,te.UNMOUNT,p),null}var Qs={name:"FilterPlugin",type:xe.DASHBOARD_PLUGIN,component:dr};const Js=Qs;var eo=B.module("@deephaven/app-utils/useTablePlugin");function ur(){var i=xi(),e=y.useCallback(t=>{var n=i.get(t);if(n!=null){if(Zr(n))return n.component;if(Qr(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw eo.error(r),new Error(r)},[i]);return e}function ri(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function to(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ri(l,n,r,a,s,"next",o)}function s(o){ri(l,n,r,a,s,"throw",o)}a(void 0)})}}function hr(i,e,t){var n=ln(),r=ur(),l=y.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var a=to(function*(){var o=yield i();return Ki.makeModel(n,o)});function s(){return a.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return l}function ai(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function li(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ai(Object(t),!0).forEach(function(n){no(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ai(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function no(i,e,t){return e=io(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function io(i){var e=ro(i,"string");return typeof e=="symbol"?e:String(e)}function ro(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Cn=y.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,l=hr(n,t,r);return u.jsx(nt,li(li({ref:e},i),l))});Cn.displayName="GridPanelPlugin";const ao=Cn;function si(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Zt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){si(l,n,r,a,s,"next",o)}function s(o){si(l,n,r,a,s,"throw",o)}a(void 0)})}}function cr(i){var e=ln(),[t,n]=y.useState(),[r,l]=y.useState(),[a,s]=y.useState(!0),o=y.useCallback(Zt(function*(){var h=yield i();return Ki.makeModel(e,h)}),[e,i]),d=y.useCallback(Zt(function*(){s(!0),l(void 0);try{var h=yield o();n(h),s(!1)}catch(c){l(c),s(!1)}}),[o]);if(y.useEffect(()=>{var h=!1;function c(){return p.apply(this,arguments)}function p(){return p=Zt(function*(){s(!0),l(void 0);try{var v=yield o();h||(n(v),s(!1))}catch(m){h||(l(m),s(!1))}}),p.apply(this,arguments)}return c(),()=>{h=!0}},[o]),y.useEffect(function(){if(!t)return;function c(){l(new Error("Table disconnected")),n(void 0),s(!1)}return t.addEventListener(x.EVENT.DISCONNECT,c),()=>{t.removeEventListener(x.EVENT.DISCONNECT,c)}},[t]),a)return{reload:d,status:"loading"};if(r!=null)return{error:r,reload:d,status:"error"};if(t!=null)return{model:t,reload:d,status:"success"};throw new Error("Invalid state")}function pr(i){var{fetch:e}=i,t=Gr($t),n=cr(e);if(n.status==="loading")return u.jsx(ft,{isLoading:!0});if(n.status==="error")return u.jsx(ft,{errorMessage:Ri(n.error),isLoading:!1});var{model:r}=n;return u.jsx(dn,{model:r,settings:t})}var lo={name:"IrisGridPanel",title:"Table",type:xe.WIDGET_PLUGIN,component:pr,panelComponent:Cn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:_a};const so=lo;function oi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ne(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?oi(Object(t),!0).forEach(function(n){vr(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):oi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function vr(i,e,t){return e=oo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function oo(i){var e=uo(i,"string");return typeof e=="symbol"?e:String(e)}function uo(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function fr(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function di(i){var e=i;return fr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function ui(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var ot=B.module("LinkerUtils");class Kt{static getLinkType(e,t,n){var r;if((e==null?void 0:e.panelId)==null||(t==null?void 0:t.panelId)==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return ot.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return ot.error("PanelComponent should not be null",e,t),"invalid";var l=(r=Kt.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(l===void 0||!l)return ot.debug2("Incompatible panel components",e,t),"invalid";var{columnType:a}=e,{columnType:s}=t,o=s===null||W.isCompatibleType(a,s);if(!o)return ot.debug2("Incompatible type",a,s),"invalid";switch(t.panelComponent){case T.getComponentName(yt):return"chartLink";case T.getComponentName(nt):return"tableLink";case T.getComponentName(ke):return"filterSource"}return ot.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(l=>{var{name:a,type:s}=l;return a===n&&s===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(l=>{var a;l.start.panelId===t&&l.type!=="filterSource"?r.push(Ne(Ne({},l),{},{id:pe(),start:Ne(Ne({},l.start),{},{panelId:n})})):((a=l.end)===null||a===void 0?void 0:a.panelId)===t&&r.push(Ne(Ne({},l),{},{id:pe(),end:Ne(Ne({},l.end),{},{panelId:n})}))}),r}}vr(Kt,"ALLOWED_LINKS",new Map([[T.getComponentName(nt),[T.getComponentName(nt),T.getComponentName(yt),T.getComponentName(ke)]]]));const He=Kt;function mr(i,e,t){return e=ho(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ho(i){var e=co(i,"string");return typeof e=="symbol"?e:String(e)}function co(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var po=B.module("LinkerLink"),hi=.015,ci=1.5,gr=12,br=12,pi=2,Ot=Math.sqrt((br*.5)**2+gr**2),vi=Math.asin(br*.5/gr),fi=15,Ie=Math.PI*.5;class Je extends y.Component{static makeCirclePath(e,t,n){return"M ".concat(e," ").concat(t," m -").concat(n,",0 a ").concat(n,",").concat(n," 0 1,0 ").concat(n*2,",0 a ").concat(n,",").concat(n," 0 1,0 -").concat(n*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(W.isNumberType(e)||W.isCharType(e))return Ha(t);if(W.isTextType(e))return Ba(t);if(W.isDateType(e))return Wa(t);if(W.isBooleanType(e)){if(t===dt.eq)return"is equal to";if(t===dt.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return po.warn(n),""}}constructor(e){super(e),mr(this,"getOperators",N((t,n)=>{var{onOperatorChanged:r}=this.props,l=W.getFilterTypes(n);return W.isBooleanType(n)&&(l=[dt.eq,dt.notEq]),l.flatMap((a,s)=>{if(a==="eqIgnoreCase"||a==="notEqIgnoreCase")return[];var o="";return a==="startsWith"?o="a*":a==="endsWith"?o="*z":o=W.getFilterOperatorString(a),[{title:Je.getLabelForLinkFilter(n,a),icon:u.jsx("b",{children:o}),action:()=>r(t,a),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:r}=this.props;e.altKey?r(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:r,y1:l,x2:a,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,p=Math.sqrt((r-a)**2+(l-s)**2),v=Math.atan2(s-l,a-r),m=Math.sin(v),g=Math.cos(v)+2,f=window.innerWidth,C=window.innerHeight,P=0,b=0,S=Math.max(P,Math.min(r+(a-r)/2+m*(p*hi)**ci,f)),E=Math.max(b,Math.min(l+(s-l)/2+g*(p*hi)**ci,C)),D="M ".concat(r," ").concat(l," Q ").concat(S," ").concat(E," ").concat(a," ").concat(s),M="M ".concat(P," ").concat(b," L ").concat(P," ").concat(C," L ").concat(f," ").concat(C," L ").concat(f," ").concat(b,` z
6
+ This note can be edited using **markdown** for styling.`);fn(Se,"getClosedMarkdowns",N(i=>i.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));function pt(i,e,t){return e=Ds(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ds(i){var e=Fs(i,"string");return typeof e=="symbol"?e:String(e)}function Fs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ms=y.lazy(()=>Ka(()=>import("./MarkdownEditor-C8u19ocy.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url)),Lt=B.module("MarkdownPanel");class mn extends y.Component{constructor(e){super(e),pt(this,"markdownEditor",void 0),pt(this,"editor",void 0),pt(this,"getClosedMarkdowns",N(Se.getClosedMarkdowns)),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,n=null;t!=null&&t.content!=null&&(t.content!==""?{content:n}=t:n=Se.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){k(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,r,l=t.getBoundingClientRect().top,a=t.scrollTop,s=t.scrollHeight,o=(n=(r=this.editor.getModel())===null||r===void 0?void 0:r.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((a+e-l)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){Lt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){Lt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){Lt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=T.getComponentConfigFromContainer(t);n.emit(te.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(te.DELETE,e)}handleEditorBlur(e){var t;Lt.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var r=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:r,isEditing:!1,panelState:{content:r}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:r,isStartPageShown:l,content:a}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(gt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:l?u.jsx(ir,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(nr,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(y.Suspense,{fallback:u.jsx(ft,{}),children:u.jsx(Ms,{ref:o=>{this.markdownEditor=o},isEditing:r,content:a??Se.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}pt(mn,"defaultProps",{panelState:null});pt(mn,"COMPONENT","MarkdownPanel");var Ls=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:zr(i,t)}},Os=Ke(Ls,null,null,{forwardRef:!0})(mn);const ht=Os;function rr(i){var{onClick:e}=i,t=y.useRef(null),n=y.useCallback(r=>{var l;(l=t.current)===null||l===void 0||l.blur(),e(r)},[e]);return u.jsxs(I,{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(le,{icon:Hi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function zn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function qn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zn(Object(t),!0).forEach(function(n){Wt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):zn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Wt(i,e,t){return e=Ns(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ns(i){var e=Is(i,"string");return typeof e=="symbol"?e:String(e)}function Is(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gn extends y.Component{constructor(e){super(e),Wt(this,"irisGridRef",void 0),this.irisGridRef=ne.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:r}=this.state;r&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(nt,qn(qn({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(rr,{onClick:this.handleReload})}))}}Wt(gn,"defaultProps",{panelState:null});Wt(gn,"COMPONENT","PandasPanel");const ar=gn;function Xn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Yn(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Xn(l,n,r,a,s,"next",o)}function s(o){Xn(l,n,r,a,s,"throw",o)}a(void 0)})}}function Zn(i,e,t){return e=ks(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ks(i){var e=_s(i,"string");return typeof e=="symbol"?e:String(e)}function _s(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class xs{constructor(e){Zn(this,"items",void 0),Zn(this,"onUpdateCallback",void 0),this.items=e}setSearch(e){}setExpanded(e,t){if(e.charAt(e.length-1)==="/")for(var n=0;n<this.items.length;n+=1){var r=this.items[n];wn(r)&&("".concat(r.filename,"/")===e||r.filename===e)&&(r.isExpanded=t)}return Promise.resolve()}collapseAll(){for(var e=0;e<this.items.length;e+=1){var t=this.items[e];wn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return Yn(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return Yn(function*(){var n,r=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,r)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}function Qn(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function lt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){Qn(l,n,r,a,s,"next",o)}function s(o){Qn(l,n,r,a,s,"throw",o)}a(void 0)})}}function Rs(i,e,t){return e=js(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function js(i){var e=As(i,"string");return typeof e=="symbol"?e:String(e)}function As(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class $s{constructor(e){Rs(this,"items",void 0),this.items=e}getTable(){var e=this;return lt(function*(){return new xs(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return lt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return lt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return lt(function*(){for(var r=0;r<n.items.length;r+=1)if(n.items[r].filename===e){n.items[r].filename=t,n.items[r].basename=qr.getBaseName(t),n.items[r].id=t;break}})()}info(e){var t=this;return lt(function*(){var n=t.items.filter(l=>l.filename===e);if(n.length===0)throw new Xr;if(n.length>1)throw new Error("More than one matching file found");var r=n[0];return{filename:r.filename,basename:r.basename,id:r.filename,type:r.type}})()}createDirectory(e){throw new Error("Method not implemented.")}}const Us=$s;function Jn(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function _t(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jn(Object(t),!0).forEach(function(n){Gs(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Jn(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Gs(i,e,t){return e=Vs(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vs(i){var e=Hs(i,"string");return typeof e=="symbol"?e:String(e)}function Hs(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function ei(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function lr(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ei(l,n,r,a,s,"next",o)}function s(o){ei(l,n,r,a,s,"throw",o)}a(void 0)})}}function Bs(i,e,t,n){return tn.apply(this,arguments)}function tn(){return tn=lr(function*(i,e,t,n){var r={},l="",a={};if(Ze(e)&&(r=e.settings,l=e.table,a=e.tableSettings),n!=null&&(n.tableSettings!=null&&(a=n.tableSettings),n.table!=null&&(l=n.table),n.settings!=null&&(r=_t(_t({},r),n.settings))),l!=null&&l!==""){var s=yield t();return new J(i).applyTableSettings(s,a,_i(Ia.getState())),et.makeModelFromSettings(i,r,s)}var o=yield t();return et.makeModel(i,r,o)}),tn.apply(this,arguments)}var bn=y.forwardRef((i,e)=>{var t=Qi(i)?i.panelState:void 0,{fetch:n,metadata:r,localDashboardId:l}=i;k(r);var[a,s]=Xa(r),o=y.useCallback(lr(function*(){if(s!=null)throw s;return a==null?new Promise(()=>{}):Bs(a,r,n,t)}),[a,s,r,n,t]);return u.jsx(yt,_t(_t({ref:e},i),{},{metadata:r,localDashboardId:l,makeModel:o}))});bn.displayName="ChartPanelPlugin";const Ws=bn;function ti(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Ks(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ti(l,n,r,a,s,"next",o)}function s(o){ti(l,n,r,a,s,"throw",o)}a(void 0)})}}function sr(i){var e=ln(),[t,n]=y.useState(),{fetch:r}=i;return y.useEffect(()=>{var l=!1;function a(){return s.apply(this,arguments)}function s(){return s=Ks(function*(){var o=yield r(),d=yield et.makeModel(e,void 0,o);l||n(d)}),s.apply(this,arguments)}return a(),()=>{l=!0}},[e,r]),t?u.jsx(Wi,{model:t}):null}var zs={name:"ChartPanel",title:"Chart",type:xe.WIDGET_PLUGIN,component:sr,panelComponent:bn,supportedTypes:"Figure",icon:ka};const qs=zs;function ni(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Xs(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ni(l,n,r,a,s,"next",o)}function s(o){ni(l,n,r,a,s,"throw",o)}a(void 0)})}}function or(i){Ct(i);var{id:e,layout:t}=i,n=y.useCallback(r=>{var{metadata:l,panelId:a=pe(),table:s}=r,{settings:o}=l,d=function(){var v=Xs(function*(){return s});return function(){return v.apply(this,arguments)}}(),h=Q.titleFromSettings(o),c={type:"react-component",component:yt.COMPONENT,props:{localDashboardId:e,id:a,metadata:l,fetch:d},title:h,id:a},{root:p}=t;T.openComponent({root:p,config:c})},[e,t]);return Fe(t.eventHub,re.CREATE_CHART,n),null}var Ys={name:"ChartBuilderPlugin",type:xe.DASHBOARD_PLUGIN,component:or};const Zs=Ys;var st=B.module("FilterPlugin");function ii(i,e){return i.concat(e)}function dr(i){Ct(i);var{id:e,layout:t,registerComponent:n}=i,r=Ur(),[l]=y.useState(()=>new Map),[a]=y.useState(()=>new Map),[s]=y.useState(()=>new Map),o=y.useCallback(()=>{var f=Array.from(l.values()).reduce(ii,[]).sort((b,S)=>{var E=be.toLower(b.name),D=be.toLower(S.name);if(E!==D)return E>D?1:-1;var M=be.toLower(b.type),F=be.toLower(S.type);return M!==F?M>F?1:-1:0}).reduce((b,S)=>((b.length===0||be.toLower(b[b.length-1].name)!==be.toLower(S.name)||be.toLower(b[b.length-1].type)!==be.toLower(S.type))&&b.push(S),b),[]),C=Array.from(a.values()).reduce(ii,[]).sort((b,S)=>b.timestamp-S.timestamp),P=new Map(s);st.debug("sendUpdate",{columns:f,filters:C,tableMap:P}),r(Yr(e,{columns:f,filters:C,tableMap:P}))},[r,e,l,a,s]),d=y.useCallback((f,C)=>{st.debug2("handleColumnsChanged",f,C),l.set(f,[].concat(C)),o()},[l,o]),h=y.useCallback((f,C)=>{st.debug2("handleFiltersChanged",f,C),a.set(f,[].concat(C)),o()},[a,o]),c=y.useCallback((f,C)=>{st.debug2("handleTableChanged",f,C),s.set(T.getIdFromPanel(f),C),o()},[s,o]),p=y.useCallback(f=>{st.debug2("handlePanelUnmount",f),l.delete(f),a.delete(f),s.delete(T.getIdFromPanel(f)),o()},[l,a,s,o]),v=y.useCallback(f=>{var{title:C="DropdownFilter",metadata:P={},panelState:b=null,id:S=pe(),focusElement:E=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:M=null}=f,F={type:"react-component",component:ke.COMPONENT,props:{id:S,metadata:P,panelState:b,localDashboardId:e},title:C,id:S},{root:w}=t;T.openComponent({root:w,config:F,focusElement:E,createNewStack:D,dragEvent:M})},[t,e]),m=y.useCallback(f=>{var{title:C="InputFilter",metadata:P={},panelState:b=null,id:S=pe(),focusElement:E=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:M=void 0}=f,F={type:"react-component",component:Qe.COMPONENT,props:{id:S,metadata:P,panelState:b,localDashboardId:e},title:C,id:S},{root:w}=t;T.openComponent({root:w,config:F,focusElement:E,createNewStack:D,dragEvent:M})},[t,e]),g=y.useCallback(f=>{var{title:C="FilterSets",metadata:P={},panelState:b=null,id:S=pe(),focusElement:E=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:M=null}=f,F={type:"react-component",component:Nt.COMPONENT,props:{id:S,metadata:P,panelState:b,localDashboardId:e},title:C,id:S},{root:w}=t;T.openComponent({root:w,config:F,focusElement:E,createNewStack:D,dragEvent:M})},[t,e]);return y.useEffect(function(){var C=[n(ke.COMPONENT,ke),n(Qe.COMPONENT,Qe),n(Nt.COMPONENT,Nt)];return()=>{C.forEach(P=>P())}},[n]),Fe(t.eventHub,H.COLUMNS_CHANGED,d),Fe(t.eventHub,H.FILTERS_CHANGED,h),Fe(t.eventHub,H.TABLE_CHANGED,c),Fe(t.eventHub,H.OPEN_DROPDOWN,v),Fe(t.eventHub,H.OPEN_INPUT,m),Fe(t.eventHub,H.OPEN_FILTER_SET_MANAGER,g),Fe(t.eventHub,te.UNMOUNT,p),null}var Qs={name:"FilterPlugin",type:xe.DASHBOARD_PLUGIN,component:dr};const Js=Qs;var eo=B.module("@deephaven/app-utils/useTablePlugin");function ur(){var i=xi(),e=y.useCallback(t=>{var n=i.get(t);if(n!=null){if(Zr(n))return n.component;if(Qr(n))return n.TablePlugin}var r="Unable to find table plugin ".concat(t,".");throw eo.error(r),new Error(r)},[i]);return e}function ri(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function to(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){ri(l,n,r,a,s,"next",o)}function s(o){ri(l,n,r,a,s,"throw",o)}a(void 0)})}}function hr(i,e,t){var n=ln(),r=ur(),l=y.useMemo(()=>({loadPlugin:r,localDashboardId:e,makeModel:function(){var a=to(function*(){var o=yield i();return Ki.makeModel(n,o)});function s(){return a.apply(this,arguments)}return s}(),metadata:t}),[n,i,e,r,t]);return l}function ai(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function li(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ai(Object(t),!0).forEach(function(n){no(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ai(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function no(i,e,t){return e=io(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function io(i){var e=ro(i,"string");return typeof e=="symbol"?e:String(e)}function ro(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Cn=y.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,l=hr(n,t,r);return u.jsx(nt,li(li({ref:e},i),l))});Cn.displayName="GridPanelPlugin";const ao=Cn;function si(i,e,t,n,r,l,a){try{var s=i[l](a),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,r)}function Zt(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=i.apply(e,t);function a(o){si(l,n,r,a,s,"next",o)}function s(o){si(l,n,r,a,s,"throw",o)}a(void 0)})}}function cr(i){var e=ln(),[t,n]=y.useState(),[r,l]=y.useState(),[a,s]=y.useState(!0),o=y.useCallback(Zt(function*(){var h=yield i();return Ki.makeModel(e,h)}),[e,i]),d=y.useCallback(Zt(function*(){s(!0),l(void 0);try{var h=yield o();n(h),s(!1)}catch(c){l(c),s(!1)}}),[o]);if(y.useEffect(()=>{var h=!1;function c(){return p.apply(this,arguments)}function p(){return p=Zt(function*(){s(!0),l(void 0);try{var v=yield o();h||(n(v),s(!1))}catch(m){h||(l(m),s(!1))}}),p.apply(this,arguments)}return c(),()=>{h=!0}},[o]),y.useEffect(function(){if(!t)return;function c(){l(new Error("Table disconnected")),n(void 0),s(!1)}return t.addEventListener(x.EVENT.DISCONNECT,c),()=>{t.removeEventListener(x.EVENT.DISCONNECT,c)}},[t]),a)return{reload:d,status:"loading"};if(r!=null)return{error:r,reload:d,status:"error"};if(t!=null)return{model:t,reload:d,status:"success"};throw new Error("Invalid state")}function pr(i){var{fetch:e}=i,t=Gr($t),n=cr(e);if(n.status==="loading")return u.jsx(ft,{isLoading:!0});if(n.status==="error")return u.jsx(ft,{errorMessage:Ri(n.error),isLoading:!1});var{model:r}=n;return u.jsx(dn,{model:r,settings:t})}var lo={name:"IrisGridPanel",title:"Table",type:xe.WIDGET_PLUGIN,component:pr,panelComponent:Cn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:_a};const so=lo;function oi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ne(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?oi(Object(t),!0).forEach(function(n){vr(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):oi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function vr(i,e,t){return e=oo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function oo(i){var e=uo(i,"string");return typeof e=="symbol"?e:String(e)}function uo(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function fr(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function di(i){var e=i;return fr(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function ui(i){return i.description==null||!i.description.startsWith("Preview of type: ")}var ot=B.module("LinkerUtils");class Kt{static getLinkType(e,t,n){var r;if((e==null?void 0:e.panelId)==null||(t==null?void 0:t.panelId)==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return ot.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return ot.error("PanelComponent should not be null",e,t),"invalid";var l=(r=Kt.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(l===void 0||!l)return ot.debug2("Incompatible panel components",e,t),"invalid";var{columnType:a}=e,{columnType:s}=t,o=s===null||W.isCompatibleType(a,s);if(!o)return ot.debug2("Incompatible type",a,s),"invalid";switch(t.panelComponent){case T.getComponentName(yt):return"chartLink";case T.getComponentName(nt):return"tableLink";case T.getComponentName(ke):return"filterSource"}return ot.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(l=>{var{name:a,type:s}=l;return a===n&&s===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(l=>{var a;l.start.panelId===t&&l.type!=="filterSource"?r.push(Ne(Ne({},l),{},{id:pe(),start:Ne(Ne({},l.start),{},{panelId:n})})):((a=l.end)===null||a===void 0?void 0:a.panelId)===t&&r.push(Ne(Ne({},l),{},{id:pe(),end:Ne(Ne({},l.end),{},{panelId:n})}))}),r}}vr(Kt,"ALLOWED_LINKS",new Map([[T.getComponentName(nt),[T.getComponentName(nt),T.getComponentName(yt),T.getComponentName(ke)]]]));const He=Kt;function mr(i,e,t){return e=ho(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ho(i){var e=co(i,"string");return typeof e=="symbol"?e:String(e)}function co(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var po=B.module("LinkerLink"),hi=.015,ci=1.5,gr=12,br=12,pi=2,Ot=Math.sqrt((br*.5)**2+gr**2),vi=Math.asin(br*.5/gr),fi=15,Ie=Math.PI*.5;class Je extends y.Component{static makeCirclePath(e,t,n){return"M ".concat(e," ").concat(t," m -").concat(n,",0 a ").concat(n,",").concat(n," 0 1,0 ").concat(n*2,",0 a ").concat(n,",").concat(n," 0 1,0 -").concat(n*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(W.isNumberType(e)||W.isCharType(e))return Ha(t);if(W.isTextType(e))return Ba(t);if(W.isDateType(e))return Wa(t);if(W.isBooleanType(e)){if(t===dt.eq)return"is equal to";if(t===dt.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return po.warn(n),""}}constructor(e){super(e),mr(this,"getOperators",N((t,n)=>{var{onOperatorChanged:r}=this.props,l=W.getFilterTypes(n);return W.isBooleanType(n)&&(l=[dt.eq,dt.notEq]),l.flatMap((a,s)=>{if(a==="eqIgnoreCase"||a==="notEqIgnoreCase")return[];var o="";return a==="startsWith"?o="a*":a==="endsWith"?o="*z":o=W.getFilterOperatorString(a),[{title:Je.getLabelForLinkFilter(n,a),icon:u.jsx("b",{children:o}),action:()=>r(t,a),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:r}=this.props;e.altKey?r(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:r,y1:l,x2:a,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,p=Math.sqrt((r-a)**2+(l-s)**2),v=Math.atan2(s-l,a-r),m=Math.sin(v),g=Math.cos(v)+2,f=window.innerWidth,C=window.innerHeight,P=0,b=0,S=Math.max(P,Math.min(r+(a-r)/2+m*(p*hi)**ci,f)),E=Math.max(b,Math.min(l+(s-l)/2+g*(p*hi)**ci,C)),D="M ".concat(r," ").concat(l," Q ").concat(S," ").concat(E," ").concat(a," ").concat(s),M="M ".concat(P," ").concat(b," L ").concat(P," ").concat(C," L ").concat(f," ").concat(C," L ").concat(f," ").concat(b,` z
7
7
  `).concat(Je.makeCirclePath(r,l,fi),`
8
8
  `).concat(Je.makeCirclePath(a,s,fi)),F="link-select-clip-".concat(o),w=Math.atan2(s-E,a-S),L=w-vi+Math.PI,R=w+vi+Math.PI,G=a+Math.cos(w)*pi,q=s+Math.sin(w)*pi,j=G+Math.cos(L)*Ot,ye=q+Math.sin(L)*Ot,Re=G+Math.cos(R)*Ot,je=q+Math.sin(R)*Ot,Ae="".concat(G,",").concat(q," ").concat(j,",").concat(ye," ").concat(Re,",").concat(je),Le=.25*r+.5*S+.25*a,Oe=.25*l+.5*E+.25*s,$e=S-r+(a-S),ve=E-l+(s-E),ee=ve/$e,zt=20,oe=zt/Math.sqrt(1+ee**2),fe=oe*ee,Pe=oe*-1,Ee=fe*-1;Number.isFinite(ee)?ee>0?(oe*=-1,fe*=-1,Pe*=-1,Ee*=-1,Pe-=50-10*(Math.abs(v)%Ie),Ee+=10*(Math.abs(v)%Ie),oe-=50-10*(Math.abs(v)%Ie),fe+=10*(Math.abs(v)%Ie)):ee<0?(Pe+=10*(Math.abs(v)%Ie),Ee+=10*(Math.abs(v)%Ie),oe+=10*(Math.abs(v)%Ie),fe+=10*(Math.abs(v)%Ie)):(Pe=15,Ee=10,oe=-25,fe=10):(Pe=10,Ee=5,oe=10,fe=-35);var qe="";t!==void 0&&(t==="startsWith"?qe="a*":t==="endsWith"?qe="*z":qe=W.getFilterOperatorString(t));var qt=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:se(e,{hovering:c}),children:[u.jsx("clipPath",{id:F,children:u.jsx("path",{d:M,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:D,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(F,")"),"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:r,cy:l,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:Ae})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[qt&&u.jsx(I,{kind:"primary",className:"btn-fab btn-operator",style:{top:Oe+(ee>=0?fe:Ee),left:Le+(ee>=0?oe:Pe)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:qe}),u.jsx(le,{icon:xa,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(Jr,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx(I,{kind:"primary",className:"btn-fab btn-delete",style:{top:Oe+(ee<0?fe:Ee),left:Le+(ee<0?oe:Pe)},onClick:this.handleDelete,icon:on,tooltip:"Delete"})]})]})}}mr(Je,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});function mi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function gi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mi(Object(t),!0).forEach(function(n){Sn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):mi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Sn(i,e,t){return e=vo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vo(i){var e=fo(i,"string");return typeof e=="symbol"?e:String(e)}function fo(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Qt=B.module("LinkerOverlayContent");class Cr extends y.Component{constructor(e){super(e),Sn(this,"dialogRef",void 0),this.handleBlur=this.handleBlur.bind(this),this.handleResize=this.handleResize.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleEscapePressed=this.handleEscapePressed.bind(this),this.handleOperatorChanged=this.handleOperatorChanged.bind(this),this.dialogRef=ne.createRef(),this.state={mouse:void 0,dialog:void 0,offset:{x:0,y:0},isDragging:!1,mode:"select"}}componentDidMount(){window.addEventListener("blur",this.handleBlur,!0),window.addEventListener("mousemove",this.handleMouseMove,!0),window.addEventListener("mouseup",this.handleMouseUp,!0),window.addEventListener("keydown",this.handleKeyDown,!0),window.addEventListener("keyup",this.handleKeyUp,!0),window.addEventListener("resize",this.handleResize,!0)}componentDidCatch(e,t){Qt.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:r}=e,l=t.getOpenedPanelById(n);if(l!=null){if(!fr(l))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var a=l.getCoordinateForColumn(r);if(a!=null)return a}catch{Qt.error("Could not get coordinate for column",r,l)}}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:r}=this.props,l=n.map(a=>a.id===e?gi(gi({},a),{},{operator:t}):a);r(l)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),n=Pt(e.x,0,window.innerWidth-t.width),r=Pt(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:n,y:r}})}}handleMouseMove(e){var{offset:t,isDragging:n}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),n&&this.dialogRef.current){var r=this.dialogRef.current.getBoundingClientRect(),l=Pt(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),a=Pt(window.innerHeight-(e.clientY+r.height+t.y),0,window.innerHeight-r.height);this.setState({dialog:{x:l,y:a}})}}handleMouseDown(e){e.preventDefault();var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(r=>n(r))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:r,onLinkSelected:l,onLinkDeleted:a,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:h,isDragging:c,mode:p}=this.state,v=t.map(m=>{try{var g,f,{id:C,type:P,isReversed:b,start:S,end:E,operator:D}=m,M=S.columnType,[F,w]=this.getPointFromLinkPoint(S),L=(g=d==null?void 0:d.x)!==null&&g!==void 0?g:F,R=(f=d==null?void 0:d.y)!==null&&f!==void 0?f:w;if(E!=null&&([L,R]=this.getPointFromLinkPoint(E)),b!=null&&b){var[G,q]=[F,w];[F,w]=[L,R],[L,R]=[G,q]}var j=se("linker-link",{disabled:e},{"link-filter-source":P==="filterSource"},{"link-invalid":P==="invalid"},{interactive:m.end==null},{"link-is-selected":n.has(C)},{"danger-delete":p==="delete"});return{x1:F,y1:w,x2:L,y2:R,id:C,className:j,operator:D,startColumnType:M,type:P}}catch(ye){return Qt.warn("Unable to get point for link",m,ye),null}}).filter(m=>m!=null);return u.jsxs("div",{className:se("linker-overlay",{"danger-delete":p==="delete"}),children:[v.map(m=>{var{x1:g,y1:f,x2:C,y2:P,id:b,className:S,operator:E,startColumnType:D,type:M}=m;return u.jsx(Je,{className:S,id:b,x1:g,y1:f,x2:C,y2:P,onClick:l,onDelete:a,isSelected:n.has(b),operator:E,startColumnType:D,type:M,onOperatorChanged:this.handleOperatorChanged},b)}),u.jsxs("div",{className:se("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:h==null?void 0:h.y,right:h==null?void 0:h.x},"data-testid":"linker-toast-dialog",children:[u.jsx(I,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:Ra,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(ea,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:r}),u.jsxs("div",{className:"toast-footer",children:[u.jsx(I,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx(I,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(Di,{actions:[{action:this.handleEscapePressed,shortcut:ta.LINKER_CLOSE,isGlobal:!0}]})]})}}Sn(Cr,"defaultProps",{disabled:"false"});function bi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ci(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bi(Object(t),!0).forEach(function(n){Sr(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):bi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Sr(i,e,t){return e=mo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mo(i){var e=go(i,"string");return typeof e=="symbol"?e:String(e)}function go(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var z=B.module("Linker"),bo=(i,e)=>({activeTool:rn(i),dh:Oi(i),isolatedLinkerPanelId:Rt(i,e.localDashboardId),links:bt(i,e.localDashboardId),timeZone:_i(i)}),Co=Ke(bo,{setActiveTool:Fi,setDashboardLinks:ji,addDashboardLinks:Ai,deleteDashboardLinks:$i,setDashboardIsolatedLinkerPanelId:nn,setDashboardColumnSelectionValidator:Ui});class So extends y.Component{constructor(e){super(e),Sr(this,"getCachedLinks",N((t,n,r)=>{var l=[...t];return n!=null&&n.start!=null&&l.push(n),r!==void 0?l.filter(a=>{var s,o;return(a==null||(s=a.start)===null||s===void 0?void 0:s.panelId)===r||(a==null||(o=a.end)===null||o===void 0?void 0:o.panelId)===r||(a==null?void 0:a.end)==null}):l})),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(It.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(te.CLONED,this.handlePanelCloned),t.on(H.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(H.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(te.CLOSE,this.handlePanelClosed),t.on(te.CLOSED,this.handlePanelClosed),t.on(te.DRAGGING,this.handlePanelDragging),t.on(te.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(re.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(re.DATA_SELECTED,this.handleUpdateValues),t.off(re.STATE_CHANGED,this.handleStateChange),t.off(It.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(te.CLONED,this.handlePanelCloned),t.off(H.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(H.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(te.CLOSE,this.handlePanelClosed),t.off(te.CLOSED,this.handlePanelClosed),t.off(te.DRAGGING,this.handlePanelDragging),t.off(te.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:r,setActiveTool:l,setDashboardIsolatedLinkerPanelId:a}=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){l(he.LINKER),a(r,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,r=T.getIdFromPanel(e);if(r==null){z.error("Invalid panelId",e);return}var l=n.filter(a=>{var{start:s,end:o}=a;return s.panelId===r&&He.findColumn(t,s)==null||o!=null&&o.panelId===r&&He.findColumn(t,o)==null});this.deleteLinks(l)}handleGridColumnSelect(e,t){if(!ui(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,r=arguments.length>3?arguments[3]:void 0;if(!(r===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:l}=this.props,{linkInProgress:a}=this.state,s=T.getIdFromPanel(e);if(s!=null){var o=T.getComponentNameFromPanel(e),{name:d,type:h}=t;if(a==null||a.start==null){var c={id:pe(),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:m,isReversed:g}=a,f={panelId:s,panelComponent:o,columnName:d,columnType:h},C=He.getLinkType(g!==void 0&&g?f:v,g!==void 0&&g?v:f,r??l);switch(C){case"invalid":z.debug("Ignore invalid link connection",a,f);return;case"filterSource":{var P=g!==void 0&&g?v.panelId:f.panelId,b=p.filter(F=>{var{end:w}=F;return(w==null?void 0:w.panelId)===P});this.deleteLinks(b);break}case"chartLink":{var S=g===!0?v:f,E=g===!0?f:v;z.debug("creating chartlink",{existingLinkEnd:S,start:v,end:f});var D=p.filter(F=>{var{end:w,start:L}=F;return(L==null?void 0:L.panelId)===E.panelId&&(w==null?void 0:w.panelId)===S.panelId&&(w==null?void 0:w.columnName)===S.columnName&&(w==null?void 0:w.columnType)===S.columnType});this.deleteLinks(D);break}}var M={start:g!==void 0&&g?f:v,end:g!==void 0&&g?v:f,id:m,type:C,operator:dt.eq};z.info("creating link",M),this.setState({linkInProgress:void 0,selectedIds:new Set([m])},()=>{this.addLinks([M])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:r,columnName:l,columnType:a}=n,s=t.getOpenedPanelById(r);s?di(s)?s.unsetFilterValue(l,a):z.debug("endPanel.unsetFilterValue not implemented",s):z.debug("endPanel no longer exists, ignoring unsetFilterValue",r)}}setPanelFilterMap(e,t){z.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,r=n.getOpenedPanelById(e);r?di(r)?r.setFilterMap(t):z.debug("panel.setFilterMap not implemented",e,r):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(a=>this.unsetFilterValueForLink(a)),t){var{setDashboardLinks:r}=this.props;r(n,[])}else if(e.length>0){var{deleteDashboardLinks:l}=this.props;l(n,e.map(a=>{var{id:s}=a;return s}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(r=>{var l,a;return(r==null||(l=r.start)===null||l===void 0?void 0:l.panelId)===t||(r==null||(a=r.end)===null||a===void 0?void 0:a.panelId)===t});this.deleteLinks(n)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,n=t.find(r=>r.id===e);n?this.deleteLinks([n]):z.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var n=T.getIdFromPanel(e),{dh:r,links:l,timeZone:a}=this.props,s=new Map,o=0;o<l.length;o+=1){var{start:d,end:h,operator:c}=l[o];if(d.panelId===n&&h!=null){var{panelId:p,columnName:v,columnType:m}=h,g=s.has(p)?s.get(p):new Map,f=g.has(v)===!0?g.get(v).filterList:[],{visibleIndex:C,isExpandable:P,isGrouped:b}=t[d.columnName],{value:S}=t[d.columnName],E="".concat(S);if(S===null&&P&&b&&(S=void 0),m!=null&&W.isDateType(m)){var D=new Ni(r,{timeZone:a,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:na.FULL_DATE_FORMAT});E=D.format(S)}var M={operator:c,text:E,value:S,startColumnIndex:C};f.push(M),g.set(v,{columnType:m,filterList:f}),s.set(p,g)}}s.forEach((F,w)=>{this.setPanelFilterMap(w,F)})}handlePanelCloned(e,t){var{links:n}=this.props,r=T.getIdFromPanel(e),l=t.id;if(r!=null){var a=He.cloneLinksForPanel(n,r,l);this.addLinks(a)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:l,end:a}=r;if(l.panelId===e||(a==null?void 0:a.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 r=t[n],{start:l,end:a,id:s}=r;(l.panelId===e||(a==null?void 0:a.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:Ci(Ci({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:r}=this.props;if(t==null)return(n==null?void 0:n.start)!=null&&this.updateLinkInProgressType(),!1;if(!ui(t))return z.debug2("Column is not filterable",t.description),(n==null?void 0:n.start)!=null&&this.updateLinkInProgressType("invalid"),!1;if((n==null?void 0:n.start)==null)return!0;var{isReversed:l,start:a}=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=l!==void 0&&l?He.getLinkType(o,a,r):He.getLinkType(a,o,r);return this.updateLinkInProgressType(d),d!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:r,selectedIds:l,isDraggingPanel:a}=this.state,s=this.isOverlayShown(),o=r!=null&&r.start!=null,d=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return a?null:u.jsx(Jt,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(Cr,{disabled:o,panelManager:n,links:this.getCachedLinks(e,r,t),selectedIds:l,messageText:d,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel})})}}var yo=Co(So);function yr(i){Ct(i);var{id:e,layout:t,panelManager:n}=i;return u.jsx(yo,{layout:t,localDashboardId:e,panelManager:n})}var Po={name:"LinkerPlugin",type:xe.DASHBOARD_PLUGIN,component:yr};const Eo=Po;function Pr(i){Ct(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,l=y.useCallback(function(){var{title:a="",metadata:s={},id:o=pe(),focusElement:d=T.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:c=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(ht.COMPONENT),v=p.map(P=>{var b;return(b=P.title)!==null&&b!==void 0?b:""}),m=a!=null&&a!==""?a:Se.getNewMarkdownTitle(v),g=null,f={type:"react-component",component:ht.COMPONENT,props:{id:o,metadata:s,panelState:{content:g},localDashboardId:e},title:m,id:o},{root:C}=t;T.openComponent({root:C,config:f,focusElement:d,createNewStack:h,dragEvent:c})},[e,t,n]);return y.useEffect(function(){var s=[r(ht.COMPONENT,ht)];return()=>{s.forEach(o=>o())}},[r]),Fe(t.eventHub,Gi.OPEN,l),null}var wo={name:"MarkdownPlugin",type:xe.DASHBOARD_PLUGIN,component:Pr};const To=wo;function Si(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function yi(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Si(Object(t),!0).forEach(function(n){Do(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Si(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Do(i,e,t){return e=Fo(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fo(i){var e=Mo(i,"string");return typeof e=="symbol"?e:String(e)}function Mo(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var yn=y.forwardRef((i,e)=>{var{localDashboardId:t,fetch:n,metadata:r}=i,l=hr(n,t,r);return u.jsx(ar,yi(yi({ref:e},i),l))});yn.displayName="PandasPanelPlugin";const Lo=yn;function Er(i){var{fetch:e}=i,t=cr(e);if(t.status==="loading")return u.jsx(ft,{isLoading:!0});if(t.status==="error")return u.jsx(ft,{errorMessage:Ri(t.error),isLoading:!1});var{model:n,reload:r}=t;return u.jsx(dn,{model:n,children:u.jsx(rr,{onClick:r})})}var Oo={name:"PandasPanel",title:"Pandas",type:xe.WIDGET_PLUGIN,component:Er,panelComponent:yn,supportedTypes:"pandas.DataFrame",icon:ja};const No=Oo;function Pi(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ve(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pi(Object(t),!0).forEach(function(n){Io(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Pi(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Io(i,e,t){return e=ko(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ko(i){var e=_o(i,"string");return typeof e=="symbol"?e:String(e)}function _o(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var xo=B.module("WidgetLoaderPlugin");function Ro(i){var e;function t(n,r){var l,a,s=i.component,{metadata:o}=n,d=Ve(Ve({},o),{},{type:(l=o==null?void 0:o.type)!==null&&l!==void 0?l:i.type,name:(a=o==null?void 0:o.name)!==null&&a!==void 0?a:"Widget"}),h=aa(s);return u.jsx(St,Ve(Ve({descriptor:d},n),{},{children:h?u.jsx(s,Ve(Ve({},n),{},{ref:r})):u.jsx(s,Ve({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=i.component.displayName)!==null&&e!==void 0?e:i.name,")"),y.forwardRef(t)}function wr(i){var e=xi(),t=y.useMemo(()=>{var s=new Map;return e.forEach(o=>{ia(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var h;xo.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]);Ct(i);var{id:n,layout:r,registerComponent:l}=i,a=y.useCallback(s=>{var o,{dragEvent:d,panelId:h=pe(),fetch:c,widget:p}=s,{type:v}=p,m=v!=null?t.get(v):null;if(m!=null){var g=(o=p.name)!==null&&o!==void 0?o:v,f={localDashboardId:n,metadata:p,fetch:c},C={type:"react-component",component:m.name,props:f,title:g,id:h},{root:P}=r;T.openComponent({root:P,config:C,dragEvent:d})}},[n,r,t]);return y.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?l(o.name,Ro(o)):l(o.name,d)});return()=>{s.forEach(o=>o())}},[l,t]),ra(r.eventHub,a),null}var jo={name:"WidgetLoaderPlugin",type:xe.DASHBOARD_PLUGIN,component:wr};const Ao=jo;var $o=O.shape({state:O.shape({panelState:O.shape({})})}),Uo=O.shape({panelId:O.string.isRequired,columnName:O.string.isRequired,columnType:O.string.isRequired}),Ei=O.shape({panelId:O.string.isRequired,columnName:O.string.isRequired}),Tr=O.shape({start:Ei,end:Ei,id:O.string,isReversed:O.bool}),Go=O.arrayOf(Tr),Vo=O.shape({name:O.string.isRequired,operateAs:O.string.isRequired,groups:O.arrayOf(O.string).isRequired,permissions:O.shape({canUsePanels:O.bool.isRequired,canCopy:O.bool.isRequired,canDownloadCsv:O.bool.isRequired,canLogout:O.bool.isRequired}).isRequired}),Ho=Object.freeze({LinkPoint:Uo,Link:Tr,Links:Go,Panel:$o,User:Vo});const Bo=Ho;var Wo=(i,e)=>i[e]===null?null:O.bool,Ko=(i,e)=>i[e]===null?null:O.string,zo=Object.freeze({nullableBoolean:Wo,nullableString:Ko});const qo=zo,nd=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:or,ChartBuilderPluginConfig:Zs,ChartEvent:It,ChartPanel:yt,ChartPanelPlugin:Ws,ChartPluginConfig:qs,ChartWidgetPlugin:sr,CommandHistoryPanel:la,CommonPropTypes:qo,ConsoleEvent:sa,ConsolePanel:oa,ConsolePlugin:da,ControlType:ua,DropdownFilterPanel:ke,FileExplorerPanel:ha,FilterPlugin:dr,FilterPluginConfig:Js,FilterSetManager:Ji,FilterSetManagerPanel:Nt,GridPanelPlugin:ao,GridPluginConfig:so,GridWidgetPlugin:pr,InputFilterEvent:H,InputFilterPanel:Qe,IrisGridEvent:re,IrisGridPanel:nt,LinkerPlugin:yr,LinkerPluginConfig:Eo,LinkerUtils:He,LogPanel:ca,MarkdownEvent:Gi,MarkdownPanel:ht,MarkdownPlugin:Pr,MarkdownPluginConfig:To,MockFileStorage:Us,NotebookEvent:pa,NotebookPanel:va,PandasEvent:El,PandasPanel:ar,PandasPanelPlugin:Lo,PandasPluginConfig:No,PandasWidgetPlugin:Er,Panel:gt,TabEvent:fa,ToolType:he,UIPropTypes:Bo,WidgetLoaderPlugin:wr,WidgetLoaderPluginConfig:Ao,WidgetPanel:St,WidgetPanelTooltip:pn,addDashboardLinks:Ai,deleteDashboardLinks:$i,getColumnSelectionValidatorForDashboard:jt,getColumnsForDashboard:an,getDashboardConnection:ma,getDashboardConsoleSettings:ga,getDashboardSessionWrapper:ba,getFilterSetsForDashboard:ki,getInputFiltersForDashboard:At,getIsolatedLinkerPanelIdForDashboard:Rt,getLinksForDashboard:bt,getTableMapForDashboard:xt,isChartPanelDehydratedProps:Qi,isChartPanelFigureMetadata:Yi,isChartPanelTableMetadata:Ze,isGLChartPanelState:Zi,isIrisGridPanelMetadata:tr,isLegacyIrisGridPanelMetadata:er,setDashboardColumnSelectionValidator:Ui,setDashboardConnection:Ca,setDashboardConsoleSettings:Sa,setDashboardFilterSets:Ii,setDashboardIsolatedLinkerPanelId:nn,setDashboardLinks:ji,setDashboardSessionWrapper:ya,useLoadTablePlugin:ur},Symbol.toStringTag,{value:"Module"}));export{un as C,qa as D,In as F,vl as I,et as a,Ki as b,hl as c,tl as d,nd as e,_n as i,Xa as u};
9
- //# sourceMappingURL=index-B0jej1Vv.js.map
9
+ //# sourceMappingURL=index-B8xrSWbn.js.map