@deephaven/code-studio 0.63.1-express-memory-fix.2 → 0.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/build/assets/AppRoot-9de5140a.js +5 -0
  2. package/build/assets/AppRoot-9de5140a.js.map +1 -0
  3. package/build/assets/ControlType-1b90d1e3.js +22 -0
  4. package/build/assets/ControlType-1b90d1e3.js.map +1 -0
  5. package/build/assets/{FontBootstrap-3aacfb41.js → FontBootstrap-9b5ce71e.js} +3 -3
  6. package/build/assets/{FontBootstrap-3aacfb41.js.map → FontBootstrap-9b5ce71e.js.map} +1 -1
  7. package/build/assets/IrisGrid-ada0bc58.js +14 -0
  8. package/build/assets/IrisGrid-ada0bc58.js.map +1 -0
  9. package/build/assets/{MarkdownEditor-9632e29e.js → MarkdownEditor-d2357767.js} +2 -2
  10. package/build/assets/{MarkdownEditor-9632e29e.js.map → MarkdownEditor-d2357767.js.map} +1 -1
  11. package/build/assets/{MarkdownNotebook-f54d6431.js → MarkdownNotebook-28cb59a5.js} +2 -2
  12. package/build/assets/{MarkdownNotebook-f54d6431.js.map → MarkdownNotebook-28cb59a5.js.map} +1 -1
  13. package/build/assets/{StyleGuideRoot-8e23da65.js → StyleGuideRoot-81ed15ba.js} +5 -5
  14. package/build/assets/{StyleGuideRoot-8e23da65.js.map → StyleGuideRoot-81ed15ba.js.map} +1 -1
  15. package/build/assets/{index-acdf3e94.js → index-02750775.js} +2 -2
  16. package/build/assets/{index-acdf3e94.js.map → index-02750775.js.map} +1 -1
  17. package/build/assets/{index-cd1d6020.js → index-0596c38c.js} +7 -7
  18. package/build/assets/index-0596c38c.js.map +1 -0
  19. package/build/assets/index-6a91d8a9.js +2 -0
  20. package/build/assets/{index-fbde15c0.js.map → index-6a91d8a9.js.map} +1 -1
  21. package/build/assets/{useUser-a44710a3.js → useUser-e2a90215.js} +2 -2
  22. package/build/assets/{useUser-a44710a3.js.map → useUser-e2a90215.js.map} +1 -1
  23. package/build/index.html +2 -2
  24. package/package.json +31 -31
  25. package/build/assets/AppRoot-eab45f31.js +0 -5
  26. package/build/assets/AppRoot-eab45f31.js.map +0 -1
  27. package/build/assets/ControlType-6dc1c681.js +0 -22
  28. package/build/assets/ControlType-6dc1c681.js.map +0 -1
  29. package/build/assets/IrisGrid-01328007.js +0 -14
  30. package/build/assets/IrisGrid-01328007.js.map +0 -1
  31. package/build/assets/index-cd1d6020.js.map +0 -1
  32. package/build/assets/index-fbde15c0.js +0 -2
