@deephaven/code-studio 0.78.7 → 0.78.9
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.
- package/build/assets/{AppRoot-2a59d522.js → AppRoot-64f26d97.js} +3 -3
- package/build/assets/{AppRoot-2a59d522.js.map → AppRoot-64f26d97.js.map} +1 -1
- package/build/assets/{Chart-7ae57edd.js → Chart-6db0d4ce.js} +2 -2
- package/build/assets/{Chart-7ae57edd.js.map → Chart-6db0d4ce.js.map} +1 -1
- package/build/assets/{ControlType-bd14ad7d.js → ControlType-17bce983.js} +3 -3
- package/build/assets/{ControlType-bd14ad7d.js.map → ControlType-17bce983.js.map} +1 -1
- package/build/assets/{FontBootstrap-acebd200.js → FontBootstrap-bc21c71a.js} +2 -2
- package/build/assets/{FontBootstrap-acebd200.js.map → FontBootstrap-bc21c71a.js.map} +1 -1
- package/build/assets/{FormatterUtils-aa130f09.js → FormatterUtils-4bc01d78.js} +2 -2
- package/build/assets/{FormatterUtils-aa130f09.js.map → FormatterUtils-4bc01d78.js.map} +1 -1
- package/build/assets/{Grid-528d0f39.js → Grid-41af89a1.js} +2 -2
- package/build/assets/{Grid-528d0f39.js.map → Grid-41af89a1.js.map} +1 -1
- package/build/assets/{GridRenderer-81c28864.js → GridRenderer-168e9bfa.js} +2 -2
- package/build/assets/{GridRenderer-81c28864.js.map → GridRenderer-168e9bfa.js.map} +1 -1
- package/build/assets/{IrisGrid-cf7cbe7a.js → IrisGrid-ba04137c.js} +2 -2
- package/build/assets/{IrisGrid-cf7cbe7a.js.map → IrisGrid-ba04137c.js.map} +1 -1
- package/build/assets/IrisGridModel-9ae353b6.js +2 -0
- package/build/assets/IrisGridModel-9ae353b6.js.map +1 -0
- package/build/assets/{IrisGridShortcuts-ca43b8ae.js → IrisGridShortcuts-6bff8af6.js} +2 -2
- package/build/assets/{IrisGridShortcuts-ca43b8ae.js.map → IrisGridShortcuts-6bff8af6.js.map} +1 -1
- package/build/assets/{IrisGridThemeProvider-1255904b.js → IrisGridThemeProvider-e0773395.js} +2 -2
- package/build/assets/{IrisGridThemeProvider-1255904b.js.map → IrisGridThemeProvider-e0773395.js.map} +1 -1
- package/build/assets/{MarkdownEditor-5b938d97.js → MarkdownEditor-0f7f63c1.js} +2 -2
- package/build/assets/{MarkdownEditor-5b938d97.js.map → MarkdownEditor-0f7f63c1.js.map} +1 -1
- package/build/assets/{MarkdownNotebook-b2d6f744.js → MarkdownNotebook-c8f790c9.js} +2 -2
- package/build/assets/{MarkdownNotebook-b2d6f744.js.map → MarkdownNotebook-c8f790c9.js.map} +1 -1
- package/build/assets/{MissingPartitionError-592fcd69.js → MissingPartitionError-d32eff17.js} +2 -2
- package/build/assets/{MissingPartitionError-592fcd69.js.map → MissingPartitionError-d32eff17.js.map} +1 -1
- package/build/assets/{StyleGuideRoot-8a3bea4c.js → StyleGuideRoot-23b585e0.js} +2 -2
- package/build/assets/{StyleGuideRoot-8a3bea4c.js.map → StyleGuideRoot-23b585e0.js.map} +1 -1
- package/build/assets/{index-924d232b.js → index-4ac6ba2e.js} +2 -2
- package/build/assets/{index-924d232b.js.map → index-4ac6ba2e.js.map} +1 -1
- package/build/assets/{index-664a8a46.js → index-4b63b035.js} +3 -3
- package/build/assets/{index-664a8a46.js.map → index-4b63b035.js.map} +1 -1
- package/build/assets/{index-bede718d.js → index-65dd7b54.js} +2 -2
- package/build/assets/{index-bede718d.js.map → index-65dd7b54.js.map} +1 -1
- package/build/assets/{useUser-5301f40a.js → useUser-9ee15529.js} +2 -2
- package/build/assets/{useUser-5301f40a.js.map → useUser-9ee15529.js.map} +1 -1
- package/build/index.html +2 -2
- package/package.json +14 -14
- package/build/assets/IrisGridModel-ff5b74a5.js +0 -2
- package/build/assets/IrisGridModel-ff5b74a5.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{r as T,I as u,K as ce,T as Ze,U as ue,bb as aa,a3 as jn,a2 as _,bc as Wr,V as R,L as he,Q as Ye,M as se,a1 as be,Y as la,b0 as sa,ai as Rt}from"./vendor-42b82a60.js";import{F as _e,c as j,cj as H,P as Fe,al as le,ck as an,bI as O,J as oa,bO as qr,ad as da,ao as Zr,cl as Ft,cm as Pe,_ as Yr,cn as fn,co as Xr,M as ge,ag as X,x as pn,cp as Bt,bW as Qr,a3 as gn,cq as zt,cr as Kt,cs as Wt,ct as Dt,cu as qt,S as yt,B as $,cv as Cn,i as Jr,b as ei,a9 as ua,ae as ha,cw as ti,cx as ni,aY as ca,ah as ie,bV as pa,cy as Vn,aq as ma,as as va,u as ht,b7 as fa,o as ri,w as ga,c3 as Ge,bS as Mt,bK as Te,a1 as Ca,aF as ii,ce as ba,cc as Sa,T as Ct,N as wa,s as Ea,G as ya,cz as ai,cA as li,cB as si,cC as oi,bb as Pa,bU as Ta,bY as Fa,ai as di,c2 as Da,bT as Ma,Y as Na,cD as La,W as Oa,an as Ra,L as Ia,Z as ka,X as _a,af as xa,aj as Aa,cE as ja,a7 as Va,cF as $a,a8 as Ua,ax as Ga,cG as Ha,ay as Ba}from"./ControlType-bd14ad7d.js";import{L as Z,e as M,aj as za,ak as Ka,F as bn,al as Wa,am as qa,an as ui,f as Sn,ao as hi,ap as $n,u as Un,g as Za,A as Ya,M as Xa,b as Qa,c as Ja,I as ci,aq as el,ar as tl,d as nl,as as rl,at as il}from"./index-bede718d.js";import{C as al,b as te,c as k,m as Gn,d as G,G as pt,i as Ae,e as Be,B as Hn,S as pi,L as mi,R as ll,a as Bn,I as wn}from"./IrisGridModel-ff5b74a5.js";import{I as B,f as ln,g as zn,M as Kn,h as sl,e as ze,j as It,A as ol,k as dl,l as ul,m as hl}from"./MissingPartitionError-592fcd69.js";import{F as mn}from"./FormatterUtils-aa130f09.js";import{_ as cl}from"./monaco-b5248072.js";function En(r){var{className:e,isFlipped:t,children:n,"data-testid":i}=r,a=d=>{if(n.length!==2)throw new Error("CardFlip requires 2 children to function");return n[d]},l=T.useRef(null),s=T.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=T.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return T.useEffect(function(){if(!l.current)throw Error("ref undefined");l.current.addEventListener("transitionstart",s);var h=l.current;return function(){if(h!=null)return h.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:ce(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":i,children:[u.jsx("div",{className:"card-flip--back",children:a(0)}),u.jsx("div",{ref:l,className:"card-flip--front",onTransitionEnd:o,children:a(1)})]})}function Wn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function qn(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wn(Object(t),!0).forEach(function(n){q(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Wn(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function q(r,e,t){return e=pl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function pl(r){var e=ml(r,"string");return typeof e=="symbol"?e:String(e)}function ml(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Q=Z.module("FigureChartModel");class Zt extends al{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,q(this,"chartUtils",void 0),q(this,"dh",void 0),q(this,"figure",void 0),q(this,"settings",void 0),q(this,"data",void 0),q(this,"layout",void 0),q(this,"seriesDataMap",void 0),q(this,"pendingSeries",void 0),q(this,"oneClicks",void 0),q(this,"filterColumnMap",void 0),q(this,"lastFilter",void 0),q(this,"isConnected",void 0),q(this,"seriesToProcess",void 0),q(this,"addPendingSeries",Ze(()=>{for(var a=te.getAxisTypeMap(this.figure),{pendingSeries:l}=this,s=function(){var h,c=l[o],m=n.figure.charts.find(p=>p.series.includes(c));n.addSeries(c,a,(h=m?.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},Zt.ADD_SERIES_DEBOUNCE)),q(this,"getTimeZone",ue((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}})),q(this,"getValueTranslator",ue((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)})),q(this,"getValueParser",ue((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)})),q(this,"getRangeParser",ue((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]})),q(this,"getAxisRangeParser",ue((a,l)=>s=>{var o=te.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d})),this.handleFigureUpdated=this.handleFigureUpdated.bind(this),this.handleFigureDisconnected=this.handleFigureDisconnected.bind(this),this.handleFigureReconnected=this.handleFigureReconnected.bind(this),this.handleFigureSeriesAdded=this.handleFigureSeriesAdded.bind(this),this.handleDownsampleStart=this.handleDownsampleStart.bind(this),this.handleDownsampleFinish=this.handleDownsampleFinish.bind(this),this.handleDownsampleFail=this.handleDownsampleFail.bind(this),this.handleDownsampleNeeded=this.handleDownsampleNeeded.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.dh=e,this.chartUtils=new te(e),this.figure=t,this.settings=i,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=te.getAxisTypeMap(this.figure),i=[];this.seriesToProcess=new Set;for(var a=function(){for(var m=t[l],p=0;p<m.series.length;p+=1){var g=m.series[p];i.push(g.name),e.addSeries(g,n,m.showLegend)}var{axes:v,title:f}=m;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var C=v.find(N=>N.type===e.dh.plot.AxisType.X),S=v.find(N=>N.type===e.dh.plot.AxisType.Y);if(C==null||S==null)Q.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",m);else{var b,w,y,E,D=((b=(w=n.get(C.type))===null||w===void 0?void 0:w.findIndex(N=>N===C))!==null&&b!==void 0?b:0)+1,F=((y=(E=n.get(S.type))===null||E===void 0?void 0:E.findIndex(N=>N===S))!==null&&y!==void 0?y:0)+1,P={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(D," domain"),yref:"y".concat(F," domain")};e.layout.annotations==null?e.layout.annotations=[P]:e.layout.annotations.push(P)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>i.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var i,a,{dh:l}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,te.getSeriesVisibility(e.name,this.settings),n,(i=(a=this.renderOptions)===null||a===void 0?void 0:a.webgl)!==null&&i!==void 0?i:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===l.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===l.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=te.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===l.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:o}=e,{columns:d}=o,h=0;h<d.length;h+=1)this.filterColumnMap.set(d[h].name,d[h]);this.oneClicks.push(o)}this.updateLayoutFormats()}subscribe(e){super.subscribe(e),this.listeners.length===1&&(this.initAllSeries(),this.subscribeFigure())}unsubscribe(e){super.unsubscribe(e),this.listeners.length===0&&this.unsubscribeFigure()}subscribeFigure(){if(!this.isConnected){Q.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&&(Q.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){Q.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){Q.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){Q.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){Q.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;Q.debug2("handleFigureUpdated",n);for(var i=0;i<n.length;i+=1){var a=n[i];Q.debug2("handleFigureUpdated updating series",a.name);for(var{sources:l}=a,s=0;s<l.length;s+=1){var o=l[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),m=t.getArray(a,h,c);this.setDataArrayForSeries(a,h,m)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:p}=this;this.fireUpdate(p)}handleRequestFailed(e){Q.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){Q.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){Q.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;Q.debug("handleFigureSeriesAdded",t),this.pendingSeries.push(t),this.addPendingSeries()}setDimensions(e){super.setDimensions(e),this.updateAxisPositions()}setTitle(e){var t,n;super.setTitle(e);var i=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,a=te.DEFAULT_MARGIN.t+i*te.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=qn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=qn({},this.layout.title.pad),this.layout.title.pad.t=te.DEFAULT_TITLE_PADDING.t+i*te.SUBTITLE_LINE_HEIGHT*.5)}getPlotWidth(){var e,t,n,i;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,i;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{Q.debug("Assigning ".concat(n),this.layout[n],t);var i=this.layout[n];i!=null?Object.assign(i,t):Q.debug("Ignoring null layout.".concat(n))})}}setDataArrayForSeries(e,t,n){var{name:i,plotStyle:a}=e,l=this.seriesDataMap.get(i),s=this.chartUtils.getPlotlyProperty(a,t);l&&aa(l,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:i}=e,a=this.seriesDataMap.get(n);if(a!=null){if(i===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:l,xHigh:s}=a;if(l&&s&&l.length===s.length){for(var o=[],d=0;d<l.length;d+=1)o.push(s[d]-l[d]);a.width=o}}else if(i===t.plot.SeriesPlotStyle.LINE||i===t.plot.SeriesPlotStyle.ERROR_BAR||i===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:m,y:p,yLow:g,yHigh:v}=a;c&&m&&c!==h&&(a.error_x=te.getPlotlyErrorBars(h,c,m)),g&&v&&g!==p&&(a.error_y=te.getPlotlyErrorBars(p,g,v))}else if(i===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:C}=a;f!==void 0&&C===void 0&&(a.labels=f)}}}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){return new Map(this.filterColumnMap)}isFilterRequired(){return this.oneClicks.find(e=>e.requireAllFiltersToDisplay)!=null}setFilter(e){var t=this;if(this.oneClicks.length===0){Q.warn("Trying to set a filter, but no one click!");return}Q.debug("setFilter",e);for(var n=function(){var l=t.oneClicks[i],{columns:s}=l,o=new Set([...e.keys(),...t.lastFilter.keys()]);o.forEach(d=>{var h=e.get(d);t.lastFilter.get(d)!==h&&s.find(c=>c.name===d)!=null&&l.setValueForColumn(d,h)})},i=0;i<this.oneClicks.length;i+=1)n();this.lastFilter=new Map(e)}setFigure(e){this.close(),this.figure=e,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure(),this.listeners.length>0&&this.subscribeFigure()}updateSettings(e){this.settings=e}}q(Zt,"ADD_SERIES_DEBOUNCE",50);const Zn=Zt;function Yn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function sn(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Yn(a,n,i,l,s,"next",o)}function s(o){Yn(a,n,i,l,s,"throw",o)}l(void 0)})}}class yn{static makeModelFromSettings(e,t,n){return sn(function*(){var i=yield yn.makeFigureFromSettings(e,t,n);return new Zn(e,i,t)})()}static makeFigureFromSettings(e,t,n){return sn(function*(){var i=yield n.copy();return i.applyCustomColumns(n.customColumns),i.applyFilter(n.filter),i.applySort(n.sort),e.plot.Figure.create(new te(e).makeFigureSettings(t,i))})()}static makeModel(e,t,n){return sn(function*(){return new Zn(e,n,t)})()}}const St=yn;function Xn(r){return r.setFigure!==void 0}function on(r,e,t){return e=vl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function vl(r){var e=fl(r,"string");return typeof e=="symbol"?e:String(e)}function fl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class gl extends Error{constructor(e,t){super("".concat(t," can't be empty (on pending row ").concat(e+1,")")),on(this,"isMissingKey",!0),on(this,"rowIndex",void 0),on(this,"columnName",void 0),this.rowIndex=e,this.columnName=t}}const Cl=gl;function Qn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function kt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qn(Object(t),!0).forEach(function(n){I(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Qn(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Jn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function je(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Jn(a,n,i,l,s,"next",o)}function s(o){Jn(a,n,i,l,s,"throw",o)}l(void 0)})}}function I(r,e,t){return e=bl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function bl(r){var e=Sl(r,"string");return typeof e=="symbol"?e:String(e)}function Sl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var z=Z.module("IrisGridTableModelTemplate"),wl=150,El=0;function qe(r){return r.table!==void 0}class Pt extends k{seekRow(e,t,n,i,a,l,s){throw new Error("Method not implemented.")}export(){throw new Error("Method not implemented.")}columnStatistics(e){throw new Error("Method not implemented.")}get customColumns(){return[]}set customColumns(e){throw new Error("Method not implemented.")}get formatColumns(){return[]}set formatColumns(e){throw new Error("Method not implemented.")}updateFrozenColumns(e){throw new Error("Method not implemented.")}get rollupConfig(){throw new Error("Method not implemented.")}set rollupConfig(e){throw new Error("Method not implemented.")}get selectDistinctColumns(){throw new Error("Method not implemented.")}set selectDistinctColumns(e){throw new Error("Method not implemented.")}get columns(){return this.table.columns}constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new _e(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),I(this,"dh",void 0),I(this,"irisGridUtils",void 0),I(this,"tableUtils",void 0),I(this,"irisFormatter",void 0),I(this,"inputTable",void 0),I(this,"subscription",void 0),I(this,"table",void 0),I(this,"viewport",void 0),I(this,"viewportData",void 0),I(this,"formattedStringData",void 0),I(this,"pendingStringData",void 0),I(this,"isSaveInProgress",void 0),I(this,"totalsTable",void 0),I(this,"totalsTablePromise",void 0),I(this,"totals",void 0),I(this,"totalsDataMap",void 0),I(this,"pendingNewDataMap",void 0),I(this,"pendingNewRowCount",0),I(this,"_columnHeaderGroupMap",new Map),I(this,"columnHeaderParentMap",new Map),I(this,"_columnHeaderMaxDepth",null),I(this,"_columnHeaderGroups",[]),I(this,"_isColumnHeaderGroupsInitialized",!1),I(this,"_movedColumns",null),I(this,"getMemoizedInitialMovedColumns",_(a=>{var l,s,o,d;if(!a)return[];var h=[],{groupMap:c}=B.parseColumnHeaderGroups(this,(l=a?.columnGroups)!==null&&l!==void 0?l:[]),m=(E,D)=>{var F=this.getColumnIndexByName(E);if(F==null)throw new Error("Unknown layout hint column: ".concat(E));var P=pt.getVisibleIndex(F,h);h=pt.moveItem(P,D,h)},p=(E,D)=>{var F=c.get(E);if(F==null)throw new Error("Unknown layout hint group: ".concat(E));var P=F.getVisibleRange(h);h=pt.moveRange(P,D,h)},g=(s=a.frontColumns)!==null&&s!==void 0?s:[],v=(o=a.backColumns)!==null&&o!==void 0?o:[],f=(d=a.frozenColumns)!==null&&d!==void 0?d:[];if(g.length>0||v.length>0||f.length>0){var C=new Set,S=0;f?.forEach(E=>{if(C.has(E))throw new Error("Column specified in multiple layout hints: ".concat(E));m(E,S),S+=1}),g.forEach(E=>{if(C.has(E))throw new Error("Column specified in multiple layout hints: ".concat(E));m(E,S),S+=1});var b=this.columnMap.size-1;v?.forEach(E=>{if(C.has(E))throw new Error("Column specified in multiple layout hints: ".concat(E));m(E,b),b-=1})}var w=a?.columnGroups;if(w){var y=[...c.values()];y.sort((E,D)=>E.depth-D.depth),y.forEach(E=>{var D=E.children[0],F=this.getColumnIndexByName(D),P;if(F!=null)P=pt.getVisibleIndex(F,h);else{var N=c.get(D);if(!N)throw new Error("Unknown column ".concat(D," in group ").concat(E.name));var x=N.getVisibleRange(h);[,P]=x}for(var A=1;A<E.children.length;A+=1){var V=E.children[A],U=c.get(V),oe=this.getColumnIndexByName(V);if(U){var De=U.getVisibleRange(h)[0]<P,Se=De?P-U.childIndexes.length+1:P+1;p(V,Se),P=Se+U.childIndexes.length-1}else if(oe!=null){var Me=pt.getVisibleIndex(oe,h)<P,pe=Me?P:P+1;m(V,pe),P=pe}}})}return this._movedColumns=h,h})),I(this,"getMemoizedInitialColumnHeaderGroups",_(a=>{var l;return B.parseColumnHeaderGroups(this,(l=a?.columnGroups)!==null&&l!==void 0?l:[]).groups})),I(this,"getMemoizedColumnMap",_(a=>{var l=new Map;return a.forEach(s=>l.set(s.name,s)),l})),I(this,"getColumnIndicesByNameMap",_(a=>{var l=new Map;return a.forEach((s,o)=>{var{name:d}=s;return l.set(d,o)}),l})),I(this,"setViewport",jn((a,l,s)=>{if(l<a){z.error("Invalid viewport",a,l);return}var{viewport:o}=this;if(o!=null&&o.top===a&&o.bottom===l&&o.columns===s){z.debug2("Ignoring duplicate viewport",o);return}this.viewport={top:a,bottom:l,columns:s},z.debug2("setViewport",this.viewport),this.applyViewport()},wl)),I(this,"applyViewport",jn(()=>{if(this.viewport){z.debug2("applyViewport",this.viewport);var{top:a,bottom:l,columns:s}=this.viewport,[o,d]=this.getCachedViewportRowRange(a,l);this.applyBufferedViewport(o,d,s)}},El,{leading:!1})),I(this,"getCachedFormattedString",Gn((a,l,s,o,d)=>a.getFormattedString(l,s,o,d),{max:1e4})),I(this,"getCachedCustomColumnFormatFlag",Gn(mn.isCustomColumnFormatDefined,{max:1e4})),I(this,"getCachedViewportRowRange",_((a,l)=>{var s=l-a,o=Math.max(0,a-s*Pt.ROW_BUFFER_PAGES),d=l+s*Pt.ROW_BUFFER_PAGES;return[o,d]})),I(this,"getCachedPendingErrors",_((a,l,s)=>{var o=new Map;return a.forEach((d,h)=>{for(var{data:c}=d,m=0;m<s;m+=1)if(!c.has(m)){var p;o.has(h)||o.set(h,[]),(p=o.get(h))===null||p===void 0||p.push(new Cl(h,l[m].name))}}),o})),this.handleTableDisconnect=this.handleTableDisconnect.bind(this),this.handleTableReconnect=this.handleTableReconnect.bind(this),this.handleTableUpdate=this.handleTableUpdate.bind(this),this.handleTotalsUpdate=this.handleTotalsUpdate.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleCustomColumnsChanged=this.handleCustomColumnsChanged.bind(this),this.dh=e,this.irisFormatter=n,this.irisGridUtils=new B(e),this.inputTable=i,this.subscription=null,this.table=t,this.tableUtils=new j(e),this.viewport=null,this.viewportData=null,this.formattedStringData=[],this.pendingStringData=[],this.isSaveInProgress=!1,this.totalsTable=null,this.totalsTablePromise=null,this.totals=null,this.totalsDataMap=null,this.pendingNewDataMap=new Map,this.pendingNewRowCount=0}close(){this.table.close(),this.totalsTable!==null&&this.totalsTable.close(),this.totalsTablePromise!==null&&this.totalsTablePromise.cancel()}startListening(){super.startListening();var{dh:e}=this;this.table.addEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.addEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.addEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.addEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable),this.applyViewport()}stopListening(){super.stopListening();var{dh:e}=this;this.table.removeEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.removeEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.removeEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.removeEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.removeTotalsListeners(this.totalsTable),this.closeSubscription()}addTotalsListeners(e){var{dh:t}=this;e.addEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate),e.setViewport(0,0)}removeTotalsListeners(e){var{dh:t}=this;e.removeEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate)}handleTableDisconnect(){this.dispatchEvent(new H(k.EVENT.DISCONNECT))}handleTableReconnect(){this.dispatchEvent(new H(k.EVENT.RECONNECT))}handleTableUpdate(e){this.copyViewportData(e.detail),this.dispatchEvent(new H(k.EVENT.UPDATED))}handleTotalsUpdate(e){this.copyTotalsData(e.detail),this.dispatchEvent(new H(k.EVENT.UPDATED))}handleRequestFailed(e){this.dispatchEvent(new H(k.EVENT.REQUEST_FAILED,e))}handleCustomColumnsChanged(){this.dispatchEvent(new H(k.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get rowCount(){var e,t,n;return Math.max(this.table.size,0)+this.pendingNewRowCount+((e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0)}get pendingDataErrors(){var e,t;return this.getCachedPendingErrors(this.pendingNewDataMap,this.columns,(e=(t=this.inputTable)===null||t===void 0?void 0:t.keyColumns.length)!==null&&e!==void 0?e:0)}get pendingDataMap(){return this.pendingNewDataMap}set pendingDataMap(e){e!==this.pendingNewDataMap&&(e.forEach((t,n)=>{if(!B.isValidIndex(n))throw new Error("Invalid rowIndex ".concat(n));var{data:i}=t;i.forEach((a,l)=>{if(!B.isValidIndex(l))throw new Error("Invalid columnIndex ".concat(l))})}),this.pendingNewDataMap=e,this.pendingNewRowCount=Math.max(this.pendingNewRowCount,this.maxPendingDataRow),this.formattedStringData=[],this.dispatchEvent(new H(k.EVENT.PENDING_DATA_UPDATED)))}get pendingRowCount(){return this.pendingNewRowCount}set pendingRowCount(e){e!==this.pendingNewRowCount&&(this.pendingNewRowCount=Math.max(0,e,this.maxPendingDataRow),this.dispatchEvent(new H(k.EVENT.UPDATED)))}get maxPendingDataRow(){return this.pendingNewDataMap.size>0?Math.max(...this.pendingNewDataMap.keys())+1:0}get columnCount(){return this.columns.length}get floatingBottomRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop?0:(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get floatingTopRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop&&(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get isChartBuilderAvailable(){return!0}get isTotalsAvailable(){return this.table.getTotalsTable!=null}get isEditable(){return!this.isSaveInProgress&&this.inputTable!=null}get isDeletable(){if(this.inputTable!==null){var e;return((e=this.inputTable)===null||e===void 0?void 0:e.keyColumns.length)>0}return!1}get isViewportPending(){if(this.viewport==null||this.viewport.columns===void 0||this.viewportData==null)return!0;if(this.viewport.columns.length===0||this.viewportData.rows.length===0)return!1;var e=this.viewport.top<this.viewportData.offset,t=this.viewportData.offset+this.viewportData.rows.length<this.viewport.bottom,n=this.viewportData.rows[0].data.get(this.viewport.columns[0].index)===void 0,i=this.viewportData.rows[0].data.get(this.viewport.columns[this.viewport.columns.length-1].index)===void 0;return e||t||n||i}cacheFormattedValue(e,t,n){this.formattedStringData[e]==null&&(this.formattedStringData[e]=[]),this.formattedStringData[e][t]=n}cachePendingValue(e,t,n){this.pendingStringData[e]==null&&(this.pendingStringData[e]=[]),this.pendingStringData[e][t]=n}clearPendingValue(e,t){var n=this.pendingStringData[e];n!=null&&delete n[t]}textValueForCell(e,t){var n,i;if(((n=this.pendingStringData[e])===null||n===void 0?void 0:n[t])!==void 0)return this.pendingStringData[e][t];if(((i=this.formattedStringData[e])===null||i===void 0?void 0:i[t])===void 0){var a=this.valueForCell(e,t);if(a===null)return null;if(a===void 0)return;var l=this.sourceColumn(e,t),s=this.getCachedCustomColumnFormatFlag(this.formatter,l.name,l.type),o;if(!s){var d=this.formatForCell(e,t);d?.formatString!=null&&(o=d)}var h=this.displayString(a,l.type,l.name,o);this.cacheFormattedValue(e,t,h)}return this.formattedStringData[e][t]}textForCell(e,t){var n,i=this.textValueForCell(e,t);if(i==null&&this.isKeyColumn(e)){var a=this.pendingRow(t);if(a!=null&&this.pendingDataMap.has(a))return"*"}if(j.isTextType((n=this.columns[e])===null||n===void 0?void 0:n.type)){if(i===null)return this.formatter.showNullStrings?"null":"";if(i==="")return this.formatter.showEmptyStrings?"empty":""}return i??""}truncationCharForCell(e){var t=this.columns[e],{type:n}=t;if(j.isNumberType(n)&&this.formatter.truncateNumbersWithPound)return"#"}colorForCell(e,t,n){var i=this.dataForCell(e,t);if(i){var{format:a,value:l}=i;if(l==null||l==="")return M(n.nullStringColor),n.nullStringColor;if(a?.color!=null&&a.color!=="")return a.color;if(this.isPendingRow(t))return M(n.pendingTextColor),n.pendingTextColor;if(l!=null){var s=this.sourceColumn(e,t);if(j.isDateType(s.type)||s.name==="Date")return M(n.dateColor),n.dateColor;if(j.isNumberType(s.type))return l>0?(M(n.positiveNumberColor),n.positiveNumberColor):l<0?(M(n.negativeNumberColor),n.negativeNumberColor):(M(n.zeroNumberColor),n.zeroNumberColor)}}else if(this.isPendingRow(t)&&this.isKeyColumn(e))return M(n.errorTextColor),n.errorTextColor;return n.textColor}backgroundColorForCell(e,t,n){var i,a;return(i=(a=this.formatForCell(e,t))===null||a===void 0?void 0:a.backgroundColor)!==null&&i!==void 0?i:null}textAlignForCell(e){var t=this.columns[e],{type:n}=t;return j.isNumberType(n)?"right":j.isDateType(n)||t.name==="Date"?"center":"left"}textForColumnHeader(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=this.columnAtDepth(e,n);return ln(i)?i.isNew?"":i.name:(t=i?.displayName)!==null&&t!==void 0?t:i?.name}colorForColumnHeader(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=this.columnAtDepth(e,t);if(ln(n)){var i;return(i=n.color)!==null&&i!==void 0?i:null}return null}getColumnHeaderGroup(e,t){var n=this.columnAtDepth(e,t);if(ln(n))return n}getColumnHeaderParentGroup(e,t){var n,i;return this.columnHeaderParentMap.get((n=(i=this.columnAtDepth(e,t))===null||i===void 0?void 0:i.name)!==null&&n!==void 0?n:"")}columnAtDepth(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(n===0)return this.columns[e];var i=(t=this.columns[e])===null||t===void 0?void 0:t.name,a=this.columnHeaderParentMap.get(i);if(a){for(var l=a.depth;l<n;){if(a=this.columnHeaderParentMap.get(a.name),!a)return;l=a.depth}if(a.depth===n)return a}}textForRowFooter(e){var t=this.totalsRow(e);return t!=null&&this.totals?this.totals.operationOrder[t]:""}get initialMovedColumns(){var e;return this.getMemoizedInitialMovedColumns((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get initialColumnHeaderGroups(){var e;return this.getMemoizedInitialColumnHeaderGroups((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get columnMap(){return this.getMemoizedColumnMap(this.table.columns)}get columnHeaderMaxDepth(){var e;return(e=this._columnHeaderMaxDepth)!==null&&e!==void 0?e:1}set columnHeaderMaxDepth(e){this._columnHeaderMaxDepth=e}get columnHeaderGroupMap(){return this.initializeColumnHeaderGroups(),this._columnHeaderGroupMap}get columnHeaderGroups(){return this.initializeColumnHeaderGroups(),this._columnHeaderGroups}set columnHeaderGroups(e){if(e!==this._columnHeaderGroups){var{groups:t,maxDepth:n,parentMap:i,groupMap:a}=B.parseColumnHeaderGroups(this,e??this.initialColumnHeaderGroups);this._columnHeaderGroups=t,this.columnHeaderMaxDepth=n,this.columnHeaderParentMap=i,this._columnHeaderGroupMap=a,this._isColumnHeaderGroupsInitialized=!0}}initializeColumnHeaderGroups(){if(!this._isColumnHeaderGroupsInitialized){var e,t;this.columnHeaderGroups=B.parseColumnHeaderGroups(this,(e=(t=this.layoutHints)===null||t===void 0?void 0:t.columnGroups)!==null&&e!==void 0?e:[]).groups}}row(e){var t,n,i,a,l,s,o,d,h,c,m=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,p=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,g=this.totalsRow(e);if(g!=null){var v,f,C,S=(v=this.totals)===null||v===void 0?void 0:v.operationOrder[g];return M(S),(f=(C=this.totalsDataMap)===null||C===void 0?void 0:C.get(S))!==null&&f!==void 0?f:null}var b=this.pendingRow(e);if(b!=null){var w;return(w=this.pendingNewDataMap.get(b))!==null&&w!==void 0?w:null}var y=(s=(o=this.viewportData)===null||o===void 0?void 0:o.offset)!==null&&s!==void 0?s:0,E=(p?e-m:e)-y;return(d=(h=this.viewportData)===null||h===void 0||(c=h.rows)===null||c===void 0?void 0:c[E])!==null&&d!==void 0?d:null}sourceColumn(e,t){var n=this.totalsRow(t);if(n!=null){var i,a,l,s,o=(i=this.totals)===null||i===void 0?void 0:i.operationOrder[n],d=(a=(l=this.totals)===null||l===void 0?void 0:l.defaultOperation)!==null&&a!==void 0?a:zn.SUM,h=this.columns[e],c=(s=this.totalsTable)===null||s===void 0?void 0:s.columns.find(m=>{var p;return m.name==="".concat(h.name,"__").concat(o)||(o===d||((p=this.totals)===null||p===void 0?void 0:p.operationOrder.length)===1)&&m.name===h.name});if(c!=null)return c}return this.columns[e]}totalsRow(e){var t,n,i,a,l,s=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,o=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,d=o?e:e-this.table.size;return d>=0&&d<s?d:null}pendingRow(e){var t=e-this.floatingTopRowCount-this.table.size;return t>=0&&t<this.pendingNewRowCount?t:null}isTotalsRow(e){return this.totalsRow(e)!=null}isPendingRow(e){return this.pendingRow(e)!=null}dataForCell(e,t){var n;return(n=this.row(t))===null||n===void 0?void 0:n.data.get(e)}formatForCell(e,t){var n;return(n=this.dataForCell(e,t))===null||n===void 0?void 0:n.format}valueForCell(e,t){var n=this.dataForCell(e,t);if(n){var i;return(i=n.value)!==null&&i!==void 0?i:null}}copyViewportData(e){if(e==null){z.warn("invalid data!");return}this.viewportData=this.extractViewportData(e),this.formattedStringData=[]}copyTotalsData(e){var t,n,i,a=this;if(e==null){z.warn("invalid data!");return}var{columns:l,rows:s}=e;if(s.length!==1){z.error("Unexpected number of rows received for totals table, ignoring update");return}for(var o=new Map,d=s[0],h=(t=(n=this.totals)===null||n===void 0?void 0:n.defaultOperation)!==null&&t!==void 0?t:zn.SUM,c=(i=this.totals)===null||i===void 0?void 0:i.operationMap,m=function(){var v,f,C=l[p],[S,b=(v=c==null||(f=c[S])===null||f===void 0?void 0:f[0])!==null&&v!==void 0?v:h]=C.name.split("__");o.has(b)||o.set(b,{data:new Map});var{data:w}=o.get(b),y=a.columns.findIndex(E=>E.name===S);w.set(y,{value:d.get(C),format:d.getFormat(C)})},p=0;p<l.length;p+=1)m();z.debug2("copyTotalsData",o),this.totalsDataMap=o,this.formattedStringData=[]}getColumnIndexByName(e){return this.getColumnIndicesByNameMap(this.columns).get(e)}extractViewportData(e){for(var t={offset:e.offset,rows:[]},{columns:n}=e,i=0;i<e.rows.length;i+=1){var a=e.rows[i],l=this.extractViewportRow(a,n);t.rows.push(l)}return t}extractViewportRow(e,t){for(var n=new Map,i=0;i<t.length;i+=1){var a=t[i],l=this.getColumnIndexByName(a.name);M(l),n.set(l,{value:e.get(a),format:e.getFormat(a)})}return{data:n}}closeSubscription(){z.debug2("closeSubscription",this.subscription),this.subscription&&(this.subscription.close(),this.subscription=null),this.setViewport.cancel(),this.applyViewport.cancel()}get filter(){return this.table.filter}set filter(e){this.closeSubscription(),this.table.applyFilter(e),this.applyViewport()}get formatter(){return this.irisFormatter}set formatter(e){this.irisFormatter=e,this.formattedStringData=[],this.dispatchEvent(new H(k.EVENT.FORMATTER_UPDATED))}displayString(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",i=arguments.length>3?arguments[3]:void 0;return this.getCachedFormattedString(this.formatter,e,t,n,i)}get sort(){return this.table.sort}set sort(e){this.closeSubscription(),this.table.applySort(e),this.applyViewport()}set totalsConfig(e){if(z.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 H(k.EVENT.UPDATED));return}this.totalsTablePromise=Fe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Fe.isCanceled(t)||(z.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new H(k.EVENT.REQUEST_FAILED,{detail:t})))})}}setTotalsTable(e){z.debug("setTotalsTable",e),this.totalsTable!==null&&(this.listenerCount>0&&this.removeTotalsListeners(this.totalsTable),this.totalsTable.close()),this.totalsTable=e,this.totalsDataMap=null,this.listenerCount>0&&this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable)}applyBufferedViewport(e,t,n){if(this.dispatchEvent(new H(k.EVENT.VIEWPORT_UPDATED)),z.debug2("applyBufferedViewport",e,t,n),this.subscription==null){var i;z.debug2("applyBufferedViewport creating new subscription"),this.subscription=(i=this.table.setViewport(e,t,n))!==null&&i!==void 0?i:null}else z.debug2("applyBufferedViewport using existing subscription"),this.subscription.setViewport(e,t,n)}snapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:P=>P,l=t.length>3&&t[3]!==void 0?t[3]:!0;if(n.subscription==null)throw new Error("No subscription available");var s=l?G.consolidate(e):e;if(!B.isValidSnapshotRanges(s))throw new Error("Invalid snapshot ranges ".concat(e));for(var o=new Set,d=[],h=new Set,c=0;c<s.length;c+=1){var m=s[c];M(m.endRow),M(m.startRow);for(var p=m.startRow;p<=m.endRow&&p<n.floatingTopRowCount;p+=1)o.add(p);m.endRow>=n.floatingTopRowCount&&m.startRow<=n.floatingTopRowCount+n.table.size&&d.push(new G(m.startColumn,Math.min(Math.max(0,m.startRow-n.floatingTopRowCount)),m.endColumn,Math.min(Math.max(0,m.endRow-n.floatingTopRowCount),n.table.size-n.floatingTopRowCount)));for(var g=Math.max(m.startRow,n.floatingTopRowCount+n.table.size);g<=m.endRow&&g<n.floatingTopRowCount+n.table.size+n.floatingBottomRowCount;g+=1)h.add(g)}var v=B.columnsFromRanges(s,n.columns),f=[];i&&f.push(v.map(P=>P.name));for(var C=[...o].sort(),S=function*(){var N=C[b],x=v.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&x.push(n.textForRowFooter(N)),f.push(x)},b=0;b<C.length;b+=1)yield*S();if(d.length>0){var w=n.irisGridUtils.rangeSetFromRanges(d),y=yield n.subscription.snapshot(w,v);f.push(...y.rows.map(P=>v.map(N=>a(P.get(N),N))))}for(var E=[...h].sort(),D=function*(){var N=E[F],x=v.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&x.push(n.textForRowFooter(N)),f.push(x)},F=0;F<E.length;F+=1)yield*D();return f})()}textSnapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:s=>"".concat(s);z.debug2("textSnapshot",e,i);var l=yield n.snapshot(e,i,a,!1);return l.map(s=>s.join(" ")).join(`
|
|
1
|
+
import{r as T,I as u,K as ce,T as Ze,U as ue,bb as aa,a3 as jn,a2 as _,bc as Wr,V as R,L as he,Q as Ye,M as se,a1 as be,Y as la,b0 as sa,ai as Rt}from"./vendor-42b82a60.js";import{F as _e,c as j,cj as H,P as Fe,al as le,ck as an,bI as O,J as oa,bO as qr,ad as da,ao as Zr,cl as Ft,cm as Pe,_ as Yr,cn as fn,co as Xr,M as ge,ag as X,x as pn,cp as Bt,bW as Qr,a3 as gn,cq as zt,cr as Kt,cs as Wt,ct as Dt,cu as qt,S as yt,B as $,cv as Cn,i as Jr,b as ei,a9 as ua,ae as ha,cw as ti,cx as ni,aY as ca,ah as ie,bV as pa,cy as Vn,aq as ma,as as va,u as ht,b7 as fa,o as ri,w as ga,c3 as Ge,bS as Mt,bK as Te,a1 as Ca,aF as ii,ce as ba,cc as Sa,T as Ct,N as wa,s as Ea,G as ya,cz as ai,cA as li,cB as si,cC as oi,bb as Pa,bU as Ta,bY as Fa,ai as di,c2 as Da,bT as Ma,Y as Na,cD as La,W as Oa,an as Ra,L as Ia,Z as ka,X as _a,af as xa,aj as Aa,cE as ja,a7 as Va,cF as $a,a8 as Ua,ax as Ga,cG as Ha,ay as Ba}from"./ControlType-17bce983.js";import{L as Z,e as M,aj as za,ak as Ka,F as bn,al as Wa,am as qa,an as ui,f as Sn,ao as hi,ap as $n,u as Un,g as Za,A as Ya,M as Xa,b as Qa,c as Ja,I as ci,aq as el,ar as tl,d as nl,as as rl,at as il}from"./index-65dd7b54.js";import{C as al,b as te,c as k,m as Gn,d as G,G as pt,i as Ae,e as Be,B as Hn,S as pi,L as mi,R as ll,a as Bn,I as wn}from"./IrisGridModel-9ae353b6.js";import{I as B,f as ln,g as zn,M as Kn,h as sl,e as ze,j as It,A as ol,k as dl,l as ul,m as hl}from"./MissingPartitionError-d32eff17.js";import{F as mn}from"./FormatterUtils-4bc01d78.js";import{_ as cl}from"./monaco-b5248072.js";function En(r){var{className:e,isFlipped:t,children:n,"data-testid":i}=r,a=d=>{if(n.length!==2)throw new Error("CardFlip requires 2 children to function");return n[d]},l=T.useRef(null),s=T.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=T.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return T.useEffect(function(){if(!l.current)throw Error("ref undefined");l.current.addEventListener("transitionstart",s);var h=l.current;return function(){if(h!=null)return h.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:ce(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":i,children:[u.jsx("div",{className:"card-flip--back",children:a(0)}),u.jsx("div",{ref:l,className:"card-flip--front",onTransitionEnd:o,children:a(1)})]})}function Wn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function qn(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wn(Object(t),!0).forEach(function(n){q(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Wn(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function q(r,e,t){return e=pl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function pl(r){var e=ml(r,"string");return typeof e=="symbol"?e:String(e)}function ml(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Q=Z.module("FigureChartModel");class Zt extends al{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,q(this,"chartUtils",void 0),q(this,"dh",void 0),q(this,"figure",void 0),q(this,"settings",void 0),q(this,"data",void 0),q(this,"layout",void 0),q(this,"seriesDataMap",void 0),q(this,"pendingSeries",void 0),q(this,"oneClicks",void 0),q(this,"filterColumnMap",void 0),q(this,"lastFilter",void 0),q(this,"isConnected",void 0),q(this,"seriesToProcess",void 0),q(this,"addPendingSeries",Ze(()=>{for(var a=te.getAxisTypeMap(this.figure),{pendingSeries:l}=this,s=function(){var h,c=l[o],m=n.figure.charts.find(p=>p.series.includes(c));n.addSeries(c,a,(h=m?.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},Zt.ADD_SERIES_DEBOUNCE)),q(this,"getTimeZone",ue((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}})),q(this,"getValueTranslator",ue((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)})),q(this,"getValueParser",ue((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)})),q(this,"getRangeParser",ue((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]})),q(this,"getAxisRangeParser",ue((a,l)=>s=>{var o=te.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d})),this.handleFigureUpdated=this.handleFigureUpdated.bind(this),this.handleFigureDisconnected=this.handleFigureDisconnected.bind(this),this.handleFigureReconnected=this.handleFigureReconnected.bind(this),this.handleFigureSeriesAdded=this.handleFigureSeriesAdded.bind(this),this.handleDownsampleStart=this.handleDownsampleStart.bind(this),this.handleDownsampleFinish=this.handleDownsampleFinish.bind(this),this.handleDownsampleFail=this.handleDownsampleFail.bind(this),this.handleDownsampleNeeded=this.handleDownsampleNeeded.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.dh=e,this.chartUtils=new te(e),this.figure=t,this.settings=i,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=te.getAxisTypeMap(this.figure),i=[];this.seriesToProcess=new Set;for(var a=function(){for(var m=t[l],p=0;p<m.series.length;p+=1){var g=m.series[p];i.push(g.name),e.addSeries(g,n,m.showLegend)}var{axes:v,title:f}=m;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var C=v.find(N=>N.type===e.dh.plot.AxisType.X),S=v.find(N=>N.type===e.dh.plot.AxisType.Y);if(C==null||S==null)Q.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",m);else{var b,w,y,E,D=((b=(w=n.get(C.type))===null||w===void 0?void 0:w.findIndex(N=>N===C))!==null&&b!==void 0?b:0)+1,F=((y=(E=n.get(S.type))===null||E===void 0?void 0:E.findIndex(N=>N===S))!==null&&y!==void 0?y:0)+1,P={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(D," domain"),yref:"y".concat(F," domain")};e.layout.annotations==null?e.layout.annotations=[P]:e.layout.annotations.push(P)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>i.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var i,a,{dh:l}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,te.getSeriesVisibility(e.name,this.settings),n,(i=(a=this.renderOptions)===null||a===void 0?void 0:a.webgl)!==null&&i!==void 0?i:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===l.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===l.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=te.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===l.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:o}=e,{columns:d}=o,h=0;h<d.length;h+=1)this.filterColumnMap.set(d[h].name,d[h]);this.oneClicks.push(o)}this.updateLayoutFormats()}subscribe(e){super.subscribe(e),this.listeners.length===1&&(this.initAllSeries(),this.subscribeFigure())}unsubscribe(e){super.unsubscribe(e),this.listeners.length===0&&this.unsubscribeFigure()}subscribeFigure(){if(!this.isConnected){Q.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&&(Q.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){Q.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){Q.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){Q.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){Q.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;Q.debug2("handleFigureUpdated",n);for(var i=0;i<n.length;i+=1){var a=n[i];Q.debug2("handleFigureUpdated updating series",a.name);for(var{sources:l}=a,s=0;s<l.length;s+=1){var o=l[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),m=t.getArray(a,h,c);this.setDataArrayForSeries(a,h,m)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:p}=this;this.fireUpdate(p)}handleRequestFailed(e){Q.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){Q.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){Q.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;Q.debug("handleFigureSeriesAdded",t),this.pendingSeries.push(t),this.addPendingSeries()}setDimensions(e){super.setDimensions(e),this.updateAxisPositions()}setTitle(e){var t,n;super.setTitle(e);var i=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,a=te.DEFAULT_MARGIN.t+i*te.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=qn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=qn({},this.layout.title.pad),this.layout.title.pad.t=te.DEFAULT_TITLE_PADDING.t+i*te.SUBTITLE_LINE_HEIGHT*.5)}getPlotWidth(){var e,t,n,i;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,i;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{Q.debug("Assigning ".concat(n),this.layout[n],t);var i=this.layout[n];i!=null?Object.assign(i,t):Q.debug("Ignoring null layout.".concat(n))})}}setDataArrayForSeries(e,t,n){var{name:i,plotStyle:a}=e,l=this.seriesDataMap.get(i),s=this.chartUtils.getPlotlyProperty(a,t);l&&aa(l,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:i}=e,a=this.seriesDataMap.get(n);if(a!=null){if(i===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:l,xHigh:s}=a;if(l&&s&&l.length===s.length){for(var o=[],d=0;d<l.length;d+=1)o.push(s[d]-l[d]);a.width=o}}else if(i===t.plot.SeriesPlotStyle.LINE||i===t.plot.SeriesPlotStyle.ERROR_BAR||i===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:m,y:p,yLow:g,yHigh:v}=a;c&&m&&c!==h&&(a.error_x=te.getPlotlyErrorBars(h,c,m)),g&&v&&g!==p&&(a.error_y=te.getPlotlyErrorBars(p,g,v))}else if(i===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:C}=a;f!==void 0&&C===void 0&&(a.labels=f)}}}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){return new Map(this.filterColumnMap)}isFilterRequired(){return this.oneClicks.find(e=>e.requireAllFiltersToDisplay)!=null}setFilter(e){var t=this;if(this.oneClicks.length===0){Q.warn("Trying to set a filter, but no one click!");return}Q.debug("setFilter",e);for(var n=function(){var l=t.oneClicks[i],{columns:s}=l,o=new Set([...e.keys(),...t.lastFilter.keys()]);o.forEach(d=>{var h=e.get(d);t.lastFilter.get(d)!==h&&s.find(c=>c.name===d)!=null&&l.setValueForColumn(d,h)})},i=0;i<this.oneClicks.length;i+=1)n();this.lastFilter=new Map(e)}setFigure(e){this.close(),this.figure=e,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure(),this.listeners.length>0&&this.subscribeFigure()}updateSettings(e){this.settings=e}}q(Zt,"ADD_SERIES_DEBOUNCE",50);const Zn=Zt;function Yn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function sn(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Yn(a,n,i,l,s,"next",o)}function s(o){Yn(a,n,i,l,s,"throw",o)}l(void 0)})}}class yn{static makeModelFromSettings(e,t,n){return sn(function*(){var i=yield yn.makeFigureFromSettings(e,t,n);return new Zn(e,i,t)})()}static makeFigureFromSettings(e,t,n){return sn(function*(){var i=yield n.copy();return i.applyCustomColumns(n.customColumns),i.applyFilter(n.filter),i.applySort(n.sort),e.plot.Figure.create(new te(e).makeFigureSettings(t,i))})()}static makeModel(e,t,n){return sn(function*(){return new Zn(e,n,t)})()}}const St=yn;function Xn(r){return r.setFigure!==void 0}function on(r,e,t){return e=vl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function vl(r){var e=fl(r,"string");return typeof e=="symbol"?e:String(e)}function fl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class gl extends Error{constructor(e,t){super("".concat(t," can't be empty (on pending row ").concat(e+1,")")),on(this,"isMissingKey",!0),on(this,"rowIndex",void 0),on(this,"columnName",void 0),this.rowIndex=e,this.columnName=t}}const Cl=gl;function Qn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function kt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qn(Object(t),!0).forEach(function(n){I(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Qn(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Jn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function je(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Jn(a,n,i,l,s,"next",o)}function s(o){Jn(a,n,i,l,s,"throw",o)}l(void 0)})}}function I(r,e,t){return e=bl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function bl(r){var e=Sl(r,"string");return typeof e=="symbol"?e:String(e)}function Sl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var z=Z.module("IrisGridTableModelTemplate"),wl=150,El=0;function qe(r){return r.table!==void 0}class Pt extends k{seekRow(e,t,n,i,a,l,s){throw new Error("Method not implemented.")}export(){throw new Error("Method not implemented.")}columnStatistics(e){throw new Error("Method not implemented.")}get customColumns(){return[]}set customColumns(e){throw new Error("Method not implemented.")}get formatColumns(){return[]}set formatColumns(e){throw new Error("Method not implemented.")}updateFrozenColumns(e){throw new Error("Method not implemented.")}get rollupConfig(){throw new Error("Method not implemented.")}set rollupConfig(e){throw new Error("Method not implemented.")}get selectDistinctColumns(){throw new Error("Method not implemented.")}set selectDistinctColumns(e){throw new Error("Method not implemented.")}get columns(){return this.table.columns}constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new _e(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),I(this,"dh",void 0),I(this,"irisGridUtils",void 0),I(this,"tableUtils",void 0),I(this,"irisFormatter",void 0),I(this,"inputTable",void 0),I(this,"subscription",void 0),I(this,"table",void 0),I(this,"viewport",void 0),I(this,"viewportData",void 0),I(this,"formattedStringData",void 0),I(this,"pendingStringData",void 0),I(this,"isSaveInProgress",void 0),I(this,"totalsTable",void 0),I(this,"totalsTablePromise",void 0),I(this,"totals",void 0),I(this,"totalsDataMap",void 0),I(this,"pendingNewDataMap",void 0),I(this,"pendingNewRowCount",0),I(this,"_columnHeaderGroupMap",new Map),I(this,"columnHeaderParentMap",new Map),I(this,"_columnHeaderMaxDepth",null),I(this,"_columnHeaderGroups",[]),I(this,"_isColumnHeaderGroupsInitialized",!1),I(this,"_movedColumns",null),I(this,"getMemoizedInitialMovedColumns",_(a=>{var l,s,o,d;if(!a)return[];var h=[],{groupMap:c}=B.parseColumnHeaderGroups(this,(l=a?.columnGroups)!==null&&l!==void 0?l:[]),m=(E,D)=>{var F=this.getColumnIndexByName(E);if(F==null)throw new Error("Unknown layout hint column: ".concat(E));var P=pt.getVisibleIndex(F,h);h=pt.moveItem(P,D,h)},p=(E,D)=>{var F=c.get(E);if(F==null)throw new Error("Unknown layout hint group: ".concat(E));var P=F.getVisibleRange(h);h=pt.moveRange(P,D,h)},g=(s=a.frontColumns)!==null&&s!==void 0?s:[],v=(o=a.backColumns)!==null&&o!==void 0?o:[],f=(d=a.frozenColumns)!==null&&d!==void 0?d:[];if(g.length>0||v.length>0||f.length>0){var C=new Set,S=0;f?.forEach(E=>{if(C.has(E))throw new Error("Column specified in multiple layout hints: ".concat(E));m(E,S),S+=1}),g.forEach(E=>{if(C.has(E))throw new Error("Column specified in multiple layout hints: ".concat(E));m(E,S),S+=1});var b=this.columnMap.size-1;v?.forEach(E=>{if(C.has(E))throw new Error("Column specified in multiple layout hints: ".concat(E));m(E,b),b-=1})}var w=a?.columnGroups;if(w){var y=[...c.values()];y.sort((E,D)=>E.depth-D.depth),y.forEach(E=>{var D=E.children[0],F=this.getColumnIndexByName(D),P;if(F!=null)P=pt.getVisibleIndex(F,h);else{var N=c.get(D);if(!N)throw new Error("Unknown column ".concat(D," in group ").concat(E.name));var x=N.getVisibleRange(h);[,P]=x}for(var A=1;A<E.children.length;A+=1){var V=E.children[A],U=c.get(V),oe=this.getColumnIndexByName(V);if(U){var De=U.getVisibleRange(h)[0]<P,Se=De?P-U.childIndexes.length+1:P+1;p(V,Se),P=Se+U.childIndexes.length-1}else if(oe!=null){var Me=pt.getVisibleIndex(oe,h)<P,pe=Me?P:P+1;m(V,pe),P=pe}}})}return this._movedColumns=h,h})),I(this,"getMemoizedInitialColumnHeaderGroups",_(a=>{var l;return B.parseColumnHeaderGroups(this,(l=a?.columnGroups)!==null&&l!==void 0?l:[]).groups})),I(this,"getMemoizedColumnMap",_(a=>{var l=new Map;return a.forEach(s=>l.set(s.name,s)),l})),I(this,"getColumnIndicesByNameMap",_(a=>{var l=new Map;return a.forEach((s,o)=>{var{name:d}=s;return l.set(d,o)}),l})),I(this,"setViewport",jn((a,l,s)=>{if(l<a){z.error("Invalid viewport",a,l);return}var{viewport:o}=this;if(o!=null&&o.top===a&&o.bottom===l&&o.columns===s){z.debug2("Ignoring duplicate viewport",o);return}this.viewport={top:a,bottom:l,columns:s},z.debug2("setViewport",this.viewport),this.applyViewport()},wl)),I(this,"applyViewport",jn(()=>{if(this.viewport){z.debug2("applyViewport",this.viewport);var{top:a,bottom:l,columns:s}=this.viewport,[o,d]=this.getCachedViewportRowRange(a,l);this.applyBufferedViewport(o,d,s)}},El,{leading:!1})),I(this,"getCachedFormattedString",Gn((a,l,s,o,d)=>a.getFormattedString(l,s,o,d),{max:1e4})),I(this,"getCachedCustomColumnFormatFlag",Gn(mn.isCustomColumnFormatDefined,{max:1e4})),I(this,"getCachedViewportRowRange",_((a,l)=>{var s=l-a,o=Math.max(0,a-s*Pt.ROW_BUFFER_PAGES),d=l+s*Pt.ROW_BUFFER_PAGES;return[o,d]})),I(this,"getCachedPendingErrors",_((a,l,s)=>{var o=new Map;return a.forEach((d,h)=>{for(var{data:c}=d,m=0;m<s;m+=1)if(!c.has(m)){var p;o.has(h)||o.set(h,[]),(p=o.get(h))===null||p===void 0||p.push(new Cl(h,l[m].name))}}),o})),this.handleTableDisconnect=this.handleTableDisconnect.bind(this),this.handleTableReconnect=this.handleTableReconnect.bind(this),this.handleTableUpdate=this.handleTableUpdate.bind(this),this.handleTotalsUpdate=this.handleTotalsUpdate.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleCustomColumnsChanged=this.handleCustomColumnsChanged.bind(this),this.dh=e,this.irisFormatter=n,this.irisGridUtils=new B(e),this.inputTable=i,this.subscription=null,this.table=t,this.tableUtils=new j(e),this.viewport=null,this.viewportData=null,this.formattedStringData=[],this.pendingStringData=[],this.isSaveInProgress=!1,this.totalsTable=null,this.totalsTablePromise=null,this.totals=null,this.totalsDataMap=null,this.pendingNewDataMap=new Map,this.pendingNewRowCount=0}close(){this.table.close(),this.totalsTable!==null&&this.totalsTable.close(),this.totalsTablePromise!==null&&this.totalsTablePromise.cancel()}startListening(){super.startListening();var{dh:e}=this;this.table.addEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.addEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.addEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.addEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable),this.applyViewport()}stopListening(){super.stopListening();var{dh:e}=this;this.table.removeEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.removeEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.removeEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.removeEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.removeTotalsListeners(this.totalsTable),this.closeSubscription()}addTotalsListeners(e){var{dh:t}=this;e.addEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate),e.setViewport(0,0)}removeTotalsListeners(e){var{dh:t}=this;e.removeEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate)}handleTableDisconnect(){this.dispatchEvent(new H(k.EVENT.DISCONNECT))}handleTableReconnect(){this.dispatchEvent(new H(k.EVENT.RECONNECT))}handleTableUpdate(e){this.copyViewportData(e.detail),this.dispatchEvent(new H(k.EVENT.UPDATED))}handleTotalsUpdate(e){this.copyTotalsData(e.detail),this.dispatchEvent(new H(k.EVENT.UPDATED))}handleRequestFailed(e){this.dispatchEvent(new H(k.EVENT.REQUEST_FAILED,e))}handleCustomColumnsChanged(){this.dispatchEvent(new H(k.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get rowCount(){var e,t,n;return Math.max(this.table.size,0)+this.pendingNewRowCount+((e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0)}get pendingDataErrors(){var e,t;return this.getCachedPendingErrors(this.pendingNewDataMap,this.columns,(e=(t=this.inputTable)===null||t===void 0?void 0:t.keyColumns.length)!==null&&e!==void 0?e:0)}get pendingDataMap(){return this.pendingNewDataMap}set pendingDataMap(e){e!==this.pendingNewDataMap&&(e.forEach((t,n)=>{if(!B.isValidIndex(n))throw new Error("Invalid rowIndex ".concat(n));var{data:i}=t;i.forEach((a,l)=>{if(!B.isValidIndex(l))throw new Error("Invalid columnIndex ".concat(l))})}),this.pendingNewDataMap=e,this.pendingNewRowCount=Math.max(this.pendingNewRowCount,this.maxPendingDataRow),this.formattedStringData=[],this.dispatchEvent(new H(k.EVENT.PENDING_DATA_UPDATED)))}get pendingRowCount(){return this.pendingNewRowCount}set pendingRowCount(e){e!==this.pendingNewRowCount&&(this.pendingNewRowCount=Math.max(0,e,this.maxPendingDataRow),this.dispatchEvent(new H(k.EVENT.UPDATED)))}get maxPendingDataRow(){return this.pendingNewDataMap.size>0?Math.max(...this.pendingNewDataMap.keys())+1:0}get columnCount(){return this.columns.length}get floatingBottomRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop?0:(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get floatingTopRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop&&(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get isChartBuilderAvailable(){return!0}get isTotalsAvailable(){return this.table.getTotalsTable!=null}get isEditable(){return!this.isSaveInProgress&&this.inputTable!=null}get isDeletable(){if(this.inputTable!==null){var e;return((e=this.inputTable)===null||e===void 0?void 0:e.keyColumns.length)>0}return!1}get isViewportPending(){if(this.viewport==null||this.viewport.columns===void 0||this.viewportData==null)return!0;if(this.viewport.columns.length===0||this.viewportData.rows.length===0)return!1;var e=this.viewport.top<this.viewportData.offset,t=this.viewportData.offset+this.viewportData.rows.length<this.viewport.bottom,n=this.viewportData.rows[0].data.get(this.viewport.columns[0].index)===void 0,i=this.viewportData.rows[0].data.get(this.viewport.columns[this.viewport.columns.length-1].index)===void 0;return e||t||n||i}cacheFormattedValue(e,t,n){this.formattedStringData[e]==null&&(this.formattedStringData[e]=[]),this.formattedStringData[e][t]=n}cachePendingValue(e,t,n){this.pendingStringData[e]==null&&(this.pendingStringData[e]=[]),this.pendingStringData[e][t]=n}clearPendingValue(e,t){var n=this.pendingStringData[e];n!=null&&delete n[t]}textValueForCell(e,t){var n,i;if(((n=this.pendingStringData[e])===null||n===void 0?void 0:n[t])!==void 0)return this.pendingStringData[e][t];if(((i=this.formattedStringData[e])===null||i===void 0?void 0:i[t])===void 0){var a=this.valueForCell(e,t);if(a===null)return null;if(a===void 0)return;var l=this.sourceColumn(e,t),s=this.getCachedCustomColumnFormatFlag(this.formatter,l.name,l.type),o;if(!s){var d=this.formatForCell(e,t);d?.formatString!=null&&(o=d)}var h=this.displayString(a,l.type,l.name,o);this.cacheFormattedValue(e,t,h)}return this.formattedStringData[e][t]}textForCell(e,t){var n,i=this.textValueForCell(e,t);if(i==null&&this.isKeyColumn(e)){var a=this.pendingRow(t);if(a!=null&&this.pendingDataMap.has(a))return"*"}if(j.isTextType((n=this.columns[e])===null||n===void 0?void 0:n.type)){if(i===null)return this.formatter.showNullStrings?"null":"";if(i==="")return this.formatter.showEmptyStrings?"empty":""}return i??""}truncationCharForCell(e){var t=this.columns[e],{type:n}=t;if(j.isNumberType(n)&&this.formatter.truncateNumbersWithPound)return"#"}colorForCell(e,t,n){var i=this.dataForCell(e,t);if(i){var{format:a,value:l}=i;if(l==null||l==="")return M(n.nullStringColor),n.nullStringColor;if(a?.color!=null&&a.color!=="")return a.color;if(this.isPendingRow(t))return M(n.pendingTextColor),n.pendingTextColor;if(l!=null){var s=this.sourceColumn(e,t);if(j.isDateType(s.type)||s.name==="Date")return M(n.dateColor),n.dateColor;if(j.isNumberType(s.type))return l>0?(M(n.positiveNumberColor),n.positiveNumberColor):l<0?(M(n.negativeNumberColor),n.negativeNumberColor):(M(n.zeroNumberColor),n.zeroNumberColor)}}else if(this.isPendingRow(t)&&this.isKeyColumn(e))return M(n.errorTextColor),n.errorTextColor;return n.textColor}backgroundColorForCell(e,t,n){var i,a;return(i=(a=this.formatForCell(e,t))===null||a===void 0?void 0:a.backgroundColor)!==null&&i!==void 0?i:null}textAlignForCell(e){var t=this.columns[e],{type:n}=t;return j.isNumberType(n)?"right":j.isDateType(n)||t.name==="Date"?"center":"left"}textForColumnHeader(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=this.columnAtDepth(e,n);return ln(i)?i.isNew?"":i.name:(t=i?.displayName)!==null&&t!==void 0?t:i?.name}colorForColumnHeader(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=this.columnAtDepth(e,t);if(ln(n)){var i;return(i=n.color)!==null&&i!==void 0?i:null}return null}getColumnHeaderGroup(e,t){var n=this.columnAtDepth(e,t);if(ln(n))return n}getColumnHeaderParentGroup(e,t){var n,i;return this.columnHeaderParentMap.get((n=(i=this.columnAtDepth(e,t))===null||i===void 0?void 0:i.name)!==null&&n!==void 0?n:"")}columnAtDepth(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(n===0)return this.columns[e];var i=(t=this.columns[e])===null||t===void 0?void 0:t.name,a=this.columnHeaderParentMap.get(i);if(a){for(var l=a.depth;l<n;){if(a=this.columnHeaderParentMap.get(a.name),!a)return;l=a.depth}if(a.depth===n)return a}}textForRowFooter(e){var t=this.totalsRow(e);return t!=null&&this.totals?this.totals.operationOrder[t]:""}get initialMovedColumns(){var e;return this.getMemoizedInitialMovedColumns((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get initialColumnHeaderGroups(){var e;return this.getMemoizedInitialColumnHeaderGroups((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get columnMap(){return this.getMemoizedColumnMap(this.table.columns)}get columnHeaderMaxDepth(){var e;return(e=this._columnHeaderMaxDepth)!==null&&e!==void 0?e:1}set columnHeaderMaxDepth(e){this._columnHeaderMaxDepth=e}get columnHeaderGroupMap(){return this.initializeColumnHeaderGroups(),this._columnHeaderGroupMap}get columnHeaderGroups(){return this.initializeColumnHeaderGroups(),this._columnHeaderGroups}set columnHeaderGroups(e){if(e!==this._columnHeaderGroups){var{groups:t,maxDepth:n,parentMap:i,groupMap:a}=B.parseColumnHeaderGroups(this,e??this.initialColumnHeaderGroups);this._columnHeaderGroups=t,this.columnHeaderMaxDepth=n,this.columnHeaderParentMap=i,this._columnHeaderGroupMap=a,this._isColumnHeaderGroupsInitialized=!0}}initializeColumnHeaderGroups(){if(!this._isColumnHeaderGroupsInitialized){var e,t;this.columnHeaderGroups=B.parseColumnHeaderGroups(this,(e=(t=this.layoutHints)===null||t===void 0?void 0:t.columnGroups)!==null&&e!==void 0?e:[]).groups}}row(e){var t,n,i,a,l,s,o,d,h,c,m=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,p=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,g=this.totalsRow(e);if(g!=null){var v,f,C,S=(v=this.totals)===null||v===void 0?void 0:v.operationOrder[g];return M(S),(f=(C=this.totalsDataMap)===null||C===void 0?void 0:C.get(S))!==null&&f!==void 0?f:null}var b=this.pendingRow(e);if(b!=null){var w;return(w=this.pendingNewDataMap.get(b))!==null&&w!==void 0?w:null}var y=(s=(o=this.viewportData)===null||o===void 0?void 0:o.offset)!==null&&s!==void 0?s:0,E=(p?e-m:e)-y;return(d=(h=this.viewportData)===null||h===void 0||(c=h.rows)===null||c===void 0?void 0:c[E])!==null&&d!==void 0?d:null}sourceColumn(e,t){var n=this.totalsRow(t);if(n!=null){var i,a,l,s,o=(i=this.totals)===null||i===void 0?void 0:i.operationOrder[n],d=(a=(l=this.totals)===null||l===void 0?void 0:l.defaultOperation)!==null&&a!==void 0?a:zn.SUM,h=this.columns[e],c=(s=this.totalsTable)===null||s===void 0?void 0:s.columns.find(m=>{var p;return m.name==="".concat(h.name,"__").concat(o)||(o===d||((p=this.totals)===null||p===void 0?void 0:p.operationOrder.length)===1)&&m.name===h.name});if(c!=null)return c}return this.columns[e]}totalsRow(e){var t,n,i,a,l,s=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,o=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,d=o?e:e-this.table.size;return d>=0&&d<s?d:null}pendingRow(e){var t=e-this.floatingTopRowCount-this.table.size;return t>=0&&t<this.pendingNewRowCount?t:null}isTotalsRow(e){return this.totalsRow(e)!=null}isPendingRow(e){return this.pendingRow(e)!=null}dataForCell(e,t){var n;return(n=this.row(t))===null||n===void 0?void 0:n.data.get(e)}formatForCell(e,t){var n;return(n=this.dataForCell(e,t))===null||n===void 0?void 0:n.format}valueForCell(e,t){var n=this.dataForCell(e,t);if(n){var i;return(i=n.value)!==null&&i!==void 0?i:null}}copyViewportData(e){if(e==null){z.warn("invalid data!");return}this.viewportData=this.extractViewportData(e),this.formattedStringData=[]}copyTotalsData(e){var t,n,i,a=this;if(e==null){z.warn("invalid data!");return}var{columns:l,rows:s}=e;if(s.length!==1){z.error("Unexpected number of rows received for totals table, ignoring update");return}for(var o=new Map,d=s[0],h=(t=(n=this.totals)===null||n===void 0?void 0:n.defaultOperation)!==null&&t!==void 0?t:zn.SUM,c=(i=this.totals)===null||i===void 0?void 0:i.operationMap,m=function(){var v,f,C=l[p],[S,b=(v=c==null||(f=c[S])===null||f===void 0?void 0:f[0])!==null&&v!==void 0?v:h]=C.name.split("__");o.has(b)||o.set(b,{data:new Map});var{data:w}=o.get(b),y=a.columns.findIndex(E=>E.name===S);w.set(y,{value:d.get(C),format:d.getFormat(C)})},p=0;p<l.length;p+=1)m();z.debug2("copyTotalsData",o),this.totalsDataMap=o,this.formattedStringData=[]}getColumnIndexByName(e){return this.getColumnIndicesByNameMap(this.columns).get(e)}extractViewportData(e){for(var t={offset:e.offset,rows:[]},{columns:n}=e,i=0;i<e.rows.length;i+=1){var a=e.rows[i],l=this.extractViewportRow(a,n);t.rows.push(l)}return t}extractViewportRow(e,t){for(var n=new Map,i=0;i<t.length;i+=1){var a=t[i],l=this.getColumnIndexByName(a.name);M(l),n.set(l,{value:e.get(a),format:e.getFormat(a)})}return{data:n}}closeSubscription(){z.debug2("closeSubscription",this.subscription),this.subscription&&(this.subscription.close(),this.subscription=null),this.setViewport.cancel(),this.applyViewport.cancel()}get filter(){return this.table.filter}set filter(e){this.closeSubscription(),this.table.applyFilter(e),this.applyViewport()}get formatter(){return this.irisFormatter}set formatter(e){this.irisFormatter=e,this.formattedStringData=[],this.dispatchEvent(new H(k.EVENT.FORMATTER_UPDATED))}displayString(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",i=arguments.length>3?arguments[3]:void 0;return this.getCachedFormattedString(this.formatter,e,t,n,i)}get sort(){return this.table.sort}set sort(e){this.closeSubscription(),this.table.applySort(e),this.applyViewport()}set totalsConfig(e){if(z.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 H(k.EVENT.UPDATED));return}this.totalsTablePromise=Fe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Fe.isCanceled(t)||(z.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new H(k.EVENT.REQUEST_FAILED,{detail:t})))})}}setTotalsTable(e){z.debug("setTotalsTable",e),this.totalsTable!==null&&(this.listenerCount>0&&this.removeTotalsListeners(this.totalsTable),this.totalsTable.close()),this.totalsTable=e,this.totalsDataMap=null,this.listenerCount>0&&this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable)}applyBufferedViewport(e,t,n){if(this.dispatchEvent(new H(k.EVENT.VIEWPORT_UPDATED)),z.debug2("applyBufferedViewport",e,t,n),this.subscription==null){var i;z.debug2("applyBufferedViewport creating new subscription"),this.subscription=(i=this.table.setViewport(e,t,n))!==null&&i!==void 0?i:null}else z.debug2("applyBufferedViewport using existing subscription"),this.subscription.setViewport(e,t,n)}snapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:P=>P,l=t.length>3&&t[3]!==void 0?t[3]:!0;if(n.subscription==null)throw new Error("No subscription available");var s=l?G.consolidate(e):e;if(!B.isValidSnapshotRanges(s))throw new Error("Invalid snapshot ranges ".concat(e));for(var o=new Set,d=[],h=new Set,c=0;c<s.length;c+=1){var m=s[c];M(m.endRow),M(m.startRow);for(var p=m.startRow;p<=m.endRow&&p<n.floatingTopRowCount;p+=1)o.add(p);m.endRow>=n.floatingTopRowCount&&m.startRow<=n.floatingTopRowCount+n.table.size&&d.push(new G(m.startColumn,Math.min(Math.max(0,m.startRow-n.floatingTopRowCount)),m.endColumn,Math.min(Math.max(0,m.endRow-n.floatingTopRowCount),n.table.size-n.floatingTopRowCount)));for(var g=Math.max(m.startRow,n.floatingTopRowCount+n.table.size);g<=m.endRow&&g<n.floatingTopRowCount+n.table.size+n.floatingBottomRowCount;g+=1)h.add(g)}var v=B.columnsFromRanges(s,n.columns),f=[];i&&f.push(v.map(P=>P.name));for(var C=[...o].sort(),S=function*(){var N=C[b],x=v.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&x.push(n.textForRowFooter(N)),f.push(x)},b=0;b<C.length;b+=1)yield*S();if(d.length>0){var w=n.irisGridUtils.rangeSetFromRanges(d),y=yield n.subscription.snapshot(w,v);f.push(...y.rows.map(P=>v.map(N=>a(P.get(N),N))))}for(var E=[...h].sort(),D=function*(){var N=E[F],x=v.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&x.push(n.textForRowFooter(N)),f.push(x)},F=0;F<E.length;F+=1)yield*D();return f})()}textSnapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:s=>"".concat(s);z.debug2("textSnapshot",e,i);var l=yield n.snapshot(e,i,a,!1);return l.map(s=>s.join(" ")).join(`
|
|
2
2
|
`)})()}valuesTable(e){var t=this;return je(function*(){var n=null;try{return n=yield t.table.copy(),n.applyFilter([]),n.applySort([]),n.selectDistinct(Array.isArray(e)?e:[e])}finally{n?.close()}})()}isColumnMovable(e,t){if(e<0||e>=this.columnCount)return!1;if(t>0)return!0;var n=this.columns[e].name;return this.frontColumns.includes(n)||this.backColumns.includes(n)||this.frozenColumns.includes(n)||!n?!1:!this.isKeyColumn(e)}isColumnSortable(e){var t;return(t=this.columns[e].isSortable)!==null&&t!==void 0?t:!0}isKeyColumn(e){var t,n;return e<((t=(n=this.inputTable)===null||n===void 0?void 0:n.keyColumns.length)!==null&&t!==void 0?t:0)}isRowMovable(){return!1}isEditableRange(e){if(this.inputTable==null||!G.isBounded(e))return!1;var t=this.isPendingRow(e.startRow)&&this.isPendingRow(e.endRow);return!(!(t||this.inputTable.keyColumns.length!==0&&e.startColumn>=this.inputTable.keyColumns.length&&e.endColumn>=this.inputTable.keyColumns.length)||e.startRow<this.floatingTopRowCount||e.startRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount||e.endRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount)}isDeletableRange(e){return this.inputTable!=null&&e.startRow!=null&&e.endRow!=null&&e.startRow>=this.floatingTopRowCount&&e.startRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount&&e.endRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount}isEditableRanges(e){return e.every(t=>this.isEditableRange(t))}isDeletableRanges(e){return e.every(t=>this.isDeletableRange(t))}getTableAreaRange(){return new G(null,this.floatingTopRowCount,null,this.floatingTopRowCount+this.table.size-1)}getPendingAreaRange(){return new G(null,this.floatingTopRowCount+this.table.size,null,this.floatingTopRowCount+this.table.size+this.pendingNewRowCount-1)}setValueForCell(e,t,n){var i=this;return je(function*(){return i.setValueForRanges([new G(e,t,e,t)],n)})()}setValueForRanges(e,t){var n=this;return je(function*(){if(!n.isEditableRanges(e))throw new Error("Uneditable ranges ".concat(e));try{var i=new Set,a=[];G.forEachCell(e,(v,f)=>{var C=n.columns[v];if(i.add(C),a[v]===void 0){var S=n.tableUtils.makeValue(C.type,t,n.formatter.timeZone);a[v]=S!=null?n.displayString(S,C.type,C.name):null}n.cachePendingValue(v,f,a[v])});var l=n.getPendingAreaRange(),s=e.map(v=>G.intersection(l,v)).filter(v=>v!=null).map(v=>(M(v),G.offset(v,0,-(n.floatingTopRowCount+n.table.size))));if(s.length>0){var o=new Map(n.pendingNewDataMap);G.forEachCell(s,(v,f)=>{o.has(f)||o.set(f,{data:new Map});var C=n.columns[v],S=o.get(f);M(S);var{data:b}=S,w=new Map(b),y=n.tableUtils.makeValue(C.type,t,n.formatter.timeZone);y!=null?w.set(v,{value:y}):w.delete(v),w.size>0?o.set(f,kt(kt({},S),{},{data:w})):o.delete(f)}),n.pendingDataMap=o}n.dispatchEvent(new H(k.EVENT.UPDATED));var d=n.getTableAreaRange(),h=e.map(v=>G.intersection(d,v)).filter(v=>v!=null);if(h.length>0){var c,m=yield n.snapshot(h.map(v=>{var f,C;return new G(null,(f=v?.startRow)!==null&&f!==void 0?f:null,null,(C=v?.endRow)!==null&&C!==void 0?C:null)})),p=m.map(v=>{for(var f={},C=0;C<n.columns.length;C+=1)f[n.columns[C].name]=v[C];return i.forEach(S=>{f[S.name]=n.tableUtils.makeValue(S.type,t,n.formatter.timeZone)}),f}),g=yield(c=n.inputTable)===null||c===void 0?void 0:c.addRows(p);z.debug("setValueForRanges(",e,",",t,") set tableRanges",h,"result",g)}G.forEachCell(e,(v,f)=>{var C=a[v];M(C),n.cacheFormattedValue(v,f,C)})}catch(v){z.error("Unable to set ranges",e,t,v)}finally{G.forEachCell(e,(v,f)=>{n.clearPendingValue(v,f)})}})()}setValues(){var e=arguments,t=this;return je(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:[];if(z.debug("setValues(",n,")"),!n.every(p=>{var g,v;return t.isEditableRange(G.makeCell((g=p.column)!==null&&g!==void 0?g:p.x,(v=p.row)!==null&&v!==void 0?v:p.y))}))throw new Error("Uneditable ranges ".concat(n));try{var i=new Map(t.pendingNewDataMap);n.forEach(p=>{var g,v,{text:f}=p,C=(g=p.column)!==null&&g!==void 0?g:p.x,S=(v=p.row)!==null&&v!==void 0?v:p.y,b=t.columns[C],w=t.tableUtils.makeValue(b.type,f,t.formatter.timeZone),y=w!=null?t.displayString(w,b.type,b.name):null;t.cachePendingValue(C,S,y);var E=t.pendingRow(S);if(E!=null){i.has(E)||i.set(E,{data:new Map});var D=i.get(E);M(D);var{data:F}=D,P=new Map(F);w!=null?P.set(C,{value:w}):P.delete(C),P.size>0?i.set(E,kt(kt({},D),{},{data:P})):i.delete(E)}}),t.pendingDataMap=i,t.dispatchEvent(new H(k.EVENT.UPDATED));var a=n.reduce((p,g)=>{var v,f,C=(v=g.row)!==null&&v!==void 0?v:g.y;return p.has(C)||p.set(C,[]),(f=p.get(C))===null||f===void 0||f.push(g),p},new Map),l=G.consolidate(n.map(p=>{var g,v;return G.makeCell((g=p.column)!==null&&g!==void 0?g:p.x,(v=p.row)!==null&&v!==void 0?v:p.y)})),s=t.getTableAreaRange(),o=l.map(p=>G.intersection(s,p)).filter(p=>p!=null);if(o.length>0){var d,h=yield t.snapshot(o.map(p=>(M(p),new G(null,p.startRow,null,p.endRow)))),c=h.map((p,g)=>{for(var v=null,f=g,C=0;C<o.length;C+=1){var S=o[C];M(S);var b=G.rowCount([S]);if(f<b){M(S.startRow),v=S.startRow+f;break}f-=b}for(var w={},y=0;y<t.columns.length;y+=1)w[t.columns[y].name]=p[y];M(v);var E=a.get(v);return E?.forEach(D=>{var F,P=t.columns[(F=D.column)!==null&&F!==void 0?F:D.x];w[P.name]=t.tableUtils.makeValue(P.type,D.text,t.formatter.timeZone)}),w});z.info("setValues setting tableRanges",o);var m=yield(d=t.inputTable)===null||d===void 0?void 0:d.addRows(c);z.info("setValues set tableRanges",o,"SUCCESS",m)}n.forEach(p=>{var g,v,{text:f}=p,C=(g=p.column)!==null&&g!==void 0?g:p.x,S=(v=p.row)!==null&&v!==void 0?v:p.y,b=t.columns[C],w=t.tableUtils.makeValue(b.type,f,t.formatter.timeZone),y=w!=null?t.displayString(w,b.type,b.name):null;t.cacheFormattedValue(C,S,y)})}finally{n.forEach(p=>{t.clearPendingValue(p.column,p.row)})}})()}commitPending(){var e=this;return je(function*(){if(e.pendingNewDataMap.size<=0)throw new Error("No pending changes to commit");try{var t,n,i;e.isSaveInProgress=!0;var a=[];e.pendingNewDataMap.forEach(s=>{var o={};s.data.forEach((d,h)=>{var{value:c}=d,m=e.columns[h];o[m.name]=c}),a.push(o)});var l=yield(t=e.inputTable)===null||t===void 0?void 0:t.addRows(a);z.debug("commitPending()",e.pendingNewDataMap,"result",l),e.pendingNewDataMap=new Map,e.pendingNewRowCount=Math.max(0,((n=(i=e.viewport)===null||i===void 0?void 0:i.bottom)!==null&&n!==void 0?n:0)-e.table.size),e.formattedStringData=[],e.dispatchEvent(new H(k.EVENT.PENDING_DATA_UPDATED))}finally{e.isSaveInProgress=!1}})()}editValueForCell(e,t){var n;return(n=this.textValueForCell(e,t))!==null&&n!==void 0?n:""}delete(e){return je(function*(){throw new Error("Delete not implemented")})()}isValidForCell(e,t,n){try{var i=this.columns[e];return this.tableUtils.makeValue(i.type,n,this.formatter.timeZone),!0}catch{return!1}}}I(Pt,"ROW_BUFFER_PAGES",1);const vi=Pt;function er(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Je(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){er(a,n,i,l,s,"next",o)}function s(o){er(a,n,i,l,s,"throw",o)}l(void 0)})}}function Oe(r,e,t){return e=yl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function yl(r){var e=Pl(r,"string");return typeof e=="symbol"?e:String(e)}function Pl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Re=Z.module("IrisGridTableModel");class Tl extends vi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new _e(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),Oe(this,"userFrozenColumns",void 0),Oe(this,"customColumnList",void 0),Oe(this,"formatColumnList",void 0),Oe(this,"initialFilters",[]),Oe(this,"getMemoizedFrontColumns",_(a=>a??[])),Oe(this,"getMemoizedBackColumns",_(a=>a??[])),Oe(this,"getMemoizedFrozenColumns",_((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:[]})),Oe(this,"getCachedFilterableColumnSet",_(a=>new Set(a.map((l,s)=>s)))),Oe(this,"getCachedPartitionColumns",_(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get 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 frontColumns(){var e,t;return this.getMemoizedFrontColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frontColumns)!==null&&e!==void 0?e:[])}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(Re.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){Re.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){Re.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(Re.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){Re.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){Re.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 H(k.EVENT.TABLE_CHANGED,{detail:this.table}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Je(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Je(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionTable(e){var t=this;return Je(function*(){Re.debug("getting partition table for partitions",e);for(var n=[],i=0;i<t.partitionColumns.length;i+=1){var a=e[i],l=t.partitionColumns[i],s=t.tableUtils.makeNullableEqFilter(l,a);n.push(s)}var o=yield t.table.copy();return o.applyFilter([...t.initialFilters,...n]),o})()}set filter(e){this.closeSubscription(),this.table.applyFilter([...this.initialFilters,...e]),this.applyViewport()}set totalsConfig(e){if(Re.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 H(k.EVENT.UPDATED));return}this.totalsTablePromise=Fe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Fe.isCanceled(t)||(Re.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new H(k.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Je(function*(){return e.table.freeze()})()}columnStatistics(e){return this.table.getColumnStatistics(e)}isColumnMovable(e){var t=this.columns[e].name;return this.frontColumns.includes(t)||this.backColumns.includes(t)||this.frozenColumns.includes(t)?!1:!this.isKeyColumn(e)}isColumnFrozen(e){return this.frozenColumns.includes(this.columns[e].name)}delete(e){var t=()=>super.pendingDataMap,n=a=>super.pendingDataMap=a,i=this;return Je(function*(){var a;if(!i.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));M(i.inputTable);var{keyColumns:l}=i.inputTable;if(l.length===0)throw new Error("No key columns to allow deletion");var s=i.getPendingAreaRange(),o=e.map(b=>G.intersection(s,b)).filter(b=>b!=null).map(b=>(M(b),G.offset(b,0,-(i.floatingTopRowCount+i.table.size))));if(o.length>0){for(var d=new Map(t()),h=0;h<o.length;h+=1){var c=o[h];M(c.startRow),M(c.endRow);for(var m=c.startRow;m<=c.endRow;m+=1)d.delete(m)}n(d),i.formattedStringData=[],i.dispatchEvent(new H(k.EVENT.PENDING_DATA_UPDATED)),i.dispatchEvent(new H(k.EVENT.UPDATED))}var p=i.getTableAreaRange(),g=e.map(b=>G.intersection(p,b)).filter(b=>b!=null);if(!(g.length<=0)){var[v,f]=yield Promise.all([i.snapshot(g.map(b=>(M(b),l.map(w=>{var y=i.getColumnIndexByName(w.name);if(y==null)throw new Error("Key column ".concat(w.name," not found"));return new G(y,b.startRow,y,b.endRow)}))).flat()),i.table.copy()]),C=v.map(b=>{for(var w=[],y=0;y<l.length;y+=1){var E=l[y],D=b[y],F=i.tableUtils.makeFilterRawValue(E.type,D),P=E.filter().eq(F);w.push(P)}return w.reduce((N,x)=>{var A;return(A=N?.and(x))!==null&&A!==void 0?A:x})}),S=C.reduce((b,w)=>{var y;return(y=b?.or(w))!==null&&y!==void 0?y:w});f.applyFilter([S]),yield(a=i.inputTable)===null||a===void 0?void 0:a.deleteTable(f),f.close()}})()}seekRow(e,t,n,i,a,l,s){var o=this;return Je(function*(){return o.table.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const Fl=Tl;function Dl(r,e,t){return e=Ml(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ml(r){var e=Nl(r,"string");return typeof e=="symbol"?e:String(e)}function Nl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Ll extends k{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new _e(e);super(e),Dl(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 le}getColumnIndexByName(e){}get initialMovedColumns(){return le}get initialMovedRows(){return le}get initialColumnHeaderGroups(){return le}get groupedColumns(){return le}formatForCell(e,t){}valueForCell(e,t){}get filter(){return le}set filter(e){}get partition(){return le}set partition(e){}get partitionColumns(){return le}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return le}set sort(e){}get customColumns(){return le}set customColumns(e){}get formatColumns(){return le}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 le}set selectDistinctColumns(e){}get pendingDataMap(){return an}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return an}commitPending(){return Promise.resolve()}setViewport(e,t,n){}snapshot(e){return Promise.resolve([])}textSnapshot(e,t,n){return Promise.resolve("")}valuesTable(e){throw new Error("Method not implemented.")}delete(e){return Promise.resolve()}seekRow(e,t,n,i,a,l,s){return Promise.resolve(0)}get columnHeaderGroups(){return le}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return an}getColumnHeaderParentGroup(e,t){}}const Ol=Ll;function tr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function dn(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){tr(a,n,i,l,s,"next",o)}function s(o){tr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Rl(r,e,t){return e=Il(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Il(r){var e=kl(r,"string");return typeof e=="symbol"?e:String(e)}function kl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class _l extends Ol{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new _e(e);super(e,n),Rl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}get isReversible(){return!1}displayString(e,t,n){return""}close(){this.partitionedTable.close()}get columns(){return this.partitionedTable.columns}get partitionColumns(){return this.partitionedTable.keyColumns}partitionKeysTable(){var e=this;return dn(function*(){return e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return dn(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return dn(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Kn("Partition not found");return n}catch(i){throw sl(i)?i:new Kn("Unable to retrieve partition")}})()}}const xl=_l;function nr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Al(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){nr(a,n,i,l,s,"next",o)}function s(o){nr(a,n,i,l,s,"throw",o)}l(void 0)})}}function rr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function ir(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rr(Object(t),!0).forEach(function(n){tt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):rr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function tt(r,e,t){return e=jl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function jl(r){var e=Vl(r,"string");return typeof e=="symbol"?e:String(e)}function Vl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var $l=Z.module("IrisGridTreeTableModel");function Ul(r){return r.layoutHints!==void 0}class Gl extends vi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new _e(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),tt(this,"virtualColumns",void 0),tt(this,"getCachedColumns",_((a,l)=>[...a,...l])),tt(this,"getCachedGroupColumns",_((a,l)=>[...a,...l])),tt(this,"getCachedFilterableColumnSet",_((a,l,s)=>new Set((l?.length>0?l:a).filter(o=>!s.includes(o)).map(o=>a.findIndex(d=>o.name===d.name))))),tt(this,"getCachedGroupedColumnSet",_(a=>new Set(a.map(l=>this.columns.findIndex(s=>l.name===s.name))))),this.virtualColumns=t.groupedColumns.length>1?[{name:"__DH_UI_GROUP__",displayName:"Group",type:j.dataType.STRING,constituentType:j.dataType.STRING,isPartitionColumn:!1,isSortable:!1,isProxy:!0,description:"Key column",index:-1,filter:()=>{throw new Error("Filter not implemented for virtual column")},sort:()=>{throw new Error("Sort not implemented virtual column")},formatColor:()=>{throw new Error("Color not implemented for virtual column")},get:()=>{throw new Error("get not implemented for virtual column")},getFormat:()=>{throw new Error("getFormat not implemented for virtual column")},formatNumber:()=>{throw new Error("formatNumber not implemented for virtual column")},formatDate:()=>{throw new Error("formatDate not implemented for virtual column")}}]:[]}applyBufferedViewport(e,t,n){var i=[...this.table.groupedColumns,...n.filter(a=>!this.virtualColumns.includes(a)&&!this.groupedColumns.includes(a))];this.table.setViewport(e,t,i)}textForCell(e,t){var n=this.sourceColumn(e,t),i=this.row(t);if(i!=null&&n!=null){if(!i.hasChildren&&n.constituentType!=null){var a=this.valueForCell(e,t);return this.displayString(a,n.constituentType,n.name)}if(i.hasChildren&&i.depth<=e+1&&this.valueForCell(e,t)===null&&this.getCachedGroupedColumnSet(this.groupedColumns).has(e))return""}return super.textForCell(e,t)}extractViewportRow(e,t){var{isExpanded:n,hasChildren:i,depth:a}=e,l=super.extractViewportRow(e,t),s=new Map(l.data);if(i)for(var o=0;o<this.virtualColumns.length;o+=1){var d=o+(a-1)+(this.virtualColumns.length-1),h=s.get(d);h==null?$l.warn("Missing key data for virtual column",o,a,d,e):s.set(o,h)}return ir(ir({},l),{},{data:s,isExpanded:n,hasChildren:i,depth:a})}snapshot(e,t){var n=arguments,i=this;return Al(function*(){var a,l,s=n.length>2&&n[2]!==void 0?n[2]:S=>S;M(i.viewport),M(i.viewportData);var o=(a=i.viewport.columns)!==null&&a!==void 0?a:i.columns,d=[];t!=null&&t&&d.push(o.map(S=>S.name));for(var h=new G(0,(l=i.viewportData)===null||l===void 0?void 0:l.offset,o.length,i.viewportData.offset+i.viewportData.rows.length),c=0;c<e.length;c+=1){var m=G.intersection(h,e[c]);M(m),M(m.startRow),M(m.endRow);for(var p=m.startRow;p<=m.endRow;p+=1){var g=[],v=i.viewportData.rows[p-i.viewportData.offset];M(m.startColumn),M(m.endColumn);for(var f=m.startColumn;f<=m.endColumn;f+=1){var C;g.push(s((C=v.data.get(f))===null||C===void 0?void 0:C.value,i.columns[f]))}d.push(g)}}return d})()}get columns(){return this.getCachedColumns(this.virtualColumns,super.columns)}get groupedColumns(){return this.getCachedGroupColumns(this.virtualColumns,this.table.groupedColumns)}sourceForCell(e,t){if(e>=this.virtualColumns.length)return{column:e,row:t};var n=this.depthForRow(t);return{column:e+n,row:t}}sourceColumn(e,t){if(e>=this.virtualColumns.length)return super.sourceColumn(e,t);var n=this.depthForRow(t);return this.columns[e+n]}getClearFilterRange(e){return e>=this.virtualColumns.length?super.getClearFilterRange(e):[this.virtualColumns.length,this.groupedColumns.length]}get layoutHints(){if(Ul(this.table))return this.table.layoutHints}get hasExpandableRows(){return!0}get isExpandAllAvailable(){return this.table.expandAll!==void 0}get isChartBuilderAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isReversible(){return!1}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns,this.groupedColumns,this.virtualColumns).has(e)}isColumnMovable(e){return e>=this.groupedColumns.length}isRowExpandable(e){var t,n=this.row(e);return(t=n?.hasChildren)!==null&&t!==void 0?t:!1}isRowExpanded(e){var t,n=this.row(e);return(t=n?.isExpanded)!==null&&t!==void 0?t:!1}setRowExpanded(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.isExpandAllAvailable?this.table.setExpanded(e,t,n):this.table.setExpanded(e,t)}expandAll(){this.table.expandAll!=null&&this.table.expandAll()}collapseAll(){this.table.collapseAll!=null&&this.table.collapseAll()}depthForRow(e){var t,n=this.row(e);return((t=n?.depth)!==null&&t!==void 0?t:1)-1}updateFrozenColumns(e){if(e.length>0)throw new Error("Cannot freeze columns on a tree table")}}const Hl=Gl;function ar(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Bl(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){ar(a,n,i,l,s,"next",o)}function s(o){ar(a,n,i,l,s,"throw",o)}l(void 0)})}}function L(r,e,t){return e=zl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function zl(r){var e=Kl(r,"string");return typeof e=="symbol"?e:String(e)}function Kl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Ie=Z.module("IrisGridProxyModel");function et(r,e,t,n){return j.isTreeTable(e)?new Hl(r,e,t):j.isPartitionedTable(e)?new xl(r,e,t):new Fl(r,e,t,n)}class Wl extends k{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new _e(e),a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),n=this,L(this,"dh",void 0),L(this,"originalModel",void 0),L(this,"model",void 0),L(this,"modelPromise",void 0),L(this,"rollup",void 0),L(this,"partition",void 0),L(this,"selectDistinct",void 0),L(this,"currentViewport",void 0),L(this,"textForCell",function(){return n.model.textForCell(...arguments)}),L(this,"truncationCharForCell",function(){return n.model.truncationCharForCell(...arguments)}),L(this,"textAlignForCell",function(){return n.model.textAlignForCell(...arguments)}),L(this,"colorForCell",function(){return n.model.colorForCell(...arguments)}),L(this,"backgroundColorForCell",function(){return n.model.backgroundColorForCell(...arguments)}),L(this,"textForColumnHeader",function(){return n.model.textForColumnHeader(...arguments)}),L(this,"colorForColumnHeader",function(){return n.model.colorForColumnHeader(...arguments)}),L(this,"textForRowHeader",function(){return n.model.textForRowHeader(...arguments)}),L(this,"textForRowFooter",function(){return n.model.textForRowFooter(...arguments)}),L(this,"isRowMovable",function(){return n.model.isRowMovable(...arguments)}),L(this,"isColumnMovable",function(){return n.model.isColumnMovable(...arguments)}),L(this,"isRowExpandable",function(){return Ae(n.model)?n.model.isRowExpandable(...arguments):!1}),L(this,"isRowExpanded",function(){return Ae(n.model)?n.model.isRowExpanded(...arguments):!1}),L(this,"setRowExpanded",function(){if(Ae(n.model))return n.model.setRowExpanded(...arguments);throw Error("Function setRowExpanded does not exist on IrisGridTableModel")}),L(this,"expandAll",()=>{if(Ae(this.model))return this.model.expandAll();throw Error("Function expandAll does not exist on IrisGridTableModel")}),L(this,"collapseAll",()=>{if(Ae(this.model))return this.model.collapseAll();throw Error("Function collapseAll does not exist on IrisGridTableModel")}),L(this,"depthForRow",function(){return Ae(n.model)?n.model.depthForRow(...arguments):0}),L(this,"getColumnHeaderGroup",function(){return n.model.getColumnHeaderGroup(...arguments)}),L(this,"getColumnHeaderParentGroup",function(){return n.model.getColumnHeaderParentGroup(...arguments)}),L(this,"sourceForCell",function(){return n.model.sourceForCell(...arguments)}),L(this,"getClearFilterRange",function(){return n.model.getClearFilterRange(...arguments)}),L(this,"formatForCell",function(){return n.model.formatForCell(...arguments)}),L(this,"valueForCell",function(){return n.model.valueForCell(...arguments)}),L(this,"renderTypeForCell",function(){return n.model.renderTypeForCell(...arguments)}),L(this,"dataBarOptionsForCell",function(){return n.model.dataBarOptionsForCell(...arguments)}),L(this,"displayString",function(){return n.model.displayString(...arguments)}),L(this,"isEditableRange",function(){return Be(n.model)?n.model.isEditableRange(...arguments):!1}),L(this,"isDeletableRange",function(){return It(n.model)?n.model.isDeletableRange(...arguments):!1}),L(this,"isDeletableRanges",function(){return It(n.model)?n.model.isDeletableRanges(...arguments):!1}),L(this,"isFilterable",function(){return n.model.isFilterable(...arguments)}),L(this,"setViewport",(s,o,d)=>{this.currentViewport={top:s,bottom:o,columns:d},this.model.setViewport(s,o,d)}),L(this,"snapshot",function(){return n.model.snapshot(...arguments)}),L(this,"textSnapshot",function(){return n.model.textSnapshot(...arguments)}),L(this,"valuesTable",function(){return n.model.valuesTable(...arguments)}),L(this,"editValueForCell",function(){return Be(n.model)?n.model.editValueForCell(...arguments):""}),L(this,"setValueForCell",function(){return Be(n.model)?n.model.setValueForCell(...arguments):Promise.reject(new Error("Model is not editable"))}),L(this,"setValueForRanges",function(){return Be(n.model)?n.model.setValueForRanges(...arguments):Promise.reject(new Error("Model is not editable"))}),L(this,"setValues",function(){return Be(n.model)?n.model.setValues(...arguments):Promise.resolve()}),L(this,"isValidForCell",function(){return Be(n.model)?n.model.isValidForCell(...arguments):!1}),L(this,"delete",function(){return It(n.model)?n.model.delete(...arguments):Promise.reject(new Error("Model is not deletable"))}),L(this,"commitPending",function(){return n.model.commitPending(...arguments)}),this.handleModelEvent=this.handleModelEvent.bind(this);var l=et(e,t,i,a);this.dh=e,this.originalModel=l,this.model=l,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[]}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){Ie.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new H(n,{detail:t}))}setModel(e){Ie.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 H(k.EVENT.COLUMNS_CHANGED,{detail:e.columns}));else if(this.currentViewport!=null){var{top:i,bottom:a,columns:l}=this.currentViewport;e.setViewport(i,a,l)}qe(e)&&this.dispatchEvent(new H(k.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Ie.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Fe.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Fe.isCanceled(t)){Ie.debug2("setNextModel cancelled");return}Ie.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new H(k.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(k.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(k.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get rowCount(){return this.model.rowCount}get columnCount(){return this.model.columnCount}get floatingTopRowCount(){return this.model.floatingTopRowCount}get floatingBottomRowCount(){return this.model.floatingBottomRowCount}get floatingLeftColumnCount(){return this.model.floatingLeftColumnCount}get floatingRightColumnCount(){return this.model.floatingRightColumnCount}isColumnFrozen(e){return this.model.isColumnFrozen(e)}isColumnSortable(e){return this.model.isColumnSortable(e)}get hasExpandableRows(){return Ae(this.model)?this.model.hasExpandableRows:!1}get isExpandAllAvailable(){if(Ae(this.model)){var e;return(e=this.model.isExpandAllAvailable)!==null&&e!==void 0?e:!1}return!1}get isExportAvailable(){return this.model.isExportAvailable}get isColumnStatisticsAvailable(){return this.model.isColumnStatisticsAvailable}get isValuesTableAvailable(){return this.model.isValuesTableAvailable}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isFormatColumnsAvailable(){return this.model.isFormatColumnsAvailable}get isChartBuilderAvailable(){return this.model.isChartBuilderAvailable}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 isTotalsAvailable(){return this.model.isTotalsAvailable}get isReversible(){return this.model.isReversible}get columns(){return this.model.columns}get initialMovedColumns(){return this.model.initialMovedColumns}get initialMovedRows(){return this.model.initialMovedRows}get layoutHints(){return this.model.layoutHints}get frontColumns(){return this.model.frontColumns}get backColumns(){return this.model.backColumns}get frozenColumns(){return this.model.frozenColumns}get columnHeaderGroups(){return this.model.columnHeaderGroups}set columnHeaderGroups(e){this.model.columnHeaderGroups=e}get initialColumnHeaderGroups(){return this.model.initialColumnHeaderGroups}get columnHeaderGroupMap(){return this.model.columnHeaderGroupMap}get columnHeaderMaxDepth(){return this.model.columnHeaderMaxDepth}updateFrozenColumns(e){return this.model.updateFrozenColumns(e)}get originalColumns(){return this.originalModel.columns}get groupedColumns(){return this.model.groupedColumns}get partitionColumns(){return ze(this.originalModel)?this.originalModel.partitionColumns:[]}get description(){return this.model.description}get filter(){return this.model.filter}set filter(e){this.model.filter=e}get partitionConfig(){return!ze(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Ie.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&ze(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionKeysTable().then(n=>et(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>et(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>et(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get formatter(){return this.model.formatter}set formatter(e){this.model.formatter=e}get sort(){return this.model.sort}set sort(e){this.model.sort=e}get customColumns(){return this.model.customColumns}set customColumns(e){this.model.customColumns=e}get formatColumns(){return this.model.formatColumns}set formatColumns(e){this.model.formatColumns=e}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Ie.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Wr(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);qe(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>et(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Ie.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){Ie.debug("Ignore same selectDistinctColumns",e);return}this.selectDistinct=e;var t=e.map(i=>this.originalColumns.find(a=>a.name===i)).filter(i=>i!=null),n=Promise.resolve(this.originalModel);qe(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(i=>et(this.dh,i,this.formatter))),this.setNextModel(n)}get table(){if(qe(this.model))return this.model.table}get totalsConfig(){return this.model.totalsConfig}set totalsConfig(e){this.model.totalsConfig=e}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return ze(this.originalModel)?this.originalModel.isPartitionRequired:!1}get isEditable(){return Be(this.model)&&this.model.isEditable}get isDeletable(){return It(this.model)&&this.model.isDeletable}get isViewportPending(){return this.model.isViewportPending}export(){if(j.isTreeTable(this.model))throw new Error("TreeTable has no 'export' property");return this.model.export()}columnStatistics(e){if(j.isTreeTable(this.model))throw new Error("TreeTable has no 'columnStatistics' function");return this.model.columnStatistics(e)}get pendingDataMap(){return this.model.pendingDataMap}set pendingDataMap(e){this.model.pendingDataMap=e}get pendingRowCount(){return this.model.pendingRowCount}set pendingRowCount(e){this.model.pendingRowCount=e}get pendingDataErrors(){return this.model.pendingDataErrors}getColumnIndexByName(e){return this.model.getColumnIndexByName(e)}seekRow(e,t,n,i,a,l,s){var o=this;return Bl(function*(){return o.model.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.model.isSeekRowAvailable}}const ql=Wl;function lr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Zl(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){lr(a,n,i,l,s,"next",o)}function s(o){lr(a,n,i,l,s,"throw",o)}l(void 0)})}}class Yl{static makeModel(e,t){var n=arguments;return Zl(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:new _e(e),a=null;return!j.isTreeTable(t)&&!j.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new ql(e,t,i,a)})()}}const Pn=Yl;function Tn(r,e,t){return e=Xl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Xl(r){var e=Ql(r,"string");return typeof e=="symbol"?e:String(e)}function Ql(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Yt{}Tn(Yt,"OPEN","ChartEvent.OPEN");Tn(Yt,"CLOSE","ChartEvent.CLOSE");Tn(Yt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const Ut=Yt;function ct(r,e,t){return e=Jl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Jl(r){var e=es(r,"string");return typeof e=="symbol"?e:String(e)}function es(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Xe{}ct(Xe,"OPEN_GRID","IrisGridEvent.OPEN_GRID");ct(Xe,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");ct(Xe,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");ct(Xe,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");ct(Xe,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");ct(Xe,"CREATE_CHART","IrisGridevent.CREATE_CHART");const de=Xe;function fi(r,e,t){return e=ts(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ts(r){var e=ns(r,"string");return typeof e=="symbol"?e:String(e)}function ns(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Fn{}fi(Fn,"OPEN","PandasEvent.OPEN");fi(Fn,"CLOSE","PandasEvent.CLOSE");const rs=Fn;function Nt(r){var{widgetType:e,widgetName:t,glContainer:n,description:i,children:a}=r,l=O.getTitleFromContainer(n);return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:t}),u.jsx(oa,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==l&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),u.jsx("span",{className:"tab-tooltip-name",children:l})]}),i&&u.jsx("div",{className:"tab-tooltip-description",children:i}),a]})}Nt.propTypes={glContainer:qr.Container.isRequired,widgetType:R.string,widgetName:R.string,description:R.string,children:R.node};Nt.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function gi(r,e,t){return e=is(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function is(r){var e=as(r,"string");return typeof e=="symbol"?e:String(e)}function as(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Ci extends T.PureComponent{constructor(e){super(e),gi(this,"getCachedRenderTabTooltip",_((t,n,i,a,l)=>t?()=>u.jsx(Nt,{glContainer:n,widgetType:i,widgetName:a,description:l}):null)),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{widgetName:e}=this.props;da(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:i,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
|
|
3
3
|
Check your internet connection.`;if(t&&n)return"Disconnected from server.";if(n){var{widgetName:l,widgetType:s}=this.props;return'Variable "'.concat(l,`" not set.
|
|
4
|
-
`).concat(s," does not exist yet.")}if(i){var{widgetName:o}=this.props;return"".concat(o," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:i,isLoading:a,glContainer:l,glEventHub:s,isDisconnected:o,isClonable:d,isRenamable:h,showTabTooltip:c,renderTabTooltip:m,widgetType:p,widgetName:g,description:v,onClearAllFilters:f,onHide:C,onFocus:S,onBlur:b,onResize:w,onShow:y,onTabBlur:E,onTabFocus:D,onTabClicked:F}=this.props,{isPanelDisconnected:P,isWidgetDisconnected:N,isPanelInactive:x}=this.state,A=this.getErrorMessage(),V=m??this.getCachedRenderTabTooltip(c,l,p,g,v),U=[{title:"Copy ".concat(p," Name"),group:Zr.groups.medium,order:20,action:this.handleCopyName}];return u.jsxs(Ft,{className:ce(t,{disconnected:P||N||o,inactive:x}),componentPanel:n,glContainer:l,glEventHub:s,onClearAllFilters:f,onHide:C,onFocus:S,onBlur:b,onResize:w,onShow:y,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:E,onTabFocus:D,onTabClicked:F,renderTabTooltip:V,errorMessage:A,isLoaded:i,isLoading:a,isClonable:d,isRenamable:h,additionalActions:U,children:[e,x&&u.jsx("div",{className:"fill-parent-absolute"})]})}}gi(Ci,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const Lt=Ci;function bi(r){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:i,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=r,o=T.useMemo(()=>{var g=Array.from(s.keys()),v=g.find(S=>t.get(S)!=null),f=g.find(S=>n.get(S)!=null),C=Pe.join(g.map(S=>'"'.concat(S,'"')));return v!=null&&v&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):v!=null&&v?"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=T.useMemo(()=>Array.from(e.values()),[e]),h=T.useCallback(g=>{g.stopPropagation(),g.preventDefault(),i(Array.from(l.values()))},[i,l]),c=T.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),m=l.size>0,p=!m&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":m},{"chart-filter-waiting-input":p}),children:[m&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(g=>{var v=l.has(g.name),f=v?za:Ka;return u.jsxs("div",{className:ce("waiting-filter-item",{"is-invalid":v}),children:[u.jsx(he,{icon:f}),g.name]},g.name)})}),u.jsxs("div",{children:[u.jsx(Hn,{onClick:h,className:"btn-primary",children:"Add Input Filters"}),u.jsx(Hn,{onClick:c,className:"btn-primary",children:"Open Linker Tool"})]})]}),p&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}bi.propTypes={columnMap:R.instanceOf(Map).isRequired,inputFilterMap:R.instanceOf(Map).isRequired,linkedColumnMap:R.instanceOf(Map).isRequired,onAdd:R.func.isRequired,onOpenLinker:R.func.isRequired,waitingFilterMap:R.instanceOf(Map).isRequired,waitingInputMap:R.instanceOf(Map).isRequired};function Tt(r){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:i}=r;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content"),children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>u.jsx(pi,{className:ce("btn-chart-column-selector",Tt.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}Tt.makeButtonClassName=r=>"btn-chart-column-selector-".concat(r);Tt.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function rt(r){return r.settings!==void 0}function Dn(r){return r.figure!==void 0}function Si(r){if(r==null)return!1;var{settings:e,tableSettings:t}=r;return typeof e=="object"&&typeof t=="object"}function wi(r){return r!=null&&Si(r.panelState)}function sr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function or(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?sr(Object(t),!0).forEach(function(n){ve(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):sr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function ve(r,e,t){return e=ls(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ls(r){var e=ss(r,"string");return typeof e=="symbol"?e:String(e)}function ss(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var re=Z.module("ChartPanel"),os=150;function ds(r){return r.inputFilters!=null}function us(r){return r.panelState!=null}class Xt extends T.Component{constructor(e){super(e),ve(this,"panelContainer",void 0),ve(this,"pending",void 0),ve(this,"getWaitingInputMap",_((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),ve(this,"getWaitingFilterMap",_((l,s,o,d,h)=>{if(!l)return new Map;var c=new Map(s);return o.forEach((m,p)=>{c.delete(p)}),h.forEach((m,p)=>{c.delete(p)}),d.forEach((m,p)=>{c.delete(p)}),c})),ve(this,"getInputFilterColumnMap",_((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:m}=h,p=l.get(c);p!=null&&p.type===m&&o.set(c,h)}return o})),ve(this,"getLinkedColumnMap",_((l,s)=>{for(var o=new Map,d=O.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],m=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?m=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(m=c.end.columnName),m!=null&&l.has(m)){var p=l.get(m);M(p),o.set(m,p)}}return o})),ve(this,"getSelectorColumns",_((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d):!1,isActive:s.has(d.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=Ze(this.updateModelFromSource.bind(this),os),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=se.createRef(),this.pending=new Xr;var{metadata:t,panelState:n}=e,{filterValueMap:i=[],settings:a={}}=n??{};this.state={settings:a,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&rt(t)&&t.settings.isLinked,filterMap:new Map(i),filterValueMap:new Map(i),model:void 0,columnMap:new Map,panelState:n}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:i,makeModel:a}=this.props,{columnMap:l,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:c}=this.state;s&&(a!==e.makeModel&&this.initModel(),l!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),o!==t.filterMap?this.updateFilters():d!==t.filterValueMap&&this.updatePanelState(),c!==t.settings&&Xn(s)&&(s.updateSettings(c),this.updatePanelState()),h!==t.isLinked?i&&(h?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):h&&i!==e.source&&(e.source&&this.stopListeningToSource(e.source),i&&(this.startListeningToSource(i),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){re.debug("startListeningToSource",e);var{model:t}=this.state;M(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){re.debug("stopListeningToSource",e);var{model:t}=this.state;M(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(Ut.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:i}=this.props;re.debug("handleColumnMouseEnter",i,t,n),i&&i(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;re.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(ge.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){re.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:i}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),i&&l&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Fe.isCanceled(e)||(re.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:i}=this.state;if(!n||!i||!t){re.debug2("updateModelFromSource ignoring",n,i,t);return}var{dh:a}=i;if(this.pending.cancel(),rt(e)){var{settings:l}=e;this.pending.add(a.plot.Figure.create(new te(a).makeFigureSettings(l,t))).then(s=>{Xn(i)&&i.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:i}=this.state,{tableSettings:a}=t??{};if(e&&ds(e.props)&&us(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=B.extractTableSettings(s,l))}this.setState({panelState:{settings:i,tableSettings:a,filterValueMap:Array.from(n)}})}handleError(){this.setState({isLoading:!1})}handleSettingsChanged(e){this.setState(t=>{var{settings:n}=t,i=or(or({},n),e);return re.debug("Updated settings",i),{settings:i}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:i}=e;t.emit(X.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:i,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(X.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Tt.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(n)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){re.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:i,filterMap:a}=t,l=null,s=new Map(t.filterValueMap);return e.forEach((o,d)=>{var{columnType:h,filterList:c}=o,m=i.get(d);if(!(m==null||m.type!==h)){if(c.length<1){re.debug("Ignoring empty filterList for column",d);return}var{value:p}=c[0];s.set(d,p),a.get(d)!==p&&(l===null&&(l=new Map(a)),l.set(d,p))}}),{filterValueMap:s,filterMap:(n=l)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(i,n);if(s.has(e)){var o,d=a.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==h&&(a=new Map(t.filterMap),h.length>0?a.set(e,h):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:l}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(l=>l.name===a.name&&l.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var i=e.filter(a=>!t.includes(a));i.length>0&&this.updateInputFilters(i)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i}=n,a=new Map(n.filterValueMap),l=new Map(n.filterMap),s=t?{filterMap:l,filterValueMap:a}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],m=i.get(d);m!=null&&m.type===h&&(c!=null&&l.get(d)!==c&&(c===""?l.delete(d):l.set(d,c),s.filterMap=l),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return re.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i,filterValueMap:a}=n,l=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=i.get(d);if(c!=null&&c.type===h&&l.has(d)){var m=l.get(d);if(a.has(d)){var p=a.get(d);p!==m&&p!=null&&(s=!0,l.set(d,p))}else s=!0,l.delete(d)}}return re.debug("deleteInputFilters",s),s?{filterMap:l}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;M(n);var i=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&i.size===0){var a=n.getDefaultTitle(),l=Pe.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),re.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else re.debug2("updateFilters waiting on inputs",i),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),i=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((l,s)=>{t.has(s)||(i.delete(s),a.filterValueMap=i)}),e.filterMap.forEach((l,s)=>{t.has(s)||(n.delete(s),a.filterMap=n)}),a})}render(){var e,{columnSelectionValidator:t,glContainer:n,glEventHub:i,inputFilters:a,isLinkerActive:l,links:s,metadata:o,settings:d,Plotly:h,containerRef:c}=this.props,{columnMap:m,filterMap:p,error:g,model:v,isActive:f,isDisconnected:C,isLoaded:S,isLoading:b}=this.state,w;rt(o)?w=o.table:Dn(o)?w=o.figure:w=o.name;var y=this.getInputFilterColumnMap(m,a),E=this.getLinkedColumnMap(m,s),D=v!=null?this.getWaitingInputMap(v.isFilterRequired(),m,p):new Map,F=v!=null?this.getWaitingFilterMap(v.isFilterRequired(),m,p,E,y):new Map,P=g!=null?"Unable to open chart. ".concat(g):void 0,N=D.size>0,x=m.size>0&&l;return u.jsx(Lt,{className:ce("iris-chart-panel",{"input-required":N}),componentPanel:this,glContainer:n,glEventHub:i,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:P,isDisconnected:C,isLoading:b,isLoaded:S,widgetName:(e=w)!==null&&e!==void 0?e:void 0,widgetType:"Chart",children:u.jsxs("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100",children:[u.jsx("div",{className:"chart-container h-100 w-100",children:S&&v&&u.jsx(mi,{isActive:f,model:v,settings:d,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:h,containerRef:c})}),u.jsx(pn,{in:N&&!x&&!b,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(bi,{inputFilterMap:y,linkedColumnMap:E,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:m,waitingFilterMap:F,waitingInputMap:D})}),u.jsx(pn,{in:x,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Tt,{columns:this.getSelectorColumns(m,E,t),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}ve(Xt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});ve(Xt,"displayName","ChartPanel");ve(Xt,"COMPONENT","ChartPanel");var hs=(r,e)=>{var{localDashboardId:t,metadata:n}=e,i;n!=null&&rt(n)&&(i=n.sourcePanelId);var a=Bt(r,t),l=Qr(r,t),s=gn(r),o=zt(r,t),d=s===ge.LINKER&&o===void 0;return{columnSelectionValidator:Kt(r,t),isLinkerActive:d,inputFilters:Wt(r,t),links:Dt(r,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?l.get(i):void 0,settings:qt(r)}},cs=Ye(hs,{setActiveTool:Yr,setDashboardIsolatedLinkerPanelId:fn},null,{forwardRef:!0})(Xt);const Ot=cs;function fe(r,e,t){return e=ps(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ps(r){var e=ms(r,"string");return typeof e=="symbol"?e:String(e)}function ms(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var _t=Z.module("DropdownFilter"),vs=150;class ke extends T.Component{constructor(e){super(e),fe(this,"dropdownRef",void 0),fe(this,"getCompatibleColumns",_((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&j.isCompatibleType(o,a.columnType)}):[])),fe(this,"getColumnOptions",_((a,l)=>{var s=-1,o=[];return o.push(u.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((d,h)=>{o.push(u.jsx("option",{value:h,children:this.getItemLabel(a,h)},"".concat(d.name,"/").concat(d.type))),l!==null&&d.name===l.name&&d.type===l.type&&(s=h)}),[o,s]})),fe(this,"getSelectedOptionIndex",_((a,l)=>a.indexOf(l))),fe(this,"getValueOptions",_(a=>[u.jsx("option",{value:"-1",children:ke.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),fe(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),fe(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},vs)),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=se.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,id:be(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:i}}componentDidUpdate(e,t){var{source:n,values:i,isLoaded:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a&&(n!==e.source&&this.sourceUpdated(),i!==e.values&&s!==""&&!i.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(l!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(_t.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:i}=this.props,a=this.getCompatibleColumns(i,n);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),_t.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var t=e,n=parseInt(t,10),i="",{values:a}=this.props;n>=0&&n<a.length?i=a[n]:_t.debug2("Selected default item"),_t.debug2("handleValueChange",i),this.setState({value:i})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:i}=e;return{column:n,value:t===n?i:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:i,isValueShown:a}=e,l=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:l,value:i??o,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:i,isLoaded:a,source:l,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:m,disableCancel:p,id:g,isValueShown:v,selectedColumn:f,value:C}=this.state,S=l===null,b=this.getCompatibleColumns(l,t),w=l!=null,y=(e=l?.columnName)!==null&&e!==void 0?e:ke.SOURCE_BUTTON_PLACEHOLDER,E=m!=null?"".concat(m.name," Filter"):null,[D,F]=this.getColumnOptions(b,f),P=this.getValueOptions(h),N=this.getSelectedOptionIndex(h,C),x=!w||f==null,A=v&&!i,V="source-column-btn-".concat(g),U="filter-column-select-".concat(g);return u.jsxs(En,{className:"dropdown-filter fill-parent-absolute",isFlipped:A,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:V,children:"Source Column"}),u.jsx(pi,{id:V,isLinked:w,onClick:s,onMouseEnter:o,onMouseLeave:d,className:ke.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:y}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:U,children:"Filter Column"}),u.jsx(yt,{id:U,value:String(F),className:"custom-select",onChange:this.handleColumnChange,disabled:S,children:D}),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}),w&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:p||v||i,tooltip:i?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx($,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:x||v||i,tooltip:i?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:E})}),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(yt,{className:"custom-select",value:String(N),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:P})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:bn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}fe(ke,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});fe(ke,"PLACEHOLDER","Select a value...");fe(ke,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");fe(ke,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const dr=ke;function ne(r,e,t){return e=fs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function fs(r){var e=gs(r,"string");return typeof e=="symbol"?e:String(e)}function gs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var K=Z.module("DropdownFilterPanel"),Cs=250,bs=(r,e)=>{var{localDashboardId:t}=e,n=O.getIdFromPanel({props:e}),i=Bt(r,t),a=Dt(r,t),l=gn(r),s=zt(r,t),o=l===ge.LINKER&&(s===void 0||s===n),d=l===ge.LINKER&&s!==void 0&&s!==n;return{columns:Cn(r,t),columnSelectionValidator:Kt(r,t),dh:Jr(r),isLinkerActive:o,disableLinking:d,settings:qt(r),panelTableMap:i,dashboardLinks:a}},Ss=Ye(bs,null,null,{forwardRef:!0});class Ce extends T.Component{constructor(e){super(e),ne(this,"dateTimeFormatter",void 0),ne(this,"dropdownFilterRef",void 0),ne(this,"panelContainer",void 0),ne(this,"pending",void 0),ne(this,"cleanup",void 0),ne(this,"columnFormats",void 0),ne(this,"getCachedValues",ue((c,m,p)=>{var{type:g,name:v}=m;return g!==void 0&&j.isDateType(g)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&g!=null?p.getFormattedString(f,g,v):null)})),ne(this,"getCachedPanelLinks",ue((c,m)=>{var p=O.getIdFromPanel(m);return K.debug("getCachedPanelLinks",c,p),c.filter(g=>{var v;return((v=g.end)===null||v===void 0?void 0:v.panelId)===p})})),ne(this,"getCachedSource",ue(c=>{K.debug("getCachedSource",c);var m;if(c.length>0){var[p]=c;m=p.start,c.length>1&&K.error("Filter has more that one link",c)}return m})),ne(this,"getCachedSourceTable",ue((c,m)=>{var p;if(K.debug("getCachedSourceTable",c,m),m==null)return null;var{panelId:g}=m;return(p=c.get(g))!==null&&p!==void 0?p:null})),ne(this,"getCachedSourceColumn",ue((c,m)=>{var p;return K.debug("getCachedSourceColumn",c,m),c==null||m==null?null:(p=c.columns.find(g=>{var{name:v,type:f}=g;return v===m.columnName&&f===m.columnType}))!==null&&p!==void 0?p:null})),this.handleChange=Ze(this.handleChange.bind(this),Cs),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=se.createRef(),this.panelContainer=se.createRef(),this.pending=new Xr;var{dh:t,panelState:n,settings:i}=e;this.columnFormats=mn.getColumnFormats(i),this.dateTimeFormatter=new ei(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:l=!1,name:s,type:o,timestamp:d}=n??{},h=s!=null&&o!=null?{name:s,type:o}:void 0;this.state={column:h,formatter:new _e(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:l,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:i,timestamp:a}=this.state,l=this.getSourceTable(t,e);if(l!==null&&this.startListeningToSource(l),n!=null){var{name:s,type:o}=n;this.sendUpdate(s,o,i,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:i,settings:a}=this.props,{valuesTable:l}=this.state,s=this.getSource(n),o=this.getSourceTable(i,n),d=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),l!==t.valuesTable&&t.valuesTable!=null&&(K.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==h||s!==d)&&this.updateValuesTable(),o!==h&&(h!==null&&this.stopListeningToSource(h),o!==null&&this.startListeningToSource(o))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);this.pending.cancel(),i!==null&&this.stopListeningToSource(i),this.cleanup&&this.cleanup(),n?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(dr.SOURCE_BUTTON_CLASS_NAME)),n=(e=t?.getBoundingClientRect())!==null&&e!==void 0?e:null;if(n==null||n.width<=0||n.height<=0)return null;var i=n.left+n.width/2,a=n.bottom;return[i,a]}getSettingsErrorMessage(){var{sourceSize:e}=this.state;if(e>Ce.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(Ce.MAX_TABLE_SIZE," options.")}getPanelErrorMessage(){var{error:e}=this.state;return e!=null?"".concat(e):void 0}getSource(e){var t=this.getCachedPanelLinks(e,this);return this.getCachedSource(t)}getSourceTable(e,t){var n=this.getSource(t);return this.getCachedSourceTable(e,n)}getValuesColumn(e,t){var n=this.getSource(t);return this.getCachedSourceColumn(e,n)}startListeningToSource(e){var{dh:t}=this.props;K.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;K.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,{name:a=void 0,type:l=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,c,{panelState:m,timestamp:p,wasFlipped:g,skipUpdate:v}=d,f=m!=null&&n!==m.isValueShown&&a===m.name&&l===m.type&&i===m.value;return s=(h=!v&&n&&(!f||!g))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,l,i,o)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){K.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(X.COLUMN_SELECTED,this,Ce.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){K.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!i}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,i){var a,{dashboardLinks:l,glEventHub:s}=this.props,o=(a=this.getSource(l))===null||a===void 0?void 0:a.panelId,d=o===null?[]:[o];K.debug("sendUpdate",{name:e,type:t,value:n,timestamp:i,excludePanelIds:d}),s.emit(X.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:i,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),i=this.getSourceTable(t,e);if(K.debug("updateValuesTable",n,i),this.setState({values:[],valuesTable:void 0,error:null}),n==null){K.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),i!=null&&(this.setState({isLoaded:!1,sourceSize:i.size}),this.pending.add(i.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{Fe.isCanceled(a)||(K.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);if(K.debug("applySourceSorts",i?.sort),n==null||i==null){K.debug("Table not initialized");return}var a=[...i.sort];n.applySort(a),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);if(K.debug("applySourceFilters",i?.filter),n==null||i==null){K.debug("Table not initialized");return}var a=[...i.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(K.debug("updateViewportListener",e?.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,n=this.getValuesColumn(e,t);if(!n){K.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);Wr(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new _e(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){K.error("valuesTable is null");return}var l=this.getValuesColumn(a,i);if(!l){K.error("Values column not found");return}var s=n.map(o=>o.get(l));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:l})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,Ce.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:i,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:m,valuesColumn:p,isLoading:g,isLoaded:v}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),S=this.getPanelErrorMessage(),b=v&&p!=null?this.getCachedValues(m,p,o):[];return u.jsx(Lt,{errorMessage:S,isLoading:g,isLoaded:v,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(dr,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:l,disableLinking:n,isLoaded:v,settingsError:C,source:f,value:c,values:b,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}ne(Ce,"displayName","DropdownFilterPanel");ne(Ce,"COMPONENT","DropdownFilterPanel");ne(Ce,"MAX_TABLE_SIZE",256);ne(Ce,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var ws=Ss(Ce);const Ue=ws;function ur(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function xt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ur(Object(t),!0).forEach(function(n){bt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ur(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function bt(r,e,t){return e=Es(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Es(r){var e=ys(r,"string");return typeof e=="symbol"?e:String(e)}function ys(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var W=Z.module("FilterSetManager"),Ps="Enter name...",hr="No Available Filter Sets";class Gt extends T.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),bt(this,"renameInputRef",se.createRef()),bt(this,"dropdownRef",se.createRef()),bt(this,"editDropdownRef",se.createRef()),bt(this,"isRenamingExistingSet",_((t,n)=>n!==void 0&&t.some(i=>{var{id:a}=i;return a===n.id}))),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleEditDropdownChange=this.handleEditDropdownChange.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleCaptureNewSet=this.handleCaptureNewSet.bind(this),this.handleNameInputChange=this.handleNameInputChange.bind(this),this.handleNameInputKeyPress=this.handleNameInputKeyPress.bind(this),this.handleRenameConfirm=this.handleRenameConfirm.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRestoreFullStateChange=this.handleRestoreFullStateChange.bind(this),this.handleSetDelete=this.handleSetDelete.bind(this),this.handleSetEdit=this.handleSetEdit.bind(this),this.handleSetUpdate=this.handleSetUpdate.bind(this),this.state={editId:void 0,renameSet:void 0,nameInputValue:"",nameInputError:void 0,modifiedFilterSets:[],restoreFullState:!1}}componentDidMount(){var{isValueShown:e}=this.props;e?this.updateSelectedId():this.initSettingsScreen()}componentDidUpdate(e,t){var{isValueShown:n,filterSets:i}=this.props,{modifiedFilterSets:a}=this.state;if(e.isValueShown&&!n&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),i!==e.filterSets)if(!n&&i.length>0&&e.filterSets.length===0&&a.length===0){var{onChange:l}=this.props;l({isValueShown:!0,selectedId:i[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;W.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:i}=this.props;if(W.debug("updateSelectedId",t,n),!!e&&!t.some(l=>{var{id:s}=l;return s===n})){var a=t.length===0;i({isValueShown:!a,selectedId:a?void 0:t[0].id})}}handleEditDropdownChange(e){this.setState({editId:e})}handleFilterChange(e){var t=e,{isValueShown:n,onChange:i}=this.props;this.applyFilterSet(t),i({isValueShown:n,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:n}=this.props;this.setState({modifiedFilterSets:[]}),n.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:n,editId:i}=this.state;this.setState({modifiedFilterSets:[]}),W.debug("Update sets",n,i),t(n),n.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Gt.animateScreenFlash();var t=be(),n=e(),i={id:t,title:"",panels:n};W.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return W.debug("Name cannot be empty",a),"Name cannot be empty";if(n!==void 0&&i.some(l=>{var{title:s,id:o}=l;return s===a&&o!==n.id}))return W.debug("Set with this name already exists",a),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:n,modifiedFilterSets:i,restoreFullState:a}=this.state;if(n===void 0){W.error("Renamed set undefined.");return}var l=this.getNameError(t);if(W.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",o=xt(xt({},n),{},{title:s,restoreFullState:a}),d=i.findIndex(c=>{var{id:m}=c;return m===n.id}),h=[...i];d>=0?(h[d]=o,W.debug("Renamed existing set",h)):(h.push(o),W.debug("Added new set to modified sets",h)),this.setState({editId:o.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,i=n.findIndex(o=>{var{id:d}=o;return d===t});if(i<0)return W.error("Unable to find selected filterSet index",n,t),null;var a=n.filter(o=>{var{id:d}=o;return d!==t}),l=Math.max(0,Math.min(a.length-1,i-1)),s=a.length>0?a[l].id:void 0;return W.debug("Deleted selected set",t,n,a),W.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Gt.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:i,editId:a}=n;if(a===void 0)return W.error("Filter for update not selected."),null;var l=[...i],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(W.error("Selected set for update not found."),null):(l[s]=xt(xt({},l[s]),{},{panels:t}),W.debug("Update set",l,t),{modifiedFilterSets:l})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,i=n.find(s=>{var{id:o}=s;return o===t});if(i===void 0)return W.error("Could not find selected set",t,n),null;var{title:a,restoreFullState:l=!1}=i;return{nameInputValue:a,nameInputError:void 0,renameSet:i,restoreFullState:l}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){W.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){W.debug("No filter selected");return}var i=n.find(a=>{var{id:l}=a;return l===e});if(i===void 0){W.debug("Selected id not found in filterSets",e,n);return}W.debug("Apply filterSet",i),t(i)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:i,modifiedFilterSets:a,restoreFullState:l}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,i),m=a.length===0,p=!h&&m&&o.length===0,g=!h&&!p,v=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(he,{icon:$n,mask:Un,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:Za,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(he,{icon:$n,mask:Un,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:Ya,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(En,{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:[p&&u.jsxs("div",{children:[u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:v,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:Ps,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx($,{"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:Wa}),u.jsx($,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:qa})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(ll,{onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Bn,{value:"false",children:"Restore only filters"}),u.jsx(Bn,{value:"true",children:"Restore full table state"})]})})]}),g&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(yt,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:m,children:[m&&u.jsx("option",{value:"-1",disabled:!0,children:hr}),a.map(C=>{var{id:S,title:b}=C;return u.jsx("option",{value:S,children:b},S)})]}),u.jsx($,{kind:"ghost",onClick:this.handleSetUpdate,disabled:m,icon:f,tooltip:"Update"}),u.jsx($,{kind:"ghost",onClick:this.handleSetEdit,disabled:m,icon:ui,tooltip:"Edit"}),u.jsx($,{kind:"ghost",onClick:this.handleSetDelete,disabled:m,icon:Sn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:v,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx($,{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(yt,{"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:hr}),o.map(C=>{var{id:S,title:b}=C;return u.jsx("option",{value:S,children:b},S)})]}),u.jsx($,{"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($,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(he,{icon:bn,transform:"grow-4"})})})]},"back")]})})}}const Ei=Gt;function Mn(r){var e,t,n,i,a,{model:l,widgetName:s,glContainer:o,description:d}=r,h=((e=l?.rowCount)!==null&&e!==void 0?e:0)-((t=l?.pendingRowCount)!==null&&t!==void 0?t:0)-((n=l?.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((i=l?.floatingTopRowCount)!==null&&i!==void 0?i:0),c=l?.displayString(h,"long"),m=(a=l?.columnCount)!==null&&a!==void 0?a:0,p=l?.displayString(m,"long");return u.jsxs(Nt,{widgetType:"Table",widgetName:s,glContainer:o,description:d,children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:p}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Mn.propTypes={glContainer:qr.Container.isRequired,widgetName:R.string.isRequired,description:R.string};Mn.defaultProps={description:null};function yi(r){if(r==null)return!1;var e=r;return typeof e.table=="string"}function Pi(r){if(r==null)return!1;var e=r;return typeof e.name=="string"}function cr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ke(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cr(Object(t),!0).forEach(function(n){Y(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):cr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Y(r,e,t){return e=Ts(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ts(r){var e=Fs(r,"string");return typeof e=="symbol"?e:String(e)}function Fs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ye=Z.module("IrisGridPanel"),Ds=500;function pr(r){if(r==null)throw new Error("No metadata provided");if(Pi(r))return r.name;if(yi(r))return r.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(r)))}class lt extends T.PureComponent{constructor(e){super(e),Y(this,"irisGrid",void 0),Y(this,"pluginRef",void 0),Y(this,"modelPromise",void 0),Y(this,"irisGridState",void 0),Y(this,"gridState",void 0),Y(this,"pluginState",void 0),Y(this,"irisGridUtils",void 0),Y(this,"getGridInputFilters",_((n,i)=>B.getInputFiltersForColumns(n,i.filter(a=>{var{value:l,excludePanelIds:s}=a,o=O.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),Y(this,"getAlwaysFetchColumns",_((n,i)=>{for(var a=O.getIdFromPanel(this),l=new Set(i),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),Y(this,"getPluginContent",_((n,i,a)=>!i||!qe(i)||n==null||i.table==null?null:u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,{ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:i,table:i.table,onStateChange:this.handlePluginStateChange,pluginState:a})}))),Y(this,"getDehydratedIrisGridPanelState",_((n,i,a,l)=>B.dehydrateIrisGridPanelState(n,{isSelectingPartition:i,partitions:a,advancedSettings:l}))),Y(this,"getDehydratedIrisGridState",_((n,i,a,l,s,o,d,h,c,m,p,g,v,f,C,S,b,w,y,E,D,F)=>(M(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:b,customColumnFormatMap:l,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:S},quickFilters:o,customColumns:d,reverseType:h,rollupConfig:c,showSearchBar:m,searchValue:p,selectDistinctColumns:g,selectedSearchColumns:v,sorts:i,invertSearchColumns:f,pendingDataMap:w,frozenColumns:y,conditionalFormats:E,columnHeaderGroups:D,partitionConfig:F})))),Y(this,"getDehydratedGridState",_((n,i,a,l,s)=>B.dehydrateGridState(n,{isStuckToBottom:l,isStuckToRight:s,movedColumns:i,movedRows:a}))),Y(this,"getCachedPanelState",_((n,i,a,l)=>({irisGridPanelState:n,irisGridState:i,gridState:a,pluginState:l}))),Y(this,"savePanelState",Ze(()=>{var{irisGridState:n,gridState:i,pluginState:a}=this;M(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state,{advancedFilters:m,aggregationSettings:p,customColumnFormatMap:g,isFilterBarShown:v,quickFilters:f,customColumns:C,reverseType:S,rollupConfig:b,showSearchBar:w,searchValue:y,selectDistinctColumns:E,selectedSearchColumns:D,sorts:F,invertSearchColumns:P,metrics:N,pendingDataMap:x,frozenColumns:A,conditionalFormats:V,columnHeaderGroups:U,partitionConfig:oe}=n;M(s),M(N);var{userColumnWidths:De,userRowHeights:Se}=N;M(i);var{isStuckToBottom:Me,isStuckToRight:pe,movedColumns:xe,movedRows:He}=i,we=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.getDehydratedIrisGridState(s,F,m,g,v,f,C,S,b,w,y,E,D,P,De,Se,p,x,A,V,U,oe),this.getDehydratedGridState(s,xe,He,Me,pe),a);we!==o&&(ye.debug("Saving panel state",this,we),this.setState({panelState:we}),l?.(we))},Ds)),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=se.createRef(),this.pluginRef=se.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(ol.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:j.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:i}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),i!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return pr(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Fe.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:i}=this.state,a=[];if(this.irisGridUtils=new B(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=Ke(Ke({},l),i);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=B.getModelRollupConfig(c.originalColumns,h,s)}),d.length>0&&a.push(c=>{c.selectDistinctColumns=d})}this.setState({model:t,modelQueue:a}),this.initModelQueue(t,a)}initModelQueue(e,t){var n=e;if(t.length===0){this.modelInitialized(n);return}var i=t.shift();ye.debug("initModelQueue",i),i&&i(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){ye.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:i}=n;return i.get(e)===t?null:{advancedSettings:new Map(i).set(e,t)}})}handlePluginFilter(e){var t,n,{model:i}=this.state;M(i);var{columns:a,formatter:l}=i,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,l.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,i;return(t=(n=this.pluginRef.current)===null||n===void 0||(i=n.getMenu)===null||i===void 0?void 0:i.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:i}=this.props;n.emit(de.STATE_CHANGED,this),i?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:i}=this.state;t?this.sendColumnsChange(e.detail):(M(n),this.initModelQueue(n,i))}handleTableChanged(e){ye.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(X.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:i}=this.props,a=this.getTableName(),{panelState:l}=this.state,s=O.getIdFromPanel(this),o;l&&(o=B.extractTableSettings(l,i)),n.emit(de.CREATE_CHART,{metadata:{settings:e,sourcePanelId:s,table:a,tableSettings:o},table:qe(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(de.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(de.DATA_SELECTED,this,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){ye.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){Fe.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}),qe(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}t.emit(X.TABLE_CHANGED,this,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){ye.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(X.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(k.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(k.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(k.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(k.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(k.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(k.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(k.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(k.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,i,{model:a}=this.state;if(!a)return null;var l=this.irisGrid.current,{gridWrapper:s}=l||{},o=(t=s?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;M(l);var{metrics:d}=l.state;M(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:m,right:p,columnHeaderMaxDepth:g}=d,v=a.getColumnIndexByName(e);M(v);var f=l.getVisibleColumn(v),C=(n=c.get(f))!==null&&n!==void 0?n:0,S=(i=m.get(f))!==null&&i!==void 0?i:0,b=Math.max(o.left,Math.min(f>p?o.right:o.left+C+S*.5,o.right)),w=o.top+h*g;return[b,w]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;ye.debug("setFilters",t,n);var{model:i,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){ye.debug("Ignore setFilters, model disconnected");return}M(i);var{columns:s,formatter:o}=i,d=B.changeFilterColumnNamesToIndexes(i.columns,t).filter(c=>{var[m]=c;return i.isFilterable(m)}),h=B.changeFilterColumnNamesToIndexes(i.columns,n).filter(c=>{var[m]=c;return i.isFilterable(m)});M(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){ye.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:i}=this.state;if(t!=null)try{var{gridState:a,irisGridState:l,irisGridPanelState:s}=t,o=Ke({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=B.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=B.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:m,advancedSettings:p}=B.hydrateIrisGridPanelState(e,s);M(this.irisGridUtils);var{advancedFilters:g,customColumns:v,customColumnFormatMap:f,isFilterBarShown:C,quickFilters:S,reverseType:b,rollupConfig:w,aggregationSettings:y,sorts:E,userColumnWidths:D,userRowHeights:F,showSearchBar:P,searchValue:N,selectDistinctColumns:x,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:U,frozenColumns:oe,conditionalFormats:De,columnHeaderGroups:Se,partitionConfig:Me}=this.irisGridUtils.hydrateIrisGridState(e,Ke(Ke({},l),o)),{isStuckToBottom:pe,isStuckToRight:xe,movedColumns:He,movedRows:we}=B.hydrateGridState(e,Ke(Ke({},a),i),l.customColumns);this.setState({advancedFilters:g,advancedSettings:p,conditionalFormats:De,customColumns:v,customColumnFormatMap:f,isFilterBarShown:C,isSelectingPartition:c,movedColumns:He,movedRows:we,partitions:m,quickFilters:S,reverseType:b,rollupConfig:w,aggregationSettings:y,sorts:E,userColumnWidths:D,userRowHeights:F,showSearchBar:P,searchValue:N,selectDistinctColumns:x,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:U,frozenColumns:oe,isStuckToBottom:pe,isStuckToRight:xe,columnHeaderGroups:Se,partitionConfig:Me})}catch(ae){ye.error("loadPanelState failed to load panelState",t,ae)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:i,glEventHub:a,columnSelectionValidator:l,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,panelState:c,user:m,settings:p,theme:g}=this.props,{advancedFilters:v,aggregationSettings:f,advancedSettings:C,conditionalFormats:S,customColumns:b,customColumnFormatMap:w,error:y,isDisconnected:E,isFilterBarShown:D,isSelectingPartition:F,isStuckToBottom:P,isStuckToRight:N,isLoaded:x,isLoading:A,isModelReady:V,model:U,movedColumns:oe,movedRows:De,partitions:Se,partitionConfig:Me,quickFilters:pe,reverseType:xe,rollupConfig:He,sorts:we,userColumnWidths:ae,userRowHeights:nn,showSearchBar:me,searchValue:Ee,selectDistinctColumns:Ne,selectedSearchColumns:Le,invertSearchColumns:Qe,Plugin:rn,pluginFilters:qi,pluginFetchColumns:Zi,pendingDataMap:Yi,frozenColumns:Xi,columnHeaderGroups:Qi}=this.state,Ji=y!=null?"Unable to open table. ".concat(y):void 0,xn=pr(h),An=(e=U?.description)!==null&&e!==void 0?e:void 0,ea=(t=c?.pluginState)!==null&&t!==void 0?t:null,ta=n??this.getPluginContent(rn,U,ea),{permissions:na}=m,{canCopy:ra,canDownloadCsv:ia}=na;return u.jsx(Lt,{errorMessage:Ji,isDisconnected:E,isLoading:A,isLoaded:x,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:xn,widgetType:"Table",description:An,componentPanel:this,renderTabTooltip:()=>u.jsx(Mn,{model:U,widgetName:xn,glContainer:i,description:An}),children:V&&U&&u.jsx(wn,{advancedFilters:v,aggregationSettings:f,advancedSettings:C,alwaysFetchColumns:this.getAlwaysFetchColumns(d,Zi),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:b,customColumnFormatMap:w,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:S,inputFilters:this.getGridInputFilters(U.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:D,isSelectingColumn:l!=null,isSelectingPartition:F,isStuckToBottom:P,isStuckToRight:N,movedColumns:oe,movedRows:De,partitions:Se,partitionConfig:Me,quickFilters:pe,reverseType:xe,rollupConfig:He,settings:p,sorts:we,userColumnWidths:ae,userRowHeights:nn,model:U,showSearchBar:me,searchValue:Ee,selectedSearchColumns:Le,selectDistinctColumns:Ne,invertSearchColumns:Qe,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:qi,pendingDataMap:Yi,canCopy:ra,canDownloadCsv:ia,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:Xi,theme:g,columnHeaderGroups:Qi,children:ta})})}}Y(lt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Y(lt,"displayName","IrisGridPanel");Y(lt,"COMPONENT","IrisGridPanel");var Ms=(r,e)=>{var{localDashboardId:t=ha}=e;return{inputFilters:Wt(r,t),links:Dt(r,t),columnSelectionValidator:Kt(r,t),user:ua(r),settings:qt(r)}},Ns=Ye(Ms,null,null,{forwardRef:!0})(lt);const st=Ns;function wt(r,e,t){return e=Ls(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ls(r){var e=Os(r,"string");return typeof e=="symbol"?e:String(e)}function Os(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var mr=Z.module("InputFilter"),Rs=150;class ot extends T.Component{constructor(e){super(e),wt(this,"inputRef",void 0),wt(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),wt(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},Rs)),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=se.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,selectedColumn:t,value:i,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:i,value:a,isValueShown:l}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),l!==void 0&&l&&l!==t.isValueShown&&this.focusInput(),(i!==t.column||a!==t.value||l!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];mr.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;mr.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:i,isValueShown:a}=e,l=t!=null&&n!=null?{name:t,type:n}:void 0,s=a===void 0?{column:l,value:i}:{column:l,value:i,isValueShown:a};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:i,value:a}=this.state,l=a==null||a.length===0?ot.PLACEHOLDER.length:a.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(En,{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(yt,{value:String(e.findIndex(d=>d.name===i?.name&&d.type===i?.type)),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,h)=>u.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx($,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:i==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:ot.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(l+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:bn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}wt(ot,"PLACEHOLDER","Enter value...");wt(ot,"defaultProps",{column:null,isValueShown:!1,value:null});const Is=ot;function Qt(r,e,t){return e=ks(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ks(r){var e=_s(r,"string");return typeof e=="symbol"?e:String(e)}function _s(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var xs=250;class Jt extends T.Component{constructor(e){super(e),Qt(this,"inputFilterRef",void 0),this.handleChange=Ze(this.handleChange.bind(this),xs),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=se.createRef();var{panelState:t}=e,{value:n,isValueShown:i=!1,name:a,type:l,timestamp:s}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,a,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:m,wasFlipped:p,skipUpdate:g}=d,v=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&i===c.value;return s=(h=!g&&n&&(!v||!p))!==null&&h!==void 0?h:!1,s||(o=m),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:o},timestamp:o,wasFlipped:v,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,l,i,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,i){var{glEventHub:a}=this.props;a.emit(X.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:i})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(i=>{var{name:a,type:l}=i;return n.name===a&&n.type===l})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:i,isValueShown:a,value:l}=this.state;return u.jsx(Ft,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(Is,{ref:this.inputFilterRef,column:n,columns:i,onChange:this.handleChange,isValueShown:a,value:l})})}}Qt(Jt,"defaultProps",{panelState:null});Qt(Jt,"COMPONENT","InputFilterPanel");Qt(Jt,"displayName","InputFilterPanel");var As=(r,e)=>{var{localDashboardId:t}=e;return{columns:Cn(r,t)}},js=Ye(As,null,null,{forwardRef:!0})(Jt);const it=js;function vr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function At(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vr(Object(t),!0).forEach(function(n){Nn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):vr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Nn(r,e,t){return e=Vs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Vs(r){var e=$s(r,"string");return typeof e=="symbol"?e:String(e)}function $s(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ee=Z.module("FilterSetManagerPanel");function Us(r){return r.setPanelState!=null}class dt extends T.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[i,a]=n;if(i>=e.columns.length)return null;var{name:l}=e.columns[i];return{name:l,filter:a}}).filter(n=>n!=null)}constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleSetsUpdate=this.handleSetsUpdate.bind(this),this.handleGetFilterState=this.handleGetFilterState.bind(this);var{panelState:t,filterSets:n}=e,{selectedId:i=n.length>0?n[0].id:void 0,isValueShown:a=!1}=t??{};this.state={selectedId:i,isValueShown:a,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(n=>{var i=e.get(n);if(i===void 0){ee.error("Could not get panel",i);return}var a=O.getComponentNameFromPanel(i),l=O.getIdFromPanel(i);ee.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){ee.error("Could not get panel container",i);return}var o=O.getComponentConfigFromContainer(s);if(o==null){ee.error("Could not get component config from container",s);return}var d=O.getPanelComponentState(o);if(d==null){ee.debug("Panel state is null ".concat(l));return}switch(a){case O.getComponentName(lt):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case O.getComponentName(it):case O.getComponentName(Ue):{var{isValueShown:c,name:m,type:p,value:g}=d;t.push({panelId:l,type:a,state:{isValueShown:c,name:m,type:p,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,i=n.get(e);if(i==null)return ee.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=dt.changeFilterIndexesToColumnNames(i,s));var h;return o&&(h=dt.changeFilterIndexesToColumnNames(i,o)),{irisGridState:At(At({},a),{},{advancedFilters:d,quickFilters:h}),gridState:At({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;ee.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:i=!1}=e;ee.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){ee.debug("panel is null",l);return}if(!t.has(l)){ee.debug("Ignore closed panel",l);return}ee.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case O.getComponentName(lt):this.restoreIrisGridFilters(d,o,i);break;case O.getComponentName(it):case O.getComponentName(Ue):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;ee.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:i={},advancedFilters:a=[],quickFilters:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=i,{panelTableMap:d}=this.props,h=O.getIdFromPanel(e);if(h==null){ee.error("Panel Id is null.");return}var c=d.get(h);if(c==null){ee.error("Unable to get table for panel ".concat(h,"."));return}ee.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=At({},t);delete n.isValueShown,ee.debug("restoreInputFilterState",e,n),e&&Us(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:i,selectedId:a}=this.state;return u.jsx(Ft,{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(Ei,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Nn(dt,"defaultProps",{panelState:null});Nn(dt,"COMPONENT","FilterSetManagerPanel");var Gs=(r,e)=>{var{localDashboardId:t}=e;return{filterSets:ni(r,t),dashboardOpenedPanelMap:Qr(r,t),dashboardInputFilters:Wt(r,t),panelTableMap:Bt(r,t)}},Hs=Ye(Gs,{setDashboardFilterSets:ti},null,{forwardRef:!0})(dt);const $t=Hs;function Bs(r,e,t){return e=zs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function zs(r){var e=Ks(r,"string");return typeof e=="symbol"?e:String(e)}function Ks(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Ti extends T.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:ce("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(he,{icon:ui})]})}),t]})}}Bs(Ti,"defaultProps",{isEditing:!1});function Ws(r,e,t){return e=qs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function qs(r){var e=Zs(r,"string");return typeof e=="symbol"?e:String(e)}function Zs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Ys=Z.module("MarkdownStartPage");class Fi extends T.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(Ys.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:i,toBeDeleted:a}=this.state;return u.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:u.jsxs("div",{className:"markdown-panel-start-page-container",children:[u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Start"}),u.jsx("div",{className:"list-item",children:u.jsx($,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(l=>u.jsxs("div",{className:"list-item",children:[u.jsx($,{kind:"ghost",className:"title",onClick:()=>t(l),children:l.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(l)},children:u.jsx(he,{icon:Sn})})]},l.id)),u.jsxs(Xa,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(Qa,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(Ja,{children:"You can't undo this action."}),u.jsxs(ca,{children:[u.jsx($,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx($,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}Ws(Fi,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const Xs=Fi;function Et(r,e,t){return e=Qs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Qs(r){var e=Js(r,"string");return typeof e=="symbol"?e:String(e)}function Js(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var eo=T.lazy(()=>cl(()=>import("./MarkdownEditor-5b938d97.js"),["./MarkdownEditor-5b938d97.js","./vendor-42b82a60.js","./helpers-de833af9.js","./vendor-07c93e4f.css","./ControlType-bd14ad7d.js","./index-bede718d.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-13e1b819.css","./ControlType-403497ff.css","./mathjax-d21c95cb.js"],import.meta.url)),jt=Z.module("MarkdownPanel");class Ln extends T.Component{constructor(e){super(e),Et(this,"markdownEditor",void 0),Et(this,"editor",void 0),Et(this,"getClosedMarkdowns",_(i=>i.filter(a=>a.component==="MarkdownPanel").reverse())),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&&({content:n}=t),this.state={isStartPageShown:n==null,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){M(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,i,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){jt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){jt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){jt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,i=O.getComponentConfigFromContainer(t);n.emit(ie.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ie.DELETE,e)}handleEditorBlur(e){var t;jt.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:i,isStartPageShown:a,content:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(Ft,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(Xs,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(Ti,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(T.Suspense,{fallback:u.jsx(ci,{}),children:u.jsx(eo,{ref:o=>{this.markdownEditor=o},isEditing:i,content:l??void 0,onEditorInitialized:this.handleEditorInitialized})})})})}}Et(Ln,"defaultProps",{panelState:null});Et(Ln,"COMPONENT","MarkdownPanel");var to=(r,e)=>{var{localDashboardId:t}=e;return{closedPanels:pa(r,t)}},no=Ye(to,null,null,{forwardRef:!0})(Ln);const nt=no;function Di(r){var{onClick:e}=r,t=T.useRef(null),n=T.useCallback(i=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(i)},[e]);return u.jsxs($,{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(he,{icon:hi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function fr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function gr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fr(Object(t),!0).forEach(function(n){en(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):fr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function en(r,e,t){return e=ro(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ro(r){var e=io(r,"string");return typeof e=="symbol"?e:String(e)}function io(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class On extends T.Component{constructor(e){super(e),en(this,"irisGridRef",void 0),this.irisGridRef=se.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(st,gr(gr({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(Di,{onClick:this.handleReload})}))}}en(On,"defaultProps",{panelState:null});en(On,"COMPONENT","PandasPanel");const Mi=On;function Cr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function br(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Cr(a,n,i,l,s,"next",o)}function s(o){Cr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Sr(r,e,t){return e=ao(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ao(r){var e=lo(r,"string");return typeof e=="symbol"?e:String(e)}function lo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class so{constructor(e){Sr(this,"items",void 0),Sr(this,"onUpdateCallback",void 0),this.items=e}setSearch(e){}setExpanded(e,t){if(e.charAt(e.length-1)==="/")for(var n=0;n<this.items.length;n+=1){var i=this.items[n];Vn(i)&&("".concat(i.filename,"/")===e||i.filename===e)&&(i.isExpanded=t)}return Promise.resolve()}collapseAll(){for(var e=0;e<this.items.length;e+=1){var t=this.items[e];Vn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return br(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return br(function*(){var n,i=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,i)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}const oo=so;function wr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function mt(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){wr(a,n,i,l,s,"next",o)}function s(o){wr(a,n,i,l,s,"throw",o)}l(void 0)})}}function uo(r,e,t){return e=ho(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ho(r){var e=co(r,"string");return typeof e=="symbol"?e:String(e)}function co(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class po{constructor(e){uo(this,"items",void 0),this.items=e}getTable(){var e=this;return mt(function*(){return new oo(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return mt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return mt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return mt(function*(){for(var i=0;i<n.items.length;i+=1)if(n.items[i].filename===e){n.items[i].filename=t,n.items[i].basename=ma.getBaseName(t),n.items[i].id=t;break}})()}info(e){var t=this;return mt(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new va;if(n.length>1)throw new Error("More than one matching file found");var i=n[0];return{filename:i.filename,basename:i.basename,id:i.filename,type:i.type}})()}createDirectory(e){throw new Error("Method not implemented.")}}const mo=po;function Er(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ht(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Er(Object(t),!0).forEach(function(n){vo(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Er(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function vo(r,e,t){return e=fo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function fo(r){var e=go(r,"string");return typeof e=="symbol"?e:String(e)}function go(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function yr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Co(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){yr(a,n,i,l,s,"next",o)}function s(o){yr(a,n,i,l,s,"throw",o)}l(void 0)})}}function bo(r,e,t,n,i){return vn.apply(this,arguments)}function vn(){return vn=Co(function*(r,e,t,n,i){var a,l,s,o;if(rt(t)?(a=t.settings,l=t.table,s=void 0,o=t.tableSettings):(a={},l="",s=Dn(t)?t.figure:t.name,o={}),i!=null&&(i.tableSettings!=null&&(o=i.tableSettings),i.table!=null&&(l=i.table),i.figure!=null&&(s=i.figure),i.settings!=null&&(a=Ht(Ht({},a),i.settings))),s==null&&l==null){var d=yield n();return St.makeModel(r,a,d)}if(s!=null){var h;if(t.type===r.VariableType.FIGURE){var c={name:s,type:r.VariableType.FIGURE};h=yield e(c)}else h=yield n();return St.makeModel(r,a,h)}var m={name:l,type:r.VariableType.TABLE},p=yield e(m);return new B(r).applyTableSettings(p,o,ri(ga.getState())),St.makeModelFromSettings(r,a,p)}),vn.apply(this,arguments)}var Rn=T.forwardRef((r,e)=>{var t=ht(),n=fa(),i=wi(r)?r.panelState:void 0,{fetch:a,metadata:l,localDashboardId:s}=r,o=T.useMemo(()=>({metadata:l,localDashboardId:s,makeModel:()=>{if(l==null)throw new Error("Metadata is required for chart panel");return bo(t,n,l,a,i)}}),[l,s,t,n,a,i]);return u.jsx(Ot,Ht(Ht({ref:e},r),o))});Rn.displayName="ChartPanelPlugin";const So=Rn;function Pr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function wo(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Pr(a,n,i,l,s,"next",o)}function s(o){Pr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Ni(r){var e=ht(),[t,n]=T.useState(),{fetch:i}=r;return T.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=wo(function*(){var o=yield i(),d=yield St.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,i]),t?u.jsx(mi,{model:t}):null}var Eo={name:"ChartPanel",title:"Chart",type:Ge.WIDGET_PLUGIN,component:Ni,panelComponent:Rn,supportedTypes:"Figure",icon:el};const yo=Eo;function Li(r){Mt(r);var{id:e,layout:t}=r,n=ht(),i=T.useCallback(a=>{var{metadata:l,panelId:s=be.generate(),table:o}=a,{settings:d}=l,h=()=>St.makeModelFromSettings(n,d,o),c=te.titleFromSettings(d),m={type:"react-component",component:Ot.COMPONENT,props:{localDashboardId:e,id:s,metadata:l,makeModel:h},title:c,id:s},{root:p}=t;O.openComponent({root:p,config:m})},[n,e,t]);return Te(t.eventHub,de.CREATE_CHART,i),null}var Po={name:"ChartBuilderPlugin",type:Ge.DASHBOARD_PLUGIN,component:Li};const To=Po;var vt=Z.module("FilterPlugin");function Tr(r,e){return r.concat(e)}function Oi(r){Mt(r);var{id:e,layout:t,registerComponent:n}=r,i=la(),[a]=T.useState(()=>new Map),[l]=T.useState(()=>new Map),[s]=T.useState(()=>new Map),o=T.useCallback(()=>{var f=Array.from(a.values()).reduce(Tr,[]).sort((b,w)=>{var y=Pe.toLower(b.name),E=Pe.toLower(w.name);if(y!==E)return y>E?1:-1;var D=Pe.toLower(b.type),F=Pe.toLower(w.type);return D!==F?D>F?1:-1:0}).reduce((b,w)=>((b.length===0||Pe.toLower(b[b.length-1].name)!==Pe.toLower(w.name)||Pe.toLower(b[b.length-1].type)!==Pe.toLower(w.type))&&b.push(w),b),[]),C=Array.from(l.values()).reduce(Tr,[]).sort((b,w)=>b.timestamp-w.timestamp),S=new Map(s);vt.debug("sendUpdate",{columns:f,filters:C,tableMap:S}),i(Ca(e,{columns:f,filters:C,tableMap:S}))},[i,e,a,l,s]),d=T.useCallback((f,C)=>{vt.debug2("handleColumnsChanged",f,C),a.set(f,[].concat(C)),o()},[a,o]),h=T.useCallback((f,C)=>{vt.debug2("handleFiltersChanged",f,C),l.set(f,[].concat(C)),o()},[l,o]),c=T.useCallback((f,C)=>{vt.debug2("handleTableChanged",f,C),s.set(O.getIdFromPanel(f),C),o()},[s,o]),m=T.useCallback(f=>{vt.debug2("handlePanelUnmount",f),a.delete(f),l.delete(f),s.delete(O.getIdFromPanel(f)),o()},[a,l,s,o]),p=T.useCallback(f=>{var{title:C="DropdownFilter",metadata:S={},panelState:b=null,id:w=be.generate(),focusElement:y=O.DEFAULT_FOCUS_SELECTOR,createNewStack:E=!1,dragEvent:D=null}=f,F={type:"react-component",component:Ue.COMPONENT,props:{id:w,metadata:S,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:F,focusElement:y,createNewStack:E,dragEvent:D})},[t,e]),g=T.useCallback(f=>{var{title:C="InputFilter",metadata:S={},panelState:b=null,id:w=be.generate(),focusElement:y=O.DEFAULT_FOCUS_SELECTOR,createNewStack:E=!1,dragEvent:D=void 0}=f,F={type:"react-component",component:it.COMPONENT,props:{id:w,metadata:S,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:F,focusElement:y,createNewStack:E,dragEvent:D})},[t,e]),v=T.useCallback(f=>{var{title:C="FilterSets",metadata:S={},panelState:b=null,id:w=be.generate(),focusElement:y=O.DEFAULT_FOCUS_SELECTOR,createNewStack:E=!1,dragEvent:D=null}=f,F={type:"react-component",component:$t.COMPONENT,props:{id:w,metadata:S,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:F,focusElement:y,createNewStack:E,dragEvent:D})},[t,e]);return T.useEffect(function(){var C=[n(Ue.COMPONENT,Ue),n(it.COMPONENT,it),n($t.COMPONENT,$t)];return()=>{C.forEach(S=>S())}},[n]),Te(t.eventHub,X.COLUMNS_CHANGED,d),Te(t.eventHub,X.FILTERS_CHANGED,h),Te(t.eventHub,X.TABLE_CHANGED,c),Te(t.eventHub,X.OPEN_DROPDOWN,p),Te(t.eventHub,X.OPEN_INPUT,g),Te(t.eventHub,X.OPEN_FILTER_SET_MANAGER,v),Te(t.eventHub,ie.UNMOUNT,m),null}var Fo={name:"FilterPlugin",type:Ge.DASHBOARD_PLUGIN,component:Oi};const Do=Fo;var Mo=Z.module("@deephaven/app-utils/useTablePlugin");function Ri(){var r=ii(),e=T.useCallback(t=>{var n=r.get(t);if(n!=null){if(ba(n))return n.component;if(Sa(n))return n.TablePlugin}var i="Unable to find table plugin ".concat(t,".");throw Mo.error(i),new Error(i)},[r]);return e}function Fr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function No(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Fr(a,n,i,l,s,"next",o)}function s(o){Fr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Ii(r,e,t){var n=ht(),i=Ri(),a=T.useMemo(()=>({loadPlugin:i,localDashboardId:e,makeModel:function(){var l=No(function*(){var o=yield r();return Pn.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,r,e,i,t]);return a}function Dr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Mr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dr(Object(t),!0).forEach(function(n){Lo(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Dr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Lo(r,e,t){return e=Oo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Oo(r){var e=Ro(r,"string");return typeof e=="symbol"?e:String(e)}function Ro(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var In=T.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=Ii(n,t,i);return u.jsx(st,Mr(Mr({ref:e},r),a))});In.displayName="GridPanelPlugin";const Io=In;function Nr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function ko(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Nr(a,n,i,l,s,"next",o)}function s(o){Nr(a,n,i,l,s,"throw",o)}l(void 0)})}}function ki(r){var e=ht(),t=sa(qt),[n,i]=T.useState(),{fetch:a}=r;return T.useEffect(()=>{var l=!1;function s(){return o.apply(this,arguments)}function o(){return o=ko(function*(){var d=yield a(),h=yield Pn.makeModel(e,d);l||i(h)}),o.apply(this,arguments)}return s(),()=>{l=!0}},[e,a]),n?u.jsx(wn,{model:n,settings:t}):null}var _o={name:"IrisGridPanel",title:"Table",type:Ge.WIDGET_PLUGIN,component:ki,panelComponent:In,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:tl};const xo=_o;function Lr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ve(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Lr(Object(t),!0).forEach(function(n){_i(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Lr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function _i(r,e,t){return e=Ao(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ao(r){var e=jo(r,"string");return typeof e=="symbol"?e:String(e)}function jo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function xi(r){var e=r;return typeof e.getCoordinateForColumn=="function"}function Or(r){var e=r;return xi(r)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function Rr(r){return r.description==null||!r.description.startsWith("Preview of type: ")}var ft=Z.module("LinkerUtils");class tn{static getLinkType(e,t,n){var i;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return ft.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return ft.error("PanelComponent should not be null",e,t),"invalid";var a=(i=tn.ALLOWED_LINKS.get(e.panelComponent))===null||i===void 0?void 0:i.includes(t.panelComponent);if(a===void 0||!a)return ft.debug2("Incompatible panel components",e,t),"invalid";var{columnType:l}=e,{columnType:s}=t,o=s===null||j.isCompatibleType(l,s);if(!o)return ft.debug2("Incompatible type",l,s),"invalid";switch(t.panelComponent){case O.getComponentName(Ot):return"chartLink";case O.getComponentName(st):return"tableLink";case O.getComponentName(Ue):return"filterSource"}return ft.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:i}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===i})}static cloneLinksForPanel(e,t,n){var i=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?i.push(Ve(Ve({},a),{},{id:be.generate(),start:Ve(Ve({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&i.push(Ve(Ve({},a),{},{id:be.generate(),end:Ve(Ve({},a.end),{},{panelId:n})}))}),i}}_i(tn,"ALLOWED_LINKS",new Map([[O.getComponentName(st),[O.getComponentName(st),O.getComponentName(Ot),O.getComponentName(Ue)]]]));const We=tn;function Ai(r,e,t){return e=Vo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Vo(r){var e=$o(r,"string");return typeof e=="symbol"?e:String(e)}function $o(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Uo=Z.module("LinkerLink"),Ir=.015,kr=1.5,ji=12,Vi=12,_r=2,Vt=Math.sqrt((Vi*.5)**2+ji**2),xr=Math.asin(Vi*.5/ji),Ar=15,$e=Math.PI*.5;class at extends T.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(j.isNumberType(e)||j.isCharType(e))return dl(t);if(j.isTextType(e))return ul(t);if(j.isDateType(e))return hl(t);if(j.isBooleanType(e)){if(t===Ct.eq)return"is equal to";if(t===Ct.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return Uo.warn(n),""}}constructor(e){super(e),Ai(this,"getOperators",_((t,n)=>{var{onOperatorChanged:i}=this.props,a=j.getFilterTypes(n);return j.isBooleanType(n)&&(a=[Ct.eq,Ct.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=j.getFilterOperatorString(l),[{title:at.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>i(t,l),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:i}=this.props;e.altKey?i(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:i,y1:a,x2:l,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,m=Math.sqrt((i-l)**2+(a-s)**2),p=Math.atan2(s-a,l-i),g=Math.sin(p),v=Math.cos(p)+2,f=window.innerWidth,C=window.innerHeight,S=0,b=0,w=Math.max(S,Math.min(i+(l-i)/2+g*(m*Ir)**kr,f)),y=Math.max(b,Math.min(a+(s-a)/2+v*(m*Ir)**kr,C)),E="M ".concat(i," ").concat(a," Q ").concat(w," ").concat(y," ").concat(l," ").concat(s),D="M ".concat(S," ").concat(b," L ").concat(S," ").concat(C," L ").concat(f," ").concat(C," L ").concat(f," ").concat(b,` z
|
|
4
|
+
`).concat(s," does not exist yet.")}if(i){var{widgetName:o}=this.props;return"".concat(o," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:i,isLoading:a,glContainer:l,glEventHub:s,isDisconnected:o,isClonable:d,isRenamable:h,showTabTooltip:c,renderTabTooltip:m,widgetType:p,widgetName:g,description:v,onClearAllFilters:f,onHide:C,onFocus:S,onBlur:b,onResize:w,onShow:y,onTabBlur:E,onTabFocus:D,onTabClicked:F}=this.props,{isPanelDisconnected:P,isWidgetDisconnected:N,isPanelInactive:x}=this.state,A=this.getErrorMessage(),V=m??this.getCachedRenderTabTooltip(c,l,p,g,v),U=[{title:"Copy ".concat(p," Name"),group:Zr.groups.medium,order:20,action:this.handleCopyName}];return u.jsxs(Ft,{className:ce(t,{disconnected:P||N||o,inactive:x}),componentPanel:n,glContainer:l,glEventHub:s,onClearAllFilters:f,onHide:C,onFocus:S,onBlur:b,onResize:w,onShow:y,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:E,onTabFocus:D,onTabClicked:F,renderTabTooltip:V,errorMessage:A,isLoaded:i,isLoading:a,isClonable:d,isRenamable:h,additionalActions:U,children:[e,x&&u.jsx("div",{className:"fill-parent-absolute"})]})}}gi(Ci,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const Lt=Ci;function bi(r){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:i,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=r,o=T.useMemo(()=>{var g=Array.from(s.keys()),v=g.find(S=>t.get(S)!=null),f=g.find(S=>n.get(S)!=null),C=Pe.join(g.map(S=>'"'.concat(S,'"')));return v!=null&&v&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):v!=null&&v?"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=T.useMemo(()=>Array.from(e.values()),[e]),h=T.useCallback(g=>{g.stopPropagation(),g.preventDefault(),i(Array.from(l.values()))},[i,l]),c=T.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),m=l.size>0,p=!m&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":m},{"chart-filter-waiting-input":p}),children:[m&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(g=>{var v=l.has(g.name),f=v?za:Ka;return u.jsxs("div",{className:ce("waiting-filter-item",{"is-invalid":v}),children:[u.jsx(he,{icon:f}),g.name]},g.name)})}),u.jsxs("div",{children:[u.jsx(Hn,{onClick:h,className:"btn-primary",children:"Add Input Filters"}),u.jsx(Hn,{onClick:c,className:"btn-primary",children:"Open Linker Tool"})]})]}),p&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}bi.propTypes={columnMap:R.instanceOf(Map).isRequired,inputFilterMap:R.instanceOf(Map).isRequired,linkedColumnMap:R.instanceOf(Map).isRequired,onAdd:R.func.isRequired,onOpenLinker:R.func.isRequired,waitingFilterMap:R.instanceOf(Map).isRequired,waitingInputMap:R.instanceOf(Map).isRequired};function Tt(r){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:i}=r;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content"),children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>u.jsx(pi,{className:ce("btn-chart-column-selector",Tt.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}Tt.makeButtonClassName=r=>"btn-chart-column-selector-".concat(r);Tt.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function rt(r){return r.settings!==void 0}function Dn(r){return r.figure!==void 0}function Si(r){if(r==null)return!1;var{settings:e,tableSettings:t}=r;return typeof e=="object"&&typeof t=="object"}function wi(r){return r!=null&&Si(r.panelState)}function sr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function or(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?sr(Object(t),!0).forEach(function(n){ve(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):sr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function ve(r,e,t){return e=ls(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ls(r){var e=ss(r,"string");return typeof e=="symbol"?e:String(e)}function ss(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var re=Z.module("ChartPanel"),os=150;function ds(r){return r.inputFilters!=null}function us(r){return r.panelState!=null}class Xt extends T.Component{constructor(e){super(e),ve(this,"panelContainer",void 0),ve(this,"pending",void 0),ve(this,"getWaitingInputMap",_((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),ve(this,"getWaitingFilterMap",_((l,s,o,d,h)=>{if(!l)return new Map;var c=new Map(s);return o.forEach((m,p)=>{c.delete(p)}),h.forEach((m,p)=>{c.delete(p)}),d.forEach((m,p)=>{c.delete(p)}),c})),ve(this,"getInputFilterColumnMap",_((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:m}=h,p=l.get(c);p!=null&&p.type===m&&o.set(c,h)}return o})),ve(this,"getLinkedColumnMap",_((l,s)=>{for(var o=new Map,d=O.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],m=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?m=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(m=c.end.columnName),m!=null&&l.has(m)){var p=l.get(m);M(p),o.set(m,p)}}return o})),ve(this,"getSelectorColumns",_((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d):!1,isActive:s.has(d.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=Ze(this.updateModelFromSource.bind(this),os),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=se.createRef(),this.pending=new Xr;var{metadata:t,panelState:n}=e,{filterValueMap:i=[],settings:a={}}=n??{};this.state={settings:a,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&rt(t)&&t.settings.isLinked,filterMap:new Map(i),filterValueMap:new Map(i),model:void 0,columnMap:new Map,panelState:n}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:i,makeModel:a}=this.props,{columnMap:l,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:c}=this.state;s&&(a!==e.makeModel&&this.initModel(),l!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),o!==t.filterMap?this.updateFilters():d!==t.filterValueMap&&this.updatePanelState(),c!==t.settings&&Xn(s)&&(s.updateSettings(c),this.updatePanelState()),h!==t.isLinked?i&&(h?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):h&&i!==e.source&&(e.source&&this.stopListeningToSource(e.source),i&&(this.startListeningToSource(i),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){re.debug("startListeningToSource",e);var{model:t}=this.state;M(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){re.debug("stopListeningToSource",e);var{model:t}=this.state;M(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(Ut.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:i}=this.props;re.debug("handleColumnMouseEnter",i,t,n),i&&i(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;re.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(ge.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){re.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:i}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),i&&l&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Fe.isCanceled(e)||(re.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:i}=this.state;if(!n||!i||!t){re.debug2("updateModelFromSource ignoring",n,i,t);return}var{dh:a}=i;if(this.pending.cancel(),rt(e)){var{settings:l}=e;this.pending.add(a.plot.Figure.create(new te(a).makeFigureSettings(l,t))).then(s=>{Xn(i)&&i.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:i}=this.state,{tableSettings:a}=t??{};if(e&&ds(e.props)&&us(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=B.extractTableSettings(s,l))}this.setState({panelState:{settings:i,tableSettings:a,filterValueMap:Array.from(n)}})}handleError(){this.setState({isLoading:!1})}handleSettingsChanged(e){this.setState(t=>{var{settings:n}=t,i=or(or({},n),e);return re.debug("Updated settings",i),{settings:i}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:i}=e;t.emit(X.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:i,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(X.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Tt.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(n)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){re.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:i,filterMap:a}=t,l=null,s=new Map(t.filterValueMap);return e.forEach((o,d)=>{var{columnType:h,filterList:c}=o,m=i.get(d);if(!(m==null||m.type!==h)){if(c.length<1){re.debug("Ignoring empty filterList for column",d);return}var{value:p}=c[0];s.set(d,p),a.get(d)!==p&&(l===null&&(l=new Map(a)),l.set(d,p))}}),{filterValueMap:s,filterMap:(n=l)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(i,n);if(s.has(e)){var o,d=a.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==h&&(a=new Map(t.filterMap),h.length>0?a.set(e,h):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:l}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(l=>l.name===a.name&&l.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var i=e.filter(a=>!t.includes(a));i.length>0&&this.updateInputFilters(i)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i}=n,a=new Map(n.filterValueMap),l=new Map(n.filterMap),s=t?{filterMap:l,filterValueMap:a}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],m=i.get(d);m!=null&&m.type===h&&(c!=null&&l.get(d)!==c&&(c===""?l.delete(d):l.set(d,c),s.filterMap=l),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return re.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i,filterValueMap:a}=n,l=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=i.get(d);if(c!=null&&c.type===h&&l.has(d)){var m=l.get(d);if(a.has(d)){var p=a.get(d);p!==m&&p!=null&&(s=!0,l.set(d,p))}else s=!0,l.delete(d)}}return re.debug("deleteInputFilters",s),s?{filterMap:l}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;M(n);var i=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&i.size===0){var a=n.getDefaultTitle(),l=Pe.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),re.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else re.debug2("updateFilters waiting on inputs",i),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),i=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((l,s)=>{t.has(s)||(i.delete(s),a.filterValueMap=i)}),e.filterMap.forEach((l,s)=>{t.has(s)||(n.delete(s),a.filterMap=n)}),a})}render(){var e,{columnSelectionValidator:t,glContainer:n,glEventHub:i,inputFilters:a,isLinkerActive:l,links:s,metadata:o,settings:d,Plotly:h,containerRef:c}=this.props,{columnMap:m,filterMap:p,error:g,model:v,isActive:f,isDisconnected:C,isLoaded:S,isLoading:b}=this.state,w;rt(o)?w=o.table:Dn(o)?w=o.figure:w=o.name;var y=this.getInputFilterColumnMap(m,a),E=this.getLinkedColumnMap(m,s),D=v!=null?this.getWaitingInputMap(v.isFilterRequired(),m,p):new Map,F=v!=null?this.getWaitingFilterMap(v.isFilterRequired(),m,p,E,y):new Map,P=g!=null?"Unable to open chart. ".concat(g):void 0,N=D.size>0,x=m.size>0&&l;return u.jsx(Lt,{className:ce("iris-chart-panel",{"input-required":N}),componentPanel:this,glContainer:n,glEventHub:i,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:P,isDisconnected:C,isLoading:b,isLoaded:S,widgetName:(e=w)!==null&&e!==void 0?e:void 0,widgetType:"Chart",children:u.jsxs("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100",children:[u.jsx("div",{className:"chart-container h-100 w-100",children:S&&v&&u.jsx(mi,{isActive:f,model:v,settings:d,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:h,containerRef:c})}),u.jsx(pn,{in:N&&!x&&!b,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(bi,{inputFilterMap:y,linkedColumnMap:E,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:m,waitingFilterMap:F,waitingInputMap:D})}),u.jsx(pn,{in:x,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Tt,{columns:this.getSelectorColumns(m,E,t),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}ve(Xt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});ve(Xt,"displayName","ChartPanel");ve(Xt,"COMPONENT","ChartPanel");var hs=(r,e)=>{var{localDashboardId:t,metadata:n}=e,i;n!=null&&rt(n)&&(i=n.sourcePanelId);var a=Bt(r,t),l=Qr(r,t),s=gn(r),o=zt(r,t),d=s===ge.LINKER&&o===void 0;return{columnSelectionValidator:Kt(r,t),isLinkerActive:d,inputFilters:Wt(r,t),links:Dt(r,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?l.get(i):void 0,settings:qt(r)}},cs=Ye(hs,{setActiveTool:Yr,setDashboardIsolatedLinkerPanelId:fn},null,{forwardRef:!0})(Xt);const Ot=cs;function fe(r,e,t){return e=ps(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ps(r){var e=ms(r,"string");return typeof e=="symbol"?e:String(e)}function ms(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var _t=Z.module("DropdownFilter"),vs=150;class ke extends T.Component{constructor(e){super(e),fe(this,"dropdownRef",void 0),fe(this,"getCompatibleColumns",_((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&j.isCompatibleType(o,a.columnType)}):[])),fe(this,"getColumnOptions",_((a,l)=>{var s=-1,o=[];return o.push(u.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((d,h)=>{o.push(u.jsx("option",{value:h,children:this.getItemLabel(a,h)},"".concat(d.name,"/").concat(d.type))),l!==null&&d.name===l.name&&d.type===l.type&&(s=h)}),[o,s]})),fe(this,"getSelectedOptionIndex",_((a,l)=>a.indexOf(l))),fe(this,"getValueOptions",_(a=>[u.jsx("option",{value:"-1",children:ke.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),fe(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),fe(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},vs)),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=se.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,id:be(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:i}}componentDidUpdate(e,t){var{source:n,values:i,isLoaded:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a&&(n!==e.source&&this.sourceUpdated(),i!==e.values&&s!==""&&!i.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(l!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(_t.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:i}=this.props,a=this.getCompatibleColumns(i,n);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),_t.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var t=e,n=parseInt(t,10),i="",{values:a}=this.props;n>=0&&n<a.length?i=a[n]:_t.debug2("Selected default item"),_t.debug2("handleValueChange",i),this.setState({value:i})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:i}=e;return{column:n,value:t===n?i:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:i,isValueShown:a}=e,l=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:l,value:i??o,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:i,isLoaded:a,source:l,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:m,disableCancel:p,id:g,isValueShown:v,selectedColumn:f,value:C}=this.state,S=l===null,b=this.getCompatibleColumns(l,t),w=l!=null,y=(e=l?.columnName)!==null&&e!==void 0?e:ke.SOURCE_BUTTON_PLACEHOLDER,E=m!=null?"".concat(m.name," Filter"):null,[D,F]=this.getColumnOptions(b,f),P=this.getValueOptions(h),N=this.getSelectedOptionIndex(h,C),x=!w||f==null,A=v&&!i,V="source-column-btn-".concat(g),U="filter-column-select-".concat(g);return u.jsxs(En,{className:"dropdown-filter fill-parent-absolute",isFlipped:A,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:V,children:"Source Column"}),u.jsx(pi,{id:V,isLinked:w,onClick:s,onMouseEnter:o,onMouseLeave:d,className:ke.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:y}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:U,children:"Filter Column"}),u.jsx(yt,{id:U,value:String(F),className:"custom-select",onChange:this.handleColumnChange,disabled:S,children:D}),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}),w&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:p||v||i,tooltip:i?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx($,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:x||v||i,tooltip:i?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:E})}),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(yt,{className:"custom-select",value:String(N),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:P})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:bn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}fe(ke,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});fe(ke,"PLACEHOLDER","Select a value...");fe(ke,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");fe(ke,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const dr=ke;function ne(r,e,t){return e=fs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function fs(r){var e=gs(r,"string");return typeof e=="symbol"?e:String(e)}function gs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var K=Z.module("DropdownFilterPanel"),Cs=250,bs=(r,e)=>{var{localDashboardId:t}=e,n=O.getIdFromPanel({props:e}),i=Bt(r,t),a=Dt(r,t),l=gn(r),s=zt(r,t),o=l===ge.LINKER&&(s===void 0||s===n),d=l===ge.LINKER&&s!==void 0&&s!==n;return{columns:Cn(r,t),columnSelectionValidator:Kt(r,t),dh:Jr(r),isLinkerActive:o,disableLinking:d,settings:qt(r),panelTableMap:i,dashboardLinks:a}},Ss=Ye(bs,null,null,{forwardRef:!0});class Ce extends T.Component{constructor(e){super(e),ne(this,"dateTimeFormatter",void 0),ne(this,"dropdownFilterRef",void 0),ne(this,"panelContainer",void 0),ne(this,"pending",void 0),ne(this,"cleanup",void 0),ne(this,"columnFormats",void 0),ne(this,"getCachedValues",ue((c,m,p)=>{var{type:g,name:v}=m;return g!==void 0&&j.isDateType(g)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&g!=null?p.getFormattedString(f,g,v):null)})),ne(this,"getCachedPanelLinks",ue((c,m)=>{var p=O.getIdFromPanel(m);return K.debug("getCachedPanelLinks",c,p),c.filter(g=>{var v;return((v=g.end)===null||v===void 0?void 0:v.panelId)===p})})),ne(this,"getCachedSource",ue(c=>{K.debug("getCachedSource",c);var m;if(c.length>0){var[p]=c;m=p.start,c.length>1&&K.error("Filter has more that one link",c)}return m})),ne(this,"getCachedSourceTable",ue((c,m)=>{var p;if(K.debug("getCachedSourceTable",c,m),m==null)return null;var{panelId:g}=m;return(p=c.get(g))!==null&&p!==void 0?p:null})),ne(this,"getCachedSourceColumn",ue((c,m)=>{var p;return K.debug("getCachedSourceColumn",c,m),c==null||m==null?null:(p=c.columns.find(g=>{var{name:v,type:f}=g;return v===m.columnName&&f===m.columnType}))!==null&&p!==void 0?p:null})),this.handleChange=Ze(this.handleChange.bind(this),Cs),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=se.createRef(),this.panelContainer=se.createRef(),this.pending=new Xr;var{dh:t,panelState:n,settings:i}=e;this.columnFormats=mn.getColumnFormats(i),this.dateTimeFormatter=new ei(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:l=!1,name:s,type:o,timestamp:d}=n??{},h=s!=null&&o!=null?{name:s,type:o}:void 0;this.state={column:h,formatter:new _e(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:l,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:i,timestamp:a}=this.state,l=this.getSourceTable(t,e);if(l!==null&&this.startListeningToSource(l),n!=null){var{name:s,type:o}=n;this.sendUpdate(s,o,i,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:i,settings:a}=this.props,{valuesTable:l}=this.state,s=this.getSource(n),o=this.getSourceTable(i,n),d=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),l!==t.valuesTable&&t.valuesTable!=null&&(K.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==h||s!==d)&&this.updateValuesTable(),o!==h&&(h!==null&&this.stopListeningToSource(h),o!==null&&this.startListeningToSource(o))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);this.pending.cancel(),i!==null&&this.stopListeningToSource(i),this.cleanup&&this.cleanup(),n?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(dr.SOURCE_BUTTON_CLASS_NAME)),n=(e=t?.getBoundingClientRect())!==null&&e!==void 0?e:null;if(n==null||n.width<=0||n.height<=0)return null;var i=n.left+n.width/2,a=n.bottom;return[i,a]}getSettingsErrorMessage(){var{sourceSize:e}=this.state;if(e>Ce.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(Ce.MAX_TABLE_SIZE," options.")}getPanelErrorMessage(){var{error:e}=this.state;return e!=null?"".concat(e):void 0}getSource(e){var t=this.getCachedPanelLinks(e,this);return this.getCachedSource(t)}getSourceTable(e,t){var n=this.getSource(t);return this.getCachedSourceTable(e,n)}getValuesColumn(e,t){var n=this.getSource(t);return this.getCachedSourceColumn(e,n)}startListeningToSource(e){var{dh:t}=this.props;K.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;K.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,{name:a=void 0,type:l=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,c,{panelState:m,timestamp:p,wasFlipped:g,skipUpdate:v}=d,f=m!=null&&n!==m.isValueShown&&a===m.name&&l===m.type&&i===m.value;return s=(h=!v&&n&&(!f||!g))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,l,i,o)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){K.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(X.COLUMN_SELECTED,this,Ce.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){K.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!i}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,i){var a,{dashboardLinks:l,glEventHub:s}=this.props,o=(a=this.getSource(l))===null||a===void 0?void 0:a.panelId,d=o===null?[]:[o];K.debug("sendUpdate",{name:e,type:t,value:n,timestamp:i,excludePanelIds:d}),s.emit(X.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:i,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),i=this.getSourceTable(t,e);if(K.debug("updateValuesTable",n,i),this.setState({values:[],valuesTable:void 0,error:null}),n==null){K.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),i!=null&&(this.setState({isLoaded:!1,sourceSize:i.size}),this.pending.add(i.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{Fe.isCanceled(a)||(K.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);if(K.debug("applySourceSorts",i?.sort),n==null||i==null){K.debug("Table not initialized");return}var a=[...i.sort];n.applySort(a),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);if(K.debug("applySourceFilters",i?.filter),n==null||i==null){K.debug("Table not initialized");return}var a=[...i.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(K.debug("updateViewportListener",e?.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,n=this.getValuesColumn(e,t);if(!n){K.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);Wr(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new _e(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){K.error("valuesTable is null");return}var l=this.getValuesColumn(a,i);if(!l){K.error("Values column not found");return}var s=n.map(o=>o.get(l));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:l})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,Ce.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:i,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:m,valuesColumn:p,isLoading:g,isLoaded:v}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),S=this.getPanelErrorMessage(),b=v&&p!=null?this.getCachedValues(m,p,o):[];return u.jsx(Lt,{errorMessage:S,isLoading:g,isLoaded:v,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(dr,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:l,disableLinking:n,isLoaded:v,settingsError:C,source:f,value:c,values:b,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}ne(Ce,"displayName","DropdownFilterPanel");ne(Ce,"COMPONENT","DropdownFilterPanel");ne(Ce,"MAX_TABLE_SIZE",256);ne(Ce,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var ws=Ss(Ce);const Ue=ws;function ur(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function xt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ur(Object(t),!0).forEach(function(n){bt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ur(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function bt(r,e,t){return e=Es(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Es(r){var e=ys(r,"string");return typeof e=="symbol"?e:String(e)}function ys(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var W=Z.module("FilterSetManager"),Ps="Enter name...",hr="No Available Filter Sets";class Gt extends T.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),bt(this,"renameInputRef",se.createRef()),bt(this,"dropdownRef",se.createRef()),bt(this,"editDropdownRef",se.createRef()),bt(this,"isRenamingExistingSet",_((t,n)=>n!==void 0&&t.some(i=>{var{id:a}=i;return a===n.id}))),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleEditDropdownChange=this.handleEditDropdownChange.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleCaptureNewSet=this.handleCaptureNewSet.bind(this),this.handleNameInputChange=this.handleNameInputChange.bind(this),this.handleNameInputKeyPress=this.handleNameInputKeyPress.bind(this),this.handleRenameConfirm=this.handleRenameConfirm.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRestoreFullStateChange=this.handleRestoreFullStateChange.bind(this),this.handleSetDelete=this.handleSetDelete.bind(this),this.handleSetEdit=this.handleSetEdit.bind(this),this.handleSetUpdate=this.handleSetUpdate.bind(this),this.state={editId:void 0,renameSet:void 0,nameInputValue:"",nameInputError:void 0,modifiedFilterSets:[],restoreFullState:!1}}componentDidMount(){var{isValueShown:e}=this.props;e?this.updateSelectedId():this.initSettingsScreen()}componentDidUpdate(e,t){var{isValueShown:n,filterSets:i}=this.props,{modifiedFilterSets:a}=this.state;if(e.isValueShown&&!n&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),i!==e.filterSets)if(!n&&i.length>0&&e.filterSets.length===0&&a.length===0){var{onChange:l}=this.props;l({isValueShown:!0,selectedId:i[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;W.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:i}=this.props;if(W.debug("updateSelectedId",t,n),!!e&&!t.some(l=>{var{id:s}=l;return s===n})){var a=t.length===0;i({isValueShown:!a,selectedId:a?void 0:t[0].id})}}handleEditDropdownChange(e){this.setState({editId:e})}handleFilterChange(e){var t=e,{isValueShown:n,onChange:i}=this.props;this.applyFilterSet(t),i({isValueShown:n,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:n}=this.props;this.setState({modifiedFilterSets:[]}),n.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:n,editId:i}=this.state;this.setState({modifiedFilterSets:[]}),W.debug("Update sets",n,i),t(n),n.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Gt.animateScreenFlash();var t=be(),n=e(),i={id:t,title:"",panels:n};W.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return W.debug("Name cannot be empty",a),"Name cannot be empty";if(n!==void 0&&i.some(l=>{var{title:s,id:o}=l;return s===a&&o!==n.id}))return W.debug("Set with this name already exists",a),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:n,modifiedFilterSets:i,restoreFullState:a}=this.state;if(n===void 0){W.error("Renamed set undefined.");return}var l=this.getNameError(t);if(W.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",o=xt(xt({},n),{},{title:s,restoreFullState:a}),d=i.findIndex(c=>{var{id:m}=c;return m===n.id}),h=[...i];d>=0?(h[d]=o,W.debug("Renamed existing set",h)):(h.push(o),W.debug("Added new set to modified sets",h)),this.setState({editId:o.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,i=n.findIndex(o=>{var{id:d}=o;return d===t});if(i<0)return W.error("Unable to find selected filterSet index",n,t),null;var a=n.filter(o=>{var{id:d}=o;return d!==t}),l=Math.max(0,Math.min(a.length-1,i-1)),s=a.length>0?a[l].id:void 0;return W.debug("Deleted selected set",t,n,a),W.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Gt.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:i,editId:a}=n;if(a===void 0)return W.error("Filter for update not selected."),null;var l=[...i],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(W.error("Selected set for update not found."),null):(l[s]=xt(xt({},l[s]),{},{panels:t}),W.debug("Update set",l,t),{modifiedFilterSets:l})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,i=n.find(s=>{var{id:o}=s;return o===t});if(i===void 0)return W.error("Could not find selected set",t,n),null;var{title:a,restoreFullState:l=!1}=i;return{nameInputValue:a,nameInputError:void 0,renameSet:i,restoreFullState:l}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){W.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){W.debug("No filter selected");return}var i=n.find(a=>{var{id:l}=a;return l===e});if(i===void 0){W.debug("Selected id not found in filterSets",e,n);return}W.debug("Apply filterSet",i),t(i)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:i,modifiedFilterSets:a,restoreFullState:l}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,i),m=a.length===0,p=!h&&m&&o.length===0,g=!h&&!p,v=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(he,{icon:$n,mask:Un,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:Za,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(he,{icon:$n,mask:Un,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:Ya,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(En,{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:[p&&u.jsxs("div",{children:[u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:v,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:Ps,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx($,{"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:Wa}),u.jsx($,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:qa})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(ll,{onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Bn,{value:"false",children:"Restore only filters"}),u.jsx(Bn,{value:"true",children:"Restore full table state"})]})})]}),g&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(yt,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:m,children:[m&&u.jsx("option",{value:"-1",disabled:!0,children:hr}),a.map(C=>{var{id:S,title:b}=C;return u.jsx("option",{value:S,children:b},S)})]}),u.jsx($,{kind:"ghost",onClick:this.handleSetUpdate,disabled:m,icon:f,tooltip:"Update"}),u.jsx($,{kind:"ghost",onClick:this.handleSetEdit,disabled:m,icon:ui,tooltip:"Edit"}),u.jsx($,{kind:"ghost",onClick:this.handleSetDelete,disabled:m,icon:Sn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:v,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx($,{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(yt,{"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:hr}),o.map(C=>{var{id:S,title:b}=C;return u.jsx("option",{value:S,children:b},S)})]}),u.jsx($,{"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($,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(he,{icon:bn,transform:"grow-4"})})})]},"back")]})})}}const Ei=Gt;function Mn(r){var e,t,n,i,a,{model:l,widgetName:s,glContainer:o,description:d}=r,h=((e=l?.rowCount)!==null&&e!==void 0?e:0)-((t=l?.pendingRowCount)!==null&&t!==void 0?t:0)-((n=l?.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((i=l?.floatingTopRowCount)!==null&&i!==void 0?i:0),c=l?.displayString(h,"long"),m=(a=l?.columnCount)!==null&&a!==void 0?a:0,p=l?.displayString(m,"long");return u.jsxs(Nt,{widgetType:"Table",widgetName:s,glContainer:o,description:d,children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:p}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Mn.propTypes={glContainer:qr.Container.isRequired,widgetName:R.string.isRequired,description:R.string};Mn.defaultProps={description:null};function yi(r){if(r==null)return!1;var e=r;return typeof e.table=="string"}function Pi(r){if(r==null)return!1;var e=r;return typeof e.name=="string"}function cr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ke(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cr(Object(t),!0).forEach(function(n){Y(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):cr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Y(r,e,t){return e=Ts(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ts(r){var e=Fs(r,"string");return typeof e=="symbol"?e:String(e)}function Fs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ye=Z.module("IrisGridPanel"),Ds=500;function pr(r){if(r==null)throw new Error("No metadata provided");if(Pi(r))return r.name;if(yi(r))return r.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(r)))}class lt extends T.PureComponent{constructor(e){super(e),Y(this,"irisGrid",void 0),Y(this,"pluginRef",void 0),Y(this,"modelPromise",void 0),Y(this,"irisGridState",void 0),Y(this,"gridState",void 0),Y(this,"pluginState",void 0),Y(this,"irisGridUtils",void 0),Y(this,"getGridInputFilters",_((n,i)=>B.getInputFiltersForColumns(n,i.filter(a=>{var{value:l,excludePanelIds:s}=a,o=O.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),Y(this,"getAlwaysFetchColumns",_((n,i)=>{for(var a=O.getIdFromPanel(this),l=new Set(i),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),Y(this,"getPluginContent",_((n,i,a)=>!i||!qe(i)||n==null||i.table==null?null:u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,{ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:i,table:i.table,onStateChange:this.handlePluginStateChange,pluginState:a})}))),Y(this,"getDehydratedIrisGridPanelState",_((n,i,a,l)=>B.dehydrateIrisGridPanelState(n,{isSelectingPartition:i,partitions:a,advancedSettings:l}))),Y(this,"getDehydratedIrisGridState",_((n,i,a,l,s,o,d,h,c,m,p,g,v,f,C,S,b,w,y,E,D,F)=>(M(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:b,customColumnFormatMap:l,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:S},quickFilters:o,customColumns:d,reverseType:h,rollupConfig:c,showSearchBar:m,searchValue:p,selectDistinctColumns:g,selectedSearchColumns:v,sorts:i,invertSearchColumns:f,pendingDataMap:w,frozenColumns:y,conditionalFormats:E,columnHeaderGroups:D,partitionConfig:F})))),Y(this,"getDehydratedGridState",_((n,i,a,l,s)=>B.dehydrateGridState(n,{isStuckToBottom:l,isStuckToRight:s,movedColumns:i,movedRows:a}))),Y(this,"getCachedPanelState",_((n,i,a,l)=>({irisGridPanelState:n,irisGridState:i,gridState:a,pluginState:l}))),Y(this,"savePanelState",Ze(()=>{var{irisGridState:n,gridState:i,pluginState:a}=this;M(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state,{advancedFilters:m,aggregationSettings:p,customColumnFormatMap:g,isFilterBarShown:v,quickFilters:f,customColumns:C,reverseType:S,rollupConfig:b,showSearchBar:w,searchValue:y,selectDistinctColumns:E,selectedSearchColumns:D,sorts:F,invertSearchColumns:P,metrics:N,pendingDataMap:x,frozenColumns:A,conditionalFormats:V,columnHeaderGroups:U,partitionConfig:oe}=n;M(s),M(N);var{userColumnWidths:De,userRowHeights:Se}=N;M(i);var{isStuckToBottom:Me,isStuckToRight:pe,movedColumns:xe,movedRows:He}=i,we=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.getDehydratedIrisGridState(s,F,m,g,v,f,C,S,b,w,y,E,D,P,De,Se,p,x,A,V,U,oe),this.getDehydratedGridState(s,xe,He,Me,pe),a);we!==o&&(ye.debug("Saving panel state",this,we),this.setState({panelState:we}),l?.(we))},Ds)),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=se.createRef(),this.pluginRef=se.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(ol.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:j.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:i}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),i!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return pr(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Fe.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:i}=this.state,a=[];if(this.irisGridUtils=new B(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=Ke(Ke({},l),i);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=B.getModelRollupConfig(c.originalColumns,h,s)}),d.length>0&&a.push(c=>{c.selectDistinctColumns=d})}this.setState({model:t,modelQueue:a}),this.initModelQueue(t,a)}initModelQueue(e,t){var n=e;if(t.length===0){this.modelInitialized(n);return}var i=t.shift();ye.debug("initModelQueue",i),i&&i(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){ye.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:i}=n;return i.get(e)===t?null:{advancedSettings:new Map(i).set(e,t)}})}handlePluginFilter(e){var t,n,{model:i}=this.state;M(i);var{columns:a,formatter:l}=i,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,l.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,i;return(t=(n=this.pluginRef.current)===null||n===void 0||(i=n.getMenu)===null||i===void 0?void 0:i.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:i}=this.props;n.emit(de.STATE_CHANGED,this),i?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:i}=this.state;t?this.sendColumnsChange(e.detail):(M(n),this.initModelQueue(n,i))}handleTableChanged(e){ye.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(X.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:i}=this.props,a=this.getTableName(),{panelState:l}=this.state,s=O.getIdFromPanel(this),o;l&&(o=B.extractTableSettings(l,i)),n.emit(de.CREATE_CHART,{metadata:{settings:e,sourcePanelId:s,table:a,tableSettings:o},table:qe(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(de.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(de.DATA_SELECTED,this,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){ye.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){Fe.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}),qe(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}t.emit(X.TABLE_CHANGED,this,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){ye.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(X.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(k.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(k.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(k.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(k.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(k.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(k.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(k.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(k.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,i,{model:a}=this.state;if(!a)return null;var l=this.irisGrid.current,{gridWrapper:s}=l||{},o=(t=s?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;M(l);var{metrics:d}=l.state;M(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:m,right:p,columnHeaderMaxDepth:g}=d,v=a.getColumnIndexByName(e);M(v);var f=l.getVisibleColumn(v),C=(n=c.get(f))!==null&&n!==void 0?n:0,S=(i=m.get(f))!==null&&i!==void 0?i:0,b=Math.max(o.left,Math.min(f>p?o.right:o.left+C+S*.5,o.right)),w=o.top+h*g;return[b,w]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;ye.debug("setFilters",t,n);var{model:i,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){ye.debug("Ignore setFilters, model disconnected");return}M(i);var{columns:s,formatter:o}=i,d=B.changeFilterColumnNamesToIndexes(i.columns,t).filter(c=>{var[m]=c;return i.isFilterable(m)}),h=B.changeFilterColumnNamesToIndexes(i.columns,n).filter(c=>{var[m]=c;return i.isFilterable(m)});M(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){ye.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:i}=this.state;if(t!=null)try{var{gridState:a,irisGridState:l,irisGridPanelState:s}=t,o=Ke({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=B.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=B.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:m,advancedSettings:p}=B.hydrateIrisGridPanelState(e,s);M(this.irisGridUtils);var{advancedFilters:g,customColumns:v,customColumnFormatMap:f,isFilterBarShown:C,quickFilters:S,reverseType:b,rollupConfig:w,aggregationSettings:y,sorts:E,userColumnWidths:D,userRowHeights:F,showSearchBar:P,searchValue:N,selectDistinctColumns:x,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:U,frozenColumns:oe,conditionalFormats:De,columnHeaderGroups:Se,partitionConfig:Me}=this.irisGridUtils.hydrateIrisGridState(e,Ke(Ke({},l),o)),{isStuckToBottom:pe,isStuckToRight:xe,movedColumns:He,movedRows:we}=B.hydrateGridState(e,Ke(Ke({},a),i),l.customColumns);this.setState({advancedFilters:g,advancedSettings:p,conditionalFormats:De,customColumns:v,customColumnFormatMap:f,isFilterBarShown:C,isSelectingPartition:c,movedColumns:He,movedRows:we,partitions:m,quickFilters:S,reverseType:b,rollupConfig:w,aggregationSettings:y,sorts:E,userColumnWidths:D,userRowHeights:F,showSearchBar:P,searchValue:N,selectDistinctColumns:x,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:U,frozenColumns:oe,isStuckToBottom:pe,isStuckToRight:xe,columnHeaderGroups:Se,partitionConfig:Me})}catch(ae){ye.error("loadPanelState failed to load panelState",t,ae)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:i,glEventHub:a,columnSelectionValidator:l,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,panelState:c,user:m,settings:p,theme:g}=this.props,{advancedFilters:v,aggregationSettings:f,advancedSettings:C,conditionalFormats:S,customColumns:b,customColumnFormatMap:w,error:y,isDisconnected:E,isFilterBarShown:D,isSelectingPartition:F,isStuckToBottom:P,isStuckToRight:N,isLoaded:x,isLoading:A,isModelReady:V,model:U,movedColumns:oe,movedRows:De,partitions:Se,partitionConfig:Me,quickFilters:pe,reverseType:xe,rollupConfig:He,sorts:we,userColumnWidths:ae,userRowHeights:nn,showSearchBar:me,searchValue:Ee,selectDistinctColumns:Ne,selectedSearchColumns:Le,invertSearchColumns:Qe,Plugin:rn,pluginFilters:qi,pluginFetchColumns:Zi,pendingDataMap:Yi,frozenColumns:Xi,columnHeaderGroups:Qi}=this.state,Ji=y!=null?"Unable to open table. ".concat(y):void 0,xn=pr(h),An=(e=U?.description)!==null&&e!==void 0?e:void 0,ea=(t=c?.pluginState)!==null&&t!==void 0?t:null,ta=n??this.getPluginContent(rn,U,ea),{permissions:na}=m,{canCopy:ra,canDownloadCsv:ia}=na;return u.jsx(Lt,{errorMessage:Ji,isDisconnected:E,isLoading:A,isLoaded:x,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:xn,widgetType:"Table",description:An,componentPanel:this,renderTabTooltip:()=>u.jsx(Mn,{model:U,widgetName:xn,glContainer:i,description:An}),children:V&&U&&u.jsx(wn,{advancedFilters:v,aggregationSettings:f,advancedSettings:C,alwaysFetchColumns:this.getAlwaysFetchColumns(d,Zi),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:b,customColumnFormatMap:w,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:S,inputFilters:this.getGridInputFilters(U.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:D,isSelectingColumn:l!=null,isSelectingPartition:F,isStuckToBottom:P,isStuckToRight:N,movedColumns:oe,movedRows:De,partitions:Se,partitionConfig:Me,quickFilters:pe,reverseType:xe,rollupConfig:He,settings:p,sorts:we,userColumnWidths:ae,userRowHeights:nn,model:U,showSearchBar:me,searchValue:Ee,selectedSearchColumns:Le,selectDistinctColumns:Ne,invertSearchColumns:Qe,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:qi,pendingDataMap:Yi,canCopy:ra,canDownloadCsv:ia,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:Xi,theme:g,columnHeaderGroups:Qi,children:ta})})}}Y(lt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Y(lt,"displayName","IrisGridPanel");Y(lt,"COMPONENT","IrisGridPanel");var Ms=(r,e)=>{var{localDashboardId:t=ha}=e;return{inputFilters:Wt(r,t),links:Dt(r,t),columnSelectionValidator:Kt(r,t),user:ua(r),settings:qt(r)}},Ns=Ye(Ms,null,null,{forwardRef:!0})(lt);const st=Ns;function wt(r,e,t){return e=Ls(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ls(r){var e=Os(r,"string");return typeof e=="symbol"?e:String(e)}function Os(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var mr=Z.module("InputFilter"),Rs=150;class ot extends T.Component{constructor(e){super(e),wt(this,"inputRef",void 0),wt(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),wt(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},Rs)),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=se.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,selectedColumn:t,value:i,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:i,value:a,isValueShown:l}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),l!==void 0&&l&&l!==t.isValueShown&&this.focusInput(),(i!==t.column||a!==t.value||l!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];mr.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;mr.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:i,isValueShown:a}=e,l=t!=null&&n!=null?{name:t,type:n}:void 0,s=a===void 0?{column:l,value:i}:{column:l,value:i,isValueShown:a};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:i,value:a}=this.state,l=a==null||a.length===0?ot.PLACEHOLDER.length:a.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(En,{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(yt,{value:String(e.findIndex(d=>d.name===i?.name&&d.type===i?.type)),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,h)=>u.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx($,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:i==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:ot.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(l+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:bn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}wt(ot,"PLACEHOLDER","Enter value...");wt(ot,"defaultProps",{column:null,isValueShown:!1,value:null});const Is=ot;function Qt(r,e,t){return e=ks(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ks(r){var e=_s(r,"string");return typeof e=="symbol"?e:String(e)}function _s(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var xs=250;class Jt extends T.Component{constructor(e){super(e),Qt(this,"inputFilterRef",void 0),this.handleChange=Ze(this.handleChange.bind(this),xs),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=se.createRef();var{panelState:t}=e,{value:n,isValueShown:i=!1,name:a,type:l,timestamp:s}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,a,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:m,wasFlipped:p,skipUpdate:g}=d,v=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&i===c.value;return s=(h=!g&&n&&(!v||!p))!==null&&h!==void 0?h:!1,s||(o=m),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:o},timestamp:o,wasFlipped:v,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,l,i,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,i){var{glEventHub:a}=this.props;a.emit(X.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:i})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(i=>{var{name:a,type:l}=i;return n.name===a&&n.type===l})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:i,isValueShown:a,value:l}=this.state;return u.jsx(Ft,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(Is,{ref:this.inputFilterRef,column:n,columns:i,onChange:this.handleChange,isValueShown:a,value:l})})}}Qt(Jt,"defaultProps",{panelState:null});Qt(Jt,"COMPONENT","InputFilterPanel");Qt(Jt,"displayName","InputFilterPanel");var As=(r,e)=>{var{localDashboardId:t}=e;return{columns:Cn(r,t)}},js=Ye(As,null,null,{forwardRef:!0})(Jt);const it=js;function vr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function At(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vr(Object(t),!0).forEach(function(n){Nn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):vr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Nn(r,e,t){return e=Vs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Vs(r){var e=$s(r,"string");return typeof e=="symbol"?e:String(e)}function $s(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ee=Z.module("FilterSetManagerPanel");function Us(r){return r.setPanelState!=null}class dt extends T.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[i,a]=n;if(i>=e.columns.length)return null;var{name:l}=e.columns[i];return{name:l,filter:a}}).filter(n=>n!=null)}constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleSetsUpdate=this.handleSetsUpdate.bind(this),this.handleGetFilterState=this.handleGetFilterState.bind(this);var{panelState:t,filterSets:n}=e,{selectedId:i=n.length>0?n[0].id:void 0,isValueShown:a=!1}=t??{};this.state={selectedId:i,isValueShown:a,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(n=>{var i=e.get(n);if(i===void 0){ee.error("Could not get panel",i);return}var a=O.getComponentNameFromPanel(i),l=O.getIdFromPanel(i);ee.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){ee.error("Could not get panel container",i);return}var o=O.getComponentConfigFromContainer(s);if(o==null){ee.error("Could not get component config from container",s);return}var d=O.getPanelComponentState(o);if(d==null){ee.debug("Panel state is null ".concat(l));return}switch(a){case O.getComponentName(lt):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case O.getComponentName(it):case O.getComponentName(Ue):{var{isValueShown:c,name:m,type:p,value:g}=d;t.push({panelId:l,type:a,state:{isValueShown:c,name:m,type:p,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,i=n.get(e);if(i==null)return ee.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=dt.changeFilterIndexesToColumnNames(i,s));var h;return o&&(h=dt.changeFilterIndexesToColumnNames(i,o)),{irisGridState:At(At({},a),{},{advancedFilters:d,quickFilters:h}),gridState:At({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;ee.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:i=!1}=e;ee.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){ee.debug("panel is null",l);return}if(!t.has(l)){ee.debug("Ignore closed panel",l);return}ee.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case O.getComponentName(lt):this.restoreIrisGridFilters(d,o,i);break;case O.getComponentName(it):case O.getComponentName(Ue):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;ee.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:i={},advancedFilters:a=[],quickFilters:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=i,{panelTableMap:d}=this.props,h=O.getIdFromPanel(e);if(h==null){ee.error("Panel Id is null.");return}var c=d.get(h);if(c==null){ee.error("Unable to get table for panel ".concat(h,"."));return}ee.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=At({},t);delete n.isValueShown,ee.debug("restoreInputFilterState",e,n),e&&Us(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:i,selectedId:a}=this.state;return u.jsx(Ft,{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(Ei,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Nn(dt,"defaultProps",{panelState:null});Nn(dt,"COMPONENT","FilterSetManagerPanel");var Gs=(r,e)=>{var{localDashboardId:t}=e;return{filterSets:ni(r,t),dashboardOpenedPanelMap:Qr(r,t),dashboardInputFilters:Wt(r,t),panelTableMap:Bt(r,t)}},Hs=Ye(Gs,{setDashboardFilterSets:ti},null,{forwardRef:!0})(dt);const $t=Hs;function Bs(r,e,t){return e=zs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function zs(r){var e=Ks(r,"string");return typeof e=="symbol"?e:String(e)}function Ks(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Ti extends T.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:ce("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(he,{icon:ui})]})}),t]})}}Bs(Ti,"defaultProps",{isEditing:!1});function Ws(r,e,t){return e=qs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function qs(r){var e=Zs(r,"string");return typeof e=="symbol"?e:String(e)}function Zs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Ys=Z.module("MarkdownStartPage");class Fi extends T.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(Ys.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:i,toBeDeleted:a}=this.state;return u.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:u.jsxs("div",{className:"markdown-panel-start-page-container",children:[u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Start"}),u.jsx("div",{className:"list-item",children:u.jsx($,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(l=>u.jsxs("div",{className:"list-item",children:[u.jsx($,{kind:"ghost",className:"title",onClick:()=>t(l),children:l.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(l)},children:u.jsx(he,{icon:Sn})})]},l.id)),u.jsxs(Xa,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(Qa,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(Ja,{children:"You can't undo this action."}),u.jsxs(ca,{children:[u.jsx($,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx($,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}Ws(Fi,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const Xs=Fi;function Et(r,e,t){return e=Qs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Qs(r){var e=Js(r,"string");return typeof e=="symbol"?e:String(e)}function Js(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var eo=T.lazy(()=>cl(()=>import("./MarkdownEditor-0f7f63c1.js"),["./MarkdownEditor-0f7f63c1.js","./vendor-42b82a60.js","./helpers-de833af9.js","./vendor-07c93e4f.css","./ControlType-17bce983.js","./index-65dd7b54.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-13e1b819.css","./ControlType-403497ff.css","./mathjax-d21c95cb.js"],import.meta.url)),jt=Z.module("MarkdownPanel");class Ln extends T.Component{constructor(e){super(e),Et(this,"markdownEditor",void 0),Et(this,"editor",void 0),Et(this,"getClosedMarkdowns",_(i=>i.filter(a=>a.component==="MarkdownPanel").reverse())),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&&({content:n}=t),this.state={isStartPageShown:n==null,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){M(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,i,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){jt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){jt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){jt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,i=O.getComponentConfigFromContainer(t);n.emit(ie.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ie.DELETE,e)}handleEditorBlur(e){var t;jt.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:i,isStartPageShown:a,content:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(Ft,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(Xs,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(Ti,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(T.Suspense,{fallback:u.jsx(ci,{}),children:u.jsx(eo,{ref:o=>{this.markdownEditor=o},isEditing:i,content:l??void 0,onEditorInitialized:this.handleEditorInitialized})})})})}}Et(Ln,"defaultProps",{panelState:null});Et(Ln,"COMPONENT","MarkdownPanel");var to=(r,e)=>{var{localDashboardId:t}=e;return{closedPanels:pa(r,t)}},no=Ye(to,null,null,{forwardRef:!0})(Ln);const nt=no;function Di(r){var{onClick:e}=r,t=T.useRef(null),n=T.useCallback(i=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(i)},[e]);return u.jsxs($,{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(he,{icon:hi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function fr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function gr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fr(Object(t),!0).forEach(function(n){en(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):fr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function en(r,e,t){return e=ro(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ro(r){var e=io(r,"string");return typeof e=="symbol"?e:String(e)}function io(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class On extends T.Component{constructor(e){super(e),en(this,"irisGridRef",void 0),this.irisGridRef=se.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(st,gr(gr({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(Di,{onClick:this.handleReload})}))}}en(On,"defaultProps",{panelState:null});en(On,"COMPONENT","PandasPanel");const Mi=On;function Cr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function br(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Cr(a,n,i,l,s,"next",o)}function s(o){Cr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Sr(r,e,t){return e=ao(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ao(r){var e=lo(r,"string");return typeof e=="symbol"?e:String(e)}function lo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class so{constructor(e){Sr(this,"items",void 0),Sr(this,"onUpdateCallback",void 0),this.items=e}setSearch(e){}setExpanded(e,t){if(e.charAt(e.length-1)==="/")for(var n=0;n<this.items.length;n+=1){var i=this.items[n];Vn(i)&&("".concat(i.filename,"/")===e||i.filename===e)&&(i.isExpanded=t)}return Promise.resolve()}collapseAll(){for(var e=0;e<this.items.length;e+=1){var t=this.items[e];Vn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return br(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return br(function*(){var n,i=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,i)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}const oo=so;function wr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function mt(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){wr(a,n,i,l,s,"next",o)}function s(o){wr(a,n,i,l,s,"throw",o)}l(void 0)})}}function uo(r,e,t){return e=ho(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ho(r){var e=co(r,"string");return typeof e=="symbol"?e:String(e)}function co(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class po{constructor(e){uo(this,"items",void 0),this.items=e}getTable(){var e=this;return mt(function*(){return new oo(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return mt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return mt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return mt(function*(){for(var i=0;i<n.items.length;i+=1)if(n.items[i].filename===e){n.items[i].filename=t,n.items[i].basename=ma.getBaseName(t),n.items[i].id=t;break}})()}info(e){var t=this;return mt(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new va;if(n.length>1)throw new Error("More than one matching file found");var i=n[0];return{filename:i.filename,basename:i.basename,id:i.filename,type:i.type}})()}createDirectory(e){throw new Error("Method not implemented.")}}const mo=po;function Er(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ht(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Er(Object(t),!0).forEach(function(n){vo(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Er(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function vo(r,e,t){return e=fo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function fo(r){var e=go(r,"string");return typeof e=="symbol"?e:String(e)}function go(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function yr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Co(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){yr(a,n,i,l,s,"next",o)}function s(o){yr(a,n,i,l,s,"throw",o)}l(void 0)})}}function bo(r,e,t,n,i){return vn.apply(this,arguments)}function vn(){return vn=Co(function*(r,e,t,n,i){var a,l,s,o;if(rt(t)?(a=t.settings,l=t.table,s=void 0,o=t.tableSettings):(a={},l="",s=Dn(t)?t.figure:t.name,o={}),i!=null&&(i.tableSettings!=null&&(o=i.tableSettings),i.table!=null&&(l=i.table),i.figure!=null&&(s=i.figure),i.settings!=null&&(a=Ht(Ht({},a),i.settings))),s==null&&l==null){var d=yield n();return St.makeModel(r,a,d)}if(s!=null){var h;if(t.type===r.VariableType.FIGURE){var c={name:s,type:r.VariableType.FIGURE};h=yield e(c)}else h=yield n();return St.makeModel(r,a,h)}var m={name:l,type:r.VariableType.TABLE},p=yield e(m);return new B(r).applyTableSettings(p,o,ri(ga.getState())),St.makeModelFromSettings(r,a,p)}),vn.apply(this,arguments)}var Rn=T.forwardRef((r,e)=>{var t=ht(),n=fa(),i=wi(r)?r.panelState:void 0,{fetch:a,metadata:l,localDashboardId:s}=r,o=T.useMemo(()=>({metadata:l,localDashboardId:s,makeModel:()=>{if(l==null)throw new Error("Metadata is required for chart panel");return bo(t,n,l,a,i)}}),[l,s,t,n,a,i]);return u.jsx(Ot,Ht(Ht({ref:e},r),o))});Rn.displayName="ChartPanelPlugin";const So=Rn;function Pr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function wo(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Pr(a,n,i,l,s,"next",o)}function s(o){Pr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Ni(r){var e=ht(),[t,n]=T.useState(),{fetch:i}=r;return T.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=wo(function*(){var o=yield i(),d=yield St.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,i]),t?u.jsx(mi,{model:t}):null}var Eo={name:"ChartPanel",title:"Chart",type:Ge.WIDGET_PLUGIN,component:Ni,panelComponent:Rn,supportedTypes:"Figure",icon:el};const yo=Eo;function Li(r){Mt(r);var{id:e,layout:t}=r,n=ht(),i=T.useCallback(a=>{var{metadata:l,panelId:s=be.generate(),table:o}=a,{settings:d}=l,h=()=>St.makeModelFromSettings(n,d,o),c=te.titleFromSettings(d),m={type:"react-component",component:Ot.COMPONENT,props:{localDashboardId:e,id:s,metadata:l,makeModel:h},title:c,id:s},{root:p}=t;O.openComponent({root:p,config:m})},[n,e,t]);return Te(t.eventHub,de.CREATE_CHART,i),null}var Po={name:"ChartBuilderPlugin",type:Ge.DASHBOARD_PLUGIN,component:Li};const To=Po;var vt=Z.module("FilterPlugin");function Tr(r,e){return r.concat(e)}function Oi(r){Mt(r);var{id:e,layout:t,registerComponent:n}=r,i=la(),[a]=T.useState(()=>new Map),[l]=T.useState(()=>new Map),[s]=T.useState(()=>new Map),o=T.useCallback(()=>{var f=Array.from(a.values()).reduce(Tr,[]).sort((b,w)=>{var y=Pe.toLower(b.name),E=Pe.toLower(w.name);if(y!==E)return y>E?1:-1;var D=Pe.toLower(b.type),F=Pe.toLower(w.type);return D!==F?D>F?1:-1:0}).reduce((b,w)=>((b.length===0||Pe.toLower(b[b.length-1].name)!==Pe.toLower(w.name)||Pe.toLower(b[b.length-1].type)!==Pe.toLower(w.type))&&b.push(w),b),[]),C=Array.from(l.values()).reduce(Tr,[]).sort((b,w)=>b.timestamp-w.timestamp),S=new Map(s);vt.debug("sendUpdate",{columns:f,filters:C,tableMap:S}),i(Ca(e,{columns:f,filters:C,tableMap:S}))},[i,e,a,l,s]),d=T.useCallback((f,C)=>{vt.debug2("handleColumnsChanged",f,C),a.set(f,[].concat(C)),o()},[a,o]),h=T.useCallback((f,C)=>{vt.debug2("handleFiltersChanged",f,C),l.set(f,[].concat(C)),o()},[l,o]),c=T.useCallback((f,C)=>{vt.debug2("handleTableChanged",f,C),s.set(O.getIdFromPanel(f),C),o()},[s,o]),m=T.useCallback(f=>{vt.debug2("handlePanelUnmount",f),a.delete(f),l.delete(f),s.delete(O.getIdFromPanel(f)),o()},[a,l,s,o]),p=T.useCallback(f=>{var{title:C="DropdownFilter",metadata:S={},panelState:b=null,id:w=be.generate(),focusElement:y=O.DEFAULT_FOCUS_SELECTOR,createNewStack:E=!1,dragEvent:D=null}=f,F={type:"react-component",component:Ue.COMPONENT,props:{id:w,metadata:S,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:F,focusElement:y,createNewStack:E,dragEvent:D})},[t,e]),g=T.useCallback(f=>{var{title:C="InputFilter",metadata:S={},panelState:b=null,id:w=be.generate(),focusElement:y=O.DEFAULT_FOCUS_SELECTOR,createNewStack:E=!1,dragEvent:D=void 0}=f,F={type:"react-component",component:it.COMPONENT,props:{id:w,metadata:S,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:F,focusElement:y,createNewStack:E,dragEvent:D})},[t,e]),v=T.useCallback(f=>{var{title:C="FilterSets",metadata:S={},panelState:b=null,id:w=be.generate(),focusElement:y=O.DEFAULT_FOCUS_SELECTOR,createNewStack:E=!1,dragEvent:D=null}=f,F={type:"react-component",component:$t.COMPONENT,props:{id:w,metadata:S,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:F,focusElement:y,createNewStack:E,dragEvent:D})},[t,e]);return T.useEffect(function(){var C=[n(Ue.COMPONENT,Ue),n(it.COMPONENT,it),n($t.COMPONENT,$t)];return()=>{C.forEach(S=>S())}},[n]),Te(t.eventHub,X.COLUMNS_CHANGED,d),Te(t.eventHub,X.FILTERS_CHANGED,h),Te(t.eventHub,X.TABLE_CHANGED,c),Te(t.eventHub,X.OPEN_DROPDOWN,p),Te(t.eventHub,X.OPEN_INPUT,g),Te(t.eventHub,X.OPEN_FILTER_SET_MANAGER,v),Te(t.eventHub,ie.UNMOUNT,m),null}var Fo={name:"FilterPlugin",type:Ge.DASHBOARD_PLUGIN,component:Oi};const Do=Fo;var Mo=Z.module("@deephaven/app-utils/useTablePlugin");function Ri(){var r=ii(),e=T.useCallback(t=>{var n=r.get(t);if(n!=null){if(ba(n))return n.component;if(Sa(n))return n.TablePlugin}var i="Unable to find table plugin ".concat(t,".");throw Mo.error(i),new Error(i)},[r]);return e}function Fr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function No(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Fr(a,n,i,l,s,"next",o)}function s(o){Fr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Ii(r,e,t){var n=ht(),i=Ri(),a=T.useMemo(()=>({loadPlugin:i,localDashboardId:e,makeModel:function(){var l=No(function*(){var o=yield r();return Pn.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,r,e,i,t]);return a}function Dr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Mr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dr(Object(t),!0).forEach(function(n){Lo(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Dr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Lo(r,e,t){return e=Oo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Oo(r){var e=Ro(r,"string");return typeof e=="symbol"?e:String(e)}function Ro(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var In=T.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=Ii(n,t,i);return u.jsx(st,Mr(Mr({ref:e},r),a))});In.displayName="GridPanelPlugin";const Io=In;function Nr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function ko(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Nr(a,n,i,l,s,"next",o)}function s(o){Nr(a,n,i,l,s,"throw",o)}l(void 0)})}}function ki(r){var e=ht(),t=sa(qt),[n,i]=T.useState(),{fetch:a}=r;return T.useEffect(()=>{var l=!1;function s(){return o.apply(this,arguments)}function o(){return o=ko(function*(){var d=yield a(),h=yield Pn.makeModel(e,d);l||i(h)}),o.apply(this,arguments)}return s(),()=>{l=!0}},[e,a]),n?u.jsx(wn,{model:n,settings:t}):null}var _o={name:"IrisGridPanel",title:"Table",type:Ge.WIDGET_PLUGIN,component:ki,panelComponent:In,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:tl};const xo=_o;function Lr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ve(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Lr(Object(t),!0).forEach(function(n){_i(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Lr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function _i(r,e,t){return e=Ao(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ao(r){var e=jo(r,"string");return typeof e=="symbol"?e:String(e)}function jo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function xi(r){var e=r;return typeof e.getCoordinateForColumn=="function"}function Or(r){var e=r;return xi(r)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function Rr(r){return r.description==null||!r.description.startsWith("Preview of type: ")}var ft=Z.module("LinkerUtils");class tn{static getLinkType(e,t,n){var i;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return ft.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return ft.error("PanelComponent should not be null",e,t),"invalid";var a=(i=tn.ALLOWED_LINKS.get(e.panelComponent))===null||i===void 0?void 0:i.includes(t.panelComponent);if(a===void 0||!a)return ft.debug2("Incompatible panel components",e,t),"invalid";var{columnType:l}=e,{columnType:s}=t,o=s===null||j.isCompatibleType(l,s);if(!o)return ft.debug2("Incompatible type",l,s),"invalid";switch(t.panelComponent){case O.getComponentName(Ot):return"chartLink";case O.getComponentName(st):return"tableLink";case O.getComponentName(Ue):return"filterSource"}return ft.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:i}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===i})}static cloneLinksForPanel(e,t,n){var i=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?i.push(Ve(Ve({},a),{},{id:be.generate(),start:Ve(Ve({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&i.push(Ve(Ve({},a),{},{id:be.generate(),end:Ve(Ve({},a.end),{},{panelId:n})}))}),i}}_i(tn,"ALLOWED_LINKS",new Map([[O.getComponentName(st),[O.getComponentName(st),O.getComponentName(Ot),O.getComponentName(Ue)]]]));const We=tn;function Ai(r,e,t){return e=Vo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Vo(r){var e=$o(r,"string");return typeof e=="symbol"?e:String(e)}function $o(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Uo=Z.module("LinkerLink"),Ir=.015,kr=1.5,ji=12,Vi=12,_r=2,Vt=Math.sqrt((Vi*.5)**2+ji**2),xr=Math.asin(Vi*.5/ji),Ar=15,$e=Math.PI*.5;class at extends T.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(j.isNumberType(e)||j.isCharType(e))return dl(t);if(j.isTextType(e))return ul(t);if(j.isDateType(e))return hl(t);if(j.isBooleanType(e)){if(t===Ct.eq)return"is equal to";if(t===Ct.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return Uo.warn(n),""}}constructor(e){super(e),Ai(this,"getOperators",_((t,n)=>{var{onOperatorChanged:i}=this.props,a=j.getFilterTypes(n);return j.isBooleanType(n)&&(a=[Ct.eq,Ct.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=j.getFilterOperatorString(l),[{title:at.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>i(t,l),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:i}=this.props;e.altKey?i(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:i,y1:a,x2:l,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,m=Math.sqrt((i-l)**2+(a-s)**2),p=Math.atan2(s-a,l-i),g=Math.sin(p),v=Math.cos(p)+2,f=window.innerWidth,C=window.innerHeight,S=0,b=0,w=Math.max(S,Math.min(i+(l-i)/2+g*(m*Ir)**kr,f)),y=Math.max(b,Math.min(a+(s-a)/2+v*(m*Ir)**kr,C)),E="M ".concat(i," ").concat(a," Q ").concat(w," ").concat(y," ").concat(l," ").concat(s),D="M ".concat(S," ").concat(b," L ").concat(S," ").concat(C," L ").concat(f," ").concat(C," L ").concat(f," ").concat(b,` z
|
|
5
5
|
`).concat(at.makeCirclePath(i,a,Ar),`
|
|
6
6
|
`).concat(at.makeCirclePath(l,s,Ar)),F="link-select-clip-".concat(o),P=Math.atan2(s-y,l-w),N=P-xr+Math.PI,x=P+xr+Math.PI,A=l+Math.cos(P)*_r,V=s+Math.sin(P)*_r,U=A+Math.cos(N)*Vt,oe=V+Math.sin(N)*Vt,De=A+Math.cos(x)*Vt,Se=V+Math.sin(x)*Vt,Me="".concat(A,",").concat(V," ").concat(U,",").concat(oe," ").concat(De,",").concat(Se),pe=.25*i+.5*w+.25*l,xe=.25*a+.5*y+.25*s,He=w-i+(l-w),we=y-a+(s-y),ae=we/He,nn=20,me=nn/Math.sqrt(1+ae**2),Ee=me*ae,Ne=me*-1,Le=Ee*-1;Number.isFinite(ae)?ae>0?(me*=-1,Ee*=-1,Ne*=-1,Le*=-1,Ne-=50-10*(Math.abs(p)%$e),Le+=10*(Math.abs(p)%$e),me-=50-10*(Math.abs(p)%$e),Ee+=10*(Math.abs(p)%$e)):ae<0?(Ne+=10*(Math.abs(p)%$e),Le+=10*(Math.abs(p)%$e),me+=10*(Math.abs(p)%$e),Ee+=10*(Math.abs(p)%$e)):(Ne=15,Le=10,me=-25,Ee=10):(Ne=10,Le=5,me=10,Ee=-35);var Qe="";t!==void 0&&(t==="startsWith"?Qe="a*":t==="endsWith"?Qe="*z":Qe=j.getFilterOperatorString(t));var rn=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:ce(e,{hovering:c}),children:[u.jsx("clipPath",{id:F,children:u.jsx("path",{d:D,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:E,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(F,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:E}),u.jsx("path",{className:"link-foreground",d:E}),u.jsx("circle",{className:"link-dot",cx:i,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:Me})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[rn&&u.jsx($,{kind:"primary",className:"btn-fab btn-operator",style:{top:xe+(ae>=0?Ee:Le),left:pe+(ae>=0?me:Ne)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:Qe}),u.jsx(he,{icon:nl,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(wa,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx($,{kind:"primary",className:"btn-fab btn-delete",style:{top:xe+(ae<0?Ee:Le),left:pe+(ae<0?me:Ne)},onClick:this.handleDelete,icon:Sn,tooltip:"Delete"})]})]})}}Ai(at,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const Go=at;function jr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Vr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jr(Object(t),!0).forEach(function(n){kn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):jr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function kn(r,e,t){return e=Ho(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ho(r){var e=Bo(r,"string");return typeof e=="symbol"?e:String(e)}function Bo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var un=Z.module("LinkerOverlayContent");class $i extends T.Component{constructor(e){super(e),kn(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=se.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){un.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:i}=e,a=t.getOpenedPanelById(n);if(a!=null){if(!xi(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var l=a.getCoordinateForColumn(i);if(l!=null)return l}catch{un.error("Could not get coordinate for column",i,a)}}var s=t.getContainerByPanelId(n);if(s==null)throw new Error("Unable to find panel container for id: ".concat(n));return O.getTabPoint(s)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:i}=this.props,a=n.map(l=>l.id===e?Vr(Vr({},l),{},{operator:t}):l);i(a)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),n=Rt(e.x,0,window.innerWidth-t.width),i=Rt(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:n,y:i}})}}handleMouseMove(e){var{offset:t,isDragging:n}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),n&&this.dialogRef.current){var i=this.dialogRef.current.getBoundingClientRect(),a=Rt(window.innerWidth-(e.clientX+i.width+t.x),0,window.innerWidth-i.width),l=Rt(window.innerHeight-(e.clientY+i.height+t.y),0,window.innerHeight-i.height);this.setState({dialog:{x:a,y:l}})}}handleMouseDown(e){e.preventDefault();var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(i=>n(i))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:i,onLinkSelected:a,onLinkDeleted:l,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:h,isDragging:c,mode:m}=this.state,p=t.map(g=>{try{var v,f,{id:C,type:S,isReversed:b,start:w,end:y,operator:E}=g,D=w.columnType,[F,P]=this.getPointFromLinkPoint(w),N=(v=d?.x)!==null&&v!==void 0?v:F,x=(f=d?.y)!==null&&f!==void 0?f:P;if(y!=null&&([N,x]=this.getPointFromLinkPoint(y)),b!=null&&b){var[A,V]=[F,P];[F,P]=[N,x],[N,x]=[A,V]}var U=ce("linker-link",{disabled:e},{"link-filter-source":S==="filterSource"},{"link-invalid":S==="invalid"},{interactive:g.end==null},{"link-is-selected":n.has(C)},{"danger-delete":m==="delete"});return{x1:F,y1:P,x2:N,y2:x,id:C,className:U,operator:E,startColumnType:D,type:S}}catch(oe){return un.warn("Unable to get point for link",g,oe),null}}).filter(g=>g!=null);return u.jsxs("div",{className:ce("linker-overlay",{"danger-delete":m==="delete"}),children:[p.map(g=>{var{x1:v,y1:f,x2:C,y2:S,id:b,className:w,operator:y,startColumnType:E,type:D}=g;return u.jsx(Go,{className:w,id:b,x1:v,y1:f,x2:C,y2:S,onClick:a,onDelete:l,isSelected:n.has(b),operator:y,startColumnType:E,type:D,onOperatorChanged:this.handleOperatorChanged},b)}),u.jsxs("div",{className:ce("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:h?.y,right:h?.x},"data-testid":"linker-toast-dialog",children:[u.jsx($,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:rl,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(Ea,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:i}),u.jsxs("div",{className:"toast-footer",children:[u.jsx($,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx($,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(Zr,{actions:[{action:this.handleEscapePressed,shortcut:ya.LINKER_CLOSE,isGlobal:!0}]})]})}}kn($i,"defaultProps",{disabled:"false"});const zo=$i;function $r(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ur(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$r(Object(t),!0).forEach(function(n){Ui(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):$r(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Ui(r,e,t){return e=Ko(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ko(r){var e=Wo(r,"string");return typeof e=="symbol"?e:String(e)}function Wo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var J=Z.module("Linker"),qo=(r,e)=>({activeTool:gn(r),dh:Jr(r),isolatedLinkerPanelId:zt(r,e.localDashboardId),links:Dt(r,e.localDashboardId),timeZone:ri(r)}),Zo=Ye(qo,{setActiveTool:Yr,setDashboardLinks:ai,addDashboardLinks:li,deleteDashboardLinks:si,setDashboardIsolatedLinkerPanelId:fn,setDashboardColumnSelectionValidator:oi});class Yo extends T.Component{constructor(e){super(e),Ui(this,"getCachedLinks",_((t,n,i)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),i!==void 0?a.filter(l=>{var s,o;return(l==null||(s=l.start)===null||s===void 0?void 0:s.panelId)===i||(l==null||(o=l.end)===null||o===void 0?void 0:o.panelId)===i||l?.end==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.bind(this),this.handleFilterColumnSelect=this.handleFilterColumnSelect.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:n}=this.props;n!==e.layout&&(this.stopListening(e.layout),this.startListening(n)),t!==e.activeTool&&(this.updateSelectionValidators(),t===ge.DEFAULT&&this.reset())}componentDidCatch(e,t){J.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(de.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(de.DATA_SELECTED,this.handleUpdateValues),t.on(de.STATE_CHANGED,this.handleStateChange),t.on(Ut.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(ie.CLONED,this.handlePanelCloned),t.on(X.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(X.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(ie.CLOSE,this.handlePanelClosed),t.on(ie.CLOSED,this.handlePanelClosed),t.on(ie.DRAGGING,this.handlePanelDragging),t.on(ie.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(de.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(de.DATA_SELECTED,this.handleUpdateValues),t.off(de.STATE_CHANGED,this.handleStateChange),t.off(Ut.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(ie.CLONED,this.handlePanelCloned),t.off(X.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(X.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(ie.CLOSE,this.handlePanelClosed),t.off(ie.CLOSED,this.handlePanelClosed),t.off(ie.DRAGGING,this.handlePanelDragging),t.off(ie.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(ge.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(ge.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){J.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:n,localDashboardId:i,setActiveTool:a,setDashboardIsolatedLinkerPanelId:l}=this.props,s=O.getIdFromPanel(e),o=n.filter(d=>{var h,c;return((h=d.start)===null||h===void 0?void 0:h.panelId)===s||((c=d.end)===null||c===void 0?void 0:c.panelId)===s});if(!this.isOverlayShown()&&s!=null){a(ge.LINKER),l(i,s),o.length===0&&this.columnSelected(e,t,!0,s);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){J.debug("handleColumnsChanged",e,t);var{links:n}=this.props,i=O.getIdFromPanel(e);if(i==null){J.error("Invalid panelId",e);return}var a=n.filter(l=>{var{start:s,end:o}=l;return s.panelId===i&&We.findColumn(t,s)==null||o!=null&&o.panelId===i&&We.findColumn(t,o)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!Rr(t)){J.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3?arguments[3]:void 0;if(!(i===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:l}=this.state,s=O.getIdFromPanel(e);if(s!=null){var o=O.getComponentNameFromPanel(e),{name:d,type:h}=t;if(l==null||l.start==null){var c={id:be.generate(),start:{panelId:s,panelComponent:o,columnName:d,columnType:h},type:"invalid",isReversed:n};J.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:m}=this.props,{start:p,id:g,isReversed:v}=l,f={panelId:s,panelComponent:o,columnName:d,columnType:h},C=We.getLinkType(v!==void 0&&v?f:p,v!==void 0&&v?p:f,i??a);switch(C){case"invalid":J.debug("Ignore invalid link connection",l,f);return;case"filterSource":{var S=v!==void 0&&v?p.panelId:f.panelId,b=m.filter(F=>{var{end:P}=F;return P?.panelId===S});this.deleteLinks(b);break}case"chartLink":{var w=v===!0?p:f,y=v===!0?f:p;J.debug("creating chartlink",{existingLinkEnd:w,start:p,end:f});var E=m.filter(F=>{var{end:P,start:N}=F;return N?.panelId===y.panelId&&P?.panelId===w.panelId&&P?.columnName===w.columnName&&P?.columnType===w.columnType});this.deleteLinks(E);break}}var D={start:v!==void 0&&v?f:p,end:v!==void 0&&v?p:f,id:g,type:C,operator:Ct.eq};J.info("creating link",D),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([D])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:i,columnName:a,columnType:l}=n,s=t.getOpenedPanelById(i);s?Or(s)?s.unsetFilterValue(a,l):J.debug("endPanel.unsetFilterValue not implemented",s):J.debug("endPanel no longer exists, ignoring unsetFilterValue",i)}}setPanelFilterMap(e,t){J.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,i=n.getOpenedPanelById(e);i?Or(i)?i.setFilterMap(t):J.debug("panel.setFilterMap not implemented",e,i):J.debug("panel no longer exists, ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:n}=this.props;t(n,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:n}=this.props;if(e.forEach(l=>this.unsetFilterValueForLink(l)),t){var{setDashboardLinks:i}=this.props;i(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(l=>{var{id:s}=l;return s}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(i=>{var a,l;return(i==null||(a=i.start)===null||a===void 0?void 0:a.panelId)===t||(i==null||(l=i.end)===null||l===void 0?void 0:l.panelId)===t});this.deleteLinks(n)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,n=t.find(i=>i.id===e);n?this.deleteLinks([n]):J.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var n=O.getIdFromPanel(e),{dh:i,links:a,timeZone:l}=this.props,s=new Map,o=0;o<a.length;o+=1){var{start:d,end:h,operator:c}=a[o];if(d.panelId===n&&h!=null){var{panelId:m,columnName:p,columnType:g}=h,v=s.has(m)?s.get(m):new Map,f=v.has(p)===!0?v.get(p).filterList:[],{visibleIndex:C,isExpandable:S,isGrouped:b}=t[d.columnName],{value:w}=t[d.columnName],y="".concat(w);if(w===null&&S&&b&&(w=void 0),g!=null&&j.isDateType(g)){var E=new ei(i,{timeZone:l,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Pa.FULL_DATE_FORMAT});y=E.format(w)}var D={operator:c,text:y,value:w,startColumnIndex:C};f.push(D),v.set(p,{columnType:g,filterList:f}),s.set(m,v)}}s.forEach((F,P)=>{this.setPanelFilterMap(P,F)})}handlePanelCloned(e,t){var{links:n}=this.props,i=O.getIdFromPanel(e),a=t.id;if(i!=null){var l=We.cloneLinksForPanel(n,i,a);this.addLinks(l)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var i=t[n],{start:a,end:l}=i;if(a.panelId===e||l?.panelId===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){J.debug("Panel ".concat(e," closed, deleting links.")),this.deleteLinksForPanelId(e)}handleLinkSelected(e){this.setState({selectedIds:new Set([e])})}handleLinksUpdated(e){var{localDashboardId:t,setDashboardLinks:n}=this.props;n(t,e)}handleLayoutStateChanged(){this.forceUpdate()}handleStateChange(){this.forceUpdate()}handleExited(){var{localDashboardId:e,setDashboardIsolatedLinkerPanelId:t}=this.props;t(e,void 0)}deleteLinksForPanelId(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var i=t[n],{start:a,end:l,id:s}=i;(a.panelId===e||l?.panelId===e)&&this.handleLinkDeleted(s)}}isOverlayShown(){var{activeTool:e}=this.props;return e===ge.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case ge.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:Ur(Ur({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:i}=this.props;if(t==null)return n?.start!=null&&this.updateLinkInProgressType(),!1;if(!Rr(t))return J.debug2("Column is not filterable",t.description),n?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(n?.start==null)return!0;var{isReversed:a,start:l}=n,s=O.getIdFromPanel(e);if(s==null)return!1;var o={panelId:s,panelComponent:O.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},d=a!==void 0&&a?We.getLinkType(o,l,i):We.getLinkType(l,o,i);return this.updateLinkInProgressType(d),d!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:i,selectedIds:a,isDraggingPanel:l}=this.state,s=this.isOverlayShown(),o=i!=null&&i.start!=null,d=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return l?null:u.jsx(pn,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(zo,{disabled:o,panelManager:n,links:this.getCachedLinks(e,i,t),selectedIds:a,messageText:d,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel})})}}var Xo=Zo(Yo);const Qo=Xo;function Gi(r){Mt(r);var{id:e,layout:t,panelManager:n}=r;return u.jsx(Qo,{layout:t,localDashboardId:e,panelManager:n})}var Jo={name:"LinkerPlugin",type:Ge.DASHBOARD_PLUGIN,component:Gi};const ed=Jo;function Hi(r,e,t){return e=td(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function td(r){var e=nd(r,"string");return typeof e=="symbol"?e:String(e)}function nd(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class ut{static getNewMarkdownTitle(e){for(var t="".concat(ut.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(ut.DEFAULT_TITLE,"-").concat(n);return t}}Hi(ut,"DEFAULT_TITLE","Note");Hi(ut,"DEFAULT_CONTENT",`# Markdown Note
|
|
7
7
|
|
|
8
8
|
This note can be edited using **markdown** for styling.`);const hn=ut;function Bi(r){Mt(r);var{id:e,layout:t,panelManager:n,registerComponent:i}=r,a=T.useCallback(s=>{var{title:o,componentState:d,props:h}=s,{panelState:c=null}=h;return d!=null&&({panelState:c=null}=d),o==null||c==null||c.content==null||c.content.length===0||c.content===hn.DEFAULT_CONTENT?null:Ta(s)},[]),l=T.useCallback(function(){var{title:s="",metadata:o={},id:d=be.generate(),focusElement:h=O.DEFAULT_FOCUS_SELECTOR,createNewStack:c=!1,dragEvent:m=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(nt.COMPONENT),g=n.getClosedPanelConfigsOfType(nt.COMPONENT),v=p.map(w=>{var y;return(y=w.title)!==null&&y!==void 0?y:""}),f=s!=null&&s!==""?s:hn.getNewMarkdownTitle(v),C=g.length>0?null:hn.DEFAULT_CONTENT,S={type:"react-component",component:nt.COMPONENT,props:{id:d,metadata:o,panelState:{content:C},localDashboardId:e},title:f,id:d},{root:b}=t;O.openComponent({root:b,config:S,focusElement:h,createNewStack:c,dragEvent:m})},[e,t,n]);return T.useEffect(function(){var o=[i(nt.COMPONENT,nt,Fa,a)];return()=>{o.forEach(d=>d())}},[a,i]),Te(t.eventHub,di.OPEN,l),null}var rd={name:"MarkdownPlugin",type:Ge.DASHBOARD_PLUGIN,component:Bi};const id=rd;function Gr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Hr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gr(Object(t),!0).forEach(function(n){ad(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Gr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function ad(r,e,t){return e=ld(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ld(r){var e=sd(r,"string");return typeof e=="symbol"?e:String(e)}function sd(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var _n=T.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=Ii(n,t,i);return u.jsx(Mi,Hr(Hr({ref:e},r),a))});_n.displayName="PandasPanelPlugin";const od=_n;function Br(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function cn(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Br(a,n,i,l,s,"next",o)}function s(o){Br(a,n,i,l,s,"throw",o)}l(void 0)})}}function zi(r){var e=ht(),[t,n]=T.useState(),[i,a]=T.useState(!0),[l,s]=T.useState(!1),{fetch:o}=r,d=T.useCallback(cn(function*(){var c=yield o();return Pn.makeModel(e,c)}),[e,o]),h=T.useCallback(cn(function*(){a(!0);var c=yield d();n(c),a(!1)}),[d]);return T.useEffect(()=>{var c=!1;function m(){return p.apply(this,arguments)}function p(){return p=cn(function*(){var g=yield d();c||(n(g),s(!0),a(!1))}),p.apply(this,arguments)}return m(),a(!0),()=>{c=!0}},[d]),u.jsxs(u.Fragment,{children:[u.jsx(ci,{isLoaded:l,isLoading:i}),t&&u.jsx(wn,{model:t,children:u.jsx(Di,{onClick:h})})]})}var dd={name:"PandasPanel",title:"Pandas",type:Ge.WIDGET_PLUGIN,component:zi,panelComponent:_n,supportedTypes:"pandas.DataFrame",icon:il};const ud=dd;function zr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function gt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zr(Object(t),!0).forEach(function(n){hd(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):zr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function hd(r,e,t){return e=cd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function cd(r){var e=pd(r,"string");return typeof e=="symbol"?e:String(e)}function pd(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var md=Z.module("WidgetLoaderPlugin");function vd(r){var e;function t(n,i){var a,l=r.component,{metadata:s}=n,o=Ma(l);return u.jsx(Lt,gt(gt({widgetName:(a=s?.name)!==null&&a!==void 0?a:void 0,widgetType:r.title},n),{},{children:o?u.jsx(l,gt(gt({},n),{},{ref:i})):u.jsx(l,gt({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=r.component.displayName)!==null&&e!==void 0?e:r.name,")"),T.forwardRef(t)}function Ki(r){var e=ii(),t=T.useMemo(()=>{var s=new Map;return e.forEach(o=>{Da(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var h;md.warn("Multiple WidgetPlugins handling type ".concat(d,". Replacing ").concat((h=s.get(d))===null||h===void 0?void 0:h.name," with ").concat(o.name," to handle ").concat(d))}s.set(d,o)}})}),s},[e]);Mt(r);var{id:n,layout:i,registerComponent:a}=r,l=T.useCallback(s=>{var o,{dragEvent:d,panelId:h=be.generate(),fetch:c,widget:m}=s,{type:p}=m,g=p!=null?t.get(p):null;if(g!=null){var v=(o=m.name)!==null&&o!==void 0?o:p,f={localDashboardId:n,metadata:m,fetch:c},C={type:"react-component",component:g.name,props:f,title:v,id:h},{root:S}=i;O.openComponent({root:S,config:C,dragEvent:d})}},[n,i,t]);return T.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?a(o.name,vd(o)):a(o.name,d)});return()=>{s.forEach(o=>o())}},[a,t]),Te(i.eventHub,ie.OPEN,l),null}var fd={name:"WidgetLoaderPlugin",type:Ge.DASHBOARD_PLUGIN,component:Ki};const gd=fd;var Cd=R.shape({state:R.shape({panelState:R.shape({})})}),bd=R.shape({panelId:R.string.isRequired,columnName:R.string.isRequired,columnType:R.string.isRequired}),Kr=R.shape({panelId:R.string.isRequired,columnName:R.string.isRequired}),Wi=R.shape({start:Kr,end:Kr,id:R.string,isReversed:R.bool}),Sd=R.arrayOf(Wi),wd=R.shape({name:R.string.isRequired,operateAs:R.string.isRequired,groups:R.arrayOf(R.string).isRequired,permissions:R.shape({canUsePanels:R.bool.isRequired,canCopy:R.bool.isRequired,canDownloadCsv:R.bool.isRequired,canLogout:R.bool.isRequired}).isRequired}),Ed=Object.freeze({LinkPoint:bd,Link:Wi,Links:Sd,Panel:Cd,User:wd});const yd=Ed;var Pd=(r,e)=>r[e]===null?null:R.bool,Td=(r,e)=>r[e]===null?null:R.string,Fd=Object.freeze({nullableBoolean:Pd,nullableString:Td});const Dd=Fd,_d=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:Li,ChartBuilderPluginConfig:To,ChartEvent:Ut,ChartPanel:Ot,ChartPanelPlugin:So,ChartPluginConfig:yo,ChartWidgetPlugin:Ni,CommandHistoryPanel:Na,CommonPropTypes:Dd,ConsoleEvent:La,ConsolePanel:Oa,ConsolePlugin:Ra,ControlType:Ia,DropdownFilterPanel:Ue,FileExplorerPanel:ka,FilterPlugin:Oi,FilterPluginConfig:Do,FilterSetManager:Ei,FilterSetManagerPanel:$t,GridPanelPlugin:Io,GridPluginConfig:xo,GridWidgetPlugin:ki,InputFilterEvent:X,InputFilterPanel:it,IrisGridEvent:de,IrisGridPanel:st,LinkerPlugin:Gi,LinkerPluginConfig:ed,LinkerUtils:We,LogPanel:_a,MarkdownEvent:di,MarkdownPanel:nt,MarkdownPlugin:Bi,MarkdownPluginConfig:id,MockFileStorage:mo,NotebookEvent:xa,NotebookPanel:Aa,PandasEvent:rs,PandasPanel:Mi,PandasPanelPlugin:od,PandasPluginConfig:ud,PandasWidgetPlugin:zi,Panel:Ft,TabEvent:ja,ToolType:ge,UIPropTypes:yd,WidgetLoaderPlugin:Ki,WidgetLoaderPluginConfig:gd,WidgetPanel:Lt,WidgetPanelTooltip:Nt,addDashboardLinks:li,deleteDashboardLinks:si,getColumnSelectionValidatorForDashboard:Kt,getColumnsForDashboard:Cn,getDashboardConnection:Va,getDashboardConsoleSettings:$a,getDashboardSessionWrapper:Ua,getFilterSetsForDashboard:ni,getInputFiltersForDashboard:Wt,getIsolatedLinkerPanelIdForDashboard:zt,getLinksForDashboard:Dt,getTableMapForDashboard:Bt,isChartPanelDehydratedProps:wi,isChartPanelFigureMetadata:Dn,isChartPanelTableMetadata:rt,isGLChartPanelState:Si,isIrisGridPanelMetadata:Pi,isLegacyIrisGridPanelMetadata:yi,setDashboardColumnSelectionValidator:oi,setDashboardConnection:Ga,setDashboardConsoleSettings:Ha,setDashboardFilterSets:ti,setDashboardIsolatedLinkerPanelId:fn,setDashboardLinks:ai,setDashboardSessionWrapper:Ba,useLoadTablePlugin:Ri},Symbol.toStringTag,{value:"Module"}));export{En as C,_d as D,Zn as F,ql as I,St as a,Pn as b,xl as c,Fl as d,vi as e,Hl as f,qe as g,Xn as i};
|
|
9
|
-
//# sourceMappingURL=index-
|
|
9
|
+
//# sourceMappingURL=index-4b63b035.js.map
|