@deephaven/code-studio 0.85.33 → 0.85.35-alpha-pivots.1
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-bed32720.js → AppRoot-de4bebc0.js} +4 -4
- package/build/assets/{AppRoot-bed32720.js.map → AppRoot-de4bebc0.js.map} +1 -1
- package/build/assets/{Chart-a1dfd1ef.js → Chart-56c64e25.js} +2 -2
- package/build/assets/{Chart-a1dfd1ef.js.map → Chart-56c64e25.js.map} +1 -1
- package/build/assets/{ControlType-5a46b9ec.js → ControlType-a179c4e6.js} +9 -9
- package/build/assets/ControlType-a179c4e6.js.map +1 -0
- package/build/assets/{FontBootstrap-e9a033a8.js → FontBootstrap-7d88a241.js} +2 -2
- package/build/assets/{FontBootstrap-e9a033a8.js.map → FontBootstrap-7d88a241.js.map} +1 -1
- package/build/assets/{FormatterUtils-9c215187.js → FormatterUtils-0cfc74e0.js} +2 -2
- package/build/assets/{FormatterUtils-9c215187.js.map → FormatterUtils-0cfc74e0.js.map} +1 -1
- package/build/assets/{Grid-ba17eb43.js → Grid-79d5e8f3.js} +3 -3
- package/build/assets/Grid-79d5e8f3.js.map +1 -0
- package/build/assets/IrisGrid-e2677537.js +3 -0
- package/build/assets/IrisGrid-e2677537.js.map +1 -0
- package/build/assets/{IrisGridModel-34172040.js → IrisGridModel-47f7bc83.js} +2 -2
- package/build/assets/IrisGridModel-47f7bc83.js.map +1 -0
- package/build/assets/{IrisGridShortcuts-a78631df.js → IrisGridShortcuts-e49d1bda.js} +2 -2
- package/build/assets/{IrisGridShortcuts-a78631df.js.map → IrisGridShortcuts-e49d1bda.js.map} +1 -1
- package/build/assets/IrisGridThemeProvider-b92be203.js +11 -0
- package/build/assets/IrisGridThemeProvider-b92be203.js.map +1 -0
- package/build/assets/{LocalWorkspaceStorage-3ef91e62.js → LocalWorkspaceStorage-fe0fe175.js} +2 -2
- package/build/assets/{LocalWorkspaceStorage-3ef91e62.js.map → LocalWorkspaceStorage-fe0fe175.js.map} +1 -1
- package/build/assets/{MarkdownEditor-7bf0580c.js → MarkdownEditor-c28ceda0.js} +2 -2
- package/build/assets/{MarkdownEditor-7bf0580c.js.map → MarkdownEditor-c28ceda0.js.map} +1 -1
- package/build/assets/{MarkdownNotebook-bffb6319.js → MarkdownNotebook-ba1b741d.js} +2 -2
- package/build/assets/{MarkdownNotebook-bffb6319.js.map → MarkdownNotebook-ba1b741d.js.map} +1 -1
- package/build/assets/MissingPartitionError-c43aae7d.js +3 -0
- package/build/assets/MissingPartitionError-c43aae7d.js.map +1 -0
- package/build/assets/{StyleGuideRoot-703080bb.js → StyleGuideRoot-d7b5fb8e.js} +2 -2
- package/build/assets/{StyleGuideRoot-703080bb.js.map → StyleGuideRoot-d7b5fb8e.js.map} +1 -1
- package/build/assets/TokenBoxCellRenderer-2a529249.js +2 -0
- package/build/assets/TokenBoxCellRenderer-2a529249.js.map +1 -0
- package/build/assets/{index-1e463a44.js → index-35aca2dd.js} +2 -2
- package/build/assets/{index-1e463a44.js.map → index-35aca2dd.js.map} +1 -1
- package/build/assets/{index-6241cdd1.js → index-4251673b.js} +6 -6
- package/build/assets/index-4251673b.js.map +1 -0
- package/build/assets/index-e3e97007.js +2 -0
- package/build/assets/{index-c213d4db.js.map → index-e3e97007.js.map} +1 -1
- package/build/index.html +2 -2
- package/package.json +30 -30
- package/build/assets/ControlType-5a46b9ec.js.map +0 -1
- package/build/assets/Grid-ba17eb43.js.map +0 -1
- package/build/assets/IrisGrid-21aaf906.js +0 -3
- package/build/assets/IrisGrid-21aaf906.js.map +0 -1
- package/build/assets/IrisGridModel-34172040.js.map +0 -1
- package/build/assets/IrisGridThemeProvider-ab7ef621.js +0 -11
- package/build/assets/IrisGridThemeProvider-ab7ef621.js.map +0 -1
- package/build/assets/MissingPartitionError-bfeab33a.js +0 -3
- package/build/assets/MissingPartitionError-bfeab33a.js.map +0 -1
- package/build/assets/TokenBoxCellRenderer-c83747e0.js +0 -2
- package/build/assets/TokenBoxCellRenderer-c83747e0.js.map +0 -1
- package/build/assets/index-6241cdd1.js.map +0 -1
- package/build/assets/index-c213d4db.js +0 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{r as g,J as u,M as ie,a1 as $e,a2 as ne,bz as pa,ab as k,bA as Wr,a3 as L,N as re,a0 as Ue,V as ee,I as ae,b2 as va,b1 as Vn,av as We,a5 as fa,ad as ma}from"./vendor-3e5e4180.js";import{F as Le,cD as Pe,P as Oe,af as K,cE as Jt,c as H,bU as ga,bM as F,J as ba,bT as qr,a7 as Ca,ai as Xr,cF as yt,cG as ve,B as x,cH as nt,aa as we,U as Zr,cI as dn,cJ as Yr,M as de,w as rn,cK as Vt,c1 as Qr,Z as un,cL as Gt,cM as Pt,cN as wt,cO as rt,G as Ht,S as bt,cP as hn,i as Jr,b as ei,a3 as Sa,a8 as ya,cQ as ti,cR as ni,aN as Pa,ab as J,c0 as wa,cS as Gn,cw as Ea,cx as Fa,u as it,aX as Ta,o as ri,cd as Ne,bZ as Et,bO as Me,X as Da,ak as ii,co as Ma,cm as La,c9 as ai,ca as li,y as an,cb as Oa,cr as si,T as ct,N as Na,s as ka,H as Ia,cT as oi,cU as di,cV as ui,cW as hi,a$ as xa,ac as ci,cc as _a,b_ as Ra,cB as ja,cX as Aa,cz as $a,ah as Ua,L as Va,cC as Ga,cA as Ha,a9 as Ba,ad as Ka,cY as za,a1 as Wa,cZ as qa,a2 as Xa,aq as Za,c_ as Ya,ar as Qa}from"./ControlType-5a46b9ec.js";import{L as V,e as D,am as Ja,an as el,I as cn,ao as tl,ap as nl,aq as pi,f as pn,ar as vi,as as Hn,w as Bn,g as rl,D as il,M as al,b as ll,c as sl,J as Ct,s as ol,at as dl,au as ul,d as hl,av as cl,aw as pl}from"./index-1e463a44.js";import{C as vl,a as Z,b as R,G as qe,S as fi,L as mi,I as vn}from"./IrisGridModel-34172040.js";import{I as gi,M as Kn,j as fl,i as je,h as xe,d as U,A as ml,k as gl,l as bl,m as Cl}from"./MissingPartitionError-bfeab33a.js";import{F as zn}from"./FormatterUtils-9c215187.js";import{_ as Sl}from"./monaco-b5248072.js";function fn(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=g.useRef(null),s=g.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=g.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return g.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:ie(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){$(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 $(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 z=V.module("FigureChartModel");class Bt extends vl{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,$(this,"chartUtils",void 0),$(this,"dh",void 0),$(this,"figure",void 0),$(this,"settings",void 0),$(this,"data",void 0),$(this,"layout",void 0),$(this,"seriesDataMap",void 0),$(this,"pendingSeries",void 0),$(this,"oneClicks",void 0),$(this,"filterColumnMap",void 0),$(this,"lastFilter",void 0),$(this,"isConnected",void 0),$(this,"seriesToProcess",void 0),$(this,"addPendingSeries",$e(()=>{for(var a=Z.getAxisTypeMap(this.figure),{pendingSeries:l}=this,s=function(){var h,c=l[o],p=n.figure.charts.find(v=>v.series.includes(c));n.addSeries(c,a,(h=p?.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},Bt.ADD_SERIES_DEBOUNCE)),$(this,"getTimeZone",ne((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}})),$(this,"getValueTranslator",ne((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)})),$(this,"getValueParser",ne((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)})),$(this,"getRangeParser",ne((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]})),$(this,"getAxisRangeParser",ne((a,l)=>s=>{var o=Z.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d})),this.handleFigureUpdated=this.handleFigureUpdated.bind(this),this.handleFigureDisconnected=this.handleFigureDisconnected.bind(this),this.handleFigureReconnected=this.handleFigureReconnected.bind(this),this.handleFigureSeriesAdded=this.handleFigureSeriesAdded.bind(this),this.handleDownsampleStart=this.handleDownsampleStart.bind(this),this.handleDownsampleFinish=this.handleDownsampleFinish.bind(this),this.handleDownsampleFail=this.handleDownsampleFail.bind(this),this.handleDownsampleNeeded=this.handleDownsampleNeeded.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.dh=e,this.chartUtils=new Z(e),this.figure=t,this.settings=i,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=Z.getAxisTypeMap(this.figure),i=[];this.seriesToProcess=new Set;for(var a=function(){for(var p=t[l],v=0;v<p.series.length;v+=1){var m=p.series[v];i.push(m.name),e.addSeries(m,n,p.showLegend)}var{axes:C,title:f}=p;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var b=C.find(E=>E.type===e.dh.plot.AxisType.X),y=C.find(E=>E.type===e.dh.plot.AxisType.Y);if(b==null||y==null)z.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var S,P,w,T,N=((S=(P=n.get(b.type))===null||P===void 0?void 0:P.findIndex(E=>E===b))!==null&&S!==void 0?S:0)+1,O=((w=(T=n.get(y.type))===null||T===void 0?void 0:T.findIndex(E=>E===y))!==null&&w!==void 0?w:0)+1,M={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(N," domain"),yref:"y".concat(O," domain")};e.layout.annotations==null?e.layout.annotations=[M]:e.layout.annotations.push(M)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>i.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var i,a,{dh:l}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,Z.getSeriesVisibility(e.name,this.settings),n,(i=(a=this.renderOptions)===null||a===void 0?void 0:a.webgl)!==null&&i!==void 0?i:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===l.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===l.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=Z.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===l.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:o}=e,{columns:d}=o,h=0;h<d.length;h+=1)this.filterColumnMap.set(d[h].name,d[h]);this.oneClicks.push(o)}this.updateLayoutFormats()}subscribe(e){super.subscribe(e),this.listeners.length===1&&(this.initAllSeries(),this.subscribeFigure())}unsubscribe(e){super.unsubscribe(e),this.listeners.length===0&&this.unsubscribeFigure()}subscribeFigure(){if(!this.isConnected){z.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&&(z.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){z.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){z.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){z.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){z.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;z.debug2("handleFigureUpdated",n);for(var i=0;i<n.length;i+=1){var a=n[i];z.debug2("handleFigureUpdated updating series",a.name);for(var{sources:l}=a,s=0;s<l.length;s+=1){var o=l[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),p=t.getArray(a,h,c);this.setDataArrayForSeries(a,h,p)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:v}=this;this.fireUpdate(v)}handleRequestFailed(e){z.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){z.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){z.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;z.debug("handleFigureSeriesAdded",t),this.pendingSeries.push(t),this.addPendingSeries()}setDimensions(e){super.setDimensions(e),this.updateAxisPositions()}setTitle(e){var t,n;super.setTitle(e);var i=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,a=Z.DEFAULT_MARGIN.t+i*Z.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=qn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=qn({},this.layout.title.pad),this.layout.title.pad.t=Z.DEFAULT_TITLE_PADDING.t+i*Z.SUBTITLE_LINE_HEIGHT*.5),this.fireLayoutUpdated({title:this.layout.title})}getPlotWidth(){var e,t,n,i;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,i;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{z.debug("Assigning ".concat(n),this.layout[n],t);var i=this.layout[n];i!=null?Object.assign(i,t):z.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&&pa(l,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:i}=e,a=this.seriesDataMap.get(n);if(a!=null){if(i===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:l,xHigh:s}=a;if(l&&s&&l.length===s.length){for(var o=[],d=0;d<l.length;d+=1)o.push(s[d]-l[d]);a.width=o}}else if(i===t.plot.SeriesPlotStyle.LINE||i===t.plot.SeriesPlotStyle.ERROR_BAR||i===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:p,y:v,yLow:m,yHigh:C}=a;c&&p&&c!==h&&(a.error_x=Z.getPlotlyErrorBars(h,c,p)),m&&C&&m!==v&&(a.error_y=Z.getPlotlyErrorBars(v,m,C))}else if(i===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:b}=a;f!==void 0&&b===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){z.warn("Trying to set a filter, but no one click!");return}z.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}}$(Bt,"ADD_SERIES_DEBOUNCE",50);const Xn=Bt;function Zn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function en(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Zn(a,n,i,l,s,"next",o)}function s(o){Zn(a,n,i,l,s,"throw",o)}l(void 0)})}}class mn{static makeModelFromSettings(e,t,n){return en(function*(){var i=yield mn.makeFigureFromSettings(e,t,n);return new Xn(e,i,t)})()}static makeFigureFromSettings(e,t,n){return en(function*(){var i=yield n.copy();return i.applyCustomColumns(n.customColumns),i.applyFilter(n.filter),i.applySort(n.sort),e.plot.Figure.create(new Z(e).makeFigureSettings(t,i))})()}static makeModel(e,t,n){return en(function*(){return new Xn(e,n,t)})()}}const ft=mn;function Yn(r){return r.setFigure!==void 0}function Qn(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 _e(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Qn(a,n,i,l,s,"next",o)}function s(o){Qn(a,n,i,l,s,"throw",o)}l(void 0)})}}function ce(r,e,t){return e=wl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function wl(r){var e=El(r,"string");return typeof e=="symbol"?e:String(e)}function El(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 Ce=V.module("IrisGridTableModel");class Fl extends gi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),ce(this,"userFrozenColumns",void 0),ce(this,"customColumnList",void 0),ce(this,"formatColumnList",void 0),ce(this,"initialFilters",[]),ce(this,"getMemoizedKeyColumnSet",k(a=>new Set(a??K))),ce(this,"getMemoizedFrontColumns",k(a=>a??K)),ce(this,"getMemoizedBackColumns",k(a=>a??K)),ce(this,"getMemoizedFrozenColumns",k((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:K})),ce(this,"getCachedFilterableColumnSet",k(a=>new Set(a.map((l,s)=>s)))),ce(this,"getCachedPartitionColumns",k(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isRollupAvailable(){return this.table.rollup!=null}get isSelectDistinctAvailable(){return this.table.selectDistinct!=null}get isCustomColumnsAvailable(){return this.table.applyCustomColumns!=null}get isFormatColumnsAvailable(){return this.table.applyCustomColumns!=null}get keyColumnSet(){var e;return this.getMemoizedKeyColumnSet((e=this.inputTable)===null||e===void 0?void 0:e.keys)}get frontColumns(){var e,t;return this.getMemoizedFrontColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frontColumns)!==null&&e!==void 0?e:void 0)}get backColumns(){var e,t;return this.getMemoizedBackColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.backColumns)!==null&&e!==void 0?e:void 0)}get frozenColumns(){var e,t;return this.getMemoizedFrozenColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frozenColumns)!==null&&e!==void 0?e:void 0,this.userFrozenColumns)}get layoutHints(){return this.table.layoutHints}get floatingLeftColumnCount(){return this.frozenColumns.length}get description(){var e;return(e=this.table.description)!==null&&e!==void 0?e:""}get customColumns(){return this.customColumnList}set customColumns(e){if(Ce.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){Ce.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){Ce.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(Ce.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){Ce.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){Ce.debug("Ignore same formatColumns");return}this.closeSubscription(),this.formatColumnList=e,this.table.applyCustomColumns([...this.customColumns,...e]),this.applyViewport()}updateFrozenColumns(e){this.userFrozenColumns=e,this.dispatchEvent(new Pe(R.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return _e(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return _e(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return _e(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return _e(function*(){Ce.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(Ce.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new Pe(R.EVENT.UPDATED));return}this.totalsTablePromise=Oe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Oe.isCanceled(t)||(Ce.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Pe(R.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}get isPartitionAwareSourceTable(){return this.isPartitionRequired}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return _e(function*(){return e.table.freeze()})()}columnStatistics(e){return this.table.getColumnStatistics(e)}isColumnMovable(e){var t=this.columns[e].name;return this.frontColumns.includes(t)||this.backColumns.includes(t)||this.frozenColumns.includes(t)?!1:!this.isKeyColumn(e)}isColumnFrozen(e){return this.frozenColumns.includes(this.columns[e].name)}delete(e){var t=()=>super.pendingDataMap,n=a=>super.pendingDataMap=a,i=this;return _e(function*(){var a;if(!i.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));D(i.inputTable);var{keyColumns:l}=i.inputTable;if(i.keyColumnSet.size===0)throw new Error("No key columns to allow deletion");var s=i.getPendingAreaRange(),o=e.map(S=>qe.intersection(s,S)).filter(S=>S!=null).map(S=>(D(S),qe.offset(S,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];D(c.startRow),D(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),i.formattedStringData=[],i.dispatchEvent(new Pe(R.EVENT.PENDING_DATA_UPDATED)),i.dispatchEvent(new Pe(R.EVENT.UPDATED))}var v=i.getTableAreaRange(),m=e.map(S=>qe.intersection(v,S)).filter(S=>S!=null);if(!(m.length<=0)){var[C,f]=yield Promise.all([i.snapshot(m.map(S=>(D(S),l.map(P=>{var w=i.getColumnIndexByName(P.name);if(w==null)throw new Error("Key column ".concat(P.name," not found"));return new qe(w,S.startRow,w,S.endRow)}))).flat()),i.table.copy()]),b=C.map(S=>{for(var P=[],w=0;w<l.length;w+=1){var T=l[w],N=S[w],O=i.tableUtils.makeNullableEqFilter(T,N);P.push(O)}return P.reduce((M,E)=>{var I;return(I=M?.and(E))!==null&&I!==void 0?I:E})}),y=b.reduce((S,P)=>{var w;return(w=S?.or(P))!==null&&w!==void 0?w:P});f.applyFilter([y]),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 _e(function*(){return o.table.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const Tl=Fl;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=Ll(r,"string");return typeof e=="symbol"?e:String(e)}function Ll(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 Ol extends R{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Le(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 K}getColumnIndexByName(e){}get initialMovedColumns(){return K}get initialMovedRows(){return K}get initialColumnHeaderGroups(){return K}get groupedColumns(){return K}formatForCell(e,t){}valueForCell(e,t){}get filter(){return K}set filter(e){}get partition(){return K}set partition(e){}get partitionColumns(){return K}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return K}set sort(e){}get customColumns(){return K}set customColumns(e){}get formatColumns(){return K}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 K}set selectDistinctColumns(e){}get pendingDataMap(){return Jt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Jt}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 K}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Jt}getColumnHeaderParentGroup(e,t){}}const Nl=Ol;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 Dt(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 kl(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=xl(r,"string");return typeof e=="symbol"?e:String(e)}function xl(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 Nl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e);super(e,n),kl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}get isPartitionAwareSourceTable(){return!1}get isReversible(){return!1}displayString(e,t,n){return""}close(){this.partitionedTable.close()}get columns(){return this.partitionedTable.columns}get partitionColumns(){return this.partitionedTable.keyColumns}get columnCount(){return this.columns.length}getColumnIndexByName(e){return this.columns.findIndex(t=>t.name===e)}textForColumnHeader(e,t){var n;return(n=this.columns[e].name)!==null&&n!==void 0?n:""}partitionKeysTable(){var e=this;return Dt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return Dt(function*(){return e.partitionedTable.getBaseTable()})()}partitionMergedTable(){var e=this;return Dt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return Dt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Kn("Partition not found");return n}catch(i){throw fl(i)?i:new Kn("Unable to retrieve partition")}})()}}const Rl=_l;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 jl(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 tr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function nr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tr(Object(t),!0).forEach(function(n){ze(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):tr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function ze(r,e,t){return e=Al(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Al(r){var e=$l(r,"string");return typeof e=="symbol"?e:String(e)}function $l(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 Ul=V.module("IrisGridTreeTableModel");function Vl(r){return r.layoutHints!==void 0}class Gl extends gi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),ze(this,"virtualColumns",void 0),ze(this,"getCachedColumns",k((a,l)=>[...a,...l])),ze(this,"getCachedGroupColumns",k((a,l)=>[...a,...l])),ze(this,"getCachedFilterableColumnSet",k((a,l,s,o,d)=>l?new Set(a.filter(h=>!d.includes(h)&&!s.includes(h)).map(h=>a.findIndex(c=>h.name===c.name))):new Set((o?.length>0?o:a).filter(h=>!d.includes(h)).map(h=>a.findIndex(c=>h.name===c.name))))),ze(this,"getCachedGroupedColumnSet",k(a=>new Set(a.map(l=>this.columns.findIndex(s=>l.name===s.name))))),this.virtualColumns=t.groupedColumns.length>1?[{name:"__DH_UI_GROUP__",displayName:"Group",type:H.dataType.STRING,constituentType:H.dataType.STRING,isPartitionColumn:!1,isSortable:!1,isProxy:!0,description:"Key column",index:-1,filter:()=>{throw new Error("Filter not implemented for virtual column")},sort:()=>{throw new Error("Sort not implemented for virtual column")},formatColor:()=>{throw new Error("Color not implemented for virtual column")},get:()=>{throw new Error("get not implemented for virtual column")},getFormat:()=>{throw new Error("getFormat not implemented for virtual column")},formatNumber:()=>{throw new Error("formatNumber not implemented for virtual column")},formatDate:()=>{throw new Error("formatDate not implemented for virtual column")}}]:[]}applyBufferedViewport(e,t,n){var i=[...this.table.groupedColumns,...n.filter(a=>!this.virtualColumns.includes(a)&&!this.groupedColumns.includes(a))];this.table.setViewport(e,t,i)}textForCell(e,t){var n=this.sourceColumn(e,t),i=this.row(t);if(i!=null&&n!=null){if(!i.hasChildren&&n.constituentType!=null){var a=this.valueForCell(e,t);return this.displayString(a,n.constituentType,n.name)}if(i.hasChildren&&i.depth<=e+1&&this.valueForCell(e,t)===null&&this.getCachedGroupedColumnSet(this.groupedColumns).has(e))return""}return super.textForCell(e,t)}extractViewportRow(e,t){var{isExpanded:n,hasChildren:i,depth:a}=e,l=super.extractViewportRow(e,t),s=new Map(l.data);if(i)for(var o=0;o<this.virtualColumns.length;o+=1){var d=o+(a-1)+(this.virtualColumns.length-1),h=s.get(d);h==null?Ul.warn("Missing key data for virtual column",o,a,d,e):s.set(o,h)}return nr(nr({},l),{},{data:s,isExpanded:n,hasChildren:i,depth:a})}snapshot(e,t){var n=arguments,i=this;return jl(function*(){var a,l,s=n.length>2&&n[2]!==void 0?n[2]:y=>y;D(i.viewport),D(i.viewportData);var o=(a=i.viewport.columns)!==null&&a!==void 0?a:i.columns,d=[];t!=null&&t&&d.push(o.map(y=>y.name));for(var h=new qe(0,(l=i.viewportData)===null||l===void 0?void 0:l.offset,o.length,i.viewportData.offset+i.viewportData.rows.length),c=0;c<e.length;c+=1){var p=qe.intersection(h,e[c]);D(p),D(p.startRow),D(p.endRow);for(var v=p.startRow;v<=p.endRow;v+=1){var m=[],C=i.viewportData.rows[v-i.viewportData.offset];D(p.startColumn),D(p.endColumn);for(var f=p.startColumn;f<=p.endColumn;f+=1){var b;m.push(s((b=C.data.get(f))===null||b===void 0?void 0:b.value,i.columns[f]))}d.push(m)}}return d})()}get columns(){return this.getCachedColumns(this.virtualColumns,super.columns)}get aggregatedColumns(){return this.isAggregatedColumnsAvailable?this.table.aggregatedColumns:K}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(Vl(this.table))return this.table.layoutHints}get hasExpandableRows(){return!0}get isAggregatedColumnsAvailable(){return this.table.aggregatedColumns!==void 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.isAggregatedColumnsAvailable,this.aggregatedColumns,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 Se(r,e,t){return e=Bl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Bl(r){var e=Kl(r,"string");return typeof e=="symbol"?e:String(e)}function Kl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ye=V.module("IrisGridProxyModel");function Ke(r,e,t,n){return H.isTreeTable(e)?new Hl(r,e,t):H.isPartitionedTable(e)?new Rl(r,e,t):new Tl(r,e,t,n)}class zl extends R{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Se(this,"model",void 0),Se(this,"dh",void 0),Se(this,"originalModel",void 0),Se(this,"modelPromise",void 0),Se(this,"rollup",void 0),Se(this,"partition",void 0),Se(this,"selectDistinct",void 0),Se(this,"currentViewport",void 0),Se(this,"setViewport",(l,s,o)=>{this.currentViewport={top:l,bottom:s,columns:o},this.model.setViewport(l,s,o)}),this.addEventListener=this.addEventListener.bind(this),this.removeEventListener=this.removeEventListener.bind(this),this.dispatchEvent=this.dispatchEvent.bind(this),this.handleModelEvent=this.handleModelEvent.bind(this);var a=Ke(e,t,n,i);return this.dh=e,this.originalModel=a,this.model=a,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[],new Proxy(this,{get(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.get)!=null;if(h)return Reflect.get(l,s,o);var c=Object.prototype.hasOwnProperty.call(l,s),p=Object.prototype.hasOwnProperty.call(Object.getPrototypeOf(l),s),v=c||p?l:l.model;return Reflect.get(v,s)},set(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.set)!=null,c=Object.prototype.hasOwnProperty.call(l,s);return h||c?Reflect.set(l,s,o,l):Reflect.set(l.model,s,o,l.model)}})}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){ye.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Pe(n,{detail:t}))}setModel(e){ye.debug("setModel",e);var t=this.model,{columns:n}=t;if(t!==this.originalModel&&t.close(),this.model=e,this.listenerCount>0&&this.addListeners(e),n!==e.columns)this.dispatchEvent(new Pe(R.EVENT.COLUMNS_CHANGED,{detail:e.columns}));else if(this.currentViewport!=null){var{top:i,bottom:a,columns:l}=this.currentViewport;e.setViewport(i,a,l)}je(e)&&this.dispatchEvent(new Pe(R.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){ye.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Oe.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Oe.isCanceled(t)){ye.debug2("setNextModel cancelled");return}ye.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Pe(R.EVENT.REQUEST_FAILED,{detail:t}))})}startListening(){super.startListening(),this.addListeners(this.model)}stopListening(){super.stopListening(),this.removeListeners(this.model)}addListeners(e){for(var t=Object.keys(R.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(R.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get originalColumns(){return this.originalModel.columns}get partitionColumns(){return xe(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!xe(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");ye.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&xe(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>Ke(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>Ke(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!xe(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!xe(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!xe(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(ye.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);je(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(ye.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){ye.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);je(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(i=>Ke(this.dh,i,this.formatter))),this.setNextModel(n)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return xe(this.originalModel)?this.originalModel.isPartitionRequired:!1}get formatter(){return this.originalModel.formatter}set formatter(e){this.originalModel.formatter=e}}const Wl=zl;function rr(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 ql(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){rr(a,n,i,l,s,"next",o)}function s(o){rr(a,n,i,l,s,"throw",o)}l(void 0)})}}class Xl{static makeModel(e,t){var n=arguments;return ql(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:new Le(e),a=null;return!H.isTreeTable(t)&&!H.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new Wl(e,t,i,a)})()}}const bi=Xl;function ir(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function ar(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ir(Object(t),!0).forEach(function(n){Zl(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ir(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Zl(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=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)}function Ci(r,e){var t=["isStuckToBottom","isStuckToRight","movedColumns","movedRows"];return r===e||t.every(n=>r[n]===e[n])}function Si(r,e){var t=["advancedFilters","aggregationSettings","customColumnFormatMap","isFilterBarShown","quickFilters","customColumns","reverse","rollupConfig","showSearchBar","searchValue","selectDistinctColumns","selectedSearchColumns","sorts","invertSearchColumns","pendingDataMap","frozenColumns","conditionalFormats","columnHeaderGroups","partitionConfig"];return r===e||r.metrics!=null&&e.metrics!=null&&r.metrics.userColumnWidths===e.metrics.userColumnWidths&&r.metrics.userRowHeights===e.metrics.userRowHeights&&t.every(n=>r[n]===e[n])}function Jl(){return k((r,e)=>U.dehydrateGridState(r,e),(r,e)=>{var[t,n]=r,[i,a]=e;return t===i&&Ci(n,a)})}function es(){return k((r,e)=>{var t=new U(r.dh);return t.dehydrateIrisGridState(r,e)},(r,e)=>{var[t,n]=r,[i,a]=e;return t===i&&Si(n,a)})}function ts(){return k((r,e,t)=>{var n=new U(r.dh);return ar(ar({},n.dehydrateIrisGridState(r,e)),U.dehydrateGridState(r,t))},(r,e)=>{var[t,n,i]=r,[a,l,s]=e;return t===a&&Si(n,l)&&Ci(i,s)})}var ln={makeMemoizedGridStateDehydrator:Jl,makeMemoizedIrisGridStateDehydrator:es,makeMemoizedCombinedGridStateDehydrator:ts};function gn(){var r=g.useContext(ga);if(r==null)throw new Error("LayoutManager not available, did you add a LayoutManagerContext.Provider to the tree?");return r}function bn(r,e,t){return e=ns(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ns(r){var e=rs(r,"string");return typeof e=="symbol"?e:String(e)}function rs(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 Kt{}bn(Kt,"OPEN","ChartEvent.OPEN");bn(Kt,"CLOSE","ChartEvent.CLOSE");bn(Kt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const sn=Kt;function at(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 Ve{}at(Ve,"OPEN_GRID","IrisGridEvent.OPEN_GRID");at(Ve,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");at(Ve,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");at(Ve,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");at(Ve,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");at(Ve,"CREATE_CHART","IrisGridevent.CREATE_CHART");const fe=Ve;function yi(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)}class Cn{}yi(Cn,"OPEN","PandasEvent.OPEN");yi(Cn,"CLOSE","PandasEvent.CLOSE");const os=Cn;function Ft(r){var{widgetType:e,widgetName:t,glContainer:n,description:i,children:a}=r,l=F.getTitleFromContainer(n);return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:t}),u.jsx(ba,{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]})}Ft.propTypes={glContainer:qr.Container.isRequired,widgetType:L.string,widgetName:L.string,description:L.string,children:L.node};Ft.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function Pi(r,e,t){return e=ds(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ds(r){var e=us(r,"string");return typeof e=="symbol"?e:String(e)}function us(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 wi extends g.PureComponent{constructor(e){super(e),Pi(this,"getCachedRenderTabTooltip",k((t,n,i,a,l)=>t?()=>u.jsx(Ft,{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;Ca(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:i,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
|
|
1
|
+
import{r as g,J as u,M as ie,a1 as $e,a2 as ne,bz as va,ab as k,bA as qr,a3 as L,N as re,a0 as Ue,V as ee,I as ae,b2 as fa,b1 as Vn,av as We,a5 as ma,ad as ga}from"./vendor-3e5e4180.js";import{F as Le,cD as Pe,P as Oe,af as K,cE as Jt,c as V,bU as ba,bM as T,J as Ca,bT as Xr,a7 as Sa,ai as Zr,cF as yt,cG as ve,B as x,cH as nt,aa as we,U as Yr,cI as dn,cJ as Qr,M as de,w as rn,cK as Vt,c1 as Jr,Z as un,cL as Gt,cM as Pt,cN as wt,cO as rt,G as Ht,S as bt,cP as hn,i as ei,b as ti,a3 as ya,a8 as Pa,cQ as ni,cR as ri,aN as wa,ab as J,c0 as Ea,cS as Gn,cw as Fa,cx as Ta,u as it,aX as Da,o as ii,cd as Ne,bZ as Et,bO as Me,X as Ma,ak as ai,co as La,cm as Oa,c9 as li,ca as si,y as an,cb as Na,cr as oi,T as ct,N as ka,s as Ia,H as xa,cT as di,cU as ui,cV as hi,cW as ci,a$ as Ra,ac as pi,cc as _a,b_ as ja,cB as Aa,cX as $a,cz as Ua,ah as Va,L as Ga,cC as Ha,cA as Ba,a9 as Ka,ad as za,cY as Wa,a1 as qa,cZ as Xa,a2 as Za,aq as Ya,c_ as Qa,ar as Ja}from"./ControlType-a179c4e6.js";import{L as G,e as F,am as el,an as tl,I as cn,ao as nl,ap as rl,aq as vi,f as pn,ar as fi,as as Hn,w as Bn,g as il,D as al,M as ll,b as sl,c as ol,J as Ct,s as dl,at as ul,au as hl,d as cl,av as pl,aw as vl}from"./index-35aca2dd.js";import{C as fl,a as Z,b as j,G as qe,S as mi,L as gi,I as vn}from"./IrisGridModel-47f7bc83.js";import{I as bi,M as Kn,k as ml,d as _,e as je,j as xe,A as gl,l as bl,m as Cl,n as Sl}from"./MissingPartitionError-c43aae7d.js";import{F as zn}from"./FormatterUtils-0cfc74e0.js";import{_ as yl}from"./monaco-b5248072.js";function fn(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=g.useRef(null),s=g.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=g.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return g.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:ie(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){U(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 U(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=wl(r,"string");return typeof e=="symbol"?e:String(e)}function wl(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=G.module("FigureChartModel");class Bt extends fl{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,U(this,"chartUtils",void 0),U(this,"dh",void 0),U(this,"figure",void 0),U(this,"settings",void 0),U(this,"data",void 0),U(this,"layout",void 0),U(this,"seriesDataMap",void 0),U(this,"pendingSeries",void 0),U(this,"oneClicks",void 0),U(this,"filterColumnMap",void 0),U(this,"lastFilter",void 0),U(this,"isConnected",void 0),U(this,"seriesToProcess",void 0),U(this,"addPendingSeries",$e(()=>{for(var a=Z.getAxisTypeMap(this.figure),{pendingSeries:l}=this,s=function(){var h,c=l[o],p=n.figure.charts.find(v=>v.series.includes(c));n.addSeries(c,a,(h=p?.showLegend)!==null&&h!==void 0?h:null),c.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},Bt.ADD_SERIES_DEBOUNCE)),U(this,"getTimeZone",ne((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}})),U(this,"getValueTranslator",ne((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)})),U(this,"getValueParser",ne((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)})),U(this,"getRangeParser",ne((a,l)=>s=>{var[o,d]=s,h=this.getValueParser(a,l);return o=h(o),d=h(d),[o,d]})),U(this,"getAxisRangeParser",ne((a,l)=>s=>{var o=Z.getSourceForAxis(a,s);return o!=null?this.getRangeParser(o.columnType,l):d=>d})),this.handleFigureUpdated=this.handleFigureUpdated.bind(this),this.handleFigureDisconnected=this.handleFigureDisconnected.bind(this),this.handleFigureReconnected=this.handleFigureReconnected.bind(this),this.handleFigureSeriesAdded=this.handleFigureSeriesAdded.bind(this),this.handleDownsampleStart=this.handleDownsampleStart.bind(this),this.handleDownsampleFinish=this.handleDownsampleFinish.bind(this),this.handleDownsampleFail=this.handleDownsampleFail.bind(this),this.handleDownsampleNeeded=this.handleDownsampleNeeded.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.dh=e,this.chartUtils=new Z(e),this.figure=t,this.settings=i,this.data=[],this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"}},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.title!=null&&this.figure.title.length>0)return this.figure.title;if(this.figure.charts.length===1){var e;return(e=this.figure.charts[0].title)!==null&&e!==void 0?e:""}return""}initAllSeries(){var e=this;this.oneClicks=[],this.filterColumnMap.clear();var{charts:t}=this.figure,n=Z.getAxisTypeMap(this.figure),i=[];this.seriesToProcess=new Set;for(var a=function(){for(var p=t[l],v=0;v<p.series.length;v+=1){var m=p.series[v];i.push(m.name),e.addSeries(m,n,p.showLegend)}var{axes:C,title:f}=p;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var b=C.find(E=>E.type===e.dh.plot.AxisType.X),y=C.find(E=>E.type===e.dh.plot.AxisType.Y);if(b==null||y==null)z.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",p);else{var S,P,w,D,N=((S=(P=n.get(b.type))===null||P===void 0?void 0:P.findIndex(E=>E===b))!==null&&S!==void 0?S:0)+1,O=((w=(D=n.get(y.type))===null||D===void 0?void 0:D.findIndex(E=>E===y))!==null&&w!==void 0?w:0)+1,M={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(N," domain"),yref:"y".concat(O," domain")};e.layout.annotations==null?e.layout.annotations=[M]:e.layout.annotations.push(M)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>i.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var i,a,{dh:l}=this,s=this.chartUtils.makeSeriesDataFromSeries(e,t,Z.getSeriesVisibility(e.name,this.settings),n,(i=(a=this.renderOptions)===null||a===void 0?void 0:a.webgl)!==null&&i!==void 0?i:!0);if(this.seriesDataMap.set(e.name,s),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===l.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===l.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=Z.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===l.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:o}=e,{columns:d}=o,h=0;h<d.length;h+=1)this.filterColumnMap.set(d[h].name,d[h]);this.oneClicks.push(o)}this.updateLayoutFormats()}subscribe(e){super.subscribe(e),this.listeners.length===1&&(this.initAllSeries(),this.subscribeFigure())}unsubscribe(e){super.unsubscribe(e),this.listeners.length===0&&this.unsubscribeFigure()}subscribeFigure(){if(!this.isConnected){z.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&&(z.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){z.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){z.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){z.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){z.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;z.debug2("handleFigureUpdated",n);for(var i=0;i<n.length;i+=1){var a=n[i];z.debug2("handleFigureUpdated updating series",a.name);for(var{sources:l}=a,s=0;s<l.length;s+=1){var o=l[s],{columnType:d,type:h}=o,c=this.getValueTranslator(d,this.formatter),p=t.getArray(a,h,c);this.setDataArrayForSeries(a,h,p)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:v}=this;this.fireUpdate(v)}handleRequestFailed(e){z.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){z.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){z.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;z.debug("handleFigureSeriesAdded",t),this.pendingSeries.push(t),this.addPendingSeries()}setDimensions(e){super.setDimensions(e),this.updateAxisPositions()}setTitle(e){var t,n;super.setTitle(e);var i=(t=(n=(e??"").match(/<br>/g))===null||n===void 0?void 0:n.length)!==null&&t!==void 0?t:0,a=Z.DEFAULT_MARGIN.t+i*Z.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=qn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=qn({},this.layout.title.pad),this.layout.title.pad.t=Z.DEFAULT_TITLE_PADDING.t+i*Z.SUBTITLE_LINE_HEIGHT*.5),this.fireLayoutUpdated({title:this.layout.title})}getPlotWidth(){var e,t,n,i;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,i;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{z.debug("Assigning ".concat(n),this.layout[n],t);var i=this.layout[n];i!=null?Object.assign(i,t):z.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&&va(l,s,n)}cleanSeries(e){var{dh:t}=this,{name:n,plotStyle:i}=e,a=this.seriesDataMap.get(n);if(a!=null){if(i===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:l,xHigh:s}=a;if(l&&s&&l.length===s.length){for(var o=[],d=0;d<l.length;d+=1)o.push(s[d]-l[d]);a.width=o}}else if(i===t.plot.SeriesPlotStyle.LINE||i===t.plot.SeriesPlotStyle.ERROR_BAR||i===t.plot.SeriesPlotStyle.BAR){var{x:h,xLow:c,xHigh:p,y:v,yLow:m,yHigh:C}=a;c&&p&&c!==h&&(a.error_x=Z.getPlotlyErrorBars(h,c,p)),m&&C&&m!==v&&(a.error_y=Z.getPlotlyErrorBars(v,m,C))}else if(i===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:b}=a;f!==void 0&&b===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){z.warn("Trying to set a filter, but no one click!");return}z.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}}U(Bt,"ADD_SERIES_DEBOUNCE",50);const Xn=Bt;function Zn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function en(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Zn(a,n,i,l,s,"next",o)}function s(o){Zn(a,n,i,l,s,"throw",o)}l(void 0)})}}class mn{static makeModelFromSettings(e,t,n){return en(function*(){var i=yield mn.makeFigureFromSettings(e,t,n);return new Xn(e,i,t)})()}static makeFigureFromSettings(e,t,n){return en(function*(){var i=yield n.copy();return i.applyCustomColumns(n.customColumns),i.applyFilter(n.filter),i.applySort(n.sort),e.plot.Figure.create(new Z(e).makeFigureSettings(t,i))})()}static makeModel(e,t,n){return en(function*(){return new Xn(e,n,t)})()}}const ft=mn;function Yn(r){return r.setFigure!==void 0}function Qn(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 Re(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Qn(a,n,i,l,s,"next",o)}function s(o){Qn(a,n,i,l,s,"throw",o)}l(void 0)})}}function ce(r,e,t){return e=El(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function El(r){var e=Fl(r,"string");return typeof e=="symbol"?e:String(e)}function Fl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Ce=G.module("IrisGridTableModel");class Tl extends bi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),ce(this,"userFrozenColumns",void 0),ce(this,"customColumnList",void 0),ce(this,"formatColumnList",void 0),ce(this,"initialFilters",[]),ce(this,"getMemoizedKeyColumnSet",k(a=>new Set(a??K))),ce(this,"getMemoizedFrontColumns",k(a=>a??K)),ce(this,"getMemoizedBackColumns",k(a=>a??K)),ce(this,"getMemoizedFrozenColumns",k((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:K})),ce(this,"getCachedFilterableColumnSet",k(a=>new Set(a.map((l,s)=>s)))),ce(this,"getCachedPartitionColumns",k(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isRollupAvailable(){return this.table.rollup!=null}get isSelectDistinctAvailable(){return this.table.selectDistinct!=null}get isOrganizeColumnsAvailable(){return!0}get isCustomColumnsAvailable(){return this.table.applyCustomColumns!=null}get isFormatColumnsAvailable(){return this.table.applyCustomColumns!=null}get keyColumnSet(){var e;return this.getMemoizedKeyColumnSet((e=this.inputTable)===null||e===void 0?void 0:e.keys)}get frontColumns(){var e,t;return this.getMemoizedFrontColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frontColumns)!==null&&e!==void 0?e:void 0)}get backColumns(){var e,t;return this.getMemoizedBackColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.backColumns)!==null&&e!==void 0?e:void 0)}get frozenColumns(){var e,t;return this.getMemoizedFrozenColumns((e=(t=this.layoutHints)===null||t===void 0?void 0:t.frozenColumns)!==null&&e!==void 0?e:void 0,this.userFrozenColumns)}get layoutHints(){return this.table.layoutHints}get floatingLeftColumnCount(){return this.frozenColumns.length}get description(){var e;return(e=this.table.description)!==null&&e!==void 0?e:""}get customColumns(){return this.customColumnList}set customColumns(e){if(Ce.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){Ce.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){Ce.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(Ce.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){Ce.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){Ce.debug("Ignore same formatColumns");return}this.closeSubscription(),this.formatColumnList=e,this.table.applyCustomColumns([...this.customColumns,...e]),this.applyViewport()}updateFrozenColumns(e){this.userFrozenColumns=e,this.dispatchEvent(new Pe(j.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Re(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Re(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionBaseTable(){var e=this;return Re(function*(){return e.partitionKeysTable()})()}partitionTable(e){var t=this;return Re(function*(){Ce.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(Ce.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new Pe(j.EVENT.UPDATED));return}this.totalsTablePromise=Oe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Oe.isCanceled(t)||(Ce.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Pe(j.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}get isPartitionAwareSourceTable(){return this.isPartitionRequired}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Re(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 Re(function*(){var a;if(!i.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));F(i.inputTable);var{keyColumns:l}=i.inputTable;if(i.keyColumnSet.size===0)throw new Error("No key columns to allow deletion");var s=i.getPendingAreaRange(),o=e.map(S=>qe.intersection(s,S)).filter(S=>S!=null).map(S=>(F(S),qe.offset(S,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];F(c.startRow),F(c.endRow);for(var p=c.startRow;p<=c.endRow;p+=1)d.delete(p)}n(d),i.formattedStringData=[],i.dispatchEvent(new Pe(j.EVENT.PENDING_DATA_UPDATED)),i.dispatchEvent(new Pe(j.EVENT.UPDATED))}var v=i.getTableAreaRange(),m=e.map(S=>qe.intersection(v,S)).filter(S=>S!=null);if(!(m.length<=0)){var[C,f]=yield Promise.all([i.snapshot(m.map(S=>(F(S),l.map(P=>{var w=i.getColumnIndexByName(P.name);if(w==null)throw new Error("Key column ".concat(P.name," not found"));return new qe(w,S.startRow,w,S.endRow)}))).flat()),i.table.copy()]),b=C.map(S=>{for(var P=[],w=0;w<l.length;w+=1){var D=l[w],N=S[w],O=i.tableUtils.makeNullableEqFilter(D,N);P.push(O)}return P.reduce((M,E)=>{var I;return(I=M?.and(E))!==null&&I!==void 0?I:E})}),y=b.reduce((S,P)=>{var w;return(w=S?.or(P))!==null&&w!==void 0?w:P});f.applyFilter([y]),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 Re(function*(){return o.table.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const Dl=Tl;function Ml(r,e,t){return e=Ll(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ll(r){var e=Ol(r,"string");return typeof e=="symbol"?e:String(e)}function Ol(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 Nl extends j{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Le(e);super(e),Ml(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 K}getColumnIndexByName(e){}get initialMovedColumns(){return K}get initialMovedRows(){return K}get initialColumnHeaderGroups(){return K}get groupedColumns(){return K}formatForCell(e,t){}valueForCell(e,t){}get filter(){return K}set filter(e){}get partition(){return K}set partition(e){}get partitionColumns(){return K}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return K}set sort(e){}get customColumns(){return K}set customColumns(e){}get formatColumns(){return K}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 K}set selectDistinctColumns(e){}get pendingDataMap(){return Jt}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return Jt}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 K}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return Jt}getColumnHeaderParentGroup(e,t){}}const kl=Nl;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 Dt(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 Il(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=Rl(r,"string");return typeof e=="symbol"?e:String(e)}function Rl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class _l extends kl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e);super(e,n),Il(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}get isPartitionAwareSourceTable(){return!1}get isReversible(){return!1}displayString(e,t,n){return""}close(){this.partitionedTable.close()}get columns(){return this.partitionedTable.columns}get partitionColumns(){return this.partitionedTable.keyColumns}get columnCount(){return this.columns.length}getColumnIndexByName(e){return this.columns.findIndex(t=>t.name===e)}textForColumnHeader(e,t){var n;return(n=this.columns[e].name)!==null&&n!==void 0?n:""}partitionKeysTable(){var e=this;return Dt(function*(){return e.partitionedTable.getKeyTable()})()}partitionBaseTable(){var e=this;return Dt(function*(){return e.partitionedTable.getBaseTable()})()}partitionMergedTable(){var e=this;return Dt(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return Dt(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Kn("Partition not found");return n}catch(i){throw ml(i)?i:new Kn("Unable to retrieve partition")}})()}}const jl=_l;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 Al(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 tr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function nr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tr(Object(t),!0).forEach(function(n){ze(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):tr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function ze(r,e,t){return e=$l(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function $l(r){var e=Ul(r,"string");return typeof e=="symbol"?e:String(e)}function Ul(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Vl=G.module("IrisGridTreeTableModel");function rr(r){return r!=null&&typeof r=="object"&&"hasChildren"in r&&"isExpanded"in r&&"depth"in r&&typeof r.hasChildren=="boolean"&&typeof r.isExpanded=="boolean"&&typeof r.depth=="number"}function Gl(r){return r.layoutHints!==void 0}class Hl extends bi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),ze(this,"virtualColumns",void 0),ze(this,"getCachedColumns",k((a,l)=>[...a,...l])),ze(this,"getCachedGroupColumns",k((a,l)=>[...a,...l])),ze(this,"getCachedFilterableColumnSet",k((a,l,s,o,d)=>l?new Set(a.filter(h=>!d.includes(h)&&!s.includes(h)).map(h=>a.findIndex(c=>h.name===c.name))):new Set((o?.length>0?o:a).filter(h=>!d.includes(h)).map(h=>a.findIndex(c=>h.name===c.name))))),ze(this,"getCachedGroupedColumnSet",k(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:V.dataType.STRING,constituentType:V.dataType.STRING,isPartitionColumn:!1,isSortable:!1,isProxy:!0,description:"Key column",index:-1,filter:()=>{throw new Error("Filter not implemented for virtual column")},sort:()=>{throw new Error("Sort not implemented for virtual column")},formatColor:()=>{throw new Error("Color not implemented for virtual column")},get:()=>{throw new Error("get not implemented for virtual column")},getFormat:()=>{throw new Error("getFormat not implemented for virtual column")},formatNumber:()=>{throw new Error("formatNumber not implemented for virtual column")},formatDate:()=>{throw new Error("formatDate not implemented for virtual column")}}]:[]}applyBufferedViewport(e,t,n){var i=[...this.table.groupedColumns,...n.filter(a=>!this.virtualColumns.includes(a)&&!this.groupedColumns.includes(a))];this.table.setViewport(e,t,i)}textForCell(e,t){var n=this.sourceColumn(e,t),i=this.row(t);if(i!=null&&n!=null){if(!i.hasChildren&&n.constituentType!=null){var a,l=this.valueForCell(e,t),s=this.displayString(l,n.constituentType,n.name);if(V.isTextType((a=this.columns[e])===null||a===void 0?void 0:a.type)){if(l===null)return this.formatter.showNullStrings?"null":"";if(s==="")return this.formatter.showEmptyStrings?"empty":""}return s}if(i.hasChildren&&i.depth<=e+1&&this.valueForCell(e,t)===null&&this.getCachedGroupedColumnSet(this.groupedColumns).has(e))return""}return super.textForCell(e,t)}colorForCell(e,t,n){var i=this.dataForCell(e,t);if(i){var{format:a,value:l}=i;if(l==null||l==="")return F(n.nullStringColor),n.nullStringColor;if(a?.color!=null&&a.color!=="")return a.color;if(l!=null){var s=this.sourceColumn(e,t),o=this.row(t);F(o);var d=s.type;return rr(o)&&o.hasChildren===!1&&s.constituentType!=null&&(d=s.constituentType),_.colorForValue(n,d,s.name,l)}}return n.textColor}textAlignForCell(e,t){var n=this.sourceColumn(e,t),i=this.row(t);F(i);var a=n.type;return rr(i)&&i.hasChildren===!1&&n.constituentType!=null&&(a=n.constituentType),_.textAlignForValue(a,n.name)}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?Vl.warn("Missing key data for virtual column",o,a,d,e):s.set(o,h)}return nr(nr({},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]:y=>y;F(i.viewport),F(i.viewportData);var o=(a=i.viewport.columns)!==null&&a!==void 0?a:i.columns,d=[];t!=null&&t&&d.push(o.map(y=>y.name));for(var h=new qe(0,(l=i.viewportData)===null||l===void 0?void 0:l.offset,o.length,i.viewportData.offset+i.viewportData.rows.length),c=0;c<e.length;c+=1){var p=qe.intersection(h,e[c]);F(p),F(p.startRow),F(p.endRow);for(var v=p.startRow;v<=p.endRow;v+=1){var m=[],C=i.viewportData.rows[v-i.viewportData.offset];F(p.startColumn),F(p.endColumn);for(var f=p.startColumn;f<=p.endColumn;f+=1){var b;m.push(s((b=C.data.get(f))===null||b===void 0?void 0:b.value,i.columns[f]))}d.push(m)}}return d})()}get columns(){return this.getCachedColumns(this.virtualColumns,super.columns)}get aggregatedColumns(){return this.isAggregatedColumnsAvailable?this.table.aggregatedColumns:K}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(Gl(this.table))return this.table.layoutHints}get hasExpandableRows(){return!0}get isAggregatedColumnsAvailable(){return this.table.aggregatedColumns!==void 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.isAggregatedColumnsAvailable,this.aggregatedColumns,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 Bl=Hl;function Se(r,e,t){return e=Kl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Kl(r){var e=zl(r,"string");return typeof e=="symbol"?e:String(e)}function zl(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=G.module("IrisGridProxyModel");function Ke(r,e,t,n){return V.isTreeTable(e)?new Bl(r,e,t):V.isPartitionedTable(e)?new jl(r,e,t):new Dl(r,e,t,n)}class Wl extends j{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new Le(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),Se(this,"model",void 0),Se(this,"dh",void 0),Se(this,"originalModel",void 0),Se(this,"modelPromise",void 0),Se(this,"rollup",void 0),Se(this,"partition",void 0),Se(this,"selectDistinct",void 0),Se(this,"currentViewport",void 0),Se(this,"setViewport",(l,s,o)=>{this.currentViewport={top:l,bottom:s,columns:o},this.model.setViewport(l,s,o)}),this.addEventListener=this.addEventListener.bind(this),this.removeEventListener=this.removeEventListener.bind(this),this.dispatchEvent=this.dispatchEvent.bind(this),this.handleModelEvent=this.handleModelEvent.bind(this);var a=Ke(e,t,n,i);return this.dh=e,this.originalModel=a,this.model=a,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[],new Proxy(this,{get(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.get)!=null;if(h)return Reflect.get(l,s,o);var c=Object.prototype.hasOwnProperty.call(l,s),p=Object.prototype.hasOwnProperty.call(Object.getPrototypeOf(l),s),v=c||p?l:l.model;return Reflect.get(v,s)},set(l,s,o){var d,h=((d=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(l),s))===null||d===void 0?void 0:d.set)!=null,c=Object.prototype.hasOwnProperty.call(l,s);return h||c?Reflect.set(l,s,o,l):Reflect.set(l.model,s,o,l.model)}})}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){ye.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new Pe(n,{detail:t}))}setModel(e){ye.debug("setModel",e);var t=this.model,{columns:n}=t;if(t!==this.originalModel&&t.close(),this.model=e,this.listenerCount>0&&this.addListeners(e),n!==e.columns)this.dispatchEvent(new Pe(j.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)}je(e)&&this.dispatchEvent(new Pe(j.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){ye.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Oe.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Oe.isCanceled(t)){ye.debug2("setNextModel cancelled");return}ye.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Pe(j.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(j.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(j.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get originalColumns(){return this.originalModel.columns}get partitionColumns(){return xe(this.originalModel)?this.originalModel.partitionColumns:[]}get partitionConfig(){return!xe(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");ye.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&xe(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionBaseTable().then(n=>Ke(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>Ke(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!xe(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!xe(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!xe(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get rollupConfig(){return this.rollup}set rollupConfig(e){if(ye.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!qr(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);je(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>Ke(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(ye.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){ye.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);je(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(i=>Ke(this.dh,i,this.formatter))),this.setNextModel(n)}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return xe(this.originalModel)?this.originalModel.isPartitionRequired:!1}get formatter(){return this.originalModel.formatter}set formatter(e){this.originalModel.formatter=e}}const ql=Wl;function ir(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 Xl(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){ir(a,n,i,l,s,"next",o)}function s(o){ir(a,n,i,l,s,"throw",o)}l(void 0)})}}class Zl{static makeModel(e,t){var n=arguments;return Xl(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:new Le(e),a=null;return!V.isTreeTable(t)&&!V.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new ql(e,t,i,a)})()}}const Ci=Zl;function ar(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 lr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ar(Object(t),!0).forEach(function(n){Yl(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ar(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Yl(r,e,t){return e=Ql(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ql(r){var e=Jl(r,"string");return typeof e=="symbol"?e:String(e)}function Jl(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 Si(r,e){var t=["isStuckToBottom","isStuckToRight","movedColumns","movedRows"];return r===e||t.every(n=>r[n]===e[n])}function yi(r,e){var t=["advancedFilters","aggregationSettings","customColumnFormatMap","isFilterBarShown","quickFilters","customColumns","reverse","rollupConfig","showSearchBar","searchValue","selectDistinctColumns","selectedSearchColumns","sorts","invertSearchColumns","pendingDataMap","frozenColumns","conditionalFormats","columnHeaderGroups","partitionConfig"];return r===e||r.metrics!=null&&e.metrics!=null&&r.metrics.userColumnWidths===e.metrics.userColumnWidths&&r.metrics.userRowHeights===e.metrics.userRowHeights&&t.every(n=>r[n]===e[n])}function es(){return k((r,e)=>_.dehydrateGridState(r,e),(r,e)=>{var[t,n]=r,[i,a]=e;return t===i&&Si(n,a)})}function ts(){return k((r,e)=>{var t=new _(r.dh);return t.dehydrateIrisGridState(r,e)},(r,e)=>{var[t,n]=r,[i,a]=e;return t===i&&yi(n,a)})}function ns(){return k((r,e,t)=>{var n=new _(r.dh);return lr(lr({},n.dehydrateIrisGridState(r,e)),_.dehydrateGridState(r,t))},(r,e)=>{var[t,n,i]=r,[a,l,s]=e;return t===a&&yi(n,l)&&Si(i,s)})}var ln={makeMemoizedGridStateDehydrator:es,makeMemoizedIrisGridStateDehydrator:ts,makeMemoizedCombinedGridStateDehydrator:ns};function gn(){var r=g.useContext(ba);if(r==null)throw new Error("LayoutManager not available, did you add a LayoutManagerContext.Provider to the tree?");return r}function bn(r,e,t){return e=rs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function rs(r){var e=is(r,"string");return typeof e=="symbol"?e:String(e)}function is(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 Kt{}bn(Kt,"OPEN","ChartEvent.OPEN");bn(Kt,"CLOSE","ChartEvent.CLOSE");bn(Kt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const sn=Kt;function at(r,e,t){return e=as(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function as(r){var e=ls(r,"string");return typeof e=="symbol"?e:String(e)}function ls(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 Ve{}at(Ve,"OPEN_GRID","IrisGridEvent.OPEN_GRID");at(Ve,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");at(Ve,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");at(Ve,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");at(Ve,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");at(Ve,"CREATE_CHART","IrisGridevent.CREATE_CHART");const fe=Ve;function Pi(r,e,t){return e=ss(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ss(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)}class Cn{}Pi(Cn,"OPEN","PandasEvent.OPEN");Pi(Cn,"CLOSE","PandasEvent.CLOSE");const ds=Cn;function Ft(r){var{widgetType:e,widgetName:t,glContainer:n,description:i,children:a}=r,l=T.getTitleFromContainer(n);return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:t}),u.jsx(Ca,{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]})}Ft.propTypes={glContainer:Xr.Container.isRequired,widgetType:L.string,widgetName:L.string,description:L.string,children:L.node};Ft.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function wi(r,e,t){return e=us(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function us(r){var e=hs(r,"string");return typeof e=="symbol"?e:String(e)}function hs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Ei extends g.PureComponent{constructor(e){super(e),wi(this,"getCachedRenderTabTooltip",k((t,n,i,a,l)=>t?()=>u.jsx(Ft,{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;Sa(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:i,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
|
|
2
2
|
Check your internet connection.`;if(t&&n)return"Disconnected from server.";if(n){var{widgetName:l,widgetType:s}=this.props;return'Variable "'.concat(l,`" not set.
|
|
3
|
-
`).concat(s," does not exist yet.")}if(i){var{widgetName:o}=this.props;return"".concat(o," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:i,isLoading:a,glContainer:l,glEventHub:s,isDisconnected:o,isClonable:d,isRenamable:h,showTabTooltip:c,renderTabTooltip:p,widgetType:v,widgetName:m,description:C,onClearAllFilters:f,onHide:b,onFocus:y,onBlur:S,onResize:P,onShow:w,onTabBlur:T,onTabFocus:N,onTabClicked:O}=this.props,{isPanelDisconnected:M,isWidgetDisconnected:E,isPanelInactive:I}=this.state,q=this.getErrorMessage(),B=p??this.getCachedRenderTabTooltip(c,l,v,m,C),j=[{title:"Copy ".concat(v," Name"),group:Xr.groups.medium,order:20,action:this.handleCopyName}];return u.jsxs(yt,{className:ie(t,{disconnected:M||E||o,inactive:I}),componentPanel:n,glContainer:l,glEventHub:s,onClearAllFilters:f,onHide:b,onFocus:y,onBlur:S,onResize:P,onShow:w,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:T,onTabFocus:N,onTabClicked:O,renderTabTooltip:B,errorMessage:q,isLoaded:i,isLoading:a,isClonable:d,isRenamable:h,additionalActions:j,children:[e,I&&u.jsx("div",{className:"fill-parent-absolute"})]})}}Pi(wi,"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 Tt=wi;function Ei(r){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:i,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=r,o=g.useMemo(()=>{var m=Array.from(s.keys()),C=m.find(y=>t.get(y)!=null),f=m.find(y=>n.get(y)!=null),b=ve.join(m.map(y=>'"'.concat(y,'"')));return C!=null&&C&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(b):C!=null&&C?"Set a filter control value for ".concat(b):"Double click a row in a linked table to set a value for ".concat(b)},[t,n,s]),d=g.useMemo(()=>Array.from(e.values()),[e]),h=g.useCallback(m=>{m.stopPropagation(),m.preventDefault(),i(Array.from(l.values()))},[i,l]),c=g.useCallback(m=>{m.stopPropagation(),m.preventDefault(),a()},[a]),p=l.size>0,v=!p&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ie("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":p},{"chart-filter-waiting-input":v}),children:[p&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(m=>{var C=l.has(m.name),f=C?Ja:el;return u.jsxs("div",{className:ie("waiting-filter-item",{"is-invalid":C}),children:[u.jsx(re,{icon:f}),m.name]},m.name)})}),u.jsxs("div",{children:[u.jsx(x,{kind:"primary",onClick:h,children:"Add Input Filters"}),u.jsx(x,{kind:"primary",onClick:c,children:"Open Linker Tool"})]})]}),v&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}Ei.propTypes={columnMap:L.instanceOf(Map).isRequired,inputFilterMap:L.instanceOf(Map).isRequired,linkedColumnMap:L.instanceOf(Map).isRequired,onAdd:L.func.isRequired,onOpenLinker:L.func.isRequired,waitingFilterMap:L.instanceOf(Map).isRequired,waitingInputMap:L.instanceOf(Map).isRequired};function St(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:ie("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(fi,{className:ie("btn-chart-column-selector",St.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}St.makeButtonClassName=r=>"btn-chart-column-selector-".concat(r);St.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Xe(r){return r.settings!==void 0}function Sn(r){return r.figure!==void 0}function Fi(r){if(r==null)return!1;var{settings:e,tableSettings:t}=r;return typeof e=="object"&&typeof t=="object"}function Ti(r){return r!=null&&Fi(r.panelState)}var yn=nt(we.COLUMNS_CHANGED),hs=yn.listen,jt=yn.emit,cs=yn.useListener,Pn=nt(we.TABLE_CHANGED);Pn.listen;var At=Pn.emit,ps=Pn.useListener,wn=nt(we.FILTERS_CHANGED);wn.listen;var Di=wn.emit,vs=wn.useListener,En=Object.freeze({LINK_POINT_SELECTED:"LinkerEvent.LINK_POINT_SELECTED",SOURCE_DATA_SELECTED:"LinkerEvent.SOURCE_DATA_SELECTED",REGISTER_TARGET:"LinkerEvent.REGISTER_TARGET"}),Fn=nt(En.LINK_POINT_SELECTED),fs=Fn.listen,zt=Fn.emit;Fn.useListener;var Tn=nt(En.SOURCE_DATA_SELECTED),ms=Tn.listen,Mi=Tn.emit;Tn.useListener;var Dn=nt(En.REGISTER_TARGET),gs=Dn.listen,lr=Dn.emit;Dn.useListener;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){se(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 se(r,e,t){return e=bs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function bs(r){var e=Cs(r,"string");return typeof e=="symbol"?e:String(e)}function Cs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Q=V.module("ChartPanel"),Ss=150;function ys(r){return r.inputFilters!=null}function Ps(r){return r.panelState!=null}class Wt extends g.Component{constructor(e){super(e),se(this,"panelContainer",void 0),se(this,"pending",void 0),se(this,"getWaitingInputMap",k((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),se(this,"getWaitingFilterMap",k((l,s,o,d,h)=>{if(!l)return new Map;var c=new Map(s);return o.forEach((p,v)=>{c.delete(v)}),h.forEach((p,v)=>{c.delete(v)}),d.forEach((p,v)=>{c.delete(v)}),c})),se(this,"getInputFilterColumnMap",k((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:p}=h,v=l.get(c);v!=null&&v.type===p&&o.set(c,h)}return o})),se(this,"getLinkedColumnMap",k((l,s)=>{for(var o=new Map,d=F.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],p=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?p=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(p=c.end.columnName),p!=null&&l.has(p)){var v=l.get(p);D(v),o.set(p,v)}}return o})),se(this,"getSelectorColumns",k((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d,{type:"chartLink"}):!1,isActive:s.has(d.name)})))),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=$e(this.updateModelFromSource.bind(this),Ss),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=ee.createRef(),this.pending=new Yr;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&&Xe(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&&Yn(s)&&(s.updateSettings(c),this.updatePanelState()),h!==t.isLinked?i&&(h?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):h&&i!==e.source&&(e.source&&this.stopListeningToSource(e.source),i&&(this.startListeningToSource(i),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Q.debug("startListeningToSource",e);var{model:t}=this.state;D(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){Q.debug("stopListeningToSource",e);var{model:t}=this.state;D(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,i=F.getIdFromPanel(this);D(i);var a=n.get(e);a!=null&&zt(t,i,a,{type:"chartLink"})}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:i}=this.props;Q.debug("handleColumnMouseEnter",i,t,n),i&&i(this,{type:t,name:n},{type:"chartLink"})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Q.debug("handleColumnMouseLeave",e),e&&e(this,void 0,{type:"chartLink"})}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:n}=this.props;n(e,void 0),t(de.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){Q.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:i}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),i&&l&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Oe.isCanceled(e)||(Q.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:i}=this.state;if(!n||!i||!t){Q.debug2("updateModelFromSource ignoring",n,i,t);return}var{dh:a}=i;if(this.pending.cancel(),Xe(e)){var{settings:l}=e;this.pending.add(a.plot.Figure.create(new Z(a).makeFigureSettings(l,t))).then(s=>{Yn(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&&ys(e.props)&&Ps(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=U.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 Q.debug("Updated settings",i),{settings:i}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:i}=e;t.emit(we.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,n=F.getIdFromPanel(this);D(n),jt(t,n,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=St.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(n)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){Q.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:i,filterMap:a}=t,l=null,s=new Map(t.filterValueMap);return e.forEach((o,d)=>{var{columnType:h,filterList:c}=o,p=i.get(d);if(!(p==null||p.type!==h)){if(c.length===0){Q.debug("Ignoring empty filterList for column",d);return}var{value:v}=c[0];s.set(d,v),a.get(d)!==v&&(l===null&&(l=new Map(a)),l.set(d,v))}}),{filterValueMap:s,filterMap:(n=l)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(i,n);if(s.has(e)){var o,d=a.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==h&&(a=new Map(t.filterMap),h.length>0?a.set(e,h):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:l}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(l=>l.name===a.name&&l.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var i=e.filter(a=>!t.includes(a));i.length>0&&this.updateInputFilters(i)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i}=n,a=new Map(n.filterValueMap),l=new Map(n.filterMap),s=t?{filterMap:l,filterValueMap:a}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],p=i.get(d);p!=null&&p.type===h&&(c!=null&&l.get(d)!==c&&(c===""?l.delete(d):l.set(d,c),s.filterMap=l),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return Q.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i,filterValueMap:a}=n,l=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=i.get(d);if(c!=null&&c.type===h&&l.has(d)){var p=l.get(d);if(a.has(d)){var v=a.get(d);v!==p&&v!=null&&(s=!0,l.set(d,v))}else s=!0,l.delete(d)}}return Q.debug("deleteInputFilters",s),s?{filterMap:l}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;D(n);var i=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&i.size===0){var a=n.getDefaultTitle(),l=ve.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),Q.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else Q.debug2("updateFilters waiting on inputs",i),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),i=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((l,s)=>{t.has(s)||(i.delete(s),a.filterValueMap=i)}),e.filterMap.forEach((l,s)=>{t.has(s)||(n.delete(s),a.filterMap=n)}),a})}render(){var e,{columnSelectionValidator:t,glContainer:n,glEventHub:i,inputFilters:a,isLinkerActive:l,links:s,metadata:o,settings:d,Plotly:h,containerRef:c}=this.props,{columnMap:p,filterMap:v,error:m,model:C,isActive:f,isDisconnected:b,isLoaded:y,isLoading:S}=this.state,P;Xe(o)?P=o.table:Sn(o)?P=o.figure:P=o.name;var w=this.getInputFilterColumnMap(p,a),T=this.getLinkedColumnMap(p,s),N=C!=null?this.getWaitingInputMap(C.isFilterRequired(),p,v):new Map,O=C!=null?this.getWaitingFilterMap(C.isFilterRequired(),p,v,T,w):new Map,M=m!=null?"Unable to open chart. ".concat(m):void 0,E=N.size>0,I=p.size>0&&l;return u.jsx(Tt,{className:ie("iris-chart-panel",{"input-required":E}),componentPanel:this,glContainer:n,glEventHub:i,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:M,isDisconnected:b,isLoading:S,isLoaded:y,widgetName:(e=P)!==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:y&&C&&u.jsx(mi,{isActive:f,model:C,settings:d,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:h,containerRef:c})}),u.jsx(rn,{in:E&&!I&&!S,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Ei,{inputFilterMap:w,linkedColumnMap:T,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:p,waitingFilterMap:O,waitingInputMap:N})}),u.jsx(rn,{in:I,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(St,{columns:this.getSelectorColumns(p,T,t),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}se(Wt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});se(Wt,"displayName","ChartPanel");se(Wt,"COMPONENT","ChartPanel");var ws=(r,e)=>{var{localDashboardId:t,metadata:n}=e,i;n!=null&&Xe(n)&&(i=n.sourcePanelId);var a=Vt(r,t),l=Qr(r,t),s=un(r),o=Gt(r,t),d=s===de.LINKER&&o===void 0;return{columnSelectionValidator:Pt(r,t),isLinkerActive:d,inputFilters:wt(r,t),links:rt(r,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?l.get(i):void 0,settings:Ht(r)}},Es=Ue(ws,{setActiveTool:Zr,setDashboardIsolatedLinkerPanelId:dn},null,{forwardRef:!0})(Wt);const Mn=Es;var Li=g.createContext(null);function Jd(r){var{initialState:e,onChange:t,children:n}=r,[i,a]=ee.useState(0),l=g.useRef({initial:e,initialStateMap:new Map,state:new Map,isTracking:!0}),s=g.useCallback((p,v)=>{l.current.isTracking&&l.current.state.set(p,v)},[]),o=g.useCallback(()=>{l.current.isTracking||(l.current.isTracking=!0,l.current.state=new Map,a(p=>p+1))},[]),d=g.useRef(l.current.initial[Symbol.iterator]()),h=g.useCallback(function(v){var m=l.current.initialStateMap.get(v);if(m)return m;var{value:C,done:f}=d.current.next(),b={value:C,done:f??!1};return l.current.initialStateMap.set(v,b),b},[]);g.useEffect(function(){l.current.isTracking&&(t([...l.current.state.values()]),l.current.isTracking=!1)},[i,t]);var c=g.useMemo(()=>({addState:s,scheduleStateUpdate:o,getInitialState:h,updateId:i}),[s,h,o,i]);return u.jsx(Li.Provider,{value:c,children:n})}function Fs(r,e,t,n,i){if(e>t)throw new Error("Persisted state ".concat(i," is a newer version than the current version. Persisted version: ").concat(e,". Current version: ").concat(t));for(var a=r,l=e;l<t;){var s=n.filter(d=>d.from===l);if(s.length===0)throw new Error("No migration found for persisted state ".concat(i," from version ").concat(l));if(s.length>1)throw new Error("Multiple migrations found for persisted state ".concat(i," from version ").concat(l));var o=s[0];try{a=o.migrate(a),l+=1}catch(d){throw new Error("Error migrating persisted state ".concat(i," from version ").concat(o.from,": ").concat(d),{cause:d})}}return a}function Ts(r,e){var t,[n]=g.useState(()=>ae()),i=g.useContext(Li),{value:a,done:l}=(t=i?.getInitialState(n))!==null&&t!==void 0?t:{value:void 0,done:!0},[s,o]=g.useState(()=>{if(a==null||l)return typeof r=="function"?r():r;if(a.type!==e.type)throw new Error("usePersistentState type mismatch. Expected ".concat(e.type," but got ").concat(a.type,"."));if(a.version!==e.version){var h;return Fs(a.state,a.version,e.version,(h=e.migrations)!==null&&h!==void 0?h:[],e.type)}return a.state}),d={type:e.type,version:e.version,state:s};return g.useDebugValue(d),i?.addState(n,d),g.useEffect(function(){i?.scheduleStateUpdate()},[i,s]),g.useEffect(function(){return()=>{i?.scheduleStateUpdate()}},[i]),[s,o]}function oe(r,e,t){return e=Ds(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ds(r){var e=Ms(r,"string");return typeof e=="symbol"?e:String(e)}function Ms(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Mt=V.module("DropdownFilter"),Ls=150;class Ee extends g.Component{constructor(e){super(e),oe(this,"dropdownRef",void 0),oe(this,"getCompatibleColumns",k((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&H.isCompatibleType(o,a.columnType)}):[])),oe(this,"getColumnOptions",k((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]})),oe(this,"getSelectedOptionIndex",k((a,l)=>a.indexOf(l))),oe(this,"getValueOptions",k(a=>[u.jsx("option",{value:"-1",children:Ee.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),oe(this,"getItemLabel",ne((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})),oe(this,"sendUpdate",$e(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},Ls)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleDropdownKeyPress=this.handleDropdownKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.dropdownRef=ee.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,id:ae(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:i}}componentDidUpdate(e,t){var{source:n,values:i,isLoaded:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a&&(n!==e.source&&this.sourceUpdated(),i!==e.values&&s!==""&&!i.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(l!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(Mt.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:i}=this.props,a=this.getCompatibleColumns(i,n);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),Mt.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var t=e,n=parseInt(t,10),i="",{values:a}=this.props;n>=0&&n<a.length?i=a[n]:Mt.debug2("Selected default item"),Mt.debug2("handleValueChange",i),this.setState({value:i})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:i}=e;return{column:n,value:t===n?i:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:i,isValueShown:a}=e,l=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:l,value:i??o,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:i,isLoaded:a,source:l,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:p,disableCancel:v,id:m,isValueShown:C,selectedColumn:f,value:b}=this.state,y=l===null,S=this.getCompatibleColumns(l,t),P=l!=null,w=(e=l?.columnName)!==null&&e!==void 0?e:Ee.SOURCE_BUTTON_PLACEHOLDER,T=p!=null?"".concat(p.name," Filter"):null,[N,O]=this.getColumnOptions(S,f),M=this.getValueOptions(h),E=this.getSelectedOptionIndex(h,b),I=!P||f==null,q=C&&!i,B="source-column-btn-".concat(m),j="filter-column-select-".concat(m);return u.jsxs(fn,{className:"dropdown-filter fill-parent-absolute",isFlipped:q,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:B,children:"Source Column"}),u.jsx(fi,{id:B,isLinked:P,onClick:s,onMouseEnter:o,onMouseLeave:d,className:Ee.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:w}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:j,children:"Filter Column"}),u.jsx(bt,{id:j,value:String(O),className:"custom-select",onChange:this.handleColumnChange,disabled:y,children:N}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&u.jsx("div",{className:"error-message text-center",children:c}),P&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx(x,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||C||i,tooltip:i?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx(x,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:I||C||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:T})}),u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:u.jsx(bt,{className:"custom-select",value:String(E),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:M})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx(x,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(re,{icon:cn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}oe(Ee,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});oe(Ee,"PLACEHOLDER","Select a value...");oe(Ee,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");oe(Ee,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const dr=Ee;function Y(r,e,t){return e=Os(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Os(r){var e=Ns(r,"string");return typeof e=="symbol"?e:String(e)}function Ns(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var _=V.module("DropdownFilterPanel"),ks=250,Is=(r,e)=>{var{localDashboardId:t}=e,n=F.getIdFromPanel({props:e}),i=Vt(r,t),a=rt(r,t),l=un(r),s=Gt(r,t),o=l===de.LINKER&&(s===void 0||s===n),d=l===de.LINKER&&s!==void 0&&s!==n;return{columns:hn(r,t),columnSelectionValidator:Pt(r,t),dh:Jr(r),isLinkerActive:o,disableLinking:d,settings:Ht(r),panelTableMap:i,dashboardLinks:a}},xs=Ue(Is,null,null,{forwardRef:!0});class ue extends g.Component{constructor(e){super(e),Y(this,"dateTimeFormatter",void 0),Y(this,"dropdownFilterRef",void 0),Y(this,"panelContainer",void 0),Y(this,"pending",void 0),Y(this,"cleanup",void 0),Y(this,"columnFormats",void 0),Y(this,"getCachedValues",ne((c,p,v)=>{var{type:m,name:C}=p;return m!==void 0&&H.isDateType(m)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&m!=null?v.getFormattedString(f,m,C):null)})),Y(this,"getCachedPanelLinks",ne((c,p)=>{var v=F.getIdFromPanel(p);return _.debug("getCachedPanelLinks",c,v),c.filter(m=>{var C;return((C=m.end)===null||C===void 0?void 0:C.panelId)===v})})),Y(this,"getCachedSource",ne(c=>{_.debug("getCachedSource",c);var p;if(c.length>0){var[v]=c;p=v.start,c.length>1&&_.error("Filter has more that one link",c)}return p})),Y(this,"getCachedSourceTable",ne((c,p)=>{var v;if(_.debug("getCachedSourceTable",c,p),p==null)return null;var{panelId:m}=p;return(v=c.get(m))!==null&&v!==void 0?v:null})),Y(this,"getCachedSourceColumn",ne((c,p)=>{var v;return _.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(m=>{var{name:C,type:f}=m;return C===p.columnName&&f===p.columnType}))!==null&&v!==void 0?v:null})),this.handleChange=$e(this.handleChange.bind(this),ks),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleSourceSizeChange=this.handleSourceSizeChange.bind(this),this.handleSourceMouseEnter=this.handleSourceMouseEnter.bind(this),this.handleSourceMouseLeave=this.handleSourceMouseLeave.bind(this),this.handleValuesTableUpdate=this.handleValuesTableUpdate.bind(this),this.dropdownFilterRef=ee.createRef(),this.panelContainer=ee.createRef(),this.pending=new Yr;var{dh:t,panelState:n,settings:i}=e;this.columnFormats=zn.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 Le(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:l,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:i,timestamp:a}=this.state,l=this.getSourceTable(t,e);if(l!==null&&this.startListeningToSource(l),n!=null){var{name:s,type:o}=n;this.sendUpdate(s,o,i,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:i,settings:a}=this.props,{valuesTable:l}=this.state,s=this.getSource(n),o=this.getSourceTable(i,n),d=this.getSource(e.dashboardLinks),h=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),l!==t.valuesTable&&t.valuesTable!=null&&(_.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==h||s!==d)&&this.updateValuesTable(),o!==h&&(h!==null&&this.stopListeningToSource(h),o!==null&&this.startListeningToSource(o))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);this.pending.cancel(),i!==null&&this.stopListeningToSource(i),this.cleanup&&this.cleanup(),n?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(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>ue.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(ue.MAX_TABLE_SIZE," options.")}getPanelErrorMessage(){var{error:e}=this.state;return e!=null?"".concat(e):void 0}getSource(e){var t=this.getCachedPanelLinks(e,this);return this.getCachedSource(t)}getSourceTable(e,t){var n=this.getSource(t);return this.getCachedSourceTable(e,n)}getValuesColumn(e,t){var n=this.getSource(t);return this.getCachedSourceColumn(e,n)}startListeningToSource(e){var{dh:t}=this.props;_.debug("startListeningToSource"),e.addEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.addEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.addEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}stopListeningToSource(e){var{dh:t}=this.props;_.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,{name:a=void 0,type:l=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,c,{panelState:p,timestamp:v,wasFlipped:m,skipUpdate:C}=d,f=p!=null&&n!==p.isValueShown&&a===p.name&&l===p.type&&i===p.value;return s=(h=!C&&n&&(!f||!m))!==null&&h!==void 0?h:!1,s||(o=v),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,l,i,o)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){_.debug("handleColumnSelected");var{glEventHub:e}=this.props,t=F.getIdFromPanel(this);D(t),zt(e,t,ue.SOURCE_COLUMN,{type:"filterSource"})}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){_.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!i}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,i){var a,{dashboardLinks:l,glEventHub:s}=this.props,o=(a=this.getSource(l))===null||a===void 0?void 0:a.panelId,d=o==null?[]:[o];_.debug("sendUpdate",{name:e,type:t,value:n,timestamp:i,excludePanelIds:d});var h=F.getIdFromPanel(this);D(h),Di(s,h,e!=null&&t!=null&&i!=null?{name:e,type:t,value:n??"=null",timestamp:i,excludePanelIds:d}:null)}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),i=this.getSourceTable(t,e);if(_.debug("updateValuesTable",n,i),this.setState({values:[],valuesTable:void 0,error:null}),n==null){_.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),i!=null&&(this.setState({isLoaded:!1,sourceSize:i.size}),this.pending.add(i.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{Oe.isCanceled(a)||(_.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);if(_.debug("applySourceSorts",i?.sort),n==null||i==null){_.debug("Table not initialized");return}var a=[...i.sort];n.applySort(a),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,i=this.getSourceTable(t,e);if(_.debug("applySourceFilters",i?.filter),n==null||i==null){_.debug("Table not initialized");return}var a=[...i.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(_.debug("updateViewportListener",e?.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,n=this.getValuesColumn(e,t);if(!n){_.error("values column is null");return}e.setViewport(0,ue.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=zn.getColumnFormats(e);Wr(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new Le(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){_.error("valuesTable is null");return}var l=this.getValuesColumn(a,i);if(!l){_.error("Values column not found");return}var s=n.map(o=>o.get(l));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:l})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,ue.SOURCE_COLUMN,{type:"filterSource"})}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0,{type:"filterSource"})}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:i,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:p,valuesColumn:v,isLoading:m,isLoaded:C}=this.state,f=this.getSource(t),b=this.getSettingsErrorMessage(),y=this.getPanelErrorMessage(),S=C&&v!=null?this.getCachedValues(p,v,o):[];return u.jsx(Tt,{errorMessage:y,isLoading:m,isLoaded:C,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:C,settingsError:b,source:f,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Y(ue,"displayName","DropdownFilterPanel");Y(ue,"COMPONENT","DropdownFilterPanel");Y(ue,"MAX_TABLE_SIZE",256);Y(ue,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var _s=xs(ue);const Ze=_s;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 Lt(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){pt(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 pt(r,e,t){return e=Rs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Rs(r){var e=js(r,"string");return typeof e=="symbol"?e:String(e)}function js(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var A=V.module("FilterSetManager"),As="Enter name...",hr="No Available Filter Sets";class $t extends g.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),pt(this,"renameInputRef",ee.createRef()),pt(this,"dropdownRef",ee.createRef()),pt(this,"editDropdownRef",ee.createRef()),pt(this,"isRenamingExistingSet",k((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;A.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:i}=this.props;if(A.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:[]}),A.debug("Update sets",n,i),t(n),n.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;$t.animateScreenFlash();var t=ae(),n=e(),i={id:t,title:"",panels:n};A.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return A.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 A.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){A.error("Renamed set undefined.");return}var l=this.getNameError(t);if(A.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",o=Lt(Lt({},n),{},{title:s,restoreFullState:a}),d=i.findIndex(c=>{var{id:p}=c;return p===n.id}),h=[...i];d>=0?(h[d]=o,A.debug("Renamed existing set",h)):(h.push(o),A.debug("Added new set to modified sets",h)),this.setState({editId:o.id,modifiedFilterSets:h,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,i=n.findIndex(o=>{var{id:d}=o;return d===t});if(i<0)return A.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 A.debug("Deleted selected set",t,n,a),A.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;$t.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:i,editId:a}=n;if(a===void 0)return A.error("Filter for update not selected."),null;var l=[...i],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(A.error("Selected set for update not found."),null):(l[s]=Lt(Lt({},l[s]),{},{panels:t}),A.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 A.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){A.debug("handleBackgroundClick"),e.target!==this.dropdownRef.current&&this.focusInput()}handleNameInputChange(e){var{value:t}=e.target,n=this.getNameError(t);this.setState({nameInputValue:t,nameInputError:n})}handleNameInputKeyPress(e){var{key:t}=e;t==="Enter"&&(e.preventDefault(),this.handleRenameConfirm())}isNameInputScreen(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state,{renameSet:t}=e;return t!==void 0}applyFilterSet(e){var{onApply:t,filterSets:n}=this.props;if(e===void 0){A.debug("No filter selected");return}var i=n.find(a=>{var{id:l}=a;return l===e});if(i===void 0){A.debug("Selected id not found in filterSets",e,n);return}A.debug("Apply filterSet",i),t(i)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:i,modifiedFilterSets:a,restoreFullState:l}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,i),p=a.length===0,v=!h&&p&&o.length===0,m=!h&&!v,C=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(re,{icon:Hn,mask:Bn,transform:"shrink-1 down-5 right-7"}),u.jsx(re,{icon:rl,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(re,{icon:Hn,mask:Bn,transform:"shrink-1 down-5 right-7"}),u.jsx(re,{icon:il,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(fn,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[v&&u.jsxs("div",{children:[u.jsx(x,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,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:As,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx(x,{"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:tl}),u.jsx(x,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:nl})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(va,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Vn,{value:"false",children:"Restore only filters"}),u.jsx(Vn,{value:"true",children:"Restore full table state"})]})})]}),m&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(bt,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:p,children:[p&&u.jsx("option",{value:"-1",disabled:!0,children:hr}),a.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(x,{kind:"ghost",onClick:this.handleSetUpdate,disabled:p,icon:f,tooltip:"Update"}),u.jsx(x,{kind:"ghost",onClick:this.handleSetEdit,disabled:p,icon:pi,tooltip:"Edit"}),u.jsx(x,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:pn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(x,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx(x,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx(x,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),u.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"filter-set-manager-column",children:u.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),u.jsx("div",{className:"filter-set-manager-card-content",children:u.jsx("div",{className:"filter-set-manager-value-input",children:u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(bt,{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d??"-1",className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[o.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:hr}),o.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(x,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:vi,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx(x,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(re,{icon:cn,transform:"grow-4"})})})]},"back")]})})}}const Oi=$t;function Ln(r){var e,t,n,i,a,{model:l,widgetName:s,glContainer:o,description:d}=r,h=((e=l?.rowCount)!==null&&e!==void 0?e:0)-((t=l?.pendingRowCount)!==null&&t!==void 0?t:0)-((n=l?.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((i=l?.floatingTopRowCount)!==null&&i!==void 0?i:0),c=l?.displayString(h,"long"),p=(a=l?.columnCount)!==null&&a!==void 0?a:0,v=l?.displayString(p,"long");return u.jsxs(Ft,{widgetType:"Table",widgetName:s,glContainer:o,description:d,children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:v}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Ln.propTypes={glContainer:qr.Container.isRequired,widgetName:L.string.isRequired,description:L.string};Ln.defaultProps={description:null};function Ni(r){if(r==null)return!1;var e=r;return typeof e.table=="string"}function ki(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 Fe(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){G(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 G(r,e,t){return e=$s(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function $s(r){var e=Us(r,"string");return typeof e=="symbol"?e:String(e)}function Us(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 pe=V.module("IrisGridPanel"),Vs=500;function pr(r){if(r==null)throw new Error("No metadata provided");if(ki(r))return r.name;if(Ni(r))return r.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(r)))}class Je extends g.PureComponent{constructor(e){super(e),G(this,"irisGrid",void 0),G(this,"pluginRef",void 0),G(this,"modelPromise",void 0),G(this,"irisGridState",void 0),G(this,"gridState",void 0),G(this,"pluginState",void 0),G(this,"irisGridUtils",void 0),G(this,"gridStateDehydrator",ln.makeMemoizedGridStateDehydrator()),G(this,"irisGridStateDehydrator",ln.makeMemoizedIrisGridStateDehydrator()),G(this,"getGridInputFilters",k((n,i)=>U.getInputFiltersForColumns(n,i.filter(a=>{var{value:l,excludePanelIds:s}=a,o=F.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),G(this,"getAlwaysFetchColumns",k((n,i)=>{for(var a=F.getIdFromPanel(this),l=new Set(i),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),G(this,"getPluginContent",k((n,i,a)=>{if(!i||!je(i)||n==null||i.table==null)return null;var l={panel:this};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,Fe({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:i,table:i.table,onStateChange:this.handlePluginStateChange,pluginState:a},l))})})),G(this,"getDehydratedIrisGridPanelState",k((n,i,a,l)=>U.dehydrateIrisGridPanelState(n,{isSelectingPartition:i,partitions:a,advancedSettings:l}))),G(this,"getCachedPanelState",k((n,i,a,l)=>({irisGridPanelState:n,irisGridState:i,gridState:a,pluginState:l}))),G(this,"savePanelState",$e(()=>{var{irisGridState:n,gridState:i,pluginState:a}=this;D(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state;D(this.irisGridUtils),D(s),D(i);var p=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.irisGridStateDehydrator(s,n),this.gridStateDehydrator(s,i),a);p!==o&&(pe.debug("Saving panel state",this,p),this.setState({panelState:p}),l?.(p))},Vs)),this.handleAdvancedSettingsChange=this.handleAdvancedSettingsChange.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handleTableChanged=this.handleTableChanged.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleDataSelected=this.handleDataSelected.bind(this),this.handleError=this.handleError.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePluginStateChange=this.handlePluginStateChange.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handlePluginFilter=this.handlePluginFilter.bind(this),this.handlePluginFetchColumns=this.handlePluginFetchColumns.bind(this),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.irisGrid=ee.createRef(),this.pluginRef=ee.createRef();var{panelState:t}=e;this.pluginState=null,this.irisGridUtils=null,this.state={error:null,isDisconnected:!1,isLoaded:!1,isLoading:!0,isModelReady:!1,model:void 0,advancedFilters:new Map,aggregationSettings:{aggregations:[],showOnTop:!1},advancedSettings:new Map(ml.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverse:!1,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:i}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),i!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return pr(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Oe.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 U(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=Fe(Fe({},l),i);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=U.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();pe.debug("initModelQueue",i),i&&i(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){pe.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;D(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,{type:"tableLink"}):!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(fe.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):(D(n),this.initModelQueue(n,i))}handleTableChanged(e){pe.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e,i=F.getIdFromPanel(this);D(i),At(t,i,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=F.getIdFromPanel(this),o;l&&(o=U.extractTableSettings(l,i)),n.emit(fe.CREATE_CHART,{metadata:{settings:e,sourcePanelId:s,table:a,tableSettings:o},table:je(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props,n=F.getIdFromPanel(this);D(n),zt(t,n,e,{type:"tableLink"})}handleDataSelected(e,t){var{glEventHub:n}=this.props,i=F.getIdFromPanel(this);D(i),Mi(n,i,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){pe.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){Oe.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}),je(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}var s=F.getIdFromPanel(this);D(s),At(t,s,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){pe.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props,n=F.getIdFromPanel(this);D(n),jt(t,n,e)}startModelListening(e){e.addEventListener(R.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(R.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(R.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(R.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(R.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(R.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(R.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(R.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,i,{model:a}=this.state;if(!a)return null;var l=this.irisGrid.current,{gridWrapper:s}=l||{},o=(t=s?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;D(l);var{metrics:d}=l.state;D(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:p,right:v,columnHeaderMaxDepth:m}=d,C=a.getColumnIndexByName(e);D(C);var f=l.getVisibleColumn(C),b=(n=c.get(f))!==null&&n!==void 0?n:0,y=(i=p.get(f))!==null&&i!==void 0?i:0,S=We(f>v?o.right:o.left+b+y*.5,o.left,o.right),P=o.top+h*m;return[S,P]}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;pe.debug("setFilters",t,n);var{model:i,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){pe.debug("Ignore setFilters, model disconnected");return}D(i);var{columns:s,formatter:o}=i,d=U.changeFilterColumnNamesToIndexes(i.columns,t).filter(c=>{var[p]=c;return i.isFilterable(p)}),h=U.changeFilterColumnNamesToIndexes(i.columns,n).filter(c=>{var[p]=c;return i.isFilterable(p)});D(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){pe.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=Fe({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=U.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=U.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:p,advancedSettings:v}=U.hydrateIrisGridPanelState(e,s);D(this.irisGridUtils);var{advancedFilters:m,customColumns:C,customColumnFormatMap:f,isFilterBarShown:b,quickFilters:y,reverse:S,rollupConfig:P,aggregationSettings:w,sorts:T,userColumnWidths:N,userRowHeights:O,showSearchBar:M,searchValue:E,selectDistinctColumns:I,selectedSearchColumns:q,invertSearchColumns:B,pendingDataMap:j,frozenColumns:me,conditionalFormats:ke,columnHeaderGroups:Ie,partitionConfig:lt}=this.irisGridUtils.hydrateIrisGridState(e,Fe(Fe({},l),o)),{isStuckToBottom:Ge,isStuckToRight:He,movedColumns:st,movedRows:ot}=U.hydrateGridState(e,Fe(Fe({},a),i),l.customColumns);this.setState({advancedFilters:m,advancedSettings:v,conditionalFormats:ke,customColumns:C,customColumnFormatMap:f,isFilterBarShown:b,isSelectingPartition:c,movedColumns:st,movedRows:ot,partitions:p,quickFilters:y,reverse:S,rollupConfig:P,aggregationSettings:w,sorts:T,userColumnWidths:N,userRowHeights:O,showSearchBar:M,searchValue:E,selectDistinctColumns:I,selectedSearchColumns:q,invertSearchColumns:B,pendingDataMap:j,frozenColumns:me,isStuckToBottom:Ge,isStuckToRight:He,columnHeaderGroups:Ie,partitionConfig:lt})}catch(te){pe.error("loadPanelState failed to load panelState",t,te)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:i,glEventHub:a,columnSelectionValidator:l,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,panelState:c,user:p,settings:v,theme:m}=this.props,{advancedFilters:C,aggregationSettings:f,advancedSettings:b,conditionalFormats:y,customColumns:S,customColumnFormatMap:P,error:w,isDisconnected:T,isFilterBarShown:N,isSelectingPartition:O,isStuckToBottom:M,isStuckToRight:E,isLoaded:I,isLoading:q,isModelReady:B,model:j,movedColumns:me,movedRows:ke,partitions:Ie,partitionConfig:lt,quickFilters:Ge,reverse:He,rollupConfig:st,sorts:ot,userColumnWidths:te,userRowHeights:Yt,showSearchBar:le,searchValue:he,selectDistinctColumns:ge,selectedSearchColumns:be,invertSearchColumns:Be,Plugin:Qt,pluginFilters:na,pluginFetchColumns:ra,pendingDataMap:ia,frozenColumns:aa,columnHeaderGroups:la}=this.state,sa=w!=null?"Unable to open table. ".concat(w):void 0,$n=pr(h),Un=(e=j?.description)!==null&&e!==void 0?e:void 0,oa=(t=c?.pluginState)!==null&&t!==void 0?t:null,da=n??this.getPluginContent(Qt,j,oa),{permissions:ua}=p,{canCopy:ha,canDownloadCsv:ca}=ua;return u.jsx(Tt,{errorMessage:sa,isDisconnected:T,isLoading:q,isLoaded:I,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:$n,widgetType:"Table",description:Un,componentPanel:this,renderTabTooltip:()=>u.jsx(Ln,{model:j,widgetName:$n,glContainer:i,description:Un}),children:B&&j&&u.jsx(vn,{advancedFilters:C,aggregationSettings:f,advancedSettings:b,alwaysFetchColumns:this.getAlwaysFetchColumns(d,ra),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:S,customColumnFormatMap:P,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:y,inputFilters:this.getGridInputFilters(j.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:N,isSelectingColumn:l!=null,isSelectingPartition:O,isStuckToBottom:M,isStuckToRight:E,movedColumns:me,movedRows:ke,partitions:Ie,partitionConfig:lt,quickFilters:Ge,reverse:He,rollupConfig:st,settings:v,sorts:ot,userColumnWidths:te,userRowHeights:Yt,model:j,showSearchBar:le,searchValue:he,selectedSearchColumns:be,selectDistinctColumns:ge,invertSearchColumns:Be,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:na,pendingDataMap:ia,canCopy:ha,canDownloadCsv:ca,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:aa,theme:m,columnHeaderGroups:la,children:da})})}}G(Je,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});G(Je,"displayName","IrisGridPanel");G(Je,"COMPONENT","IrisGridPanel");var Gs=(r,e)=>{var{localDashboardId:t=ya,glContainer:n}=e;return{inputFilters:wt(r,t),links:rt(r,t),columnSelectionValidator:Pt(r,t),user:Sa(r),settings:Ht(r)}},Hs=Ue(Gs,null,null,{forwardRef:!0})(Je);const On=Hs;function mt(r,e,t){return e=Bs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Bs(r){var e=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)}var vr=V.module("InputFilter"),zs=150;class et extends g.Component{constructor(e){super(e),mt(this,"inputRef",void 0),mt(this,"getItemLabel",ne((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),mt(this,"sendUpdate",$e(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},zs)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleInputKeyPress=this.handleInputKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.inputRef=ee.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,selectedColumn:t,value:i,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:i,value:a,isValueShown:l}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),l!==void 0&&l&&l!==t.isValueShown&&this.focusInput(),(i!==t.column||a!==t.value||l!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];vr.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;vr.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?et.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(fn,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(bt,{value:String(e.findIndex(d=>d.name===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(x,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx(x,{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:et.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(x,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(re,{icon:cn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}mt(et,"PLACEHOLDER","Enter value...");mt(et,"defaultProps",{column:null,isValueShown:!1,value:null});const Ws=et;function qt(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=Xs(r,"string");return typeof e=="symbol"?e:String(e)}function Xs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Zs=250;class Xt extends g.Component{constructor(e){super(e),qt(this,"inputFilterRef",void 0),this.handleChange=$e(this.handleChange.bind(this),Zs),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=ee.createRef();var{panelState:t}=e,{value:n,isValueShown:i=!1,name:a,type:l,timestamp:s=Date.now()}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,a,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:m}=d,C=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&i===c.value;return s=(h=!m&&n&&(!C||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:o},timestamp:o,wasFlipped:C,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,l=F.getIdFromPanel(this);D(l),Di(a,l,e!=null&&t!=null&&n!=null&&i!=null?{name:e,type:t,value:n,timestamp:i}:null)}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(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(yt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(Ws,{ref:this.inputFilterRef,column:n,columns:i,onChange:this.handleChange,isValueShown:a,value:l})})}}qt(Xt,"defaultProps",{panelState:null});qt(Xt,"COMPONENT","InputFilterPanel");qt(Xt,"displayName","InputFilterPanel");var Ys=(r,e)=>{var{localDashboardId:t}=e;return{columns:hn(r,t)}},Qs=Ue(Ys,null,null,{forwardRef:!0})(Xt);const Ye=Qs;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 Ot(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){Nn(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 Nn(r,e,t){return e=Js(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Js(r){var e=eo(r,"string");return typeof e=="symbol"?e:String(e)}function eo(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 X=V.module("FilterSetManagerPanel");function to(r){return r.setPanelState!=null}class tt extends g.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){X.error("Could not get panel",i);return}var a=F.getComponentNameFromPanel(i),l=F.getIdFromPanel(i);X.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){X.error("Could not get panel container",i);return}var o=F.getComponentConfigFromContainer(s);if(o==null){X.error("Could not get component config from container",s);return}var d=F.getPanelComponentState(o);if(d==null){X.debug("Panel state is null ".concat(l));return}switch(a){case F.getComponentName(Je):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case F.getComponentName(Ye):case F.getComponentName(Ze):{var{isValueShown:c,name:p,type:v,value:m}=d;t.push({panelId:l,type:a,state:{isValueShown:c,name:p,type:v,value:m}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,i=n.get(e);if(i==null)return X.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=tt.changeFilterIndexesToColumnNames(i,s));var h;return o&&(h=tt.changeFilterIndexesToColumnNames(i,o)),{irisGridState:Ot(Ot({},a),{},{advancedFilters:d,quickFilters:h}),gridState:Ot({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;X.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:i=!1}=e;X.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){X.debug("panel is null",l);return}if(!t.has(l)){X.debug("Ignore closed panel",l);return}X.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case F.getComponentName(Je):this.restoreIrisGridFilters(d,o,i);break;case F.getComponentName(Ye):case F.getComponentName(Ze):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;X.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:i={},advancedFilters:a=[],quickFilters:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=i,{panelTableMap:d}=this.props,h=F.getIdFromPanel(e);if(h==null){X.error("Panel Id is null.");return}var c=d.get(h);if(c==null){X.error("Unable to get table for panel ".concat(h,"."));return}X.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=Ot({},t);delete n.isValueShown,X.debug("restoreInputFilterState",e,n),e&&to(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:i,selectedId:a}=this.state;return u.jsx(yt,{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(Oi,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Nn(tt,"defaultProps",{panelState:null});Nn(tt,"COMPONENT","FilterSetManagerPanel");var no=(r,e)=>{var{localDashboardId:t}=e;return{filterSets:ni(r,t),dashboardOpenedPanelMap:Qr(r,t),dashboardInputFilters:wt(r,t),panelTableMap:Vt(r,t)}},ro=Ue(no,{setDashboardFilterSets:ti},null,{forwardRef:!0})(tt);const xt=ro;function io(r,e,t){return e=ao(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ao(r){var e=lo(r,"string");return typeof e=="symbol"?e:String(e)}function lo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Ii extends g.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:ie("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(re,{icon:pi})]})}),t]})}}io(Ii,"defaultProps",{isEditing:!1});function so(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=uo(r,"string");return typeof e=="symbol"?e:String(e)}function uo(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 ho=V.module("MarkdownStartPage");class xi extends g.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(ho.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(x,{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(x,{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(re,{icon:pn})})]},l.id)),u.jsxs(al,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(ll,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(sl,{children:"You can't undo this action."}),u.jsxs(Pa,{children:[u.jsx(x,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(x,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}so(xi,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const co=xi;function kn(r,e,t){return e=po(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function po(r){var e=vo(r,"string");return typeof e=="symbol"?e:String(e)}function vo(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 Ae{static getNewMarkdownTitle(e){for(var t="".concat(Ae.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Ae.DEFAULT_TITLE,"-").concat(n);return t}}kn(Ae,"DEFAULT_TITLE","Note");kn(Ae,"DEFAULT_CONTENT",`# Markdown Note
|
|
3
|
+
`).concat(s," does not exist yet.")}if(i){var{widgetName:o}=this.props;return"".concat(o," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:i,isLoading:a,glContainer:l,glEventHub:s,isDisconnected:o,isClonable:d,isRenamable:h,showTabTooltip:c,renderTabTooltip:p,widgetType:v,widgetName:m,description:C,onClearAllFilters:f,onHide:b,onFocus:y,onBlur:S,onResize:P,onShow:w,onTabBlur:D,onTabFocus:N,onTabClicked:O}=this.props,{isPanelDisconnected:M,isWidgetDisconnected:E,isPanelInactive:I}=this.state,q=this.getErrorMessage(),B=p??this.getCachedRenderTabTooltip(c,l,v,m,C),A=[{title:"Copy ".concat(v," Name"),group:Zr.groups.medium,order:20,action:this.handleCopyName}];return u.jsxs(yt,{className:ie(t,{disconnected:M||E||o,inactive:I}),componentPanel:n,glContainer:l,glEventHub:s,onClearAllFilters:f,onHide:b,onFocus:y,onBlur:S,onResize:P,onShow:w,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:D,onTabFocus:N,onTabClicked:O,renderTabTooltip:B,errorMessage:q,isLoaded:i,isLoading:a,isClonable:d,isRenamable:h,additionalActions:A,children:[e,I&&u.jsx("div",{className:"fill-parent-absolute"})]})}}wi(Ei,"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 Tt=Ei;function Fi(r){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:i,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=r,o=g.useMemo(()=>{var m=Array.from(s.keys()),C=m.find(y=>t.get(y)!=null),f=m.find(y=>n.get(y)!=null),b=ve.join(m.map(y=>'"'.concat(y,'"')));return C!=null&&C&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(b):C!=null&&C?"Set a filter control value for ".concat(b):"Double click a row in a linked table to set a value for ".concat(b)},[t,n,s]),d=g.useMemo(()=>Array.from(e.values()),[e]),h=g.useCallback(m=>{m.stopPropagation(),m.preventDefault(),i(Array.from(l.values()))},[i,l]),c=g.useCallback(m=>{m.stopPropagation(),m.preventDefault(),a()},[a]),p=l.size>0,v=!p&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ie("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":p},{"chart-filter-waiting-input":v}),children:[p&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(m=>{var C=l.has(m.name),f=C?el:tl;return u.jsxs("div",{className:ie("waiting-filter-item",{"is-invalid":C}),children:[u.jsx(re,{icon:f}),m.name]},m.name)})}),u.jsxs("div",{children:[u.jsx(x,{kind:"primary",onClick:h,children:"Add Input Filters"}),u.jsx(x,{kind:"primary",onClick:c,children:"Open Linker Tool"})]})]}),v&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}Fi.propTypes={columnMap:L.instanceOf(Map).isRequired,inputFilterMap:L.instanceOf(Map).isRequired,linkedColumnMap:L.instanceOf(Map).isRequired,onAdd:L.func.isRequired,onOpenLinker:L.func.isRequired,waitingFilterMap:L.instanceOf(Map).isRequired,waitingInputMap:L.instanceOf(Map).isRequired};function St(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:ie("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(mi,{className:ie("btn-chart-column-selector",St.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}St.makeButtonClassName=r=>"btn-chart-column-selector-".concat(r);St.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Xe(r){return r.settings!==void 0}function Sn(r){return r.figure!==void 0}function Ti(r){if(r==null)return!1;var{settings:e,tableSettings:t}=r;return typeof e=="object"&&typeof t=="object"}function Di(r){return r!=null&&Ti(r.panelState)}var yn=nt(we.COLUMNS_CHANGED),cs=yn.listen,jt=yn.emit,ps=yn.useListener,Pn=nt(we.TABLE_CHANGED);Pn.listen;var At=Pn.emit,vs=Pn.useListener,wn=nt(we.FILTERS_CHANGED);wn.listen;var Mi=wn.emit,fs=wn.useListener,En=Object.freeze({LINK_POINT_SELECTED:"LinkerEvent.LINK_POINT_SELECTED",SOURCE_DATA_SELECTED:"LinkerEvent.SOURCE_DATA_SELECTED",REGISTER_TARGET:"LinkerEvent.REGISTER_TARGET"}),Fn=nt(En.LINK_POINT_SELECTED),ms=Fn.listen,zt=Fn.emit;Fn.useListener;var Tn=nt(En.SOURCE_DATA_SELECTED),gs=Tn.listen,Li=Tn.emit;Tn.useListener;var Dn=nt(En.REGISTER_TARGET),bs=Dn.listen,sr=Dn.emit;Dn.useListener;function or(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function dr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?or(Object(t),!0).forEach(function(n){se(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):or(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function se(r,e,t){return e=Cs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Cs(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 Q=G.module("ChartPanel"),ys=150;function Ps(r){return r.inputFilters!=null}function ws(r){return r.panelState!=null}class Wt extends g.Component{constructor(e){super(e),se(this,"panelContainer",void 0),se(this,"pending",void 0),se(this,"getWaitingInputMap",k((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),se(this,"getWaitingFilterMap",k((l,s,o,d,h)=>{if(!l)return new Map;var c=new Map(s);return o.forEach((p,v)=>{c.delete(v)}),h.forEach((p,v)=>{c.delete(v)}),d.forEach((p,v)=>{c.delete(v)}),c})),se(this,"getInputFilterColumnMap",k((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:p}=h,v=l.get(c);v!=null&&v.type===p&&o.set(c,h)}return o})),se(this,"getLinkedColumnMap",k((l,s)=>{for(var o=new Map,d=T.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],p=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?p=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(p=c.end.columnName),p!=null&&l.has(p)){var v=l.get(p);F(v),o.set(p,v)}}return o})),se(this,"getSelectorColumns",k((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d,{type:"chartLink"}):!1,isActive:s.has(d.name)})))),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=$e(this.updateModelFromSource.bind(this),ys),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=ee.createRef(),this.pending=new Qr;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&&Xe(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&&Yn(s)&&(s.updateSettings(c),this.updatePanelState()),h!==t.isLinked?i&&(h?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):h&&i!==e.source&&(e.source&&this.stopListeningToSource(e.source),i&&(this.startListeningToSource(i),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){Q.debug("startListeningToSource",e);var{model:t}=this.state;F(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){Q.debug("stopListeningToSource",e);var{model:t}=this.state;F(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,i=T.getIdFromPanel(this);F(i);var a=n.get(e);a!=null&&zt(t,i,a,{type:"chartLink"})}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:i}=this.props;Q.debug("handleColumnMouseEnter",i,t,n),i&&i(this,{type:t,name:n},{type:"chartLink"})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;Q.debug("handleColumnMouseLeave",e),e&&e(this,void 0,{type:"chartLink"})}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:n}=this.props;n(e,void 0),t(de.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){Q.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:i}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),i&&l&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Oe.isCanceled(e)||(Q.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:i}=this.state;if(!n||!i||!t){Q.debug2("updateModelFromSource ignoring",n,i,t);return}var{dh:a}=i;if(this.pending.cancel(),Xe(e)){var{settings:l}=e;this.pending.add(a.plot.Figure.create(new Z(a).makeFigureSettings(l,t))).then(s=>{Yn(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&&Ps(e.props)&&ws(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=_.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=dr(dr({},n),e);return Q.debug("Updated settings",i),{settings:i}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(e){var{isLoading:t}=e;this.setState({isLoading:t})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:i}=e;t.emit(we.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,n=T.getIdFromPanel(this);F(n),jt(t,n,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=St.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(n)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){Q.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:i,filterMap:a}=t,l=null,s=new Map(t.filterValueMap);return e.forEach((o,d)=>{var{columnType:h,filterList:c}=o,p=i.get(d);if(!(p==null||p.type!==h)){if(c.length===0){Q.debug("Ignoring empty filterList for column",d);return}var{value:v}=c[0];s.set(d,v),a.get(d)!==v&&(l===null&&(l=new Map(a)),l.set(d,v))}}),{filterValueMap:s,filterMap:(n=l)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(i,n);if(s.has(e)){var o,d=a.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==h&&(a=new Map(t.filterMap),h.length>0?a.set(e,h):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:l}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(l=>l.name===a.name&&l.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var i=e.filter(a=>!t.includes(a));i.length>0&&this.updateInputFilters(i)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i}=n,a=new Map(n.filterValueMap),l=new Map(n.filterMap),s=t?{filterMap:l,filterValueMap:a}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],p=i.get(d);p!=null&&p.type===h&&(c!=null&&l.get(d)!==c&&(c===""?l.delete(d):l.set(d,c),s.filterMap=l),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return Q.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i,filterValueMap:a}=n,l=new Map(n.filterMap),s=t,o=0;o<e.length;o+=1){var{name:d,type:h}=e[o],c=i.get(d);if(c!=null&&c.type===h&&l.has(d)){var p=l.get(d);if(a.has(d)){var v=a.get(d);v!==p&&v!=null&&(s=!0,l.set(d,v))}else s=!0,l.delete(d)}}return Q.debug("deleteInputFilters",s),s?{filterMap:l}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;F(n);var i=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&i.size===0){var a=n.getDefaultTitle(),l=ve.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),Q.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else Q.debug2("updateFilters waiting on inputs",i),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),i=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((l,s)=>{t.has(s)||(i.delete(s),a.filterValueMap=i)}),e.filterMap.forEach((l,s)=>{t.has(s)||(n.delete(s),a.filterMap=n)}),a})}render(){var e,{columnSelectionValidator:t,glContainer:n,glEventHub:i,inputFilters:a,isLinkerActive:l,links:s,metadata:o,settings:d,Plotly:h,containerRef:c}=this.props,{columnMap:p,filterMap:v,error:m,model:C,isActive:f,isDisconnected:b,isLoaded:y,isLoading:S}=this.state,P;Xe(o)?P=o.table:Sn(o)?P=o.figure:P=o.name;var w=this.getInputFilterColumnMap(p,a),D=this.getLinkedColumnMap(p,s),N=C!=null?this.getWaitingInputMap(C.isFilterRequired(),p,v):new Map,O=C!=null?this.getWaitingFilterMap(C.isFilterRequired(),p,v,D,w):new Map,M=m!=null?"Unable to open chart. ".concat(m):void 0,E=N.size>0,I=p.size>0&&l;return u.jsx(Tt,{className:ie("iris-chart-panel",{"input-required":E}),componentPanel:this,glContainer:n,glEventHub:i,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:M,isDisconnected:b,isLoading:S,isLoaded:y,widgetName:(e=P)!==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:y&&C&&u.jsx(gi,{isActive:f,model:C,settings:d,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:h,containerRef:c})}),u.jsx(rn,{in:E&&!I&&!S,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Fi,{inputFilterMap:w,linkedColumnMap:D,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:p,waitingFilterMap:O,waitingInputMap:N})}),u.jsx(rn,{in:I,mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(St,{columns:this.getSelectorColumns(p,D,t),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}se(Wt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});se(Wt,"displayName","ChartPanel");se(Wt,"COMPONENT","ChartPanel");var Es=(r,e)=>{var{localDashboardId:t,metadata:n}=e,i;n!=null&&Xe(n)&&(i=n.sourcePanelId);var a=Vt(r,t),l=Jr(r,t),s=un(r),o=Gt(r,t),d=s===de.LINKER&&o===void 0;return{columnSelectionValidator:Pt(r,t),isLinkerActive:d,inputFilters:wt(r,t),links:rt(r,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?l.get(i):void 0,settings:Ht(r)}},Fs=Ue(Es,{setActiveTool:Yr,setDashboardIsolatedLinkerPanelId:dn},null,{forwardRef:!0})(Wt);const Mn=Fs;var Oi=g.createContext(null);function eu(r){var{initialState:e,onChange:t,children:n}=r,[i,a]=ee.useState(0),l=g.useRef({initial:e,initialStateMap:new Map,state:new Map,isTracking:!0}),s=g.useCallback((p,v)=>{l.current.isTracking&&l.current.state.set(p,v)},[]),o=g.useCallback(()=>{l.current.isTracking||(l.current.isTracking=!0,l.current.state=new Map,a(p=>p+1))},[]),d=g.useRef(l.current.initial[Symbol.iterator]()),h=g.useCallback(function(v){var m=l.current.initialStateMap.get(v);if(m)return m;var{value:C,done:f}=d.current.next(),b={value:C,done:f??!1};return l.current.initialStateMap.set(v,b),b},[]);g.useEffect(function(){l.current.isTracking&&(t([...l.current.state.values()]),l.current.isTracking=!1)},[i,t]);var c=g.useMemo(()=>({addState:s,scheduleStateUpdate:o,getInitialState:h,updateId:i}),[s,h,o,i]);return u.jsx(Oi.Provider,{value:c,children:n})}function Ts(r,e,t,n,i){if(e>t)throw new Error("Persisted state ".concat(i," is a newer version than the current version. Persisted version: ").concat(e,". Current version: ").concat(t));for(var a=r,l=e;l<t;){var s=n.filter(d=>d.from===l);if(s.length===0)throw new Error("No migration found for persisted state ".concat(i," from version ").concat(l));if(s.length>1)throw new Error("Multiple migrations found for persisted state ".concat(i," from version ").concat(l));var o=s[0];try{a=o.migrate(a),l+=1}catch(d){throw new Error("Error migrating persisted state ".concat(i," from version ").concat(o.from,": ").concat(d),{cause:d})}}return a}function Ds(r,e){var t,[n]=g.useState(()=>ae()),i=g.useContext(Oi),{value:a,done:l}=(t=i?.getInitialState(n))!==null&&t!==void 0?t:{value:void 0,done:!0},[s,o]=g.useState(()=>{if(a==null||l)return typeof r=="function"?r():r;if(a.type!==e.type)throw new Error("usePersistentState type mismatch. Expected ".concat(e.type," but got ").concat(a.type,"."));if(a.version!==e.version){var h;return Ts(a.state,a.version,e.version,(h=e.migrations)!==null&&h!==void 0?h:[],e.type)}return a.state}),d={type:e.type,version:e.version,state:s};return g.useDebugValue(d),i?.addState(n,d),g.useEffect(function(){i?.scheduleStateUpdate()},[i,s]),g.useEffect(function(){return()=>{i?.scheduleStateUpdate()}},[i]),[s,o]}function oe(r,e,t){return e=Ms(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ms(r){var e=Ls(r,"string");return typeof e=="symbol"?e:String(e)}function Ls(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Mt=G.module("DropdownFilter"),Os=150;class Ee extends g.Component{constructor(e){super(e),oe(this,"dropdownRef",void 0),oe(this,"getCompatibleColumns",k((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&V.isCompatibleType(o,a.columnType)}):[])),oe(this,"getColumnOptions",k((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]})),oe(this,"getSelectedOptionIndex",k((a,l)=>a.indexOf(l))),oe(this,"getValueOptions",k(a=>[u.jsx("option",{value:"-1",children:Ee.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),oe(this,"getItemLabel",ne((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})),oe(this,"sendUpdate",$e(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},Os)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleDropdownKeyPress=this.handleDropdownKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.dropdownRef=ee.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,id:ae(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:i}}componentDidUpdate(e,t){var{source:n,values:i,isLoaded:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a&&(n!==e.source&&this.sourceUpdated(),i!==e.values&&s!==""&&!i.includes(s)&&this.resetValue(),o!==t.isValueShown&&o&&this.focusInput(),(l!==t.column||s!==t.value||o!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var t=e;if(Mt.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:i}=this.props,a=this.getCompatibleColumns(i,n);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),Mt.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var t=e,n=parseInt(t,10),i="",{values:a}=this.props;n>=0&&n<a.length?i=a[n]:Mt.debug2("Selected default item"),Mt.debug2("handleValueChange",i),this.setState({value:i})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:i}=e;return{column:n,value:t===n?i:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:i,isValueShown:a}=e,l=t!=null&&n!=null?{name:t,type:n}:null;this.setState(s=>{var{value:o,isValueShown:d}=s;return{column:l,value:i??o,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:i,isLoaded:a,source:l,onColumnSelected:s,onSourceMouseEnter:o,onSourceMouseLeave:d,values:h,settingsError:c}=this.props,{column:p,disableCancel:v,id:m,isValueShown:C,selectedColumn:f,value:b}=this.state,y=l===null,S=this.getCompatibleColumns(l,t),P=l!=null,w=(e=l?.columnName)!==null&&e!==void 0?e:Ee.SOURCE_BUTTON_PLACEHOLDER,D=p!=null?"".concat(p.name," Filter"):null,[N,O]=this.getColumnOptions(S,f),M=this.getValueOptions(h),E=this.getSelectedOptionIndex(h,b),I=!P||f==null,q=C&&!i,B="source-column-btn-".concat(m),A="filter-column-select-".concat(m);return u.jsxs(fn,{className:"dropdown-filter fill-parent-absolute",isFlipped:q,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:B,children:"Source Column"}),u.jsx(mi,{id:B,isLinked:P,onClick:s,onMouseEnter:o,onMouseLeave:d,className:Ee.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:w}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:A,children:"Filter Column"}),u.jsx(bt,{id:A,value:String(O),className:"custom-select",onChange:this.handleColumnChange,disabled:y,children:N}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&u.jsx("div",{className:"error-message text-center",children:c}),P&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx(x,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||C||i,tooltip:i?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx(x,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:I||C||i,tooltip:i?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:D})}),u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:u.jsx(bt,{className:"custom-select",value:String(E),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:M})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx(x,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(re,{icon:cn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}oe(Ee,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});oe(Ee,"PLACEHOLDER","Select a value...");oe(Ee,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");oe(Ee,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const ur=Ee;function Y(r,e,t){return e=Ns(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ns(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)}var R=G.module("DropdownFilterPanel"),Is=250,xs=(r,e)=>{var{localDashboardId:t}=e,n=T.getIdFromPanel({props:e}),i=Vt(r,t),a=rt(r,t),l=un(r),s=Gt(r,t),o=l===de.LINKER&&(s===void 0||s===n),d=l===de.LINKER&&s!==void 0&&s!==n;return{columns:hn(r,t),columnSelectionValidator:Pt(r,t),dh:ei(r),isLinkerActive:o,disableLinking:d,settings:Ht(r),panelTableMap:i,dashboardLinks:a}},Rs=Ue(xs,null,null,{forwardRef:!0});class ue extends g.Component{constructor(e){super(e),Y(this,"dateTimeFormatter",void 0),Y(this,"dropdownFilterRef",void 0),Y(this,"panelContainer",void 0),Y(this,"pending",void 0),Y(this,"cleanup",void 0),Y(this,"columnFormats",void 0),Y(this,"getCachedValues",ne((c,p,v)=>{var{type:m,name:C}=p;return m!==void 0&&V.isDateType(m)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&m!=null?v.getFormattedString(f,m,C):null)})),Y(this,"getCachedPanelLinks",ne((c,p)=>{var v=T.getIdFromPanel(p);return R.debug("getCachedPanelLinks",c,v),c.filter(m=>{var C;return((C=m.end)===null||C===void 0?void 0:C.panelId)===v})})),Y(this,"getCachedSource",ne(c=>{R.debug("getCachedSource",c);var p;if(c.length>0){var[v]=c;p=v.start,c.length>1&&R.error("Filter has more that one link",c)}return p})),Y(this,"getCachedSourceTable",ne((c,p)=>{var v;if(R.debug("getCachedSourceTable",c,p),p==null)return null;var{panelId:m}=p;return(v=c.get(m))!==null&&v!==void 0?v:null})),Y(this,"getCachedSourceColumn",ne((c,p)=>{var v;return R.debug("getCachedSourceColumn",c,p),c==null||p==null?null:(v=c.columns.find(m=>{var{name:C,type:f}=m;return C===p.columnName&&f===p.columnType}))!==null&&v!==void 0?v:null})),this.handleChange=$e(this.handleChange.bind(this),Is),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleSourceSizeChange=this.handleSourceSizeChange.bind(this),this.handleSourceMouseEnter=this.handleSourceMouseEnter.bind(this),this.handleSourceMouseLeave=this.handleSourceMouseLeave.bind(this),this.handleValuesTableUpdate=this.handleValuesTableUpdate.bind(this),this.dropdownFilterRef=ee.createRef(),this.panelContainer=ee.createRef(),this.pending=new Qr;var{dh:t,panelState:n,settings:i}=e;this.columnFormats=zn.getColumnFormats(i),this.dateTimeFormatter=new ti(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 Le(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&&(R.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(ur.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>ue.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(ue.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;R.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;R.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,{name:a=void 0,type:l=void 0}=t??{},s=!0,o=Date.now();this.setState(d=>{var h,c,{panelState:p,timestamp:v,wasFlipped:m,skipUpdate:C}=d,f=p!=null&&n!==p.isValueShown&&a===p.name&&l===p.type&&i===p.value;return s=(h=!C&&n&&(!f||!m))!==null&&h!==void 0?h:!1,s||(o=v),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,l,i,o)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){R.debug("handleColumnSelected");var{glEventHub:e}=this.props,t=T.getIdFromPanel(this);F(t),zt(e,t,ue.SOURCE_COLUMN,{type:"filterSource"})}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){R.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];R.debug("sendUpdate",{name:e,type:t,value:n,timestamp:i,excludePanelIds:d});var h=T.getIdFromPanel(this);F(h),Mi(s,h,e!=null&&t!=null&&i!=null?{name:e,type:t,value:n??"=null",timestamp:i,excludePanelIds:d}:null)}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),i=this.getSourceTable(t,e);if(R.debug("updateValuesTable",n,i),this.setState({values:[],valuesTable:void 0,error:null}),n==null){R.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=>{Oe.isCanceled(a)||(R.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(R.debug("applySourceSorts",i?.sort),n==null||i==null){R.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(R.debug("applySourceFilters",i?.filter),n==null||i==null){R.debug("Table not initialized");return}var a=[...i.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(R.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){R.error("values column is null");return}e.setViewport(0,ue.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=zn.getColumnFormats(e);qr(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new Le(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){R.error("valuesTable is null");return}var l=this.getValuesColumn(a,i);if(!l){R.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,ue.SOURCE_COLUMN,{type:"filterSource"})}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0,{type:"filterSource"})}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:i,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:p,valuesColumn:v,isLoading:m,isLoaded:C}=this.state,f=this.getSource(t),b=this.getSettingsErrorMessage(),y=this.getPanelErrorMessage(),S=C&&v!=null?this.getCachedValues(p,v,o):[];return u.jsx(Tt,{errorMessage:y,isLoading:m,isLoaded:C,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(ur,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:l,disableLinking:n,isLoaded:C,settingsError:b,source:f,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Y(ue,"displayName","DropdownFilterPanel");Y(ue,"COMPONENT","DropdownFilterPanel");Y(ue,"MAX_TABLE_SIZE",256);Y(ue,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var _s=Rs(ue);const Ze=_s;function hr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Lt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hr(Object(t),!0).forEach(function(n){pt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):hr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function pt(r,e,t){return e=js(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function js(r){var e=As(r,"string");return typeof e=="symbol"?e:String(e)}function As(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var $=G.module("FilterSetManager"),$s="Enter name...",cr="No Available Filter Sets";class $t extends g.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),pt(this,"renameInputRef",ee.createRef()),pt(this,"dropdownRef",ee.createRef()),pt(this,"editDropdownRef",ee.createRef()),pt(this,"isRenamingExistingSet",k((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;$.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:i}=this.props;if($.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:[]}),$.debug("Update sets",n,i),t(n),n.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;$t.animateScreenFlash();var t=ae(),n=e(),i={id:t,title:"",panels:n};$.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return $.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 $.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){$.error("Renamed set undefined.");return}var l=this.getNameError(t);if($.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",o=Lt(Lt({},n),{},{title:s,restoreFullState:a}),d=i.findIndex(c=>{var{id:p}=c;return p===n.id}),h=[...i];d>=0?(h[d]=o,$.debug("Renamed existing set",h)):(h.push(o),$.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 $.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 $.debug("Deleted selected set",t,n,a),$.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;$t.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:i,editId:a}=n;if(a===void 0)return $.error("Filter for update not selected."),null;var l=[...i],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?($.error("Selected set for update not found."),null):(l[s]=Lt(Lt({},l[s]),{},{panels:t}),$.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 $.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){$.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){$.debug("No filter selected");return}var i=n.find(a=>{var{id:l}=a;return l===e});if(i===void 0){$.debug("Selected id not found in filterSets",e,n);return}$.debug("Apply filterSet",i),t(i)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:i,modifiedFilterSets:a,restoreFullState:l}=this.state,{isValueShown:s,filterSets:o,selectedId:d}=this.props,h=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,i),p=a.length===0,v=!h&&p&&o.length===0,m=!h&&!v,C=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(re,{icon:Hn,mask:Bn,transform:"shrink-1 down-5 right-7"}),u.jsx(re,{icon:il,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(re,{icon:Hn,mask:Bn,transform:"shrink-1 down-5 right-7"}),u.jsx(re,{icon:al,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(fn,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[v&&u.jsxs("div",{children:[u.jsx(x,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,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:$s,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx(x,{"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:nl}),u.jsx(x,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:rl})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(fa,{"aria-label":"Restoration options",onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Vn,{value:"false",children:"Restore only filters"}),u.jsx(Vn,{value:"true",children:"Restore full table state"})]})})]}),m&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(bt,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:p,children:[p&&u.jsx("option",{value:"-1",disabled:!0,children:cr}),a.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(x,{kind:"ghost",onClick:this.handleSetUpdate,disabled:p,icon:f,tooltip:"Update"}),u.jsx(x,{kind:"ghost",onClick:this.handleSetEdit,disabled:p,icon:vi,tooltip:"Edit"}),u.jsx(x,{kind:"ghost",onClick:this.handleSetDelete,disabled:p,icon:pn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx(x,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:C,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx(x,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx(x,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),u.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"filter-set-manager-column",children:u.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),u.jsx("div",{className:"filter-set-manager-card-content",children:u.jsx("div",{className:"filter-set-manager-value-input",children:u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(bt,{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d??"-1",className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[o.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:cr}),o.map(b=>{var{id:y,title:S}=b;return u.jsx("option",{value:y,children:S},y)})]}),u.jsx(x,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:fi,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx(x,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(re,{icon:cn,transform:"grow-4"})})})]},"back")]})})}}const Ni=$t;function Ln(r){var e,t,n,i,a,{model:l,widgetName:s,glContainer:o,description:d}=r,h=((e=l?.rowCount)!==null&&e!==void 0?e:0)-((t=l?.pendingRowCount)!==null&&t!==void 0?t:0)-((n=l?.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((i=l?.floatingTopRowCount)!==null&&i!==void 0?i:0),c=l?.displayString(h,"long"),p=(a=l?.columnCount)!==null&&a!==void 0?a:0,v=l?.displayString(p,"long");return u.jsxs(Ft,{widgetType:"Table",widgetName:s,glContainer:o,description:d,children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:v}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Ln.propTypes={glContainer:Xr.Container.isRequired,widgetName:L.string.isRequired,description:L.string};Ln.defaultProps={description:null};function ki(r){if(r==null)return!1;var e=r;return typeof e.table=="string"}function Ii(r){if(r==null)return!1;var e=r;return typeof e.name=="string"}function pr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Fe(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pr(Object(t),!0).forEach(function(n){H(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):pr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function H(r,e,t){return e=Us(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Us(r){var e=Vs(r,"string");return typeof e=="symbol"?e:String(e)}function Vs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var pe=G.module("IrisGridPanel"),Gs=500;function vr(r){if(r==null)throw new Error("No metadata provided");if(Ii(r))return r.name;if(ki(r))return r.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(r)))}class Je extends g.PureComponent{constructor(e){super(e),H(this,"irisGrid",void 0),H(this,"pluginRef",void 0),H(this,"modelPromise",void 0),H(this,"irisGridState",void 0),H(this,"gridState",void 0),H(this,"pluginState",void 0),H(this,"irisGridUtils",void 0),H(this,"gridStateDehydrator",ln.makeMemoizedGridStateDehydrator()),H(this,"irisGridStateDehydrator",ln.makeMemoizedIrisGridStateDehydrator()),H(this,"getGridInputFilters",k((n,i)=>_.getInputFiltersForColumns(n,i.filter(a=>{var{value:l,excludePanelIds:s}=a,o=T.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),H(this,"getAlwaysFetchColumns",k((n,i)=>{for(var a=T.getIdFromPanel(this),l=new Set(i),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),H(this,"getPluginContent",k((n,i,a)=>{if(!i||!je(i)||n==null||i.table==null)return null;var l={panel:this};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,Fe({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:i,table:i.table,onStateChange:this.handlePluginStateChange,pluginState:a},l))})})),H(this,"getDehydratedIrisGridPanelState",k((n,i,a,l)=>_.dehydrateIrisGridPanelState(n,{isSelectingPartition:i,partitions:a,advancedSettings:l}))),H(this,"getCachedPanelState",k((n,i,a,l)=>({irisGridPanelState:n,irisGridState:i,gridState:a,pluginState:l}))),H(this,"savePanelState",$e(()=>{var{irisGridState:n,gridState:i,pluginState:a}=this;F(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state;F(this.irisGridUtils),F(s),F(i);var p=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.irisGridStateDehydrator(s,n),this.gridStateDehydrator(s,i),a);p!==o&&(pe.debug("Saving panel state",this,p),this.setState({panelState:p}),l?.(p))},Gs)),this.handleAdvancedSettingsChange=this.handleAdvancedSettingsChange.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handleTableChanged=this.handleTableChanged.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleDataSelected=this.handleDataSelected.bind(this),this.handleError=this.handleError.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePluginStateChange=this.handlePluginStateChange.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handlePluginFilter=this.handlePluginFilter.bind(this),this.handlePluginFetchColumns=this.handlePluginFetchColumns.bind(this),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.irisGrid=ee.createRef(),this.pluginRef=ee.createRef();var{panelState:t}=e;this.pluginState=null,this.irisGridUtils=null,this.state={error:null,isDisconnected:!1,isLoaded:!1,isLoading:!0,isModelReady:!1,model:void 0,advancedFilters:new Map,aggregationSettings:{aggregations:[],showOnTop:!1},advancedSettings:new Map(gl.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverse:!1,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:i}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),i!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return vr(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Oe.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 _(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=Fe(Fe({},l),i);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=_.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();pe.debug("initModelQueue",i),i&&i(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){pe.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;F(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,{type:"tableLink"}):!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(fe.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):(F(n),this.initModelQueue(n,i))}handleTableChanged(e){pe.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e,i=T.getIdFromPanel(this);F(i),At(t,i,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:i}=this.props,a=this.getTableName(),{panelState:l}=this.state,s=T.getIdFromPanel(this),o;l&&(o=_.extractTableSettings(l,i)),n.emit(fe.CREATE_CHART,{metadata:{settings:e,sourcePanelId:s,table:a,tableSettings:o},table:je(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props,n=T.getIdFromPanel(this);F(n),zt(t,n,e,{type:"tableLink"})}handleDataSelected(e,t){var{glEventHub:n}=this.props,i=T.getIdFromPanel(this);F(i),Li(n,i,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){pe.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){Oe.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}),je(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}var s=T.getIdFromPanel(this);F(s),At(t,s,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){pe.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props,n=T.getIdFromPanel(this);F(n),jt(t,n,e)}startModelListening(e){e.addEventListener(j.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(j.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(j.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(j.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(j.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(j.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(j.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(j.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;F(l);var{metrics:d}=l.state;F(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:p,right:v,columnHeaderMaxDepth:m}=d,C=a.getColumnIndexByName(e);F(C);var f=l.getVisibleColumn(C),b=(n=c.get(f))!==null&&n!==void 0?n:0,y=(i=p.get(f))!==null&&i!==void 0?i:0,S=We(f>v?o.right:o.left+b+y*.5,o.left,o.right),P=o.top+h*m;return[S,P]}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;pe.debug("setFilters",t,n);var{model:i,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){pe.debug("Ignore setFilters, model disconnected");return}F(i);var{columns:s,formatter:o}=i,d=_.changeFilterColumnNamesToIndexes(i.columns,t).filter(c=>{var[p]=c;return i.isFilterable(p)}),h=_.changeFilterColumnNamesToIndexes(i.columns,n).filter(c=>{var[p]=c;return i.isFilterable(p)});F(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){pe.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=Fe({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=_.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=_.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:p,advancedSettings:v}=_.hydrateIrisGridPanelState(e,s);F(this.irisGridUtils);var{advancedFilters:m,customColumns:C,customColumnFormatMap:f,isFilterBarShown:b,quickFilters:y,reverse:S,rollupConfig:P,aggregationSettings:w,sorts:D,userColumnWidths:N,userRowHeights:O,showSearchBar:M,searchValue:E,selectDistinctColumns:I,selectedSearchColumns:q,invertSearchColumns:B,pendingDataMap:A,frozenColumns:me,conditionalFormats:ke,columnHeaderGroups:Ie,partitionConfig:lt}=this.irisGridUtils.hydrateIrisGridState(e,Fe(Fe({},l),o)),{isStuckToBottom:Ge,isStuckToRight:He,movedColumns:st,movedRows:ot}=_.hydrateGridState(e,Fe(Fe({},a),i),l.customColumns);this.setState({advancedFilters:m,advancedSettings:v,conditionalFormats:ke,customColumns:C,customColumnFormatMap:f,isFilterBarShown:b,isSelectingPartition:c,movedColumns:st,movedRows:ot,partitions:p,quickFilters:y,reverse:S,rollupConfig:P,aggregationSettings:w,sorts:D,userColumnWidths:N,userRowHeights:O,showSearchBar:M,searchValue:E,selectDistinctColumns:I,selectedSearchColumns:q,invertSearchColumns:B,pendingDataMap:A,frozenColumns:me,isStuckToBottom:Ge,isStuckToRight:He,columnHeaderGroups:Ie,partitionConfig:lt})}catch(te){pe.error("loadPanelState failed to load panelState",t,te)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:i,glEventHub:a,columnSelectionValidator:l,getDownloadWorker:s,inputFilters:o,links:d,metadata:h,panelState:c,user:p,settings:v,theme:m}=this.props,{advancedFilters:C,aggregationSettings:f,advancedSettings:b,conditionalFormats:y,customColumns:S,customColumnFormatMap:P,error:w,isDisconnected:D,isFilterBarShown:N,isSelectingPartition:O,isStuckToBottom:M,isStuckToRight:E,isLoaded:I,isLoading:q,isModelReady:B,model:A,movedColumns:me,movedRows:ke,partitions:Ie,partitionConfig:lt,quickFilters:Ge,reverse:He,rollupConfig:st,sorts:ot,userColumnWidths:te,userRowHeights:Yt,showSearchBar:le,searchValue:he,selectDistinctColumns:ge,selectedSearchColumns:be,invertSearchColumns:Be,Plugin:Qt,pluginFilters:ra,pluginFetchColumns:ia,pendingDataMap:aa,frozenColumns:la,columnHeaderGroups:sa}=this.state,oa=w!=null?"Unable to open table. ".concat(w):void 0,$n=vr(h),Un=(e=A?.description)!==null&&e!==void 0?e:void 0,da=(t=c?.pluginState)!==null&&t!==void 0?t:null,ua=n??this.getPluginContent(Qt,A,da),{permissions:ha}=p,{canCopy:ca,canDownloadCsv:pa}=ha;return u.jsx(Tt,{errorMessage:oa,isDisconnected:D,isLoading:q,isLoaded:I,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:$n,widgetType:"Table",description:Un,componentPanel:this,renderTabTooltip:()=>u.jsx(Ln,{model:A,widgetName:$n,glContainer:i,description:Un}),children:B&&A&&u.jsx(vn,{advancedFilters:C,aggregationSettings:f,advancedSettings:b,alwaysFetchColumns:this.getAlwaysFetchColumns(d,ia),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:S,customColumnFormatMap:P,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:y,inputFilters:this.getGridInputFilters(A.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:N,isSelectingColumn:l!=null,isSelectingPartition:O,isStuckToBottom:M,isStuckToRight:E,movedColumns:me,movedRows:ke,partitions:Ie,partitionConfig:lt,quickFilters:Ge,reverse:He,rollupConfig:st,settings:v,sorts:ot,userColumnWidths:te,userRowHeights:Yt,model:A,showSearchBar:le,searchValue:he,selectedSearchColumns:be,selectDistinctColumns:ge,invertSearchColumns:Be,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:ra,pendingDataMap:aa,canCopy:ca,canDownloadCsv:pa,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:la,theme:m,columnHeaderGroups:sa,children:ua})})}}H(Je,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});H(Je,"displayName","IrisGridPanel");H(Je,"COMPONENT","IrisGridPanel");var Hs=(r,e)=>{var{localDashboardId:t=Pa,glContainer:n}=e;return{inputFilters:wt(r,t),links:rt(r,t),columnSelectionValidator:Pt(r,t),user:ya(r),settings:Ht(r)}},Bs=Ue(Hs,null,null,{forwardRef:!0})(Je);const On=Bs;function mt(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=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 fr=G.module("InputFilter"),Ws=150;class et extends g.Component{constructor(e){super(e),mt(this,"inputRef",void 0),mt(this,"getItemLabel",ne((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),mt(this,"sendUpdate",$e(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},Ws)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleInputKeyPress=this.handleInputKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.inputRef=ee.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,selectedColumn:t,value:i,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:i,value:a,isValueShown:l}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),l!==void 0&&l&&l!==t.isValueShown&&this.focusInput(),(i!==t.column||a!==t.value||l!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];fr.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;fr.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?et.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(fn,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(bt,{value:String(e.findIndex(d=>d.name===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(x,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx(x,{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:et.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(x,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(re,{icon:cn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}mt(et,"PLACEHOLDER","Enter value...");mt(et,"defaultProps",{column:null,isValueShown:!1,value:null});const qs=et;function qt(r,e,t){return e=Xs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Xs(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=250;class Xt extends g.Component{constructor(e){super(e),qt(this,"inputFilterRef",void 0),this.handleChange=$e(this.handleChange.bind(this),Ys),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=ee.createRef();var{panelState:t}=e,{value:n,isValueShown:i=!1,name:a,type:l,timestamp:s=Date.now()}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,a,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:p,wasFlipped:v,skipUpdate:m}=d,C=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&i===c.value;return s=(h=!m&&n&&(!C||!v))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:o},timestamp:o,wasFlipped:C,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,l=T.getIdFromPanel(this);F(l),Mi(a,l,e!=null&&t!=null&&n!=null&&i!=null?{name:e,type:t,value:n,timestamp:i}:null)}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(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(yt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(qs,{ref:this.inputFilterRef,column:n,columns:i,onChange:this.handleChange,isValueShown:a,value:l})})}}qt(Xt,"defaultProps",{panelState:null});qt(Xt,"COMPONENT","InputFilterPanel");qt(Xt,"displayName","InputFilterPanel");var Qs=(r,e)=>{var{localDashboardId:t}=e;return{columns:hn(r,t)}},Js=Ue(Qs,null,null,{forwardRef:!0})(Xt);const Ye=Js;function mr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ot(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mr(Object(t),!0).forEach(function(n){Nn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):mr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Nn(r,e,t){return e=eo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function eo(r){var e=to(r,"string");return typeof e=="symbol"?e:String(e)}function to(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var X=G.module("FilterSetManagerPanel");function no(r){return r.setPanelState!=null}class tt extends g.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){X.error("Could not get panel",i);return}var a=T.getComponentNameFromPanel(i),l=T.getIdFromPanel(i);X.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){X.error("Could not get panel container",i);return}var o=T.getComponentConfigFromContainer(s);if(o==null){X.error("Could not get component config from container",s);return}var d=T.getPanelComponentState(o);if(d==null){X.debug("Panel state is null ".concat(l));return}switch(a){case T.getComponentName(Je):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case T.getComponentName(Ye):case T.getComponentName(Ze):{var{isValueShown:c,name:p,type:v,value:m}=d;t.push({panelId:l,type:a,state:{isValueShown:c,name:p,type:v,value:m}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,i=n.get(e);if(i==null)return X.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=tt.changeFilterIndexesToColumnNames(i,s));var h;return o&&(h=tt.changeFilterIndexesToColumnNames(i,o)),{irisGridState:Ot(Ot({},a),{},{advancedFilters:d,quickFilters:h}),gridState:Ot({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;X.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:i=!1}=e;X.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){X.debug("panel is null",l);return}if(!t.has(l)){X.debug("Ignore closed panel",l);return}X.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case T.getComponentName(Je):this.restoreIrisGridFilters(d,o,i);break;case T.getComponentName(Ye):case T.getComponentName(Ze):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;X.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:i={},advancedFilters:a=[],quickFilters:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=i,{panelTableMap:d}=this.props,h=T.getIdFromPanel(e);if(h==null){X.error("Panel Id is null.");return}var c=d.get(h);if(c==null){X.error("Unable to get table for panel ".concat(h,"."));return}X.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=Ot({},t);delete n.isValueShown,X.debug("restoreInputFilterState",e,n),e&&no(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:i,selectedId:a}=this.state;return u.jsx(yt,{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(Ni,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Nn(tt,"defaultProps",{panelState:null});Nn(tt,"COMPONENT","FilterSetManagerPanel");var ro=(r,e)=>{var{localDashboardId:t}=e;return{filterSets:ri(r,t),dashboardOpenedPanelMap:Jr(r,t),dashboardInputFilters:wt(r,t),panelTableMap:Vt(r,t)}},io=Ue(ro,{setDashboardFilterSets:ni},null,{forwardRef:!0})(tt);const xt=io;function ao(r,e,t){return e=lo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function lo(r){var e=so(r,"string");return typeof e=="symbol"?e:String(e)}function so(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 xi extends g.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:ie("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(re,{icon:vi})]})}),t]})}}ao(xi,"defaultProps",{isEditing:!1});function oo(r,e,t){return e=uo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function uo(r){var e=ho(r,"string");return typeof e=="symbol"?e:String(e)}function ho(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 co=G.module("MarkdownStartPage");class Ri extends g.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(co.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(x,{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(x,{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(re,{icon:pn})})]},l.id)),u.jsxs(ll,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(sl,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(ol,{children:"You can't undo this action."}),u.jsxs(wa,{children:[u.jsx(x,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx(x,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}oo(Ri,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const po=Ri;function kn(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=fo(r,"string");return typeof e=="symbol"?e:String(e)}function fo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Ae{static getNewMarkdownTitle(e){for(var t="".concat(Ae.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Ae.DEFAULT_TITLE,"-").concat(n);return t}}kn(Ae,"DEFAULT_TITLE","Note");kn(Ae,"DEFAULT_CONTENT",`# Markdown Note
|
|
4
4
|
|
|
5
|
-
This note can be edited using **markdown** for styling.`);kn(Ae,"getClosedMarkdowns",k(r=>r.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));const _t=Ae;function gt(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=mo(r,"string");return typeof e=="symbol"?e:String(e)}function mo(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 go=g.lazy(()=>Sl(()=>import("./MarkdownEditor-7bf0580c.js"),["./MarkdownEditor-7bf0580c.js","./vendor-3e5e4180.js","./helpers-de833af9.js","./vendor-7509d17c.css","./ControlType-5a46b9ec.js","./index-1e463a44.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-7d08f7c0.css","./ControlType-fbf3b3ed.css","./mathjax-d42af1a5.js"],import.meta.url)),Nt=V.module("MarkdownPanel");class In extends g.Component{constructor(e){super(e),gt(this,"markdownEditor",void 0),gt(this,"editor",void 0),gt(this,"getClosedMarkdowns",k(_t.getClosedMarkdowns)),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,n=null;t!=null&&t.content!=null&&(t.content!==""?{content:n}=t:n=_t.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){D(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,i,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){Nt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){Nt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){Nt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,i=F.getComponentConfigFromContainer(t);n.emit(J.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(J.DELETE,e)}handleEditorBlur(e){var t;Nt.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:i,isStartPageShown:a,content:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(yt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(co,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(Ii,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(g.Suspense,{fallback:u.jsx(Ct,{}),children:u.jsx(go,{ref:o=>{this.markdownEditor=o},isEditing:i,content:l??_t.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}gt(In,"defaultProps",{panelState:null});gt(In,"COMPONENT","MarkdownPanel");var bo=(r,e)=>{var{localDashboardId:t}=e;return{closedPanels:wa(r,t)}},Co=Ue(bo,null,null,{forwardRef:!0})(In);const vt=Co;function _i(r){var{onClick:e}=r,t=g.useRef(null),n=g.useCallback(i=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(i)},[e]);return u.jsxs(x,{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(re,{icon:vi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function mr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function gr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mr(Object(t),!0).forEach(function(n){Zt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):mr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Zt(r,e,t){return e=So(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function So(r){var e=yo(r,"string");return typeof e=="symbol"?e:String(e)}function yo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class xn extends g.Component{constructor(e){super(e),Zt(this,"irisGridRef",void 0),this.irisGridRef=ee.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(On,gr(gr({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(_i,{onClick:this.handleReload})}))}}Zt(xn,"defaultProps",{panelState:null});Zt(xn,"COMPONENT","PandasPanel");const Ri=xn;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 Cr(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 Sr(r,e,t){return e=Po(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Po(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)}class Eo{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];Gn(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];Gn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return Cr(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return Cr(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 Fo=Eo;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 dt(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 To(r,e,t){return e=Do(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Do(r){var e=Mo(r,"string");return typeof e=="symbol"?e:String(e)}function Mo(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 Lo{constructor(e){To(this,"items",void 0),this.items=e}getTable(){var e=this;return dt(function*(){return new Fo(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return dt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return dt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return dt(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=Ea.getBaseName(t),n.items[i].id=t;break}})()}info(e){var t=this;return dt(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Fa;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 Oo=Lo;function Pr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ut(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pr(Object(t),!0).forEach(function(n){No(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Pr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function No(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=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)}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 xo(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 _o(r,e,t,n,i){return on.apply(this,arguments)}function on(){return on=xo(function*(r,e,t,n,i){var a,l,s,o;if(Xe(t)?(a=t.settings,l=t.table,s=void 0,o=t.tableSettings):(a={},l="",s=Sn(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=Ut(Ut({},a),i.settings))),s==null&&l==null){var d=yield n();return ft.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 ft.makeModel(r,a,h)}var p={name:l,type:r.VariableType.TABLE},v=yield e(p);return new U(r).applyTableSettings(v,o,ri(ol.getState())),ft.makeModelFromSettings(r,a,v)}),on.apply(this,arguments)}var _n=g.forwardRef((r,e)=>{var t=it(),n=Ta(),i=Ti(r)?r.panelState:void 0,{fetch:a,metadata:l,localDashboardId:s}=r,o=g.useMemo(()=>({metadata:l,localDashboardId:s,makeModel:()=>{if(l==null)throw new Error("Metadata is required for chart panel");return _o(t,n,l,a,i)}}),[l,s,t,n,a,i]);return u.jsx(Mn,Ut(Ut({ref:e},r),o))});_n.displayName="ChartPanelPlugin";const Ro=_n;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 jo(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 ji(r){var e=it(),[t,n]=g.useState(),{fetch:i}=r;return g.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=jo(function*(){var o=yield i(),d=yield ft.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 Ao={name:"ChartPanel",title:"Chart",type:Ne.WIDGET_PLUGIN,component:ji,panelComponent:_n,supportedTypes:"Figure",icon:dl};const $o=Ao;function Ai(r){Et(r);var{id:e,layout:t}=r,n=it(),i=g.useCallback(a=>{var{metadata:l,panelId:s=ae(),table:o}=a,{settings:d}=l,h=()=>ft.makeModelFromSettings(n,d,o),c=Z.titleFromSettings(d),p={type:"react-component",component:Mn.COMPONENT,props:{localDashboardId:e,id:s,metadata:l,makeModel:h},title:c,id:s},{root:v}=t;F.openComponent({root:v,config:p})},[n,e,t]);return Me(t.eventHub,fe.CREATE_CHART,i),null}var Uo={name:"ChartBuilderPlugin",type:Ne.DASHBOARD_PLUGIN,component:Ai};const Vo=Uo;var ut=V.module("FilterPlugin");function $i(r){Et(r);var{id:e,layout:t,registerComponent:n}=r,i=fa(),[a]=g.useState(()=>new Map),[l]=g.useState(()=>new Map),[s]=g.useState(()=>new Map),o=g.useCallback(()=>{var f=Array.from(a.values()).flat().sort((S,P)=>{var w=ve.toLower(S.name),T=ve.toLower(P.name);if(w!==T)return w>T?1:-1;var N=ve.toLower(S.type),O=ve.toLower(P.type);return N!==O?N>O?1:-1:0}).reduce((S,P)=>((S.length===0||ve.toLower(S[S.length-1].name)!==ve.toLower(P.name)||ve.toLower(S[S.length-1].type)!==ve.toLower(P.type))&&S.push(P),S),[]),b=Array.from(l.values()).flat().sort((S,P)=>S.timestamp-P.timestamp),y=new Map(s);ut.debug("sendUpdate",{columns:f,filters:b,tableMap:y}),i(Da(e,{columns:f,filters:b,tableMap:y}))},[i,e,a,l,s]),d=g.useCallback((f,b)=>{ut.debug2("handleColumnsChanged",f,b),b==null?a.delete(f):a.set(f,[].concat(b)),o()},[a,o]),h=g.useCallback((f,b)=>{ut.debug2("handleFiltersChanged",f,b),b==null?l.delete(f):l.set(f,[].concat(b??[])),o()},[l,o]),c=g.useCallback((f,b)=>{ut.debug2("handleTableChanged",f,b),b==null?s.delete(f):s.set(f,b),o()},[s,o]),p=g.useCallback(f=>{ut.debug2("handlePanelUnmount",f);var b=F.getIdFromPanel(f);b!=null&&(a.delete(b),s.delete(b),l.delete(b)),o()},[a,l,s,o]),v=g.useCallback(f=>{var{title:b="DropdownFilter",metadata:y={},panelState:S=null,id:P=ae(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:N=null}=f,O={type:"react-component",component:Ze.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:M}=t;F.openComponent({root:M,config:O,focusElement:w,createNewStack:T,dragEvent:N})},[t,e]),m=g.useCallback(f=>{var{title:b="InputFilter",metadata:y={},panelState:S=null,id:P=ae(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:N=void 0}=f,O={type:"react-component",component:Ye.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:M}=t;F.openComponent({root:M,config:O,focusElement:w,createNewStack:T,dragEvent:N})},[t,e]),C=g.useCallback(f=>{var{title:b="FilterSets",metadata:y={},panelState:S=null,id:P=ae(),focusElement:w=F.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:N=null}=f,O={type:"react-component",component:xt.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:M}=t;F.openComponent({root:M,config:O,focusElement:w,createNewStack:T,dragEvent:N})},[t,e]);return g.useEffect(function(){var b=[n(Ze.COMPONENT,Ze),n(Ye.COMPONENT,Ye),n(xt.COMPONENT,xt)];return()=>{b.forEach(y=>y())}},[n]),cs(t.eventHub,d),vs(t.eventHub,h),ps(t.eventHub,c),Me(t.eventHub,we.OPEN_DROPDOWN,v),Me(t.eventHub,we.OPEN_INPUT,m),Me(t.eventHub,we.OPEN_FILTER_SET_MANAGER,C),Me(t.eventHub,J.UNMOUNT,p),null}var Go={name:"FilterPlugin",type:Ne.DASHBOARD_PLUGIN,component:$i};const Ho=Go;var Bo=V.module("@deephaven/app-utils/useTablePlugin");function Ui(){var r=ii(),e=g.useCallback(t=>{var n=r.get(t);if(n!=null){if(Ma(n))return n.component;if(La(n))return n.TablePlugin}var i="Unable to find table plugin ".concat(t,".");throw Bo.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 Ko(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 Vi(r,e,t){var n=it(),i=Ui(),a=g.useMemo(()=>({loadPlugin:i,localDashboardId:e,makeModel:function(){var l=Ko(function*(){var o=yield r();return bi.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,r,e,i,t]);return a}function Tr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Dr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Tr(Object(t),!0).forEach(function(n){zo(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Tr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function zo(r,e,t){return e=Wo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Wo(r){var e=qo(r,"string");return typeof e=="symbol"?e:String(e)}function qo(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 Rn=g.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=Vi(n,t,i);return u.jsx(On,Dr(Dr({ref:e},r),a))});Rn.displayName="GridPanelPlugin";const Xo=Rn;function Mr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function tn(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Mr(a,n,i,l,s,"next",o)}function s(o){Mr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Gi(r){var e=it(),[t,n]=g.useState(),[i,a]=g.useState(),[l,s]=g.useState(!0),o=g.useCallback(tn(function*(){var c=yield r();return bi.makeModel(e,c)}),[e,r]),d=g.useCallback(tn(function*(){s(!0),a(void 0);try{var c=yield o();n(c),s(!1)}catch(p){a(p),s(!1)}}),[o]);g.useEffect(()=>{var c=!1;function p(){return v.apply(this,arguments)}function v(){return v=tn(function*(){s(!0),a(void 0);try{var m=yield o();c||(n(m),s(!1))}catch(C){c||(a(C),s(!1))}}),v.apply(this,arguments)}return p(),()=>{c=!0}},[o]),g.useEffect(function(){if(!t)return;function p(){a(new Error("Table disconnected")),n(void 0),s(!1)}return t.addEventListener(R.EVENT.DISCONNECT,p),()=>{t.removeEventListener(R.EVENT.DISCONNECT,p)}},[t]);var h=g.useMemo(()=>{if(l)return{reload:d,status:"loading"};if(i!=null)return{error:i,reload:d,status:"error"};if(t!=null)return{model:t,reload:d,status:"success"};throw new Error("Invalid state")},[i,l,t,d]);return h}function Hi(r,e){var{eventHub:t}=gn(),n=ai(),i=li();g.useEffect(function(){i==null||r==null||jt(t,i,r)},[t,i,r]),g.useEffect(function(){e==null||i==null||At(t,i,e)},[t,i,e]),g.useEffect(function(){if(i!=null)return()=>{jt(t,i,null),At(t,i,null)}},[t,i]);var a=g.useCallback(o=>wt(o,n),[n]),l=an(a),s=g.useMemo(()=>U.getInputFiltersForColumns(r??[],l.filter(o=>{var{value:d,excludePanelIds:h}=o;return d!=null&&(h==null||i!=null&&!h.includes(i))})),[r,i,l]);return s}function Bi(r,e){var{eventHub:t}=gn(),n=ai(),i=li(),a=Oa(),l=g.useCallback(f=>rt(f,n),[n]),s=an(l),o=g.useMemo(()=>{var f=new Set;return s.forEach(b=>{b.start.panelId===i&&f.add(b.start.columnName)}),[...f]},[s,i]),d=g.useCallback(f=>Pt(f,n),[n]),h=an(d),c=g.useCallback(f=>h&&f&&i!=null?h(i,f,{type:"tableLink"}):!1,[h,i]),p=h!=null,v=g.useCallback((f,b)=>{i!=null&&Mi(t,i,b)},[t,i]),m=g.useCallback(f=>{var b,y,S;if(!r||!e)return null;var{gridWrapper:P}=e,w=(b=P?.getBoundingClientRect())!==null&&b!==void 0?b:null;if(w==null||w.width<=0||w.height<=0)return null;var{metrics:T}=e.state;D(T);var{columnHeaderHeight:N,allColumnXs:O,allColumnWidths:M,right:E,columnHeaderMaxDepth:I}=T,q=r.getColumnIndexByName(f);D(q);var B=e.getVisibleColumn(q),j=(y=O.get(B))!==null&&y!==void 0?y:0,me=(S=M.get(B))!==null&&S!==void 0?S:0,ke=We(B>E?w.right:w.left+j+me*.5,w.left,w.right),Ie=w.top+N*I;return[ke,Ie]},[r,e]),C=g.useCallback(f=>{i!=null&&zt(t,i,f,{type:"tableLink"})},[t,i]);return g.useEffect(function(){if(!(!e||a==null||i==null))return lr(t,i,{getCoordinates:m,setFilterValues:e.setFilterMap,unsetFilterValue:()=>{},panelId:a}),()=>{lr(t,i,null)}},[t,i,m,e,a]),{alwaysFetchColumns:o,columnSelectionValidator:c,isSelectingColumn:p,onColumnSelected:C,onDataSelected:v}}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 kt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Lr(Object(t),!0).forEach(function(n){Zo(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Lr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Zo(r,e,t){return e=Yo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Yo(r){var e=Qo(r,"string");return typeof e=="symbol"?e:String(e)}function Qo(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 Ki(r){var{fetch:e}=r,t=ma(Ht),{eventHub:n}=gn(),i=Gi(e),a=it(),l=g.useMemo(()=>new U(a),[a]),[s,o]=Ts(void 0,{version:1,type:"GridWidgetPlugin"}),d=g.useRef(s),h=g.useMemo(()=>{if(!(i.status!=="success"||d.current===void 0))return kt(kt({},l.hydrateIrisGridState(i.model,d.current)),U.hydrateGridState(i.model,d.current))},[i,l]),c=g.useMemo(()=>ln.makeMemoizedCombinedGridStateDehydrator(),[]),p=g.useCallback((y,S)=>{if(!(i.status!=="success"||y==null||S==null)){var P=c(i.model,y,S);o(P)}},[i,o,c]),v=Hi(i.status==="success"?i.model.columns:null,i.status==="success"&&je(i.model)?i.model.table:void 0),m=g.useRef(null),C=Bi(i.status==="success"?i.model:null,m.current),f=g.useCallback(()=>{m.current!=null&&m.current.clearAllFilters()},[]);if(Me(n,we.CLEAR_ALL_FILTERS,f),i.status==="loading")return u.jsx(Ct,{isLoading:!0});if(i.status==="error")return u.jsx(Ct,{errorMessage:si(i.error),isLoading:!1});var{model:b}=i;return u.jsx(vn,kt(kt({ref:m,model:b,settings:t,onStateChange:p,inputFilters:v},C),h))}var Jo={name:"IrisGridPanel",title:"Table",type:Ne.WIDGET_PLUGIN,component:Ki,panelComponent:Rn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:ul};const ed=Jo;function Or(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Te(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Or(Object(t),!0).forEach(function(n){td(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Or(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function td(r,e,t){return e=nd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function nd(r){var e=rd(r,"string");return typeof e=="symbol"?e:String(e)}function rd(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function zi(r){var e=r;return typeof e.getCoordinateForColumn=="function"}function Nr(r){var e=r;return zi(r)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function kr(r){return r.description==null||!r.description.startsWith("Preview of type: ")}var Ir=V.module("LinkerUtils");class id{static isLinkValid(e,t,n){if(e.panelId==null||t.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return Ir.debug2("Incompatible panel ids",e,t,n),!1;var{columnType:i}=e,{columnType:a}=t,l=a===null||H.isCompatibleType(i,a);return l?!0:(Ir.debug2("Incompatible type",i,a),!1)}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(Te(Te({},a),{},{id:ae(),start:Te(Te({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&i.push(Te(Te({},a),{},{id:ae(),end:Te(Te({},a.end),{},{panelId:n})}))}),i}}const Re=id;function Wi(r,e,t){return e=ad(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ad(r){var e=ld(r,"string");return typeof e=="symbol"?e:String(e)}function ld(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 sd=V.module("LinkerLink"),xr=.015,_r=1.5,qi=12,Xi=12,Rr=2,It=Math.sqrt((Xi*.5)**2+qi**2),jr=Math.asin(Xi*.5/qi),Ar=15,De=Math.PI*.5;class Qe extends g.Component{static makeCirclePath(e,t,n){return"M ".concat(e," ").concat(t," m -").concat(n,",0 a ").concat(n,",").concat(n," 0 1,0 ").concat(n*2,",0 a ").concat(n,",").concat(n," 0 1,0 -").concat(n*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(H.isNumberType(e)||H.isCharType(e))return gl(t);if(H.isTextType(e))return bl(t);if(H.isDateType(e))return Cl(t);if(H.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 sd.warn(n),""}}constructor(e){super(e),Wi(this,"getOperators",k((t,n)=>{var{onOperatorChanged:i}=this.props,a=H.getFilterTypes(n);return H.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=H.getFilterOperatorString(l),[{title:Qe.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>i(t,l),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:i}=this.props;e.altKey?i(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:i,y1:a,x2:l,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,p=Math.sqrt((i-l)**2+(a-s)**2),v=Math.atan2(s-a,l-i),m=Math.sin(v),C=Math.cos(v)+2,f=window.innerWidth,b=window.innerHeight,y=0,S=0,P=Math.max(y,Math.min(i+(l-i)/2+m*(p*xr)**_r,f)),w=Math.max(S,Math.min(a+(s-a)/2+C*(p*xr)**_r,b)),T="M ".concat(i," ").concat(a," Q ").concat(P," ").concat(w," ").concat(l," ").concat(s),N="M ".concat(y," ").concat(S," L ").concat(y," ").concat(b," L ").concat(f," ").concat(b," L ").concat(f," ").concat(S,` z
|
|
6
|
-
`).concat(Qe.makeCirclePath(i,a
|
|
7
|
-
`).concat(Qe.makeCirclePath(l,s,Ar)),O="link-select-clip-".concat(o),M=Math.atan2(s-w,l-P),E=M-jr+Math.PI,I=M+jr+Math.PI,q=l+Math.cos(M)*Rr,B=s+Math.sin(M)*Rr,j=q+Math.cos(E)*It,me=B+Math.sin(E)*It,ke=q+Math.cos(I)*It,Ie=B+Math.sin(I)*It,lt="".concat(q,",").concat(B," ").concat(j,",").concat(me," ").concat(ke,",").concat(Ie),Ge=.25*i+.5*P+.25*l,He=.25*a+.5*w+.25*s,st=P-i+(l-P),ot=w-a+(s-w),te=ot/st,Yt=20,le=Yt/Math.sqrt(1+te**2),he=le*te,ge=le*-1,be=he*-1;Number.isFinite(te)?te>0?(le*=-1,he*=-1,ge*=-1,be*=-1,ge-=50-10*(Math.abs(v)%De),be+=10*(Math.abs(v)%De),le-=50-10*(Math.abs(v)%De),he+=10*(Math.abs(v)%De)):te<0?(ge+=10*(Math.abs(v)%De),be+=10*(Math.abs(v)%De),le+=10*(Math.abs(v)%De),he+=10*(Math.abs(v)%De)):(ge=15,be=10,le=-25,he=10):(ge=10,be=5,le=10,he=-35);var Be="";t!==void 0&&(t==="startsWith"?Be="a*":t==="endsWith"?Be="*z":Be=H.getFilterOperatorString(t));var Qt=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:ie(e,{hovering:c}),children:[u.jsx("clipPath",{id:O,children:u.jsx("path",{d:N,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:T,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(O,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:T}),u.jsx("path",{className:"link-foreground",d:T}),u.jsx("circle",{className:"link-dot",cx:i,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:lt})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[Qt&&u.jsx(x,{kind:"primary",className:"btn-fab btn-operator",style:{top:He+(te>=0?he:be),left:Ge+(te>=0?le:ge)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:Be}),u.jsx(re,{icon:hl,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(Na,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx(x,{kind:"primary",className:"btn-fab btn-delete",style:{top:He+(te<0?he:be),left:Ge+(te<0?le:ge)},onClick:this.handleDelete,icon:pn,tooltip:"Delete"})]})]})}}Wi(Qe,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const od=Qe;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){jn(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 jn(r,e,t){return e=dd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function dd(r){var e=ud(r,"string");return typeof e=="symbol"?e:String(e)}function ud(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var nn=V.module("LinkerOverlayContent");class Zi extends g.Component{constructor(e){super(e),jn(this,"dialogRef",void 0),this.handleBlur=this.handleBlur.bind(this),this.handleResize=this.handleResize.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleEscapePressed=this.handleEscapePressed.bind(this),this.handleOperatorChanged=this.handleOperatorChanged.bind(this),this.dialogRef=ee.createRef(),this.state={mouse:void 0,dialog:void 0,offset:{x:0,y:0},isDragging:!1,mode:"select"}}componentDidMount(){window.addEventListener("blur",this.handleBlur,!0),window.addEventListener("mousemove",this.handleMouseMove,!0),window.addEventListener("mouseup",this.handleMouseUp,!0),window.addEventListener("keydown",this.handleKeyDown,!0),window.addEventListener("keyup",this.handleKeyUp,!0),window.addEventListener("resize",this.handleResize,!0)}componentDidCatch(e,t){nn.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t,linkTargetPropMap:n}=this.props,{panelId:i,columnName:a}=e,l=i,s=n.get(i);if(s!=null){l=s.panelId;var o=s.getCoordinates(a);if(o!=null)return o}var d=t.getOpenedPanelById(l);if(s==null&&d!=null){if(!zi(d))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(l));try{var h=d.getCoordinateForColumn(a);if(h!=null)return h}catch{nn.error("Could not get coordinate for column",a,d)}}var c=t.getContainerByPanelId(l);if(c==null)throw new Error("Unable to find panel container for id: ".concat(l));return F.getTabPoint(c)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:i}=this.props,a=n.map(l=>l.id===e?Ur(Ur({},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=We(e.x,0,window.innerWidth-t.width),i=We(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=We(window.innerWidth-(e.clientX+i.width+t.x),0,window.innerWidth-i.width),l=We(window.innerHeight-(e.clientY+i.height+t.y),0,window.innerHeight-i.height);this.setState({dialog:{x:a,y:l}})}}handleMouseDown(e){e.preventDefault();var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(i=>n(i))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:i,onLinkSelected:a,onLinkDeleted:l,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:h,isDragging:c,mode:p}=this.state,v=t.map(m=>{try{var C,f,{id:b,type:y,isReversed:S,start:P,end:w,operator:T}=m,N=P.columnType,[O,M]=this.getPointFromLinkPoint(P),E=(C=d?.x)!==null&&C!==void 0?C:O,I=(f=d?.y)!==null&&f!==void 0?f:M;if(w!=null&&([E,I]=this.getPointFromLinkPoint(w)),S!=null&&S){var[q,B]=[O,M];[O,M]=[E,I],[E,I]=[q,B]}var j=ie("linker-link",{disabled:e},{"link-filter-source":y==="filterSource"},{"link-invalid":y==="invalid"},{interactive:m.end==null},{"link-is-selected":n.has(b)},{"danger-delete":p==="delete"});return{x1:O,y1:M,x2:E,y2:I,id:b,className:j,operator:T,startColumnType:N,type:y}}catch(me){return nn.warn("Unable to get point for link",m,me),null}}).filter(m=>m!=null);return u.jsxs("div",{className:ie("linker-overlay",{"danger-delete":p==="delete"}),children:[v.map(m=>{var{x1:C,y1:f,x2:b,y2:y,id:S,className:P,operator:w,startColumnType:T,type:N}=m;return u.jsx(od,{className:P,id:S,x1:C,y1:f,x2:b,y2:y,onClick:a,onDelete:l,isSelected:n.has(S),operator:w,startColumnType:T,type:N,onOperatorChanged:this.handleOperatorChanged},S)}),u.jsxs("div",{className:ie("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:h?.y,right:h?.x},"data-testid":"linker-toast-dialog",children:[u.jsx(x,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:cl,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(ka,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:i}),u.jsxs("div",{className:"toast-footer",children:[u.jsx(x,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx(x,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(Xr,{actions:[{action:this.handleEscapePressed,shortcut:Ia.LINKER_CLOSE,isGlobal:!0}]})]})}}jn(Zi,"defaultProps",{disabled:"false"});const hd=Zi;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 Gr(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){Rt(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 Rt(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 W=V.module("Linker"),vd=(r,e)=>({activeTool:un(r),dh:Jr(r),isolatedLinkerPanelId:Gt(r,e.localDashboardId),links:rt(r,e.localDashboardId),timeZone:ri(r)}),fd=Ue(vd,{setActiveTool:Zr,setDashboardLinks:oi,addDashboardLinks:di,deleteDashboardLinks:ui,setDashboardIsolatedLinkerPanelId:dn,setDashboardColumnSelectionValidator:hi});class md extends g.Component{constructor(e){super(e),Rt(this,"linkTargetPropMap",new Map),Rt(this,"removerFns",[]),Rt(this,"getCachedLinks",k((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.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkPointSelected=this.handleLinkPointSelected.bind(this),this.handleTargetRegistered=this.handleTargetRegistered.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:n}=this.props;n!==e.layout&&(this.stopListening(e.layout),this.startListening(n)),t!==e.activeTool&&(this.updateSelectionValidators(),t===de.DEFAULT&&this.reset())}componentDidCatch(e,t){W.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(fe.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(fe.DATA_SELECTED,this.handleUpdateValues),t.on(fe.STATE_CHANGED,this.handleStateChange),t.on(sn.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(J.CLONED,this.handlePanelCloned),this.removerFns=[hs(t,this.handleColumnsChanged),fs(t,this.handleLinkPointSelected),ms(t,this.handleUpdateValues),gs(t,this.handleTargetRegistered)],t.on(J.CLOSE,this.handlePanelClosed),t.on(J.CLOSED,this.handlePanelClosed),t.on(J.DRAGGING,this.handlePanelDragging),t.on(J.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(fe.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(fe.DATA_SELECTED,this.handleUpdateValues),t.off(fe.STATE_CHANGED,this.handleStateChange),t.off(sn.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(J.CLONED,this.handlePanelCloned),t.off(J.CLOSE,this.handlePanelClosed),t.off(J.CLOSED,this.handlePanelClosed),t.off(J.DRAGGING,this.handlePanelDragging),t.off(J.DROPPED,this.handlePanelDropped),this.removerFns.forEach(n=>n()),this.removerFns=[]}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(de.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(de.DEFAULT)}handleChartColumnSelect(e,t){var n=F.getIdFromPanel(e);D(n),this.columnSelected(n,t,"chartLink",!0)}handleColumnsChanged(e,t){W.debug("handleColumnsChanged",e,t);var{links:n}=this.props;if(e==null){W.error("Invalid filter columns source id",e);return}if(t==null){this.deleteLinksForPanelId(e);return}var i=n.filter(a=>{var{start:l,end:s}=a;return l.panelId===e&&Re.findColumn(t,l)==null||s!=null&&s.panelId===e&&Re.findColumn(t,s)==null});this.deleteLinks(i)}handleGridColumnSelect(e,t){if(!kr(t)){W.debug2("Column is not filterable");return}var n=F.getIdFromPanel(e);D(n),this.columnSelected(n,t,"tableLink")}handleLinkPointSelected(e,t,n){var{type:i}=n,a=i==="filterSource",l=i==="chartLink"||i==="filterSource";if(!this.isOverlayShown()&&e!=null&&a){var{links:s,localDashboardId:o,setActiveTool:d,setDashboardIsolatedLinkerPanelId:h}=this.props,c=s.filter(p=>{var v,m;return((v=p.start)===null||v===void 0?void 0:v.panelId)===e||((m=p.end)===null||m===void 0?void 0:m.panelId)===e});d(de.LINKER),h(o,e),c.length===0&&this.columnSelected(e,t,i,l,e);return}this.columnSelected(e,t,i,l)}columnSelected(e,t,n){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=arguments.length>4?arguments[4]:void 0;if(!(a===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:l}=this.props,{linkInProgress:s}=this.state,{name:o,type:d}=t;if(s==null||s.start==null){var h={id:ae(),start:{panelId:e,columnName:o,columnType:d},type:"invalid",isReversed:i};i&&(h.endType=n),W.debug("starting link",h),this.setState({linkInProgress:h})}else{var c,{links:p}=this.props,{start:v,id:m,isReversed:C=!1}=s,f={panelId:e,columnName:o,columnType:d},b=!(C&&i)&&Re.isLinkValid(C?f:v,C?v:f,a??l);if(!b){W.debug("Ignore invalid link connection",s,f);return}var y=(c=s.endType)!==null&&c!==void 0?c:n;switch(y){case"invalid":W.debug("Ignore invalid link connection",s,f);return;case"filterSource":{var S=C!==void 0&&C?v.panelId:f.panelId,P=p.filter(M=>{var{end:E}=M;return E?.panelId===S});this.deleteLinks(P);break}case"chartLink":{var w=C===!0?v:f,T=C===!0?f:v;W.debug("creating chartlink",{existingLinkEnd:w,start:v,end:f});var N=p.filter(M=>{var{end:E,start:I}=M;return I?.panelId===T.panelId&&E?.panelId===w.panelId&&E?.columnName===w.columnName&&E?.columnType===w.columnType});this.deleteLinks(N);break}}var O={start:C?f:v,end:C?v:f,id:m,type:y,operator:ct.eq};W.info("creating link",O),this.setState({linkInProgress:void 0,selectedIds:new Set([m])},()=>{this.addLinks([O])})}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var n,{end:i}=e,{panelId:a,columnName:l,columnType:s}=i,{linkTargetPropMap:o}=this,d=(n=o.get(a))===null||n===void 0?void 0:n.unsetFilterValue;if(d){d(l,s);return}var h=t.getOpenedPanelById(a);h?Nr(h)?h.unsetFilterValue(l,s):W.debug("endPanel.unsetFilterValue not implemented",h):W.debug("endPanel no longer exists or target is not a panel. Ignoring unsetFilterValue",a)}}setPanelFilterMap(e,t){var n;W.debug("Set filter data for panel:",e,t);var{panelManager:i}=this.props,{linkTargetPropMap:a}=this,l=(n=a.get(e))===null||n===void 0?void 0:n.setFilterValues;if(l){l(t);return}var s=i.getOpenedPanelById(e);s?Nr(s)?s.setFilterMap(t):W.debug("panel.setFilterMap not implemented",e,s):W.debug("panel no longer exists or target is not a panel. Ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:n}=this.props;t(n,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:n}=this.props;if(e.forEach(l=>this.unsetFilterValueForLink(l)),t){var{setDashboardLinks: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]):W.error("Unable to find link to delete",e)}handleTargetRegistered(e,t){var{linkTargetPropMap:n}=this;t==null?n.delete(e):n.set(e,t)}handleUpdateValues(e,t){for(var{dh:n,links:i,timeZone:a}=this.props,l=new Map,s=0;s<i.length;s+=1){var{start:o,end:d,operator:h}=i[s];if(o.panelId===e&&d!=null&&h!=null){var c,p,{panelId:v,columnName:m,columnType:C}=d,f=l.get(v),b=f??new Map,y=(c=(p=b.get(m))===null||p===void 0?void 0:p.filterList)!==null&&c!==void 0?c:[],{visibleIndex:S,isExpandable:P,isGrouped:w}=t[o.columnName],{value:T}=t[o.columnName],N="".concat(T);if(T===null&&P&&w&&(T=void 0),C!=null&&H.isDateType(C)){var O=new ei(n,{timeZone:a,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:xa.FULL_DATE_FORMAT});N=O.format(T)}y.push({operator:h,text:N,value:T,startColumnIndex:S}),b.set(m,{columnType:C,filterList:y}),l.set(v,b)}}l.forEach((M,E)=>{this.setPanelFilterMap(E,M)})}handlePanelCloned(e,t){var{links:n}=this.props,i=F.getIdFromPanel(e),a=t.id;if(i!=null){var l=Re.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){W.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===de.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case de.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:Gr(Gr({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t,n){var i,{linkInProgress:a}=this.state,{isolatedLinkerPanelId:l}=this.props,s=typeof e=="string"?n.type==="filterSource"||n.type==="chartLink":F.getComponentNameFromPanel(e)!=="IrisGridPanel";if(t==null)return a?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(!kr(t))return W.debug2("Column is not filterable",t.description),a?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(a?.start==null)return!0;var{isReversed:o=!1,start:d}=a,h=typeof e=="string"?e:F.getIdFromPanel(e);if(h==null)return!1;if(o&&s)return this.updateLinkInProgressType("invalid"),!1;var c={panelId:h,columnName:t.name,columnType:t.type},p=o?Re.isLinkValid(c,d,l):Re.isLinkValid(d,c,l);return this.updateLinkInProgressType(p?(i=a.endType)!==null&&i!==void 0?i:n.type:"invalid"),p}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:i,selectedIds:a,isDraggingPanel:l}=this.state,s=this.isOverlayShown(),o=i!=null&&i.start!=null,d=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return l?null:u.jsx(rn,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(hd,{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,linkTargetPropMap:this.linkTargetPropMap})})}}var gd=fd(md);const bd=gd;function Yi(r){Et(r);var{id:e,layout:t,panelManager:n}=r;return u.jsx(bd,{layout:t,localDashboardId:e,panelManager:n})}var Cd={name:"LinkerPlugin",type:Ne.DASHBOARD_PLUGIN,component:Yi};const Sd=Cd;function Qi(r){Et(r);var{id:e,layout:t,panelManager:n,registerComponent:i}=r,a=g.useCallback(function(){var{title:l="",metadata:s={},id:o=ae(),focusElement:d=F.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:c=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(vt.COMPONENT),v=p.map(y=>{var S;return(S=y.title)!==null&&S!==void 0?S:""}),m=l!=null&&l!==""?l:_t.getNewMarkdownTitle(v),C=null,f={type:"react-component",component:vt.COMPONENT,props:{id:o,metadata:s,panelState:{content:C},localDashboardId:e},title:m,id:o},{root:b}=t;F.openComponent({root:b,config:f,focusElement:d,createNewStack:h,dragEvent:c})},[e,t,n]);return g.useEffect(function(){var s=[i(vt.COMPONENT,vt)];return()=>{s.forEach(o=>o())}},[i]),Me(t.eventHub,ci.OPEN,a),null}var yd={name:"MarkdownPlugin",type:Ne.DASHBOARD_PLUGIN,component:Qi};const Pd=yd;function Hr(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 Br(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hr(Object(t),!0).forEach(function(n){wd(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Hr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function wd(r,e,t){return e=Ed(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ed(r){var e=Fd(r,"string");return typeof e=="symbol"?e:String(e)}function Fd(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 An=g.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=Vi(n,t,i);return u.jsx(Ri,Br(Br({ref:e},r),a))});An.displayName="PandasPanelPlugin";const Td=An;function Ji(r){var{fetch:e}=r,t=Gi(e);if(t.status==="loading")return u.jsx(Ct,{isLoading:!0});if(t.status==="error")return u.jsx(Ct,{errorMessage:si(t.error),isLoading:!1});var{model:n,reload:i}=t;return u.jsx(vn,{model:n,children:u.jsx(_i,{onClick:i})})}var Dd={name:"PandasPanel",title:"Pandas",type:Ne.WIDGET_PLUGIN,component:Ji,panelComponent:An,supportedTypes:"pandas.DataFrame",icon:pl};const Md=Dd;function Kr(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?Kr(Object(t),!0).forEach(function(n){Ld(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Kr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Ld(r,e,t){return e=Od(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Od(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)}var kd=V.module("WidgetLoaderPlugin");function Id(r){var e;function t(n,i){var a,l=r.component,{metadata:s}=n,o=Ra(l);return u.jsx(Tt,ht(ht({widgetName:(a=s?.name)!==null&&a!==void 0?a:void 0,widgetType:r.title},n),{},{children:o?u.jsx(l,ht(ht({},n),{},{ref:i})):u.jsx(l,ht({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=r.component.displayName)!==null&&e!==void 0?e:r.name,")"),g.forwardRef(t)}function ea(r){var e=ii(),t=g.useMemo(()=>{var s=new Map;return e.forEach(o=>{_a(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var h;kd.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]);Et(r);var{id:n,layout:i,registerComponent:a}=r,l=g.useCallback(s=>{var o,{dragEvent:d,panelId:h=ae(),fetch:c,widget:p}=s,{type:v}=p,m=v!=null?t.get(v):null;if(m!=null){var C=(o=p.name)!==null&&o!==void 0?o:v,f={localDashboardId:n,metadata:p,fetch:c},b={type:"react-component",component:m.name,props:f,title:C,id:h},{root:y}=i;F.openComponent({root:y,config:b,dragEvent:d})}},[n,i,t]);return g.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?a(o.name,Id(o)):a(o.name,d)});return()=>{s.forEach(o=>o())}},[a,t]),Me(i.eventHub,J.OPEN,l),null}var xd={name:"WidgetLoaderPlugin",type:Ne.DASHBOARD_PLUGIN,component:ea};const _d=xd;var Rd=L.shape({state:L.shape({panelState:L.shape({})})}),jd=L.shape({panelId:L.string.isRequired,columnName:L.string.isRequired,columnType:L.string.isRequired}),zr=L.shape({panelId:L.string.isRequired,columnName:L.string.isRequired}),ta=L.shape({start:zr,end:zr,id:L.string,isReversed:L.bool}),Ad=L.arrayOf(ta),$d=L.shape({name:L.string.isRequired,operateAs:L.string.isRequired,groups:L.arrayOf(L.string).isRequired,permissions:L.shape({canUsePanels:L.bool.isRequired,canCopy:L.bool.isRequired,canDownloadCsv:L.bool.isRequired,canLogout:L.bool.isRequired}).isRequired}),Ud=Object.freeze({LinkPoint:jd,Link:ta,Links:Ad,Panel:Rd,User:$d});const Vd=Ud;var Gd=(r,e)=>r[e]===null?null:L.bool,Hd=(r,e)=>r[e]===null?null:L.string,Bd=Object.freeze({nullableBoolean:Gd,nullableString:Hd});const Kd=Bd,eu=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:Ai,ChartBuilderPluginConfig:Vo,ChartEvent:sn,ChartPanel:Mn,ChartPanelPlugin:Ro,ChartPluginConfig:$o,ChartWidgetPlugin:ji,CommandHistoryPanel:ja,CommonPropTypes:Kd,ConsoleEvent:Aa,ConsolePanel:$a,ConsolePlugin:Ua,ControlType:Va,DropdownFilterPanel:Ze,FileExplorerPanel:Ga,FilterPlugin:$i,FilterPluginConfig:Ho,FilterSetManager:Oi,FilterSetManagerPanel:xt,GridPanelPlugin:Xo,GridPluginConfig:ed,GridWidgetPlugin:Ki,InputFilterEvent:we,InputFilterPanel:Ye,IrisGridEvent:fe,IrisGridPanel:On,LinkerPlugin:Yi,LinkerPluginConfig:Sd,LinkerUtils:Re,LogPanel:Ha,MarkdownEvent:ci,MarkdownPanel:vt,MarkdownPlugin:Qi,MarkdownPluginConfig:Pd,MockFileStorage:Oo,NotebookEvent:Ba,NotebookPanel:Ka,PandasEvent:os,PandasPanel:Ri,PandasPanelPlugin:Td,PandasPluginConfig:Md,PandasWidgetPlugin:Ji,Panel:yt,TabEvent:za,ToolType:de,UIPropTypes:Vd,WidgetLoaderPlugin:ea,WidgetLoaderPluginConfig:_d,WidgetPanel:Tt,WidgetPanelTooltip:Ft,addDashboardLinks:di,deleteDashboardLinks:ui,getColumnSelectionValidatorForDashboard:Pt,getColumnsForDashboard:hn,getDashboardConnection:Wa,getDashboardConsoleSettings:qa,getDashboardSessionWrapper:Xa,getFilterSetsForDashboard:ni,getInputFiltersForDashboard:wt,getIsolatedLinkerPanelIdForDashboard:Gt,getLinksForDashboard:rt,getTableMapForDashboard:Vt,isChartPanelDehydratedProps:Ti,isChartPanelFigureMetadata:Sn,isChartPanelTableMetadata:Xe,isGLChartPanelState:Fi,isIrisGridPanelMetadata:ki,isLegacyIrisGridPanelMetadata:Ni,setDashboardColumnSelectionValidator:hi,setDashboardConnection:Za,setDashboardConsoleSettings:Ya,setDashboardFilterSets:ti,setDashboardIsolatedLinkerPanelId:dn,setDashboardLinks:oi,setDashboardSessionWrapper:Qa,useDashboardColumnFilters:Hi,useGridLinker:Bi,useLoadTablePlugin:Ui},Symbol.toStringTag,{value:"Module"}));export{fn as C,eu as D,Xn as F,Wl as I,Li as P,ft as a,ln as b,bi as c,Rl as d,Tl as e,Hl as f,Jd as g,Ts as h,Yn as i,gn as u};
|
|
8
|
-
//# sourceMappingURL=index-
|
|
5
|
+
This note can be edited using **markdown** for styling.`);kn(Ae,"getClosedMarkdowns",k(r=>r.filter(e=>e.component==="MarkdownPanel"&&e.props.panelState.content!==""&&e.props.panelState.content!==null).reverse()));const Rt=Ae;function gt(r,e,t){return e=mo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function mo(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)}var bo=g.lazy(()=>yl(()=>import("./MarkdownEditor-c28ceda0.js"),["./MarkdownEditor-c28ceda0.js","./vendor-3e5e4180.js","./helpers-de833af9.js","./vendor-7509d17c.css","./ControlType-a179c4e6.js","./index-35aca2dd.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-7d08f7c0.css","./ControlType-fbf3b3ed.css","./mathjax-d42af1a5.js"],import.meta.url)),Nt=G.module("MarkdownPanel");class In extends g.Component{constructor(e){super(e),gt(this,"markdownEditor",void 0),gt(this,"editor",void 0),gt(this,"getClosedMarkdowns",k(Rt.getClosedMarkdowns)),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,n=null;t!=null&&t.content!=null&&(t.content!==""?{content:n}=t:n=Rt.DEFAULT_CONTENT),this.state={isStartPageShown:n==null&&this.getClosedMarkdowns(e.closedPanels).length!==0,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){F(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,i,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){Nt.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){Nt.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){Nt.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,i=T.getComponentConfigFromContainer(t);n.emit(J.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(J.DELETE,e)}handleEditorBlur(e){var t;Nt.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:i,isStartPageShown:a,content:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(yt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(po,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(xi,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(g.Suspense,{fallback:u.jsx(Ct,{}),children:u.jsx(bo,{ref:o=>{this.markdownEditor=o},isEditing:i,content:l??Rt.DEFAULT_CONTENT,onEditorInitialized:this.handleEditorInitialized})})})})}}gt(In,"defaultProps",{panelState:null});gt(In,"COMPONENT","MarkdownPanel");var Co=(r,e)=>{var{localDashboardId:t}=e;return{closedPanels:Ea(r,t)}},So=Ue(Co,null,null,{forwardRef:!0})(In);const vt=So;function _i(r){var{onClick:e}=r,t=g.useRef(null),n=g.useCallback(i=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(i)},[e]);return u.jsxs(x,{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(re,{icon:fi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}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 br(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){Zt(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 Zt(r,e,t){return e=yo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function yo(r){var e=Po(r,"string");return typeof e=="symbol"?e:String(e)}function Po(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 xn extends g.Component{constructor(e){super(e),Zt(this,"irisGridRef",void 0),this.irisGridRef=ee.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(On,br(br({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(_i,{onClick:this.handleReload})}))}}Zt(xn,"defaultProps",{panelState:null});Zt(xn,"COMPONENT","PandasPanel");const ji=xn;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 Sr(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 yr(r,e,t){return e=wo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function wo(r){var e=Eo(r,"string");return typeof e=="symbol"?e:String(e)}function Eo(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 Fo{constructor(e){yr(this,"items",void 0),yr(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];Gn(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];Gn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return Sr(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return Sr(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 To=Fo;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 dt(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 Do(r,e,t){return e=Mo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Mo(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 Oo{constructor(e){Do(this,"items",void 0),this.items=e}getTable(){var e=this;return dt(function*(){return new To(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return dt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return dt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return dt(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=Fa.getBaseName(t),n.items[i].id=t;break}})()}info(e){var t=this;return dt(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Ta;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 No=Oo;function wr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Ut(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wr(Object(t),!0).forEach(function(n){ko(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):wr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function ko(r,e,t){return e=Io(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Io(r){var e=xo(r,"string");return typeof e=="symbol"?e:String(e)}function xo(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 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 Ro(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 _o(r,e,t,n,i){return on.apply(this,arguments)}function on(){return on=Ro(function*(r,e,t,n,i){var a,l,s,o;if(Xe(t)?(a=t.settings,l=t.table,s=void 0,o=t.tableSettings):(a={},l="",s=Sn(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=Ut(Ut({},a),i.settings))),s==null&&l==null){var d=yield n();return ft.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 ft.makeModel(r,a,h)}var p={name:l,type:r.VariableType.TABLE},v=yield e(p);return new _(r).applyTableSettings(v,o,ii(dl.getState())),ft.makeModelFromSettings(r,a,v)}),on.apply(this,arguments)}var Rn=g.forwardRef((r,e)=>{var t=it(),n=Da(),i=Di(r)?r.panelState:void 0,{fetch:a,metadata:l,localDashboardId:s}=r,o=g.useMemo(()=>({metadata:l,localDashboardId:s,makeModel:()=>{if(l==null)throw new Error("Metadata is required for chart panel");return _o(t,n,l,a,i)}}),[l,s,t,n,a,i]);return u.jsx(Mn,Ut(Ut({ref:e},r),o))});Rn.displayName="ChartPanelPlugin";const jo=Rn;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 Ao(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 Ai(r){var e=it(),[t,n]=g.useState(),{fetch:i}=r;return g.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=Ao(function*(){var o=yield i(),d=yield ft.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,i]),t?u.jsx(gi,{model:t}):null}var $o={name:"ChartPanel",title:"Chart",type:Ne.WIDGET_PLUGIN,component:Ai,panelComponent:Rn,supportedTypes:"Figure",icon:ul};const Uo=$o;function $i(r){Et(r);var{id:e,layout:t}=r,n=it(),i=g.useCallback(a=>{var{metadata:l,panelId:s=ae(),table:o}=a,{settings:d}=l,h=()=>ft.makeModelFromSettings(n,d,o),c=Z.titleFromSettings(d),p={type:"react-component",component:Mn.COMPONENT,props:{localDashboardId:e,id:s,metadata:l,makeModel:h},title:c,id:s},{root:v}=t;T.openComponent({root:v,config:p})},[n,e,t]);return Me(t.eventHub,fe.CREATE_CHART,i),null}var Vo={name:"ChartBuilderPlugin",type:Ne.DASHBOARD_PLUGIN,component:$i};const Go=Vo;var ut=G.module("FilterPlugin");function Ui(r){Et(r);var{id:e,layout:t,registerComponent:n}=r,i=ma(),[a]=g.useState(()=>new Map),[l]=g.useState(()=>new Map),[s]=g.useState(()=>new Map),o=g.useCallback(()=>{var f=Array.from(a.values()).flat().sort((S,P)=>{var w=ve.toLower(S.name),D=ve.toLower(P.name);if(w!==D)return w>D?1:-1;var N=ve.toLower(S.type),O=ve.toLower(P.type);return N!==O?N>O?1:-1:0}).reduce((S,P)=>((S.length===0||ve.toLower(S[S.length-1].name)!==ve.toLower(P.name)||ve.toLower(S[S.length-1].type)!==ve.toLower(P.type))&&S.push(P),S),[]),b=Array.from(l.values()).flat().sort((S,P)=>S.timestamp-P.timestamp),y=new Map(s);ut.debug("sendUpdate",{columns:f,filters:b,tableMap:y}),i(Ma(e,{columns:f,filters:b,tableMap:y}))},[i,e,a,l,s]),d=g.useCallback((f,b)=>{ut.debug2("handleColumnsChanged",f,b),b==null?a.delete(f):a.set(f,[].concat(b)),o()},[a,o]),h=g.useCallback((f,b)=>{ut.debug2("handleFiltersChanged",f,b),b==null?l.delete(f):l.set(f,[].concat(b??[])),o()},[l,o]),c=g.useCallback((f,b)=>{ut.debug2("handleTableChanged",f,b),b==null?s.delete(f):s.set(f,b),o()},[s,o]),p=g.useCallback(f=>{ut.debug2("handlePanelUnmount",f);var b=T.getIdFromPanel(f);b!=null&&(a.delete(b),s.delete(b),l.delete(b)),o()},[a,l,s,o]),v=g.useCallback(f=>{var{title:b="DropdownFilter",metadata:y={},panelState:S=null,id:P=ae(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:N=null}=f,O={type:"react-component",component:Ze.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:M}=t;T.openComponent({root:M,config:O,focusElement:w,createNewStack:D,dragEvent:N})},[t,e]),m=g.useCallback(f=>{var{title:b="InputFilter",metadata:y={},panelState:S=null,id:P=ae(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:N=void 0}=f,O={type:"react-component",component:Ye.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:M}=t;T.openComponent({root:M,config:O,focusElement:w,createNewStack:D,dragEvent:N})},[t,e]),C=g.useCallback(f=>{var{title:b="FilterSets",metadata:y={},panelState:S=null,id:P=ae(),focusElement:w=T.DEFAULT_FOCUS_SELECTOR,createNewStack:D=!1,dragEvent:N=null}=f,O={type:"react-component",component:xt.COMPONENT,props:{id:P,metadata:y,panelState:S,localDashboardId:e},title:b,id:P},{root:M}=t;T.openComponent({root:M,config:O,focusElement:w,createNewStack:D,dragEvent:N})},[t,e]);return g.useEffect(function(){var b=[n(Ze.COMPONENT,Ze),n(Ye.COMPONENT,Ye),n(xt.COMPONENT,xt)];return()=>{b.forEach(y=>y())}},[n]),ps(t.eventHub,d),fs(t.eventHub,h),vs(t.eventHub,c),Me(t.eventHub,we.OPEN_DROPDOWN,v),Me(t.eventHub,we.OPEN_INPUT,m),Me(t.eventHub,we.OPEN_FILTER_SET_MANAGER,C),Me(t.eventHub,J.UNMOUNT,p),null}var Ho={name:"FilterPlugin",type:Ne.DASHBOARD_PLUGIN,component:Ui};const Bo=Ho;var Ko=G.module("@deephaven/app-utils/useTablePlugin");function Vi(){var r=ai(),e=g.useCallback(t=>{var n=r.get(t);if(n!=null){if(La(n))return n.component;if(Oa(n))return n.TablePlugin}var i="Unable to find table plugin ".concat(t,".");throw Ko.error(i),new Error(i)},[r]);return e}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 zo(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 Gi(r,e,t){var n=it(),i=Vi(),a=g.useMemo(()=>({loadPlugin:i,localDashboardId:e,makeModel:function(){var l=zo(function*(){var o=yield r();return Ci.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){Wo(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 Wo(r,e,t){return e=qo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function qo(r){var e=Xo(r,"string");return typeof e=="symbol"?e:String(e)}function Xo(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=g.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=Gi(n,t,i);return u.jsx(On,Mr(Mr({ref:e},r),a))});_n.displayName="GridPanelPlugin";const Zo=_n;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 tn(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)})}}function Hi(r){var e=it(),[t,n]=g.useState(),[i,a]=g.useState(),[l,s]=g.useState(!0),o=g.useCallback(tn(function*(){var c=yield r();return Ci.makeModel(e,c)}),[e,r]),d=g.useCallback(tn(function*(){s(!0),a(void 0);try{var c=yield o();n(c),s(!1)}catch(p){a(p),s(!1)}}),[o]);g.useEffect(()=>{var c=!1;function p(){return v.apply(this,arguments)}function v(){return v=tn(function*(){s(!0),a(void 0);try{var m=yield o();c||(n(m),s(!1))}catch(C){c||(a(C),s(!1))}}),v.apply(this,arguments)}return p(),()=>{c=!0}},[o]),g.useEffect(function(){if(!t)return;function p(){a(new Error("Table disconnected")),n(void 0),s(!1)}return t.addEventListener(j.EVENT.DISCONNECT,p),()=>{t.removeEventListener(j.EVENT.DISCONNECT,p)}},[t]);var h=g.useMemo(()=>{if(l)return{reload:d,status:"loading"};if(i!=null)return{error:i,reload:d,status:"error"};if(t!=null)return{model:t,reload:d,status:"success"};throw new Error("Invalid state")},[i,l,t,d]);return h}function Bi(r,e){var{eventHub:t}=gn(),n=li(),i=si();g.useEffect(function(){i==null||r==null||jt(t,i,r)},[t,i,r]),g.useEffect(function(){e==null||i==null||At(t,i,e)},[t,i,e]),g.useEffect(function(){if(i!=null)return()=>{jt(t,i,null),At(t,i,null)}},[t,i]);var a=g.useCallback(o=>wt(o,n),[n]),l=an(a),s=g.useMemo(()=>_.getInputFiltersForColumns(r??[],l.filter(o=>{var{value:d,excludePanelIds:h}=o;return d!=null&&(h==null||i!=null&&!h.includes(i))})),[r,i,l]);return s}function Ki(r,e){var{eventHub:t}=gn(),n=li(),i=si(),a=Na(),l=g.useCallback(f=>rt(f,n),[n]),s=an(l),o=g.useMemo(()=>{var f=new Set;return s.forEach(b=>{b.start.panelId===i&&f.add(b.start.columnName)}),[...f]},[s,i]),d=g.useCallback(f=>Pt(f,n),[n]),h=an(d),c=g.useCallback(f=>h&&f&&i!=null?h(i,f,{type:"tableLink"}):!1,[h,i]),p=h!=null,v=g.useCallback((f,b)=>{i!=null&&Li(t,i,b)},[t,i]),m=g.useCallback(f=>{var b,y,S;if(!r||!e)return null;var{gridWrapper:P}=e,w=(b=P?.getBoundingClientRect())!==null&&b!==void 0?b:null;if(w==null||w.width<=0||w.height<=0)return null;var{metrics:D}=e.state;F(D);var{columnHeaderHeight:N,allColumnXs:O,allColumnWidths:M,right:E,columnHeaderMaxDepth:I}=D,q=r.getColumnIndexByName(f);F(q);var B=e.getVisibleColumn(q),A=(y=O.get(B))!==null&&y!==void 0?y:0,me=(S=M.get(B))!==null&&S!==void 0?S:0,ke=We(B>E?w.right:w.left+A+me*.5,w.left,w.right),Ie=w.top+N*I;return[ke,Ie]},[r,e]),C=g.useCallback(f=>{i!=null&&zt(t,i,f,{type:"tableLink"})},[t,i]);return g.useEffect(function(){if(!(!e||a==null||i==null))return sr(t,i,{getCoordinates:m,setFilterValues:e.setFilterMap,unsetFilterValue:()=>{},panelId:a}),()=>{sr(t,i,null)}},[t,i,m,e,a]),{alwaysFetchColumns:o,columnSelectionValidator:c,isSelectingColumn:p,onColumnSelected:C,onDataSelected:v}}function Or(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?Or(Object(t),!0).forEach(function(n){Yo(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Or(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Yo(r,e,t){return e=Qo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Qo(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 zi(r){var{fetch:e}=r,t=ga(Ht),{eventHub:n}=gn(),i=Hi(e),a=it(),l=g.useMemo(()=>new _(a),[a]),[s,o]=Ds(void 0,{version:1,type:"GridWidgetPlugin"}),d=g.useRef(s),h=g.useMemo(()=>{if(!(i.status!=="success"||d.current===void 0))return kt(kt({},l.hydrateIrisGridState(i.model,d.current)),_.hydrateGridState(i.model,d.current))},[i,l]),c=g.useMemo(()=>ln.makeMemoizedCombinedGridStateDehydrator(),[]),p=g.useCallback((y,S)=>{if(!(i.status!=="success"||y==null||S==null)){var P=c(i.model,y,S);o(P)}},[i,o,c]),v=Bi(i.status==="success"?i.model.columns:null,i.status==="success"&&je(i.model)?i.model.table:void 0),m=g.useRef(null),C=Ki(i.status==="success"?i.model:null,m.current),f=g.useCallback(()=>{m.current!=null&&m.current.clearAllFilters()},[]);if(Me(n,we.CLEAR_ALL_FILTERS,f),i.status==="loading")return u.jsx(Ct,{isLoading:!0});if(i.status==="error")return u.jsx(Ct,{errorMessage:oi(i.error),isLoading:!1});var{model:b}=i;return u.jsx(vn,kt(kt({ref:m,model:b,settings:t,onStateChange:p,inputFilters:v},C),h))}var ed={name:"IrisGridPanel",title:"Table",type:Ne.WIDGET_PLUGIN,component:zi,panelComponent:_n,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:hl};const td=ed;function Nr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Te(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Nr(Object(t),!0).forEach(function(n){nd(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Nr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function nd(r,e,t){return e=rd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function rd(r){var e=id(r,"string");return typeof e=="symbol"?e:String(e)}function id(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 Wi(r){var e=r;return typeof e.getCoordinateForColumn=="function"}function kr(r){var e=r;return Wi(r)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function Ir(r){return r.description==null||!r.description.startsWith("Preview of type: ")}var xr=G.module("LinkerUtils");class ad{static isLinkValid(e,t,n){if(e.panelId==null||t.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return xr.debug2("Incompatible panel ids",e,t,n),!1;var{columnType:i}=e,{columnType:a}=t,l=a===null||V.isCompatibleType(i,a);return l?!0:(xr.debug2("Incompatible type",i,a),!1)}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(Te(Te({},a),{},{id:ae(),start:Te(Te({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&i.push(Te(Te({},a),{},{id:ae(),end:Te(Te({},a.end),{},{panelId:n})}))}),i}}const _e=ad;function qi(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 od=G.module("LinkerLink"),Rr=.015,_r=1.5,Xi=12,Zi=12,jr=2,It=Math.sqrt((Zi*.5)**2+Xi**2),Ar=Math.asin(Zi*.5/Xi),$r=15,De=Math.PI*.5;class Qe extends g.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(V.isNumberType(e)||V.isCharType(e))return bl(t);if(V.isTextType(e))return Cl(t);if(V.isDateType(e))return Sl(t);if(V.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 od.warn(n),""}}constructor(e){super(e),qi(this,"getOperators",k((t,n)=>{var{onOperatorChanged:i}=this.props,a=V.getFilterTypes(n);return V.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=V.getFilterOperatorString(l),[{title:Qe.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>i(t,l),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:i}=this.props;e.altKey?i(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:i,y1:a,x2:l,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,p=Math.sqrt((i-l)**2+(a-s)**2),v=Math.atan2(s-a,l-i),m=Math.sin(v),C=Math.cos(v)+2,f=window.innerWidth,b=window.innerHeight,y=0,S=0,P=Math.max(y,Math.min(i+(l-i)/2+m*(p*Rr)**_r,f)),w=Math.max(S,Math.min(a+(s-a)/2+C*(p*Rr)**_r,b)),D="M ".concat(i," ").concat(a," Q ").concat(P," ").concat(w," ").concat(l," ").concat(s),N="M ".concat(y," ").concat(S," L ").concat(y," ").concat(b," L ").concat(f," ").concat(b," L ").concat(f," ").concat(S,` z
|
|
6
|
+
`).concat(Qe.makeCirclePath(i,a,$r),`
|
|
7
|
+
`).concat(Qe.makeCirclePath(l,s,$r)),O="link-select-clip-".concat(o),M=Math.atan2(s-w,l-P),E=M-Ar+Math.PI,I=M+Ar+Math.PI,q=l+Math.cos(M)*jr,B=s+Math.sin(M)*jr,A=q+Math.cos(E)*It,me=B+Math.sin(E)*It,ke=q+Math.cos(I)*It,Ie=B+Math.sin(I)*It,lt="".concat(q,",").concat(B," ").concat(A,",").concat(me," ").concat(ke,",").concat(Ie),Ge=.25*i+.5*P+.25*l,He=.25*a+.5*w+.25*s,st=P-i+(l-P),ot=w-a+(s-w),te=ot/st,Yt=20,le=Yt/Math.sqrt(1+te**2),he=le*te,ge=le*-1,be=he*-1;Number.isFinite(te)?te>0?(le*=-1,he*=-1,ge*=-1,be*=-1,ge-=50-10*(Math.abs(v)%De),be+=10*(Math.abs(v)%De),le-=50-10*(Math.abs(v)%De),he+=10*(Math.abs(v)%De)):te<0?(ge+=10*(Math.abs(v)%De),be+=10*(Math.abs(v)%De),le+=10*(Math.abs(v)%De),he+=10*(Math.abs(v)%De)):(ge=15,be=10,le=-25,he=10):(ge=10,be=5,le=10,he=-35);var Be="";t!==void 0&&(t==="startsWith"?Be="a*":t==="endsWith"?Be="*z":Be=V.getFilterOperatorString(t));var Qt=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:ie(e,{hovering:c}),children:[u.jsx("clipPath",{id:O,children:u.jsx("path",{d:N,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:D,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(O,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:D}),u.jsx("path",{className:"link-foreground",d:D}),u.jsx("circle",{className:"link-dot",cx:i,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:lt})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[Qt&&u.jsx(x,{kind:"primary",className:"btn-fab btn-operator",style:{top:He+(te>=0?he:be),left:Ge+(te>=0?le:ge)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:Be}),u.jsx(re,{icon:cl,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(ka,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx(x,{kind:"primary",className:"btn-fab btn-delete",style:{top:He+(te<0?he:be),left:Ge+(te<0?le:ge)},onClick:this.handleDelete,icon:pn,tooltip:"Delete"})]})]})}}qi(Qe,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const dd=Qe;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 Vr(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){jn(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 jn(r,e,t){return e=ud(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ud(r){var e=hd(r,"string");return typeof e=="symbol"?e:String(e)}function hd(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var nn=G.module("LinkerOverlayContent");class Yi extends g.Component{constructor(e){super(e),jn(this,"dialogRef",void 0),this.handleBlur=this.handleBlur.bind(this),this.handleResize=this.handleResize.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleEscapePressed=this.handleEscapePressed.bind(this),this.handleOperatorChanged=this.handleOperatorChanged.bind(this),this.dialogRef=ee.createRef(),this.state={mouse:void 0,dialog:void 0,offset:{x:0,y:0},isDragging:!1,mode:"select"}}componentDidMount(){window.addEventListener("blur",this.handleBlur,!0),window.addEventListener("mousemove",this.handleMouseMove,!0),window.addEventListener("mouseup",this.handleMouseUp,!0),window.addEventListener("keydown",this.handleKeyDown,!0),window.addEventListener("keyup",this.handleKeyUp,!0),window.addEventListener("resize",this.handleResize,!0)}componentDidCatch(e,t){nn.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t,linkTargetPropMap:n}=this.props,{panelId:i,columnName:a}=e,l=i,s=n.get(i);if(s!=null){l=s.panelId;var o=s.getCoordinates(a);if(o!=null)return o}var d=t.getOpenedPanelById(l);if(s==null&&d!=null){if(!Wi(d))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(l));try{var h=d.getCoordinateForColumn(a);if(h!=null)return h}catch{nn.error("Could not get coordinate for column",a,d)}}var c=t.getContainerByPanelId(l);if(c==null)throw new Error("Unable to find panel container for id: ".concat(l));return T.getTabPoint(c)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated: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=We(e.x,0,window.innerWidth-t.width),i=We(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=We(window.innerWidth-(e.clientX+i.width+t.x),0,window.innerWidth-i.width),l=We(window.innerHeight-(e.clientY+i.height+t.y),0,window.innerHeight-i.height);this.setState({dialog:{x:a,y:l}})}}handleMouseDown(e){e.preventDefault();var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(i=>n(i))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:i,onLinkSelected:a,onLinkDeleted:l,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:h,isDragging:c,mode:p}=this.state,v=t.map(m=>{try{var C,f,{id:b,type:y,isReversed:S,start:P,end:w,operator:D}=m,N=P.columnType,[O,M]=this.getPointFromLinkPoint(P),E=(C=d?.x)!==null&&C!==void 0?C:O,I=(f=d?.y)!==null&&f!==void 0?f:M;if(w!=null&&([E,I]=this.getPointFromLinkPoint(w)),S!=null&&S){var[q,B]=[O,M];[O,M]=[E,I],[E,I]=[q,B]}var A=ie("linker-link",{disabled:e},{"link-filter-source":y==="filterSource"},{"link-invalid":y==="invalid"},{interactive:m.end==null},{"link-is-selected":n.has(b)},{"danger-delete":p==="delete"});return{x1:O,y1:M,x2:E,y2:I,id:b,className:A,operator:D,startColumnType:N,type:y}}catch(me){return nn.warn("Unable to get point for link",m,me),null}}).filter(m=>m!=null);return u.jsxs("div",{className:ie("linker-overlay",{"danger-delete":p==="delete"}),children:[v.map(m=>{var{x1:C,y1:f,x2:b,y2:y,id:S,className:P,operator:w,startColumnType:D,type:N}=m;return u.jsx(dd,{className:P,id:S,x1:C,y1:f,x2:b,y2:y,onClick:a,onDelete:l,isSelected:n.has(S),operator:w,startColumnType:D,type:N,onOperatorChanged:this.handleOperatorChanged},S)}),u.jsxs("div",{className:ie("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:h?.y,right:h?.x},"data-testid":"linker-toast-dialog",children:[u.jsx(x,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:pl,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(Ia,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:i}),u.jsxs("div",{className:"toast-footer",children:[u.jsx(x,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx(x,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(Zr,{actions:[{action:this.handleEscapePressed,shortcut:xa.LINKER_CLOSE,isGlobal:!0}]})]})}}jn(Yi,"defaultProps",{disabled:"false"});const cd=Yi;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){_t(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 _t(r,e,t){return e=pd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function pd(r){var e=vd(r,"string");return typeof e=="symbol"?e:String(e)}function vd(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=G.module("Linker"),fd=(r,e)=>({activeTool:un(r),dh:ei(r),isolatedLinkerPanelId:Gt(r,e.localDashboardId),links:rt(r,e.localDashboardId),timeZone:ii(r)}),md=Ue(fd,{setActiveTool:Yr,setDashboardLinks:di,addDashboardLinks:ui,deleteDashboardLinks:hi,setDashboardIsolatedLinkerPanelId:dn,setDashboardColumnSelectionValidator:ci});class gd extends g.Component{constructor(e){super(e),_t(this,"linkTargetPropMap",new Map),_t(this,"removerFns",[]),_t(this,"getCachedLinks",k((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.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkPointSelected=this.handleLinkPointSelected.bind(this),this.handleTargetRegistered=this.handleTargetRegistered.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:n}=this.props;n!==e.layout&&(this.stopListening(e.layout),this.startListening(n)),t!==e.activeTool&&(this.updateSelectionValidators(),t===de.DEFAULT&&this.reset())}componentDidCatch(e,t){W.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(fe.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(fe.DATA_SELECTED,this.handleUpdateValues),t.on(fe.STATE_CHANGED,this.handleStateChange),t.on(sn.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(J.CLONED,this.handlePanelCloned),this.removerFns=[cs(t,this.handleColumnsChanged),ms(t,this.handleLinkPointSelected),gs(t,this.handleUpdateValues),bs(t,this.handleTargetRegistered)],t.on(J.CLOSE,this.handlePanelClosed),t.on(J.CLOSED,this.handlePanelClosed),t.on(J.DRAGGING,this.handlePanelDragging),t.on(J.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(fe.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(fe.DATA_SELECTED,this.handleUpdateValues),t.off(fe.STATE_CHANGED,this.handleStateChange),t.off(sn.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(J.CLONED,this.handlePanelCloned),t.off(J.CLOSE,this.handlePanelClosed),t.off(J.CLOSED,this.handlePanelClosed),t.off(J.DRAGGING,this.handlePanelDragging),t.off(J.DROPPED,this.handlePanelDropped),this.removerFns.forEach(n=>n()),this.removerFns=[]}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(de.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(de.DEFAULT)}handleChartColumnSelect(e,t){var n=T.getIdFromPanel(e);F(n),this.columnSelected(n,t,"chartLink",!0)}handleColumnsChanged(e,t){W.debug("handleColumnsChanged",e,t);var{links:n}=this.props;if(e==null){W.error("Invalid filter columns source id",e);return}if(t==null){this.deleteLinksForPanelId(e);return}var i=n.filter(a=>{var{start:l,end:s}=a;return l.panelId===e&&_e.findColumn(t,l)==null||s!=null&&s.panelId===e&&_e.findColumn(t,s)==null});this.deleteLinks(i)}handleGridColumnSelect(e,t){if(!Ir(t)){W.debug2("Column is not filterable");return}var n=T.getIdFromPanel(e);F(n),this.columnSelected(n,t,"tableLink")}handleLinkPointSelected(e,t,n){var{type:i}=n,a=i==="filterSource",l=i==="chartLink"||i==="filterSource";if(!this.isOverlayShown()&&e!=null&&a){var{links:s,localDashboardId:o,setActiveTool:d,setDashboardIsolatedLinkerPanelId:h}=this.props,c=s.filter(p=>{var v,m;return((v=p.start)===null||v===void 0?void 0:v.panelId)===e||((m=p.end)===null||m===void 0?void 0:m.panelId)===e});d(de.LINKER),h(o,e),c.length===0&&this.columnSelected(e,t,i,l,e);return}this.columnSelected(e,t,i,l)}columnSelected(e,t,n){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=arguments.length>4?arguments[4]:void 0;if(!(a===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:l}=this.props,{linkInProgress:s}=this.state,{name:o,type:d}=t;if(s==null||s.start==null){var h={id:ae(),start:{panelId:e,columnName:o,columnType:d},type:"invalid",isReversed:i};i&&(h.endType=n),W.debug("starting link",h),this.setState({linkInProgress:h})}else{var c,{links:p}=this.props,{start:v,id:m,isReversed:C=!1}=s,f={panelId:e,columnName:o,columnType:d},b=!(C&&i)&&_e.isLinkValid(C?f:v,C?v:f,a??l);if(!b){W.debug("Ignore invalid link connection",s,f);return}var y=(c=s.endType)!==null&&c!==void 0?c:n;switch(y){case"invalid":W.debug("Ignore invalid link connection",s,f);return;case"filterSource":{var S=C!==void 0&&C?v.panelId:f.panelId,P=p.filter(M=>{var{end:E}=M;return E?.panelId===S});this.deleteLinks(P);break}case"chartLink":{var w=C===!0?v:f,D=C===!0?f:v;W.debug("creating chartlink",{existingLinkEnd:w,start:v,end:f});var N=p.filter(M=>{var{end:E,start:I}=M;return I?.panelId===D.panelId&&E?.panelId===w.panelId&&E?.columnName===w.columnName&&E?.columnType===w.columnType});this.deleteLinks(N);break}}var O={start:C?f:v,end:C?v:f,id:m,type:y,operator:ct.eq};W.info("creating link",O),this.setState({linkInProgress:void 0,selectedIds:new Set([m])},()=>{this.addLinks([O])})}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var n,{end:i}=e,{panelId:a,columnName:l,columnType:s}=i,{linkTargetPropMap:o}=this,d=(n=o.get(a))===null||n===void 0?void 0:n.unsetFilterValue;if(d){d(l,s);return}var h=t.getOpenedPanelById(a);h?kr(h)?h.unsetFilterValue(l,s):W.debug("endPanel.unsetFilterValue not implemented",h):W.debug("endPanel no longer exists or target is not a panel. Ignoring unsetFilterValue",a)}}setPanelFilterMap(e,t){var n;W.debug("Set filter data for panel:",e,t);var{panelManager:i}=this.props,{linkTargetPropMap:a}=this,l=(n=a.get(e))===null||n===void 0?void 0:n.setFilterValues;if(l){l(t);return}var s=i.getOpenedPanelById(e);s?kr(s)?s.setFilterMap(t):W.debug("panel.setFilterMap not implemented",e,s):W.debug("panel no longer exists or target is not a panel. Ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:n}=this.props;t(n,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:n}=this.props;if(e.forEach(l=>this.unsetFilterValueForLink(l)),t){var{setDashboardLinks: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]):W.error("Unable to find link to delete",e)}handleTargetRegistered(e,t){var{linkTargetPropMap:n}=this;t==null?n.delete(e):n.set(e,t)}handleUpdateValues(e,t){for(var{dh:n,links:i,timeZone:a}=this.props,l=new Map,s=0;s<i.length;s+=1){var{start:o,end:d,operator:h}=i[s];if(o.panelId===e&&d!=null&&h!=null){var c,p,{panelId:v,columnName:m,columnType:C}=d,f=l.get(v),b=f??new Map,y=(c=(p=b.get(m))===null||p===void 0?void 0:p.filterList)!==null&&c!==void 0?c:[],{visibleIndex:S,isExpandable:P,isGrouped:w}=t[o.columnName],{value:D}=t[o.columnName],N="".concat(D);if(D===null&&P&&w&&(D=void 0),C!=null&&V.isDateType(C)){var O=new ti(n,{timeZone:a,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Ra.FULL_DATE_FORMAT});N=O.format(D)}y.push({operator:h,text:N,value:D,startColumnIndex:S}),b.set(m,{columnType:C,filterList:y}),l.set(v,b)}}l.forEach((M,E)=>{this.setPanelFilterMap(E,M)})}handlePanelCloned(e,t){var{links:n}=this.props,i=T.getIdFromPanel(e),a=t.id;if(i!=null){var l=_e.cloneLinksForPanel(n,i,a);this.addLinks(l)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var i=t[n],{start:a,end:l}=i;if(a.panelId===e||l?.panelId===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){W.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===de.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case de.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:Hr(Hr({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t,n){var i,{linkInProgress:a}=this.state,{isolatedLinkerPanelId:l}=this.props,s=typeof e=="string"?n.type==="filterSource"||n.type==="chartLink":T.getComponentNameFromPanel(e)!=="IrisGridPanel";if(t==null)return a?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(!Ir(t))return W.debug2("Column is not filterable",t.description),a?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(a?.start==null)return!0;var{isReversed:o=!1,start:d}=a,h=typeof e=="string"?e:T.getIdFromPanel(e);if(h==null)return!1;if(o&&s)return this.updateLinkInProgressType("invalid"),!1;var c={panelId:h,columnName:t.name,columnType:t.type},p=o?_e.isLinkValid(c,d,l):_e.isLinkValid(d,c,l);return this.updateLinkInProgressType(p?(i=a.endType)!==null&&i!==void 0?i:n.type:"invalid"),p}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:i,selectedIds:a,isDraggingPanel:l}=this.state,s=this.isOverlayShown(),o=i!=null&&i.start!=null,d=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return l?null:u.jsx(rn,{in:s,mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(cd,{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,linkTargetPropMap:this.linkTargetPropMap})})}}var bd=md(gd);const Cd=bd;function Qi(r){Et(r);var{id:e,layout:t,panelManager:n}=r;return u.jsx(Cd,{layout:t,localDashboardId:e,panelManager:n})}var Sd={name:"LinkerPlugin",type:Ne.DASHBOARD_PLUGIN,component:Qi};const yd=Sd;function Ji(r){Et(r);var{id:e,layout:t,panelManager:n,registerComponent:i}=r,a=g.useCallback(function(){var{title:l="",metadata:s={},id:o=ae(),focusElement:d=T.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:c=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(vt.COMPONENT),v=p.map(y=>{var S;return(S=y.title)!==null&&S!==void 0?S:""}),m=l!=null&&l!==""?l:Rt.getNewMarkdownTitle(v),C=null,f={type:"react-component",component:vt.COMPONENT,props:{id:o,metadata:s,panelState:{content:C},localDashboardId:e},title:m,id:o},{root:b}=t;T.openComponent({root:b,config:f,focusElement:d,createNewStack:h,dragEvent:c})},[e,t,n]);return g.useEffect(function(){var s=[i(vt.COMPONENT,vt)];return()=>{s.forEach(o=>o())}},[i]),Me(t.eventHub,pi.OPEN,a),null}var Pd={name:"MarkdownPlugin",type:Ne.DASHBOARD_PLUGIN,component:Ji};const wd=Pd;function Br(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Kr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Br(Object(t),!0).forEach(function(n){Ed(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Br(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Ed(r,e,t){return e=Fd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Fd(r){var e=Td(r,"string");return typeof e=="symbol"?e:String(e)}function Td(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 An=g.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=Gi(n,t,i);return u.jsx(ji,Kr(Kr({ref:e},r),a))});An.displayName="PandasPanelPlugin";const Dd=An;function ea(r){var{fetch:e}=r,t=Hi(e);if(t.status==="loading")return u.jsx(Ct,{isLoading:!0});if(t.status==="error")return u.jsx(Ct,{errorMessage:oi(t.error),isLoading:!1});var{model:n,reload:i}=t;return u.jsx(vn,{model:n,children:u.jsx(_i,{onClick:i})})}var Md={name:"PandasPanel",title:"Pandas",type:Ne.WIDGET_PLUGIN,component:ea,panelComponent:An,supportedTypes:"pandas.DataFrame",icon:vl};const Ld=Md;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 ht(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){Od(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 Od(r,e,t){return e=Nd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Nd(r){var e=kd(r,"string");return typeof e=="symbol"?e:String(e)}function kd(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Id=G.module("WidgetLoaderPlugin");function xd(r){var e;function t(n,i){var a,l=r.component,{metadata:s}=n,o=ja(l);return u.jsx(Tt,ht(ht({widgetName:(a=s?.name)!==null&&a!==void 0?a:void 0,widgetType:r.title},n),{},{children:o?u.jsx(l,ht(ht({},n),{},{ref:i})):u.jsx(l,ht({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=r.component.displayName)!==null&&e!==void 0?e:r.name,")"),g.forwardRef(t)}function ta(r){var e=ai(),t=g.useMemo(()=>{var s=new Map;return e.forEach(o=>{_a(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var h;Id.warn("Multiple WidgetPlugins handling type ".concat(d,". Replacing ").concat((h=s.get(d))===null||h===void 0?void 0:h.name," with ").concat(o.name," to handle ").concat(d))}s.set(d,o)}})}),s},[e]);Et(r);var{id:n,layout:i,registerComponent:a}=r,l=g.useCallback(s=>{var o,{dragEvent:d,panelId:h=ae(),fetch:c,widget:p}=s,{type:v}=p,m=v!=null?t.get(v):null;if(m!=null){var C=(o=p.name)!==null&&o!==void 0?o:v,f={localDashboardId:n,metadata:p,fetch:c},b={type:"react-component",component:m.name,props:f,title:C,id:h},{root:y}=i;T.openComponent({root:y,config:b,dragEvent:d})}},[n,i,t]);return g.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?a(o.name,xd(o)):a(o.name,d)});return()=>{s.forEach(o=>o())}},[a,t]),Me(i.eventHub,J.OPEN,l),null}var Rd={name:"WidgetLoaderPlugin",type:Ne.DASHBOARD_PLUGIN,component:ta};const _d=Rd;var jd=L.shape({state:L.shape({panelState:L.shape({})})}),Ad=L.shape({panelId:L.string.isRequired,columnName:L.string.isRequired,columnType:L.string.isRequired}),Wr=L.shape({panelId:L.string.isRequired,columnName:L.string.isRequired}),na=L.shape({start:Wr,end:Wr,id:L.string,isReversed:L.bool}),$d=L.arrayOf(na),Ud=L.shape({name:L.string.isRequired,operateAs:L.string.isRequired,groups:L.arrayOf(L.string).isRequired,permissions:L.shape({canUsePanels:L.bool.isRequired,canCopy:L.bool.isRequired,canDownloadCsv:L.bool.isRequired,canLogout:L.bool.isRequired}).isRequired}),Vd=Object.freeze({LinkPoint:Ad,Link:na,Links:$d,Panel:jd,User:Ud});const Gd=Vd;var Hd=(r,e)=>r[e]===null?null:L.bool,Bd=(r,e)=>r[e]===null?null:L.string,Kd=Object.freeze({nullableBoolean:Hd,nullableString:Bd});const zd=Kd,tu=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:$i,ChartBuilderPluginConfig:Go,ChartEvent:sn,ChartPanel:Mn,ChartPanelPlugin:jo,ChartPluginConfig:Uo,ChartWidgetPlugin:Ai,CommandHistoryPanel:Aa,CommonPropTypes:zd,ConsoleEvent:$a,ConsolePanel:Ua,ConsolePlugin:Va,ControlType:Ga,DropdownFilterPanel:Ze,FileExplorerPanel:Ha,FilterPlugin:Ui,FilterPluginConfig:Bo,FilterSetManager:Ni,FilterSetManagerPanel:xt,GridPanelPlugin:Zo,GridPluginConfig:td,GridWidgetPlugin:zi,InputFilterEvent:we,InputFilterPanel:Ye,IrisGridEvent:fe,IrisGridPanel:On,LinkerPlugin:Qi,LinkerPluginConfig:yd,LinkerUtils:_e,LogPanel:Ba,MarkdownEvent:pi,MarkdownPanel:vt,MarkdownPlugin:Ji,MarkdownPluginConfig:wd,MockFileStorage:No,NotebookEvent:Ka,NotebookPanel:za,PandasEvent:ds,PandasPanel:ji,PandasPanelPlugin:Dd,PandasPluginConfig:Ld,PandasWidgetPlugin:ea,Panel:yt,TabEvent:Wa,ToolType:de,UIPropTypes:Gd,WidgetLoaderPlugin:ta,WidgetLoaderPluginConfig:_d,WidgetPanel:Tt,WidgetPanelTooltip:Ft,addDashboardLinks:ui,deleteDashboardLinks:hi,getColumnSelectionValidatorForDashboard:Pt,getColumnsForDashboard:hn,getDashboardConnection:qa,getDashboardConsoleSettings:Xa,getDashboardSessionWrapper:Za,getFilterSetsForDashboard:ri,getInputFiltersForDashboard:wt,getIsolatedLinkerPanelIdForDashboard:Gt,getLinksForDashboard:rt,getTableMapForDashboard:Vt,isChartPanelDehydratedProps:Di,isChartPanelFigureMetadata:Sn,isChartPanelTableMetadata:Xe,isGLChartPanelState:Ti,isIrisGridPanelMetadata:Ii,isLegacyIrisGridPanelMetadata:ki,setDashboardColumnSelectionValidator:ci,setDashboardConnection:Ya,setDashboardConsoleSettings:Qa,setDashboardFilterSets:ni,setDashboardIsolatedLinkerPanelId:dn,setDashboardLinks:di,setDashboardSessionWrapper:Ja,useDashboardColumnFilters:Bi,useGridLinker:Ki,useLoadTablePlugin:Vi},Symbol.toStringTag,{value:"Module"}));export{fn as C,tu as D,Xn as F,ql as I,Oi as P,ft as a,ln as b,Ci as c,jl as d,Dl as e,Bl as f,rr as g,eu as h,Yn as i,Ds as j,gn as u};
|
|
8
|
+
//# sourceMappingURL=index-4251673b.js.map
|