@@ -1,9 +1,9 @@
1
- import{r as F,C as u,F as ce,L as Ze,M as ue,as as oa,V as Vn,U as I,at as Wr,N as R,G as he,K as Ye,H as oe,D as cn,S as Ce,ag as da,ab as Rt}from"./vendor-beec23d9.js";import{F as ke,c as j,c2 as G,P as Fe,ai as se,c3 as rn,bw as O,x as ua,bC as Zr,ab as ha,al as Yr,c4 as Ft,c5 as Pe,Z as Qr,c6 as fn,c7 as Xr,z as fe,ad as Y,c8 as Ht,bK as Jr,a2 as gn,c9 as Bt,ca as zt,cb as Kt,cc as Dt,cd as Cn,S as yt,B as $,ce as bn,i as ei,b as ti,a8 as ca,a9 as pa,Y as ma,ap as va,cf as ni,cg as ri,aX as fa,ag as ae,bJ as ga,ch as $n,aq as Ca,as as ba,u as ht,bt as Sn,V as Sa,m as ii,t as wa,bR as He,bG as Mt,by as Te,a0 as Ea,aE as ai,bZ as ya,bY as Pa,T as Ct,E as Ta,q as Fa,G as Da,ci as li,cj as si,ck as oi,cl as di,b7 as Ma,bI as Na,bM as La,ae as ui,bQ as Oa,bH as Ra,R as Ia,cm as ka,N as xa,ak as _a,y as Aa,U as ja,Q as Va,ac as $a,af as Ua,cn as Ga,a6 as Ha,co as Ba,a7 as za,aw as Ka,cp as qa,ax as Wa}from"./ControlType-6dc1c681.js";import{L as W,e as M,aj as Za,ak as Ya,T as pn,F as wn,al as Qa,am as Xa,an as hi,f as En,ao as ci,ap as Un,t as Gn,g as Ja,z as el,M as tl,b as nl,c as rl,B as pi,aq as il,ar as al,d as ll,as as sl,at as ol}from"./index-acdf3e94.js";import{m as dl,n as ne,K as x,a6 as Hn,F as mn,U as H,a7 as an,a8 as Bn,a9 as U,G as pt,aa as zn,ab as ul,ac as Ae,a5 as ze,ad as Ke,B as Kn,f as mi,l as vi,R as hl,e as qn,A as cl,I as qt,ae as pl,af as ml,ag as vl}from"./IrisGrid-01328007.js";import{_ as fl}from"./monaco-b5248072.js";function yn(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=F.useRef(null),s=F.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=F.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return F.useEffect(function(){if(!l.current)throw Error("ref undefined");l.current.addEventListener("transitionstart",s);var h=l.current;return function(){if(h!=null)return h.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:ce(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":i,children:[u.jsx("div",{className:"card-flip--back",children:a(0)}),u.jsx("div",{ref:l,className:"card-flip--front",onTransitionEnd:o,children:a(1)})]})}function Wn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Zn(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wn(Object(t),!0).forEach(function(n){K(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 K(r,e,t){return e=gl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function gl(r){var e=Cl(r,"string");return typeof e=="symbol"?e:String(e)}function Cl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var J=W.module("FigureChartModel");class Wt extends dl{constructor(e,t,n){var i,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(e),i=this,K(this,"chartUtils",void 0),K(this,"dh",void 0),K(this,"figure",void 0),K(this,"settings",void 0),K(this,"theme",void 0),K(this,"data",void 0),K(this,"layout",void 0),K(this,"seriesDataMap",void 0),K(this,"pendingSeries",void 0),K(this,"oneClicks",void 0),K(this,"filterColumnMap",void 0),K(this,"lastFilter",void 0),K(this,"isConnected",void 0),K(this,"seriesToProcess",void 0),K(this,"addPendingSeries",Ze(()=>{for(var s=ne.getAxisTypeMap(this.figure),{pendingSeries:o}=this,d=function(){var v,p=o[h],g=i.figure.charts.find(m=>m.series.includes(p));i.addSeries(p,s,(v=g?.showLegend)!==null&&v!==void 0?v:null),p.subscribe()},h=0;h<o.length;h+=1)d();this.pendingSeries=[]},Wt.ADD_SERIES_DEBOUNCE)),K(this,"getTimeZone",ue((s,o)=>{if(o!=null){var d=o.getColumnTypeFormatter(s);if(d!=null)return d.dhTimeZone}})),K(this,"getValueTranslator",ue((s,o)=>{var d=this.getTimeZone(s,o);return h=>this.chartUtils.unwrapValue(h,d)})),K(this,"getValueParser",ue((s,o)=>{var d=this.getTimeZone(s,o);return h=>this.chartUtils.wrapValue(h,s,d)})),K(this,"getRangeParser",ue((s,o)=>d=>{var[h,c]=d,v=this.getValueParser(s,o);return h=v(h),c=v(c),[h,c]})),K(this,"getAxisRangeParser",ue((s,o)=>d=>{var h=ne.getSourceForAxis(s,d);return h!=null?this.getRangeParser(h.columnType,o):c=>c})),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 ne(e),this.figure=t,this.settings=a,this.theme=n,this.data=[];var l={data:{},layout:this.chartUtils.makeDefaultLayout(n)};this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"},template:l},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=ne.getAxisTypeMap(this.figure),i=[];this.seriesToProcess=new Set;for(var a=function(){for(var v=t[l],p=0;p<v.series.length;p+=1){var g=v.series[p];i.push(g.name),e.addSeries(g,n,v.showLegend)}var{axes:m,title:f}=v;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var C=m.find(N=>N.type===e.dh.plot.AxisType.X),E=m.find(N=>N.type===e.dh.plot.AxisType.Y);if(C==null||E==null)J.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",v);else{var b,w,S,y,D=((b=(w=n.get(C.type))===null||w===void 0?void 0:w.findIndex(N=>N===C))!==null&&b!==void 0?b:0)+1,T=((S=(y=n.get(E.type))===null||y===void 0?void 0:y.findIndex(N=>N===E))!==null&&S!==void 0?S:0)+1,P={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(D," domain"),yref:"y".concat(T," domain")};e.layout.annotations==null?e.layout.annotations=[P]:e.layout.annotations.push(P)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(c=>i.indexOf(c)<0),d=0;d<o.length;d+=1){var h=o[d];this.seriesDataMap.delete(h)}}addSeries(e,t,n){var{dh:i}=this,a=this.chartUtils.makeSeriesDataFromSeries(e,t,ne.getSeriesVisibility(e.name,this.settings),this.theme,n);if(this.seriesDataMap.set(e.name,a),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===i.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===i.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=ne.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===i.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:l}=e,{columns:s}=l,o=0;o<s.length;o+=1)this.filterColumnMap.set(s[o].name,s[o]);this.oneClicks.push(l)}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){J.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&&(J.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){J.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){J.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){J.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){J.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;J.debug2("handleFigureUpdated",n);for(var i=0;i<n.length;i+=1){var a=n[i];J.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),v=t.getArray(a,h,c);this.setDataArrayForSeries(a,h,v)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:p}=this;this.fireUpdate(p)}handleRequestFailed(e){J.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()}setDownsamplingDisabled(e){super.setDownsamplingDisabled(e),this.resubscribe()}handleFigureDisconnected(e){J.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){J.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;J.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=ne.DEFAULT_MARGIN.t+i*ne.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=Zn({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=Zn({},this.layout.title.pad),this.layout.title.pad.t=ne.DEFAULT_TITLE_PADDING.t+i*ne.SUBTITLE_LINE_HEIGHT*.5)}getPlotWidth(){var e,t,n,i;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,i;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,this.theme,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)=>{J.debug("Assigning ".concat(n),this.layout[n],t);var i=this.layout[n];i!=null?Object.assign(i,t):J.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&&oa(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:v,y:p,yLow:g,yHigh:m}=a;c&&v&&c!==h&&(a.error_x=ne.getPlotlyErrorBars(h,c,v,this.theme)),g&&m&&g!==p&&(a.error_y=ne.getPlotlyErrorBars(p,g,m,this.theme))}else if(i===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:C}=a;f!==void 0&&C===void 0&&(a.labels=f)}}}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){return new Map(this.filterColumnMap)}isFilterRequired(){return this.oneClicks.find(e=>e.requireAllFiltersToDisplay)!=null}setFilter(e){var t=this;if(this.oneClicks.length===0){J.warn("Trying to set a filter, but no one click!");return}J.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}}K(Wt,"ADD_SERIES_DEBOUNCE",50);const Yn=Wt;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 ln(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)})}}class Pn{static makeModelFromSettings(e,t,n,i){return ln(function*(){var a=yield Pn.makeFigureFromSettings(e,t,n);return new Yn(e,a,i,t)})()}static makeFigureFromSettings(e,t,n){return ln(function*(){var i=yield n.copy();return i.applyCustomColumns(n.customColumns),i.applyFilter(n.filter),i.applySort(n.sort),e.plot.Figure.create(new ne(e).makeFigureSettings(t,i))})()}static makeModel(e,t,n,i){return ln(function*(){return new Yn(e,n,i,t)})()}}const St=Pn;function Xn(r){return r.setFigure!==void 0}function sn(r,e,t){return e=bl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function bl(r){var e=Sl(r,"string");return typeof e=="symbol"?e:String(e)}function Sl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class wl extends Error{constructor(e,t){super("".concat(t," can't be empty (on pending row ").concat(e+1,")")),sn(this,"isMissingKey",!0),sn(this,"rowIndex",void 0),sn(this,"columnName",void 0),this.rowIndex=e,this.columnName=t}}const El=wl;function Jn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function It(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jn(Object(t),!0).forEach(function(n){k(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Jn(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function er(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function je(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){er(a,n,i,l,s,"next",o)}function s(o){er(a,n,i,l,s,"throw",o)}l(void 0)})}}function k(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 B=W.module("IrisGridTableModelTemplate"),Tl=150,Fl=0;function We(r){return r.table!==void 0}class Pt extends x{seekRow(e,t,n,i,a,l,s){throw new Error("Method not implemented.")}export(){throw new Error("Method not implemented.")}columnStatistics(e){throw new Error("Method not implemented.")}get customColumns(){return[]}set customColumns(e){throw new Error("Method not implemented.")}get formatColumns(){return[]}set formatColumns(e){throw new Error("Method not implemented.")}updateFrozenColumns(e){throw new Error("Method not implemented.")}get rollupConfig(){throw new Error("Method not implemented.")}set rollupConfig(e){throw new Error("Method not implemented.")}get selectDistinctColumns(){throw new Error("Method not implemented.")}set selectDistinctColumns(e){throw new Error("Method not implemented.")}get columns(){return this.table.columns}constructor(e,t){var n,i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),k(this,"dh",void 0),k(this,"irisGridUtils",void 0),k(this,"tableUtils",void 0),k(this,"irisFormatter",void 0),k(this,"inputTable",void 0),k(this,"subscription",void 0),k(this,"table",void 0),k(this,"viewport",void 0),k(this,"viewportData",void 0),k(this,"formattedStringData",void 0),k(this,"pendingStringData",void 0),k(this,"isSaveInProgress",void 0),k(this,"totalsTable",void 0),k(this,"totalsTablePromise",void 0),k(this,"totals",void 0),k(this,"totalsDataMap",void 0),k(this,"pendingNewDataMap",void 0),k(this,"pendingNewRowCount",0),k(this,"_columnHeaderGroupMap",new Map),k(this,"columnHeaderParentMap",new Map),k(this,"_columnHeaderMaxDepth",null),k(this,"_columnHeaderGroups",[]),k(this,"_movedColumns",null),k(this,"getMemoizedInitialMovedColumns",I(s=>{var o;if(!s)return[];var d=[],{groupMap:h}=H.parseColumnHeaderGroups(this,(o=s?.columnGroups)!==null&&o!==void 0?o:[]),c=(S,y)=>{var D=this.getColumnIndexByName(S);if(D==null)throw new Error("Unknown layout hint column: ".concat(S));var T=pt.getVisibleIndex(D,d);d=pt.moveItem(T,y,d)},v=(S,y)=>{var D=h.get(S);if(D==null)throw new Error("Unknown layout hint group: ".concat(S));var T=D.getVisibleRange(d);d=pt.moveRange(T,y,d)},{frontColumns:p=[],backColumns:g=[],frozenColumns:m=[]}=s;if(p.length||g.length||m.length){var f=new Set,C=0;m.forEach(S=>{if(f.has(S))throw new Error("Column specified in multiple layout hints: ".concat(S));c(S,C),C+=1}),p.forEach(S=>{if(f.has(S))throw new Error("Column specified in multiple layout hints: ".concat(S));c(S,C),C+=1});var E=this.columnMap.size-1;g.forEach(S=>{if(f.has(S))throw new Error("Column specified in multiple layout hints: ".concat(S));c(S,E),E-=1})}var b=s?.columnGroups;if(b){var w=[...h.values()];w.sort((S,y)=>S.depth-y.depth),w.forEach(S=>{var y=S.children[0],D=this.getColumnIndexByName(y),T;if(D!=null)T=pt.getVisibleIndex(D,d);else{var P=h.get(y);if(!P)throw new Error("Unknown column ".concat(y," in group ").concat(S.name));var N=P.getVisibleRange(d);[,T]=N}for(var _=1;_<S.children.length;_+=1){var A=S.children[_],V=h.get(A),X=this.getColumnIndexByName(A);if(V){var Q=V.getVisibleRange(d)[0]<T,be=Q?T-V.childIndexes.length+1:T+1;v(A,be),T=be+V.childIndexes.length-1}else if(X!=null){var De=pt.getVisibleIndex(X,d)<T,Se=De?T:T+1;c(A,Se),T=Se}}})}return this._movedColumns=d,d})),k(this,"getMemoizedInitialColumnHeaderGroups",I(s=>{var o;return H.parseColumnHeaderGroups(this,(o=s?.columnGroups)!==null&&o!==void 0?o:[]).groups})),k(this,"getMemoizedColumnMap",I(s=>{var o=new Map;return s.forEach(d=>o.set(d.name,d)),o})),k(this,"getColumnIndicesByNameMap",I(s=>{var o=new Map;return s.forEach((d,h)=>{var{name:c}=d;return o.set(c,h)}),o})),k(this,"setViewport",Vn((s,o,d)=>{if(o<s){B.error("Invalid viewport",s,o);return}var{viewport:h}=this;if(h!=null&&h.top===s&&h.bottom===o&&h.columns===d){B.debug2("Ignoring duplicate viewport",h);return}this.viewport={top:s,bottom:o,columns:d},B.debug2("setViewport",this.viewport),this.applyViewport()},Tl)),k(this,"applyViewport",Vn(()=>{if(this.viewport){B.debug2("applyViewport",this.viewport);var{top:s,bottom:o,columns:d}=this.viewport,[h,c]=this.getCachedViewportRowRange(s,o);this.applyBufferedViewport(h,c,d)}},Fl,{leading:!1})),k(this,"getCachedFormattedString",Hn((s,o,d,h,c)=>s.getFormattedString(o,d,h,c),{max:1e4})),k(this,"getCachedCustomColumnFormatFlag",Hn(mn.isCustomColumnFormatDefined,{max:1e4})),k(this,"getCachedViewportRowRange",I((s,o)=>{var d=o-s,h=Math.max(0,s-d*Pt.ROW_BUFFER_PAGES),c=o+d*Pt.ROW_BUFFER_PAGES;return[h,c]})),k(this,"getCachedPendingErrors",I((s,o,d)=>{var h=new Map;return s.forEach((c,v)=>{for(var{data:p}=c,g=0;g<d;g+=1)if(!p.has(g)){var m;h.has(v)||h.set(v,[]),(m=h.get(v))===null||m===void 0||m.push(new El(v,o[g].name))}}),h})),this.handleTableDisconnect=this.handleTableDisconnect.bind(this),this.handleTableReconnect=this.handleTableReconnect.bind(this),this.handleTableUpdate=this.handleTableUpdate.bind(this),this.handleTotalsUpdate=this.handleTotalsUpdate.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleCustomColumnsChanged=this.handleCustomColumnsChanged.bind(this),this.dh=e,this.irisFormatter=a,this.irisGridUtils=new H(e),this.inputTable=l,this.subscription=null,this.table=t,this.tableUtils=new j(e),this.viewport=null,this.viewportData=null,this.formattedStringData=[],this.pendingStringData=[],this.isSaveInProgress=!1,this.totalsTable=null,this.totalsTablePromise=null,this.totals=null,this.totalsDataMap=null,this.pendingNewDataMap=new Map,this.pendingNewRowCount=0,this.columnHeaderGroups=H.parseColumnHeaderGroups(this,(n=(i=this.layoutHints)===null||i===void 0?void 0:i.columnGroups)!==null&&n!==void 0?n:[]).groups}close(){this.table.close(),this.totalsTable!==null&&this.totalsTable.close(),this.totalsTablePromise!==null&&this.totalsTablePromise.cancel()}startListening(){super.startListening();var{dh:e}=this;this.table.addEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.addEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.addEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.addEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable),this.applyViewport()}stopListening(){super.stopListening();var{dh:e}=this;this.table.removeEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.removeEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.removeEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.removeEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.removeTotalsListeners(this.totalsTable),this.closeSubscription()}addTotalsListeners(e){var{dh:t}=this;e.addEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate),e.setViewport(0,0)}removeTotalsListeners(e){var{dh:t}=this;e.removeEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate)}handleTableDisconnect(){this.dispatchEvent(new G(x.EVENT.DISCONNECT))}handleTableReconnect(){this.dispatchEvent(new G(x.EVENT.RECONNECT))}handleTableUpdate(e){this.copyViewportData(e.detail),this.dispatchEvent(new G(x.EVENT.UPDATED))}handleTotalsUpdate(e){this.copyTotalsData(e.detail),this.dispatchEvent(new G(x.EVENT.UPDATED))}handleRequestFailed(e){this.dispatchEvent(new G(x.EVENT.REQUEST_FAILED,e))}handleCustomColumnsChanged(){this.dispatchEvent(new G(x.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get rowCount(){var e,t,n;return Math.max(this.table.size,0)+this.pendingNewRowCount+((e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0)}get pendingDataErrors(){var e,t;return this.getCachedPendingErrors(this.pendingNewDataMap,this.columns,(e=(t=this.inputTable)===null||t===void 0?void 0:t.keyColumns.length)!==null&&e!==void 0?e:0)}get pendingDataMap(){return this.pendingNewDataMap}set pendingDataMap(e){e!==this.pendingNewDataMap&&(e.forEach((t,n)=>{if(!H.isValidIndex(n))throw new Error("Invalid rowIndex ".concat(n));var{data:i}=t;i.forEach((a,l)=>{if(!H.isValidIndex(l))throw new Error("Invalid columnIndex ".concat(l))})}),this.pendingNewDataMap=e,this.pendingNewRowCount=Math.max(this.pendingNewRowCount,this.maxPendingDataRow),this.formattedStringData=[],this.dispatchEvent(new G(x.EVENT.PENDING_DATA_UPDATED)))}get pendingRowCount(){return this.pendingNewRowCount}set pendingRowCount(e){e!==this.pendingNewRowCount&&(this.pendingNewRowCount=Math.max(0,e,this.maxPendingDataRow),this.dispatchEvent(new G(x.EVENT.UPDATED)))}get maxPendingDataRow(){return this.pendingNewDataMap.size>0?Math.max(...this.pendingNewDataMap.keys())+1:0}get columnCount(){return this.columns.length}get floatingBottomRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop?0:(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get floatingTopRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop&&(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get isChartBuilderAvailable(){return!0}get isTotalsAvailable(){return this.table.getTotalsTable!=null}get isEditable(){return!this.isSaveInProgress&&this.inputTable!=null}cacheFormattedValue(e,t,n){this.formattedStringData[e]==null&&(this.formattedStringData[e]=[]),this.formattedStringData[e][t]=n}cachePendingValue(e,t,n){this.pendingStringData[e]==null&&(this.pendingStringData[e]=[]),this.pendingStringData[e][t]=n}clearPendingValue(e,t){var n=this.pendingStringData[e];n!=null&&delete n[t]}textValueForCell(e,t){var n,i;if(((n=this.pendingStringData[e])===null||n===void 0?void 0:n[t])!==void 0)return this.pendingStringData[e][t];if(((i=this.formattedStringData[e])===null||i===void 0?void 0:i[t])===void 0){var a=this.valueForCell(e,t);if(a===null)return null;if(a===void 0)return;var l=this.sourceColumn(e,t),s=this.getCachedCustomColumnFormatFlag(this.formatter,l.name,l.type),o;if(!s){var d=this.formatForCell(e,t);d?.formatString!=null&&(o=d)}var h=this.displayString(a,l.type,l.name,o);this.cacheFormattedValue(e,t,h)}return this.formattedStringData[e][t]}textForCell(e,t){var n,i=this.textValueForCell(e,t);if(i==null&&this.isKeyColumn(e)){var a=this.pendingRow(t);if(a!=null&&this.pendingDataMap.has(a))return"*"}if(j.isTextType((n=this.columns[e])===null||n===void 0?void 0:n.type)){if(i===null)return"null";if(i==="")return"empty"}return i??""}truncationCharForCell(e){var t=this.columns[e],{type:n}=t;if(j.isNumberType(n)&&this.formatter.truncateNumbersWithPound)return"#"}colorForCell(e,t,n){var i=this.dataForCell(e,t);if(i){var{format:a,value:l}=i;if(l==null||l==="")return M(n.nullStringColor),n.nullStringColor;if(a&&a.color)return a.color;if(this.isPendingRow(t))return M(n.pendingTextColor),n.pendingTextColor;if(l!=null){var s=this.sourceColumn(e,t);if(j.isDateType(s.type)||s.name==="Date")return M(n.dateColor),n.dateColor;if(j.isNumberType(s.type))return l>0?(M(n.positiveNumberColor),n.positiveNumberColor):l<0?(M(n.negativeNumberColor),n.negativeNumberColor):(M(n.zeroNumberColor),n.zeroNumberColor)}}else if(this.isPendingRow(t)&&this.isKeyColumn(e))return M(n.errorTextColor),n.errorTextColor;return n.textColor}backgroundColorForCell(e,t,n){var i,a;return(i=(a=this.formatForCell(e,t))===null||a===void 0?void 0:a.backgroundColor)!==null&&i!==void 0?i:null}textAlignForCell(e){var t=this.columns[e],{type:n}=t;return j.isNumberType(n)?"right":j.isDateType(n)||t.name==="Date"?"center":"left"}textForColumnHeader(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=this.columnAtDepth(e,n);return an(i)?i.isNew?"":i.name:(t=i?.displayName)!==null&&t!==void 0?t:i?.name}colorForColumnHeader(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=this.columnAtDepth(e,t);if(an(n)){var i;return(i=n.color)!==null&&i!==void 0?i:null}return null}getColumnHeaderGroup(e,t){var n=this.columnAtDepth(e,t);if(an(n))return n}getColumnHeaderParentGroup(e,t){var n,i;return this.columnHeaderParentMap.get((n=(i=this.columnAtDepth(e,t))===null||i===void 0?void 0:i.name)!==null&&n!==void 0?n:"")}columnAtDepth(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(n===0)return this.columns[e];var i=(t=this.columns[e])===null||t===void 0?void 0:t.name,a=this.columnHeaderParentMap.get(i);if(a){for(var l=a.depth;l<n;){if(a=this.columnHeaderParentMap.get(a.name),!a)return;l=a.depth}if(a.depth===n)return a}}textForRowFooter(e){var t=this.totalsRow(e);return t!=null&&this.totals?this.totals.operationOrder[t]:""}get initialMovedColumns(){var e;return this.getMemoizedInitialMovedColumns((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get initialColumnHeaderGroups(){var e;return this.getMemoizedInitialColumnHeaderGroups((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get columnMap(){return this.getMemoizedColumnMap(this.table.columns)}get columnHeaderMaxDepth(){var e;return(e=this._columnHeaderMaxDepth)!==null&&e!==void 0?e:1}set columnHeaderMaxDepth(e){this._columnHeaderMaxDepth=e}get columnHeaderGroupMap(){return this._columnHeaderGroupMap}get columnHeaderGroups(){return this._columnHeaderGroups}set columnHeaderGroups(e){if(e!==this._columnHeaderGroups){var{groups:t,maxDepth:n,parentMap:i,groupMap:a}=H.parseColumnHeaderGroups(this,e??this.initialColumnHeaderGroups);this._columnHeaderGroups=t,this.columnHeaderMaxDepth=n,this.columnHeaderParentMap=i,this._columnHeaderGroupMap=a}}row(e){var t,n,i,a,l,s,o,d,h,c,v=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,p=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,g=this.totalsRow(e);if(g!=null){var m,f,C,E=(m=this.totals)===null||m===void 0?void 0:m.operationOrder[g];return M(E),(f=(C=this.totalsDataMap)===null||C===void 0?void 0:C.get(E))!==null&&f!==void 0?f:null}var b=this.pendingRow(e);if(b!=null){var w;return(w=this.pendingNewDataMap.get(b))!==null&&w!==void 0?w:null}var S=(s=(o=this.viewportData)===null||o===void 0?void 0:o.offset)!==null&&s!==void 0?s:0,y=(p?e-v:e)-S;return(d=(h=this.viewportData)===null||h===void 0||(c=h.rows)===null||c===void 0?void 0:c[y])!==null&&d!==void 0?d:null}sourceColumn(e,t){var n=this.totalsRow(t);if(n!=null){var i,a,l,s,o=(i=this.totals)===null||i===void 0?void 0:i.operationOrder[n],d=(a=(l=this.totals)===null||l===void 0?void 0:l.defaultOperation)!==null&&a!==void 0?a:Bn.SUM,h=this.columns[e],c=(s=this.totalsTable)===null||s===void 0?void 0:s.columns.find(v=>{var p;return v.name==="".concat(h.name,"__").concat(o)||(o===d||((p=this.totals)===null||p===void 0?void 0:p.operationOrder.length)===1)&&v.name===h.name});if(c!=null)return c}return this.columns[e]}totalsRow(e){var t,n,i,a,l,s=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,o=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,d=o?e:e-this.table.size;return d>=0&&d<s?d:null}pendingRow(e){var t=e-this.floatingTopRowCount-this.table.size;return t>=0&&t<this.pendingNewRowCount?t:null}isTotalsRow(e){return this.totalsRow(e)!=null}isPendingRow(e){return this.pendingRow(e)!=null}dataForCell(e,t){var n;return(n=this.row(t))===null||n===void 0?void 0:n.data.get(e)}formatForCell(e,t){var n;return(n=this.dataForCell(e,t))===null||n===void 0?void 0:n.format}valueForCell(e,t){var n=this.dataForCell(e,t);if(n){var i;return(i=n.value)!==null&&i!==void 0?i:null}}copyViewportData(e){if(e==null){B.warn("invalid data!");return}this.viewportData=this.extractViewportData(e),this.formattedStringData=[]}copyTotalsData(e){var t,n,i,a=this;if(e==null){B.warn("invalid data!");return}var{columns:l,rows:s}=e;if(s.length!==1){B.error("Unexpected number of rows received for totals table, ignoring update");return}for(var o=new Map,d=s[0],h=(t=(n=this.totals)===null||n===void 0?void 0:n.defaultOperation)!==null&&t!==void 0?t:Bn.SUM,c=(i=this.totals)===null||i===void 0?void 0:i.operationMap,v=function(){var m,f,C=l[p],[E,b=(m=c==null||(f=c[E])===null||f===void 0?void 0:f[0])!==null&&m!==void 0?m:h]=C.name.split("__");o.has(b)||o.set(b,{data:new Map});var{data:w}=o.get(b),S=a.columns.findIndex(y=>y.name===E);w.set(S,{value:d.get(C),format:d.getFormat(C)})},p=0;p<l.length;p+=1)v();B.debug2("copyTotalsData",o),this.totalsDataMap=o,this.formattedStringData=[]}getColumnIndexByName(e){return this.getColumnIndicesByNameMap(this.columns).get(e)}extractViewportData(e){for(var t={offset:e.offset,rows:[]},{columns:n}=e,i=0;i<e.rows.length;i+=1){var a=e.rows[i],l=this.extractViewportRow(a,n);t.rows.push(l)}return t}extractViewportRow(e,t){for(var n=new Map,i=0;i<t.length;i+=1){var a=t[i],l=this.getColumnIndexByName(a.name);M(l),n.set(l,{value:e.get(a),format:e.getFormat(a)})}return{data:n}}closeSubscription(){B.debug2("closeSubscription",this.subscription),this.subscription&&(this.subscription.close(),this.subscription=null),this.setViewport.cancel(),this.applyViewport.cancel()}get filter(){return this.table.filter}set filter(e){this.closeSubscription(),this.table.applyFilter(e),this.applyViewport()}get formatter(){return this.irisFormatter}set formatter(e){this.irisFormatter=e,this.formattedStringData=[],this.dispatchEvent(new G(x.EVENT.FORMATTER_UPDATED))}displayString(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",i=arguments.length>3?arguments[3]:void 0;return this.getCachedFormattedString(this.formatter,e,t,n,i)}get sort(){return this.table.sort}set sort(e){this.closeSubscription(),this.table.applySort(e),this.applyViewport()}set totalsConfig(e){if(B.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 G(x.EVENT.UPDATED));return}this.totalsTablePromise=Fe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Fe.isCanceled(t)||(B.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new G(x.EVENT.REQUEST_FAILED,{detail:t})))})}}setTotalsTable(e){B.debug("setTotalsTable",e),this.totalsTable!==null&&(this.listenerCount>0&&this.removeTotalsListeners(this.totalsTable),this.totalsTable.close()),this.totalsTable=e,this.totalsDataMap=null,this.listenerCount>0&&this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable)}applyBufferedViewport(e,t,n){B.debug2("applyBufferedViewport",e,t,n),this.subscription==null?(B.debug2("applyBufferedViewport creating new subscription"),this.subscription=this.table.setViewport(e,t,n)):(B.debug2("applyBufferedViewport using existing subscription"),this.subscription.setViewport(e,t,n))}snapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:P=>P,l=t.length>3&&t[3]!==void 0?t[3]:!0;if(n.subscription==null)throw new Error("No subscription available");var s=l?U.consolidate(e):e;if(!H.isValidSnapshotRanges(s))throw new Error("Invalid snapshot ranges ".concat(e));for(var o=new Set,d=[],h=new Set,c=0;c<s.length;c+=1){var v=s[c];M(v.endRow),M(v.startRow);for(var p=v.startRow;p<=v.endRow&&p<n.floatingTopRowCount;p+=1)o.add(p);v.endRow>=n.floatingTopRowCount&&v.startRow<=n.floatingTopRowCount+n.table.size&&d.push(new U(v.startColumn,Math.min(Math.max(0,v.startRow-n.floatingTopRowCount)),v.endColumn,Math.min(Math.max(0,v.endRow-n.floatingTopRowCount),n.table.size-n.floatingTopRowCount)));for(var g=Math.max(v.startRow,n.floatingTopRowCount+n.table.size);g<=v.endRow&&g<n.floatingTopRowCount+n.table.size+n.floatingBottomRowCount;g+=1)h.add(g)}var m=H.columnsFromRanges(s,n.columns),f=[];i&&f.push(m.map(P=>P.name));for(var C=[...o].sort(),E=function*(){var N=C[b],_=m.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&_.push(n.textForRowFooter(N)),f.push(_)},b=0;b<C.length;b+=1)yield*E();if(d.length>0){var w=n.irisGridUtils.rangeSetFromRanges(d),S=yield n.subscription.snapshot(w,m);f.push(...S.rows.map(P=>m.map(N=>a(P.get(N),N))))}for(var y=[...h].sort(),D=function*(){var N=y[T],_=m.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&_.push(n.textForRowFooter(N)),f.push(_)},T=0;T<y.length;T+=1)yield*D();return f})()}textSnapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:s=>"".concat(s);B.debug2("textSnapshot",e,i);var l=yield n.snapshot(e,i,a,!1);return l.map(s=>s.join(" ")).join(`
2
- `)})()}valuesTable(e){var t=this;return je(function*(){var n=null;try{return n=yield t.table.copy(),n.applyFilter([]),n.applySort([]),n.selectDistinct(Array.isArray(e)?e:[e])}finally{n?.close()}})()}isColumnMovable(e,t){if(e<0||e>=this.columnCount)return!1;if(t>0)return!0;var n=this.columns[e].name;return this.frontColumns.includes(n)||this.backColumns.includes(n)||this.frozenColumns.includes(n)||!n?!1:!this.isKeyColumn(e)}isColumnSortable(e){var t;return(t=this.columns[e].isSortable)!==null&&t!==void 0?t:!0}isKeyColumn(e){var t,n;return e<((t=(n=this.inputTable)===null||n===void 0?void 0:n.keyColumns.length)!==null&&t!==void 0?t:0)}isRowMovable(){return!1}isEditableRange(e){if(this.inputTable==null||!U.isBounded(e))return!1;var t=this.isPendingRow(e.startRow)&&this.isPendingRow(e.endRow);return!(!(t||this.inputTable.keyColumns.length!==0&&e.startColumn>=this.inputTable.keyColumns.length&&e.endColumn>=this.inputTable.keyColumns.length)||e.startRow<this.floatingTopRowCount||e.startRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount||e.endRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount)}isDeletableRange(e){return this.inputTable!=null&&e.startRow!=null&&e.endRow!=null&&e.startRow>=this.floatingTopRowCount&&e.startRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount&&e.endRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount}isEditableRanges(e){return e.every(t=>this.isEditableRange(t))}isDeletableRanges(e){return e.every(t=>this.isDeletableRange(t))}getTableAreaRange(){return new U(null,this.floatingTopRowCount,null,this.floatingTopRowCount+this.table.size-1)}getPendingAreaRange(){return new U(null,this.floatingTopRowCount+this.table.size,null,this.floatingTopRowCount+this.table.size+this.pendingNewRowCount-1)}setValueForCell(e,t,n){var i=this;return je(function*(){return i.setValueForRanges([new U(e,t,e,t)],n)})()}setValueForRanges(e,t){var n=this;return je(function*(){if(!n.isEditableRanges(e))throw new Error("Uneditable ranges ".concat(e));try{var i=new Set,a=[];U.forEachCell(e,(m,f)=>{var C=n.columns[m];if(i.add(C),a[m]===void 0){var E=n.tableUtils.makeValue(C.type,t,n.formatter.timeZone);a[m]=E!=null?n.displayString(E,C.type,C.name):null}n.cachePendingValue(m,f,a[m])});var l=n.getPendingAreaRange(),s=e.map(m=>U.intersection(l,m)).filter(m=>m!=null).map(m=>(M(m),U.offset(m,0,-(n.floatingTopRowCount+n.table.size))));if(s.length>0){var o=new Map(n.pendingNewDataMap);U.forEachCell(s,(m,f)=>{o.has(f)||o.set(f,{data:new Map});var C=n.columns[m],E=o.get(f);M(E);var{data:b}=E,w=new Map(b),S=n.tableUtils.makeValue(C.type,t,n.formatter.timeZone);S!=null?w.set(m,{value:S}):w.delete(m),w.size>0?o.set(f,It(It({},E),{},{data:w})):o.delete(f)}),n.pendingDataMap=o}n.dispatchEvent(new G(x.EVENT.UPDATED));var d=n.getTableAreaRange(),h=e.map(m=>U.intersection(d,m)).filter(m=>m!=null);if(h.length>0){var c,v=yield n.snapshot(h.map(m=>{var f,C;return new U(null,(f=m?.startRow)!==null&&f!==void 0?f:null,null,(C=m?.endRow)!==null&&C!==void 0?C:null)})),p=v.map(m=>{for(var f={},C=0;C<n.columns.length;C+=1)f[n.columns[C].name]=m[C];return i.forEach(E=>{f[E.name]=n.tableUtils.makeValue(E.type,t,n.formatter.timeZone)}),f}),g=yield(c=n.inputTable)===null||c===void 0?void 0:c.addRows(p);B.debug("setValueForRanges(",e,",",t,") set tableRanges",h,"result",g)}U.forEachCell(e,(m,f)=>{var C=a[m];M(C),n.cacheFormattedValue(m,f,C)})}catch(m){B.error("Unable to set ranges",e,t,m)}finally{U.forEachCell(e,(m,f)=>{n.clearPendingValue(m,f)})}})()}setValues(){var e=arguments,t=this;return je(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:[];if(B.debug("setValues(",n,")"),!n.every(p=>{var g,m;return t.isEditableRange(U.makeCell((g=p.column)!==null&&g!==void 0?g:p.x,(m=p.row)!==null&&m!==void 0?m:p.y))}))throw new Error("Uneditable ranges ".concat(n));try{var i=new Map(t.pendingNewDataMap);n.forEach(p=>{var g,m,{text:f}=p,C=(g=p.column)!==null&&g!==void 0?g:p.x,E=(m=p.row)!==null&&m!==void 0?m:p.y,b=t.columns[C],w=t.tableUtils.makeValue(b.type,f,t.formatter.timeZone),S=w!=null?t.displayString(w,b.type,b.name):null;t.cachePendingValue(C,E,S);var y=t.pendingRow(E);if(y!=null){i.has(y)||i.set(y,{data:new Map});var D=i.get(y);M(D);var{data:T}=D,P=new Map(T);w!=null?P.set(C,{value:w}):P.delete(C),P.size>0?i.set(y,It(It({},D),{},{data:P})):i.delete(y)}}),t.pendingDataMap=i,t.dispatchEvent(new G(x.EVENT.UPDATED));var a=n.reduce((p,g)=>{var m,f,C=(m=g.row)!==null&&m!==void 0?m:g.y;return p.has(C)||p.set(C,[]),(f=p.get(C))===null||f===void 0||f.push(g),p},new Map),l=U.consolidate(n.map(p=>{var g,m;return U.makeCell((g=p.column)!==null&&g!==void 0?g:p.x,(m=p.row)!==null&&m!==void 0?m:p.y)})),s=t.getTableAreaRange(),o=l.map(p=>U.intersection(s,p)).filter(p=>p!=null);if(o.length>0){var d,h=yield t.snapshot(o.map(p=>(M(p),new U(null,p.startRow,null,p.endRow)))),c=h.map((p,g)=>{for(var m=null,f=g,C=0;C<o.length;C+=1){var E=o[C];M(E);var b=U.rowCount([E]);if(f<b){M(E.startRow),m=E.startRow+f;break}f-=b}for(var w={},S=0;S<t.columns.length;S+=1)w[t.columns[S].name]=p[S];M(m);var y=a.get(m);return y?.forEach(D=>{var T,P=t.columns[(T=D.column)!==null&&T!==void 0?T:D.x];w[P.name]=t.tableUtils.makeValue(P.type,D.text,t.formatter.timeZone)}),w});B.info("setValues setting tableRanges",o);var v=yield(d=t.inputTable)===null||d===void 0?void 0:d.addRows(c);B.info("setValues set tableRanges",o,"SUCCESS",v)}n.forEach(p=>{var g,m,{text:f}=p,C=(g=p.column)!==null&&g!==void 0?g:p.x,E=(m=p.row)!==null&&m!==void 0?m:p.y,b=t.columns[C],w=t.tableUtils.makeValue(b.type,f,t.formatter.timeZone),S=w!=null?t.displayString(w,b.type,b.name):null;t.cacheFormattedValue(C,E,S)})}finally{n.forEach(p=>{t.clearPendingValue(p.column,p.row)})}})()}commitPending(){var e=this;return je(function*(){if(e.pendingNewDataMap.size<=0)throw new Error("No pending changes to commit");try{var t,n,i;e.isSaveInProgress=!0;var a=[];e.pendingNewDataMap.forEach(s=>{var o={};s.data.forEach((d,h)=>{var{value:c}=d,v=e.columns[h];o[v.name]=c}),a.push(o)});var l=yield(t=e.inputTable)===null||t===void 0?void 0:t.addRows(a);B.debug("commitPending()",e.pendingNewDataMap,"result",l),e.pendingNewDataMap=new Map,e.pendingNewRowCount=Math.max(0,((n=(i=e.viewport)===null||i===void 0?void 0:i.bottom)!==null&&n!==void 0?n:0)-e.table.size),e.formattedStringData=[],e.dispatchEvent(new G(x.EVENT.PENDING_DATA_UPDATED))}finally{e.isSaveInProgress=!1}})()}editValueForCell(e,t){return this.textValueForCell(e,t)}delete(e){return je(function*(){throw new Error("Delete not implemented")})()}isValidForCell(e,t,n){try{var i=this.columns[e];return this.tableUtils.makeValue(i.type,n,this.formatter.timeZone),!0}catch{return!1}}}k(Pt,"ROW_BUFFER_PAGES",1);const fi=Pt;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 Je(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 Le(r,e,t){return e=Dl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Dl(r){var e=Ml(r,"string");return typeof e=="symbol"?e:String(e)}function Ml(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var Oe=W.module("IrisGridTableModel");class Nl extends fi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),Le(this,"userFrozenColumns",void 0),Le(this,"customColumnList",void 0),Le(this,"formatColumnList",void 0),Le(this,"initialFilters",[]),Le(this,"getMemoizedFrontColumns",I(a=>a??[])),Le(this,"getMemoizedBackColumns",I(a=>a??[])),Le(this,"getMemoizedFrozenColumns",I((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:[]})),Le(this,"getCachedFilterableColumnSet",I(a=>new Set(a.map((l,s)=>s)))),Le(this,"getCachedPartitionColumns",I(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isValuesTableAvailable(){return this.table.selectDistinct!=null&&this.table.copy!=null}get isRollupAvailable(){return this.table.rollup!=null}get isSelectDistinctAvailable(){return this.table.selectDistinct!=null}get isCustomColumnsAvailable(){return this.table.applyCustomColumns!=null}get isFormatColumnsAvailable(){return this.table.applyCustomColumns!=null}get frontColumns(){var e;return this.getMemoizedFrontColumns((e=this.layoutHints)===null||e===void 0?void 0:e.frontColumns)}get backColumns(){var e;return this.getMemoizedBackColumns((e=this.layoutHints)===null||e===void 0?void 0:e.backColumns)}get frozenColumns(){var e;return this.getMemoizedFrozenColumns((e=this.layoutHints)===null||e===void 0?void 0:e.frozenColumns,this.userFrozenColumns)}get layoutHints(){return this.table.layoutHints}get floatingLeftColumnCount(){return this.frozenColumns.length}get description(){return this.table.description}get customColumns(){return this.customColumnList}set customColumns(e){if(Oe.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){Oe.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){Oe.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(Oe.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){Oe.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){Oe.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 G(x.EVENT.TABLE_CHANGED,{detail:this.table}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Je(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Je(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionTable(e){var t=this;return Je(function*(){Oe.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.makeFilterRawValue(l.type,a);n.push(l.filter().eq(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(Oe.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 G(x.EVENT.UPDATED));return}this.totalsTablePromise=Fe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Fe.isCanceled(t)||(Oe.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new G(x.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Je(function*(){return e.table.freeze()})()}columnStatistics(e){return this.table.getColumnStatistics(e)}isColumnMovable(e){var t=this.columns[e].name;return this.frontColumns.includes(t)||this.backColumns.includes(t)||this.frozenColumns.includes(t)?!1:!this.isKeyColumn(e)}isColumnFrozen(e){return this.frozenColumns.includes(this.columns[e].name)}delete(e){var t=()=>super.pendingDataMap,n=a=>super.pendingDataMap=a,i=this;return Je(function*(){var a;if(!i.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));M(i.inputTable);var{keyColumns:l}=i.inputTable;if(l.length===0)throw new Error("No key columns to allow deletion");var s=i.getPendingAreaRange(),o=e.map(b=>U.intersection(s,b)).filter(b=>b!=null).map(b=>(M(b),U.offset(b,0,-(i.floatingTopRowCount+i.table.size))));if(o.length>0){for(var d=new Map(t()),h=0;h<o.length;h+=1){var c=o[h];M(c.startRow),M(c.endRow);for(var v=c.startRow;v<=c.endRow;v+=1)d.delete(v)}n(d),i.formattedStringData=[],i.dispatchEvent(new G(x.EVENT.PENDING_DATA_UPDATED)),i.dispatchEvent(new G(x.EVENT.UPDATED))}var p=i.getTableAreaRange(),g=e.map(b=>U.intersection(p,b)).filter(b=>b!=null);if(!(g.length<=0)){var[m,f]=yield Promise.all([i.snapshot(g.map(b=>(M(b),l.map(w=>{var S=i.getColumnIndexByName(w.name);if(S==null)throw new Error("Key column ".concat(w.name," not found"));return new U(S,b.startRow,S,b.endRow)}))).flat()),i.table.copy()]),C=m.map(b=>{for(var w=[],S=0;S<l.length;S+=1){var y=l[S],D=b[S],T=i.tableUtils.makeFilterRawValue(y.type,D),P=y.filter().eq(T);w.push(P)}return w.reduce((N,_)=>{var A;return(A=N?.and(_))!==null&&A!==void 0?A:_})}),E=C.reduce((b,w)=>{var S;return(S=b?.or(w))!==null&&S!==void 0?S:w});f.applyFilter([E]),yield(a=i.inputTable)===null||a===void 0?void 0:a.deleteTable(f),f.close()}})()}seekRow(e,t,n,i,a,l,s){var o=this;return Je(function*(){return o.table.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const gi=Nl;function Ll(r,e,t){return e=Ol(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ol(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 Il extends x{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new ke(e);super(e),Ll(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 se}getColumnIndexByName(e){}get initialMovedColumns(){return se}get initialMovedRows(){return se}get initialColumnHeaderGroups(){return se}get groupedColumns(){return se}formatForCell(e,t){}valueForCell(e,t){}get filter(){return se}set filter(e){}get partition(){return se}set partition(e){}get partitionColumns(){return se}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return se}set sort(e){}get customColumns(){return se}set customColumns(e){}get formatColumns(){return se}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 se}set selectDistinctColumns(e){}get pendingDataMap(){return rn}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return rn}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 se}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return rn}getColumnHeaderParentGroup(e,t){}}const kl=Il;function nr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function on(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){nr(a,n,i,l,s,"next",o)}function s(o){nr(a,n,i,l,s,"throw",o)}l(void 0)})}}function xl(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=Al(r,"string");return typeof e=="symbol"?e:String(e)}function Al(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class jl extends kl{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e);super(e,n),xl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}get isReversible(){return!1}displayString(e,t,n){return""}close(){this.partitionedTable.close()}get columns(){return this.partitionedTable.columns}get partitionColumns(){return this.partitionedTable.keyColumns}partitionKeysTable(){var e=this;return on(function*(){return e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return on(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return on(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new zn("Partition not found");return n}catch(i){throw ul(i)?i:new zn("Unable to retrieve partition")}})()}}const Vl=jl;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 $l(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)})}}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){tt(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 tt(r,e,t){return e=Ul(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ul(r){var e=Gl(r,"string");return typeof e=="symbol"?e:String(e)}function Gl(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 Hl=W.module("IrisGridTreeTableModel");class Bl extends fi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),tt(this,"virtualColumns",void 0),tt(this,"getCachedColumns",I((a,l)=>[...a,...l])),tt(this,"getCachedGroupColumns",I((a,l)=>[...a,...l])),tt(this,"getCachedFilterableColumnSet",I((a,l,s)=>new Set((l?.length>0?l:a).filter(o=>!s.includes(o)).map(o=>a.findIndex(d=>o.name===d.name))))),tt(this,"getCachedGroupedColumnSet",I(a=>new Set(a.map(l=>this.columns.findIndex(s=>l.name===s.name))))),this.virtualColumns=[{name:"__DH_UI_GROUP__",displayName:"Group",type:j.dataType.STRING,constituentType:j.dataType.STRING,isPartitionColumn:!1,isSortable:!1,isProxy:!0,description:"Key column",filter:()=>{throw new Error("Filter not implemented for virtual column")},sort:()=>{throw new Error("Sort not implemented virtual column")},formatColor:()=>{throw new Error("Color not implemented for virtual column")},formatRowColor:()=>{throw new Error("Color 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?Hl.warn("Missing key data for virtual column",o,a,d,e):s.set(o,h)}return ar(ar({},l),{},{data:s,isExpanded:n,hasChildren:i,depth:a})}snapshot(e,t,n){var i=this;return $l(function*(){var a,l;M(i.viewport),M(i.viewportData);var s=(a=i.viewport.columns)!==null&&a!==void 0?a:i.columns,o=[];t!=null&&t&&o.push(s.map(C=>C.name));for(var d=new U(0,(l=i.viewportData)===null||l===void 0?void 0:l.offset,s.length,i.viewportData.offset+i.viewportData.rows.length),h=0;h<e.length;h+=1){var c=U.intersection(d,e[h]);M(c),M(c.startRow),M(c.endRow);for(var v=c.startRow;v<=c.endRow;v+=1){var p=[],g=i.viewportData.rows[v-i.viewportData.offset];M(c.startColumn),M(c.endColumn);for(var m=c.startColumn;m<=c.endColumn;m+=1){var f;M(n),p.push(n((f=g.data.get(m))===null||f===void 0?void 0:f.value,i.columns[m]))}o.push(p)}}return o})()}get columns(){return this.getCachedColumns(this.virtualColumns,super.columns)}get groupedColumns(){return this.getCachedGroupColumns(this.virtualColumns,this.table.groupedColumns)}sourceForCell(e,t){if(e>=this.virtualColumns.length)return{column:e,row:t};var n=this.depthForRow(t);return{column:e+n,row:t}}sourceColumn(e,t){if(e>=this.virtualColumns.length)return super.sourceColumn(e,t);var n=this.depthForRow(t);return this.columns[e+n]}getClearFilterRange(e){return e>=this.virtualColumns.length?super.getClearFilterRange(e):[this.virtualColumns.length,this.groupedColumns.length]}get hasExpandableRows(){return!0}get isExpandAllAvailable(){return this.table.expandAll!==void 0}get isChartBuilderAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isReversible(){return!1}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns,this.groupedColumns,this.virtualColumns).has(e)}isColumnMovable(e){return e>=this.groupedColumns.length}isRowExpandable(e){var t,n=this.row(e);return(t=n?.hasChildren)!==null&&t!==void 0?t:!1}isRowExpanded(e){var t,n=this.row(e);return(t=n?.isExpanded)!==null&&t!==void 0?t:!1}setRowExpanded(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.isExpandAllAvailable?this.table.setExpanded(e,t,n):this.table.setExpanded(e,t)}expandAll(){this.table.expandAll&&this.table.expandAll()}collapseAll(){this.table.collapseAll&&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 zl=Bl;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 Kl(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 L(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=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 Re=W.module("IrisGridProxyModel");function et(r,e,t,n){return j.isTreeTable(e)?new zl(r,e,t):j.isPartitionedTable(e)?new Vl(r,e,t):new gi(r,e,t,n)}class Zl extends x{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),n=this,L(this,"dh",void 0),L(this,"originalModel",void 0),L(this,"model",void 0),L(this,"modelPromise",void 0),L(this,"rollup",void 0),L(this,"partition",void 0),L(this,"selectDistinct",void 0),L(this,"currentViewport",void 0),L(this,"textForCell",function(){return n.model.textForCell(...arguments)}),L(this,"truncationCharForCell",function(){return n.model.truncationCharForCell(...arguments)}),L(this,"textAlignForCell",function(){return n.model.textAlignForCell(...arguments)}),L(this,"colorForCell",function(){return n.model.colorForCell(...arguments)}),L(this,"backgroundColorForCell",function(){return n.model.backgroundColorForCell(...arguments)}),L(this,"textForColumnHeader",function(){return n.model.textForColumnHeader(...arguments)}),L(this,"colorForColumnHeader",function(){return n.model.colorForColumnHeader(...arguments)}),L(this,"textForRowHeader",function(){return n.model.textForRowHeader(...arguments)}),L(this,"textForRowFooter",function(){return n.model.textForRowFooter(...arguments)}),L(this,"isRowMovable",function(){return n.model.isRowMovable(...arguments)}),L(this,"isColumnMovable",function(){return n.model.isColumnMovable(...arguments)}),L(this,"isRowExpandable",function(){return Ae(n.model)?n.model.isRowExpandable(...arguments):!1}),L(this,"isRowExpanded",function(){return Ae(n.model)?n.model.isRowExpanded(...arguments):!1}),L(this,"setRowExpanded",function(){if(Ae(n.model))return n.model.setRowExpanded(...arguments);throw Error("Function setRowExpanded does not exist on IrisGridTableModel")}),L(this,"expandAll",()=>{if(Ae(this.model))return this.model.expandAll();throw Error("Function expandAll does not exist on IrisGridTableModel")}),L(this,"collapseAll",()=>{if(Ae(this.model))return this.model.collapseAll();throw Error("Function collapseAll does not exist on IrisGridTableModel")}),L(this,"depthForRow",function(){return Ae(n.model)?n.model.depthForRow(...arguments):0}),L(this,"getColumnHeaderGroup",function(){return n.model.getColumnHeaderGroup(...arguments)}),L(this,"getColumnHeaderParentGroup",function(){return n.model.getColumnHeaderParentGroup(...arguments)}),L(this,"sourceForCell",function(){return n.model.sourceForCell(...arguments)}),L(this,"getClearFilterRange",function(){return n.model.getClearFilterRange(...arguments)}),L(this,"formatForCell",function(){return n.model.formatForCell(...arguments)}),L(this,"valueForCell",function(){return n.model.valueForCell(...arguments)}),L(this,"renderTypeForCell",function(){return n.model.renderTypeForCell(...arguments)}),L(this,"dataBarOptionsForCell",function(){return n.model.dataBarOptionsForCell(...arguments)}),L(this,"displayString",function(){return n.model.displayString(...arguments)}),L(this,"isEditableRange",function(){return Ke(n.model)?n.model.isEditableRange(...arguments):!1}),L(this,"isFilterable",function(){return n.model.isFilterable(...arguments)}),L(this,"setViewport",(s,o,d)=>{this.currentViewport={top:s,bottom:o,columns:d},this.model.setViewport(s,o,d)}),L(this,"snapshot",function(){return n.model.snapshot(...arguments)}),L(this,"textSnapshot",function(){return n.model.textSnapshot(...arguments)}),L(this,"valuesTable",function(){return n.model.valuesTable(...arguments)}),L(this,"editValueForCell",function(){return Ke(n.model)?n.model.editValueForCell(...arguments):""}),L(this,"setValueForCell",function(){return Ke(n.model)?n.model.setValueForCell(...arguments):Promise.reject(new Error("Model is not editable"))}),L(this,"setValueForRanges",function(){return Ke(n.model)?n.model.setValueForRanges(...arguments):Promise.reject(new Error("Model is not editable"))}),L(this,"setValues",function(){return Ke(n.model)?n.model.setValues(...arguments):Promise.resolve()}),L(this,"isValidForCell",function(){return Ke(n.model)?n.model.isValidForCell(...arguments):!1}),L(this,"delete",function(){return n.model.delete(...arguments)}),L(this,"commitPending",function(){return n.model.commitPending(...arguments)}),this.handleModelEvent=this.handleModelEvent.bind(this);var l=et(e,t,i,a);this.dh=e,this.originalModel=l,this.model=l,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[]}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){Re.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new G(n,{detail:t}))}setModel(e){Re.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 G(x.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)}We(e)&&this.dispatchEvent(new G(x.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Re.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Fe.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Fe.isCanceled(t)){Re.debug2("setNextModel cancelled");return}Re.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new G(x.EVENT.REQUEST_FAILED,{detail:t}))})}startListening(){super.startListening(),this.addListeners(this.model)}stopListening(){super.stopListening(),this.removeListeners(this.model)}addListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(x.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get rowCount(){return this.model.rowCount}get columnCount(){return this.model.columnCount}get floatingTopRowCount(){return this.model.floatingTopRowCount}get floatingBottomRowCount(){return this.model.floatingBottomRowCount}get floatingLeftColumnCount(){return this.model.floatingLeftColumnCount}get floatingRightColumnCount(){return this.model.floatingRightColumnCount}isColumnFrozen(e){return this.model.isColumnFrozen(e)}isColumnSortable(e){return this.model.isColumnSortable(e)}get hasExpandableRows(){return Ae(this.model)?this.model.hasExpandableRows:!1}get isExpandAllAvailable(){if(Ae(this.model)){var e;return(e=this.model.isExpandAllAvailable)!==null&&e!==void 0?e:!1}return!1}get isExportAvailable(){return this.model.isExportAvailable}get isColumnStatisticsAvailable(){return this.model.isColumnStatisticsAvailable}get isValuesTableAvailable(){return this.model.isValuesTableAvailable}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isFormatColumnsAvailable(){return this.model.isFormatColumnsAvailable}get isChartBuilderAvailable(){return this.model.isChartBuilderAvailable}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get isTotalsAvailable(){return this.model.isTotalsAvailable}get isReversible(){return this.model.isReversible}get columns(){return this.model.columns}get initialMovedColumns(){return this.model.initialMovedColumns}get initialMovedRows(){return this.model.initialMovedRows}get layoutHints(){return this.model.layoutHints}get frontColumns(){return this.model.frontColumns}get backColumns(){return this.model.backColumns}get frozenColumns(){return this.model.frozenColumns}get columnHeaderGroups(){return this.model.columnHeaderGroups}set columnHeaderGroups(e){this.model.columnHeaderGroups=e}get initialColumnHeaderGroups(){return this.model.initialColumnHeaderGroups}get columnHeaderGroupMap(){return this.model.columnHeaderGroupMap}get columnHeaderMaxDepth(){return this.model.columnHeaderMaxDepth}updateFrozenColumns(e){return this.model.updateFrozenColumns(e)}get originalColumns(){return this.originalModel.columns}get groupedColumns(){return this.model.groupedColumns}get partitionColumns(){return ze(this.originalModel)?this.originalModel.partitionColumns:[]}get description(){return this.model.description}get filter(){return this.model.filter}set filter(e){this.model.filter=e}get partitionConfig(){return!ze(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Re.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&ze(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionKeysTable().then(n=>et(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>et(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>et(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get formatter(){return this.model.formatter}set formatter(e){this.model.formatter=e}get sort(){return this.model.sort}set sort(e){this.model.sort=e}get customColumns(){return this.model.customColumns}set customColumns(e){this.model.customColumns=e}get formatColumns(){return this.model.formatColumns}set formatColumns(e){this.model.formatColumns=e}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Re.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);We(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>et(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Re.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){Re.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);We(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(i=>et(this.dh,i,this.formatter))),this.setNextModel(n)}get table(){if(We(this.model))return this.model.table}get totalsConfig(){return this.model.totalsConfig}set totalsConfig(e){this.model.totalsConfig=e}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return ze(this.originalModel)?this.originalModel.isPartitionRequired:!1}get isEditable(){return Ke(this.model)&&this.model.isEditable}export(){if(j.isTreeTable(this.model))throw new Error("TreeTable has no 'export' property");return this.model.export()}columnStatistics(e){if(j.isTreeTable(this.model))throw new Error("TreeTable has no 'columnStatistics' function");return this.model.columnStatistics(e)}get pendingDataMap(){return this.model.pendingDataMap}set pendingDataMap(e){this.model.pendingDataMap=e}get pendingRowCount(){return this.model.pendingRowCount}set pendingRowCount(e){this.model.pendingRowCount=e}get pendingDataErrors(){return this.model.pendingDataErrors}getColumnIndexByName(e){return this.model.getColumnIndexByName(e)}seekRow(e,t,n,i,a,l,s){var o=this;return Kl(function*(){return o.model.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.model.isSeekRowAvailable}}const Yl=Zl;function sr(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){sr(a,n,i,l,s,"next",o)}function s(o){sr(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 ke(e),a=null;return!j.isTreeTable(t)&&!j.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new Yl(e,t,i,a)})()}}const Tn=Xl;function Fn(r,e,t){return e=Jl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Jl(r){var e=es(r,"string");return typeof e=="symbol"?e:String(e)}function es(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Zt{}Fn(Zt,"OPEN","ChartEvent.OPEN");Fn(Zt,"CLOSE","ChartEvent.CLOSE");Fn(Zt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const $t=Zt;function ct(r,e,t){return e=ts(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ts(r){var e=ns(r,"string");return typeof e=="symbol"?e:String(e)}function ns(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Qe{}ct(Qe,"OPEN_GRID","IrisGridEvent.OPEN_GRID");ct(Qe,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");ct(Qe,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");ct(Qe,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");ct(Qe,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");ct(Qe,"CREATE_CHART","IrisGridevent.CREATE_CHART");const de=Qe;function Ci(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 Dn{}Ci(Dn,"OPEN","PandasEvent.OPEN");Ci(Dn,"CLOSE","PandasEvent.CLOSE");const as=Dn;function Nt(r){var{widgetType:e,widgetName:t,glContainer:n,description:i,children:a}=r,l=O.getTitleFromContainer(n);return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:t}),u.jsx(ua,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==l&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),u.jsx("span",{className:"tab-tooltip-name",children:l})]}),i&&u.jsx("div",{className:"tab-tooltip-description",children:i}),a]})}Nt.propTypes={glContainer:Zr.Container.isRequired,widgetType:R.string,widgetName:R.string,description:R.string,children:R.node};Nt.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function bi(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 Si extends F.PureComponent{constructor(e){super(e),bi(this,"getCachedRenderTabTooltip",I((t,n,i,a,l)=>t?()=>u.jsx(Nt,{glContainer:n,widgetType:i,widgetName:a,description:l}):null)),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{widgetName:e}=this.props;ha(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 F,C as u,F as ce,L as Ze,M as ue,as as sa,V as jn,U as I,at as Wr,N as R,G as he,K as Ye,H as oe,D as cn,S as Ce,ag as oa,ab as Rt}from"./vendor-beec23d9.js";import{F as ke,c as j,c4 as G,P as Fe,ak as se,c5 as rn,by as O,z as da,bE as qr,ad as ua,an as Zr,c6 as Ft,c7 as Pe,$ as Yr,c8 as fn,c9 as Xr,E as fe,af as Y,ca as Ht,bM as Qr,a4 as gn,cb as Bt,cc as zt,cd as Kt,ce as Dt,cf as Cn,S as yt,B as $,cg as bn,i as Jr,b as ei,aa as ha,ab as ca,_ as pa,ar as ma,ch as ti,ci as ni,aZ as va,ai as ae,bL as fa,cj as Vn,as as ga,au as Ca,u as ht,X as ba,o as ri,w as Sa,bT as He,bI as Mt,bA as Te,a2 as wa,aG as ii,b$ as Ea,b_ as ya,T as Ct,J as Pa,s as Ta,G as Fa,ck as ai,cl as li,cm as si,cn as oi,b9 as Da,bK as Ma,bO as Na,ag as di,bS as La,bJ as Oa,V as Ra,co as Ia,R as ka,am as _a,A as xa,W as Aa,U as ja,ae as Va,ah as $a,cp as Ua,a8 as Ga,cq as Ha,a9 as Ba,ay as za,cr as Ka,az as Wa}from"./ControlType-1b90d1e3.js";import{L as q,e as M,aj as qa,ak as Za,T as pn,F as Sn,al as Ya,am as Xa,an as ui,f as wn,ao as hi,ap as $n,t as Un,g as Qa,z as Ja,M as el,b as tl,c as nl,B as ci,aq as rl,ar as il,d as al,as as ll,at as sl}from"./index-02750775.js";import{m as ol,n as ne,K as _,a6 as Gn,F as mn,U as H,a7 as an,a8 as Hn,a9 as U,G as pt,aa as Bn,ab as dl,ac as Ae,a5 as ze,ad as Ke,B as zn,f as pi,l as mi,R as ul,e as Kn,A as hl,I as Wt,ae as cl,af as pl,ag as ml}from"./IrisGrid-ada0bc58.js";import{_ as vl}from"./monaco-b5248072.js";function En(r){var{className:e,isFlipped:t,children:n,"data-testid":i}=r,a=d=>{if(n.length!==2)throw new Error("CardFlip requires 2 children to function");return n[d]},l=F.useRef(null),s=F.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.add("card-flip--is-flipping")},[]),o=F.useCallback(d=>{d.target===d.currentTarget&&document.body.classList.remove("card-flip--is-flipping")},[]);return F.useEffect(function(){if(!l.current)throw Error("ref undefined");l.current.addEventListener("transitionstart",s);var c=l.current;return function(){if(c!=null)return c.removeEventListener("transitionstart",s)}},[s]),u.jsxs("div",{className:ce(e,{"card-flip--show-front":t,"card-flip--show-back":!t}),"data-testid":i,children:[u.jsx("div",{className:"card-flip--back",children:a(0)}),u.jsx("div",{ref:l,className:"card-flip--front",onTransitionEnd:o,children:a(1)})]})}function Wn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function qn(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wn(Object(t),!0).forEach(function(n){W(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 W(r,e,t){return e=fl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function fl(r){var e=gl(r,"string");return typeof e=="symbol"?e:String(e)}function gl(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var J=q.module("FigureChartModel");class qt extends ol{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(e),n=this,W(this,"chartUtils",void 0),W(this,"dh",void 0),W(this,"figure",void 0),W(this,"settings",void 0),W(this,"data",void 0),W(this,"layout",void 0),W(this,"seriesDataMap",void 0),W(this,"pendingSeries",void 0),W(this,"oneClicks",void 0),W(this,"filterColumnMap",void 0),W(this,"lastFilter",void 0),W(this,"isConnected",void 0),W(this,"seriesToProcess",void 0),W(this,"addPendingSeries",Ze(()=>{for(var a=ne.getAxisTypeMap(this.figure),{pendingSeries:l}=this,s=function(){var c,h=l[o],v=n.figure.charts.find(p=>p.series.includes(h));n.addSeries(h,a,(c=v?.showLegend)!==null&&c!==void 0?c:null),h.subscribe()},o=0;o<l.length;o+=1)s();this.pendingSeries=[]},qt.ADD_SERIES_DEBOUNCE)),W(this,"getTimeZone",ue((a,l)=>{if(l!=null){var s=l.getColumnTypeFormatter(a);if(s!=null)return s.dhTimeZone}})),W(this,"getValueTranslator",ue((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.unwrapValue(o,s)})),W(this,"getValueParser",ue((a,l)=>{var s=this.getTimeZone(a,l);return o=>this.chartUtils.wrapValue(o,a,s)})),W(this,"getRangeParser",ue((a,l)=>s=>{var[o,d]=s,c=this.getValueParser(a,l);return o=c(o),d=c(d),[o,d]})),W(this,"getAxisRangeParser",ue((a,l)=>s=>{var o=ne.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 ne(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=ne.getAxisTypeMap(this.figure),i=[];this.seriesToProcess=new Set;for(var a=function(){for(var v=t[l],p=0;p<v.series.length;p+=1){var g=v.series[p];i.push(g.name),e.addSeries(g,n,v.showLegend)}var{axes:m,title:f}=v;if(f!=null&&f.length>0&&(t.length>1||e.figure.title!=null)){var C=m.find(N=>N.type===e.dh.plot.AxisType.X),E=m.find(N=>N.type===e.dh.plot.AxisType.Y);if(C==null||E==null)J.warn("Chart title provided, but unknown how to map to the correct axes for this chart type",v);else{var b,w,S,y,D=((b=(w=n.get(C.type))===null||w===void 0?void 0:w.findIndex(N=>N===C))!==null&&b!==void 0?b:0)+1,T=((S=(y=n.get(E.type))===null||y===void 0?void 0:y.findIndex(N=>N===E))!==null&&S!==void 0?S:0)+1,P={align:"center",x:.5,y:1,yshift:17,text:f,showarrow:!1,xref:"x".concat(D," domain"),yref:"y".concat(T," domain")};e.layout.annotations==null?e.layout.annotations=[P]:e.layout.annotations.push(P)}}},l=0;l<t.length;l+=1)a();for(var s=[...this.seriesDataMap.keys()],o=s.filter(h=>i.indexOf(h)<0),d=0;d<o.length;d+=1){var c=o[d];this.seriesDataMap.delete(c)}}addSeries(e,t,n){var{dh:i}=this,a=this.chartUtils.makeSeriesDataFromSeries(e,t,ne.getSeriesVisibility(e.name,this.settings),n);if(this.seriesDataMap.set(e.name,a),this.seriesToProcess.add(e.name),this.data=[...this.seriesDataMap.values()],e.plotStyle===i.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===i.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=ne.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===i.plot.SeriesPlotStyle.PIE?n??void 0:!1,e.oneClick!=null){for(var{oneClick:l}=e,{columns:s}=l,o=0;o<s.length;o+=1)this.filterColumnMap.set(s[o].name,s[o]);this.oneClicks.push(l)}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){J.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&&(J.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){J.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){J.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){J.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){J.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:n}=t;J.debug2("handleFigureUpdated",n);for(var i=0;i<n.length;i+=1){var a=n[i];J.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:c}=o,h=this.getValueTranslator(d,this.formatter),v=t.getArray(a,c,h);this.setDataArrayForSeries(a,c,v)}this.seriesToProcess.delete(a.name),this.cleanSeries(a)}this.seriesToProcess.size===0&&this.fireLoadFinished();var{data:p}=this;this.fireUpdate(p)}handleRequestFailed(e){J.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()}setDownsamplingDisabled(e){super.setDownsamplingDisabled(e),this.resubscribe()}handleFigureDisconnected(e){J.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){J.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;J.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=ne.DEFAULT_MARGIN.t+i*ne.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=ne.DEFAULT_TITLE_PADDING.t+i*ne.SUBTITLE_LINE_HEIGHT*.5)}getPlotWidth(){var e,t,n,i;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.r)!==null&&n!==void 0?n:0),0)}getPlotHeight(){var e,t,n,i;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((n=(i=this.layout.margin)===null||i===void 0?void 0:i.b)!==null&&n!==void 0?n:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,n=>this.getAxisRangeParser(n,this.formatter),e,t)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,n)=>{J.debug("Assigning ".concat(n),this.layout[n],t);var i=this.layout[n];i!=null?Object.assign(i,t):J.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&&sa(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:c,xLow:h,xHigh:v,y:p,yLow:g,yHigh:m}=a;h&&v&&h!==c&&(a.error_x=ne.getPlotlyErrorBars(c,h,v)),g&&m&&g!==p&&(a.error_y=ne.getPlotlyErrorBars(p,g,m))}else if(i===t.plot.SeriesPlotStyle.TREEMAP){var{ids:f,labels:C}=a;f!==void 0&&C===void 0&&(a.labels=f)}}}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){return new Map(this.filterColumnMap)}isFilterRequired(){return this.oneClicks.find(e=>e.requireAllFiltersToDisplay)!=null}setFilter(e){var t=this;if(this.oneClicks.length===0){J.warn("Trying to set a filter, but no one click!");return}J.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 c=e.get(d);t.lastFilter.get(d)!==c&&s.find(h=>h.name===d)!=null&&l.setValueForColumn(d,c)})},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}}W(qt,"ADD_SERIES_DEBOUNCE",50);const Zn=qt;function Yn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function ln(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Yn(a,n,i,l,s,"next",o)}function s(o){Yn(a,n,i,l,s,"throw",o)}l(void 0)})}}class yn{static makeModelFromSettings(e,t,n){return ln(function*(){var i=yield yn.makeFigureFromSettings(e,t,n);return new Zn(e,i,t)})()}static makeFigureFromSettings(e,t,n){return ln(function*(){var i=yield n.copy();return i.applyCustomColumns(n.customColumns),i.applyFilter(n.filter),i.applySort(n.sort),e.plot.Figure.create(new ne(e).makeFigureSettings(t,i))})()}static makeModel(e,t,n){return ln(function*(){return new Zn(e,n,t)})()}}const St=yn;function Xn(r){return r.setFigure!==void 0}function sn(r,e,t){return e=Cl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Cl(r){var e=bl(r,"string");return typeof e=="symbol"?e:String(e)}function bl(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 Sl extends Error{constructor(e,t){super("".concat(t," can't be empty (on pending row ").concat(e+1,")")),sn(this,"isMissingKey",!0),sn(this,"rowIndex",void 0),sn(this,"columnName",void 0),this.rowIndex=e,this.columnName=t}}const wl=Sl;function Qn(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function It(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qn(Object(t),!0).forEach(function(n){k(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Qn(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Jn(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function je(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Jn(a,n,i,l,s,"next",o)}function s(o){Jn(a,n,i,l,s,"throw",o)}l(void 0)})}}function k(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=yl(r,"string");return typeof e=="symbol"?e:String(e)}function yl(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 B=q.module("IrisGridTableModelTemplate"),Pl=150,Tl=0;function qe(r){return r.table!==void 0}class Pt extends _{seekRow(e,t,n,i,a,l,s){throw new Error("Method not implemented.")}export(){throw new Error("Method not implemented.")}columnStatistics(e){throw new Error("Method not implemented.")}get customColumns(){return[]}set customColumns(e){throw new Error("Method not implemented.")}get formatColumns(){return[]}set formatColumns(e){throw new Error("Method not implemented.")}updateFrozenColumns(e){throw new Error("Method not implemented.")}get rollupConfig(){throw new Error("Method not implemented.")}set rollupConfig(e){throw new Error("Method not implemented.")}get selectDistinctColumns(){throw new Error("Method not implemented.")}set selectDistinctColumns(e){throw new Error("Method not implemented.")}get columns(){return this.table.columns}constructor(e,t){var n,i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),k(this,"dh",void 0),k(this,"irisGridUtils",void 0),k(this,"tableUtils",void 0),k(this,"irisFormatter",void 0),k(this,"inputTable",void 0),k(this,"subscription",void 0),k(this,"table",void 0),k(this,"viewport",void 0),k(this,"viewportData",void 0),k(this,"formattedStringData",void 0),k(this,"pendingStringData",void 0),k(this,"isSaveInProgress",void 0),k(this,"totalsTable",void 0),k(this,"totalsTablePromise",void 0),k(this,"totals",void 0),k(this,"totalsDataMap",void 0),k(this,"pendingNewDataMap",void 0),k(this,"pendingNewRowCount",0),k(this,"_columnHeaderGroupMap",new Map),k(this,"columnHeaderParentMap",new Map),k(this,"_columnHeaderMaxDepth",null),k(this,"_columnHeaderGroups",[]),k(this,"_movedColumns",null),k(this,"getMemoizedInitialMovedColumns",I(s=>{var o;if(!s)return[];var d=[],{groupMap:c}=H.parseColumnHeaderGroups(this,(o=s?.columnGroups)!==null&&o!==void 0?o:[]),h=(S,y)=>{var D=this.getColumnIndexByName(S);if(D==null)throw new Error("Unknown layout hint column: ".concat(S));var T=pt.getVisibleIndex(D,d);d=pt.moveItem(T,y,d)},v=(S,y)=>{var D=c.get(S);if(D==null)throw new Error("Unknown layout hint group: ".concat(S));var T=D.getVisibleRange(d);d=pt.moveRange(T,y,d)},{frontColumns:p=[],backColumns:g=[],frozenColumns:m=[]}=s;if(p.length||g.length||m.length){var f=new Set,C=0;m.forEach(S=>{if(f.has(S))throw new Error("Column specified in multiple layout hints: ".concat(S));h(S,C),C+=1}),p.forEach(S=>{if(f.has(S))throw new Error("Column specified in multiple layout hints: ".concat(S));h(S,C),C+=1});var E=this.columnMap.size-1;g.forEach(S=>{if(f.has(S))throw new Error("Column specified in multiple layout hints: ".concat(S));h(S,E),E-=1})}var b=s?.columnGroups;if(b){var w=[...c.values()];w.sort((S,y)=>S.depth-y.depth),w.forEach(S=>{var y=S.children[0],D=this.getColumnIndexByName(y),T;if(D!=null)T=pt.getVisibleIndex(D,d);else{var P=c.get(y);if(!P)throw new Error("Unknown column ".concat(y," in group ").concat(S.name));var N=P.getVisibleRange(d);[,T]=N}for(var x=1;x<S.children.length;x+=1){var A=S.children[x],V=c.get(A),Q=this.getColumnIndexByName(A);if(V){var X=V.getVisibleRange(d)[0]<T,be=X?T-V.childIndexes.length+1:T+1;v(A,be),T=be+V.childIndexes.length-1}else if(Q!=null){var De=pt.getVisibleIndex(Q,d)<T,Se=De?T:T+1;h(A,Se),T=Se}}})}return this._movedColumns=d,d})),k(this,"getMemoizedInitialColumnHeaderGroups",I(s=>{var o;return H.parseColumnHeaderGroups(this,(o=s?.columnGroups)!==null&&o!==void 0?o:[]).groups})),k(this,"getMemoizedColumnMap",I(s=>{var o=new Map;return s.forEach(d=>o.set(d.name,d)),o})),k(this,"getColumnIndicesByNameMap",I(s=>{var o=new Map;return s.forEach((d,c)=>{var{name:h}=d;return o.set(h,c)}),o})),k(this,"setViewport",jn((s,o,d)=>{if(o<s){B.error("Invalid viewport",s,o);return}var{viewport:c}=this;if(c!=null&&c.top===s&&c.bottom===o&&c.columns===d){B.debug2("Ignoring duplicate viewport",c);return}this.viewport={top:s,bottom:o,columns:d},B.debug2("setViewport",this.viewport),this.applyViewport()},Pl)),k(this,"applyViewport",jn(()=>{if(this.viewport){B.debug2("applyViewport",this.viewport);var{top:s,bottom:o,columns:d}=this.viewport,[c,h]=this.getCachedViewportRowRange(s,o);this.applyBufferedViewport(c,h,d)}},Tl,{leading:!1})),k(this,"getCachedFormattedString",Gn((s,o,d,c,h)=>s.getFormattedString(o,d,c,h),{max:1e4})),k(this,"getCachedCustomColumnFormatFlag",Gn(mn.isCustomColumnFormatDefined,{max:1e4})),k(this,"getCachedViewportRowRange",I((s,o)=>{var d=o-s,c=Math.max(0,s-d*Pt.ROW_BUFFER_PAGES),h=o+d*Pt.ROW_BUFFER_PAGES;return[c,h]})),k(this,"getCachedPendingErrors",I((s,o,d)=>{var c=new Map;return s.forEach((h,v)=>{for(var{data:p}=h,g=0;g<d;g+=1)if(!p.has(g)){var m;c.has(v)||c.set(v,[]),(m=c.get(v))===null||m===void 0||m.push(new wl(v,o[g].name))}}),c})),this.handleTableDisconnect=this.handleTableDisconnect.bind(this),this.handleTableReconnect=this.handleTableReconnect.bind(this),this.handleTableUpdate=this.handleTableUpdate.bind(this),this.handleTotalsUpdate=this.handleTotalsUpdate.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleCustomColumnsChanged=this.handleCustomColumnsChanged.bind(this),this.dh=e,this.irisFormatter=a,this.irisGridUtils=new H(e),this.inputTable=l,this.subscription=null,this.table=t,this.tableUtils=new j(e),this.viewport=null,this.viewportData=null,this.formattedStringData=[],this.pendingStringData=[],this.isSaveInProgress=!1,this.totalsTable=null,this.totalsTablePromise=null,this.totals=null,this.totalsDataMap=null,this.pendingNewDataMap=new Map,this.pendingNewRowCount=0,this.columnHeaderGroups=H.parseColumnHeaderGroups(this,(n=(i=this.layoutHints)===null||i===void 0?void 0:i.columnGroups)!==null&&n!==void 0?n:[]).groups}close(){this.table.close(),this.totalsTable!==null&&this.totalsTable.close(),this.totalsTablePromise!==null&&this.totalsTablePromise.cancel()}startListening(){super.startListening();var{dh:e}=this;this.table.addEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.addEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.addEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.addEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable),this.applyViewport()}stopListening(){super.stopListening();var{dh:e}=this;this.table.removeEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.removeEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.removeEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.removeEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.removeTotalsListeners(this.totalsTable),this.closeSubscription()}addTotalsListeners(e){var{dh:t}=this;e.addEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate),e.setViewport(0,0)}removeTotalsListeners(e){var{dh:t}=this;e.removeEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate)}handleTableDisconnect(){this.dispatchEvent(new G(_.EVENT.DISCONNECT))}handleTableReconnect(){this.dispatchEvent(new G(_.EVENT.RECONNECT))}handleTableUpdate(e){this.copyViewportData(e.detail),this.dispatchEvent(new G(_.EVENT.UPDATED))}handleTotalsUpdate(e){this.copyTotalsData(e.detail),this.dispatchEvent(new G(_.EVENT.UPDATED))}handleRequestFailed(e){this.dispatchEvent(new G(_.EVENT.REQUEST_FAILED,e))}handleCustomColumnsChanged(){this.dispatchEvent(new G(_.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get rowCount(){var e,t,n;return Math.max(this.table.size,0)+this.pendingNewRowCount+((e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0)}get pendingDataErrors(){var e,t;return this.getCachedPendingErrors(this.pendingNewDataMap,this.columns,(e=(t=this.inputTable)===null||t===void 0?void 0:t.keyColumns.length)!==null&&e!==void 0?e:0)}get pendingDataMap(){return this.pendingNewDataMap}set pendingDataMap(e){e!==this.pendingNewDataMap&&(e.forEach((t,n)=>{if(!H.isValidIndex(n))throw new Error("Invalid rowIndex ".concat(n));var{data:i}=t;i.forEach((a,l)=>{if(!H.isValidIndex(l))throw new Error("Invalid columnIndex ".concat(l))})}),this.pendingNewDataMap=e,this.pendingNewRowCount=Math.max(this.pendingNewRowCount,this.maxPendingDataRow),this.formattedStringData=[],this.dispatchEvent(new G(_.EVENT.PENDING_DATA_UPDATED)))}get pendingRowCount(){return this.pendingNewRowCount}set pendingRowCount(e){e!==this.pendingNewRowCount&&(this.pendingNewRowCount=Math.max(0,e,this.maxPendingDataRow),this.dispatchEvent(new G(_.EVENT.UPDATED)))}get maxPendingDataRow(){return this.pendingNewDataMap.size>0?Math.max(...this.pendingNewDataMap.keys())+1:0}get columnCount(){return this.columns.length}get floatingBottomRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop?0:(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get floatingTopRowCount(){var e,t,n;return this.totals!=null&&this.totals.showOnTop&&(e=(t=this.totals)===null||t===void 0||(n=t.operationOrder)===null||n===void 0?void 0:n.length)!==null&&e!==void 0?e:0}get isChartBuilderAvailable(){return!0}get isTotalsAvailable(){return this.table.getTotalsTable!=null}get isEditable(){return!this.isSaveInProgress&&this.inputTable!=null}cacheFormattedValue(e,t,n){this.formattedStringData[e]==null&&(this.formattedStringData[e]=[]),this.formattedStringData[e][t]=n}cachePendingValue(e,t,n){this.pendingStringData[e]==null&&(this.pendingStringData[e]=[]),this.pendingStringData[e][t]=n}clearPendingValue(e,t){var n=this.pendingStringData[e];n!=null&&delete n[t]}textValueForCell(e,t){var n,i;if(((n=this.pendingStringData[e])===null||n===void 0?void 0:n[t])!==void 0)return this.pendingStringData[e][t];if(((i=this.formattedStringData[e])===null||i===void 0?void 0:i[t])===void 0){var a=this.valueForCell(e,t);if(a===null)return null;if(a===void 0)return;var l=this.sourceColumn(e,t),s=this.getCachedCustomColumnFormatFlag(this.formatter,l.name,l.type),o;if(!s){var d=this.formatForCell(e,t);d?.formatString!=null&&(o=d)}var c=this.displayString(a,l.type,l.name,o);this.cacheFormattedValue(e,t,c)}return this.formattedStringData[e][t]}textForCell(e,t){var n,i=this.textValueForCell(e,t);if(i==null&&this.isKeyColumn(e)){var a=this.pendingRow(t);if(a!=null&&this.pendingDataMap.has(a))return"*"}if(j.isTextType((n=this.columns[e])===null||n===void 0?void 0:n.type)){if(i===null)return this.formatter.showNullStrings?"null":"";if(i==="")return this.formatter.showEmptyStrings?"empty":""}return i??""}truncationCharForCell(e){var t=this.columns[e],{type:n}=t;if(j.isNumberType(n)&&this.formatter.truncateNumbersWithPound)return"#"}colorForCell(e,t,n){var i=this.dataForCell(e,t);if(i){var{format:a,value:l}=i;if(l==null||l==="")return M(n.nullStringColor),n.nullStringColor;if(a&&a.color)return a.color;if(this.isPendingRow(t))return M(n.pendingTextColor),n.pendingTextColor;if(l!=null){var s=this.sourceColumn(e,t);if(j.isDateType(s.type)||s.name==="Date")return M(n.dateColor),n.dateColor;if(j.isNumberType(s.type))return l>0?(M(n.positiveNumberColor),n.positiveNumberColor):l<0?(M(n.negativeNumberColor),n.negativeNumberColor):(M(n.zeroNumberColor),n.zeroNumberColor)}}else if(this.isPendingRow(t)&&this.isKeyColumn(e))return M(n.errorTextColor),n.errorTextColor;return n.textColor}backgroundColorForCell(e,t,n){var i,a;return(i=(a=this.formatForCell(e,t))===null||a===void 0?void 0:a.backgroundColor)!==null&&i!==void 0?i:null}textAlignForCell(e){var t=this.columns[e],{type:n}=t;return j.isNumberType(n)?"right":j.isDateType(n)||t.name==="Date"?"center":"left"}textForColumnHeader(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=this.columnAtDepth(e,n);return an(i)?i.isNew?"":i.name:(t=i?.displayName)!==null&&t!==void 0?t:i?.name}colorForColumnHeader(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=this.columnAtDepth(e,t);if(an(n)){var i;return(i=n.color)!==null&&i!==void 0?i:null}return null}getColumnHeaderGroup(e,t){var n=this.columnAtDepth(e,t);if(an(n))return n}getColumnHeaderParentGroup(e,t){var n,i;return this.columnHeaderParentMap.get((n=(i=this.columnAtDepth(e,t))===null||i===void 0?void 0:i.name)!==null&&n!==void 0?n:"")}columnAtDepth(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(n===0)return this.columns[e];var i=(t=this.columns[e])===null||t===void 0?void 0:t.name,a=this.columnHeaderParentMap.get(i);if(a){for(var l=a.depth;l<n;){if(a=this.columnHeaderParentMap.get(a.name),!a)return;l=a.depth}if(a.depth===n)return a}}textForRowFooter(e){var t=this.totalsRow(e);return t!=null&&this.totals?this.totals.operationOrder[t]:""}get initialMovedColumns(){var e;return this.getMemoizedInitialMovedColumns((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get initialColumnHeaderGroups(){var e;return this.getMemoizedInitialColumnHeaderGroups((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get columnMap(){return this.getMemoizedColumnMap(this.table.columns)}get columnHeaderMaxDepth(){var e;return(e=this._columnHeaderMaxDepth)!==null&&e!==void 0?e:1}set columnHeaderMaxDepth(e){this._columnHeaderMaxDepth=e}get columnHeaderGroupMap(){return this._columnHeaderGroupMap}get columnHeaderGroups(){return this._columnHeaderGroups}set columnHeaderGroups(e){if(e!==this._columnHeaderGroups){var{groups:t,maxDepth:n,parentMap:i,groupMap:a}=H.parseColumnHeaderGroups(this,e??this.initialColumnHeaderGroups);this._columnHeaderGroups=t,this.columnHeaderMaxDepth=n,this.columnHeaderParentMap=i,this._columnHeaderGroupMap=a}}row(e){var t,n,i,a,l,s,o,d,c,h,v=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,p=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,g=this.totalsRow(e);if(g!=null){var m,f,C,E=(m=this.totals)===null||m===void 0?void 0:m.operationOrder[g];return M(E),(f=(C=this.totalsDataMap)===null||C===void 0?void 0:C.get(E))!==null&&f!==void 0?f:null}var b=this.pendingRow(e);if(b!=null){var w;return(w=this.pendingNewDataMap.get(b))!==null&&w!==void 0?w:null}var S=(s=(o=this.viewportData)===null||o===void 0?void 0:o.offset)!==null&&s!==void 0?s:0,y=(p?e-v:e)-S;return(d=(c=this.viewportData)===null||c===void 0||(h=c.rows)===null||h===void 0?void 0:h[y])!==null&&d!==void 0?d:null}sourceColumn(e,t){var n=this.totalsRow(t);if(n!=null){var i,a,l,s,o=(i=this.totals)===null||i===void 0?void 0:i.operationOrder[n],d=(a=(l=this.totals)===null||l===void 0?void 0:l.defaultOperation)!==null&&a!==void 0?a:Hn.SUM,c=this.columns[e],h=(s=this.totalsTable)===null||s===void 0?void 0:s.columns.find(v=>{var p;return v.name==="".concat(c.name,"__").concat(o)||(o===d||((p=this.totals)===null||p===void 0?void 0:p.operationOrder.length)===1)&&v.name===c.name});if(h!=null)return h}return this.columns[e]}totalsRow(e){var t,n,i,a,l,s=(t=(n=this.totals)===null||n===void 0||(i=n.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,o=(a=(l=this.totals)===null||l===void 0?void 0:l.showOnTop)!==null&&a!==void 0?a:!1,d=o?e:e-this.table.size;return d>=0&&d<s?d:null}pendingRow(e){var t=e-this.floatingTopRowCount-this.table.size;return t>=0&&t<this.pendingNewRowCount?t:null}isTotalsRow(e){return this.totalsRow(e)!=null}isPendingRow(e){return this.pendingRow(e)!=null}dataForCell(e,t){var n;return(n=this.row(t))===null||n===void 0?void 0:n.data.get(e)}formatForCell(e,t){var n;return(n=this.dataForCell(e,t))===null||n===void 0?void 0:n.format}valueForCell(e,t){var n=this.dataForCell(e,t);if(n){var i;return(i=n.value)!==null&&i!==void 0?i:null}}copyViewportData(e){if(e==null){B.warn("invalid data!");return}this.viewportData=this.extractViewportData(e),this.formattedStringData=[]}copyTotalsData(e){var t,n,i,a=this;if(e==null){B.warn("invalid data!");return}var{columns:l,rows:s}=e;if(s.length!==1){B.error("Unexpected number of rows received for totals table, ignoring update");return}for(var o=new Map,d=s[0],c=(t=(n=this.totals)===null||n===void 0?void 0:n.defaultOperation)!==null&&t!==void 0?t:Hn.SUM,h=(i=this.totals)===null||i===void 0?void 0:i.operationMap,v=function(){var m,f,C=l[p],[E,b=(m=h==null||(f=h[E])===null||f===void 0?void 0:f[0])!==null&&m!==void 0?m:c]=C.name.split("__");o.has(b)||o.set(b,{data:new Map});var{data:w}=o.get(b),S=a.columns.findIndex(y=>y.name===E);w.set(S,{value:d.get(C),format:d.getFormat(C)})},p=0;p<l.length;p+=1)v();B.debug2("copyTotalsData",o),this.totalsDataMap=o,this.formattedStringData=[]}getColumnIndexByName(e){return this.getColumnIndicesByNameMap(this.columns).get(e)}extractViewportData(e){for(var t={offset:e.offset,rows:[]},{columns:n}=e,i=0;i<e.rows.length;i+=1){var a=e.rows[i],l=this.extractViewportRow(a,n);t.rows.push(l)}return t}extractViewportRow(e,t){for(var n=new Map,i=0;i<t.length;i+=1){var a=t[i],l=this.getColumnIndexByName(a.name);M(l),n.set(l,{value:e.get(a),format:e.getFormat(a)})}return{data:n}}closeSubscription(){B.debug2("closeSubscription",this.subscription),this.subscription&&(this.subscription.close(),this.subscription=null),this.setViewport.cancel(),this.applyViewport.cancel()}get filter(){return this.table.filter}set filter(e){this.closeSubscription(),this.table.applyFilter(e),this.applyViewport()}get formatter(){return this.irisFormatter}set formatter(e){this.irisFormatter=e,this.formattedStringData=[],this.dispatchEvent(new G(_.EVENT.FORMATTER_UPDATED))}displayString(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",i=arguments.length>3?arguments[3]:void 0;return this.getCachedFormattedString(this.formatter,e,t,n,i)}get sort(){return this.table.sort}set sort(e){this.closeSubscription(),this.table.applySort(e),this.applyViewport()}set totalsConfig(e){if(B.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 G(_.EVENT.UPDATED));return}this.totalsTablePromise=Fe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Fe.isCanceled(t)||(B.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new G(_.EVENT.REQUEST_FAILED,{detail:t})))})}}setTotalsTable(e){B.debug("setTotalsTable",e),this.totalsTable!==null&&(this.listenerCount>0&&this.removeTotalsListeners(this.totalsTable),this.totalsTable.close()),this.totalsTable=e,this.totalsDataMap=null,this.listenerCount>0&&this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable)}applyBufferedViewport(e,t,n){B.debug2("applyBufferedViewport",e,t,n),this.subscription==null?(B.debug2("applyBufferedViewport creating new subscription"),this.subscription=this.table.setViewport(e,t,n)):(B.debug2("applyBufferedViewport using existing subscription"),this.subscription.setViewport(e,t,n))}snapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:P=>P,l=t.length>3&&t[3]!==void 0?t[3]:!0;if(n.subscription==null)throw new Error("No subscription available");var s=l?U.consolidate(e):e;if(!H.isValidSnapshotRanges(s))throw new Error("Invalid snapshot ranges ".concat(e));for(var o=new Set,d=[],c=new Set,h=0;h<s.length;h+=1){var v=s[h];M(v.endRow),M(v.startRow);for(var p=v.startRow;p<=v.endRow&&p<n.floatingTopRowCount;p+=1)o.add(p);v.endRow>=n.floatingTopRowCount&&v.startRow<=n.floatingTopRowCount+n.table.size&&d.push(new U(v.startColumn,Math.min(Math.max(0,v.startRow-n.floatingTopRowCount)),v.endColumn,Math.min(Math.max(0,v.endRow-n.floatingTopRowCount),n.table.size-n.floatingTopRowCount)));for(var g=Math.max(v.startRow,n.floatingTopRowCount+n.table.size);g<=v.endRow&&g<n.floatingTopRowCount+n.table.size+n.floatingBottomRowCount;g+=1)c.add(g)}var m=H.columnsFromRanges(s,n.columns),f=[];i&&f.push(m.map(P=>P.name));for(var C=[...o].sort(),E=function*(){var N=C[b],x=m.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&x.push(n.textForRowFooter(N)),f.push(x)},b=0;b<C.length;b+=1)yield*E();if(d.length>0){var w=n.irisGridUtils.rangeSetFromRanges(d),S=yield n.subscription.snapshot(w,m);f.push(...S.rows.map(P=>m.map(N=>a(P.get(N),N))))}for(var y=[...c].sort(),D=function*(){var N=y[T],x=m.map(A=>{var V=n.getColumnIndexByName(A.name);return M(V),a(n.valueForCell(V,N),A)});i&&x.push(n.textForRowFooter(N)),f.push(x)},T=0;T<y.length;T+=1)yield*D();return f})()}textSnapshot(e){var t=arguments,n=this;return je(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:s=>"".concat(s);B.debug2("textSnapshot",e,i);var l=yield n.snapshot(e,i,a,!1);return l.map(s=>s.join(" ")).join(`
2
+ `)})()}valuesTable(e){var t=this;return je(function*(){var n=null;try{return n=yield t.table.copy(),n.applyFilter([]),n.applySort([]),n.selectDistinct(Array.isArray(e)?e:[e])}finally{n?.close()}})()}isColumnMovable(e,t){if(e<0||e>=this.columnCount)return!1;if(t>0)return!0;var n=this.columns[e].name;return this.frontColumns.includes(n)||this.backColumns.includes(n)||this.frozenColumns.includes(n)||!n?!1:!this.isKeyColumn(e)}isColumnSortable(e){var t;return(t=this.columns[e].isSortable)!==null&&t!==void 0?t:!0}isKeyColumn(e){var t,n;return e<((t=(n=this.inputTable)===null||n===void 0?void 0:n.keyColumns.length)!==null&&t!==void 0?t:0)}isRowMovable(){return!1}isEditableRange(e){if(this.inputTable==null||!U.isBounded(e))return!1;var t=this.isPendingRow(e.startRow)&&this.isPendingRow(e.endRow);return!(!(t||this.inputTable.keyColumns.length!==0&&e.startColumn>=this.inputTable.keyColumns.length&&e.endColumn>=this.inputTable.keyColumns.length)||e.startRow<this.floatingTopRowCount||e.startRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount||e.endRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount)}isDeletableRange(e){return this.inputTable!=null&&e.startRow!=null&&e.endRow!=null&&e.startRow>=this.floatingTopRowCount&&e.startRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount&&e.endRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount}isEditableRanges(e){return e.every(t=>this.isEditableRange(t))}isDeletableRanges(e){return e.every(t=>this.isDeletableRange(t))}getTableAreaRange(){return new U(null,this.floatingTopRowCount,null,this.floatingTopRowCount+this.table.size-1)}getPendingAreaRange(){return new U(null,this.floatingTopRowCount+this.table.size,null,this.floatingTopRowCount+this.table.size+this.pendingNewRowCount-1)}setValueForCell(e,t,n){var i=this;return je(function*(){return i.setValueForRanges([new U(e,t,e,t)],n)})()}setValueForRanges(e,t){var n=this;return je(function*(){if(!n.isEditableRanges(e))throw new Error("Uneditable ranges ".concat(e));try{var i=new Set,a=[];U.forEachCell(e,(m,f)=>{var C=n.columns[m];if(i.add(C),a[m]===void 0){var E=n.tableUtils.makeValue(C.type,t,n.formatter.timeZone);a[m]=E!=null?n.displayString(E,C.type,C.name):null}n.cachePendingValue(m,f,a[m])});var l=n.getPendingAreaRange(),s=e.map(m=>U.intersection(l,m)).filter(m=>m!=null).map(m=>(M(m),U.offset(m,0,-(n.floatingTopRowCount+n.table.size))));if(s.length>0){var o=new Map(n.pendingNewDataMap);U.forEachCell(s,(m,f)=>{o.has(f)||o.set(f,{data:new Map});var C=n.columns[m],E=o.get(f);M(E);var{data:b}=E,w=new Map(b),S=n.tableUtils.makeValue(C.type,t,n.formatter.timeZone);S!=null?w.set(m,{value:S}):w.delete(m),w.size>0?o.set(f,It(It({},E),{},{data:w})):o.delete(f)}),n.pendingDataMap=o}n.dispatchEvent(new G(_.EVENT.UPDATED));var d=n.getTableAreaRange(),c=e.map(m=>U.intersection(d,m)).filter(m=>m!=null);if(c.length>0){var h,v=yield n.snapshot(c.map(m=>{var f,C;return new U(null,(f=m?.startRow)!==null&&f!==void 0?f:null,null,(C=m?.endRow)!==null&&C!==void 0?C:null)})),p=v.map(m=>{for(var f={},C=0;C<n.columns.length;C+=1)f[n.columns[C].name]=m[C];return i.forEach(E=>{f[E.name]=n.tableUtils.makeValue(E.type,t,n.formatter.timeZone)}),f}),g=yield(h=n.inputTable)===null||h===void 0?void 0:h.addRows(p);B.debug("setValueForRanges(",e,",",t,") set tableRanges",c,"result",g)}U.forEachCell(e,(m,f)=>{var C=a[m];M(C),n.cacheFormattedValue(m,f,C)})}catch(m){B.error("Unable to set ranges",e,t,m)}finally{U.forEachCell(e,(m,f)=>{n.clearPendingValue(m,f)})}})()}setValues(){var e=arguments,t=this;return je(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:[];if(B.debug("setValues(",n,")"),!n.every(p=>{var g,m;return t.isEditableRange(U.makeCell((g=p.column)!==null&&g!==void 0?g:p.x,(m=p.row)!==null&&m!==void 0?m:p.y))}))throw new Error("Uneditable ranges ".concat(n));try{var i=new Map(t.pendingNewDataMap);n.forEach(p=>{var g,m,{text:f}=p,C=(g=p.column)!==null&&g!==void 0?g:p.x,E=(m=p.row)!==null&&m!==void 0?m:p.y,b=t.columns[C],w=t.tableUtils.makeValue(b.type,f,t.formatter.timeZone),S=w!=null?t.displayString(w,b.type,b.name):null;t.cachePendingValue(C,E,S);var y=t.pendingRow(E);if(y!=null){i.has(y)||i.set(y,{data:new Map});var D=i.get(y);M(D);var{data:T}=D,P=new Map(T);w!=null?P.set(C,{value:w}):P.delete(C),P.size>0?i.set(y,It(It({},D),{},{data:P})):i.delete(y)}}),t.pendingDataMap=i,t.dispatchEvent(new G(_.EVENT.UPDATED));var a=n.reduce((p,g)=>{var m,f,C=(m=g.row)!==null&&m!==void 0?m:g.y;return p.has(C)||p.set(C,[]),(f=p.get(C))===null||f===void 0||f.push(g),p},new Map),l=U.consolidate(n.map(p=>{var g,m;return U.makeCell((g=p.column)!==null&&g!==void 0?g:p.x,(m=p.row)!==null&&m!==void 0?m:p.y)})),s=t.getTableAreaRange(),o=l.map(p=>U.intersection(s,p)).filter(p=>p!=null);if(o.length>0){var d,c=yield t.snapshot(o.map(p=>(M(p),new U(null,p.startRow,null,p.endRow)))),h=c.map((p,g)=>{for(var m=null,f=g,C=0;C<o.length;C+=1){var E=o[C];M(E);var b=U.rowCount([E]);if(f<b){M(E.startRow),m=E.startRow+f;break}f-=b}for(var w={},S=0;S<t.columns.length;S+=1)w[t.columns[S].name]=p[S];M(m);var y=a.get(m);return y?.forEach(D=>{var T,P=t.columns[(T=D.column)!==null&&T!==void 0?T:D.x];w[P.name]=t.tableUtils.makeValue(P.type,D.text,t.formatter.timeZone)}),w});B.info("setValues setting tableRanges",o);var v=yield(d=t.inputTable)===null||d===void 0?void 0:d.addRows(h);B.info("setValues set tableRanges",o,"SUCCESS",v)}n.forEach(p=>{var g,m,{text:f}=p,C=(g=p.column)!==null&&g!==void 0?g:p.x,E=(m=p.row)!==null&&m!==void 0?m:p.y,b=t.columns[C],w=t.tableUtils.makeValue(b.type,f,t.formatter.timeZone),S=w!=null?t.displayString(w,b.type,b.name):null;t.cacheFormattedValue(C,E,S)})}finally{n.forEach(p=>{t.clearPendingValue(p.column,p.row)})}})()}commitPending(){var e=this;return je(function*(){if(e.pendingNewDataMap.size<=0)throw new Error("No pending changes to commit");try{var t,n,i;e.isSaveInProgress=!0;var a=[];e.pendingNewDataMap.forEach(s=>{var o={};s.data.forEach((d,c)=>{var{value:h}=d,v=e.columns[c];o[v.name]=h}),a.push(o)});var l=yield(t=e.inputTable)===null||t===void 0?void 0:t.addRows(a);B.debug("commitPending()",e.pendingNewDataMap,"result",l),e.pendingNewDataMap=new Map,e.pendingNewRowCount=Math.max(0,((n=(i=e.viewport)===null||i===void 0?void 0:i.bottom)!==null&&n!==void 0?n:0)-e.table.size),e.formattedStringData=[],e.dispatchEvent(new G(_.EVENT.PENDING_DATA_UPDATED))}finally{e.isSaveInProgress=!1}})()}editValueForCell(e,t){return this.textValueForCell(e,t)}delete(e){return je(function*(){throw new Error("Delete not implemented")})()}isValidForCell(e,t,n){try{var i=this.columns[e];return this.tableUtils.makeValue(i.type,n,this.formatter.timeZone),!0}catch{return!1}}}k(Pt,"ROW_BUFFER_PAGES",1);const vi=Pt;function er(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Je(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){er(a,n,i,l,s,"next",o)}function s(o){er(a,n,i,l,s,"throw",o)}l(void 0)})}}function Le(r,e,t){return e=Fl(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Fl(r){var e=Dl(r,"string");return typeof e=="symbol"?e:String(e)}function Dl(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 Oe=q.module("IrisGridTableModel");class Ml extends vi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),Le(this,"userFrozenColumns",void 0),Le(this,"customColumnList",void 0),Le(this,"formatColumnList",void 0),Le(this,"initialFilters",[]),Le(this,"getMemoizedFrontColumns",I(a=>a??[])),Le(this,"getMemoizedBackColumns",I(a=>a??[])),Le(this,"getMemoizedFrozenColumns",I((a,l)=>{var s;return(s=l??a)!==null&&s!==void 0?s:[]})),Le(this,"getCachedFilterableColumnSet",I(a=>new Set(a.map((l,s)=>s)))),Le(this,"getCachedPartitionColumns",I(a=>a.filter(l=>l.isPartitionColumn))),this.customColumnList=[],this.formatColumnList=[],this.initialFilters=t.filter}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isValuesTableAvailable(){return this.table.selectDistinct!=null&&this.table.copy!=null}get isRollupAvailable(){return this.table.rollup!=null}get isSelectDistinctAvailable(){return this.table.selectDistinct!=null}get isCustomColumnsAvailable(){return this.table.applyCustomColumns!=null}get isFormatColumnsAvailable(){return this.table.applyCustomColumns!=null}get frontColumns(){var e;return this.getMemoizedFrontColumns((e=this.layoutHints)===null||e===void 0?void 0:e.frontColumns)}get backColumns(){var e;return this.getMemoizedBackColumns((e=this.layoutHints)===null||e===void 0?void 0:e.backColumns)}get frozenColumns(){var e;return this.getMemoizedFrozenColumns((e=this.layoutHints)===null||e===void 0?void 0:e.frozenColumns,this.userFrozenColumns)}get layoutHints(){return this.table.layoutHints}get floatingLeftColumnCount(){return this.frozenColumns.length}get description(){return this.table.description}get customColumns(){return this.customColumnList}set customColumns(e){if(Oe.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){Oe.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){Oe.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(Oe.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){Oe.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){Oe.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 G(_.EVENT.TABLE_CHANGED,{detail:this.table}))}get partitionColumns(){return this.getCachedPartitionColumns(this.columns)}partitionKeysTable(){var e=this;return Je(function*(){return e.valuesTable(e.partitionColumns)})()}partitionMergedTable(){var e=this;return Je(function*(){var t=yield e.table.copy();return t.applyFilter([]),t})()}partitionTable(e){var t=this;return Je(function*(){Oe.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.makeFilterRawValue(l.type,a);n.push(l.filter().eq(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(Oe.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 G(_.EVENT.UPDATED));return}this.totalsTablePromise=Fe.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Fe.isCanceled(t)||(Oe.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new G(_.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}get isPartitionRequired(){return this.table.isUncoalesced&&this.isValuesTableAvailable&&this.partitionColumns.length>0}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Je(function*(){return e.table.freeze()})()}columnStatistics(e){return this.table.getColumnStatistics(e)}isColumnMovable(e){var t=this.columns[e].name;return this.frontColumns.includes(t)||this.backColumns.includes(t)||this.frozenColumns.includes(t)?!1:!this.isKeyColumn(e)}isColumnFrozen(e){return this.frozenColumns.includes(this.columns[e].name)}delete(e){var t=()=>super.pendingDataMap,n=a=>super.pendingDataMap=a,i=this;return Je(function*(){var a;if(!i.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));M(i.inputTable);var{keyColumns:l}=i.inputTable;if(l.length===0)throw new Error("No key columns to allow deletion");var s=i.getPendingAreaRange(),o=e.map(b=>U.intersection(s,b)).filter(b=>b!=null).map(b=>(M(b),U.offset(b,0,-(i.floatingTopRowCount+i.table.size))));if(o.length>0){for(var d=new Map(t()),c=0;c<o.length;c+=1){var h=o[c];M(h.startRow),M(h.endRow);for(var v=h.startRow;v<=h.endRow;v+=1)d.delete(v)}n(d),i.formattedStringData=[],i.dispatchEvent(new G(_.EVENT.PENDING_DATA_UPDATED)),i.dispatchEvent(new G(_.EVENT.UPDATED))}var p=i.getTableAreaRange(),g=e.map(b=>U.intersection(p,b)).filter(b=>b!=null);if(!(g.length<=0)){var[m,f]=yield Promise.all([i.snapshot(g.map(b=>(M(b),l.map(w=>{var S=i.getColumnIndexByName(w.name);if(S==null)throw new Error("Key column ".concat(w.name," not found"));return new U(S,b.startRow,S,b.endRow)}))).flat()),i.table.copy()]),C=m.map(b=>{for(var w=[],S=0;S<l.length;S+=1){var y=l[S],D=b[S],T=i.tableUtils.makeFilterRawValue(y.type,D),P=y.filter().eq(T);w.push(P)}return w.reduce((N,x)=>{var A;return(A=N?.and(x))!==null&&A!==void 0?A:x})}),E=C.reduce((b,w)=>{var S;return(S=b?.or(w))!==null&&S!==void 0?S:w});f.applyFilter([E]),yield(a=i.inputTable)===null||a===void 0?void 0:a.deleteTable(f),f.close()}})()}seekRow(e,t,n,i,a,l,s){var o=this;return Je(function*(){return o.table.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const fi=Ml;function Nl(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 Rl extends _{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new ke(e);super(e),Nl(this,"modelFormatter",void 0),this.modelFormatter=t}get rowCount(){return 0}get columnCount(){return 0}textForCell(e,t){return""}textForColumnHeader(e,t){}get columns(){return se}getColumnIndexByName(e){}get initialMovedColumns(){return se}get initialMovedRows(){return se}get initialColumnHeaderGroups(){return se}get groupedColumns(){return se}formatForCell(e,t){}valueForCell(e,t){}get filter(){return se}set filter(e){}get partition(){return se}set partition(e){}get partitionColumns(){return se}get formatter(){return this.modelFormatter}set formatter(e){this.modelFormatter=e}displayString(e,t,n){return""}get sort(){return se}set sort(e){}get customColumns(){return se}set customColumns(e){}get formatColumns(){return se}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 se}set selectDistinctColumns(e){}get pendingDataMap(){return rn}set pendingDataMap(e){}get pendingRowCount(){return 0}set pendingRowCount(e){}get pendingDataErrors(){return rn}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 se}set columnHeaderGroups(e){}get columnHeaderGroupMap(){return rn}getColumnHeaderParentGroup(e,t){}}const Il=Rl;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 on(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 kl(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=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 Al extends Il{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e);super(e,n),kl(this,"partitionedTable",void 0),this.partitionedTable=t}get isPartitionRequired(){return!0}get isReversible(){return!1}displayString(e,t,n){return""}close(){this.partitionedTable.close()}get columns(){return this.partitionedTable.columns}get partitionColumns(){return this.partitionedTable.keyColumns}partitionKeysTable(){var e=this;return on(function*(){return e.partitionedTable.getKeyTable()})()}partitionMergedTable(){var e=this;return on(function*(){return e.partitionedTable.getMergedTable()})()}partitionTable(e){var t=this;return on(function*(){try{var n=yield t.partitionedTable.getTable(e);if(n==null)throw new Bn("Partition not found");return n}catch(i){throw dl(i)?i:new Bn("Unable to retrieve partition")}})()}}const jl=Al;function nr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function Vl(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){nr(a,n,i,l,s,"next",o)}function s(o){nr(a,n,i,l,s,"throw",o)}l(void 0)})}}function rr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function ir(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rr(Object(t),!0).forEach(function(n){tt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):rr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function tt(r,e,t){return e=$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 Gl=q.module("IrisGridTreeTableModel");class Hl extends vi{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,n,i),tt(this,"virtualColumns",void 0),tt(this,"getCachedColumns",I((a,l)=>[...a,...l])),tt(this,"getCachedGroupColumns",I((a,l)=>[...a,...l])),tt(this,"getCachedFilterableColumnSet",I((a,l,s)=>new Set((l?.length>0?l:a).filter(o=>!s.includes(o)).map(o=>a.findIndex(d=>o.name===d.name))))),tt(this,"getCachedGroupedColumnSet",I(a=>new Set(a.map(l=>this.columns.findIndex(s=>l.name===s.name))))),this.virtualColumns=[{name:"__DH_UI_GROUP__",displayName:"Group",type:j.dataType.STRING,constituentType:j.dataType.STRING,isPartitionColumn:!1,isSortable:!1,isProxy:!0,description:"Key column",filter:()=>{throw new Error("Filter not implemented for virtual column")},sort:()=>{throw new Error("Sort not implemented virtual column")},formatColor:()=>{throw new Error("Color not implemented for virtual column")},formatRowColor:()=>{throw new Error("Color 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),c=s.get(d);c==null?Gl.warn("Missing key data for virtual column",o,a,d,e):s.set(o,c)}return ir(ir({},l),{},{data:s,isExpanded:n,hasChildren:i,depth:a})}snapshot(e,t,n){var i=this;return Vl(function*(){var a,l;M(i.viewport),M(i.viewportData);var s=(a=i.viewport.columns)!==null&&a!==void 0?a:i.columns,o=[];t!=null&&t&&o.push(s.map(C=>C.name));for(var d=new U(0,(l=i.viewportData)===null||l===void 0?void 0:l.offset,s.length,i.viewportData.offset+i.viewportData.rows.length),c=0;c<e.length;c+=1){var h=U.intersection(d,e[c]);M(h),M(h.startRow),M(h.endRow);for(var v=h.startRow;v<=h.endRow;v+=1){var p=[],g=i.viewportData.rows[v-i.viewportData.offset];M(h.startColumn),M(h.endColumn);for(var m=h.startColumn;m<=h.endColumn;m+=1){var f;M(n),p.push(n((f=g.data.get(m))===null||f===void 0?void 0:f.value,i.columns[m]))}o.push(p)}}return o})()}get columns(){return this.getCachedColumns(this.virtualColumns,super.columns)}get groupedColumns(){return this.getCachedGroupColumns(this.virtualColumns,this.table.groupedColumns)}sourceForCell(e,t){if(e>=this.virtualColumns.length)return{column:e,row:t};var n=this.depthForRow(t);return{column:e+n,row:t}}sourceColumn(e,t){if(e>=this.virtualColumns.length)return super.sourceColumn(e,t);var n=this.depthForRow(t);return this.columns[e+n]}getClearFilterRange(e){return e>=this.virtualColumns.length?super.getClearFilterRange(e):[this.virtualColumns.length,this.groupedColumns.length]}get hasExpandableRows(){return!0}get isExpandAllAvailable(){return this.table.expandAll!==void 0}get isChartBuilderAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isReversible(){return!1}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns,this.groupedColumns,this.virtualColumns).has(e)}isColumnMovable(e){return e>=this.groupedColumns.length}isRowExpandable(e){var t,n=this.row(e);return(t=n?.hasChildren)!==null&&t!==void 0?t:!1}isRowExpanded(e){var t,n=this.row(e);return(t=n?.isExpanded)!==null&&t!==void 0?t:!1}setRowExpanded(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.isExpandAllAvailable?this.table.setExpanded(e,t,n):this.table.setExpanded(e,t)}expandAll(){this.table.expandAll&&this.table.expandAll()}collapseAll(){this.table.collapseAll&&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 ar(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function zl(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){ar(a,n,i,l,s,"next",o)}function s(o){ar(a,n,i,l,s,"throw",o)}l(void 0)})}}function L(r,e,t){return e=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=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 Re=q.module("IrisGridProxyModel");function et(r,e,t,n){return j.isTreeTable(e)?new Bl(r,e,t):j.isPartitionedTable(e)?new jl(r,e,t):new fi(r,e,t,n)}class ql extends _{constructor(e,t){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new ke(e),a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),n=this,L(this,"dh",void 0),L(this,"originalModel",void 0),L(this,"model",void 0),L(this,"modelPromise",void 0),L(this,"rollup",void 0),L(this,"partition",void 0),L(this,"selectDistinct",void 0),L(this,"currentViewport",void 0),L(this,"textForCell",function(){return n.model.textForCell(...arguments)}),L(this,"truncationCharForCell",function(){return n.model.truncationCharForCell(...arguments)}),L(this,"textAlignForCell",function(){return n.model.textAlignForCell(...arguments)}),L(this,"colorForCell",function(){return n.model.colorForCell(...arguments)}),L(this,"backgroundColorForCell",function(){return n.model.backgroundColorForCell(...arguments)}),L(this,"textForColumnHeader",function(){return n.model.textForColumnHeader(...arguments)}),L(this,"colorForColumnHeader",function(){return n.model.colorForColumnHeader(...arguments)}),L(this,"textForRowHeader",function(){return n.model.textForRowHeader(...arguments)}),L(this,"textForRowFooter",function(){return n.model.textForRowFooter(...arguments)}),L(this,"isRowMovable",function(){return n.model.isRowMovable(...arguments)}),L(this,"isColumnMovable",function(){return n.model.isColumnMovable(...arguments)}),L(this,"isRowExpandable",function(){return Ae(n.model)?n.model.isRowExpandable(...arguments):!1}),L(this,"isRowExpanded",function(){return Ae(n.model)?n.model.isRowExpanded(...arguments):!1}),L(this,"setRowExpanded",function(){if(Ae(n.model))return n.model.setRowExpanded(...arguments);throw Error("Function setRowExpanded does not exist on IrisGridTableModel")}),L(this,"expandAll",()=>{if(Ae(this.model))return this.model.expandAll();throw Error("Function expandAll does not exist on IrisGridTableModel")}),L(this,"collapseAll",()=>{if(Ae(this.model))return this.model.collapseAll();throw Error("Function collapseAll does not exist on IrisGridTableModel")}),L(this,"depthForRow",function(){return Ae(n.model)?n.model.depthForRow(...arguments):0}),L(this,"getColumnHeaderGroup",function(){return n.model.getColumnHeaderGroup(...arguments)}),L(this,"getColumnHeaderParentGroup",function(){return n.model.getColumnHeaderParentGroup(...arguments)}),L(this,"sourceForCell",function(){return n.model.sourceForCell(...arguments)}),L(this,"getClearFilterRange",function(){return n.model.getClearFilterRange(...arguments)}),L(this,"formatForCell",function(){return n.model.formatForCell(...arguments)}),L(this,"valueForCell",function(){return n.model.valueForCell(...arguments)}),L(this,"renderTypeForCell",function(){return n.model.renderTypeForCell(...arguments)}),L(this,"dataBarOptionsForCell",function(){return n.model.dataBarOptionsForCell(...arguments)}),L(this,"displayString",function(){return n.model.displayString(...arguments)}),L(this,"isEditableRange",function(){return Ke(n.model)?n.model.isEditableRange(...arguments):!1}),L(this,"isFilterable",function(){return n.model.isFilterable(...arguments)}),L(this,"setViewport",(s,o,d)=>{this.currentViewport={top:s,bottom:o,columns:d},this.model.setViewport(s,o,d)}),L(this,"snapshot",function(){return n.model.snapshot(...arguments)}),L(this,"textSnapshot",function(){return n.model.textSnapshot(...arguments)}),L(this,"valuesTable",function(){return n.model.valuesTable(...arguments)}),L(this,"editValueForCell",function(){return Ke(n.model)?n.model.editValueForCell(...arguments):""}),L(this,"setValueForCell",function(){return Ke(n.model)?n.model.setValueForCell(...arguments):Promise.reject(new Error("Model is not editable"))}),L(this,"setValueForRanges",function(){return Ke(n.model)?n.model.setValueForRanges(...arguments):Promise.reject(new Error("Model is not editable"))}),L(this,"setValues",function(){return Ke(n.model)?n.model.setValues(...arguments):Promise.resolve()}),L(this,"isValidForCell",function(){return Ke(n.model)?n.model.isValidForCell(...arguments):!1}),L(this,"delete",function(){return n.model.delete(...arguments)}),L(this,"commitPending",function(){return n.model.commitPending(...arguments)}),this.handleModelEvent=this.handleModelEvent.bind(this);var l=et(e,t,i,a);this.dh=e,this.originalModel=l,this.model=l,this.modelPromise=null,this.rollup=null,this.partition=null,this.selectDistinct=[]}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){Re.debug2("handleModelEvent",e);var{detail:t,type:n}=e;this.dispatchEvent(new G(n,{detail:t}))}setModel(e){Re.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 G(_.EVENT.COLUMNS_CHANGED,{detail:e.columns}));else if(this.currentViewport!=null){var{top:i,bottom:a,columns:l}=this.currentViewport;e.setViewport(i,a,l)}qe(e)&&this.dispatchEvent(new G(_.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Re.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Fe.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Fe.isCanceled(t)){Re.debug2("setNextModel cancelled");return}Re.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new G(_.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(_.EVENT),n=0;n<t.length;n+=1)e.addEventListener(t[n],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(_.EVENT),n=0;n<t.length;n+=1)e.removeEventListener(t[n],this.handleModelEvent)}get rowCount(){return this.model.rowCount}get columnCount(){return this.model.columnCount}get floatingTopRowCount(){return this.model.floatingTopRowCount}get floatingBottomRowCount(){return this.model.floatingBottomRowCount}get floatingLeftColumnCount(){return this.model.floatingLeftColumnCount}get floatingRightColumnCount(){return this.model.floatingRightColumnCount}isColumnFrozen(e){return this.model.isColumnFrozen(e)}isColumnSortable(e){return this.model.isColumnSortable(e)}get hasExpandableRows(){return Ae(this.model)?this.model.hasExpandableRows:!1}get isExpandAllAvailable(){if(Ae(this.model)){var e;return(e=this.model.isExpandAllAvailable)!==null&&e!==void 0?e:!1}return!1}get isExportAvailable(){return this.model.isExportAvailable}get isColumnStatisticsAvailable(){return this.model.isColumnStatisticsAvailable}get isValuesTableAvailable(){return this.model.isValuesTableAvailable}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isFormatColumnsAvailable(){return this.model.isFormatColumnsAvailable}get isChartBuilderAvailable(){return this.model.isChartBuilderAvailable}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get isTotalsAvailable(){return this.model.isTotalsAvailable}get isReversible(){return this.model.isReversible}get columns(){return this.model.columns}get initialMovedColumns(){return this.model.initialMovedColumns}get initialMovedRows(){return this.model.initialMovedRows}get layoutHints(){return this.model.layoutHints}get frontColumns(){return this.model.frontColumns}get backColumns(){return this.model.backColumns}get frozenColumns(){return this.model.frozenColumns}get columnHeaderGroups(){return this.model.columnHeaderGroups}set columnHeaderGroups(e){this.model.columnHeaderGroups=e}get initialColumnHeaderGroups(){return this.model.initialColumnHeaderGroups}get columnHeaderGroupMap(){return this.model.columnHeaderGroupMap}get columnHeaderMaxDepth(){return this.model.columnHeaderMaxDepth}updateFrozenColumns(e){return this.model.updateFrozenColumns(e)}get originalColumns(){return this.originalModel.columns}get groupedColumns(){return this.model.groupedColumns}get partitionColumns(){return ze(this.originalModel)?this.originalModel.partitionColumns:[]}get description(){return this.model.description}get filter(){return this.model.filter}set filter(e){this.model.filter=e}get partitionConfig(){return!ze(this.originalModel)||!this.originalModel.isPartitionRequired?null:this.partition}set partitionConfig(e){if(!this.isPartitionRequired)throw new Error("Partitions are not available");Re.debug("set partitionConfig",e),this.partition=e;var t=Promise.resolve(this.originalModel);e!=null&&ze(this.originalModel)&&(e.mode==="keys"?t=this.originalModel.partitionKeysTable().then(n=>et(this.dh,n,this.formatter)):e.mode==="merged"?t=this.originalModel.partitionMergedTable().then(n=>et(this.dh,n,this.formatter)):t=this.originalModel.partitionTable(e.partitions).then(n=>et(this.dh,n,this.formatter))),this.setNextModel(t)}partitionKeysTable(){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionKeysTable()}partitionMergedTable(){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionMergedTable()}partitionTable(e){if(!ze(this.originalModel))throw new Error("Partitions are not available");return this.originalModel.partitionTable(e)}get formatter(){return this.model.formatter}set formatter(e){this.model.formatter=e}get sort(){return this.model.sort}set sort(e){this.model.sort=e}get customColumns(){return this.model.customColumns}set customColumns(e){this.model.customColumns=e}get formatColumns(){return this.model.formatColumns}set formatColumns(e){this.model.formatColumns=e}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Re.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!Wr(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);qe(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(n=>et(this.dh,n,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Re.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){Re.debug("Ignore same selectDistinctColumns",e);return}this.selectDistinct=e;var t=e.map(i=>this.originalColumns.find(a=>a.name===i)).filter(i=>i!=null),n=Promise.resolve(this.originalModel);qe(this.originalModel)&&t.length>0&&(n=this.originalModel.table.selectDistinct(t).then(i=>et(this.dh,i,this.formatter))),this.setNextModel(n)}get table(){if(qe(this.model))return this.model.table}get totalsConfig(){return this.model.totalsConfig}set totalsConfig(e){this.model.totalsConfig=e}get isFilterRequired(){return this.originalModel.isFilterRequired}get isPartitionRequired(){return ze(this.originalModel)?this.originalModel.isPartitionRequired:!1}get isEditable(){return Ke(this.model)&&this.model.isEditable}export(){if(j.isTreeTable(this.model))throw new Error("TreeTable has no 'export' property");return this.model.export()}columnStatistics(e){if(j.isTreeTable(this.model))throw new Error("TreeTable has no 'columnStatistics' function");return this.model.columnStatistics(e)}get pendingDataMap(){return this.model.pendingDataMap}set pendingDataMap(e){this.model.pendingDataMap=e}get pendingRowCount(){return this.model.pendingRowCount}set pendingRowCount(e){this.model.pendingRowCount=e}get pendingDataErrors(){return this.model.pendingDataErrors}getColumnIndexByName(e){return this.model.getColumnIndexByName(e)}seekRow(e,t,n,i,a,l,s){var o=this;return zl(function*(){return o.model.seekRow(e,t,n,i,a,l,s)})()}get isSeekRowAvailable(){return this.model.isSeekRowAvailable}}const Zl=ql;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 Yl(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){lr(a,n,i,l,s,"next",o)}function s(o){lr(a,n,i,l,s,"throw",o)}l(void 0)})}}class Xl{static makeModel(e,t){var n=arguments;return Yl(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:new ke(e),a=null;return!j.isTreeTable(t)&&!j.isPartitionedTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new Zl(e,t,i,a)})()}}const Pn=Xl;function Tn(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)}class Zt{}Tn(Zt,"OPEN","ChartEvent.OPEN");Tn(Zt,"CLOSE","ChartEvent.CLOSE");Tn(Zt,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const $t=Zt;function ct(r,e,t){return e=es(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function es(r){var e=ts(r,"string");return typeof e=="symbol"?e:String(e)}function ts(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class Xe{}ct(Xe,"OPEN_GRID","IrisGridEvent.OPEN_GRID");ct(Xe,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");ct(Xe,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");ct(Xe,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");ct(Xe,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");ct(Xe,"CREATE_CHART","IrisGridevent.CREATE_CHART");const de=Xe;function gi(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 Fn{}gi(Fn,"OPEN","PandasEvent.OPEN");gi(Fn,"CLOSE","PandasEvent.CLOSE");const is=Fn;function Nt(r){var{widgetType:e,widgetName:t,glContainer:n,description:i,children:a}=r,l=O.getTitleFromContainer(n);return u.jsxs("div",{className:"tab-tooltip-grid-container",children:[u.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),u.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[u.jsx("span",{className:"tab-tooltip-name",children:t}),u.jsx(da,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==l&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),u.jsx("span",{className:"tab-tooltip-name",children:l})]}),i&&u.jsx("div",{className:"tab-tooltip-description",children:i}),a]})}Nt.propTypes={glContainer:qr.Container.isRequired,widgetType:R.string,widgetName:R.string,description:R.string,children:R.node};Nt.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function Ci(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 bi extends F.PureComponent{constructor(e){super(e),Ci(this,"getCachedRenderTabTooltip",I((t,n,i,a,l)=>t?()=>u.jsx(Nt,{glContainer:n,widgetType:i,widgetName:a,description:l}):null)),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{widgetName:e}=this.props;ua(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:i,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
3
3
  Check your internet connection.`;if(t&&n)return"Disconnected from server.";if(n){var{widgetName:l,widgetType:s}=this.props;return'Variable "'.concat(l,`" not set.
4
- `).concat(s," does not exist yet.")}if(i){var{widgetName:o}=this.props;return"".concat(o," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:i,isLoading:a,glContainer:l,glEventHub:s,isDisconnected:o,isClonable:d,isRenamable:h,showTabTooltip:c,renderTabTooltip:v,widgetType:p,widgetName:g,description:m,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:b,onResize:w,onShow:S,onTabBlur:y,onTabFocus:D,onTabClicked:T}=this.props,{isPanelDisconnected:P,isWidgetDisconnected:N,isPanelInactive:_}=this.state,A=this.getErrorMessage(),V=v??this.getCachedRenderTabTooltip(c,l,p,g,m),X=[{title:"Copy ".concat(p," Name"),group:Yr.groups.medium,order:20,action:this.handleCopyName}];return u.jsxs(Ft,{className:ce(t,{disconnected:P||N||o,inactive:_}),componentPanel:n,glContainer:l,glEventHub:s,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:b,onResize:w,onShow:S,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:y,onTabFocus:D,onTabClicked:T,renderTabTooltip:V,errorMessage:A,isLoaded:i,isLoading:a,isClonable:d,isRenamable:h,additionalActions:X,children:[e,_&&u.jsx("div",{className:"fill-parent-absolute"})]})}}bi(Si,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const Lt=Si;function wi(r){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:i,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=r,o=F.useMemo(()=>{var g=Array.from(s.keys()),m=g.find(E=>t.get(E)!=null),f=g.find(E=>n.get(E)!=null),C=Pe.join(g.map(E=>'"'.concat(E,'"')));return m!=null&&m&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):m!=null&&m?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,s]),d=F.useMemo(()=>Array.from(e.values()),[e]),h=F.useCallback(g=>{g.stopPropagation(),g.preventDefault(),i(Array.from(l.values()))},[i,l]),c=F.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),v=l.size>0,p=!v&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":v},{"chart-filter-waiting-input":p}),children:[v&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(g=>{var m=l.has(g.name),f=m?Za:Ya;return u.jsxs("div",{className:ce("waiting-filter-item",{"is-invalid":m}),children:[u.jsx(he,{icon:f}),g.name]},g.name)})}),u.jsxs("div",{children:[u.jsx(Kn,{onClick:h,className:"btn-primary",children:"Add Input Filters"}),u.jsx(Kn,{onClick:c,className:"btn-primary",children:"Open Linker Tool"})]})]}),p&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}wi.propTypes={columnMap:R.instanceOf(Map).isRequired,inputFilterMap:R.instanceOf(Map).isRequired,linkedColumnMap:R.instanceOf(Map).isRequired,onAdd:R.func.isRequired,onOpenLinker:R.func.isRequired,waitingFilterMap:R.instanceOf(Map).isRequired,waitingInputMap:R.instanceOf(Map).isRequired};function Tt(r){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:i}=r;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content"),children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>u.jsx(mi,{className:ce("btn-chart-column-selector",Tt.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}Tt.makeButtonClassName=r=>"btn-chart-column-selector-".concat(r);Tt.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function rt(r){return r.settings!==void 0}function Mn(r){return r.figure!==void 0}function Ei(r){if(r==null)return!1;var{settings:e,tableSettings:t}=r;return typeof e=="object"&&typeof t=="object"}function yi(r){return r!=null&&Ei(r.panelState)}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){me(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 me(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=ds(r,"string");return typeof e=="symbol"?e:String(e)}function ds(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ie=W.module("ChartPanel"),us=150;function hs(r){return r.inputFilters!=null}function cs(r){return r.panelState!=null}class Yt extends F.Component{constructor(e){super(e),me(this,"panelContainer",void 0),me(this,"pending",void 0),me(this,"getWaitingInputMap",I((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((h,c)=>{d.delete(c)}),d})),me(this,"getWaitingFilterMap",I((l,s,o,d,h)=>{if(!l)return new Map;var c=new Map(s);return o.forEach((v,p)=>{c.delete(p)}),h.forEach((v,p)=>{c.delete(p)}),d.forEach((v,p)=>{c.delete(p)}),c})),me(this,"getInputFilterColumnMap",I((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var h=s[d],{name:c,type:v}=h,p=l.get(c);p!=null&&p.type===v&&o.set(c,h)}return o})),me(this,"getLinkedColumnMap",I((l,s)=>{for(var o=new Map,d=O.getIdFromPanel(this),h=0;h<s.length;h+=1){var c=s[h],v=null;if(c.start!=null&&c.start.panelId===d&&l.has(c.start.columnName)?v=c.start.columnName:c.end&&c.end.panelId===d&&l.has(c.end.columnName)&&(v=c.end.columnName),v!=null&&l.has(v)){var p=l.get(v);M(p),o.set(v,p)}}return o})),me(this,"getSelectorColumns",I((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d):!1,isActive:s.has(d.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=Ze(this.updateModelFromSource.bind(this),us),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=oe.createRef(),this.pending=new Xr;var{metadata:t,panelState:n}=e,{filterValueMap:i=[],settings:a={}}=n??{};this.state={settings:a,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&rt(t)&&t.settings.isLinked,filterMap:new Map(i),filterValueMap:new Map(i),model:void 0,columnMap:new Map,panelState:n}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:i,makeModel:a}=this.props,{columnMap:l,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:c}=this.state;s&&(a!==e.makeModel&&this.initModel(),l!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),o!==t.filterMap?this.updateFilters():d!==t.filterValueMap&&this.updatePanelState(),c!==t.settings&&Xn(s)&&(s.updateSettings(c),this.updatePanelState()),h!==t.isLinked?i&&(h?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):h&&i!==e.source&&(e.source&&this.stopListeningToSource(e.source),i&&(this.startListeningToSource(i),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){ie.debug("startListeningToSource",e);var{model:t}=this.state;M(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){ie.debug("stopListeningToSource",e);var{model:t}=this.state;M(t);var{dh:n}=t;e.removeEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:n}=this.state;e&&!t&&!n&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:n}=this.state;t.emit($t.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:i}=this.props;ie.debug("handleColumnMouseEnter",i,t,n),i&&i(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;ie.debug("handleColumnMouseLeave",e),e&&e(this,void 0)}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:n}=this.props;n(e,void 0),t(fe.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){ie.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:i}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),i&&l&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Fe.isCanceled(e)||(ie.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){ie.debug2("updateModelFromSource ignoring",n,i,t);return}var{dh:a}=i;if(this.pending.cancel(),rt(e)){var{settings:l}=e;this.pending.add(a.plot.Figure.create(new ne(a).makeFigureSettings(l,t))).then(s=>{Xn(i)&&i.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:i}=this.state,{tableSettings:a}=t??{};if(e&&hs(e.props)&&cs(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=H.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 ie.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(Y.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:i,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(Y.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Tt.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(n)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){ie.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,v=i.get(d);if(!(v==null||v.type!==h)){if(c.length<1){ie.debug("Ignoring empty filterList for column",d);return}var{value:p}=c[0];s.set(d,p),a.get(d)!==p&&(l===null&&(l=new Map(a)),l.set(d,p))}}),{filterValueMap:s,filterMap:(n=l)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(i,n);if(s.has(e)){var o,d=a.get(e),h=(o=s.get(e))===null||o===void 0?void 0:o.value;h!=null&&d!==h&&(a=new Map(t.filterMap),h.length>0?a.set(e,h):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:l}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(l=>l.name===a.name&&l.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var i=e.filter(a=>!t.includes(a));i.length>0&&this.updateInputFilters(i)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:i}=n,a=new Map(n.filterValueMap),l=new Map(n.filterMap),s=t?{filterMap:l,filterValueMap:a}:{},o=0;o<e.length;o+=1){var{name:d,type:h,value:c}=e[o],v=i.get(d);v!=null&&v.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 ie.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 v=l.get(d);if(a.has(d)){var p=a.get(d);p!==v&&p!=null&&(s=!0,l.set(d,p))}else s=!0,l.delete(d)}}return ie.debug("deleteInputFilters",s),s?{filterMap:l}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;M(n);var i=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&i.size===0){var a=n.getDefaultTitle(),l=Pe.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),ie.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else ie.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{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:i,isLinkerActive:a,links:l,metadata:s,settings:o,Plotly:d,containerRef:h}=this.props,{columnMap:c,filterMap:v,error:p,model:g,isActive:m,isDisconnected:f,isLoaded:C,isLoading:E}=this.state,b;rt(s)?b=s.table:Mn(s)?b=s.figure:b=s.name;var w=this.getInputFilterColumnMap(c,i),S=this.getLinkedColumnMap(c,l),y=g!=null?this.getWaitingInputMap(g.isFilterRequired(),c,v):new Map,D=g!=null?this.getWaitingFilterMap(g.isFilterRequired(),c,v,S,w):new Map,T=p!=null?"Unable to open chart. ".concat(p):void 0,P=y.size>0,N=c.size>0&&a;return u.jsx(Lt,{className:ce("iris-chart-panel",{"input-required":P}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:T,isDisconnected:f,isLoading:E,isLoaded:C,widgetName:b,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:C&&g&&u.jsx(vi,{isActive:m,model:g,settings:o,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d,containerRef:h})}),u.jsx(cn,{in:P&&!N&&!E,timeout:pn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(wi,{inputFilterMap:w,linkedColumnMap:S,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:c,waitingFilterMap:D,waitingInputMap:y})}),u.jsx(cn,{in:N,timeout:pn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Tt,{columns:this.getSelectorColumns(c,S,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}me(Yt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});me(Yt,"displayName","ChartPanel");me(Yt,"COMPONENT","ChartPanel");var ps=(r,e)=>{var{localDashboardId:t,metadata:n}=e,i;n!=null&&rt(n)&&(i=n.sourcePanelId);var a=Ht(r,t),l=Jr(r,t),s=gn(r),o=Bt(r,t),d=s===fe.LINKER&&o===void 0;return{columnSelectionValidator:zt(r,t),isLinkerActive:d,inputFilters:Kt(r,t),links:Dt(r,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?l.get(i):void 0,settings:Cn(r)}},ms=Ye(ps,{setActiveTool:Qr,setDashboardIsolatedLinkerPanelId:fn},null,{forwardRef:!0})(Yt);const Ot=ms;function ve(r,e,t){return e=vs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function vs(r){var e=fs(r,"string");return typeof e=="symbol"?e:String(e)}function fs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var kt=W.module("DropdownFilter"),gs=150;class Ie extends F.Component{constructor(e){super(e),ve(this,"dropdownRef",void 0),ve(this,"getCompatibleColumns",I((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&j.isCompatibleType(o,a.columnType)}):[])),ve(this,"getColumnOptions",I((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]})),ve(this,"getSelectedOptionIndex",I((a,l)=>a.indexOf(l))),ve(this,"getValueOptions",I(a=>[u.jsx("option",{value:"-1",children:Ie.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),ve(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),ve(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},gs)),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=oe.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,id:Ce(),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(kt.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(),kt.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]:kt.debug2("Selected default item"),kt.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:v,disableCancel:p,id:g,isValueShown:m,selectedColumn:f,value:C}=this.state,E=l===null,b=this.getCompatibleColumns(l,t),w=l!=null,S=(e=l?.columnName)!==null&&e!==void 0?e:Ie.SOURCE_BUTTON_PLACEHOLDER,y=v!=null?"".concat(v.name," Filter"):null,[D,T]=this.getColumnOptions(b,f),P=this.getValueOptions(h),N=this.getSelectedOptionIndex(h,C),_=!w||f==null,A=m&&!i,V="source-column-btn-".concat(g),X="filter-column-select-".concat(g);return u.jsxs(yn,{className:"dropdown-filter fill-parent-absolute",isFlipped:A,children:[u.jsx("div",{className:"dropdown-filter-settings-card",children:u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsxs("div",{className:"dropdown-filter-settings-grid",children:[u.jsx("label",{htmlFor:V,children:"Source Column"}),u.jsx(mi,{id:V,isLinked:w,onClick:s,onMouseEnter:o,onMouseLeave:d,className:Ie.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:S}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:X,children:"Filter Column"}),u.jsx(yt,{id:X,value:String(T),className:"custom-select",onChange:this.handleColumnChange,disabled:E,children:D}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&u.jsx("div",{className:"error-message text-center",children:c}),w&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:p||m||i,tooltip:i?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx($,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:_||m||i,tooltip:i?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:y})}),u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:u.jsx(yt,{className:"custom-select",value:String(N),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:P})}),c&&u.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:wn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}ve(Ie,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});ve(Ie,"PLACEHOLDER","Select a value...");ve(Ie,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");ve(Ie,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const ur=Ie;function re(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=bs(r,"string");return typeof e=="symbol"?e:String(e)}function bs(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=W.module("DropdownFilterPanel"),Ss=250,ws=(r,e)=>{var{localDashboardId:t}=e,n=O.getIdFromPanel({props:e}),i=Ht(r,t),a=Dt(r,t),l=gn(r),s=Bt(r,t),o=l===fe.LINKER&&(s===void 0||s===n),d=l===fe.LINKER&&s!==void 0&&s!==n;return{columns:bn(r,t),columnSelectionValidator:zt(r,t),dh:ei(r),isLinkerActive:o,disableLinking:d,settings:Cn(r),panelTableMap:i,dashboardLinks:a}},Es=Ye(ws,null,null,{forwardRef:!0});class ge extends F.Component{constructor(e){super(e),re(this,"dateTimeFormatter",void 0),re(this,"dropdownFilterRef",void 0),re(this,"panelContainer",void 0),re(this,"pending",void 0),re(this,"cleanup",void 0),re(this,"columnFormats",void 0),re(this,"getCachedValues",ue((c,v,p)=>{var{type:g,name:m}=v;return g!==void 0&&j.isDateType(g)?c.map(f=>this.dateTimeFormatter.format(f)):c.map(f=>f!=null&&g!=null?p.getFormattedString(f,g,m):null)})),re(this,"getCachedPanelLinks",ue((c,v)=>{var p=O.getIdFromPanel(v);return z.debug("getCachedPanelLinks",c,p),c.filter(g=>{var m;return((m=g.end)===null||m===void 0?void 0:m.panelId)===p})})),re(this,"getCachedSource",ue(c=>{z.debug("getCachedSource",c);var v;if(c.length>0){var[p]=c;v=p.start,c.length>1&&z.error("Filter has more that one link",c)}return v})),re(this,"getCachedSourceTable",ue((c,v)=>{var p;if(z.debug("getCachedSourceTable",c,v),v==null)return null;var{panelId:g}=v;return(p=c.get(g))!==null&&p!==void 0?p:null})),re(this,"getCachedSourceColumn",ue((c,v)=>{var p;return z.debug("getCachedSourceColumn",c,v),c==null||v==null?null:(p=c.columns.find(g=>{var{name:m,type:f}=g;return m===v.columnName&&f===v.columnType}))!==null&&p!==void 0?p:null})),this.handleChange=Ze(this.handleChange.bind(this),Ss),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=oe.createRef(),this.panelContainer=oe.createRef(),this.pending=new Xr;var{dh:t,panelState:n,settings:i}=e;this.columnFormats=mn.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 ke(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:l,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value: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&&(z.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>ge.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(ge.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;z.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;z.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:v,timestamp:p,wasFlipped:g,skipUpdate:m}=d,f=v!=null&&n!==v.isValueShown&&a===v.name&&l===v.type&&i===v.value;return s=(h=!m&&n&&(!f||!g))!==null&&h!==void 0?h:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:(c=o)!==null&&c!==void 0?c:void 0},timestamp:o,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,l,i,o)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){z.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(Y.COLUMN_SELECTED,this,ge.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){z.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];z.debug("sendUpdate",{name:e,type:t,value:n,timestamp:i,excludePanelIds:d}),s.emit(Y.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:i,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),i=this.getSourceTable(t,e);if(z.debug("updateValuesTable",n,i),this.setState({values:[],valuesTable:void 0,error:null}),n==null){z.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),i!=null&&(this.setState({isLoaded:!1,sourceSize:i.size}),this.pending.add(i.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{Fe.isCanceled(a)||(z.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(z.debug("applySourceSorts",i?.sort),n==null||i==null){z.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(z.debug("applySourceFilters",i?.filter),n==null||i==null){z.debug("Table not initialized");return}var a=[...i.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(z.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){z.error("values column is null");return}e.setViewport(0,ge.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=mn.getColumnFormats(e);Wr(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new ke(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){z.error("valuesTable is null");return}var l=this.getValuesColumn(a,i);if(!l){z.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,ge.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:i,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:h,value:c,values:v,valuesColumn:p,isLoading:g,isLoaded:m}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),E=this.getPanelErrorMessage(),b=m&&p!=null?this.getCachedValues(v,p,o):[];return u.jsx(Lt,{errorMessage:E,isLoading:g,isLoaded:m,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(ur,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:h,isLinkerActive:l,disableLinking:n,isLoaded:m,settingsError:C,source:f,value:c,values:b,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}re(ge,"displayName","DropdownFilterPanel");re(ge,"COMPONENT","DropdownFilterPanel");re(ge,"MAX_TABLE_SIZE",256);re(ge,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var ys=Es(ge);const Ge=ys;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 xt(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){bt(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 bt(r,e,t){return e=Ps(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ps(r){var e=Ts(r,"string");return typeof e=="symbol"?e:String(e)}function Ts(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=W.module("FilterSetManager"),Fs="Enter name...",cr="No Available Filter Sets";class Ut extends F.Component{static animateScreenFlash(){var e,t=document.createElement("div");t.classList.add("screen-flash-overlay"),t.addEventListener("animationend",()=>{t.remove()}),(e=document.querySelector("body"))===null||e===void 0||e.appendChild(t)}constructor(e){super(e),bt(this,"renameInputRef",oe.createRef()),bt(this,"dropdownRef",oe.createRef()),bt(this,"editDropdownRef",oe.createRef()),bt(this,"isRenamingExistingSet",I((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;q.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:i}=this.props;if(q.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:[]}),q.debug("Update sets",n,i),t(n),n.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Ut.animateScreenFlash();var t=Ce(),n=e(),i={id:t,title:"",panels:n};q.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return q.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 q.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){q.error("Renamed set undefined.");return}var l=this.getNameError(t);if(q.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",o=xt(xt({},n),{},{title:s,restoreFullState:a}),d=i.findIndex(c=>{var{id:v}=c;return v===n.id}),h=[...i];d>=0?(h[d]=o,q.debug("Renamed existing set",h)):(h.push(o),q.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 q.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 q.debug("Deleted selected set",t,n,a),q.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Ut.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:i,editId:a}=n;if(a===void 0)return q.error("Filter for update not selected."),null;var l=[...i],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(q.error("Selected set for update not found."),null):(l[s]=xt(xt({},l[s]),{},{panels:t}),q.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 q.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){q.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){q.debug("No filter selected");return}var i=n.find(a=>{var{id:l}=a;return l===e});if(i===void 0){q.debug("Selected id not found in filterSets",e,n);return}q.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),v=a.length===0,p=!h&&v&&o.length===0,g=!h&&!p,m=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(he,{icon:Un,mask:Gn,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:Ja,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(he,{icon:Un,mask:Gn,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:el,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(yn,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[p&&u.jsxs("div",{children:[u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:m,children:"Capture filter set"}),u.jsx("div",{className:"py-3 text-muted small",children:"Takes a snapshot of the currently applied filters on all panels, allowing you to restore saved filter sets later."})]}),h&&u.jsxs("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:c?"Edit set":"Name captured set"}),u.jsxs("div",{className:"name-input-container",children:[u.jsx("input",{type:"text",className:"input-set-name form-control",placeholder:Fs,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx($,{"data-testid":"rename-confirm-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameConfirm,tooltip:"Save","test-id":"button-save",icon:Qa}),u.jsx($,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:Xa})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(hl,{onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(qn,{value:"false",children:"Restore only filters"}),u.jsx(qn,{value:"true",children:"Restore full table state"})]})})]}),g&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(yt,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:v,children:[v&&u.jsx("option",{value:"-1",disabled:!0,children:cr}),a.map(C=>{var{id:E,title:b}=C;return u.jsx("option",{value:E,children:b},E)})]}),u.jsx($,{kind:"ghost",onClick:this.handleSetUpdate,disabled:v,icon:f,tooltip:"Update"}),u.jsx($,{kind:"ghost",onClick:this.handleSetEdit,disabled:v,icon:hi,tooltip:"Edit"}),u.jsx($,{kind:"ghost",onClick:this.handleSetDelete,disabled:v,icon:En,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:m,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx($,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),u.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"filter-set-manager-column",children:u.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),u.jsx("div",{className:"filter-set-manager-card-content",children:u.jsx("div",{className:"filter-set-manager-value-input",children:u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(yt,{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d??"-1",className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[o.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:cr}),o.map(C=>{var{id:E,title:b}=C;return u.jsx("option",{value:E,children:b},E)})]}),u.jsx($,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:ci,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx($,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(he,{icon:wn,transform:"grow-4"})})})]},"back")]})})}}const Pi=Ut;function Nn(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"),v=(a=l?.columnCount)!==null&&a!==void 0?a:0,p=l?.displayString(v,"long");return u.jsxs(Nt,{widgetType:"Table",widgetName:s,glContainer:o,description:d,children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:p}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Nn.propTypes={glContainer:Zr.Container.isRequired,widgetName:R.string.isRequired,description:R.string};Nn.defaultProps={description:null};function Ti(r){if(r==null)return!1;var e=r;return typeof e.table=="string"}function Fi(r){if(r==null)return!1;var e=r;return typeof e.name=="string"}function 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 Ve(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){Z(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 Z(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 ye=W.module("IrisGridPanel"),Ns=500,Ls={IrisGrid:qt,IrisGridTableModel:gi,ContextMenuRoot:va};function mr(r){if(r==null)throw new Error("No metadata provided");if(Fi(r))return r.name;if(Ti(r))return r.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(r)))}class lt extends F.PureComponent{constructor(e){super(e),Z(this,"irisGrid",void 0),Z(this,"pluginRef",void 0),Z(this,"modelPromise",void 0),Z(this,"irisGridState",void 0),Z(this,"gridState",void 0),Z(this,"pluginState",void 0),Z(this,"irisGridUtils",void 0),Z(this,"getGridInputFilters",I((n,i)=>H.getInputFiltersForColumns(n,i.filter(a=>{var{value:l,excludePanelIds:s}=a,o=O.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),Z(this,"getAlwaysFetchColumns",I((n,i)=>{for(var a=O.getIdFromPanel(this),l=new Set(i),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),Z(this,"getPluginContent",I((n,i,a,l,s)=>{if(!i||!We(i)||n==null||i.table==null)return null;var o={panel:this,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:l,components:Ls};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,Ve({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:i,table:i.table,onStateChange:this.handlePluginStateChange,pluginState:s},o))})})),Z(this,"getDehydratedIrisGridPanelState",I((n,i,a,l)=>H.dehydrateIrisGridPanelState(n,{isSelectingPartition:i,partitions:a,advancedSettings:l}))),Z(this,"getDehydratedIrisGridState",I((n,i,a,l,s,o,d,h,c,v,p,g,m,f,C,E,b,w,S,y,D,T)=>(M(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:b,customColumnFormatMap:l,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:E},quickFilters:o,customColumns:d,reverseType:h,rollupConfig:c,showSearchBar:v,searchValue:p,selectDistinctColumns:g,selectedSearchColumns:m,sorts:i,invertSearchColumns:f,pendingDataMap:w,frozenColumns:S,conditionalFormats:y,columnHeaderGroups:D,partitionConfig:T})))),Z(this,"getDehydratedGridState",I((n,i,a,l,s)=>H.dehydrateGridState(n,{isStuckToBottom:l,isStuckToRight:s,movedColumns:i,movedRows:a}))),Z(this,"getCachedPanelState",I((n,i,a,l)=>({irisGridPanelState:n,irisGridState:i,gridState:a,pluginState:l}))),Z(this,"savePanelState",Ze(()=>{var{irisGridState:n,gridState:i,pluginState:a}=this;M(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:h,advancedSettings:c}=this.state,{advancedFilters:v,aggregationSettings:p,customColumnFormatMap:g,isFilterBarShown:m,quickFilters:f,customColumns:C,reverseType:E,rollupConfig:b,showSearchBar:w,searchValue:S,selectDistinctColumns:y,selectedSearchColumns:D,sorts:T,invertSearchColumns:P,metrics:N,pendingDataMap:_,frozenColumns:A,conditionalFormats:V,columnHeaderGroups:X,partitionConfig:Q}=n;M(s),M(N);var{userColumnWidths:be,userRowHeights:De}=N;M(i);var{isStuckToBottom:Se,isStuckToRight:xe,movedColumns:_e,movedRows:Be}=i,we=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,h,c),this.getDehydratedIrisGridState(s,T,v,g,m,f,C,E,b,w,S,y,D,P,be,De,p,_,A,V,X,Q),this.getDehydratedGridState(s,_e,Be,Se,xe),a);we!==o&&(ye.debug("Saving panel state",this,we),this.setState({panelState:we}),l?.(we))},Ns)),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=oe.createRef(),this.pluginRef=oe.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(cl.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:j.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:i}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),i!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return mr(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Fe.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:i}=this.state,a=[];if(this.irisGridUtils=new H(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:h}=Ve(Ve({},l),i);o.length>0&&a.push(c=>{c.customColumns=o}),h!=null&&h.columns.length>0&&a.push(c=>{c.rollupConfig=H.getModelRollupConfig(c.originalColumns,h,s)}),d.length>0&&a.push(c=>{c.selectDistinctColumns=d})}this.setState({model:t,modelQueue:a}),this.initModelQueue(t,a)}initModelQueue(e,t){var n=e;if(t.length===0){this.modelInitialized(n);return}var i=t.shift();ye.debug("initModelQueue",i),i&&i(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){ye.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:i}=n;return i.get(e)===t?null:{advancedSettings:new Map(i).set(e,t)}})}handlePluginFilter(e){var t,n,{model:i}=this.state;M(i);var{columns:a,formatter:l}=i,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,l.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,i;return(t=(n=this.pluginRef.current)===null||n===void 0||(i=n.getMenu)===null||i===void 0?void 0:i.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:i}=this.props;n.emit(de.STATE_CHANGED,this),i?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:i}=this.state;t?this.sendColumnsChange(e.detail):(M(n),this.initModelQueue(n,i))}handleTableChanged(e){ye.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(Y.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:i}=this.props,a=this.getTableName(),{panelState:l}=this.state,s=O.getIdFromPanel(this),o;l&&(o=H.extractTableSettings(l,i)),n.emit(de.CREATE_CHART,{metadata:{settings:e,sourcePanelId:s,table:a,tableSettings:o},table:We(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(de.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(de.DATA_SELECTED,this,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){ye.error(e),this.setState({error:e,isLoading:!1})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleLoadError(e){Fe.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:n}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),We(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}t.emit(Y.TABLE_CHANGED,this,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){ye.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(Y.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(x.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(x.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(x.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(x.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,i,{model:a}=this.state;if(!a)return null;var l=this.irisGrid.current,{gridWrapper:s}=l||{},o=(t=s?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;M(l);var{metrics:d}=l.state;M(d);var{columnHeaderHeight:h,allColumnXs:c,allColumnWidths:v,right:p,columnHeaderMaxDepth:g}=d,m=a.getColumnIndexByName(e);M(m);var f=l.getVisibleColumn(m),C=(n=c.get(f))!==null&&n!==void 0?n:0,E=(i=v.get(f))!==null&&i!==void 0?i:0,b=Math.max(o.left,Math.min(f>p?o.right:o.left+C+E*.5,o.right)),w=o.top+h*g;return[b,w]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;ye.debug("setFilters",t,n);var{model:i,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){ye.debug("Ignore setFilters, model disconnected");return}M(i);var{columns:s,formatter:o}=i,d=H.changeFilterColumnNamesToIndexes(i.columns,t).filter(c=>{var[v]=c;return i.isFilterable(v)}),h=H.changeFilterColumnNamesToIndexes(i.columns,n).filter(c=>{var[v]=c;return i.isFilterable(v)});M(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,h,o.timeZone)})}setStateOverrides(e){ye.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:i}=this.state;if(t!=null)try{var{gridState:a,irisGridState:l,irisGridPanelState:s}=t,o=Ve({},n),{quickFilters:d,advancedFilters:h}=o;d&&(o.quickFilters=H.changeFilterColumnNamesToIndexes(e.columns,d)),h&&(o.advancedFilters=H.changeFilterColumnNamesToIndexes(e.columns,h));var{isSelectingPartition:c,partitions:v,advancedSettings:p}=H.hydrateIrisGridPanelState(e,s);M(this.irisGridUtils);var{advancedFilters:g,customColumns:m,customColumnFormatMap:f,isFilterBarShown:C,quickFilters:E,reverseType:b,rollupConfig:w,aggregationSettings:S,sorts:y,userColumnWidths:D,userRowHeights:T,showSearchBar:P,searchValue:N,selectDistinctColumns:_,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:X,frozenColumns:Q,conditionalFormats:be,columnHeaderGroups:De,partitionConfig:Se}=this.irisGridUtils.hydrateIrisGridState(e,Ve(Ve({},l),o)),{isStuckToBottom:xe,isStuckToRight:_e,movedColumns:Be,movedRows:we}=H.hydrateGridState(e,Ve(Ve({},a),i),l.customColumns);this.setState({advancedFilters:g,advancedSettings:p,conditionalFormats:be,customColumns:m,customColumnFormatMap:f,isFilterBarShown:C,isSelectingPartition:c,movedColumns:Be,movedRows:we,partitions:v,quickFilters:E,reverseType:b,rollupConfig:w,aggregationSettings:S,sorts:y,userColumnWidths:D,userRowHeights:T,showSearchBar:P,searchValue:N,selectDistinctColumns:_,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:X,frozenColumns:Q,isStuckToBottom:xe,isStuckToRight:_e,columnHeaderGroups:De,partitionConfig:Se})}catch(le){ye.error("loadPanelState failed to load panelState",t,le)}}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:v,workspace:p,settings:g,theme:m}=this.props,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,conditionalFormats:b,customColumns:w,customColumnFormatMap:S,error:y,isDisconnected:D,isFilterBarShown:T,isSelectingPartition:P,isStuckToBottom:N,isStuckToRight:_,isLoaded:A,isLoading:V,isModelReady:X,model:Q,movedColumns:be,movedRows:De,partitions:Se,partitionConfig:xe,quickFilters:_e,reverseType:Be,rollupConfig:we,sorts:le,userColumnWidths:tn,userRowHeights:pe,showSearchBar:Ee,searchValue:Me,selectDistinctColumns:Ne,selectedSearchColumns:Xe,invertSearchColumns:nn,Plugin:Yi,pluginFilters:Qi,pluginFetchColumns:Xi,pendingDataMap:Ji,frozenColumns:ea,columnHeaderGroups:ta}=this.state,na=y!=null?"Unable to open table. ".concat(y):void 0,An=mr(h),jn=(e=Q?.description)!==null&&e!==void 0?e:void 0,ra=(t=c?.pluginState)!==null&&t!==void 0?t:null,ia=n??this.getPluginContent(Yi,Q,v,p,ra),{permissions:aa}=v,{canCopy:la,canDownloadCsv:sa}=aa;return u.jsx(Lt,{errorMessage:na,isDisconnected:D,isLoading:V,isLoaded:A,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:An,widgetType:"Table",description:jn,componentPanel:this,renderTabTooltip:()=>u.jsx(Nn,{model:Q,widgetName:An,glContainer:i,description:jn}),children:X&&Q&&u.jsx(qt,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,alwaysFetchColumns:this.getAlwaysFetchColumns(d,Xi),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:w,customColumnFormatMap:S,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:b,inputFilters:this.getGridInputFilters(Q.columns,o),applyInputFiltersOnInit:c==null,isFilterBarShown:T,isSelectingColumn:l!=null,isSelectingPartition:P,isStuckToBottom:N,isStuckToRight:_,movedColumns:be,movedRows:De,partitions:Se,partitionConfig:xe,quickFilters:_e,reverseType:Be,rollupConfig:we,settings:g,sorts:le,userColumnWidths:tn,userRowHeights:pe,model:Q,showSearchBar:Ee,searchValue:Me,selectedSearchColumns:Xe,selectDistinctColumns:Ne,invertSearchColumns:nn,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:Qi,pendingDataMap:Ji,canCopy:la,canDownloadCsv:sa,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:ea,theme:m,columnHeaderGroups:ta,children:ia})})}}Z(lt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Z(lt,"displayName","IrisGridPanel");Z(lt,"COMPONENT","IrisGridPanel");var Os=(r,e)=>{var{localDashboardId:t=ma}=e;return{inputFilters:Kt(r,t),links:Dt(r,t),columnSelectionValidator:zt(r,t),user:ca(r),workspace:pa(r),settings:Cn(r)}},Rs=Ye(Os,null,null,{forwardRef:!0})(lt);const st=Rs;function wt(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=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=W.module("InputFilter"),xs=150;class ot extends F.Component{constructor(e){super(e),wt(this,"inputRef",void 0),wt(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),wt(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},xs)),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=oe.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?ot.PLACEHOLDER.length:a.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(yn,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(yt,{value:String(e.findIndex(d=>d.name===i?.name&&d.type===i?.type)),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,h)=>u.jsx("option",{value:h,children:this.getItemLabel(e,h)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx($,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:i==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:ot.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(l+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:wn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}wt(ot,"PLACEHOLDER","Enter value...");wt(ot,"defaultProps",{column:null,isValueShown:!1,value:null});const _s=ot;function Qt(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=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 Vs=250;class Xt extends F.Component{constructor(e){super(e),Qt(this,"inputFilterRef",void 0),this.handleChange=Ze(this.handleChange.bind(this),Vs),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=oe.createRef();var{panelState:t}=e,{value:n,isValueShown:i=!1,name:a,type:l,timestamp:s}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,a,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var h,{panelState:c,timestamp:v,wasFlipped:p,skipUpdate:g}=d,m=c!=null&&n!==c.isValueShown&&a===c.name&&l===c.type&&i===c.value;return s=(h=!g&&n&&(!m||!p))!==null&&h!==void 0?h:!1,s||(o=v),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:o},timestamp:o,wasFlipped:m,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,l,i,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,i){var{glEventHub:a}=this.props;a.emit(Y.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:i})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(i=>{var{name:a,type:l}=i;return n.name===a&&n.type===l})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:i,isValueShown:a,value:l}=this.state;return u.jsx(Ft,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(_s,{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 $s=(r,e)=>{var{localDashboardId:t}=e;return{columns:bn(r,t)}},Us=Ye($s,null,null,{forwardRef:!0})(Xt);const it=Us;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 _t(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){Ln(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 Ln(r,e,t){return e=Gs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Gs(r){var e=Hs(r,"string");return typeof e=="symbol"?e:String(e)}function Hs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var te=W.module("FilterSetManagerPanel");function Bs(r){return r.setPanelState!=null}class dt extends F.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){te.error("Could not get panel",i);return}var a=O.getComponentNameFromPanel(i),l=O.getIdFromPanel(i);te.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){te.error("Could not get panel container",i);return}var o=O.getComponentConfigFromContainer(s);if(o==null){te.error("Could not get component config from container",s);return}var d=O.getPanelComponentState(o);if(d==null){te.debug("Panel state is null ".concat(l));return}switch(a){case O.getComponentName(lt):{var h;l!=null&&(h=this.getIrisGridPanelFilters(l,d)),h!=null&&t.push({panelId:l,type:a,state:h});break}case O.getComponentName(it):case O.getComponentName(Ge):{var{isValueShown:c,name:v,type:p,value:g}=d;t.push({panelId:l,type:a,state:{isValueShown:c,name:v,type:p,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,i=n.get(e);if(i==null)return te.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=dt.changeFilterIndexesToColumnNames(i,s));var h;return o&&(h=dt.changeFilterIndexesToColumnNames(i,o)),{irisGridState:_t(_t({},a),{},{advancedFilters:d,quickFilters:h}),gridState:_t({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;te.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;te.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){te.debug("panel is null",l);return}if(!t.has(l)){te.debug("Ignore closed panel",l);return}te.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case O.getComponentName(lt):this.restoreIrisGridFilters(d,o,i);break;case O.getComponentName(it):case O.getComponentName(Ge):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;te.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:i={},advancedFilters:a=[],quickFilters:l=[]}=t,{advancedFilters:s=a,quickFilters:o=l}=i,{panelTableMap:d}=this.props,h=O.getIdFromPanel(e);if(h==null){te.error("Panel Id is null.");return}var c=d.get(h);if(c==null){te.error("Unable to get table for panel ".concat(h,"."));return}te.debug("restoreIrisGridFilters",h,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=_t({},t);delete n.isValueShown,te.debug("restoreInputFilterState",e,n),e&&Bs(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:i,selectedId:a}=this.state;return u.jsx(Ft,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0,children:u.jsx("div",{className:"input-filter-container h-100 w-100 container",children:u.jsx(Pi,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Ln(dt,"defaultProps",{panelState:null});Ln(dt,"COMPONENT","FilterSetManagerPanel");var zs=(r,e)=>{var{localDashboardId:t}=e;return{filterSets:ri(r,t),dashboardOpenedPanelMap:Jr(r,t),dashboardInputFilters:Kt(r,t),panelTableMap:Ht(r,t)}},Ks=Ye(zs,{setDashboardFilterSets:ni},null,{forwardRef:!0})(dt);const Vt=Ks;function qs(r,e,t){return e=Ws(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ws(r){var e=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)}class Di extends F.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return u.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[u.jsx("div",{className:ce("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(he,{icon:hi})]})}),t]})}}qs(Di,"defaultProps",{isEditing:!1});function Ys(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 Js=W.module("MarkdownStartPage");class Mi extends F.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(Js.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:i,toBeDeleted:a}=this.state;return u.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:u.jsxs("div",{className:"markdown-panel-start-page-container",children:[u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Start"}),u.jsx("div",{className:"list-item",children:u.jsx($,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(l=>u.jsxs("div",{className:"list-item",children:[u.jsx($,{kind:"ghost",className:"title",onClick:()=>t(l),children:l.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(l)},children:u.jsx(he,{icon:En})})]},l.id)),u.jsxs(tl,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(nl,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(rl,{children:"You can't undo this action."}),u.jsxs(fa,{children:[u.jsx($,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx($,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}Ys(Mi,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const eo=Mi;function Et(r,e,t){return e=to(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function to(r){var e=no(r,"string");return typeof e=="symbol"?e:String(e)}function no(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 ro=F.lazy(()=>fl(()=>import("./MarkdownEditor-9632e29e.js"),["./MarkdownEditor-9632e29e.js","./vendor-beec23d9.js","./helpers-de833af9.js","./vendor-fac43f8b.css","./ControlType-6dc1c681.js","./index-acdf3e94.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-62b3c9c5.css","./plotly-a5b1f68a.js","./ControlType-6e767efe.css"],import.meta.url)),At=W.module("MarkdownPanel");class On extends F.Component{constructor(e){super(e),Et(this,"markdownEditor",void 0),Et(this,"editor",void 0),Et(this,"getClosedMarkdowns",I(i=>i.filter(a=>a.component==="MarkdownPanel").reverse())),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,n=null;t!=null&&t.content!=null&&({content:n}=t),this.state={isStartPageShown:n==null,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){M(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,i,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){At.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){At.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){At.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,i=O.getComponentConfigFromContainer(t);n.emit(ae.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ae.DELETE,e)}handleEditorBlur(e){var t;At.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:i,isStartPageShown:a,content:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(Ft,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(eo,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(Di,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(F.Suspense,{fallback:u.jsx(pi,{}),children:u.jsx(ro,{ref:o=>{this.markdownEditor=o},isEditing:i,content:l??void 0,onEditorInitialized:this.handleEditorInitialized})})})})}}Et(On,"defaultProps",{panelState:null});Et(On,"COMPONENT","MarkdownPanel");var io=(r,e)=>{var{localDashboardId:t}=e;return{closedPanels:ga(r,t)}},ao=Ye(io,null,null,{forwardRef:!0})(On);const nt=ao;function Ni(r){var{onClick:e}=r,t=F.useRef(null),n=F.useCallback(i=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(i)},[e]);return u.jsxs($,{ref:t,kind:"primary",className:"btn-pandas",onClick:n,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",u.jsxs("span",{children:[u.jsx(he,{icon:ci,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 Cr(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){Jt(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 Jt(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 Rn extends F.Component{constructor(e){super(e),Jt(this,"irisGridRef",void 0),this.irisGridRef=oe.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(st,Cr(Cr({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(Ni,{onClick:this.handleReload})}))}}Jt(Rn,"defaultProps",{panelState:null});Jt(Rn,"COMPONENT","PandasPanel");const Li=Rn;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 Sr(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 wr(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)}class ho{constructor(e){wr(this,"items",void 0),wr(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];$n(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];$n(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 co=ho;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 mt(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 po(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=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 fo{constructor(e){po(this,"items",void 0),this.items=e}getTable(){var e=this;return mt(function*(){return new co(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return mt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return mt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return mt(function*(){for(var i=0;i<n.items.length;i+=1)if(n.items[i].filename===e){n.items[i].filename=t,n.items[i].basename=Ca.getBaseName(t),n.items[i].id=t;break}})()}info(e){var t=this;return mt(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new ba;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 go=fo;function yr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Gt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yr(Object(t),!0).forEach(function(n){Co(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):yr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Co(r,e,t){return e=bo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function bo(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)}function Pr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function wo(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Pr(a,n,i,l,s,"next",o)}function s(o){Pr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Eo(r,e,t,n,i,a){return vn.apply(this,arguments)}function vn(){return vn=wo(function*(r,e,t,n,i,a){var l,s,o,d;if(rt(n)?(l=n.settings,s=n.table,o=void 0,d=n.tableSettings):(l={},s="",o=Mn(n)?n.figure:n.name,d={}),a!=null&&(a.tableSettings!=null&&(d=a.tableSettings),a.table!=null&&(s=a.table),a.figure!=null&&(o=a.figure),a.settings!=null&&(l=Gt(Gt({},l),a.settings))),o==null&&s==null){var h=yield i();return St.makeModel(r,l,h,e)}if(o!=null){var c;if(n.type===r.VariableType.FIGURE){var v={name:o,type:r.VariableType.FIGURE};c=yield t(v)}else c=yield i();return St.makeModel(r,l,c,e)}var p={name:s,type:r.VariableType.TABLE},g=yield t(p);return new H(r).applyTableSettings(g,d,ii(wa.getState())),St.makeModelFromSettings(r,l,g,e)}),vn.apply(this,arguments)}var In=F.forwardRef((r,e)=>{var t=ht(),n=Sn(),i=Sa(),a=yi(r)?r.panelState:void 0,{fetch:l,metadata:s,localDashboardId:o}=r,d=F.useMemo(()=>({metadata:s,localDashboardId:o,makeModel:()=>{if(s==null)throw new Error("Metadata is required for chart panel");return Eo(t,n,i,s,l,a)}}),[s,o,t,n,i,l,a]);return u.jsx(Ot,Gt(Gt({ref:e},r),d))});In.displayName="ChartPanelPlugin";const yo=In;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 Po(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 Oi(r){var e=ht(),t=Sn(),[n,i]=F.useState(),{fetch:a}=r;return F.useEffect(()=>{var l=!1;function s(){return o.apply(this,arguments)}function o(){return o=Po(function*(){var d=yield a(),h=yield St.makeModel(e,void 0,d,t);l||i(h)}),o.apply(this,arguments)}return s(),()=>{l=!0}},[e,a,t]),n?u.jsx(vi,{model:n}):null}var To={name:"ChartPanel",title:"Chart",type:He.WIDGET_PLUGIN,component:Oi,panelComponent:In,supportedTypes:"Figure",icon:il};const Fo=To;function Ri(r){Mt(r);var{id:e,layout:t}=r,n=ht(),i=Sn(),a=F.useCallback(l=>{var{metadata:s,panelId:o=Ce.generate(),table:d}=l,{settings:h}=s,c=()=>St.makeModelFromSettings(n,h,d,i),v=ne.titleFromSettings(h),p={type:"react-component",component:Ot.COMPONENT,props:{localDashboardId:e,id:o,metadata:s,makeModel:c},title:v,id:o},{root:g}=t;O.openComponent({root:g,config:p})},[i,n,e,t]);return Te(t.eventHub,de.CREATE_CHART,a),null}var Do={name:"ChartBuilderPlugin",type:He.DASHBOARD_PLUGIN,component:Ri};const Mo=Do;var vt=W.module("FilterPlugin");function Fr(r,e){return r.concat(e)}function Ii(r){Mt(r);var{id:e,layout:t,registerComponent:n}=r,i=da(),[a]=F.useState(()=>new Map),[l]=F.useState(()=>new Map),[s]=F.useState(()=>new Map),o=F.useCallback(()=>{var f=Array.from(a.values()).reduce(Fr,[]).sort((b,w)=>{var S=Pe.toLower(b.name),y=Pe.toLower(w.name);if(S!==y)return S>y?1:-1;var D=Pe.toLower(b.type),T=Pe.toLower(w.type);return D!==T?D>T?1:-1:0}).reduce((b,w)=>((b.length===0||Pe.toLower(b[b.length-1].name)!==Pe.toLower(w.name)||Pe.toLower(b[b.length-1].type)!==Pe.toLower(w.type))&&b.push(w),b),[]),C=Array.from(l.values()).reduce(Fr,[]).sort((b,w)=>b.timestamp-w.timestamp),E=new Map(s);vt.debug("sendUpdate",{columns:f,filters:C,tableMap:E}),i(Ea(e,{columns:f,filters:C,tableMap:E}))},[i,e,a,l,s]),d=F.useCallback((f,C)=>{vt.debug2("handleColumnsChanged",f,C),a.set(f,[].concat(C)),o()},[a,o]),h=F.useCallback((f,C)=>{vt.debug2("handleFiltersChanged",f,C),l.set(f,[].concat(C)),o()},[l,o]),c=F.useCallback((f,C)=>{vt.debug2("handleTableChanged",f,C),s.set(O.getIdFromPanel(f),C),o()},[s,o]),v=F.useCallback(f=>{vt.debug2("handlePanelUnmount",f),a.delete(f),l.delete(f),s.delete(O.getIdFromPanel(f)),o()},[a,l,s,o]),p=F.useCallback(f=>{var{title:C="DropdownFilter",metadata:E={},panelState:b=null,id:w=Ce.generate(),focusElement:S=O.DEFAULT_FOCUS_SELECTOR,createNewStack:y=!1,dragEvent:D=null}=f,T={type:"react-component",component:Ge.COMPONENT,props:{id:w,metadata:E,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:T,focusElement:S,createNewStack:y,dragEvent:D})},[t,e]),g=F.useCallback(f=>{var{title:C="InputFilter",metadata:E={},panelState:b=null,id:w=Ce.generate(),focusElement:S=O.DEFAULT_FOCUS_SELECTOR,createNewStack:y=!1,dragEvent:D=void 0}=f,T={type:"react-component",component:it.COMPONENT,props:{id:w,metadata:E,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:T,focusElement:S,createNewStack:y,dragEvent:D})},[t,e]),m=F.useCallback(f=>{var{title:C="FilterSets",metadata:E={},panelState:b=null,id:w=Ce.generate(),focusElement:S=O.DEFAULT_FOCUS_SELECTOR,createNewStack:y=!1,dragEvent:D=null}=f,T={type:"react-component",component:Vt.COMPONENT,props:{id:w,metadata:E,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:T,focusElement:S,createNewStack:y,dragEvent:D})},[t,e]);return F.useEffect(function(){var C=[n(Ge.COMPONENT,Ge),n(it.COMPONENT,it),n(Vt.COMPONENT,Vt)];return()=>{C.forEach(E=>E())}},[n]),Te(t.eventHub,Y.COLUMNS_CHANGED,d),Te(t.eventHub,Y.FILTERS_CHANGED,h),Te(t.eventHub,Y.TABLE_CHANGED,c),Te(t.eventHub,Y.OPEN_DROPDOWN,p),Te(t.eventHub,Y.OPEN_INPUT,g),Te(t.eventHub,Y.OPEN_FILTER_SET_MANAGER,m),Te(t.eventHub,ae.UNMOUNT,v),null}var No={name:"FilterPlugin",type:He.DASHBOARD_PLUGIN,component:Ii};const Lo=No;var Oo=W.module("@deephaven/app-utils/useTablePlugin");function ki(){var r=ai(),e=F.useCallback(t=>{var n=r.get(t);if(n!=null){if(ya(n))return n.component;if(Pa(n))return n.TablePlugin}var i="Unable to find table plugin ".concat(t,".");throw Oo.error(i),new Error(i)},[r]);return e}function Dr(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){Dr(a,n,i,l,s,"next",o)}function s(o){Dr(a,n,i,l,s,"throw",o)}l(void 0)})}}function xi(r,e,t){var n=ht(),i=ki(),a=F.useMemo(()=>({loadPlugin:i,localDashboardId:e,makeModel:function(){var l=Ro(function*(){var o=yield r();return Tn.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,r,e,i,t]);return a}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 Nr(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){Io(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 Io(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=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 kn=F.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=xi(n,t,i);return u.jsx(st,Nr(Nr({ref:e},r),a))});kn.displayName="GridPanelPlugin";const _o=kn;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 Ao(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 _i(r){var e=ht(),[t,n]=F.useState(),{fetch:i}=r;return F.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=Ao(function*(){var o=yield i(),d=yield Tn.makeModel(e,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,i]),t?u.jsx(qt,{model:t}):null}var jo={name:"IrisGridPanel",title:"Table",type:He.WIDGET_PLUGIN,component:_i,panelComponent:kn,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:al};const Vo=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 $e(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){Ai(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 Ai(r,e,t){return e=$o(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function $o(r){var e=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)}function ji(r){var e=r;return typeof e.getCoordinateForColumn=="function"}function Rr(r){var e=r;return ji(r)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function Ir(r){var e;return r.description===void 0||!((e=r.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var ft=W.module("LinkerUtils");class en{static getLinkType(e,t,n){var i;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return ft.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return ft.error("PanelComponent should not be null",e,t),"invalid";var a=(i=en.ALLOWED_LINKS.get(e.panelComponent))===null||i===void 0?void 0:i.includes(t.panelComponent);if(a===void 0||!a)return ft.debug2("Incompatible panel components",e,t),"invalid";var{columnType:l}=e,{columnType:s}=t,o=s===null||j.isCompatibleType(l,s);if(!o)return ft.debug2("Incompatible type",l,s),"invalid";switch(t.panelComponent){case O.getComponentName(Ot):return"chartLink";case O.getComponentName(st):return"tableLink";case O.getComponentName(Ge):return"filterSource"}return ft.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:i}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===i})}static cloneLinksForPanel(e,t,n){var i=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?i.push($e($e({},a),{},{id:Ce.generate(),start:$e($e({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&i.push($e($e({},a),{},{id:Ce.generate(),end:$e($e({},a.end),{},{panelId:n})}))}),i}}Ai(en,"ALLOWED_LINKS",new Map([[O.getComponentName(st),[O.getComponentName(st),O.getComponentName(Ot),O.getComponentName(Ge)]]]));const qe=en;function Vi(r,e,t){return e=Go(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Go(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 Bo=W.module("LinkerLink"),kr=.015,xr=1.5,$i=12,Ui=12,_r=2,jt=Math.sqrt((Ui*.5)**2+$i**2),Ar=Math.asin(Ui*.5/$i),jr=15,Ue=Math.PI*.5;class at extends F.Component{static makeCirclePath(e,t,n){return"M ".concat(e," ").concat(t," m -").concat(n,",0 a ").concat(n,",").concat(n," 0 1,0 ").concat(n*2,",0 a ").concat(n,",").concat(n," 0 1,0 -").concat(n*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(j.isNumberType(e)||j.isCharType(e))return pl(t);if(j.isTextType(e))return ml(t);if(j.isDateType(e))return vl(t);if(j.isBooleanType(e)){if(t===Ct.eq)return"is equal to";if(t===Ct.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return Bo.warn(n),""}}constructor(e){super(e),Vi(this,"getOperators",I((t,n)=>{var{onOperatorChanged:i}=this.props,a=j.getFilterTypes(n);return j.isBooleanType(n)&&(a=[Ct.eq,Ct.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=j.getFilterOperatorString(l),[{title:at.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>i(t,l),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:i}=this.props;e.altKey?i(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:i,y1:a,x2:l,y2:s,id:o,startColumnType:d,type:h}=this.props,{isHovering:c}=this.state,v=Math.sqrt((i-l)**2+(a-s)**2),p=Math.atan2(s-a,l-i),g=Math.sin(p),m=Math.cos(p)+2,f=window.innerWidth,C=window.innerHeight,E=0,b=0,w=Math.max(E,Math.min(i+(l-i)/2+g*(v*kr)**xr,f)),S=Math.max(b,Math.min(a+(s-a)/2+m*(v*kr)**xr,C)),y="M ".concat(i," ").concat(a," Q ").concat(w," ").concat(S," ").concat(l," ").concat(s),D="M ".concat(E," ").concat(b," L ").concat(E," ").concat(C," L ").concat(f," ").concat(C," L ").concat(f," ").concat(b,` z
5
- `).concat(at.makeCirclePath(i,a,jr),`
6
- `).concat(at.makeCirclePath(l,s,jr)),T="link-select-clip-".concat(o),P=Math.atan2(s-S,l-w),N=P-Ar+Math.PI,_=P+Ar+Math.PI,A=l+Math.cos(P)*_r,V=s+Math.sin(P)*_r,X=A+Math.cos(N)*jt,Q=V+Math.sin(N)*jt,be=A+Math.cos(_)*jt,De=V+Math.sin(_)*jt,Se="".concat(A,",").concat(V," ").concat(X,",").concat(Q," ").concat(be,",").concat(De),xe=.25*i+.5*w+.25*l,_e=.25*a+.5*S+.25*s,Be=w-i+(l-w),we=S-a+(s-S),le=we/Be,tn=20,pe=tn/Math.sqrt(1+le**2),Ee=pe*le,Me=pe*-1,Ne=Ee*-1;Number.isFinite(le)?le>0?(pe*=-1,Ee*=-1,Me*=-1,Ne*=-1,Me-=50-10*(Math.abs(p)%Ue),Ne+=10*(Math.abs(p)%Ue),pe-=50-10*(Math.abs(p)%Ue),Ee+=10*(Math.abs(p)%Ue)):le<0?(Me+=10*(Math.abs(p)%Ue),Ne+=10*(Math.abs(p)%Ue),pe+=10*(Math.abs(p)%Ue),Ee+=10*(Math.abs(p)%Ue)):(Me=15,Ne=10,pe=-25,Ee=10):(Me=10,Ne=5,pe=10,Ee=-35);var Xe="";t!==void 0&&(t==="startsWith"?Xe="a*":t==="endsWith"?Xe="*z":Xe=j.getFilterOperatorString(t));var nn=h!=="chartLink"&&h!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:ce(e,{hovering:c}),children:[u.jsx("clipPath",{id:T,children:u.jsx("path",{d:D,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:y,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(T,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:y}),u.jsx("path",{className:"link-foreground",d:y}),u.jsx("circle",{className:"link-dot",cx:i,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:Se})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[nn&&u.jsx($,{kind:"primary",className:"btn-fab btn-operator",style:{top:_e+(le>=0?Ee:Ne),left:xe+(le>=0?pe:Me)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:Xe}),u.jsx(he,{icon:ll,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(Ta,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx($,{kind:"primary",className:"btn-fab btn-delete",style:{top:_e+(le<0?Ee:Ne),left:xe+(le<0?pe:Me)},onClick:this.handleDelete,icon:En,tooltip:"Delete"})]})]})}}Vi(at,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const zo=at;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 $r(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){xn(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 xn(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=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 dn=W.module("LinkerOverlayContent");class Gi extends F.Component{constructor(e){super(e),xn(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=oe.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){dn.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:i}=e,a=t.getOpenedPanelById(n);if(a!=null){if(!ji(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var l=a.getCoordinateForColumn(i);if(l!=null)return l}catch{dn.error("Could not get coordinate for column",i,a)}}var s=t.getContainerByPanelId(n);if(s==null)throw new Error("Unable to find panel container for id: ".concat(n));return O.getTabPoint(s)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:i}=this.props,a=n.map(l=>l.id===e?$r($r({},l),{},{operator:t}):l);i(a)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),n=Rt(e.x,0,window.innerWidth-t.width),i=Rt(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:n,y:i}})}}handleMouseMove(e){var{offset:t,isDragging:n}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),n&&this.dialogRef.current){var i=this.dialogRef.current.getBoundingClientRect(),a=Rt(window.innerWidth-(e.clientX+i.width+t.x),0,window.innerWidth-i.width),l=Rt(window.innerHeight-(e.clientY+i.height+t.y),0,window.innerHeight-i.height);this.setState({dialog:{x:a,y:l}})}}handleMouseDown(e){e.preventDefault();var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(i=>n(i))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:i,onLinkSelected:a,onLinkDeleted:l,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:h,isDragging:c,mode:v}=this.state,p=t.map(g=>{try{var m,f,{id:C,type:E,isReversed:b,start:w,end:S,operator:y}=g,D=w.columnType,[T,P]=this.getPointFromLinkPoint(w),N=(m=d?.x)!==null&&m!==void 0?m:T,_=(f=d?.y)!==null&&f!==void 0?f:P;if(S!=null&&([N,_]=this.getPointFromLinkPoint(S)),b!=null&&b){var[A,V]=[T,P];[T,P]=[N,_],[N,_]=[A,V]}var X=ce("linker-link",{disabled:e},{"link-filter-source":E==="filterSource"},{"link-invalid":E==="invalid"},{interactive:g.end==null},{"link-is-selected":n.has(C)},{"danger-delete":v==="delete"});return{x1:T,y1:P,x2:N,y2:_,id:C,className:X,operator:y,startColumnType:D,type:E}}catch(Q){return dn.warn("Unable to get point for link",g,Q),null}}).filter(g=>g!=null);return u.jsxs("div",{className:ce("linker-overlay",{"danger-delete":v==="delete"}),children:[p.map(g=>{var{x1:m,y1:f,x2:C,y2:E,id:b,className:w,operator:S,startColumnType:y,type:D}=g;return u.jsx(zo,{className:w,id:b,x1:m,y1:f,x2:C,y2:E,onClick:a,onDelete:l,isSelected:n.has(b),operator:S,startColumnType:y,type:D,onOperatorChanged:this.handleOperatorChanged},b)}),u.jsxs("div",{className:ce("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:h?.y,right:h?.x},"data-testid":"linker-toast-dialog",children:[u.jsx($,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:sl,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&u.jsx(Fa,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:i}),u.jsxs("div",{className:"toast-footer",children:[u.jsx($,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx($,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(Yr,{actions:[{action:this.handleEscapePressed,shortcut:Da.LINKER_CLOSE,isGlobal:!0}]})]})}}xn(Gi,"defaultProps",{disabled:"false"});const Wo=Gi;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 Gr(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){Hi(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 Hi(r,e,t){return e=Zo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Zo(r){var e=Yo(r,"string");return typeof e=="symbol"?e:String(e)}function Yo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ee=W.module("Linker"),Qo=(r,e)=>({activeTool:gn(r),dh:ei(r),isolatedLinkerPanelId:Bt(r,e.localDashboardId),links:Dt(r,e.localDashboardId),timeZone:ii(r)}),Xo=Ye(Qo,{setActiveTool:Qr,setDashboardLinks:li,addDashboardLinks:si,deleteDashboardLinks:oi,setDashboardIsolatedLinkerPanelId:fn,setDashboardColumnSelectionValidator:di});class Jo extends F.Component{constructor(e){super(e),Hi(this,"getCachedLinks",I((t,n,i)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),i!==void 0?a.filter(l=>{var s,o;return(l==null||(s=l.start)===null||s===void 0?void 0:s.panelId)===i||(l==null||(o=l.end)===null||o===void 0?void 0:o.panelId)===i||l?.end==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.bind(this),this.handleFilterColumnSelect=this.handleFilterColumnSelect.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:n}=this.props;n!==e.layout&&(this.stopListening(e.layout),this.startListening(n)),t!==e.activeTool&&(this.updateSelectionValidators(),t===fe.DEFAULT&&this.reset())}componentDidCatch(e,t){ee.error("componentDidCatch",e,t)}componentWillUnmount(){var{layout:e}=this.props;this.stopListening(e)}startListening(e){e.on("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.on(de.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(de.DATA_SELECTED,this.handleUpdateValues),t.on(de.STATE_CHANGED,this.handleStateChange),t.on($t.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(ae.CLONED,this.handlePanelCloned),t.on(Y.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(Y.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(ae.CLOSE,this.handlePanelClosed),t.on(ae.CLOSED,this.handlePanelClosed),t.on(ae.DRAGGING,this.handlePanelDragging),t.on(ae.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(de.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(de.DATA_SELECTED,this.handleUpdateValues),t.off(de.STATE_CHANGED,this.handleStateChange),t.off($t.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(ae.CLONED,this.handlePanelCloned),t.off(Y.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(Y.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(ae.CLOSE,this.handlePanelClosed),t.off(ae.CLOSED,this.handlePanelClosed),t.off(ae.DRAGGING,this.handlePanelDragging),t.off(ae.DROPPED,this.handlePanelDropped)}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(fe.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(fe.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){ee.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:n,localDashboardId:i,setActiveTool:a,setDashboardIsolatedLinkerPanelId:l}=this.props,s=O.getIdFromPanel(e),o=n.filter(d=>{var h,c;return((h=d.start)===null||h===void 0?void 0:h.panelId)===s||((c=d.end)===null||c===void 0?void 0:c.panelId)===s});if(!this.isOverlayShown()&&s!=null){a(fe.LINKER),l(i,s),o.length===0&&this.columnSelected(e,t,!0,s);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){ee.debug("handleColumnsChanged",e,t);var{links:n}=this.props,i=O.getIdFromPanel(e);if(i==null){ee.error("Invalid panelId",e);return}var a=n.filter(l=>{var{start:s,end:o}=l;return s.panelId===i&&qe.findColumn(t,s)==null||o!=null&&o.panelId===i&&qe.findColumn(t,o)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!Ir(t)){ee.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3?arguments[3]:void 0;if(!(i===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:l}=this.state,s=O.getIdFromPanel(e);if(s!=null){var o=O.getComponentNameFromPanel(e),{name:d,type:h}=t;if(l==null||l.start==null){var c={id:Ce.generate(),start:{panelId:s,panelComponent:o,columnName:d,columnType:h},type:"invalid",isReversed:n};ee.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:v}=this.props,{start:p,id:g,isReversed:m}=l,f={panelId:s,panelComponent:o,columnName:d,columnType:h},C=qe.getLinkType(m!==void 0&&m?f:p,m!==void 0&&m?p:f,i??a);switch(C){case"invalid":ee.debug("Ignore invalid link connection",l,f);return;case"filterSource":{var E=m!==void 0&&m?p.panelId:f.panelId,b=v.filter(T=>{var{end:P}=T;return P?.panelId===E});this.deleteLinks(b);break}case"chartLink":{var w=m===!0?p:f,S=m===!0?f:p;ee.debug("creating chartlink",{existingLinkEnd:w,start:p,end:f});var y=v.filter(T=>{var{end:P,start:N}=T;return N?.panelId===S.panelId&&P?.panelId===w.panelId&&P?.columnName===w.columnName&&P?.columnType===w.columnType});this.deleteLinks(y);break}}var D={start:m!==void 0&&m?f:p,end:m!==void 0&&m?p:f,id:g,type:C,operator:Ct.eq};ee.info("creating link",D),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([D])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:i,columnName:a,columnType:l}=n,s=t.getOpenedPanelById(i);s?Rr(s)?s.unsetFilterValue(a,l):ee.debug("endPanel.unsetFilterValue not implemented",s):ee.debug("endPanel no longer exists, ignoring unsetFilterValue",i)}}setPanelFilterMap(e,t){ee.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,i=n.getOpenedPanelById(e);i?Rr(i)?i.setFilterMap(t):ee.debug("panel.setFilterMap not implemented",e,i):ee.debug("panel no longer exists, ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:n}=this.props;t(n,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:n}=this.props;if(e.forEach(l=>this.unsetFilterValueForLink(l)),t){var{setDashboardLinks:i}=this.props;i(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(l=>{var{id:s}=l;return s}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(i=>{var a,l;return(i==null||(a=i.start)===null||a===void 0?void 0:a.panelId)===t||(i==null||(l=i.end)===null||l===void 0?void 0:l.panelId)===t});this.deleteLinks(n)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,n=t.find(i=>i.id===e);n?this.deleteLinks([n]):ee.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var n=O.getIdFromPanel(e),{dh:i,links:a,timeZone:l}=this.props,s=new Map,o=0;o<a.length;o+=1){var{start:d,end:h,operator:c}=a[o];if(d.panelId===n&&h!=null){var{panelId:v,columnName:p,columnType:g}=h,m=s.has(v)?s.get(v):new Map,f=m.has(p)===!0?m.get(p).filterList:[],{visibleIndex:C,isExpandable:E,isGrouped:b}=t[d.columnName],{value:w}=t[d.columnName],S="".concat(w);if(w===null&&E&&b&&(w=void 0),g!=null&&j.isDateType(g)){var y=new ti(i,{timeZone:l,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Ma.FULL_DATE_FORMAT});S=y.format(w)}var D={operator:c,text:S,value:w,startColumnIndex:C};f.push(D),m.set(p,{columnType:g,filterList:f}),s.set(v,m)}}s.forEach((T,P)=>{this.setPanelFilterMap(P,T)})}handlePanelCloned(e,t){var{links:n}=this.props,i=O.getIdFromPanel(e),a=t.id;if(i!=null){var l=qe.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){ee.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===fe.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case fe.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){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:i}=this.props;if(t==null)return n?.start!=null&&this.updateLinkInProgressType(),!1;if(!Ir(t))return ee.debug2("Column is not filterable",t.description),n?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(n?.start==null)return!0;var{isReversed:a,start:l}=n,s=O.getIdFromPanel(e);if(s==null)return!1;var o={panelId:s,panelComponent:O.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},d=a!==void 0&&a?qe.getLinkType(o,l,i):qe.getLinkType(l,o,i);return this.updateLinkInProgressType(d),d!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:i,selectedIds:a,isDraggingPanel:l}=this.state,s=this.isOverlayShown(),o=i!=null&&i.start!=null,d=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return l?null:u.jsx(cn,{in:s,timeout:pn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(Wo,{disabled:o,panelManager:n,links:this.getCachedLinks(e,i,t),selectedIds:a,messageText:d,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel})})}}var ed=Xo(Jo);const td=ed;function Bi(r){Mt(r);var{id:e,layout:t,panelManager:n}=r;return u.jsx(td,{layout:t,localDashboardId:e,panelManager:n})}var nd={name:"LinkerPlugin",type:He.DASHBOARD_PLUGIN,component:Bi};const rd=nd;function zi(r,e,t){return e=id(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function id(r){var e=ad(r,"string");return typeof e=="symbol"?e:String(e)}function ad(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class ut{static getNewMarkdownTitle(e){for(var t="".concat(ut.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(ut.DEFAULT_TITLE,"-").concat(n);return t}}zi(ut,"DEFAULT_TITLE","Note");zi(ut,"DEFAULT_CONTENT",`# Markdown Note
4
+ `).concat(s," does not exist yet.")}if(i){var{widgetName:o}=this.props;return"".concat(o," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:n,isLoaded:i,isLoading:a,glContainer:l,glEventHub:s,isDisconnected:o,isClonable:d,isRenamable:c,showTabTooltip:h,renderTabTooltip:v,widgetType:p,widgetName:g,description:m,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:b,onResize:w,onShow:S,onTabBlur:y,onTabFocus:D,onTabClicked:T}=this.props,{isPanelDisconnected:P,isWidgetDisconnected:N,isPanelInactive:x}=this.state,A=this.getErrorMessage(),V=v??this.getCachedRenderTabTooltip(h,l,p,g,m),Q=[{title:"Copy ".concat(p," Name"),group:Zr.groups.medium,order:20,action:this.handleCopyName}];return u.jsxs(Ft,{className:ce(t,{disconnected:P||N||o,inactive:x}),componentPanel:n,glContainer:l,glEventHub:s,onClearAllFilters:f,onHide:C,onFocus:E,onBlur:b,onResize:w,onShow:S,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:y,onTabFocus:D,onTabClicked:T,renderTabTooltip:V,errorMessage:A,isLoaded:i,isLoading:a,isClonable:d,isRenamable:c,additionalActions:Q,children:[e,x&&u.jsx("div",{className:"fill-parent-absolute"})]})}}Ci(bi,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const Lt=bi;function Si(r){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:i,onOpenLinker:a,waitingFilterMap:l,waitingInputMap:s}=r,o=F.useMemo(()=>{var g=Array.from(s.keys()),m=g.find(E=>t.get(E)!=null),f=g.find(E=>n.get(E)!=null),C=Pe.join(g.map(E=>'"'.concat(E,'"')));return m!=null&&m&&f!=null&&f?"Use a filter control or linked table to set a value for ".concat(C):m!=null&&m?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,s]),d=F.useMemo(()=>Array.from(e.values()),[e]),c=F.useCallback(g=>{g.stopPropagation(),g.preventDefault(),i(Array.from(l.values()))},[i,l]),h=F.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),v=l.size>0,p=!v&&s.size>0;return u.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":v},{"chart-filter-waiting-input":p}),children:[v&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-filter-list",children:d.map(g=>{var m=l.has(g.name),f=m?qa:Za;return u.jsxs("div",{className:ce("waiting-filter-item",{"is-invalid":m}),children:[u.jsx(he,{icon:f}),g.name]},g.name)})}),u.jsxs("div",{children:[u.jsx(zn,{onClick:c,className:"btn-primary",children:"Add Input Filters"}),u.jsx(zn,{onClick:h,className:"btn-primary",children:"Open Linker Tool"})]})]}),p&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"info-message",children:"Waiting for User Input"}),u.jsx("div",{className:"",children:o})]})]})})}Si.propTypes={columnMap:R.instanceOf(Map).isRequired,inputFilterMap:R.instanceOf(Map).isRequired,linkedColumnMap:R.instanceOf(Map).isRequired,onAdd:R.func.isRequired,onOpenLinker:R.func.isRequired,waitingFilterMap:R.instanceOf(Map).isRequired,waitingInputMap:R.instanceOf(Map).isRequired};function Tt(r){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:i}=r;return u.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:u.jsxs("div",{className:ce("chart-panel-overlay-content"),children:[u.jsx("div",{className:"info-message",children:"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"}),u.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>u.jsx(pi,{className:ce("btn-chart-column-selector",Tt.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}Tt.makeButtonClassName=r=>"btn-chart-column-selector-".concat(r);Tt.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function rt(r){return r.settings!==void 0}function Dn(r){return r.figure!==void 0}function wi(r){if(r==null)return!1;var{settings:e,tableSettings:t}=r;return typeof e=="object"&&typeof t=="object"}function Ei(r){return r!=null&&wi(r.panelState)}function sr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function or(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?sr(Object(t),!0).forEach(function(n){me(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 me(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)}var ie=q.module("ChartPanel"),ds=150;function us(r){return r.inputFilters!=null}function hs(r){return r.panelState!=null}class Yt extends F.Component{constructor(e){super(e),me(this,"panelContainer",void 0),me(this,"pending",void 0),me(this,"getWaitingInputMap",I((l,s,o)=>{if(!l)return new Map;var d=new Map(s);return o.forEach((c,h)=>{d.delete(h)}),d})),me(this,"getWaitingFilterMap",I((l,s,o,d,c)=>{if(!l)return new Map;var h=new Map(s);return o.forEach((v,p)=>{h.delete(p)}),c.forEach((v,p)=>{h.delete(p)}),d.forEach((v,p)=>{h.delete(p)}),h})),me(this,"getInputFilterColumnMap",I((l,s)=>{for(var o=new Map,d=0;d<s.length;d+=1){var c=s[d],{name:h,type:v}=c,p=l.get(h);p!=null&&p.type===v&&o.set(h,c)}return o})),me(this,"getLinkedColumnMap",I((l,s)=>{for(var o=new Map,d=O.getIdFromPanel(this),c=0;c<s.length;c+=1){var h=s[c],v=null;if(h.start!=null&&h.start.panelId===d&&l.has(h.start.columnName)?v=h.start.columnName:h.end&&h.end.panelId===d&&l.has(h.end.columnName)&&(v=h.end.columnName),v!=null&&l.has(v)){var p=l.get(v);M(p),o.set(v,p)}}return o})),me(this,"getSelectorColumns",I((l,s,o)=>Array.from(l.values()).map(d=>({name:d.name,type:d.type,isValid:o?o(this,d):!1,isActive:s.has(d.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=Ze(this.updateModelFromSource.bind(this),ds),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=oe.createRef(),this.pending=new Xr;var{metadata:t,panelState:n}=e,{filterValueMap:i=[],settings:a={}}=n??{};this.state={settings:a,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&rt(t)&&t.settings.isLinked,filterMap:new Map(i),filterValueMap:new Map(i),model:void 0,columnMap:new Map,panelState:n}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:i,makeModel:a}=this.props,{columnMap:l,model:s,filterMap:o,filterValueMap:d,isLinked:c,settings:h}=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(),h!==t.settings&&Xn(s)&&(s.updateSettings(h),this.updatePanelState()),c!==t.isLinked?i&&(c?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):c&&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){ie.debug("startListeningToSource",e);var{model:t}=this.state;M(t);var{dh:n}=t;e.addEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){ie.debug("stopListeningToSource",e);var{model:t}=this.state;M(t);var{dh:n}=t;e.removeEventListener(n.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(n.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(n.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:n}=this.state;e&&!t&&!n&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:n}=this.state;t.emit($t.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:i}=this.props;ie.debug("handleColumnMouseEnter",i,t,n),i&&i(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;ie.debug("handleColumnMouseLeave",e),e&&e(this,void 0)}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:n}=this.props;n(e,void 0),t(fe.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){ie.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:i}=this.props,{filterMap:a,isLinked:l}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),i&&l&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Fe.isCanceled(e)||(ie.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){ie.debug2("updateModelFromSource ignoring",n,i,t);return}var{dh:a}=i;if(this.pending.cancel(),rt(e)){var{settings:l}=e;this.pending.add(a.plot.Figure.create(new ne(a).makeFigureSettings(l,t))).then(s=>{Xn(i)&&i.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:i}=this.state,{tableSettings:a}=t??{};if(e&&us(e.props)&&hs(e.state)){var{inputFilters:l}=e.props,{panelState:s}=e.state;s!=null&&(a=H.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 ie.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(Y.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:i,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&this.loadModelIfNecessary()})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(Y.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Tt.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(n)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var l=a.left+a.width/2,s=a.bottom;return[l,s]}setFilterMap(e){ie.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:c,filterList:h}=o,v=i.get(d);if(!(v==null||v.type!==c)){if(h.length<1){ie.debug("Ignoring empty filterList for column",d);return}var{value:p}=h[0];s.set(d,p),a.get(d)!==p&&(l===null&&(l=new Map(a)),l.set(d,p))}}),{filterValueMap:s,filterMap:(n=l)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:l}=t;if(!l.has(e))return null;l=new Map(t.filterValueMap),l.delete(e);var s=this.getInputFilterColumnMap(i,n);if(s.has(e)){var o,d=a.get(e),c=(o=s.get(e))===null||o===void 0?void 0:o.value;c!=null&&d!==c&&(a=new Map(t.filterMap),c.length>0?a.set(e,c):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:c,value:h}=e[o],v=i.get(d);v!=null&&v.type===c&&(h!=null&&l.get(d)!==h&&(h===""?l.delete(d):l.set(d,h),s.filterMap=l),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return ie.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:c}=e[o],h=i.get(d);if(h!=null&&h.type===c&&l.has(d)){var v=l.get(d);if(a.has(d)){var p=a.get(d);p!==v&&p!=null&&(s=!0,l.set(d,p))}else s=!0,l.delete(d)}}return ie.debug("deleteInputFilters",s),s?{filterMap:l}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:n}=this.state;M(n);var i=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&i.size===0){var a=n.getDefaultTitle(),l=Pe.join(Array.from(t.entries()).map(s=>{var[o,d]=s;return"".concat(o,": ").concat(d)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(l,"</span>")):n.setTitle(l),ie.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else ie.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{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:i,isLinkerActive:a,links:l,metadata:s,settings:o,Plotly:d,containerRef:c}=this.props,{columnMap:h,filterMap:v,error:p,model:g,isActive:m,isDisconnected:f,isLoaded:C,isLoading:E}=this.state,b;rt(s)?b=s.table:Dn(s)?b=s.figure:b=s.name;var w=this.getInputFilterColumnMap(h,i),S=this.getLinkedColumnMap(h,l),y=g!=null?this.getWaitingInputMap(g.isFilterRequired(),h,v):new Map,D=g!=null?this.getWaitingFilterMap(g.isFilterRequired(),h,v,S,w):new Map,T=p!=null?"Unable to open chart. ".concat(p):void 0,P=y.size>0,N=h.size>0&&a;return u.jsx(Lt,{className:ce("iris-chart-panel",{"input-required":P}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:T,isDisconnected:f,isLoading:E,isLoaded:C,widgetName:b,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:C&&g&&u.jsx(mi,{isActive:m,model:g,settings:o,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d,containerRef:c})}),u.jsx(cn,{in:P&&!N&&!E,timeout:pn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Si,{inputFilterMap:w,linkedColumnMap:S,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:h,waitingFilterMap:D,waitingInputMap:y})}),u.jsx(cn,{in:N,timeout:pn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:u.jsx(Tt,{columns:this.getSelectorColumns(h,S,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}me(Yt,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});me(Yt,"displayName","ChartPanel");me(Yt,"COMPONENT","ChartPanel");var cs=(r,e)=>{var{localDashboardId:t,metadata:n}=e,i;n!=null&&rt(n)&&(i=n.sourcePanelId);var a=Ht(r,t),l=Qr(r,t),s=gn(r),o=Bt(r,t),d=s===fe.LINKER&&o===void 0;return{columnSelectionValidator:zt(r,t),isLinkerActive:d,inputFilters:Kt(r,t),links:Dt(r,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?l.get(i):void 0,settings:Cn(r)}},ps=Ye(cs,{setActiveTool:Yr,setDashboardIsolatedLinkerPanelId:fn},null,{forwardRef:!0})(Yt);const Ot=ps;function ve(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=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 kt=q.module("DropdownFilter"),fs=150;class Ie extends F.Component{constructor(e){super(e),ve(this,"dropdownRef",void 0),ve(this,"getCompatibleColumns",I((a,l)=>a!=null?l.filter(s=>{var{type:o}=s;return o!==void 0&&j.isCompatibleType(o,a.columnType)}):[])),ve(this,"getColumnOptions",I((a,l)=>{var s=-1,o=[];return o.push(u.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((d,c)=>{o.push(u.jsx("option",{value:c,children:this.getItemLabel(a,c)},"".concat(d.name,"/").concat(d.type))),l!==null&&d.name===l.name&&d.type===l.type&&(s=c)}),[o,s]})),ve(this,"getSelectedOptionIndex",I((a,l)=>a.indexOf(l))),ve(this,"getValueOptions",I(a=>[u.jsx("option",{value:"-1",children:Ie.PLACEHOLDER},"-1"),...a.map((l,s)=>u.jsx("option",{value:s,children:l??"(null)"},"".concat(s,"/").concat(l)))])),ve(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),ve(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s??void 0})},fs)),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=oe.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,id:Ce(),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(kt.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(),kt.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]:kt.debug2("Selected default item"),kt.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:c,settingsError:h}=this.props,{column:v,disableCancel:p,id:g,isValueShown:m,selectedColumn:f,value:C}=this.state,E=l===null,b=this.getCompatibleColumns(l,t),w=l!=null,S=(e=l?.columnName)!==null&&e!==void 0?e:Ie.SOURCE_BUTTON_PLACEHOLDER,y=v!=null?"".concat(v.name," Filter"):null,[D,T]=this.getColumnOptions(b,f),P=this.getValueOptions(c),N=this.getSelectedOptionIndex(c,C),x=!w||f==null,A=m&&!i,V="source-column-btn-".concat(g),Q="filter-column-select-".concat(g);return u.jsxs(En,{className:"dropdown-filter fill-parent-absolute",isFlipped:A,children:[u.jsx("div",{className:"dropdown-filter-settings-card",children:u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsxs("div",{className:"dropdown-filter-settings-grid",children:[u.jsx("label",{htmlFor:V,children:"Source Column"}),u.jsx(pi,{id:V,isLinked:w,onClick:s,onMouseEnter:o,onMouseLeave:d,className:Ie.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:S}),u.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),u.jsx("label",{htmlFor:Q,children:"Filter Column"}),u.jsx(yt,{id:Q,value:String(T),className:"custom-select",onChange:this.handleColumnChange,disabled:E,children:D}),u.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),h&&u.jsx("div",{className:"error-message text-center",children:h}),w&&u.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:p||m||i,tooltip:i?"Cancel disabled while linker open":void 0,children:"Cancel"}),u.jsx($,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:x||m||i,tooltip:i?"Save disabled while linker open":void 0,children:"Save"})]})]})}),u.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dropdown-filter-column",children:u.jsx("div",{className:"dropdown-filter-column-title",children:y})}),u.jsxs("div",{className:"dropdown-filter-card-content",children:[u.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:u.jsx(yt,{className:"custom-select",value:String(N),ref:this.dropdownRef,onChange:this.handleValueChange,onKeyDown:this.handleDropdownKeyPress,title:"Select Value",children:P})}),h&&u.jsx("div",{className:"error-message mt-3 text-center",children:h})]}),u.jsx("div",{className:"dropdown-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:Sn,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}ve(Ie,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});ve(Ie,"PLACEHOLDER","Select a value...");ve(Ie,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");ve(Ie,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const dr=Ie;function re(r,e,t){return e=gs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function gs(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 z=q.module("DropdownFilterPanel"),bs=250,Ss=(r,e)=>{var{localDashboardId:t}=e,n=O.getIdFromPanel({props:e}),i=Ht(r,t),a=Dt(r,t),l=gn(r),s=Bt(r,t),o=l===fe.LINKER&&(s===void 0||s===n),d=l===fe.LINKER&&s!==void 0&&s!==n;return{columns:bn(r,t),columnSelectionValidator:zt(r,t),dh:Jr(r),isLinkerActive:o,disableLinking:d,settings:Cn(r),panelTableMap:i,dashboardLinks:a}},ws=Ye(Ss,null,null,{forwardRef:!0});class ge extends F.Component{constructor(e){super(e),re(this,"dateTimeFormatter",void 0),re(this,"dropdownFilterRef",void 0),re(this,"panelContainer",void 0),re(this,"pending",void 0),re(this,"cleanup",void 0),re(this,"columnFormats",void 0),re(this,"getCachedValues",ue((h,v,p)=>{var{type:g,name:m}=v;return g!==void 0&&j.isDateType(g)?h.map(f=>this.dateTimeFormatter.format(f)):h.map(f=>f!=null&&g!=null?p.getFormattedString(f,g,m):null)})),re(this,"getCachedPanelLinks",ue((h,v)=>{var p=O.getIdFromPanel(v);return z.debug("getCachedPanelLinks",h,p),h.filter(g=>{var m;return((m=g.end)===null||m===void 0?void 0:m.panelId)===p})})),re(this,"getCachedSource",ue(h=>{z.debug("getCachedSource",h);var v;if(h.length>0){var[p]=h;v=p.start,h.length>1&&z.error("Filter has more that one link",h)}return v})),re(this,"getCachedSourceTable",ue((h,v)=>{var p;if(z.debug("getCachedSourceTable",h,v),v==null)return null;var{panelId:g}=v;return(p=h.get(g))!==null&&p!==void 0?p:null})),re(this,"getCachedSourceColumn",ue((h,v)=>{var p;return z.debug("getCachedSourceColumn",h,v),h==null||v==null?null:(p=h.columns.find(g=>{var{name:m,type:f}=g;return m===v.columnName&&f===v.columnType}))!==null&&p!==void 0?p:null})),this.handleChange=Ze(this.handleChange.bind(this),bs),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=oe.createRef(),this.panelContainer=oe.createRef(),this.pending=new Xr;var{dh:t,panelState:n,settings:i}=e;this.columnFormats=mn.getColumnFormats(i),this.dateTimeFormatter=new ei(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:l=!1,name:s,type:o,timestamp:d}=n??{},c=s!=null&&o!=null?{name:s,type:o}:void 0;this.state={column:c,formatter:new ke(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:l,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value: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),c=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),l!==t.valuesTable&&t.valuesTable!=null&&(z.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(o!==c||s!==d)&&this.updateValuesTable(),o!==c&&(c!==null&&this.stopListeningToSource(c),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>ge.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(ge.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;z.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;z.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 c,h,{panelState:v,timestamp:p,wasFlipped:g,skipUpdate:m}=d,f=v!=null&&n!==v.isValueShown&&a===v.name&&l===v.type&&i===v.value;return s=(c=!m&&n&&(!f||!g))!==null&&c!==void 0?c:!1,s||(o=p),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:(h=o)!==null&&h!==void 0?h: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(){z.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(Y.COLUMN_SELECTED,this,ge.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){z.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];z.debug("sendUpdate",{name:e,type:t,value:n,timestamp:i,excludePanelIds:d}),s.emit(Y.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:i,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),i=this.getSourceTable(t,e);if(z.debug("updateValuesTable",n,i),this.setState({values:[],valuesTable:void 0,error:null}),n==null){z.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),i!=null&&(this.setState({isLoaded:!1,sourceSize:i.size}),this.pending.add(i.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{Fe.isCanceled(a)||(z.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(z.debug("applySourceSorts",i?.sort),n==null||i==null){z.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(z.debug("applySourceFilters",i?.filter),n==null||i==null){z.debug("Table not initialized");return}var a=[...i.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(z.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){z.error("values column is null");return}e.setViewport(0,ge.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=mn.getColumnFormats(e);Wr(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new ke(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){z.error("valuesTable is null");return}var l=this.getValuesColumn(a,i);if(!l){z.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,ge.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:i,glEventHub:a,isLinkerActive:l}=this.props,{column:s,formatter:o,isDisconnected:d,isValueShown:c,value:h,values:v,valuesColumn:p,isLoading:g,isLoaded:m}=this.state,f=this.getSource(t),C=this.getSettingsErrorMessage(),E=this.getPanelErrorMessage(),b=m&&p!=null?this.getCachedValues(v,p,o):[];return u.jsx(Lt,{errorMessage:E,isLoading:g,isLoaded:m,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:u.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:u.jsx(dr,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:c,isLinkerActive:l,disableLinking:n,isLoaded:m,settingsError:C,source:f,value:h,values:b,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}re(ge,"displayName","DropdownFilterPanel");re(ge,"COMPONENT","DropdownFilterPanel");re(ge,"MAX_TABLE_SIZE",256);re(ge,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Es=ws(ge);const Ge=Es;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 _t(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ur(Object(t),!0).forEach(function(n){bt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ur(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function bt(r,e,t){return e=ys(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function ys(r){var e=Ps(r,"string");return typeof e=="symbol"?e:String(e)}function Ps(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var K=q.module("FilterSetManager"),Ts="Enter name...",hr="No Available Filter Sets";class Ut extends F.Component{static animateScreenFlash(){var e,t=document.createElement("div");t.classList.add("screen-flash-overlay"),t.addEventListener("animationend",()=>{t.remove()}),(e=document.querySelector("body"))===null||e===void 0||e.appendChild(t)}constructor(e){super(e),bt(this,"renameInputRef",oe.createRef()),bt(this,"dropdownRef",oe.createRef()),bt(this,"editDropdownRef",oe.createRef()),bt(this,"isRenamingExistingSet",I((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;K.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:i}=this.props;if(K.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:[]}),K.debug("Update sets",n,i),t(n),n.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Ut.animateScreenFlash();var t=Ce(),n=e(),i={id:t,title:"",panels:n};K.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return K.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 K.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){K.error("Renamed set undefined.");return}var l=this.getNameError(t);if(K.debug("handleRenameConfirm",t,l),l!==void 0){this.setState({nameInputError:l});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",o=_t(_t({},n),{},{title:s,restoreFullState:a}),d=i.findIndex(h=>{var{id:v}=h;return v===n.id}),c=[...i];d>=0?(c[d]=o,K.debug("Renamed existing set",c)):(c.push(o),K.debug("Added new set to modified sets",c)),this.setState({editId:o.id,modifiedFilterSets:c,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 K.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 K.debug("Deleted selected set",t,n,a),K.debug("New selection",l,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Ut.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:i,editId:a}=n;if(a===void 0)return K.error("Filter for update not selected."),null;var l=[...i],s=l.findIndex(o=>{var{id:d}=o;return d===a});return s<0?(K.error("Selected set for update not found."),null):(l[s]=_t(_t({},l[s]),{},{panels:t}),K.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 K.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){K.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){K.debug("No filter selected");return}var i=n.find(a=>{var{id:l}=a;return l===e});if(i===void 0){K.debug("Selected id not found in filterSets",e,n);return}K.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,c=this.isNameInputScreen(),h=this.isRenamingExistingSet(a,i),v=a.length===0,p=!c&&v&&o.length===0,g=!c&&!p,m=u.jsxs("div",{className:"fa-layers mr-3",children:[u.jsx(he,{icon:$n,mask:Un,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:Qa,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),f=u.jsxs("div",{className:"fa-layers",children:[u.jsx(he,{icon:$n,mask:Un,transform:"shrink-1 down-5 right-7"}),u.jsx(he,{icon:Ja,transform:"shrink-1 down-5 right-7"})]});return u.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:u.jsxs(En,{className:"w-100 h-100",isFlipped:s,children:[u.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:u.jsxs("div",{className:"filter-set-manager-card-content",children:[p&&u.jsxs("div",{children:[u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:m,children:"Capture filter set"}),u.jsx("div",{className:"py-3 text-muted small",children:"Takes a snapshot of the currently applied filters on all panels, allowing you to restore saved filter sets later."})]}),c&&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:h?"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:Ts,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),u.jsx($,{"data-testid":"rename-confirm-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameConfirm,tooltip:"Save","test-id":"button-save",icon:Ya}),u.jsx($,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:Xa})]}),t!==void 0&&u.jsx("div",{className:"error-message",children:t})]}),u.jsx("div",{className:"form-group",children:u.jsxs(ul,{onChange:this.handleRestoreFullStateChange,value:"".concat(l),children:[u.jsx(Kn,{value:"false",children:"Restore only filters"}),u.jsx(Kn,{value:"true",children:"Restore full table state"})]})})]}),g&&u.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[u.jsxs("div",{className:"form-group",children:[u.jsx("label",{children:"Edit filter sets"}),u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(yt,{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:v,children:[v&&u.jsx("option",{value:"-1",disabled:!0,children:hr}),a.map(C=>{var{id:E,title:b}=C;return u.jsx("option",{value:E,children:b},E)})]}),u.jsx($,{kind:"ghost",onClick:this.handleSetUpdate,disabled:v,icon:f,tooltip:"Update"}),u.jsx($,{kind:"ghost",onClick:this.handleSetEdit,disabled:v,icon:ui,tooltip:"Edit"}),u.jsx($,{kind:"ghost",onClick:this.handleSetDelete,disabled:v,icon:wn,tooltip:"Delete"})]})]}),u.jsx("div",{children:u.jsx($,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:m,children:"Capture new filter set"})}),u.jsxs("div",{className:"py-3 text-right",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",u.jsx($,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),u.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"filter-set-manager-column",children:u.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),u.jsx("div",{className:"filter-set-manager-card-content",children:u.jsx("div",{className:"filter-set-manager-value-input",children:u.jsxs("div",{className:"filter-select-container",children:[u.jsxs(yt,{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d??"-1",className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[o.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:hr}),o.map(C=>{var{id:E,title:b}=C;return u.jsx("option",{value:E,children:b},E)})]}),u.jsx($,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:hi,tooltip:"Apply Filter Set"})]})})}),u.jsx("div",{className:"filter-set-manager-menu",children:u.jsx($,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:u.jsx(he,{icon:Sn,transform:"grow-4"})})})]},"back")]})})}}const yi=Ut;function Mn(r){var e,t,n,i,a,{model:l,widgetName:s,glContainer:o,description:d}=r,c=((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),h=l?.displayString(c,"long"),v=(a=l?.columnCount)!==null&&a!==void 0?a:0,p=l?.displayString(v,"long");return u.jsxs(Nt,{widgetType:"Table",widgetName:s,glContainer:o,description:d,children:[u.jsx("hr",{className:"tab-tooltip-divider"}),u.jsx("span",{children:"Number of Columns"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:p}),u.jsx("span",{children:"Number of Rows"}),u.jsx("span",{className:"tab-tooltip-statistic-value",children:h})]})}Mn.propTypes={glContainer:qr.Container.isRequired,widgetName:R.string.isRequired,description:R.string};Mn.defaultProps={description:null};function Pi(r){if(r==null)return!1;var e=r;return typeof e.table=="string"}function Ti(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 Ve(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){Z(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 Z(r,e,t){return e=Fs(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Fs(r){var e=Ds(r,"string");return typeof e=="symbol"?e:String(e)}function Ds(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=q.module("IrisGridPanel"),Ms=500,Ns={IrisGrid:Wt,IrisGridTableModel:fi,ContextMenuRoot:ma};function pr(r){if(r==null)throw new Error("No metadata provided");if(Ti(r))return r.name;if(Pi(r))return r.table;throw new Error("Unable to determine table name from metadata: ".concat(JSON.stringify(r)))}class lt extends F.PureComponent{constructor(e){super(e),Z(this,"irisGrid",void 0),Z(this,"pluginRef",void 0),Z(this,"modelPromise",void 0),Z(this,"irisGridState",void 0),Z(this,"gridState",void 0),Z(this,"pluginState",void 0),Z(this,"irisGridUtils",void 0),Z(this,"getGridInputFilters",I((n,i)=>H.getInputFiltersForColumns(n,i.filter(a=>{var{value:l,excludePanelIds:s}=a,o=O.getIdFromPanel(this);return l!=null&&(s==null||o!=null&&!s.includes(o))})))),Z(this,"getAlwaysFetchColumns",I((n,i)=>{for(var a=O.getIdFromPanel(this),l=new Set(i),s=0;s<n.length;s+=1){var{start:o}=n[s];o!=null&&o.panelId===a&&l.add(o.columnName)}return[...l]})),Z(this,"getPluginContent",I((n,i,a,l,s)=>{if(!i||!qe(i)||n==null||i.table==null)return null;var o={panel:this,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:l,components:Ns};return u.jsx("div",{className:"iris-grid-plugin",children:u.jsx(n,Ve({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:i,table:i.table,onStateChange:this.handlePluginStateChange,pluginState:s},o))})})),Z(this,"getDehydratedIrisGridPanelState",I((n,i,a,l)=>H.dehydrateIrisGridPanelState(n,{isSelectingPartition:i,partitions:a,advancedSettings:l}))),Z(this,"getDehydratedIrisGridState",I((n,i,a,l,s,o,d,c,h,v,p,g,m,f,C,E,b,w,S,y,D,T)=>(M(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:b,customColumnFormatMap:l,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:E},quickFilters:o,customColumns:d,reverseType:c,rollupConfig:h,showSearchBar:v,searchValue:p,selectDistinctColumns:g,selectedSearchColumns:m,sorts:i,invertSearchColumns:f,pendingDataMap:w,frozenColumns:S,conditionalFormats:y,columnHeaderGroups:D,partitionConfig:T})))),Z(this,"getDehydratedGridState",I((n,i,a,l,s)=>H.dehydrateGridState(n,{isStuckToBottom:l,isStuckToRight:s,movedColumns:i,movedRows:a}))),Z(this,"getCachedPanelState",I((n,i,a,l)=>({irisGridPanelState:n,irisGridState:i,gridState:a,pluginState:l}))),Z(this,"savePanelState",Ze(()=>{var{irisGridState:n,gridState:i,pluginState:a}=this;M(n);var{onPanelStateUpdate:l}=this.props,{model:s,panelState:o,isSelectingPartition:d,partitions:c,advancedSettings:h}=this.state,{advancedFilters:v,aggregationSettings:p,customColumnFormatMap:g,isFilterBarShown:m,quickFilters:f,customColumns:C,reverseType:E,rollupConfig:b,showSearchBar:w,searchValue:S,selectDistinctColumns:y,selectedSearchColumns:D,sorts:T,invertSearchColumns:P,metrics:N,pendingDataMap:x,frozenColumns:A,conditionalFormats:V,columnHeaderGroups:Q,partitionConfig:X}=n;M(s),M(N);var{userColumnWidths:be,userRowHeights:De}=N;M(i);var{isStuckToBottom:Se,isStuckToRight:_e,movedColumns:xe,movedRows:Be}=i,we=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,c,h),this.getDehydratedIrisGridState(s,T,v,g,m,f,C,E,b,w,S,y,D,P,be,De,p,x,A,V,Q,X),this.getDehydratedGridState(s,xe,Be,Se,_e),a);we!==o&&(ye.debug("Saving panel state",this,we),this.setState({panelState:we}),l?.(we))},Ms)),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=oe.createRef(),this.pluginRef=oe.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(hl.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:j.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partitions:[],rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:n}=this.state,{makeModel:i}=this.props;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n)),i!==e.makeModel&&this.initModel()}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return pr(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Fe.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:i}=this.state,a=[];if(this.irisGridUtils=new H(t.dh),n!=null){var{irisGridState:l}=n,{aggregationSettings:s,customColumns:o,selectDistinctColumns:d=[],rollupConfig:c}=Ve(Ve({},l),i);o.length>0&&a.push(h=>{h.customColumns=o}),c!=null&&c.columns.length>0&&a.push(h=>{h.rollupConfig=H.getModelRollupConfig(h.originalColumns,c,s)}),d.length>0&&a.push(h=>{h.selectDistinctColumns=d})}this.setState({model:t,modelQueue:a}),this.initModelQueue(t,a)}initModelQueue(e,t){var n=e;if(t.length===0){this.modelInitialized(n);return}var i=t.shift();ye.debug("initModelQueue",i),i&&i(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){ye.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:i}=n;return i.get(e)===t?null:{advancedSettings:new Map(i).set(e,t)}})}handlePluginFilter(e){var t,n,{model:i}=this.state;M(i);var{columns:a,formatter:l}=i,s=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,l.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,i;return(t=(n=this.pluginRef.current)===null||n===void 0||(i=n.getMenu)===null||i===void 0?void 0:i.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:i}=this.props;n.emit(de.STATE_CHANGED,this),i?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:i}=this.state;t?this.sendColumnsChange(e.detail):(M(n),this.initModelQueue(n,i))}handleTableChanged(e){ye.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(Y.TABLE_CHANGED,this,n)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:i}=this.props,a=this.getTableName(),{panelState:l}=this.state,s=O.getIdFromPanel(this),o;l&&(o=H.extractTableSettings(l,i)),n.emit(de.CREATE_CHART,{metadata:{settings:e,sourcePanelId:s,table:a,tableSettings:o},table:qe(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(de.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(de.DATA_SELECTED,this,t)}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){ye.error(e),this.setState({error:e,isLoading:!1})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleLoadError(e){Fe.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:n}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),qe(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&n!=null&&a!=null){var l=n(a);this.setState({Plugin:l})}t.emit(Y.TABLE_CHANGED,this,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){ye.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(Y.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(_.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(_.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(_.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(_.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(_.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(_.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(_.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(_.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,i,{model:a}=this.state;if(!a)return null;var l=this.irisGrid.current,{gridWrapper:s}=l||{},o=(t=s?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(o==null||o.width<=0||o.height<=0)return null;M(l);var{metrics:d}=l.state;M(d);var{columnHeaderHeight:c,allColumnXs:h,allColumnWidths:v,right:p,columnHeaderMaxDepth:g}=d,m=a.getColumnIndexByName(e);M(m);var f=l.getVisibleColumn(m),C=(n=h.get(f))!==null&&n!==void 0?n:0,E=(i=v.get(f))!==null&&i!==void 0?i:0,b=Math.max(o.left,Math.min(f>p?o.right:o.left+C+E*.5,o.right)),w=o.top+c*g;return[b,w]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;ye.debug("setFilters",t,n);var{model:i,isDisconnected:a}=this.state,l=this.irisGrid.current;if(l==null||a){ye.debug("Ignore setFilters, model disconnected");return}M(i);var{columns:s,formatter:o}=i,d=H.changeFilterColumnNamesToIndexes(i.columns,t).filter(h=>{var[v]=h;return i.isFilterable(v)}),c=H.changeFilterColumnNamesToIndexes(i.columns,n).filter(h=>{var[v]=h;return i.isFilterable(v)});M(this.irisGridUtils),l.clearAllFilters(),l.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,o.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,c,o.timeZone)})}setStateOverrides(e){ye.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:i}=this.state;if(t!=null)try{var{gridState:a,irisGridState:l,irisGridPanelState:s}=t,o=Ve({},n),{quickFilters:d,advancedFilters:c}=o;d&&(o.quickFilters=H.changeFilterColumnNamesToIndexes(e.columns,d)),c&&(o.advancedFilters=H.changeFilterColumnNamesToIndexes(e.columns,c));var{isSelectingPartition:h,partitions:v,advancedSettings:p}=H.hydrateIrisGridPanelState(e,s);M(this.irisGridUtils);var{advancedFilters:g,customColumns:m,customColumnFormatMap:f,isFilterBarShown:C,quickFilters:E,reverseType:b,rollupConfig:w,aggregationSettings:S,sorts:y,userColumnWidths:D,userRowHeights:T,showSearchBar:P,searchValue:N,selectDistinctColumns:x,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:Q,frozenColumns:X,conditionalFormats:be,columnHeaderGroups:De,partitionConfig:Se}=this.irisGridUtils.hydrateIrisGridState(e,Ve(Ve({},l),o)),{isStuckToBottom:_e,isStuckToRight:xe,movedColumns:Be,movedRows:we}=H.hydrateGridState(e,Ve(Ve({},a),i),l.customColumns);this.setState({advancedFilters:g,advancedSettings:p,conditionalFormats:be,customColumns:m,customColumnFormatMap:f,isFilterBarShown:C,isSelectingPartition:h,movedColumns:Be,movedRows:we,partitions:v,quickFilters:E,reverseType:b,rollupConfig:w,aggregationSettings:S,sorts:y,userColumnWidths:D,userRowHeights:T,showSearchBar:P,searchValue:N,selectDistinctColumns:x,selectedSearchColumns:A,invertSearchColumns:V,pendingDataMap:Q,frozenColumns:X,isStuckToBottom:_e,isStuckToRight:xe,columnHeaderGroups:De,partitionConfig:Se})}catch(le){ye.error("loadPanelState failed to load panelState",t,le)}}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:c,panelState:h,user:v,workspace:p,settings:g,theme:m}=this.props,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,conditionalFormats:b,customColumns:w,customColumnFormatMap:S,error:y,isDisconnected:D,isFilterBarShown:T,isSelectingPartition:P,isStuckToBottom:N,isStuckToRight:x,isLoaded:A,isLoading:V,isModelReady:Q,model:X,movedColumns:be,movedRows:De,partitions:Se,partitionConfig:_e,quickFilters:xe,reverseType:Be,rollupConfig:we,sorts:le,userColumnWidths:tn,userRowHeights:pe,showSearchBar:Ee,searchValue:Me,selectDistinctColumns:Ne,selectedSearchColumns:Qe,invertSearchColumns:nn,Plugin:Zi,pluginFilters:Yi,pluginFetchColumns:Xi,pendingDataMap:Qi,frozenColumns:Ji,columnHeaderGroups:ea}=this.state,ta=y!=null?"Unable to open table. ".concat(y):void 0,xn=pr(c),An=(e=X?.description)!==null&&e!==void 0?e:void 0,na=(t=h?.pluginState)!==null&&t!==void 0?t:null,ra=n??this.getPluginContent(Zi,X,v,p,na),{permissions:ia}=v,{canCopy:aa,canDownloadCsv:la}=ia;return u.jsx(Lt,{errorMessage:ta,isDisconnected:D,isLoading:V,isLoaded:A,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:xn,widgetType:"Table",description:An,componentPanel:this,renderTabTooltip:()=>u.jsx(Mn,{model:X,widgetName:xn,glContainer:i,description:An}),children:Q&&X&&u.jsx(Wt,{advancedFilters:f,aggregationSettings:C,advancedSettings:E,alwaysFetchColumns:this.getAlwaysFetchColumns(d,Xi),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",copyCursor:"copy",customColumns:w,customColumnFormatMap:S,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:b,inputFilters:this.getGridInputFilters(X.columns,o),applyInputFiltersOnInit:h==null,isFilterBarShown:T,isSelectingColumn:l!=null,isSelectingPartition:P,isStuckToBottom:N,isStuckToRight:x,movedColumns:be,movedRows:De,partitions:Se,partitionConfig:_e,quickFilters:xe,reverseType:Be,rollupConfig:we,settings:g,sorts:le,userColumnWidths:tn,userRowHeights:pe,model:X,showSearchBar:Ee,searchValue:Me,selectedSearchColumns:Qe,selectDistinctColumns:Ne,invertSearchColumns:nn,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:Yi,pendingDataMap:Qi,canCopy:aa,canDownloadCsv:la,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:Ji,theme:m,columnHeaderGroups:ea,children:ra})})}}Z(lt,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Z(lt,"displayName","IrisGridPanel");Z(lt,"COMPONENT","IrisGridPanel");var Ls=(r,e)=>{var{localDashboardId:t=pa}=e;return{inputFilters:Kt(r,t),links:Dt(r,t),columnSelectionValidator:zt(r,t),user:ha(r),workspace:ca(r),settings:Cn(r)}},Os=Ye(Ls,null,null,{forwardRef:!0})(lt);const st=Os;function wt(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)}var mr=q.module("InputFilter"),ks=150;class ot extends F.Component{constructor(e){super(e),wt(this,"inputRef",void 0),wt(this,"getItemLabel",ue((a,l)=>{var{name:s,type:o}=a[l];if(l>0&&a[l-1].name===s||l<a.length-1&&a[l+1].name===s){var d=o.substring(o.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),wt(this,"sendUpdate",Ze(()=>{var{onChange:a}=this.props,{column:l,value:s,isValueShown:o}=this.state;a({column:l,isValueShown:o,value:s})},ks)),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=oe.createRef();var{column:t,isValueShown:n,value:i}=e;this.state={column:t,selectedColumn:t,value:i,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:i,value:a,isValueShown:l}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),l!==void 0&&l&&l!==t.isValueShown&&this.focusInput(),(i!==t.column||a!==t.value||l!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,n=t[parseInt(e,10)];mr.debug2("handleColumnChange",n),this.setState({selectedColumn:n,value:void 0})}handleInputKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),this.setState(t=>{var{value:n}=t;return n==null?{value:""}:null},()=>{this.sendUpdate(),this.sendUpdate.flush()}))}handleValueChange(e){var{value:t}=e.target;mr.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:i,isValueShown:a}=e,l=t!=null&&n!=null?{name:t,type:n}:void 0,s=a===void 0?{column:l,value:i}:{column:l,value:i,isValueShown:a};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:i,value:a}=this.state,l=a==null||a.length===0?ot.PLACEHOLDER.length:a.length,s=null;if(t!=null){var o=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=o>=0?this.getItemLabel(e,o):t.name}return u.jsxs(En,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[u.jsx("div",{className:"input-filter-settings-card",children:u.jsxs("div",{className:"input-filter-settings-content",children:[u.jsxs("div",{className:"input-filter-settings-grid",children:[u.jsx("label",{children:"Filter Column"}),u.jsxs(yt,{value:String(e.findIndex(d=>d.name===i?.name&&d.type===i?.type)),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((d,c)=>u.jsx("option",{value:c,children:this.getItemLabel(e,c)},"".concat(d.name,"/").concat(d.type))),e.length===0&&u.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),u.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),u.jsxs("div",{className:"input-filter-settings-buttons",children:[u.jsx($,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),u.jsx($,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:i==null,children:"Save"})]})]})}),u.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[u.jsx("div",{className:"input-filter-column",children:u.jsxs("div",{className:"input-filter-column-title",children:[s," Filter"]})}),u.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:u.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:u.jsx("input",{type:"text",ref:this.inputRef,placeholder:ot.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(l+3,"ch")},spellCheck:"false"})})}),u.jsx("div",{className:"input-filter-menu",children:u.jsx($,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:u.jsx(he,{icon:Sn,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}wt(ot,"PLACEHOLDER","Enter value...");wt(ot,"defaultProps",{column:null,isValueShown:!1,value:null});const _s=ot;function Xt(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=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 js=250;class Qt extends F.Component{constructor(e){super(e),Xt(this,"inputFilterRef",void 0),this.handleChange=Ze(this.handleChange.bind(this),js),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=oe.createRef();var{panelState:t}=e,{value:n,isValueShown:i=!1,name:a,type:l,timestamp:s}=t??{};this.state={columns:[],column:a!=null&&l!=null?{name:a,type:l}:void 0,value:n,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:i}=e,a,l;t!=null&&({name:a,type:l}=t);var s=!0,o=Date.now();this.setState(d=>{var c,{panelState:h,timestamp:v,wasFlipped:p,skipUpdate:g}=d,m=h!=null&&n!==h.isValueShown&&a===h.name&&l===h.type&&i===h.value;return s=(c=!g&&n&&(!m||!p))!==null&&c!==void 0?c:!1,s||(o=v),{panelState:{isValueShown:n,name:a,type:l,value:i,timestamp:o},timestamp:o,wasFlipped:m,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,l,i,o)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,i){var{glEventHub:a}=this.props;a.emit(Y.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:i})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(i=>{var{name:a,type:l}=i;return n.name===a&&n.type===l})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:i,isValueShown:a,value:l}=this.state;return u.jsx(Ft,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:u.jsx(_s,{ref:this.inputFilterRef,column:n,columns:i,onChange:this.handleChange,isValueShown:a,value:l})})}}Xt(Qt,"defaultProps",{panelState:null});Xt(Qt,"COMPONENT","InputFilterPanel");Xt(Qt,"displayName","InputFilterPanel");var Vs=(r,e)=>{var{localDashboardId:t}=e;return{columns:bn(r,t)}},$s=Ye(Vs,null,null,{forwardRef:!0})(Qt);const it=$s;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 xt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vr(Object(t),!0).forEach(function(n){Nn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):vr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Nn(r,e,t){return e=Us(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Us(r){var e=Gs(r,"string");return typeof e=="symbol"?e:String(e)}function Gs(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var te=q.module("FilterSetManagerPanel");function Hs(r){return r.setPanelState!=null}class dt extends F.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){te.error("Could not get panel",i);return}var a=O.getComponentNameFromPanel(i),l=O.getIdFromPanel(i);te.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){te.error("Could not get panel container",i);return}var o=O.getComponentConfigFromContainer(s);if(o==null){te.error("Could not get component config from container",s);return}var d=O.getPanelComponentState(o);if(d==null){te.debug("Panel state is null ".concat(l));return}switch(a){case O.getComponentName(lt):{var c;l!=null&&(c=this.getIrisGridPanelFilters(l,d)),c!=null&&t.push({panelId:l,type:a,state:c});break}case O.getComponentName(it):case O.getComponentName(Ge):{var{isValueShown:h,name:v,type:p,value:g}=d;t.push({panelId:l,type:a,state:{isValueShown:h,name:v,type:p,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,i=n.get(e);if(i==null)return te.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:l={}}=t,{advancedFilters:s,quickFilters:o}=a,d;s&&(d=dt.changeFilterIndexesToColumnNames(i,s));var c;return o&&(c=dt.changeFilterIndexesToColumnNames(i,o)),{irisGridState:xt(xt({},a),{},{advancedFilters:d,quickFilters:c}),gridState:xt({},l)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;te.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;te.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:l,type:s,state:o}=a;if(l==null){te.debug("panel is null",l);return}if(!t.has(l)){te.debug("Ignore closed panel",l);return}te.debug("Apply panel filters",l,s,o);var d=t.get(l);switch(s){case O.getComponentName(lt):this.restoreIrisGridFilters(d,o,i);break;case O.getComponentName(it):case O.getComponentName(Ge):this.restoreInputFilterState(d,o);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;te.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,c=O.getIdFromPanel(e);if(c==null){te.error("Panel Id is null.");return}var h=d.get(c);if(h==null){te.error("Unable to get table for panel ".concat(c,"."));return}te.debug("restoreIrisGridFilters",c,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:o,advancedFilters:s})}restoreInputFilterState(e,t){var n=xt({},t);delete n.isValueShown,te.debug("restoreInputFilterState",e,n),e&&Hs(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:i,selectedId:a}=this.state;return u.jsx(Ft,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0,children:u.jsx("div",{className:"input-filter-container h-100 w-100 container",children:u.jsx(yi,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Nn(dt,"defaultProps",{panelState:null});Nn(dt,"COMPONENT","FilterSetManagerPanel");var Bs=(r,e)=>{var{localDashboardId:t}=e;return{filterSets:ni(r,t),dashboardOpenedPanelMap:Qr(r,t),dashboardInputFilters:Kt(r,t),panelTableMap:Ht(r,t)}},zs=Ye(Bs,{setDashboardFilterSets:ti},null,{forwardRef:!0})(dt);const Vt=zs;function Ks(r,e,t){return e=Ws(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ws(r){var e=qs(r,"string");return typeof e=="symbol"?e:String(e)}function qs(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 Fi extends F.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return u.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[u.jsx("div",{className:ce("text-muted","edit-hint",{viewing:e===void 0||!e}),children:u.jsxs("span",{children:["double-click to edit ",u.jsx(he,{icon:ui})]})}),t]})}}Ks(Fi,"defaultProps",{isEditing:!1});function Zs(r,e,t){return e=Ys(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ys(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 Qs=q.module("MarkdownStartPage");class Di extends F.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(Qs.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:i,toBeDeleted:a}=this.state;return u.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:u.jsxs("div",{className:"markdown-panel-start-page-container",children:[u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Start"}),u.jsx("div",{className:"list-item",children:u.jsx($,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),u.jsxs("div",{className:"markdown-panel-start-list",children:[u.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(l=>u.jsxs("div",{className:"list-item",children:[u.jsx($,{kind:"ghost",className:"title",onClick:()=>t(l),children:l.title}),u.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(l)},children:u.jsx(he,{icon:wn})})]},l.id)),u.jsxs(el,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal",children:[u.jsx(tl,{children:"Are you sure you want to permanently delete this note?"}),u.jsx(nl,{children:"You can't undo this action."}),u.jsxs(va,{children:[u.jsx($,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),u.jsx($,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}Zs(Di,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const Js=Di;function Et(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 no=F.lazy(()=>vl(()=>import("./MarkdownEditor-d2357767.js"),["./MarkdownEditor-d2357767.js","./vendor-beec23d9.js","./helpers-de833af9.js","./vendor-fac43f8b.css","./ControlType-1b90d1e3.js","./index-02750775.js","./monaco-b5248072.js","./monaco-f18fde03.css","./index-62b3c9c5.css","./plotly-a5b1f68a.js","./ControlType-6e767efe.css"],import.meta.url)),At=q.module("MarkdownPanel");class Ln extends F.Component{constructor(e){super(e),Et(this,"markdownEditor",void 0),Et(this,"editor",void 0),Et(this,"getClosedMarkdowns",I(i=>i.filter(a=>a.component==="MarkdownPanel").reverse())),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,n=null;t!=null&&t.content!=null&&({content:n}=t),this.state={isStartPageShown:n==null,isEditing:!1,content:n,panelState:t},this.markdownEditor=null}setEditorPosition(e){M(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t!=null){var n,i,a=t.getBoundingClientRect().top,l=t.scrollTop,s=t.scrollHeight,o=(n=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&n!==void 0?n:0,d=Math.round((l+e-a)/s*o);d>o&&(d=o),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,n=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(n)})}handleEditorInitialized(e){At.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){At.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){At.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,i=O.getComponentConfigFromContainer(t);n.emit(ae.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(ae.DELETE,e)}handleEditorBlur(e){var t;At.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:i,isStartPageShown:a,content:l}=this.state,s=this.getClosedMarkdowns(n);return u.jsx(Ft,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?u.jsx(Js,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):u.jsx(Fi,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick,children:u.jsx(F.Suspense,{fallback:u.jsx(ci,{}),children:u.jsx(no,{ref:o=>{this.markdownEditor=o},isEditing:i,content:l??void 0,onEditorInitialized:this.handleEditorInitialized})})})})}}Et(Ln,"defaultProps",{panelState:null});Et(Ln,"COMPONENT","MarkdownPanel");var ro=(r,e)=>{var{localDashboardId:t}=e;return{closedPanels:fa(r,t)}},io=Ye(ro,null,null,{forwardRef:!0})(Ln);const nt=io;function Mi(r){var{onClick:e}=r,t=F.useRef(null),n=F.useCallback(i=>{var a;(a=t.current)===null||a===void 0||a.blur(),e(i)},[e]);return u.jsxs($,{ref:t,kind:"primary",className:"btn-pandas",onClick:n,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",u.jsxs("span",{children:[u.jsx(he,{icon:hi,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}function fr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function gr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fr(Object(t),!0).forEach(function(n){Jt(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 Jt(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 On extends F.Component{constructor(e){super(e),Jt(this,"irisGridRef",void 0),this.irisGridRef=oe.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){return u.jsx(st,gr(gr({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},this.props),{},{children:u.jsx(Mi,{onClick:this.handleReload})}))}}Jt(On,"defaultProps",{panelState:null});Jt(On,"COMPONENT","PandasPanel");const Ni=On;function Cr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function br(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Cr(a,n,i,l,s,"next",o)}function s(o){Cr(a,n,i,l,s,"throw",o)}l(void 0)})}}function Sr(r,e,t){return e=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=oo(r,"string");return typeof e=="symbol"?e:String(e)}function oo(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 uo{constructor(e){Sr(this,"items",void 0),Sr(this,"onUpdateCallback",void 0),this.items=e}setSearch(e){}setExpanded(e,t){if(e.charAt(e.length-1)==="/")for(var n=0;n<this.items.length;n+=1){var i=this.items[n];Vn(i)&&("".concat(i.filename,"/")===e||i.filename===e)&&(i.isExpanded=t)}return Promise.resolve()}collapseAll(){for(var e=0;e<this.items.length;e+=1){var t=this.items[e];Vn(t)&&(t.isExpanded=!1)}return Promise.resolve()}getViewportData(){return Promise.resolve({items:this.items,offset:0})}getSnapshot(e){return br(function*(){throw new Error("Method not implemented.")})()}setViewport(e){var t=this;return br(function*(){var n,i=yield t.getViewportData();(n=t.onUpdateCallback)===null||n===void 0||n.call(t,i)})()}setFilters(e){}setSorts(e){}setReversed(e){}close(){}onUpdate(e){return this.onUpdateCallback=e,jest.fn()}get size(){return this.items.length}}const ho=uo;function wr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function mt(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){wr(a,n,i,l,s,"next",o)}function s(o){wr(a,n,i,l,s,"throw",o)}l(void 0)})}}function co(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=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 vo{constructor(e){co(this,"items",void 0),this.items=e}getTable(){var e=this;return mt(function*(){return new ho(e.items)})()}saveFile(e){throw new Error("Method not implemented.")}loadFile(e){throw new Error("Method not implemented.")}copyFile(e,t){return mt(function*(){throw new Error("Method not implemented.")})()}deleteFile(e){var t=this;return mt(function*(){t.items=t.items.filter(n=>n.filename!==e)})()}moveFile(e,t){var n=this;return mt(function*(){for(var i=0;i<n.items.length;i+=1)if(n.items[i].filename===e){n.items[i].filename=t,n.items[i].basename=ga.getBaseName(t),n.items[i].id=t;break}})()}info(e){var t=this;return mt(function*(){var n=t.items.filter(a=>a.filename===e);if(n.length===0)throw new Ca;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 fo=vo;function Er(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Gt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Er(Object(t),!0).forEach(function(n){go(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Er(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function go(r,e,t){return e=Co(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Co(r){var e=bo(r,"string");return typeof e=="symbol"?e:String(e)}function bo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}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 So(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 wo(r,e,t,n,i){return vn.apply(this,arguments)}function vn(){return vn=So(function*(r,e,t,n,i){var a,l,s,o;if(rt(t)?(a=t.settings,l=t.table,s=void 0,o=t.tableSettings):(a={},l="",s=Dn(t)?t.figure:t.name,o={}),i!=null&&(i.tableSettings!=null&&(o=i.tableSettings),i.table!=null&&(l=i.table),i.figure!=null&&(s=i.figure),i.settings!=null&&(a=Gt(Gt({},a),i.settings))),s==null&&l==null){var d=yield n();return St.makeModel(r,a,d)}if(s!=null){var c;if(t.type===r.VariableType.FIGURE){var h={name:s,type:r.VariableType.FIGURE};c=yield e(h)}else c=yield n();return St.makeModel(r,a,c)}var v={name:l,type:r.VariableType.TABLE},p=yield e(v);return new H(r).applyTableSettings(p,o,ri(Sa.getState())),St.makeModelFromSettings(r,a,p)}),vn.apply(this,arguments)}var Rn=F.forwardRef((r,e)=>{var t=ht(),n=ba(),i=Ei(r)?r.panelState:void 0,{fetch:a,metadata:l,localDashboardId:s}=r,o=F.useMemo(()=>({metadata:l,localDashboardId:s,makeModel:()=>{if(l==null)throw new Error("Metadata is required for chart panel");return wo(t,n,l,a,i)}}),[l,s,t,n,a,i]);return u.jsx(Ot,Gt(Gt({ref:e},r),o))});Rn.displayName="ChartPanelPlugin";const Eo=Rn;function Pr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function yo(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 Li(r){var e=ht(),[t,n]=F.useState(),{fetch:i}=r;return F.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=yo(function*(){var o=yield i(),d=yield St.makeModel(e,void 0,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,i]),t?u.jsx(mi,{model:t}):null}var Po={name:"ChartPanel",title:"Chart",type:He.WIDGET_PLUGIN,component:Li,panelComponent:Rn,supportedTypes:"Figure",icon:rl};const To=Po;function Oi(r){Mt(r);var{id:e,layout:t}=r,n=ht(),i=F.useCallback(a=>{var{metadata:l,panelId:s=Ce.generate(),table:o}=a,{settings:d}=l,c=()=>St.makeModelFromSettings(n,d,o),h=ne.titleFromSettings(d),v={type:"react-component",component:Ot.COMPONENT,props:{localDashboardId:e,id:s,metadata:l,makeModel:c},title:h,id:s},{root:p}=t;O.openComponent({root:p,config:v})},[n,e,t]);return Te(t.eventHub,de.CREATE_CHART,i),null}var Fo={name:"ChartBuilderPlugin",type:He.DASHBOARD_PLUGIN,component:Oi};const Do=Fo;var vt=q.module("FilterPlugin");function Tr(r,e){return r.concat(e)}function Ri(r){Mt(r);var{id:e,layout:t,registerComponent:n}=r,i=oa(),[a]=F.useState(()=>new Map),[l]=F.useState(()=>new Map),[s]=F.useState(()=>new Map),o=F.useCallback(()=>{var f=Array.from(a.values()).reduce(Tr,[]).sort((b,w)=>{var S=Pe.toLower(b.name),y=Pe.toLower(w.name);if(S!==y)return S>y?1:-1;var D=Pe.toLower(b.type),T=Pe.toLower(w.type);return D!==T?D>T?1:-1:0}).reduce((b,w)=>((b.length===0||Pe.toLower(b[b.length-1].name)!==Pe.toLower(w.name)||Pe.toLower(b[b.length-1].type)!==Pe.toLower(w.type))&&b.push(w),b),[]),C=Array.from(l.values()).reduce(Tr,[]).sort((b,w)=>b.timestamp-w.timestamp),E=new Map(s);vt.debug("sendUpdate",{columns:f,filters:C,tableMap:E}),i(wa(e,{columns:f,filters:C,tableMap:E}))},[i,e,a,l,s]),d=F.useCallback((f,C)=>{vt.debug2("handleColumnsChanged",f,C),a.set(f,[].concat(C)),o()},[a,o]),c=F.useCallback((f,C)=>{vt.debug2("handleFiltersChanged",f,C),l.set(f,[].concat(C)),o()},[l,o]),h=F.useCallback((f,C)=>{vt.debug2("handleTableChanged",f,C),s.set(O.getIdFromPanel(f),C),o()},[s,o]),v=F.useCallback(f=>{vt.debug2("handlePanelUnmount",f),a.delete(f),l.delete(f),s.delete(O.getIdFromPanel(f)),o()},[a,l,s,o]),p=F.useCallback(f=>{var{title:C="DropdownFilter",metadata:E={},panelState:b=null,id:w=Ce.generate(),focusElement:S=O.DEFAULT_FOCUS_SELECTOR,createNewStack:y=!1,dragEvent:D=null}=f,T={type:"react-component",component:Ge.COMPONENT,props:{id:w,metadata:E,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:T,focusElement:S,createNewStack:y,dragEvent:D})},[t,e]),g=F.useCallback(f=>{var{title:C="InputFilter",metadata:E={},panelState:b=null,id:w=Ce.generate(),focusElement:S=O.DEFAULT_FOCUS_SELECTOR,createNewStack:y=!1,dragEvent:D=void 0}=f,T={type:"react-component",component:it.COMPONENT,props:{id:w,metadata:E,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:T,focusElement:S,createNewStack:y,dragEvent:D})},[t,e]),m=F.useCallback(f=>{var{title:C="FilterSets",metadata:E={},panelState:b=null,id:w=Ce.generate(),focusElement:S=O.DEFAULT_FOCUS_SELECTOR,createNewStack:y=!1,dragEvent:D=null}=f,T={type:"react-component",component:Vt.COMPONENT,props:{id:w,metadata:E,panelState:b,localDashboardId:e},title:C,id:w},{root:P}=t;O.openComponent({root:P,config:T,focusElement:S,createNewStack:y,dragEvent:D})},[t,e]);return F.useEffect(function(){var C=[n(Ge.COMPONENT,Ge),n(it.COMPONENT,it),n(Vt.COMPONENT,Vt)];return()=>{C.forEach(E=>E())}},[n]),Te(t.eventHub,Y.COLUMNS_CHANGED,d),Te(t.eventHub,Y.FILTERS_CHANGED,c),Te(t.eventHub,Y.TABLE_CHANGED,h),Te(t.eventHub,Y.OPEN_DROPDOWN,p),Te(t.eventHub,Y.OPEN_INPUT,g),Te(t.eventHub,Y.OPEN_FILTER_SET_MANAGER,m),Te(t.eventHub,ae.UNMOUNT,v),null}var Mo={name:"FilterPlugin",type:He.DASHBOARD_PLUGIN,component:Ri};const No=Mo;var Lo=q.module("@deephaven/app-utils/useTablePlugin");function Ii(){var r=ii(),e=F.useCallback(t=>{var n=r.get(t);if(n!=null){if(Ea(n))return n.component;if(ya(n))return n.TablePlugin}var i="Unable to find table plugin ".concat(t,".");throw Lo.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 Oo(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 ki(r,e,t){var n=ht(),i=Ii(),a=F.useMemo(()=>({loadPlugin:i,localDashboardId:e,makeModel:function(){var l=Oo(function*(){var o=yield r();return Pn.makeModel(n,o)});function s(){return l.apply(this,arguments)}return s}(),metadata:t}),[n,r,e,i,t]);return a}function Dr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Mr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dr(Object(t),!0).forEach(function(n){Ro(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 Ro(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=ko(r,"string");return typeof e=="symbol"?e:String(e)}function ko(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var In=F.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=ki(n,t,i);return u.jsx(st,Mr(Mr({ref:e},r),a))});In.displayName="GridPanelPlugin";const _o=In;function Nr(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function xo(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){Nr(a,n,i,l,s,"next",o)}function s(o){Nr(a,n,i,l,s,"throw",o)}l(void 0)})}}function _i(r){var e=ht(),[t,n]=F.useState(),{fetch:i}=r;return F.useEffect(()=>{var a=!1;function l(){return s.apply(this,arguments)}function s(){return s=xo(function*(){var o=yield i(),d=yield Pn.makeModel(e,o);a||n(d)}),s.apply(this,arguments)}return l(),()=>{a=!0}},[e,i]),t?u.jsx(Wt,{model:t}):null}var Ao={name:"IrisGridPanel",title:"Table",type:He.WIDGET_PLUGIN,component:_i,panelComponent:In,supportedTypes:["Table","TreeTable","HierarchicalTable","PartitionedTable"],icon:il};const jo=Ao;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 $e(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){xi(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 xi(r,e,t){return e=Vo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Vo(r){var e=$o(r,"string");return typeof e=="symbol"?e:String(e)}function $o(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function Ai(r){var e=r;return typeof e.getCoordinateForColumn=="function"}function Or(r){var e=r;return Ai(r)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function Rr(r){var e;return r.description===void 0||!((e=r.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var ft=q.module("LinkerUtils");class en{static getLinkType(e,t,n){var i;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return ft.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return ft.error("PanelComponent should not be null",e,t),"invalid";var a=(i=en.ALLOWED_LINKS.get(e.panelComponent))===null||i===void 0?void 0:i.includes(t.panelComponent);if(a===void 0||!a)return ft.debug2("Incompatible panel components",e,t),"invalid";var{columnType:l}=e,{columnType:s}=t,o=s===null||j.isCompatibleType(l,s);if(!o)return ft.debug2("Incompatible type",l,s),"invalid";switch(t.panelComponent){case O.getComponentName(Ot):return"chartLink";case O.getComponentName(st):return"tableLink";case O.getComponentName(Ge):return"filterSource"}return ft.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:i}=t;return e.find(a=>{var{name:l,type:s}=a;return l===n&&s===i})}static cloneLinksForPanel(e,t,n){var i=[];return e.forEach(a=>{var l;a.start.panelId===t&&a.type!=="filterSource"?i.push($e($e({},a),{},{id:Ce.generate(),start:$e($e({},a.start),{},{panelId:n})})):((l=a.end)===null||l===void 0?void 0:l.panelId)===t&&i.push($e($e({},a),{},{id:Ce.generate(),end:$e($e({},a.end),{},{panelId:n})}))}),i}}xi(en,"ALLOWED_LINKS",new Map([[O.getComponentName(st),[O.getComponentName(st),O.getComponentName(Ot),O.getComponentName(Ge)]]]));const We=en;function ji(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=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 Ho=q.module("LinkerLink"),Ir=.015,kr=1.5,Vi=12,$i=12,_r=2,jt=Math.sqrt(($i*.5)**2+Vi**2),xr=Math.asin($i*.5/Vi),Ar=15,Ue=Math.PI*.5;class at extends F.Component{static makeCirclePath(e,t,n){return"M ".concat(e," ").concat(t," m -").concat(n,",0 a ").concat(n,",").concat(n," 0 1,0 ").concat(n*2,",0 a ").concat(n,",").concat(n," 0 1,0 -").concat(n*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(j.isNumberType(e)||j.isCharType(e))return cl(t);if(j.isTextType(e))return pl(t);if(j.isDateType(e))return ml(t);if(j.isBooleanType(e)){if(t===Ct.eq)return"is equal to";if(t===Ct.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return Ho.warn(n),""}}constructor(e){super(e),ji(this,"getOperators",I((t,n)=>{var{onOperatorChanged:i}=this.props,a=j.getFilterTypes(n);return j.isBooleanType(n)&&(a=[Ct.eq,Ct.notEq]),a.flatMap((l,s)=>{if(l==="eqIgnoreCase"||l==="notEqIgnoreCase")return[];var o="";return l==="startsWith"?o="a*":l==="endsWith"?o="*z":o=j.getFilterOperatorString(l),[{title:at.getLabelForLinkFilter(n,l),icon:u.jsx("b",{children:o}),action:()=>i(t,l),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:i}=this.props;e.altKey?i(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:i,y1:a,x2:l,y2:s,id:o,startColumnType:d,type:c}=this.props,{isHovering:h}=this.state,v=Math.sqrt((i-l)**2+(a-s)**2),p=Math.atan2(s-a,l-i),g=Math.sin(p),m=Math.cos(p)+2,f=window.innerWidth,C=window.innerHeight,E=0,b=0,w=Math.max(E,Math.min(i+(l-i)/2+g*(v*Ir)**kr,f)),S=Math.max(b,Math.min(a+(s-a)/2+m*(v*Ir)**kr,C)),y="M ".concat(i," ").concat(a," Q ").concat(w," ").concat(S," ").concat(l," ").concat(s),D="M ".concat(E," ").concat(b," L ").concat(E," ").concat(C," L ").concat(f," ").concat(C," L ").concat(f," ").concat(b,` z
5
+ `).concat(at.makeCirclePath(i,a,Ar),`
6
+ `).concat(at.makeCirclePath(l,s,Ar)),T="link-select-clip-".concat(o),P=Math.atan2(s-S,l-w),N=P-xr+Math.PI,x=P+xr+Math.PI,A=l+Math.cos(P)*_r,V=s+Math.sin(P)*_r,Q=A+Math.cos(N)*jt,X=V+Math.sin(N)*jt,be=A+Math.cos(x)*jt,De=V+Math.sin(x)*jt,Se="".concat(A,",").concat(V," ").concat(Q,",").concat(X," ").concat(be,",").concat(De),_e=.25*i+.5*w+.25*l,xe=.25*a+.5*S+.25*s,Be=w-i+(l-w),we=S-a+(s-S),le=we/Be,tn=20,pe=tn/Math.sqrt(1+le**2),Ee=pe*le,Me=pe*-1,Ne=Ee*-1;Number.isFinite(le)?le>0?(pe*=-1,Ee*=-1,Me*=-1,Ne*=-1,Me-=50-10*(Math.abs(p)%Ue),Ne+=10*(Math.abs(p)%Ue),pe-=50-10*(Math.abs(p)%Ue),Ee+=10*(Math.abs(p)%Ue)):le<0?(Me+=10*(Math.abs(p)%Ue),Ne+=10*(Math.abs(p)%Ue),pe+=10*(Math.abs(p)%Ue),Ee+=10*(Math.abs(p)%Ue)):(Me=15,Ne=10,pe=-25,Ee=10):(Me=10,Ne=5,pe=10,Ee=-35);var Qe="";t!==void 0&&(t==="startsWith"?Qe="a*":t==="endsWith"?Qe="*z":Qe=j.getFilterOperatorString(t));var nn=c!=="chartLink"&&c!=="filterSource";return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{className:ce(e,{hovering:h}),children:[u.jsx("clipPath",{id:T,children:u.jsx("path",{d:D,clipRule:"evenodd"})}),u.jsx("path",{className:"link-select",d:y,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(T,")"),"data-testid":"link-select"}),u.jsx("path",{className:"link-background",d:y}),u.jsx("path",{className:"link-foreground",d:y}),u.jsx("circle",{className:"link-dot",cx:i,cy:a,r:"5"}),u.jsx("polygon",{className:"link-triangle",points:Se})]}),d!=null&&n&&u.jsxs(u.Fragment,{children:[nn&&u.jsx($,{kind:"primary",className:"btn-fab btn-operator",style:{top:xe+(le>=0?Ee:Ne),left:_e+(le>=0?pe:Me)},onClick:()=>{},icon:u.jsxs("div",{className:"fa-md fa-layers",children:[u.jsx("b",{children:Qe}),u.jsx(he,{icon:al,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:u.jsx(Pa,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),u.jsx($,{kind:"primary",className:"btn-fab btn-delete",style:{top:xe+(le<0?Ee:Ne),left:_e+(le<0?pe:Me)},onClick:this.handleDelete,icon:wn,tooltip:"Delete"})]})]})}}ji(at,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const Bo=at;function jr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Vr(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jr(Object(t),!0).forEach(function(n){kn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):jr(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function kn(r,e,t){return e=zo(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function zo(r){var e=Ko(r,"string");return typeof e=="symbol"?e:String(e)}function Ko(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 dn=q.module("LinkerOverlayContent");class Ui extends F.Component{constructor(e){super(e),kn(this,"dialogRef",void 0),this.handleBlur=this.handleBlur.bind(this),this.handleResize=this.handleResize.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleEscapePressed=this.handleEscapePressed.bind(this),this.handleOperatorChanged=this.handleOperatorChanged.bind(this),this.dialogRef=oe.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){dn.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:i}=e,a=t.getOpenedPanelById(n);if(a!=null){if(!Ai(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var l=a.getCoordinateForColumn(i);if(l!=null)return l}catch{dn.error("Could not get coordinate for column",i,a)}}var s=t.getContainerByPanelId(n);if(s==null)throw new Error("Unable to find panel container for id: ".concat(n));return O.getTabPoint(s)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:i}=this.props,a=n.map(l=>l.id===e?Vr(Vr({},l),{},{operator:t}):l);i(a)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),n=Rt(e.x,0,window.innerWidth-t.width),i=Rt(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:n,y:i}})}}handleMouseMove(e){var{offset:t,isDragging:n}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),n&&this.dialogRef.current){var i=this.dialogRef.current.getBoundingClientRect(),a=Rt(window.innerWidth-(e.clientX+i.width+t.x),0,window.innerWidth-i.width),l=Rt(window.innerHeight-(e.clientY+i.height+t.y),0,window.innerHeight-i.height);this.setState({dialog:{x:a,y:l}})}}handleMouseDown(e){e.preventDefault();var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(i=>n(i))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:i,onLinkSelected:a,onLinkDeleted:l,onAllLinksDeleted:s,onDone:o}=this.props,{mouse:d,dialog:c,isDragging:h,mode:v}=this.state,p=t.map(g=>{try{var m,f,{id:C,type:E,isReversed:b,start:w,end:S,operator:y}=g,D=w.columnType,[T,P]=this.getPointFromLinkPoint(w),N=(m=d?.x)!==null&&m!==void 0?m:T,x=(f=d?.y)!==null&&f!==void 0?f:P;if(S!=null&&([N,x]=this.getPointFromLinkPoint(S)),b!=null&&b){var[A,V]=[T,P];[T,P]=[N,x],[N,x]=[A,V]}var Q=ce("linker-link",{disabled:e},{"link-filter-source":E==="filterSource"},{"link-invalid":E==="invalid"},{interactive:g.end==null},{"link-is-selected":n.has(C)},{"danger-delete":v==="delete"});return{x1:T,y1:P,x2:N,y2:x,id:C,className:Q,operator:y,startColumnType:D,type:E}}catch(X){return dn.warn("Unable to get point for link",g,X),null}}).filter(g=>g!=null);return u.jsxs("div",{className:ce("linker-overlay",{"danger-delete":v==="delete"}),children:[p.map(g=>{var{x1:m,y1:f,x2:C,y2:E,id:b,className:w,operator:S,startColumnType:y,type:D}=g;return u.jsx(Bo,{className:w,id:b,x1:m,y1:f,x2:C,y2:E,onClick:a,onDelete:l,isSelected:n.has(b),operator:S,startColumnType:y,type:D,onOperatorChanged:this.handleOperatorChanged},b)}),u.jsxs("div",{className:ce("linker-toast-dialog",{dragging:h}),ref:this.dialogRef,style:{bottom:c?.y,right:c?.x},"data-testid":"linker-toast-dialog",children:[u.jsx($,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:ll,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!h&&u.jsx(Ta,{children:"Drag to reposition"})}),u.jsx("div",{className:"toast-body",children:i}),u.jsxs("div",{className:"toast-footer",children:[u.jsx($,{kind:"secondary",onClick:s,children:"Clear All"}),u.jsx($,{kind:"primary",onClick:o,children:"Done"})]})]}),u.jsx(Zr,{actions:[{action:this.handleEscapePressed,shortcut:Fa.LINKER_CLOSE,isGlobal:!0}]})]})}}kn(Ui,"defaultProps",{disabled:"false"});const Wo=Ui;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){Gi(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 Gi(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=Zo(r,"string");return typeof e=="symbol"?e:String(e)}function Zo(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}var ee=q.module("Linker"),Yo=(r,e)=>({activeTool:gn(r),dh:Jr(r),isolatedLinkerPanelId:Bt(r,e.localDashboardId),links:Dt(r,e.localDashboardId),timeZone:ri(r)}),Xo=Ye(Yo,{setActiveTool:Yr,setDashboardLinks:ai,addDashboardLinks:li,deleteDashboardLinks:si,setDashboardIsolatedLinkerPanelId:fn,setDashboardColumnSelectionValidator:oi});class Qo extends F.Component{constructor(e){super(e),Gi(this,"getCachedLinks",I((t,n,i)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),i!==void 0?a.filter(l=>{var s,o;return(l==null||(s=l.start)===null||s===void 0?void 0:s.panelId)===i||(l==null||(o=l.end)===null||o===void 0?void 0:o.panelId)===i||l?.end==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.bind(this),this.handleFilterColumnSelect=this.handleFilterColumnSelect.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:n}=this.props;n!==e.layout&&(this.stopListening(e.layout),this.startListening(n)),t!==e.activeTool&&(this.updateSelectionValidators(),t===fe.DEFAULT&&this.reset())}componentDidCatch(e,t){ee.error("componentDidCatch",e,t)}componentWillUnmount(){var{layout:e}=this.props;this.stopListening(e)}startListening(e){e.on("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.on(de.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(de.DATA_SELECTED,this.handleUpdateValues),t.on(de.STATE_CHANGED,this.handleStateChange),t.on($t.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(ae.CLONED,this.handlePanelCloned),t.on(Y.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(Y.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(ae.CLOSE,this.handlePanelClosed),t.on(ae.CLOSED,this.handlePanelClosed),t.on(ae.DRAGGING,this.handlePanelDragging),t.on(ae.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(de.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(de.DATA_SELECTED,this.handleUpdateValues),t.off(de.STATE_CHANGED,this.handleStateChange),t.off($t.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(ae.CLONED,this.handlePanelCloned),t.off(Y.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(Y.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(ae.CLOSE,this.handlePanelClosed),t.off(ae.CLOSED,this.handlePanelClosed),t.off(ae.DRAGGING,this.handlePanelDragging),t.off(ae.DROPPED,this.handlePanelDropped)}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(fe.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(fe.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){ee.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:n,localDashboardId:i,setActiveTool:a,setDashboardIsolatedLinkerPanelId:l}=this.props,s=O.getIdFromPanel(e),o=n.filter(d=>{var c,h;return((c=d.start)===null||c===void 0?void 0:c.panelId)===s||((h=d.end)===null||h===void 0?void 0:h.panelId)===s});if(!this.isOverlayShown()&&s!=null){a(fe.LINKER),l(i,s),o.length===0&&this.columnSelected(e,t,!0,s);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){ee.debug("handleColumnsChanged",e,t);var{links:n}=this.props,i=O.getIdFromPanel(e);if(i==null){ee.error("Invalid panelId",e);return}var a=n.filter(l=>{var{start:s,end:o}=l;return s.panelId===i&&We.findColumn(t,s)==null||o!=null&&o.panelId===i&&We.findColumn(t,o)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!Rr(t)){ee.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3?arguments[3]:void 0;if(!(i===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:l}=this.state,s=O.getIdFromPanel(e);if(s!=null){var o=O.getComponentNameFromPanel(e),{name:d,type:c}=t;if(l==null||l.start==null){var h={id:Ce.generate(),start:{panelId:s,panelComponent:o,columnName:d,columnType:c},type:"invalid",isReversed:n};ee.debug("starting link",h),this.setState({linkInProgress:h})}else{var{links:v}=this.props,{start:p,id:g,isReversed:m}=l,f={panelId:s,panelComponent:o,columnName:d,columnType:c},C=We.getLinkType(m!==void 0&&m?f:p,m!==void 0&&m?p:f,i??a);switch(C){case"invalid":ee.debug("Ignore invalid link connection",l,f);return;case"filterSource":{var E=m!==void 0&&m?p.panelId:f.panelId,b=v.filter(T=>{var{end:P}=T;return P?.panelId===E});this.deleteLinks(b);break}case"chartLink":{var w=m===!0?p:f,S=m===!0?f:p;ee.debug("creating chartlink",{existingLinkEnd:w,start:p,end:f});var y=v.filter(T=>{var{end:P,start:N}=T;return N?.panelId===S.panelId&&P?.panelId===w.panelId&&P?.columnName===w.columnName&&P?.columnType===w.columnType});this.deleteLinks(y);break}}var D={start:m!==void 0&&m?f:p,end:m!==void 0&&m?p:f,id:g,type:C,operator:Ct.eq};ee.info("creating link",D),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([D])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:i,columnName:a,columnType:l}=n,s=t.getOpenedPanelById(i);s?Or(s)?s.unsetFilterValue(a,l):ee.debug("endPanel.unsetFilterValue not implemented",s):ee.debug("endPanel no longer exists, ignoring unsetFilterValue",i)}}setPanelFilterMap(e,t){ee.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,i=n.getOpenedPanelById(e);i?Or(i)?i.setFilterMap(t):ee.debug("panel.setFilterMap not implemented",e,i):ee.debug("panel no longer exists, ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:n}=this.props;t(n,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:n}=this.props;if(e.forEach(l=>this.unsetFilterValueForLink(l)),t){var{setDashboardLinks:i}=this.props;i(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(l=>{var{id:s}=l;return s}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(i=>{var a,l;return(i==null||(a=i.start)===null||a===void 0?void 0:a.panelId)===t||(i==null||(l=i.end)===null||l===void 0?void 0:l.panelId)===t});this.deleteLinks(n)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,n=t.find(i=>i.id===e);n?this.deleteLinks([n]):ee.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var n=O.getIdFromPanel(e),{dh:i,links:a,timeZone:l}=this.props,s=new Map,o=0;o<a.length;o+=1){var{start:d,end:c,operator:h}=a[o];if(d.panelId===n&&c!=null){var{panelId:v,columnName:p,columnType:g}=c,m=s.has(v)?s.get(v):new Map,f=m.has(p)===!0?m.get(p).filterList:[],{visibleIndex:C,isExpandable:E,isGrouped:b}=t[d.columnName],{value:w}=t[d.columnName],S="".concat(w);if(w===null&&E&&b&&(w=void 0),g!=null&&j.isDateType(g)){var y=new ei(i,{timeZone:l,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Da.FULL_DATE_FORMAT});S=y.format(w)}var D={operator:h,text:S,value:w,startColumnIndex:C};f.push(D),m.set(p,{columnType:g,filterList:f}),s.set(v,m)}}s.forEach((T,P)=>{this.setPanelFilterMap(P,T)})}handlePanelCloned(e,t){var{links:n}=this.props,i=O.getIdFromPanel(e),a=t.id;if(i!=null){var l=We.cloneLinksForPanel(n,i,a);this.addLinks(l)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var i=t[n],{start:a,end:l}=i;if(a.panelId===e||l?.panelId===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){ee.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===fe.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case fe.LINKER:t(n,this.isColumnSelectionValid);break;default:t(n,void 0);break}}updateLinkInProgressType(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"invalid";this.setState(t=>{var{linkInProgress:n}=t;return n!==void 0?{linkInProgress:Ur(Ur({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:i}=this.props;if(t==null)return n?.start!=null&&this.updateLinkInProgressType(),!1;if(!Rr(t))return ee.debug2("Column is not filterable",t.description),n?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(n?.start==null)return!0;var{isReversed:a,start:l}=n,s=O.getIdFromPanel(e);if(s==null)return!1;var o={panelId:s,panelComponent:O.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},d=a!==void 0&&a?We.getLinkType(o,l,i):We.getLinkType(l,o,i);return this.updateLinkInProgressType(d),d!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:i,selectedIds:a,isDraggingPanel:l}=this.state,s=this.isOverlayShown(),o=i!=null&&i.start!=null,d=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return l?null:u.jsx(cn,{in:s,timeout:pn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:u.jsx(Wo,{disabled:o,panelManager:n,links:this.getCachedLinks(e,i,t),selectedIds:a,messageText:d,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel})})}}var Jo=Xo(Qo);const ed=Jo;function Hi(r){Mt(r);var{id:e,layout:t,panelManager:n}=r;return u.jsx(ed,{layout:t,localDashboardId:e,panelManager:n})}var td={name:"LinkerPlugin",type:He.DASHBOARD_PLUGIN,component:Hi};const nd=td;function Bi(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)}class ut{static getNewMarkdownTitle(e){for(var t="".concat(ut.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(ut.DEFAULT_TITLE,"-").concat(n);return t}}Bi(ut,"DEFAULT_TITLE","Note");Bi(ut,"DEFAULT_CONTENT",`# Markdown Note
7
7
 
8
- This note can be edited using **markdown** for styling.`);const un=ut;function Ki(r){Mt(r);var{id:e,layout:t,panelManager:n,registerComponent:i}=r,a=F.useCallback(s=>{var{title:o,componentState:d,props:h}=s,{panelState:c=null}=h;return d!=null&&({panelState:c=null}=d),o==null||c==null||c.content==null||c.content.length===0||c.content===un.DEFAULT_CONTENT?null:Na(s)},[]),l=F.useCallback(function(){var{title:s="",metadata:o={},id:d=Ce.generate(),focusElement:h=O.DEFAULT_FOCUS_SELECTOR,createNewStack:c=!1,dragEvent:v=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(nt.COMPONENT),g=n.getClosedPanelConfigsOfType(nt.COMPONENT),m=p.map(w=>{var S;return(S=w.title)!==null&&S!==void 0?S:""}),f=s!=null&&s!==""?s:un.getNewMarkdownTitle(m),C=g.length>0?null:un.DEFAULT_CONTENT,E={type:"react-component",component:nt.COMPONENT,props:{id:d,metadata:o,panelState:{content:C},localDashboardId:e},title:f,id:d},{root:b}=t;O.openComponent({root:b,config:E,focusElement:h,createNewStack:c,dragEvent:v})},[e,t,n]);return F.useEffect(function(){var o=[i(nt.COMPONENT,nt,La,a)];return()=>{o.forEach(d=>d())}},[a,i]),Te(t.eventHub,ui.OPEN,l),null}var ld={name:"MarkdownPlugin",type:He.DASHBOARD_PLUGIN,component:Ki};const sd=ld;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){od(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 od(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 _n=F.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=xi(n,t,i);return u.jsx(Li,Br(Br({ref:e},r),a))});_n.displayName="PandasPanelPlugin";const hd=_n;function zr(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 hn(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function l(o){zr(a,n,i,l,s,"next",o)}function s(o){zr(a,n,i,l,s,"throw",o)}l(void 0)})}}function qi(r){var e=ht(),[t,n]=F.useState(),[i,a]=F.useState(!0),[l,s]=F.useState(!1),{fetch:o}=r,d=F.useCallback(hn(function*(){var c=yield o();return Tn.makeModel(e,c)}),[e,o]),h=F.useCallback(hn(function*(){a(!0);var c=yield d();n(c),a(!1)}),[d]);return F.useEffect(()=>{var c=!1;function v(){return p.apply(this,arguments)}function p(){return p=hn(function*(){var g=yield d();c||(n(g),s(!0),a(!1))}),p.apply(this,arguments)}return v(),a(!0),()=>{c=!0}},[d]),u.jsxs(u.Fragment,{children:[u.jsx(pi,{isLoaded:l,isLoading:i}),t&&u.jsx(qt,{model:t,children:u.jsx(Ni,{onClick:h})})]})}var cd={name:"PandasPanel",title:"Pandas",type:He.WIDGET_PLUGIN,component:qi,panelComponent:_n,supportedTypes:"pandas.DataFrame",icon:ol};const pd=cd;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 gt(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){md(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 md(r,e,t){return e=vd(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function vd(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 gd=W.module("WidgetLoaderPlugin");function Cd(r){var e;function t(n,i){var a,l=r.component,{metadata:s}=n,o=Ra(l);return u.jsx(Lt,gt(gt({widgetName:(a=s?.name)!==null&&a!==void 0?a:void 0,widgetType:r.title},n),{},{children:o?u.jsx(l,gt(gt({},n),{},{ref:i})):u.jsx(l,gt({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=r.component.displayName)!==null&&e!==void 0?e:r.name,")"),F.forwardRef(t)}function Wi(r){var e=ai(),t=F.useMemo(()=>{var s=new Map;return e.forEach(o=>{Oa(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var h;gd.warn("Multiple WidgetPlugins handling type ".concat(d,". Replacing ").concat((h=s.get(d))===null||h===void 0?void 0:h.name," with ").concat(o.name," to handle ").concat(d))}s.set(d,o)}})}),s},[e]);Mt(r);var{id:n,layout:i,registerComponent:a}=r,l=F.useCallback(s=>{var o,{dragEvent:d,panelId:h=Ce.generate(),fetch:c,widget:v}=s,{type:p}=v,g=p!=null?t.get(p):null;if(g!=null){var m=(o=v.name)!==null&&o!==void 0?o:p,f={localDashboardId:n,metadata:v,fetch:c},C={type:"react-component",component:g.name,props:f,title:m,id:h},{root:E}=i;O.openComponent({root:E,config:C,dragEvent:d})}},[n,i,t]);return F.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?a(o.name,Cd(o)):a(o.name,d)});return()=>{s.forEach(o=>o())}},[a,t]),Te(i.eventHub,ae.OPEN,l),null}var bd={name:"WidgetLoaderPlugin",type:He.DASHBOARD_PLUGIN,component:Wi};const Sd=bd;var wd=R.shape({state:R.shape({panelState:R.shape({})})}),Ed=R.shape({panelId:R.string.isRequired,columnName:R.string.isRequired,columnType:R.string.isRequired}),qr=R.shape({panelId:R.string.isRequired,columnName:R.string.isRequired}),Zi=R.shape({start:qr,end:qr,id:R.string,isReversed:R.bool}),yd=R.arrayOf(Zi),Pd=R.shape({name:R.string.isRequired,operateAs:R.string.isRequired,groups:R.arrayOf(R.string).isRequired,permissions:R.shape({canUsePanels:R.bool.isRequired,canCopy:R.bool.isRequired,canDownloadCsv:R.bool.isRequired,canLogout:R.bool.isRequired}).isRequired}),Td=Object.freeze({LinkPoint:Ed,Link:Zi,Links:yd,Panel:wd,User:Pd});const Fd=Td;var Dd=(r,e)=>r[e]===null?null:R.bool,Md=(r,e)=>r[e]===null?null:R.string,Nd=Object.freeze({nullableBoolean:Dd,nullableString:Md});const Ld=Nd,_d=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:Ri,ChartBuilderPluginConfig:Mo,ChartEvent:$t,ChartPanel:Ot,ChartPanelPlugin:yo,ChartPluginConfig:Fo,ChartWidgetPlugin:Oi,CommandHistoryPanel:Ia,CommonPropTypes:Ld,ConsoleEvent:ka,ConsolePanel:xa,ConsolePlugin:_a,ControlType:Aa,DropdownFilterPanel:Ge,FileExplorerPanel:ja,FilterPlugin:Ii,FilterPluginConfig:Lo,FilterSetManager:Pi,FilterSetManagerPanel:Vt,GridPanelPlugin:_o,GridPluginConfig:Vo,GridWidgetPlugin:_i,InputFilterEvent:Y,InputFilterPanel:it,IrisGridEvent:de,IrisGridPanel:st,LinkerPlugin:Bi,LinkerPluginConfig:rd,LinkerUtils:qe,LogPanel:Va,MarkdownEvent:ui,MarkdownPanel:nt,MarkdownPlugin:Ki,MarkdownPluginConfig:sd,MockFileStorage:go,NotebookEvent:$a,NotebookPanel:Ua,PandasEvent:as,PandasPanel:Li,PandasPanelPlugin:hd,PandasPluginConfig:pd,PandasWidgetPlugin:qi,Panel:Ft,TabEvent:Ga,ToolType:fe,UIPropTypes:Fd,WidgetLoaderPlugin:Wi,WidgetLoaderPluginConfig:Sd,WidgetPanel:Lt,WidgetPanelTooltip:Nt,addDashboardLinks:si,deleteDashboardLinks:oi,getColumnSelectionValidatorForDashboard:zt,getColumnsForDashboard:bn,getDashboardConnection:Ha,getDashboardConsoleSettings:Ba,getDashboardSessionWrapper:za,getFilterSetsForDashboard:ri,getInputFiltersForDashboard:Kt,getIsolatedLinkerPanelIdForDashboard:Bt,getLinksForDashboard:Dt,getTableMapForDashboard:Ht,isChartPanelDehydratedProps:yi,isChartPanelFigureMetadata:Mn,isChartPanelTableMetadata:rt,isGLChartPanelState:Ei,isIrisGridPanelMetadata:Fi,isLegacyIrisGridPanelMetadata:Ti,setDashboardColumnSelectionValidator:di,setDashboardConnection:Ka,setDashboardConsoleSettings:qa,setDashboardFilterSets:ni,setDashboardIsolatedLinkerPanelId:fn,setDashboardLinks:li,setDashboardSessionWrapper:Wa,useLoadTablePlugin:ki},Symbol.toStringTag,{value:"Module"}));export{yn as C,_d as D,Yn as F,Yl as I,St as a,Tn as b,Vl as c,gi as d,fi as e,zl as f,We as g,Xn as i};
9
- //# sourceMappingURL=index-cd1d6020.js.map
8
+ This note can be edited using **markdown** for styling.`);const un=ut;function zi(r){Mt(r);var{id:e,layout:t,panelManager:n,registerComponent:i}=r,a=F.useCallback(s=>{var{title:o,componentState:d,props:c}=s,{panelState:h=null}=c;return d!=null&&({panelState:h=null}=d),o==null||h==null||h.content==null||h.content.length===0||h.content===un.DEFAULT_CONTENT?null:Ma(s)},[]),l=F.useCallback(function(){var{title:s="",metadata:o={},id:d=Ce.generate(),focusElement:c=O.DEFAULT_FOCUS_SELECTOR,createNewStack:h=!1,dragEvent:v=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(nt.COMPONENT),g=n.getClosedPanelConfigsOfType(nt.COMPONENT),m=p.map(w=>{var S;return(S=w.title)!==null&&S!==void 0?S:""}),f=s!=null&&s!==""?s:un.getNewMarkdownTitle(m),C=g.length>0?null:un.DEFAULT_CONTENT,E={type:"react-component",component:nt.COMPONENT,props:{id:d,metadata:o,panelState:{content:C},localDashboardId:e},title:f,id:d},{root:b}=t;O.openComponent({root:b,config:E,focusElement:c,createNewStack:h,dragEvent:v})},[e,t,n]);return F.useEffect(function(){var o=[i(nt.COMPONENT,nt,Na,a)];return()=>{o.forEach(d=>d())}},[a,i]),Te(t.eventHub,di.OPEN,l),null}var ad={name:"MarkdownPlugin",type:He.DASHBOARD_PLUGIN,component:zi};const ld=ad;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){sd(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 sd(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=dd(r,"string");return typeof e=="symbol"?e:String(e)}function dd(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=F.forwardRef((r,e)=>{var{localDashboardId:t,fetch:n,metadata:i}=r,a=ki(n,t,i);return u.jsx(Ni,Hr(Hr({ref:e},r),a))});_n.displayName="PandasPanelPlugin";const ud=_n;function Br(r,e,t,n,i,a,l){try{var s=r[a](l),o=s.value}catch(d){t(d);return}s.done?e(o):Promise.resolve(o).then(n,i)}function hn(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 Ki(r){var e=ht(),[t,n]=F.useState(),[i,a]=F.useState(!0),[l,s]=F.useState(!1),{fetch:o}=r,d=F.useCallback(hn(function*(){var h=yield o();return Pn.makeModel(e,h)}),[e,o]),c=F.useCallback(hn(function*(){a(!0);var h=yield d();n(h),a(!1)}),[d]);return F.useEffect(()=>{var h=!1;function v(){return p.apply(this,arguments)}function p(){return p=hn(function*(){var g=yield d();h||(n(g),s(!0),a(!1))}),p.apply(this,arguments)}return v(),a(!0),()=>{h=!0}},[d]),u.jsxs(u.Fragment,{children:[u.jsx(ci,{isLoaded:l,isLoading:i}),t&&u.jsx(Wt,{model:t,children:u.jsx(Mi,{onClick:c})})]})}var hd={name:"PandasPanel",title:"Pandas",type:He.WIDGET_PLUGIN,component:Ki,panelComponent:_n,supportedTypes:"pandas.DataFrame",icon:sl};const cd=hd;function zr(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function gt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zr(Object(t),!0).forEach(function(n){pd(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 pd(r,e,t){return e=md(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function md(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 fd=q.module("WidgetLoaderPlugin");function gd(r){var e;function t(n,i){var a,l=r.component,{metadata:s}=n,o=Oa(l);return u.jsx(Lt,gt(gt({widgetName:(a=s?.name)!==null&&a!==void 0?a:void 0,widgetType:r.title},n),{},{children:o?u.jsx(l,gt(gt({},n),{},{ref:i})):u.jsx(l,gt({},n))}))}return t.displayName="WidgetLoaderPlugin(".concat((e=r.component.displayName)!==null&&e!==void 0?e:r.name,")"),F.forwardRef(t)}function Wi(r){var e=ii(),t=F.useMemo(()=>{var s=new Map;return e.forEach(o=>{La(o)&&[o.supportedTypes].flat().forEach(d=>{if(d!=null&&d!==""){if(s.has(d)){var c;fd.warn("Multiple WidgetPlugins handling type ".concat(d,". Replacing ").concat((c=s.get(d))===null||c===void 0?void 0:c.name," with ").concat(o.name," to handle ").concat(d))}s.set(d,o)}})}),s},[e]);Mt(r);var{id:n,layout:i,registerComponent:a}=r,l=F.useCallback(s=>{var o,{dragEvent:d,panelId:c=Ce.generate(),fetch:h,widget:v}=s,{type:p}=v,g=p!=null?t.get(p):null;if(g!=null){var m=(o=v.name)!==null&&o!==void 0?o:p,f={localDashboardId:n,metadata:v,fetch:h},C={type:"react-component",component:g.name,props:f,title:m,id:c},{root:E}=i;O.openComponent({root:E,config:C,dragEvent:d})}},[n,i,t]);return F.useEffect(()=>{var s=[...new Set(t.values())].map(o=>{var{panelComponent:d}=o;return d==null?a(o.name,gd(o)):a(o.name,d)});return()=>{s.forEach(o=>o())}},[a,t]),Te(i.eventHub,ae.OPEN,l),null}var Cd={name:"WidgetLoaderPlugin",type:He.DASHBOARD_PLUGIN,component:Wi};const bd=Cd;var Sd=R.shape({state:R.shape({panelState:R.shape({})})}),wd=R.shape({panelId:R.string.isRequired,columnName:R.string.isRequired,columnType:R.string.isRequired}),Kr=R.shape({panelId:R.string.isRequired,columnName:R.string.isRequired}),qi=R.shape({start:Kr,end:Kr,id:R.string,isReversed:R.bool}),Ed=R.arrayOf(qi),yd=R.shape({name:R.string.isRequired,operateAs:R.string.isRequired,groups:R.arrayOf(R.string).isRequired,permissions:R.shape({canUsePanels:R.bool.isRequired,canCopy:R.bool.isRequired,canDownloadCsv:R.bool.isRequired,canLogout:R.bool.isRequired}).isRequired}),Pd=Object.freeze({LinkPoint:wd,Link:qi,Links:Ed,Panel:Sd,User:yd});const Td=Pd;var Fd=(r,e)=>r[e]===null?null:R.bool,Dd=(r,e)=>r[e]===null?null:R.string,Md=Object.freeze({nullableBoolean:Fd,nullableString:Dd});const Nd=Md,_d=Object.freeze(Object.defineProperty({__proto__:null,ChartBuilderPlugin:Oi,ChartBuilderPluginConfig:Do,ChartEvent:$t,ChartPanel:Ot,ChartPanelPlugin:Eo,ChartPluginConfig:To,ChartWidgetPlugin:Li,CommandHistoryPanel:Ra,CommonPropTypes:Nd,ConsoleEvent:Ia,ConsolePanel:ka,ConsolePlugin:_a,ControlType:xa,DropdownFilterPanel:Ge,FileExplorerPanel:Aa,FilterPlugin:Ri,FilterPluginConfig:No,FilterSetManager:yi,FilterSetManagerPanel:Vt,GridPanelPlugin:_o,GridPluginConfig:jo,GridWidgetPlugin:_i,InputFilterEvent:Y,InputFilterPanel:it,IrisGridEvent:de,IrisGridPanel:st,LinkerPlugin:Hi,LinkerPluginConfig:nd,LinkerUtils:We,LogPanel:ja,MarkdownEvent:di,MarkdownPanel:nt,MarkdownPlugin:zi,MarkdownPluginConfig:ld,MockFileStorage:fo,NotebookEvent:Va,NotebookPanel:$a,PandasEvent:is,PandasPanel:Ni,PandasPanelPlugin:ud,PandasPluginConfig:cd,PandasWidgetPlugin:Ki,Panel:Ft,TabEvent:Ua,ToolType:fe,UIPropTypes:Td,WidgetLoaderPlugin:Wi,WidgetLoaderPluginConfig:bd,WidgetPanel:Lt,WidgetPanelTooltip:Nt,addDashboardLinks:li,deleteDashboardLinks:si,getColumnSelectionValidatorForDashboard:zt,getColumnsForDashboard:bn,getDashboardConnection:Ga,getDashboardConsoleSettings:Ha,getDashboardSessionWrapper:Ba,getFilterSetsForDashboard:ni,getInputFiltersForDashboard:Kt,getIsolatedLinkerPanelIdForDashboard:Bt,getLinksForDashboard:Dt,getTableMapForDashboard:Ht,isChartPanelDehydratedProps:Ei,isChartPanelFigureMetadata:Dn,isChartPanelTableMetadata:rt,isGLChartPanelState:wi,isIrisGridPanelMetadata:Ti,isLegacyIrisGridPanelMetadata:Pi,setDashboardColumnSelectionValidator:oi,setDashboardConnection:za,setDashboardConsoleSettings:Ka,setDashboardFilterSets:ti,setDashboardIsolatedLinkerPanelId:fn,setDashboardLinks:ai,setDashboardSessionWrapper:Wa,useLoadTablePlugin:Ii},Symbol.toStringTag,{value:"Module"}));export{En as C,_d as D,Zn as F,Zl as I,St as a,Pn as b,jl as c,fi as d,vi as e,Bl as f,qe as g,Xn as i};
9
+ //# sourceMappingURL=index-0596c38c.js.map