@deephaven/code-studio 0.49.1-deephaven-ui.6 → 0.49.1-deephaven-ui.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/assets/AppRoot-b34329a6.css +1 -0
- package/build/assets/{AppRoot-48f26556.js → AppRoot-ccc1ad54.js} +15 -15
- package/build/assets/{AppRoot-48f26556.js.map → AppRoot-ccc1ad54.js.map} +1 -1
- package/build/assets/{index-835233d0.js → index-5c5719b7.js} +2 -2
- package/build/assets/{index-835233d0.js.map → index-5c5719b7.js.map} +1 -1
- package/build/assets/index-62a4a9e1.js +6 -0
- package/build/assets/index-62a4a9e1.js.map +1 -0
- package/build/assets/{useUser-1e7374a8.js → useUser-71900395.js} +10 -10
- package/build/assets/{useUser-1e7374a8.js.map → useUser-71900395.js.map} +1 -1
- package/build/index.html +1 -1
- package/package.json +31 -31
- package/build/assets/AppRoot-5fb2a75c.css +0 -1
- package/build/assets/index-326e6a2c.js +0 -6
- package/build/assets/index-326e6a2c.js.map +0 -1
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import{C as l,G as X,r as
|
|
2
|
-
`),a=r>-1,s=n;a&&(s=n.slice(0,r));var o=n.slice(r),d=t?"error-btn-link error-btn-link--active":"error-btn-link";return l.jsxs("div",{className:Z("error-message",{expanded:e}),children:[a&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"error-gutter",children:l.jsx("button",{type:"button",onClick:this.handleToggleError,className:d,tabIndex:-1,children:l.jsx(X,{icon:e?Sn:Bu,transform:"left-3"})})}),l.jsxs("div",{className:"error-content",children:[l.jsx("div",{className:"console-error-text-trigger",role:"button",tabIndex:0,onKeyPress:this.handleKeyPress,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onMouseUp:this.handleMouseUp,children:s}),e?o:""]})]}),!a&&l.jsx("div",{className:"error-content",children:l.jsx("div",{className:"console-error-text",children:s})})]},"error")}}yi(Kn,"defaultProps",{message:""});yi(Kn,"mouseDragThreshold",5);const pm=Kn;function fm(i,e,t){return e=vm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vm(i){var e=gm(i,"string");return typeof e=="symbol"?e:String(e)}function gm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var no=B.module("ConsoleHistoryItem");class Id extends f.PureComponent{constructor(e){super(e),this.handleCancelClick=this.handleCancelClick.bind(this),this.handleObjectClick=this.handleObjectClick.bind(this)}handleObjectClick(e){no.debug("handleObjectClick",e);var{openObject:t}=this.props;t(e)}handleCancelClick(){var{item:e}=this.props;e!=null&&e.cancelResult&&(no.debug("Cancelling command: ".concat(e.command)),e.cancelResult())}render(){var{disabled:e,item:t,language:n}=this.props,{disabledObjects:r,result:a}=t,s=t.command!=null&&t.command!=="",o=null;s&&(o=l.jsxs("div",{className:"console-history-item-command",children:[l.jsx("div",{className:"console-history-gutter",children:">"}),l.jsx("div",{className:"console-history-content",children:l.jsx(jr,{language:n,children:t.command})})]}));var d=[],h=!1;if(a){var{error:u,message:c,changes:m}=a;if(m){var{created:p,updated:v}=m;[...p,...v].forEach(E=>{h=!0;var{title:M}=E,O="".concat(M),x=e===void 0||e||(r??[]).indexOf(O)>=0,N=l.jsx(F,{kind:"primary",onClick:()=>this.handleObjectClick(E),className:"btn-console-object",disabled:x,icon:l.jsx(_d,{type:E.type}),children:M},O);d.push(N)})}if(u!=null&&!s){var g,b="".concat((g=u.message)!==null&&g!==void 0?g:u);b||(b=u);var C=l.jsx(pm,{message:b},"result-error");d.push(C)}if(c!==void 0&&c!==""){var w=l.jsx("div",{className:"log-message",children:c},"log-message");d.push(w)}}else{h=!0;var S=l.jsx(um,{onCancelClick:this.handleCancelClick,disabled:e},"in_progress");d.push(S)}var y=null;return d.length>0&&(y=l.jsx(Od,{children:d})),l.jsxs("div",{className:Z("console-command-result",{"console-result-buttons":h}),children:[o,y]})}}fm(Id,"defaultProps",{disabled:!1});const bm=Id;function Cm(i,e,t){return e=Sm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sm(i){var e=ym(i,"string");return typeof e=="symbol"?e:String(e)}function ym(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ar extends f.Component{static itemKey(e,t){return"".concat(e,".").concat(t.command,".").concat(t.result&&t.result.message,".").concat(t.result&&t.result.error)}render(){for(var{disabled:e,items:t,language:n,openObject:r}=this.props,a=[],s=0;s<t.length;s+=1){var o=t[s],d=l.jsx(bm,{disabled:e,item:o,openObject:r,language:n},Ar.itemKey(s,o));a.push(d)}return l.jsx("div",{className:"container-fluid console-history",children:a})}}Cm(Ar,"defaultProps",{disabled:!1});const wm=Ar;var Em={name:"Console",CLEAR:De.createAndAdd({id:"CONSOLE.CLEAR",name:"Clear",shortcut:[pe.CTRL,ce.L],macShortcut:[pe.CTRL,ce.C]}),FOCUS_HISTORY:De.createAndAdd({id:"CONSOLE.FOCUS_HISTORY",name:"Focus History",shortcut:[pe.CTRL,ce.H],macShortcut:[pe.CTRL,pe.OPTION,ce.H]})},Pm={name:"Command History",FOCUS_HISTORY:De.createAndAdd({id:"COMMAND_HISTORY.FOCUS_HISTORY",name:"Focus History Search",shortcut:[pe.CTRL,ce.H],macShortcut:[pe.CTRL,pe.OPTION,ce.H]}),SEND_TO_CONSOLE:De.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_CONSOLE",name:"Send to Console",shortcut:[ce.ENTER],macShortcut:[ce.ENTER]}),SEND_TO_NOTEBOOK:De.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_NOTEBOOK",name:"Send to Notebook",shortcut:[pe.CTRL,ce.ENTER],macShortcut:[pe.CMD,ce.ENTER]}),RUN:De.createAndAdd({id:"COMMAND_HISTORY.RUN",name:"Run",shortcut:[pe.ALT,ce.R],macShortcut:[pe.OPTION,ce.R]})},_m={name:"Notebook",RUN:De.createAndAdd({id:"NOTEBOOK.RUN",name:"Run",shortcut:[pe.ALT,ce.R],macShortcut:[pe.OPTION,ce.R]}),RUN_SELECTED:De.createAndAdd({id:"NOTEBOOK.RUN_SELECTED",name:"Run Selected",shortcut:[pe.ALT,pe.SHIFT,ce.R],macShortcut:[pe.OPTION,pe.SHIFT,ce.R]}),FIND:De.createAndAdd({id:"NOTEBOOK.FIND",name:"Find",shortcut:[pe.CTRL,ce.F],macShortcut:[pe.CMD,ce.F],isEditable:!1}),MINIMAP:De.createAndAdd({id:"NOTEBOOK.MINIMAP",name:"Show Minimap",shortcut:[pe.ALT,ce.M],macShortcut:[pe.OPTION,ce.M]}),WORDWRAP:De.createAndAdd({id:"NOTEBOOK.WORDWRAP",name:"Word Wrap",shortcut:[pe.ALT,ce.Z],macShortcut:[pe.OPTION,ce.Z]})},Tm={CONSOLE:Em,COMMAND_HISTORY:Pm,NOTEBOOK:_m};const We=Tm,Ne=Object.freeze({FATAL:"FATAL",STDERR:"STDERR",ERROR:"ERROR",WARN:"WARN",STDOUT:"STDOUT",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"});function na(i,e,t){return e=Om(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Om(i){var e=Dm(i,"string");return typeof e=="symbol"?e:String(e)}function Dm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var jt=B.module("MonacoCompletionProvider");class bn extends f.PureComponent{static lspToMonacoKind(e){var t=qi.CompletionItemKind;switch(e){case 1:return t.Text;case 2:return t.Method;case 3:return t.Function;case 4:return t.Constructor;case 5:return t.Field;case 6:return t.Variable;case 7:return t.Class;case 8:return t.Interface;case 9:return t.Module;case 10:return t.Property;case 11:return t.Unit;case 12:return t.Value;case 13:return t.Enum;case 14:return t.Keyword;case 15:return t.Snippet;case 16:return t.Color;case 17:return t.File;case 18:return t.Reference;case 19:return t.Folder;case 20:return t.EnumMember;case 21:return t.Constant;case 22:return t.Struct;case 23:return t.Event;case 24:return t.Operator;case 25:return t.TypeParameter;default:return t.Variable}}static lspToMonacoRange(e){var{start:t,end:n}=e;return{startLineNumber:t.line+1,startColumn:t.character+1,endLineNumber:n.line+1,endColumn:n.character+1}}static monacoToLspPosition(e){return{line:e.lineNumber-1,character:e.column-1}}constructor(e){super(e),na(this,"registeredCompletionProvider",void 0),na(this,"registeredSignatureProvider",void 0),na(this,"registeredHoverProvider",void 0),this.handleCompletionRequest=this.handleCompletionRequest.bind(this),this.handleSignatureRequest=this.handleSignatureRequest.bind(this),this.handleHoverRequest=this.handleHoverRequest.bind(this)}componentDidMount(){var{language:e,session:t}=this.props;this.registeredCompletionProvider=qi.registerCompletionItemProvider(e,{provideCompletionItems:this.handleCompletionRequest,triggerCharacters:[".",'"',"'"]}),t.getSignatureHelp&&(this.registeredSignatureProvider=qi.registerSignatureHelpProvider(e,{provideSignatureHelp:this.handleSignatureRequest,signatureHelpTriggerCharacters:["(",","]})),t.getHover&&(this.registeredHoverProvider=qi.registerHoverProvider(e,{provideHover:this.handleHoverRequest}))}componentWillUnmount(){var e,t,n;(e=this.registeredCompletionProvider)===null||e===void 0||e.dispose(),(t=this.registeredSignatureProvider)===null||t===void 0||t.dispose(),(n=this.registeredHoverProvider)===null||n===void 0||n.dispose()}handleCompletionRequest(e,t,n){var{model:r,session:a}=this.props;if(e!==r)return null;var s={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:bn.monacoToLspPosition(t),context:n},o=a.getCompletionItems(s);jt.debug("Requested completion items",s);var d=o.then(h=>{jt.debug("Completion items received: ",s,h);var u=h.map(c=>{var{label:m,kind:p,detail:v,documentation:g,sortText:b,filterText:C,textEdit:w,insertTextFormat:S}=c;return{label:m,kind:bn.lspToMonacoKind(p),detail:v,documentation:g?.kind==="markdown"?g:g?.value,sortText:b,filterText:C,insertText:w.text,insertTextRules:S===2?4:S,range:bn.lspToMonacoRange(w.range)}});return{incomplete:!0,suggestions:u}}).catch(h=>(jt.error("There was an error retrieving completion items",h),{suggestions:[]}));return d}handleSignatureRequest(e,t,n,r){var a={value:{signatures:[],activeSignature:0,activeParameter:0},dispose:()=>{}},{model:s,session:o}=this.props;if(e!==s||!o.getSignatureHelp)return null;var d={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:bn.monacoToLspPosition(t),context:r},h=o.getSignatureHelp(d);jt.debug("Requested signature help",d);var u=h.then(c=>{jt.debug("Signatures received: ",d,h);var m=c.map(v=>{var{label:g,documentation:b,parameters:C}=v;return{documentation:b?.kind==="markdown"?b:b?.value,label:g,parameters:C??[]}});if(m.length===0)return a;var p=0;return{value:{signatures:m,activeSignature:p,activeParameter:c[p].activeParameter},dispose:()=>{}}}).catch(c=>(jt.error("There was an error retrieving completion items",c),a));return u}handleHoverRequest(e,t){var{model:n,session:r}=this.props;if(e!==n||!r.getHover)return null;var a={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:bn.monacoToLspPosition(t)},s=r.getHover(a);jt.debug("Requested hover",a);var o=s.then(d=>{jt.debug("Hover received: ",a,d);var{contents:h}=d;return{contents:h?[h]:[]}}).catch(d=>(jt.error("There was an error retrieving hover",d),{contents:[]}));return o}render(){return null}}const xd=bn;function io(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function Im(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){io(a,n,r,s,o,"next",d)}function o(d){io(a,n,r,s,o,"throw",d)}s(void 0)})}}function ct(i,e,t){return e=xm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xm(i){var e=Nm(i,"string");return typeof e=="symbol"?e:String(e)}function Nm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ia=B.module("ConsoleInput"),_r=parseInt(_c["line-height"],10),Nd=6,Ld=6,Lm=_r+Nd+Ld,ra=100;class Ai extends f.PureComponent{constructor(e){super(e),ct(this,"cancelListener",void 0),ct(this,"commandContainer",void 0),ct(this,"commandEditor",void 0),ct(this,"commandHistoryIndex",void 0),ct(this,"commandSuggestionContainer",void 0),ct(this,"loadingPromise",void 0),ct(this,"timestamp",void 0),ct(this,"bufferIndex",void 0),ct(this,"history",void 0),ct(this,"modifiedCommands",void 0),this.handleWindowResize=this.handleWindowResize.bind(this),this.commandContainer=J.createRef(),this.commandHistoryIndex=null,this.timestamp=Date.now(),this.bufferIndex=0,this.history=[],this.modifiedCommands=new Map,this.state={commandEditorHeight:_r,isFocused:!1,model:null}}componentDidMount(){this.initCommandEditor(),window.addEventListener("resize",this.handleWindowResize),this.loadMoreHistory()}componentDidUpdate(){this.layoutEditor()}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.loadingPromise!=null&&this.loadingPromise.cancel(),this.destroyCommandEditor()}setConsoleText(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(e){if(ia.debug("Command received: ",e),!n){var r;this.commandHistoryIndex=null,(r=this.commandEditor)===null||r===void 0||r.setValue(e)}t&&this.focusEnd(),this.updateDimensions(),n&&this.processCommand(e)}}initCommandEditor(){var{language:e,session:t}=this.props,n={copyWithSyntaxHighlighting:!1,cursorStyle:"block",fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:e,lineHeight:_r,lineDecorationsWidth:3,lineNumbers:"off",minimap:{enabled:!1},renderLineHighlight:"none",scrollBeyondLastLine:!1,scrollbar:{arrowSize:0,horizontal:"hidden",horizontalScrollbarSize:0},padding:{top:Nd,bottom:Ld},tabCompletion:"on",value:"",wordWrap:"on"},r=this.commandContainer.current;$(r),this.commandEditor=Za.create(r,n),rt.setEOL(this.commandEditor),rt.openDocument(this.commandEditor,t),this.commandEditor.onDidChangeModelContent(()=>{var a,s=(a=this.commandEditor)===null||a===void 0?void 0:a.getValue();this.modifiedCommands.set(this.commandHistoryIndex,s??null),this.updateDimensions()}),this.commandEditor.onDidFocusEditorText(()=>{this.setState({isFocused:!0})}),this.commandEditor.onDidBlurEditorText(()=>{this.setState({isFocused:!1})}),this.commandEditor.onKeyDown(a=>{var{commandEditor:s,commandHistoryIndex:o}=this,d=s?.getPosition();$(d);var{lineNumber:h}=d,u=s?.getModel();if(a.code==="ArrowUp"&&!this.isSuggestionMenuPopulated()&&h===1){o!=null?this.loadCommand(o+1):this.loadCommand(0),this.focusStart(),a.stopPropagation(),a.preventDefault();return}if(a.code==="ArrowDown"&&!this.isSuggestionMenuPopulated()&&h===u?.getLineCount()){o!=null&&o>0?this.loadCommand(o-1):this.loadCommand(null),this.focusEnd(),a.stopPropagation(),a.preventDefault();return}if(!a.altKey&&!a.shiftKey&&!a.metaKey){if(a.keyCode===Vn.Enter){if(!this.isSuggestionMenuPopulated()){var c;a.stopPropagation(),a.preventDefault();var m=(c=this.commandEditor)===null||c===void 0?void 0:c.getValue().trim();if(m!==void 0){var p;this.processCommand(m),(p=this.commandEditor)===null||p===void 0||p.setValue("")}}}else if(a.keyCode===Vn.Tab)if(this.isSuggestionMenuActive())this.isSuggestionMenuPopulated()||(a.stopPropagation(),a.preventDefault());else{var v;a.stopPropagation(),a.preventDefault(),(v=this.commandEditor)===null||v===void 0||v.trigger("Tab key trigger suggestions","editor.action.triggerSuggest",{})}}}),rt.disableKeyBindings(this.commandEditor,[rd.CtrlCmd|Vn.KeyF]),rt.registerPasteHandler(this.commandEditor),this.commandEditor.focus(),this.updateDimensions(),this.setState({model:this.commandEditor.getModel()})}destroyCommandEditor(){var{session:e}=this.props;this.commandEditor&&(rt.closeDocument(this.commandEditor,e),this.commandEditor.dispose(),this.commandEditor=void 0)}handleWindowResize(){this.updateDimensions()}isSuggestionMenuActive(){var e;if(!this.commandSuggestionContainer){var t,n;this.commandSuggestionContainer=(t=this.commandEditor)===null||t===void 0||(n=t.getDomNode())===null||n===void 0?void 0:n.querySelector(".suggest-widget")}return(e=this.commandSuggestionContainer&&this.commandSuggestionContainer.classList.contains("visible"))!==null&&e!==void 0?e:!1}isSuggestionMenuPopulated(){var e,t,n;return this.isSuggestionMenuActive()&&((e=(t=this.commandSuggestionContainer)===null||t===void 0||(n=t.querySelector(".monaco-list-rows"))===null||n===void 0?void 0:n.childElementCount)!==null&&e!==void 0?e:0)>0}focus(){var e;(e=this.commandEditor)===null||e===void 0||e.focus()}focusStart(){var e,t,n,r,a,s=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();$(s);var o=s.getLineLength(1)+1,d=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(1,o);$(d),(n=this.commandEditor)===null||n===void 0||n.setPosition({lineNumber:1,column:o}),(r=this.commandEditor)===null||r===void 0||r.setScrollTop(d),(a=this.commandEditor)===null||a===void 0||a.focus()}focusEnd(){var e,t,n,r,a,s=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();$(s);var o=s.getLineCount(),d=s.getLineLength(o)+1,h=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(o,d);$(h),(n=this.commandEditor)===null||n===void 0||n.setPosition({lineNumber:o,column:d}),(r=this.commandEditor)===null||r===void 0||r.setScrollTop(h),(a=this.commandEditor)===null||a===void 0||a.focus()}clear(){var e,t,n;(e=this.commandEditor)===null||e===void 0||e.focus(),(t=this.commandEditor)===null||t===void 0||(n=t.getModel())===null||n===void 0||n.setValue(""),this.commandHistoryIndex=null}layoutEditor(){this.commandEditor&&this.commandEditor.layout()}loadCommand(e){var t,n;if(!(e!==null&&e>=this.history.length)){var r=this.modifiedCommands.get(e),a=e===null?"":this.history[this.history.length-e-1];this.commandHistoryIndex=e,(t=this.commandEditor)===null||t===void 0||(n=t.getModel())===null||n===void 0||n.setValue(r??a),e!==null&&e>this.history.length-ra&&this.loadMoreHistory()}}loadMoreHistory(){var e=this;return Im(function*(){try{if(e.loadingPromise!=null||e.bufferIndex==null)return;var{commandHistoryStorage:t,language:n,scope:r}=e.props;e.loadingPromise=le.makeCancelable(t.getTable(n,r??"",e.timestamp),o=>o.close());var a=yield e.loadingPromise;a.setReversed(!0),a.setViewport({top:e.bufferIndex,bottom:e.bufferIndex+ra-1}),e.loadingPromise=le.makeCancelable(a.getViewportData(),()=>a.close());var s=yield e.loadingPromise;e.bufferIndex+=ra,e.bufferIndex>=a.size&&(e.bufferIndex=null),e.history=[...s.items.filter((o,d,h)=>{var{name:u}=o;return d===0||u!==h[d-1].name}).map(o=>{var{name:d}=o;return d}).reverse(),...e.history],e.loadingPromise=void 0,a.close()}catch(o){if(e.loadingPromise=void 0,le.isCanceled(o)){ia.debug2("Promise canceled, not loading history");return}ia.error("Error fetching history",o)}})()}processCommand(e){this.commandHistoryIndex=null,this.modifiedCommands.clear(),$(e),e!==""&&(this.history.length===0||e!==this.history[this.history.length-1])&&this.history.push(e),this.updateDimensions();var{onSubmit:t}=this.props;t(e)}updateDimensions(){if(this.commandEditor){var{maxHeight:e}=this.props;$(e);var t=this.commandEditor.getContentHeight(),n=Math.max(Math.min(t,e),Lm),r=t>n,a={overviewRulerLanes:r?void 0:0};this.setState({commandEditorHeight:n},()=>{var s,o;(s=this.commandEditor)===null||s===void 0||s.updateOptions(a),(o=this.commandEditor)===null||o===void 0||o.layout()})}}render(){var{disabled:e,language:t,session:n}=this.props,{commandEditorHeight:r,isFocused:a,model:s}=this.state;return l.jsx("div",{className:Z("console-input-wrapper",{disabled:e}),children:l.jsxs("div",{className:Z("console-input-inner-wrapper",{focus:a}),children:[l.jsx("div",{className:Ai.INPUT_CLASS_NAME,ref:this.commandContainer,style:{height:r}}),s&&l.jsx(xd,{model:s,language:t,session:n})]})})}}ct(Ai,"defaultProps",{maxHeight:_r*10,scope:null,disabled:!1});ct(Ai,"INPUT_CLASS_NAME","console-input");const ro=Ai;function nn(i,e,t){return e=Mm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Mm(i){var e=Fm(i,"string");return typeof e=="symbol"?e:String(e)}function Fm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ao="pasted values",Rm=[/^audio.*/,/^font.*/,/^image.*/,/^video.*/],aa=[".csv",".tsv",".tab",".psv",".dsv",".txt"],so=[".zip"];class Lt extends f.Component{static isValidDropItem(e){return e!=null&&e.kind==="file"&&!Rm.find(t=>t.test(e.type))}static isValidExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return aa.some(n=>e.endsWith(n))||t&&so.some(n=>e.endsWith(n))}static handleDragOver(e){e.preventDefault(),e.stopPropagation()}static getIcon(e){return e===ao?Gs:e.endsWith(".csv")?Wu:e.endsWith(".zip")?Gu:Ku}constructor(e){super(e),nn(this,"fileElem",void 0),nn(this,"divElem",void 0),nn(this,"getValidExtensions",te(t=>t?[...aa,...so]:[...aa])),nn(this,"getAcceptString",te(t=>this.getValidExtensions(t).join(", "))),nn(this,"getFileTypeErrorString",te(t=>Ct.join(this.getValidExtensions(t),"or"))),this.handleSelectFile=this.handleSelectFile.bind(this),this.handleFiles=this.handleFiles.bind(this),this.handleDrop=this.handleDrop.bind(this),this.unstageFile=this.unstageFile.bind(this),this.handleMenuPaste=this.handleMenuPaste.bind(this),this.handlePasteEvent=this.handlePasteEvent.bind(this),this.fileElem=J.createRef(),this.divElem=J.createRef(),this.state={selectedFileName:""}}componentDidMount(){var e,t;(e=this.divElem.current)===null||e===void 0||e.addEventListener("paste",this.handlePasteEvent),(t=this.divElem.current)===null||t===void 0||t.focus()}componentWillUnmount(){var e;(e=this.divElem.current)===null||e===void 0||e.removeEventListener("paste",this.handlePasteEvent)}handleSelectFile(){if(this.fileElem.current){var e;this.fileElem.current.value="",(e=this.fileElem.current)===null||e===void 0||e.click()}}handleFiles(e){e.stopPropagation(),e.preventDefault();var{files:t}=e.target;t!=null&&this.handleFile(t[0])}handleDrop(e){var{allowZip:t,clearDragError:n,dragError:r}=this.props;if(e.preventDefault(),e.stopPropagation(),r!=null){n();return}if(!(e.dataTransfer==null||e.dataTransfer.items==null||e.dataTransfer.items.length===0)){var a=e.dataTransfer.items[0].getAsFile();$(a),Lt.isValidExtension(a.name,t)?this.handleFile(a):this.setState({dropError:Lt.FILE_TYPE_ERROR})}}unstageFile(e){var{onCancel:t}=this.props;e.stopPropagation(),e.preventDefault(),t(),this.setState({selectedFileName:"",dropError:void 0})}handleFile(e){var{onFileOpened:t}=this.props;t(e),this.setState({selectedFileName:e.name,dropError:void 0})}handleMenuPaste(){var{onPaste:e,onError:t,uploadInProgress:n}=this.props;n||navigator.clipboard.readText().then(r=>{e(r),this.setState({selectedFileName:ao,dropError:void 0})}).catch(r=>t(r))}handlePasteEvent(e){e.stopPropagation(),e.preventDefault(),this.handleMenuPaste()}makeContextMenuItems(){var{uploadInProgress:e}=this.props;return[{title:"Paste",icon:Gs,action:this.handleMenuPaste,shortcut:ln.PASTE,disabled:e}]}render(){var{allowZip:e,dragError:t,uploadInProgress:n}=this.props,{selectedFileName:r,dropError:a}=this.state,s=t??a,o=this.makeContextMenuItems();return l.jsxs("div",{ref:this.divElem,className:"csv-overlay fill-parent-absolute",onDragOver:Lt.handleDragOver,onDrop:this.handleDrop,tabIndex:-1,children:[l.jsx(ie,{actions:o}),l.jsx("input",{ref:this.fileElem,type:"file",id:"fileElem",accept:this.getAcceptString(e),style:{display:"none"},onChange:this.handleFiles,"data-testid":"fileElem"}),!r&&(s===void 0||s==="")&&l.jsxs("div",{className:"message-content",children:[l.jsx("div",{className:"message-icon",children:l.jsx(X,{icon:zu})}),l.jsx("label",{children:"Drop file (or paste values) here to import"}),l.jsx("div",{className:"message-small",children:l.jsx("label",{children:"or"})}),l.jsx(F,{kind:"primary",onClick:this.handleSelectFile,children:"Select File..."})]}),r&&(s===void 0||s==="")&&l.jsxs("div",{className:"selected-content",children:[l.jsx("div",{className:"selected-icon",children:l.jsx(X,{icon:Lt.getIcon(r)})}),l.jsxs("div",{className:"selected-text",children:[l.jsx("label",{children:"Selected File"}),l.jsxs("label",{className:"selected-name",children:[r,!n&&l.jsx(F,{kind:"ghost",className:"ml-2",onClick:this.unstageFile,icon:Ri,tooltip:"Remove"})]})]})]}),!!s&&l.jsxs("div",{className:"message-content",children:[l.jsx("div",{className:"message-icon",children:l.jsx(X,{icon:Ja})}),l.jsx("label",{children:s}),s===Lt.FILE_TYPE_ERROR&&l.jsx("div",{className:"message-small",children:l.jsx("label",{children:this.getFileTypeErrorString(e)})})]})]})}}nn(Lt,"defaultProps",{allowZip:!1,dragError:null});nn(Lt,"MULTIPLE_FILE_ERROR","Please select only one file");nn(Lt,"FILE_TYPE_ERROR","Filetype not supported.");const Rn=Lt;function Dn(i,e,t){return e=jm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jm(i){var e=Am(i,"string");return typeof e=="symbol"?e:String(e)}function Am(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class hn{}Dn(hn,"INTEGER","int");Dn(hn,"LONG","long");Dn(hn,"DOUBLE","double");Dn(hn,"BOOLEAN","bool");Dn(hn,"STRING","string");Dn(hn,"DATE_TIME","datetime");Dn(hn,"LOCAL_TIME","localtime");const re=hn;function Md(i,e){var t=i.internalStream("string");return t.readable=!0,t.read=()=>!1,t.removeListener=()=>!1,t.on("data",(n,r)=>e(r)),t}function oo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function lo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?oo(Object(t),!0).forEach(function(n){He(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):oo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function He(i,e,t){return e=km(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function km(i){var e=$m(i,"string");return typeof e=="symbol"?e:String(e)}function $m(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ho="unknown",Um=2147483647,Hm=-2147483648,uo=/^[0-9]{4}-[0-1][0-9]-[0-3][0-9][ T][0-2][0-9]:[0-5][0-9]:[0-6][0-9](?:\.[0-9]{1,9})?(?: [a-zA-Z]+)?$/,co=/^([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(?:\.[0-9]{1,9})?$/;class Ae{static determineType(e,t,n){if(!e||e===n)return t;switch(t){case re.STRING:return re.STRING;case re.INTEGER:return Ae.checkInteger(e);case re.LONG:return Ae.checkLong(e);case re.DOUBLE:return Ae.checkDouble(e);case re.BOOLEAN:return Ae.checkBoolean(e);case re.DATE_TIME:return Ae.checkDateTime(e);case re.LOCAL_TIME:return Ae.checkLocalTime(e);default:return Ae.getTypeFromUnknown(e)}}static isNotParsableNumber(e){return isNaN(e)||e==="Infinity"||e==="-Infinity"}static checkInteger(e){var t=e.replace(/,/g,"");return Ae.isNotParsableNumber(t)?re.STRING:Ae.getNumberType(t)}static checkLong(e){var t=e.replace(/,/g,"");return Ae.isNotParsableNumber(t)?re.STRING:t.includes(".")?re.DOUBLE:re.LONG}static checkDouble(e){var t=e.replace(/,/g,"");return Ae.isNotParsableNumber(t)?re.STRING:re.DOUBLE}static checkBoolean(e){var t=e.toLowerCase();return t==="true"||t==="false"?re.BOOLEAN:re.STRING}static checkDateTime(e){return uo.test(e)?re.DATE_TIME:re.STRING}static checkLocalTime(e){return co.test(e)?re.LOCAL_TIME:re.STRING}static getTypeFromUnknown(e){var t=e.replace(/,/g,"");if(Ae.isNotParsableNumber(t)){var n=e.toLowerCase();return n==="true"||n==="false"?re.BOOLEAN:uo.test(e)&&e.includes(":")?re.DATE_TIME:co.test(e)?re.LOCAL_TIME:re.STRING}return Ae.getNumberType(t)}static getNumberType(e){if(e.includes("."))return re.DOUBLE;var t=e.startsWith("-")?11:10;if(e.length>t)return re.LONG;var n=parseInt(e,10);return n>Um||n<Hm?re.LONG:re.INTEGER}constructor(e,t,n,r,a,s,o,d,h,u){He(this,"onFileCompleted",void 0),He(this,"file",void 0),He(this,"readHeaders",void 0),He(this,"nullString",void 0),He(this,"onProgress",void 0),He(this,"onError",void 0),He(this,"types",void 0),He(this,"chunks",void 0),He(this,"totalChunks",void 0),He(this,"rowCount",void 0),He(this,"isZip",void 0),He(this,"shouldTrim",void 0),He(this,"zipProgress",void 0),He(this,"config",void 0),this.onFileCompleted=e,this.file=t,this.readHeaders=n,this.nullString=a,this.onProgress=s,this.onError=o,this.chunks=0,this.totalChunks=d,this.rowCount=0,this.isZip=h,this.shouldTrim=u,this.zipProgress=0,this.handleChunk=this.handleChunk.bind(this),this.handleComplete=this.handleComplete.bind(this),this.handleError=this.handleError.bind(this),this.handleNodeUpdate=this.handleNodeUpdate.bind(this),this.config=lo(lo({},r),{},{error:this.handleError,chunk:this.handleChunk,complete:this.handleComplete})}parse(){if(this.file instanceof File||this.file instanceof Blob)bi.parse(this.file,this.config);else{var e=Md(this.file,this.handleNodeUpdate);bi.parse(e,this.config),e.resume()}}handleChunk(e,t){var{data:n}=e;if(!this.types){if(n==null||n.length===0){t.abort(),this.onError("Error parsing CSV: no data in file.");return}this.types=new Array(n[0].length).fill(ho),this.readHeaders&&(n=n.slice(1))}this.rowCount+=n.length,$(this.types);var r=[...this.types];n.forEach(o=>{if(o.length>=r.length){for(var d=0;d<r.length;d+=1)r[d]=Ae.determineType(this.shouldTrim?o[d].trim():o[d],r[d],this.nullString);this.types=r}else t.abort(),this.onError(`Error parsing CSV: Insufficient data in row.
|
|
1
|
+
import{C as l,G as X,r as v,I as Tu,P as I,F as Z,H as J,J as te,K as bi,L as Fr,M as Je,N as wt,O as Gn,Q as za,S as Ou,T as Du,U as Iu,V as xu,$ as V,R as qa,W as Bs,X as $e,Y as Ya,Z as Nu,_ as Me,D as Oi,a0 as td,a1 as Lu,a2 as zi,a3 as nd,a4 as Mu,a5 as id,a6 as Fu,a7 as Ru,a8 as ju,a9 as Au,aa as Ws,ab as ku,ac as $u,ad as Uu}from"./vendor-e2236072.js";import{e as Za,l as qi,K as Vn,a as rd,W as Hu}from"./monaco-1410cbed.js";import{v as Sa,d as Vu,a as ad,b as sd,L as Xa,c as od,e as Sn,f as Bu,g as B,h as Gs,i as Wu,j as Gu,k as Ku,l as zu,m as Ri,n as Ja,o as ld,p as Ci,q as Rr,r as ya,s as qu,t as Yu,u as Ks,w as wr,x as zs,y as dd,z as Zu,A as ji,B as Xu,T as wn,C as Ju,D as Qu,E as ec,F as tc,G as nc,M as Qa,H as es,I as ts,J as ic,K as hd,N as rc,O as ud,P as cd,Q as wa,R as md,S as Ea,U as ac,V as sc,W as oc,X as An,Y as lc,Z as dc,_ as hc,$ as uc,a0 as cc,a1 as mc,a2 as pc,a3 as vc,a4 as fc,a5 as gc,a6 as bc,a7 as Cc,a8 as Sc,a9 as qs,aa as yc,ab as wc,ac as Ec,ad as Pc,ae as Ys}from"./index-62a4a9e1.js";import{u as On,T as ns,B as F,a as $,S as De,M as pe,K as ce,b as _c,c as rt,P as le,G as ln,C as ie,d as Ct,D as is,e as fr,f as En,g as rs,h as dn,i as pd,j as Mt,E as vd,k as fd,I as Pa,U as Tc,l as Oc,m as Dc,n as Yi,o as Ic,p as gd,q as bd,r as Zs,s as Cd,t as Xs,v as Sd,w as Ye,x as xc,y as oe,z as as,F as Js,A as Ge,H as _a,V as Si,R as Qs,J as Di,L as yd,N as Nc,O as Lc,Q as eo,W as ta,X as Mc,Y as zt,Z as wd,_ as Fc,$ as Ed,a0 as Ta,a1 as Rc,a2 as jc,a3 as Ac,a4 as ke,a5 as kc,a6 as Er,a7 as at,a8 as st,a9 as $c,aa as bt,ab as to,ac as Uc,ad as Hc,ae as Vc,af as Pd,ag as Bc,ah as Wc,ai as Gc,aj as Kc,ak as zc,al as qc,am as Yc,an as Zc,ao as Xc,ap as Jc,aq as Qc,ar as em,as as tm,at as nm,au as im}from"./useUser-71900395.js";import"./helpers-042e6b4d.js";import"./plotly-302820c3.js";function _d(i){var{type:e}=i,t=On();switch(e){case t.VariableType.TABLE:case t.VariableType.TABLEMAP:case t.VariableType.TREETABLE:case t.VariableType.HIERARCHICALTABLE:return l.jsx(X,{icon:sd});case t.VariableType.FIGURE:return l.jsx(X,{icon:ad});case t.VariableType.PANDAS:return l.jsx(X,{icon:Vu});default:return l.jsx(X,{icon:Sa})}}function rm(i,e,t){return e=am(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function am(i){var e=sm(i,"string");return typeof e=="symbol"?e:String(e)}function sm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class om extends v.Component{constructor(e){super(e),rm(this,"container",void 0),this.container=null}componentDidMount(){this.colorize()}colorize(){var{children:e}=this.props;this.container&&e!=null&&Za.colorizeElement(this.container,{theme:"dh-dark"})}render(){var{children:e,language:t}=this.props;return l.jsx("div",{children:l.jsx("div",{"data-lang":t,ref:n=>{this.container=n},style:{pointerEvents:"none"},children:e})})}}const jr=om;class lm{static get LANGUAGE_MAP(){return new Map([["python","Python"],["groovy","Groovy"],["scala","Scala"]])}}const Td=lm;class Pr{static hasComment(e){return e.comment!==void 0}static hasPattern(e){return e.pattern!==void 0}static hasOp(e){return e.op!==void 0}static parseArguments(e){return e==null||!(typeof e=="string"||e instanceof String)?[]:Tu.parse(e).filter(t=>!this.hasComment(t)).map(t=>this.hasPattern(t)?t.pattern:this.hasOp(t)?t.op:"".concat(t))}static formatTimestamp(e){if(e==null||!(e instanceof Date))return null;var t="".concat(e.getHours()).padStart(2,"0"),n="".concat(e.getMinutes()).padStart(2,"0"),r="".concat(e.getSeconds()).padStart(2,"0"),a="".concat(e.getMilliseconds()).padStart(3,"0");return"".concat(t,":").concat(n,":").concat(r,".").concat(a)}static isTableType(e,t){return t===e.VariableType.TABLE||t===e.VariableType.TREETABLE||t===e.VariableType.HIERARCHICALTABLE}static isWidgetType(e,t){return t===e.VariableType.FIGURE||t===e.VariableType.OTHERWIDGET||t===e.VariableType.PANDAS}static isOpenableType(e,t){return Pr.isTableType(e,t)||Pr.isWidgetType(e,t)}static isFigureType(e,t){return t===e.VariableType.FIGURE}static isPandas(e,t){return t===e.VariableType.PANDAS}}const Oa=Pr;function Od(i){var{children:e}=i;return l.jsxs("div",{className:"console-history-item-result",children:[l.jsx("div",{className:"console-history-gutter",children:"-"}),l.jsx("div",{className:"console-history-content",children:e})]})}Od.propTypes={children:I.node.isRequired};function Da(i,e,t){return e=dm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function dm(i){var e=hm(i,"string");return typeof e=="symbol"?e:String(e)}function hm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Dd extends v.Component{constructor(e){super(e),Da(this,"timer",void 0),Da(this,"startTime",void 0),this.updateElapsed=this.updateElapsed.bind(this),this.startTime=Date.now(),this.state={elapsed:0}}componentDidMount(){this.timer=setInterval(this.updateElapsed,1e3)}componentWillUnmount(){this.timer&&clearInterval(this.timer),this.timer=void 0}updateElapsed(){this.setState({elapsed:Math.round((Date.now()-this.startTime)/1e3)})}render(){var{disabled:e,onCancelClick:t}=this.props,{elapsed:n}=this.state;return l.jsx("div",{className:Z("console-history-result-in-progress",{disabled:e}),children:l.jsxs("span",{className:"badge",children:[l.jsx(Xa,{})," Running... ",ns.formatElapsedTime(n)," ",l.jsx(F,{className:"console-history-result-in-progress-cancel",kind:"ghost",icon:od,tooltip:"Cancel",onClick:t,disabled:e})]})})}}Da(Dd,"defaultProps",{disabled:!1});const um=Dd;function yi(i,e,t){return e=cm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cm(i){var e=mm(i,"string");return typeof e=="symbol"?e:String(e)}function mm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Kn extends v.PureComponent{constructor(e){super(e),yi(this,"mouseX",void 0),yi(this,"mouseY",void 0),yi(this,"isClicking",void 0),this.handleKeyPress=this.handleKeyPress.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleToggleError=this.handleToggleError.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.mouseX=null,this.mouseY=null,this.isClicking=!1,this.state={isExpanded:!1,isTriggerHovered:!1}}handleKeyPress(e){switch(e.key){case"Enter":case" ":this.handleToggleError(),e.stopPropagation(),e.preventDefault();break}}handleMouseDown(e){this.mouseX=e.clientX,this.mouseY=e.clientY,this.isClicking=!0}handleMouseMove(e){this.mouseX!=null&&this.mouseY!=null?(Math.abs(e.clientX-this.mouseX)>=Kn.mouseDragThreshold||Math.abs(e.clientY-this.mouseY)>=Kn.mouseDragThreshold)&&(this.isClicking=!1):this.isClicking&&(this.isClicking=!1)}handleMouseUp(e){this.isClicking&&!e.shiftKey&&!e.metaKey&&!e.altKey&&this.handleToggleError(),this.mouseX=null,this.mouseY=null,this.isClicking=!1}handleToggleError(){this.setState(e=>({isExpanded:!e.isExpanded}))}handleMouseEnter(){this.setState({isTriggerHovered:!0})}handleMouseLeave(){this.setState({isTriggerHovered:!1})}render(){var{isExpanded:e,isTriggerHovered:t}=this.state,{message:n}=this.props;$(n);var r=n.indexOf(`
|
|
2
|
+
`),a=r>-1,s=n;a&&(s=n.slice(0,r));var o=n.slice(r),d=t?"error-btn-link error-btn-link--active":"error-btn-link";return l.jsxs("div",{className:Z("error-message",{expanded:e}),children:[a&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"error-gutter",children:l.jsx("button",{type:"button",onClick:this.handleToggleError,className:d,tabIndex:-1,children:l.jsx(X,{icon:e?Sn:Bu,transform:"left-3"})})}),l.jsxs("div",{className:"error-content",children:[l.jsx("div",{className:"console-error-text-trigger",role:"button",tabIndex:0,onKeyPress:this.handleKeyPress,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onMouseUp:this.handleMouseUp,children:s}),e?o:""]})]}),!a&&l.jsx("div",{className:"error-content",children:l.jsx("div",{className:"console-error-text",children:s})})]},"error")}}yi(Kn,"defaultProps",{message:""});yi(Kn,"mouseDragThreshold",5);const pm=Kn;function vm(i,e,t){return e=fm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fm(i){var e=gm(i,"string");return typeof e=="symbol"?e:String(e)}function gm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var no=B.module("ConsoleHistoryItem");class Id extends v.PureComponent{constructor(e){super(e),this.handleCancelClick=this.handleCancelClick.bind(this),this.handleObjectClick=this.handleObjectClick.bind(this)}handleObjectClick(e){no.debug("handleObjectClick",e);var{openObject:t}=this.props;t(e)}handleCancelClick(){var{item:e}=this.props;e!=null&&e.cancelResult&&(no.debug("Cancelling command: ".concat(e.command)),e.cancelResult())}render(){var{disabled:e,item:t,language:n}=this.props,{disabledObjects:r,result:a}=t,s=t.command!=null&&t.command!=="",o=null;s&&(o=l.jsxs("div",{className:"console-history-item-command",children:[l.jsx("div",{className:"console-history-gutter",children:">"}),l.jsx("div",{className:"console-history-content",children:l.jsx(jr,{language:n,children:t.command})})]}));var d=[],h=!1;if(a){var{error:u,message:c,changes:m}=a;if(m){var{created:p,updated:f}=m;[...p,...f].forEach(E=>{h=!0;var{title:M}=E,O="".concat(M),x=e===void 0||e||(r??[]).indexOf(O)>=0,N=l.jsx(F,{kind:"primary",onClick:()=>this.handleObjectClick(E),className:"btn-console-object",disabled:x,icon:l.jsx(_d,{type:E.type}),children:M},O);d.push(N)})}if(u!=null&&!s){var g,b="".concat((g=u.message)!==null&&g!==void 0?g:u);b||(b=u);var C=l.jsx(pm,{message:b},"result-error");d.push(C)}if(c!==void 0&&c!==""){var w=l.jsx("div",{className:"log-message",children:c},"log-message");d.push(w)}}else{h=!0;var S=l.jsx(um,{onCancelClick:this.handleCancelClick,disabled:e},"in_progress");d.push(S)}var y=null;return d.length>0&&(y=l.jsx(Od,{children:d})),l.jsxs("div",{className:Z("console-command-result",{"console-result-buttons":h}),children:[o,y]})}}vm(Id,"defaultProps",{disabled:!1});const bm=Id;function Cm(i,e,t){return e=Sm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sm(i){var e=ym(i,"string");return typeof e=="symbol"?e:String(e)}function ym(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ar extends v.Component{static itemKey(e,t){return"".concat(e,".").concat(t.command,".").concat(t.result&&t.result.message,".").concat(t.result&&t.result.error)}render(){for(var{disabled:e,items:t,language:n,openObject:r}=this.props,a=[],s=0;s<t.length;s+=1){var o=t[s],d=l.jsx(bm,{disabled:e,item:o,openObject:r,language:n},Ar.itemKey(s,o));a.push(d)}return l.jsx("div",{className:"container-fluid console-history",children:a})}}Cm(Ar,"defaultProps",{disabled:!1});const wm=Ar;var Em={name:"Console",CLEAR:De.createAndAdd({id:"CONSOLE.CLEAR",name:"Clear",shortcut:[pe.CTRL,ce.L],macShortcut:[pe.CTRL,ce.C]}),FOCUS_HISTORY:De.createAndAdd({id:"CONSOLE.FOCUS_HISTORY",name:"Focus History",shortcut:[pe.CTRL,ce.H],macShortcut:[pe.CTRL,pe.OPTION,ce.H]})},Pm={name:"Command History",FOCUS_HISTORY:De.createAndAdd({id:"COMMAND_HISTORY.FOCUS_HISTORY",name:"Focus History Search",shortcut:[pe.CTRL,ce.H],macShortcut:[pe.CTRL,pe.OPTION,ce.H]}),SEND_TO_CONSOLE:De.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_CONSOLE",name:"Send to Console",shortcut:[ce.ENTER],macShortcut:[ce.ENTER]}),SEND_TO_NOTEBOOK:De.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_NOTEBOOK",name:"Send to Notebook",shortcut:[pe.CTRL,ce.ENTER],macShortcut:[pe.CMD,ce.ENTER]}),RUN:De.createAndAdd({id:"COMMAND_HISTORY.RUN",name:"Run",shortcut:[pe.ALT,ce.R],macShortcut:[pe.OPTION,ce.R]})},_m={name:"Notebook",RUN:De.createAndAdd({id:"NOTEBOOK.RUN",name:"Run",shortcut:[pe.ALT,ce.R],macShortcut:[pe.OPTION,ce.R]}),RUN_SELECTED:De.createAndAdd({id:"NOTEBOOK.RUN_SELECTED",name:"Run Selected",shortcut:[pe.ALT,pe.SHIFT,ce.R],macShortcut:[pe.OPTION,pe.SHIFT,ce.R]}),FIND:De.createAndAdd({id:"NOTEBOOK.FIND",name:"Find",shortcut:[pe.CTRL,ce.F],macShortcut:[pe.CMD,ce.F],isEditable:!1}),MINIMAP:De.createAndAdd({id:"NOTEBOOK.MINIMAP",name:"Show Minimap",shortcut:[pe.ALT,ce.M],macShortcut:[pe.OPTION,ce.M]}),WORDWRAP:De.createAndAdd({id:"NOTEBOOK.WORDWRAP",name:"Word Wrap",shortcut:[pe.ALT,ce.Z],macShortcut:[pe.OPTION,ce.Z]})},Tm={CONSOLE:Em,COMMAND_HISTORY:Pm,NOTEBOOK:_m};const We=Tm,Ne=Object.freeze({FATAL:"FATAL",STDERR:"STDERR",ERROR:"ERROR",WARN:"WARN",STDOUT:"STDOUT",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"});function na(i,e,t){return e=Om(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Om(i){var e=Dm(i,"string");return typeof e=="symbol"?e:String(e)}function Dm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var jt=B.module("MonacoCompletionProvider");class bn extends v.PureComponent{static lspToMonacoKind(e){var t=qi.CompletionItemKind;switch(e){case 1:return t.Text;case 2:return t.Method;case 3:return t.Function;case 4:return t.Constructor;case 5:return t.Field;case 6:return t.Variable;case 7:return t.Class;case 8:return t.Interface;case 9:return t.Module;case 10:return t.Property;case 11:return t.Unit;case 12:return t.Value;case 13:return t.Enum;case 14:return t.Keyword;case 15:return t.Snippet;case 16:return t.Color;case 17:return t.File;case 18:return t.Reference;case 19:return t.Folder;case 20:return t.EnumMember;case 21:return t.Constant;case 22:return t.Struct;case 23:return t.Event;case 24:return t.Operator;case 25:return t.TypeParameter;default:return t.Variable}}static lspToMonacoRange(e){var{start:t,end:n}=e;return{startLineNumber:t.line+1,startColumn:t.character+1,endLineNumber:n.line+1,endColumn:n.character+1}}static monacoToLspPosition(e){return{line:e.lineNumber-1,character:e.column-1}}constructor(e){super(e),na(this,"registeredCompletionProvider",void 0),na(this,"registeredSignatureProvider",void 0),na(this,"registeredHoverProvider",void 0),this.handleCompletionRequest=this.handleCompletionRequest.bind(this),this.handleSignatureRequest=this.handleSignatureRequest.bind(this),this.handleHoverRequest=this.handleHoverRequest.bind(this)}componentDidMount(){var{language:e,session:t}=this.props;this.registeredCompletionProvider=qi.registerCompletionItemProvider(e,{provideCompletionItems:this.handleCompletionRequest,triggerCharacters:[".",'"',"'"]}),t.getSignatureHelp&&(this.registeredSignatureProvider=qi.registerSignatureHelpProvider(e,{provideSignatureHelp:this.handleSignatureRequest,signatureHelpTriggerCharacters:["(",","]})),t.getHover&&(this.registeredHoverProvider=qi.registerHoverProvider(e,{provideHover:this.handleHoverRequest}))}componentWillUnmount(){var e,t,n;(e=this.registeredCompletionProvider)===null||e===void 0||e.dispose(),(t=this.registeredSignatureProvider)===null||t===void 0||t.dispose(),(n=this.registeredHoverProvider)===null||n===void 0||n.dispose()}handleCompletionRequest(e,t,n){var{model:r,session:a}=this.props;if(e!==r)return null;var s={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:bn.monacoToLspPosition(t),context:n},o=a.getCompletionItems(s);jt.debug("Requested completion items",s);var d=o.then(h=>{jt.debug("Completion items received: ",s,h);var u=h.map(c=>{var{label:m,kind:p,detail:f,documentation:g,sortText:b,filterText:C,textEdit:w,insertTextFormat:S}=c;return{label:m,kind:bn.lspToMonacoKind(p),detail:f,documentation:g?.kind==="markdown"?g:g?.value,sortText:b,filterText:C,insertText:w.text,insertTextRules:S===2?4:S,range:bn.lspToMonacoRange(w.range)}});return{incomplete:!0,suggestions:u}}).catch(h=>(jt.error("There was an error retrieving completion items",h),{suggestions:[]}));return d}handleSignatureRequest(e,t,n,r){var a={value:{signatures:[],activeSignature:0,activeParameter:0},dispose:()=>{}},{model:s,session:o}=this.props;if(e!==s||!o.getSignatureHelp)return null;var d={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:bn.monacoToLspPosition(t),context:r},h=o.getSignatureHelp(d);jt.debug("Requested signature help",d);var u=h.then(c=>{jt.debug("Signatures received: ",d,h);var m=c.map(f=>{var{label:g,documentation:b,parameters:C}=f;return{documentation:b?.kind==="markdown"?b:b?.value,label:g,parameters:C??[]}});if(m.length===0)return a;var p=0;return{value:{signatures:m,activeSignature:p,activeParameter:c[p].activeParameter},dispose:()=>{}}}).catch(c=>(jt.error("There was an error retrieving completion items",c),a));return u}handleHoverRequest(e,t){var{model:n,session:r}=this.props;if(e!==n||!r.getHover)return null;var a={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:bn.monacoToLspPosition(t)},s=r.getHover(a);jt.debug("Requested hover",a);var o=s.then(d=>{jt.debug("Hover received: ",a,d);var{contents:h}=d;return{contents:h?[h]:[]}}).catch(d=>(jt.error("There was an error retrieving hover",d),{contents:[]}));return o}render(){return null}}const xd=bn;function io(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function Im(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){io(a,n,r,s,o,"next",d)}function o(d){io(a,n,r,s,o,"throw",d)}s(void 0)})}}function ct(i,e,t){return e=xm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xm(i){var e=Nm(i,"string");return typeof e=="symbol"?e:String(e)}function Nm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ia=B.module("ConsoleInput"),_r=parseInt(_c["line-height"],10),Nd=6,Ld=6,Lm=_r+Nd+Ld,ra=100;class Ai extends v.PureComponent{constructor(e){super(e),ct(this,"cancelListener",void 0),ct(this,"commandContainer",void 0),ct(this,"commandEditor",void 0),ct(this,"commandHistoryIndex",void 0),ct(this,"commandSuggestionContainer",void 0),ct(this,"loadingPromise",void 0),ct(this,"timestamp",void 0),ct(this,"bufferIndex",void 0),ct(this,"history",void 0),ct(this,"modifiedCommands",void 0),this.handleWindowResize=this.handleWindowResize.bind(this),this.commandContainer=J.createRef(),this.commandHistoryIndex=null,this.timestamp=Date.now(),this.bufferIndex=0,this.history=[],this.modifiedCommands=new Map,this.state={commandEditorHeight:_r,isFocused:!1,model:null}}componentDidMount(){this.initCommandEditor(),window.addEventListener("resize",this.handleWindowResize),this.loadMoreHistory()}componentDidUpdate(){this.layoutEditor()}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.loadingPromise!=null&&this.loadingPromise.cancel(),this.destroyCommandEditor()}setConsoleText(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(e){if(ia.debug("Command received: ",e),!n){var r;this.commandHistoryIndex=null,(r=this.commandEditor)===null||r===void 0||r.setValue(e)}t&&this.focusEnd(),this.updateDimensions(),n&&this.processCommand(e)}}initCommandEditor(){var{language:e,session:t}=this.props,n={copyWithSyntaxHighlighting:!1,cursorStyle:"block",fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:e,lineHeight:_r,lineDecorationsWidth:3,lineNumbers:"off",minimap:{enabled:!1},renderLineHighlight:"none",scrollBeyondLastLine:!1,scrollbar:{arrowSize:0,horizontal:"hidden",horizontalScrollbarSize:0},padding:{top:Nd,bottom:Ld},tabCompletion:"on",value:"",wordWrap:"on"},r=this.commandContainer.current;$(r),this.commandEditor=Za.create(r,n),rt.setEOL(this.commandEditor),rt.openDocument(this.commandEditor,t),this.commandEditor.onDidChangeModelContent(()=>{var a,s=(a=this.commandEditor)===null||a===void 0?void 0:a.getValue();this.modifiedCommands.set(this.commandHistoryIndex,s??null),this.updateDimensions()}),this.commandEditor.onDidFocusEditorText(()=>{this.setState({isFocused:!0})}),this.commandEditor.onDidBlurEditorText(()=>{this.setState({isFocused:!1})}),this.commandEditor.onKeyDown(a=>{var{commandEditor:s,commandHistoryIndex:o}=this,d=s?.getPosition();$(d);var{lineNumber:h}=d,u=s?.getModel();if(a.code==="ArrowUp"&&!this.isSuggestionMenuPopulated()&&h===1){o!=null?this.loadCommand(o+1):this.loadCommand(0),this.focusStart(),a.stopPropagation(),a.preventDefault();return}if(a.code==="ArrowDown"&&!this.isSuggestionMenuPopulated()&&h===u?.getLineCount()){o!=null&&o>0?this.loadCommand(o-1):this.loadCommand(null),this.focusEnd(),a.stopPropagation(),a.preventDefault();return}if(!a.altKey&&!a.shiftKey&&!a.metaKey){if(a.keyCode===Vn.Enter){if(!this.isSuggestionMenuPopulated()){var c;a.stopPropagation(),a.preventDefault();var m=(c=this.commandEditor)===null||c===void 0?void 0:c.getValue().trim();if(m!==void 0){var p;this.processCommand(m),(p=this.commandEditor)===null||p===void 0||p.setValue("")}}}else if(a.keyCode===Vn.Tab)if(this.isSuggestionMenuActive())this.isSuggestionMenuPopulated()||(a.stopPropagation(),a.preventDefault());else{var f;a.stopPropagation(),a.preventDefault(),(f=this.commandEditor)===null||f===void 0||f.trigger("Tab key trigger suggestions","editor.action.triggerSuggest",{})}}}),rt.disableKeyBindings(this.commandEditor,[rd.CtrlCmd|Vn.KeyF]),rt.registerPasteHandler(this.commandEditor),this.commandEditor.focus(),this.updateDimensions(),this.setState({model:this.commandEditor.getModel()})}destroyCommandEditor(){var{session:e}=this.props;this.commandEditor&&(rt.closeDocument(this.commandEditor,e),this.commandEditor.dispose(),this.commandEditor=void 0)}handleWindowResize(){this.updateDimensions()}isSuggestionMenuActive(){var e;if(!this.commandSuggestionContainer){var t,n;this.commandSuggestionContainer=(t=this.commandEditor)===null||t===void 0||(n=t.getDomNode())===null||n===void 0?void 0:n.querySelector(".suggest-widget")}return(e=this.commandSuggestionContainer&&this.commandSuggestionContainer.classList.contains("visible"))!==null&&e!==void 0?e:!1}isSuggestionMenuPopulated(){var e,t,n;return this.isSuggestionMenuActive()&&((e=(t=this.commandSuggestionContainer)===null||t===void 0||(n=t.querySelector(".monaco-list-rows"))===null||n===void 0?void 0:n.childElementCount)!==null&&e!==void 0?e:0)>0}focus(){var e;(e=this.commandEditor)===null||e===void 0||e.focus()}focusStart(){var e,t,n,r,a,s=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();$(s);var o=s.getLineLength(1)+1,d=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(1,o);$(d),(n=this.commandEditor)===null||n===void 0||n.setPosition({lineNumber:1,column:o}),(r=this.commandEditor)===null||r===void 0||r.setScrollTop(d),(a=this.commandEditor)===null||a===void 0||a.focus()}focusEnd(){var e,t,n,r,a,s=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();$(s);var o=s.getLineCount(),d=s.getLineLength(o)+1,h=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(o,d);$(h),(n=this.commandEditor)===null||n===void 0||n.setPosition({lineNumber:o,column:d}),(r=this.commandEditor)===null||r===void 0||r.setScrollTop(h),(a=this.commandEditor)===null||a===void 0||a.focus()}clear(){var e,t,n;(e=this.commandEditor)===null||e===void 0||e.focus(),(t=this.commandEditor)===null||t===void 0||(n=t.getModel())===null||n===void 0||n.setValue(""),this.commandHistoryIndex=null}layoutEditor(){this.commandEditor&&this.commandEditor.layout()}loadCommand(e){var t,n;if(!(e!==null&&e>=this.history.length)){var r=this.modifiedCommands.get(e),a=e===null?"":this.history[this.history.length-e-1];this.commandHistoryIndex=e,(t=this.commandEditor)===null||t===void 0||(n=t.getModel())===null||n===void 0||n.setValue(r??a),e!==null&&e>this.history.length-ra&&this.loadMoreHistory()}}loadMoreHistory(){var e=this;return Im(function*(){try{if(e.loadingPromise!=null||e.bufferIndex==null)return;var{commandHistoryStorage:t,language:n,scope:r}=e.props;e.loadingPromise=le.makeCancelable(t.getTable(n,r??"",e.timestamp),o=>o.close());var a=yield e.loadingPromise;a.setReversed(!0),a.setViewport({top:e.bufferIndex,bottom:e.bufferIndex+ra-1}),e.loadingPromise=le.makeCancelable(a.getViewportData(),()=>a.close());var s=yield e.loadingPromise;e.bufferIndex+=ra,e.bufferIndex>=a.size&&(e.bufferIndex=null),e.history=[...s.items.filter((o,d,h)=>{var{name:u}=o;return d===0||u!==h[d-1].name}).map(o=>{var{name:d}=o;return d}).reverse(),...e.history],e.loadingPromise=void 0,a.close()}catch(o){if(e.loadingPromise=void 0,le.isCanceled(o)){ia.debug2("Promise canceled, not loading history");return}ia.error("Error fetching history",o)}})()}processCommand(e){this.commandHistoryIndex=null,this.modifiedCommands.clear(),$(e),e!==""&&(this.history.length===0||e!==this.history[this.history.length-1])&&this.history.push(e),this.updateDimensions();var{onSubmit:t}=this.props;t(e)}updateDimensions(){if(this.commandEditor){var{maxHeight:e}=this.props;$(e);var t=this.commandEditor.getContentHeight(),n=Math.max(Math.min(t,e),Lm),r=t>n,a={overviewRulerLanes:r?void 0:0};this.setState({commandEditorHeight:n},()=>{var s,o;(s=this.commandEditor)===null||s===void 0||s.updateOptions(a),(o=this.commandEditor)===null||o===void 0||o.layout()})}}render(){var{disabled:e,language:t,session:n}=this.props,{commandEditorHeight:r,isFocused:a,model:s}=this.state;return l.jsx("div",{className:Z("console-input-wrapper",{disabled:e}),children:l.jsxs("div",{className:Z("console-input-inner-wrapper",{focus:a}),children:[l.jsx("div",{className:Ai.INPUT_CLASS_NAME,ref:this.commandContainer,style:{height:r}}),s&&l.jsx(xd,{model:s,language:t,session:n})]})})}}ct(Ai,"defaultProps",{maxHeight:_r*10,scope:null,disabled:!1});ct(Ai,"INPUT_CLASS_NAME","console-input");const ro=Ai;function nn(i,e,t){return e=Mm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Mm(i){var e=Fm(i,"string");return typeof e=="symbol"?e:String(e)}function Fm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ao="pasted values",Rm=[/^audio.*/,/^font.*/,/^image.*/,/^video.*/],aa=[".csv",".tsv",".tab",".psv",".dsv",".txt"],so=[".zip"];class Lt extends v.Component{static isValidDropItem(e){return e!=null&&e.kind==="file"&&!Rm.find(t=>t.test(e.type))}static isValidExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return aa.some(n=>e.endsWith(n))||t&&so.some(n=>e.endsWith(n))}static handleDragOver(e){e.preventDefault(),e.stopPropagation()}static getIcon(e){return e===ao?Gs:e.endsWith(".csv")?Wu:e.endsWith(".zip")?Gu:Ku}constructor(e){super(e),nn(this,"fileElem",void 0),nn(this,"divElem",void 0),nn(this,"getValidExtensions",te(t=>t?[...aa,...so]:[...aa])),nn(this,"getAcceptString",te(t=>this.getValidExtensions(t).join(", "))),nn(this,"getFileTypeErrorString",te(t=>Ct.join(this.getValidExtensions(t),"or"))),this.handleSelectFile=this.handleSelectFile.bind(this),this.handleFiles=this.handleFiles.bind(this),this.handleDrop=this.handleDrop.bind(this),this.unstageFile=this.unstageFile.bind(this),this.handleMenuPaste=this.handleMenuPaste.bind(this),this.handlePasteEvent=this.handlePasteEvent.bind(this),this.fileElem=J.createRef(),this.divElem=J.createRef(),this.state={selectedFileName:""}}componentDidMount(){var e,t;(e=this.divElem.current)===null||e===void 0||e.addEventListener("paste",this.handlePasteEvent),(t=this.divElem.current)===null||t===void 0||t.focus()}componentWillUnmount(){var e;(e=this.divElem.current)===null||e===void 0||e.removeEventListener("paste",this.handlePasteEvent)}handleSelectFile(){if(this.fileElem.current){var e;this.fileElem.current.value="",(e=this.fileElem.current)===null||e===void 0||e.click()}}handleFiles(e){e.stopPropagation(),e.preventDefault();var{files:t}=e.target;t!=null&&this.handleFile(t[0])}handleDrop(e){var{allowZip:t,clearDragError:n,dragError:r}=this.props;if(e.preventDefault(),e.stopPropagation(),r!=null){n();return}if(!(e.dataTransfer==null||e.dataTransfer.items==null||e.dataTransfer.items.length===0)){var a=e.dataTransfer.items[0].getAsFile();$(a),Lt.isValidExtension(a.name,t)?this.handleFile(a):this.setState({dropError:Lt.FILE_TYPE_ERROR})}}unstageFile(e){var{onCancel:t}=this.props;e.stopPropagation(),e.preventDefault(),t(),this.setState({selectedFileName:"",dropError:void 0})}handleFile(e){var{onFileOpened:t}=this.props;t(e),this.setState({selectedFileName:e.name,dropError:void 0})}handleMenuPaste(){var{onPaste:e,onError:t,uploadInProgress:n}=this.props;n||navigator.clipboard.readText().then(r=>{e(r),this.setState({selectedFileName:ao,dropError:void 0})}).catch(r=>t(r))}handlePasteEvent(e){e.stopPropagation(),e.preventDefault(),this.handleMenuPaste()}makeContextMenuItems(){var{uploadInProgress:e}=this.props;return[{title:"Paste",icon:Gs,action:this.handleMenuPaste,shortcut:ln.PASTE,disabled:e}]}render(){var{allowZip:e,dragError:t,uploadInProgress:n}=this.props,{selectedFileName:r,dropError:a}=this.state,s=t??a,o=this.makeContextMenuItems();return l.jsxs("div",{ref:this.divElem,className:"csv-overlay fill-parent-absolute",onDragOver:Lt.handleDragOver,onDrop:this.handleDrop,tabIndex:-1,children:[l.jsx(ie,{actions:o}),l.jsx("input",{ref:this.fileElem,type:"file",id:"fileElem",accept:this.getAcceptString(e),style:{display:"none"},onChange:this.handleFiles,"data-testid":"fileElem"}),!r&&(s===void 0||s==="")&&l.jsxs("div",{className:"message-content",children:[l.jsx("div",{className:"message-icon",children:l.jsx(X,{icon:zu})}),l.jsx("label",{children:"Drop file (or paste values) here to import"}),l.jsx("div",{className:"message-small",children:l.jsx("label",{children:"or"})}),l.jsx(F,{kind:"primary",onClick:this.handleSelectFile,children:"Select File..."})]}),r&&(s===void 0||s==="")&&l.jsxs("div",{className:"selected-content",children:[l.jsx("div",{className:"selected-icon",children:l.jsx(X,{icon:Lt.getIcon(r)})}),l.jsxs("div",{className:"selected-text",children:[l.jsx("label",{children:"Selected File"}),l.jsxs("label",{className:"selected-name",children:[r,!n&&l.jsx(F,{kind:"ghost",className:"ml-2",onClick:this.unstageFile,icon:Ri,tooltip:"Remove"})]})]})]}),!!s&&l.jsxs("div",{className:"message-content",children:[l.jsx("div",{className:"message-icon",children:l.jsx(X,{icon:Ja})}),l.jsx("label",{children:s}),s===Lt.FILE_TYPE_ERROR&&l.jsx("div",{className:"message-small",children:l.jsx("label",{children:this.getFileTypeErrorString(e)})})]})]})}}nn(Lt,"defaultProps",{allowZip:!1,dragError:null});nn(Lt,"MULTIPLE_FILE_ERROR","Please select only one file");nn(Lt,"FILE_TYPE_ERROR","Filetype not supported.");const Rn=Lt;function Dn(i,e,t){return e=jm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jm(i){var e=Am(i,"string");return typeof e=="symbol"?e:String(e)}function Am(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class hn{}Dn(hn,"INTEGER","int");Dn(hn,"LONG","long");Dn(hn,"DOUBLE","double");Dn(hn,"BOOLEAN","bool");Dn(hn,"STRING","string");Dn(hn,"DATE_TIME","datetime");Dn(hn,"LOCAL_TIME","localtime");const re=hn;function Md(i,e){var t=i.internalStream("string");return t.readable=!0,t.read=()=>!1,t.removeListener=()=>!1,t.on("data",(n,r)=>e(r)),t}function oo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function lo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?oo(Object(t),!0).forEach(function(n){He(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):oo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function He(i,e,t){return e=km(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function km(i){var e=$m(i,"string");return typeof e=="symbol"?e:String(e)}function $m(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ho="unknown",Um=2147483647,Hm=-2147483648,uo=/^[0-9]{4}-[0-1][0-9]-[0-3][0-9][ T][0-2][0-9]:[0-5][0-9]:[0-6][0-9](?:\.[0-9]{1,9})?(?: [a-zA-Z]+)?$/,co=/^([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(?:\.[0-9]{1,9})?$/;class Ae{static determineType(e,t,n){if(!e||e===n)return t;switch(t){case re.STRING:return re.STRING;case re.INTEGER:return Ae.checkInteger(e);case re.LONG:return Ae.checkLong(e);case re.DOUBLE:return Ae.checkDouble(e);case re.BOOLEAN:return Ae.checkBoolean(e);case re.DATE_TIME:return Ae.checkDateTime(e);case re.LOCAL_TIME:return Ae.checkLocalTime(e);default:return Ae.getTypeFromUnknown(e)}}static isNotParsableNumber(e){return isNaN(e)||e==="Infinity"||e==="-Infinity"}static checkInteger(e){var t=e.replace(/,/g,"");return Ae.isNotParsableNumber(t)?re.STRING:Ae.getNumberType(t)}static checkLong(e){var t=e.replace(/,/g,"");return Ae.isNotParsableNumber(t)?re.STRING:t.includes(".")?re.DOUBLE:re.LONG}static checkDouble(e){var t=e.replace(/,/g,"");return Ae.isNotParsableNumber(t)?re.STRING:re.DOUBLE}static checkBoolean(e){var t=e.toLowerCase();return t==="true"||t==="false"?re.BOOLEAN:re.STRING}static checkDateTime(e){return uo.test(e)?re.DATE_TIME:re.STRING}static checkLocalTime(e){return co.test(e)?re.LOCAL_TIME:re.STRING}static getTypeFromUnknown(e){var t=e.replace(/,/g,"");if(Ae.isNotParsableNumber(t)){var n=e.toLowerCase();return n==="true"||n==="false"?re.BOOLEAN:uo.test(e)&&e.includes(":")?re.DATE_TIME:co.test(e)?re.LOCAL_TIME:re.STRING}return Ae.getNumberType(t)}static getNumberType(e){if(e.includes("."))return re.DOUBLE;var t=e.startsWith("-")?11:10;if(e.length>t)return re.LONG;var n=parseInt(e,10);return n>Um||n<Hm?re.LONG:re.INTEGER}constructor(e,t,n,r,a,s,o,d,h,u){He(this,"onFileCompleted",void 0),He(this,"file",void 0),He(this,"readHeaders",void 0),He(this,"nullString",void 0),He(this,"onProgress",void 0),He(this,"onError",void 0),He(this,"types",void 0),He(this,"chunks",void 0),He(this,"totalChunks",void 0),He(this,"rowCount",void 0),He(this,"isZip",void 0),He(this,"shouldTrim",void 0),He(this,"zipProgress",void 0),He(this,"config",void 0),this.onFileCompleted=e,this.file=t,this.readHeaders=n,this.nullString=a,this.onProgress=s,this.onError=o,this.chunks=0,this.totalChunks=d,this.rowCount=0,this.isZip=h,this.shouldTrim=u,this.zipProgress=0,this.handleChunk=this.handleChunk.bind(this),this.handleComplete=this.handleComplete.bind(this),this.handleError=this.handleError.bind(this),this.handleNodeUpdate=this.handleNodeUpdate.bind(this),this.config=lo(lo({},r),{},{error:this.handleError,chunk:this.handleChunk,complete:this.handleComplete})}parse(){if(this.file instanceof File||this.file instanceof Blob)bi.parse(this.file,this.config);else{var e=Md(this.file,this.handleNodeUpdate);bi.parse(e,this.config),e.resume()}}handleChunk(e,t){var{data:n}=e;if(!this.types){if(n==null||n.length===0){t.abort(),this.onError("Error parsing CSV: no data in file.");return}this.types=new Array(n[0].length).fill(ho),this.readHeaders&&(n=n.slice(1))}this.rowCount+=n.length,$(this.types);var r=[...this.types];n.forEach(o=>{if(o.length>=r.length){for(var d=0;d<r.length;d+=1)r[d]=Ae.determineType(this.shouldTrim?o[d].trim():o[d],r[d],this.nullString);this.types=r}else t.abort(),this.onError(`Error parsing CSV: Insufficient data in row.
|
|
3
3
|
Expected length `.concat(r.length," but found ").concat(o.length,`.
|
|
4
4
|
Row = `).concat(o))}),this.chunks+=1;var a=0;this.totalChunks>0?a=Math.round(this.chunks/this.totalChunks*50):a=Math.round(this.zipProgress/2);var s=this.onProgress(a);s&&t.abort()}handleComplete(e){var{types:t,onFileCompleted:n}=this;$(t),(e==null||!e.meta.aborted)&&n(t.map(r=>r===ho||r===re.LOCAL_TIME?re.STRING:r),this.rowCount)}handleError(e){var{onError:t}=this;t(e)}handleNodeUpdate(e){this.zipProgress=e.percent}}const Vm=Ae;function Ce(i,e,t){return e=Bm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Bm(i){var e=Wm(i,"string");return typeof e=="symbol"?e:String(e)}function Wm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Zi=B.module("CsvParser"),Gm=650;class zn{static generateHeaderRecursive(e){var t="",n=e;return e>=26&&(t=t.concat(zn.generateHeaderRecursive(Math.floor(e/26)-1)),n=e%26),t.concat(String.fromCharCode(65+n))}constructor(e){var{onFileCompleted:t,session:n,file:r,type:a,readHeaders:s=!0,onProgress:o,onError:d,timeZone:h,isZip:u}=e;Ce(this,"onFileCompleted",void 0),Ce(this,"session",void 0),Ce(this,"file",void 0),Ce(this,"isZip",void 0),Ce(this,"type",void 0),Ce(this,"readHeaders",void 0),Ce(this,"timeZone",void 0),Ce(this,"onProgress",void 0),Ce(this,"onError",void 0),Ce(this,"tables",void 0),Ce(this,"headers",void 0),Ce(this,"types",void 0),Ce(this,"rowCount",void 0),Ce(this,"rowsProcessed",void 0),Ce(this,"chunks",void 0),Ce(this,"totalChunks",void 0),Ce(this,"isComplete",void 0),Ce(this,"zipProgress",void 0),Ce(this,"consolidatedChunks",void 0),Ce(this,"numConsolidated",void 0),Ce(this,"isCancelled",void 0),Ce(this,"config",void 0),this.onFileCompleted=t,this.session=n,this.file=r,this.isZip=u,this.type=a,this.readHeaders=s,this.timeZone=h,this.onProgress=o,this.onError=d,this.tables=[],this.rowCount=0,this.rowsProcessed=0,this.chunks=0,this.totalChunks=u?0:Math.ceil(r.size/bi.LocalChunkSize),this.isComplete=!1,this.zipProgress=0,this.numConsolidated=0,this.isCancelled=!1,this.handleChunk=this.handleChunk.bind(this),this.handleError=this.handleError.bind(this),this.handleComplete=this.handleComplete.bind(this),this.handleNodeUpdate=this.handleNodeUpdate.bind(this),this.handleCreateTable=this.handleCreateTable.bind(this),this.config={delimiter:a.delimiter,newline:a.newline,escapeChar:a.escapeChar,dynamicTyping:!1,error:this.handleError,skipEmptyLines:a.skipEmptyLines,chunk:this.handleChunk,complete:this.handleComplete,fastMode:!1}}cancel(){this.isCancelled=!0}transpose(e,t){for(var n=t.length,r=new Array(e).fill(null).map(()=>new Array(n)),a=0;a<n;a+=1){var s=t[a];if(s.length<e)throw new Error("Insufficient columns. Expected ".concat(e," but found ").concat(s.length,`
|
|
5
5
|
`).concat(s));for(var o=0;o<e;o+=1){var d=this.type.shouldTrim?t[a][o].trim():t[a][o];r[o][a]=this.nullCheck(d)}}return r}nullCheck(e){return e===this.type.nullString?"":e}parse(){var e=(n,r)=>{if(this.types=n,this.rowCount=r,this.file instanceof File||this.file instanceof Blob)bi.parse(this.file,this.config);else{var a=Md(this.file,this.handleNodeUpdate);bi.parse(a,this.config),a.resume()}},t=new Vm(e,this.file,this.readHeaders,this.config,this.type.nullString,this.onProgress,this.onError,this.totalChunks,this.isZip,this.type.shouldTrim);t.parse()}handleChunk(e,t){var{readHeaders:n,onError:r,handleCreateTable:a,isZip:s,tables:o}=this;if(this.isCancelled){Zi.debug2("CSV parser cancelled."),t.abort(),o.forEach(c=>c.close());return}var{data:d}=e;this.headers||(n?(this.headers=is.legalizeColumnNames(d[0]),d=d.slice(1)):this.headers=zn.generateHeaders(d[0].length));var h=[];try{if(h=this.transpose(this.headers.length,d),s)this.consolidateChunks(h,t);else{var u=this.chunks;this.chunks+=1,a(u,h,t)}}catch(c){r(c)}}consolidateChunks(e,t){if(!this.consolidatedChunks)this.consolidatedChunks=e.slice();else for(var n=0;n<e.length;n+=1)this.consolidatedChunks[n]=this.consolidatedChunks[n].concat(e[n]);this.numConsolidated+=1,(this.numConsolidated>=Gm||this.isComplete)&&this.uploadConsolidatedChunks(t)}uploadConsolidatedChunks(e){var t,{handleCreateTable:n}=this,r=this.chunks;this.chunks+=1;var a=(t=this.consolidatedChunks)===null||t===void 0?void 0:t.slice();this.consolidatedChunks=void 0,this.numConsolidated=0,$(a),n(r,a,e)}handleCreateTable(e,t,n){var{session:r,tables:a,onFileCompleted:s,totalChunks:o,types:d,onProgress:h,onError:u}=this;n&&n.pause(),$(this.headers),$(d),this.rowsProcessed+=t[0].length,r.newTable(this.headers,d,t,this.timeZone).then(c=>{if(this.isCancelled){Zi.debug2("CSV parser cancelled."),n&&n.abort(),a.forEach(p=>p.close());return}n&&n.resume(),a[e]=c;var m=0;o>0?m=Math.round(a.length/o*50)+50:m=Math.round(this.rowsProcessed/this.rowCount*50)+50,Zi.debug2("CSV parser progress ".concat(m)),h(m),this.isComplete&&a.length===this.chunks&&(Zi.debug2("CSV parser complete."),s(a))}).catch(c=>{!this.isComplete&&n&&n.abort(),u(c)})}handleComplete(e){(e==null||e.meta.aborted==null)&&(this.isComplete=!0,this.consolidatedChunks&&this.uploadConsolidatedChunks(null))}handleError(e){var{onError:t}=this;t(e)}handleNodeUpdate(e){this.zipProgress=e.percent}}Ce(zn,"generateHeaders",i=>{for(var e=[],t=0;t<i;t+=1)e.push(zn.generateHeaderRecursive(t));return e});const Km=zn;function ss(i,e,t){return e=zm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zm(i){var e=qm(i,"string");return typeof e=="symbol"?e:String(e)}function qm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class kr{static fromExtension(e){return e.endsWith(".csv")?"DEFAULT_CSV":e.endsWith(".tsv")||e.endsWith(".tab")?"TSV":e.endsWith(".psv")?"PIPE_SV":"AUTODETECT"}}ss(kr,"DEFAULT_TYPE","DEFAULT_CSV");ss(kr,"AUTO","AUTODETECT");ss(kr,"TYPES",Object.freeze({DEFAULT_CSV:{name:"Default csv (trimmed)",delimiter:",",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},TSV:{name:"Tab seperated (tsv)",delimiter:" ",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},APACHE_COMMON_CSV:{name:"Apache Common csv",delimiter:",",newline:`\r
|
|
6
6
|
`,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:null},EXCEL_CSV:{name:"Excel csv (strict)",delimiter:",",newline:`\r
|
|
7
7
|
`,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!1,nullString:null},MY_SQL_CSV:{name:"MySQL csv",delimiter:" ",newline:`
|
|
8
8
|
`,escapeChar:"\\",shouldTrim:!0,skipEmptyLines:!1,nullString:"\\N"},RFC4180_CSV:{name:"RFC4180 csv",delimiter:",",newline:`\r
|
|
9
|
-
`,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!1,nullString:null},COLON_SV:{name:": colon sv",delimiter:":",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},SEMI_COLON_SV:{name:"; semi-colon sv",delimiter:";",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},PIPE_SV:{name:"| pipe separated (psv)",delimiter:"|",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},SPACE_SV:{name:'" " space sv',delimiter:" ",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},AUTODETECT:{name:"autodetect",delimiter:void 0,newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"}}));const mi=kr;function Fd(i,e,t){return e=Ym(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ym(i){var e=Zm(i,"string");return typeof e=="symbol"?e:String(e)}function Zm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var mo=B.module("CsvInputBar"),Xm=Object.entries(mi.TYPES).map(i=>{var[e,t]=i;return l.jsx("option",{value:e,children:t.name},e)});class Rd extends f.Component{constructor(e){super(e),Fd(this,"inputRef",void 0),this.handleUpload=this.handleUpload.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleError=this.handleError.bind(this),this.handleTableName=this.handleTableName.bind(this),this.toggleFirstRowHeaders=this.toggleFirstRowHeaders.bind(this),this.handleProgress=this.handleProgress.bind(this),this.handleCancelInProgress=this.handleCancelInProgress.bind(this),this.handleQueryTypeChange=this.handleQueryTypeChange.bind(this),this.inputRef=J.createRef(),this.state={tableName:"",tableNameSet:!1,isFirstRowHeaders:!0,showProgress:!1,progressValue:0,type:mi.DEFAULT_TYPE,parser:null}}componentDidUpdate(e){var{file:t,paste:n}=this.props,{tableName:r,tableNameSet:a}=this.state;if(!a&&t!=null&&!r){var s,o=t.name.lastIndexOf("."),d=is.legalizeTableName(t.name.substring(0,o));this.setState({tableName:d,tableNameSet:!0}),(s=this.inputRef.current)===null||s===void 0||s.focus()}else(t==null&&e.file!=null||n==null&&e.paste!=null)&&this.setState({tableName:"",tableNameSet:!1});n!=null&&n!==""&&!r&&this.inputRef.current&&this.inputRef.current.focus(),t!=null&&t!==e.file?this.setState({type:mi.fromExtension(t.name)}):n!=null&&n!==""&&(e.paste===void 0||e.paste==="")&&this.setState({type:mi.AUTO})}componentWillUnmount(){var{parser:e}=this.state;e&&e.cancel()}handleCancel(){var{onClose:e}=this.props;e()}handleError(e){var{onClose:t,onError:n}=this.props;mo.error(e),n(e),t()}handleTableName(e){this.setState({tableName:e.target.value,tableNameSet:!0})}toggleFirstRowHeaders(){var{isFirstRowHeaders:e}=this.state;this.setState({isFirstRowHeaders:!e})}handleUpload(e){e.stopPropagation(),e.preventDefault();var{file:t,paste:n}=this.props;t!=null?t.name.endsWith(".zip")?this.handleZipFile(t):this.handleFile(t):n!==void 0&&n!==""&&this.handleFile(new Blob([n],{type:"text/plain"}))}handleFile(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;mo.info("Starting CSV parser for ".concat(e instanceof File?e.name:"pasted values"," ").concat(t?"":e.size," bytes"));var{session:n,timeZone:r,onInProgress:a}=this.props,{tableName:s,isFirstRowHeaders:o,type:d}=this.state,h=c=>{c.length===1?n.bindTableToVariable(c[0],s).then(()=>this.openTable()).catch(m=>this.handleError(m)):n.mergeTables(c).then(m=>{n.bindTableToVariable(m,s).then(()=>this.openTable()).catch(p=>this.handleError(p)),c.forEach(p=>p.close())}).catch(m=>this.handleError(m))},u=new Km({onFileCompleted:h,session:n,file:e,type:mi.TYPES[d],readHeaders:o,onProgress:this.handleProgress,onError:this.handleError,timeZone:r,isZip:t});u.parse(),this.setState({showProgress:!0,parser:u}),a(!0)}handleZipFile(e){var{onUpdate:t,unzip:n}=this.props;if(n==null){this.handleError(new Error("No support for zip files available."));return}n(e).then(r=>{for(var a=!1,s=0;s<r.length;s+=1){var o=r[s];if(Rn.isValidExtension(o.name)){t("Loading ".concat(o.name," as csv from ").concat(e.name)),a=!0,this.handleFile(o,!0);break}}if(!a)throw new Error("No csv file found in ".concat(e.name))}).catch(r=>this.handleError(r))}handleProgress(e){var{showProgress:t}=this.state;return t&&this.setState({progressValue:e}),!t}handleCancelInProgress(){var{onInProgress:e}=this.props,{parser:t}=this.state;t&&t.cancel(),this.setState({showProgress:!1,progressValue:0}),e(!1)}openTable(){var{onOpenTable:e,onClose:t}=this.props,{tableName:n}=this.state;e(n),t()}handleQueryTypeChange(e){this.setState({type:e.target.value})}render(){var{file:e,paste:t}=this.props,{tableName:n,isFirstRowHeaders:r,showProgress:a,progressValue:s,type:o}=this.state,d=!!t&&!n;return l.jsxs("div",{className:"csv-input-bar",children:[!a&&l.jsxs("form",{onSubmit:this.handleUpload,className:"csv-input-bar-container form-inline",children:[l.jsxs("div",{className:"form-group",children:[l.jsx("label",{htmlFor:"tableNameInput",children:"Table name"}),l.jsx("input",{ref:this.inputRef,id:"tableNameInput",type:"text",className:Z("form-control",{"is-invalid":d}),value:n,onChange:this.handleTableName})]}),l.jsxs("div",{className:"form-group",children:[l.jsx("label",{htmlFor:"formatSelect",children:"File format"}),l.jsx("select",{id:"formatSelect",className:"custom-select",value:o,onChange:this.handleQueryTypeChange,children:Xm})]}),l.jsx(vr,{className:"firstRowHeaders",checked:r,onChange:this.toggleFirstRowHeaders,children:"First row is column headers"}),l.jsxs("div",{className:"csv-input-buttons form-group",children:[l.jsx(F,{kind:"secondary",onClick:this.handleCancel,children:"Cancel"}),l.jsx(F,{kind:"primary",type:"submit",disabled:!(e!==null||t!==void 0&&t!=="")||!n,children:"Upload"})]})]}),a&&l.jsxs("div",{className:"csv-progress-container",children:[l.jsx("label",{children:"Uploading Table"}),l.jsx("div",{className:"progress",children:l.jsx("div",{className:"progress-bar bg-primary",style:{width:"".concat(s,"%")},"aria-valuenow":s,"aria-valuemin":0,"aria-valuemax":100})}),l.jsxs("label",{children:[s,"%"]}),l.jsx(F,{kind:"primary",onClick:this.handleCancelInProgress,children:"Cancel"})]})]})}}Fd(Rd,"defaultProps",{file:null,paste:null,unzip:null});const Jm=Rd;function Xi(i,e,t){return e=Qm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qm(i){var e=ep(i,"string");return typeof e=="symbol"?e:String(e)}function ep(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var po=B.module("ConsoleMenu");class Tr extends f.PureComponent{static makeItemActions(e,t,n,r,a){if(e.length===0)return[];var s={menuElement:l.jsx(rs,{value:t,onChange:r,className:"console-menu",ref:n})},o=e;t&&(o=o.filter(h=>{var{title:u}=h;return u!=null&&u.toLowerCase().indexOf(t.toLowerCase())>=0}));var d=o.map(h=>({title:h.title,action:()=>{a(h)}}));return[s,...d]}constructor(e){super(e),Xi(this,"tableSearchField",void 0),Xi(this,"widgetSearchField",void 0),Xi(this,"makeTableActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Oa.isTableType(a,o.type));return Tr.makeItemActions(s,n,o=>{this.tableSearchField=o},this.handleTableFilterChange,r)})),Xi(this,"makeWidgetActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Oa.isWidgetType(a,o.type));return Tr.makeItemActions(s,n,o=>{this.widgetSearchField=o},this.handleWidgetFilterChange,r)})),this.handleTableFilterChange=this.handleTableFilterChange.bind(this),this.handleTableMenuClosed=this.handleTableMenuClosed.bind(this),this.handleTableMenuOpened=this.handleTableMenuOpened.bind(this),this.handleWidgetFilterChange=this.handleWidgetFilterChange.bind(this),this.handleWidgetMenuClosed=this.handleWidgetMenuClosed.bind(this),this.handleWidgetMenuOpened=this.handleWidgetMenuOpened.bind(this),this.state={tableFilterText:"",widgetFilterText:""}}handleTableFilterChange(e){po.debug("filtering tables..."),this.setState({tableFilterText:e.target.value})}handleTableMenuClosed(){this.setState({tableFilterText:""})}handleTableMenuOpened(){var e;(e=this.tableSearchField)===null||e===void 0||e.focus()}handleWidgetFilterChange(e){po.debug("filtering widgets..."),this.setState({widgetFilterText:e.target.value})}handleWidgetMenuClosed(){this.setState({widgetFilterText:""})}handleWidgetMenuOpened(){var e;(e=this.widgetSearchField)===null||e===void 0||e.focus()}render(){var{overflowActions:e,objects:t,openObject:n}=this.props,{tableFilterText:r,widgetFilterText:a}=this.state,s=this.makeTableActions(t,r,n),o=this.makeWidgetActions(t,a,n),d={placement:"bottom-end"},h=s.length===0,u=o.length===0;return l.jsxs("div",{className:"console-pane-menu",children:[l.jsxs(F,{kind:"ghost",className:"btn-link-icon",disabled:h,onClick:()=>{},tooltip:h?"No tables available":"Tables",children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:sd,icon:Sn,transform:"right-5 down-5"}),l.jsx(X,{icon:Sn,transform:"right-8 down-6"})]}),l.jsx(En,{actions:s,onMenuOpened:this.handleTableMenuOpened,onMenuClosed:this.handleTableMenuClosed,options:{initialKeyboardIndex:1},popperOptions:d},"table-actions ")]}),l.jsxs(F,{kind:"ghost",className:"btn-link-icon",disabled:o.length===0,onClick:()=>{},tooltip:u?"No widgets available":"Widgets",children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:ad,icon:Sn,transform:"right-5 down-5"}),l.jsx(X,{icon:Sn,transform:"right-8 down-6"})]}),l.jsx(En,{actions:o,onMenuOpened:this.handleWidgetMenuOpened,onMenuClosed:this.handleWidgetMenuClosed,options:{initialKeyboardIndex:1},popperOptions:d},"table-actions")]}),l.jsx(F,{kind:"ghost",className:"btn-overflow btn-link-icon",icon:ld,tooltip:"More Actions...",onClick:()=>{},children:l.jsx(En,{actions:e,popperOptions:d})})]})}}const tp=Tr;function jd(i,e,t){return e=np(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function np(i){var e=ip(i,"string");return typeof e=="symbol"?e:String(e)}function ip(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ad extends f.PureComponent{constructor(e){super(e),jd(this,"pending",void 0),this.handleCommandStarted=this.handleCommandStarted.bind(this),this.handleCommandCompleted=this.handleCommandCompleted.bind(this),this.pending=new dn,this.state={isDisconnected:!1,isCommandRunning:!1}}componentDidMount(){this.startListening()}componentWillUnmount(){this.stopListening(),this.cancelPendingPromises()}startListening(){var{dh:e,session:t}=this.props;t.addEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted)}stopListening(){var{dh:e,session:t}=this.props;t.removeEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted)}cancelPendingPromises(){this.pending.cancel()}handleCommandStarted(e){var{result:t}=e.detail;this.pending.add(t).then(()=>this.handleCommandCompleted(null)).catch(n=>this.handleCommandCompleted(n)),this.setState({isCommandRunning:!0})}handleCommandCompleted(e){e instanceof pd||this.setState({isCommandRunning:this.pending.pending.length>0})}render(){var{children:e,dh:t,openObject:n,overflowActions:r,objects:a}=this.props,{isDisconnected:s,isCommandRunning:o}=this.state,d=null,h=null;return s?(d="console-status-icon-disconnected",h="Worker is disconnected"):o?(d="console-status-icon-pending",h="Worker is busy"):(d="console-status-icon-idle",h="Worker is idle"),l.jsxs("div",{className:"console-pane-status-bar",children:[l.jsxs("div",{children:[l.jsx("div",{className:Z("console-status-icon",d)}),l.jsx(Mt,{children:h})]}),e,l.jsx(tp,{dh:t,overflowActions:r,openObject:n,objects:a})]})}}jd(Ad,"defaultProps",{children:null});const rp=Ad;function fo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ft(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fo(Object(t),!0).forEach(function(n){mt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):fo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function mt(i,e,t){return e=ap(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ap(i){var e=sp(i,"string");return typeof e=="symbol"?e:String(e)}function sp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var At=B.module("Console"),vo={isAutoLaunchPanelsEnabled:!0,isPrintStdOutEnabled:!0,isClosePanelsOnDisconnectEnabled:!0};class an extends f.PureComponent{static isErrorLevel(e){return e===Ne.STDERR||e===Ne.ERROR||e===Ne.FATAL}static isOutputLevel(e){return e===Ne.STDOUT||an.isErrorLevel(e)}constructor(e){super(e),mt(this,"cancelListener",void 0),mt(this,"consolePane",void 0),mt(this,"consoleInput",void 0),mt(this,"consoleHistoryScrollPane",void 0),mt(this,"pending",void 0),mt(this,"queuedLogMessages",void 0),mt(this,"processLogMessageQueue",Fr(()=>{this.scrollConsoleHistoryToBottom(),this.setState(r=>{At.debug2("processLogMessageQueue",this.queuedLogMessages.length," items");var{consoleHistory:a}=r;return a=a.concat(this.queuedLogMessages),this.queuedLogMessages=[],{consoleHistory:a}})},an.LOG_THROTTLE)),mt(this,"getObjects",te(r=>[...r.values()])),mt(this,"getContextActions",te(r=>[...r,{action:this.handleClearShortcut,shortcut:We.CONSOLE.CLEAR},{action:this.handleFocusHistory,shortcut:We.CONSOLE.FOCUS_HISTORY}])),this.handleCommandResult=this.handleCommandResult.bind(this),this.handleCommandStarted=this.handleCommandStarted.bind(this),this.handleCommandSubmit=this.handleCommandSubmit.bind(this),this.handleClearShortcut=this.handleClearShortcut.bind(this),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleLogMessage=this.handleLogMessage.bind(this),this.handleOverflowActions=this.handleOverflowActions.bind(this),this.handleScrollPaneScroll=this.handleScrollPaneScroll.bind(this),this.handleToggleAutoLaunchPanels=this.handleToggleAutoLaunchPanels.bind(this),this.handleToggleClosePanelsOnDisconnect=this.handleToggleClosePanelsOnDisconnect.bind(this),this.handleTogglePrintStdout=this.handleTogglePrintStdout.bind(this),this.handleUploadCsv=this.handleUploadCsv.bind(this),this.handleHideCsv=this.handleHideCsv.bind(this),this.handleCsvFileCanceled=this.handleCsvFileCanceled.bind(this),this.handleCsvFileOpened=this.handleCsvFileOpened.bind(this),this.handleCsvPaste=this.handleCsvPaste.bind(this),this.handleDragEnter=this.handleDragEnter.bind(this),this.handleDragLeave=this.handleDragLeave.bind(this),this.handleClearDragError=this.handleClearDragError.bind(this),this.handleOpenCsvTable=this.handleOpenCsvTable.bind(this),this.handleCsvUpdate=this.handleCsvUpdate.bind(this),this.handleCsvError=this.handleCsvError.bind(this),this.handleCsvInProgress=this.handleCsvInProgress.bind(this),this.consolePane=J.createRef(),this.consoleInput=J.createRef(),this.consoleHistoryScrollPane=J.createRef(),this.pending=new dn,this.queuedLogMessages=[];var{objectMap:t,settings:n}=this.props;this.state=ft(ft({consoleHistory:[],consoleHeight:0,isScrollDecorationShown:!1,objectHistoryMap:new Map,objectMap:new Map(t),showCsvOverlay:!1,csvFile:null,csvPaste:null,dragError:null,csvUploadInProgress:!1},vo),n)}componentDidMount(){this.initConsoleLogging();var{dh:e,session:t}=this.props;t.addEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted),this.updateDimensions()}componentDidUpdate(e,t){var{props:n,state:r}=this;this.sendSettingsChange(t,r),n.objectMap!==e.objectMap&&this.updateObjectMap()}componentWillUnmount(){var{dh:e,session:t}=this.props;t.removeEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted),this.pending.cancel(),this.processLogMessageQueue.cancel(),this.deinitConsoleLogging()}initConsoleLogging(){var{session:e}=this.props;this.cancelListener=e.onLogMessage(this.handleLogMessage)}deinitConsoleLogging(){this.cancelListener!=null&&(this.cancelListener(),this.cancelListener=void 0)}handleClearShortcut(e){var t;e.preventDefault(),e.stopPropagation(),(t=this.consoleInput.current)===null||t===void 0||t.clear()}handleCommandStarted(e){var{code:t,result:n}=e.detail,r=this.pending.add(n),a={command:t,disabledObjects:[],startTime:Date.now(),cancelResult:()=>{n.cancel()},wrappedResult:r},{commandHistoryStorage:s,language:o,scope:d}=this.props,h=s.addItem(o,d,t,{command:t,startTime:new Date().toJSON()});h.catch(u=>{At.debug("Error adding workspace item",u)}),this.setState(u=>({consoleHistory:u.consoleHistory.concat(a)}),()=>{this.scrollConsoleHistoryToBottom(!0)}),r.then(u=>{this.handleCommandResult(u,a,h)}).catch(u=>{this.handleCommandError(u,a,h)})}handleCommandResult(e,t,n){var r=ft(ft({},t),{},{wrappedResult:void 0,cancelResult:void 0,result:e??t.result});this.setState(a=>{var{consoleHistory:s}=a,o=s.lastIndexOf(t);if(o<0)return At.error("historyItem not found in consoleHistory"),null;var d=s.concat();return d[o]=r,{consoleHistory:d}}),e&&(this.updateHistory(e,r),this.updateKnownObjects(r),this.updateWorkspaceHistoryItem({error:e.error},n),this.closeRemovedItems(e.changes),this.openUpdatedItems(e.changes))}handleCommandError(e,t,n){if(le.isCanceled(e)){At.debug("Called handleCommandError on a cancelled promise result");return}this.updateWorkspaceHistoryItem({error:"".concat(e)},n),this.setState(r=>{var a=r.consoleHistory.concat(),s=a.lastIndexOf(t),o=ft({},t);return o.wrappedResult=void 0,o.cancelResult=void 0,o.endTime=Date.now(),o.result={error:e},a[s]=o,{consoleHistory:a}})}handleFocusHistory(e){e.preventDefault(),e.stopPropagation();var{focusCommandHistory:t}=this.props;t()}handleLogMessage(e){var{isPrintStdOutEnabled:t}=this.state;t&&an.isOutputLevel(e.logLevel)&&this.queueLogMessage(e.message,e.logLevel)}queueLogMessage(e,t){var n={};an.isErrorLevel(t)?n.error=e:n.message=e;var r={command:void 0,result:n};this.queuedLogMessages.push(r),this.processLogMessageQueue()}openUpdatedItems(e){var{isAutoLaunchPanelsEnabled:t}=this.state;if(!(e==null||!t)){var{openObject:n}=this.props;[...e.created,...e.updated].forEach(r=>n(r))}}closeRemovedItems(e){if(!(e==null||e.removed==null||e.removed.length===0)){var{closeObject:t}=this.props,{removed:n}=e;n.forEach(r=>t(r))}}updateHistory(e,t){var n=t;e==null||e.changes==null||n==null||(n.endTime=Date.now(),this.scrollConsoleHistoryToBottom(),this.setState(r=>{var a=r.consoleHistory.concat();return{consoleHistory:a}}))}updateKnownObjects(e){var t;if(e.result&&(t=e.result.changes),!t||(t.created==null||t.created.length===0)&&(t.updated==null||t.updated.length===0)&&(t.removed==null||t.removed.length===0)){At.debug2("updateKnownObjects no changes");return}this.setState(n=>{var r,a,s,{consoleHistory:o}=n,d=o.lastIndexOf(e);if(d<0)return At.error("historyItem not found in state.consoleHistory"),null;var h=new Map(n.objectHistoryMap),u=new Map(n.objectMap),c=function(p){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{title:g}=p;$(g);var b=h.get(g);if(b!=null&&b>=0){var C;o===n.consoleHistory&&(o=o.concat());var w=ft(ft({},o[b]),{},{disabledObjects:[...(C=o[b].disabledObjects)!==null&&C!==void 0?C:[],g]});o[b]=w}h.set(g,d),v?u.delete(g):u.set(g,p)};return(r=t)===null||r===void 0||r.updated.forEach(m=>c(m)),(a=t)===null||a===void 0||a.removed.forEach(m=>c(m,!0)),(s=t)===null||s===void 0||s.created.forEach(m=>{var{title:p}=m;$(p),h.set(p,d),u.set(p,m)}),{objectHistoryMap:h,objectMap:u,consoleHistory:o}})}updateObjectMap(){var{objectMap:e}=this.props;this.setState({objectMap:e})}updateWorkspaceHistoryItem(e,t){var n=this.pending.add(t),r=new Date().toJSON();n.then(a=>{var s=ft(ft({},a),{},{data:ft(ft({},a.data),{},{endTime:r,result:e})}),{commandHistoryStorage:o,language:d}=this.props;o.updateItem(d,s).catch(h=>{At.warn("Error updating command history storage",h)})}).catch(a=>{At.debug("Error updating workspace history item",a)})}scrollConsoleHistoryToBottom(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.consoleHistoryScrollPane.current;$(t),!(!e&&Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)>=1)&&window.requestAnimationFrame(()=>{t.scrollTop=t.scrollHeight})}handleScrollPaneScroll(){var e=this.consoleHistoryScrollPane.current;$(e),e.scrollTop>0&&e.scrollHeight>e.clientHeight?this.setState({isScrollDecorationShown:!0}):this.setState({isScrollDecorationShown:!1})}handleToggleAutoLaunchPanels(){this.setState(e=>({isAutoLaunchPanelsEnabled:!e.isAutoLaunchPanelsEnabled}))}handleToggleClosePanelsOnDisconnect(){this.setState(e=>({isClosePanelsOnDisconnectEnabled:!e.isClosePanelsOnDisconnectEnabled}))}handleTogglePrintStdout(){this.setState(e=>({isPrintStdOutEnabled:!e.isPrintStdOutEnabled}))}handleUploadCsv(){this.setState({showCsvOverlay:!0,dragError:null,csvUploadInProgress:!1})}handleHideCsv(){this.setState({showCsvOverlay:!1,csvFile:null,csvPaste:null,dragError:null,csvUploadInProgress:!1})}handleCsvFileCanceled(){this.setState({csvFile:null,csvPaste:null})}handleCsvFileOpened(e){this.setState({csvFile:e,csvPaste:null})}handleCsvPaste(e){this.setState({csvFile:null,csvPaste:e})}handleDragEnter(e){if(!(e.dataTransfer==null||e.dataTransfer.items==null||e.dataTransfer.items.length===0||e.dataTransfer.items[0].kind==="string")){e.preventDefault(),e.stopPropagation(),this.setState({showCsvOverlay:!0});var{items:t}=e.dataTransfer;if(t.length>1){this.setState({dragError:Rn.MULTIPLE_FILE_ERROR});return}var n=t[0];Rn.isValidDropItem(n)?this.setState({dragError:null}):this.setState({dragError:Rn.FILE_TYPE_ERROR})}}handleDragLeave(e){e.currentTarget==null||e.currentTarget instanceof Element&&e.relatedTarget instanceof Element&&e.currentTarget.contains(e.relatedTarget)||(e.preventDefault(),e.stopPropagation(),this.setState({showCsvOverlay:!1,dragError:null}))}handleClearDragError(){this.setState({dragError:null})}handleOpenCsvTable(e){var{dh:t,openObject:n,commandHistoryStorage:r,language:a,scope:s}=this.props,{consoleHistory:o,objectMap:d}=this.state,h={name:e,title:e,type:t.VariableType.TABLE},u=d.has(e),c={startTime:Date.now(),endTime:Date.now(),disabledObjects:[],result:{changes:{created:[],updated:[],removed:[],[u?"updated":"created"]:[h]}}},m=o.concat(c);this.setState({consoleHistory:m}),this.scrollConsoleHistoryToBottom(!0),this.updateKnownObjects(c),n({name:e,title:e,type:t.VariableType.TABLE}),r.addItem(a,s,e,{command:e,startTime:new Date().toJSON(),endTime:new Date().toJSON()})}addConsoleHistoryMessage(e,t){var{consoleHistory:n}=this.state,r={startTime:Date.now(),endTime:Date.now(),result:{message:e,error:t}},a=n.concat(r);this.setState({consoleHistory:a})}handleCsvUpdate(e){this.addConsoleHistoryMessage(e)}handleCsvError(e){this.addConsoleHistoryMessage(void 0,e!=null?"".concat(e):void 0)}handleCsvInProgress(e){this.setState({csvUploadInProgress:e})}handleOverflowActions(){var{isAutoLaunchPanelsEnabled:e,isClosePanelsOnDisconnectEnabled:t,isPrintStdOutEnabled:n}=this.state,{actions:r}=this.props;return[...r,{title:"Print Stdout",action:this.handleTogglePrintStdout,group:ie.groups.high,icon:n?Ci:void 0,order:10},{title:"Auto Launch Panels",action:this.handleToggleAutoLaunchPanels,group:ie.groups.high,icon:e?Ci:void 0,order:20},{title:"Close Panels on Disconnect",action:this.handleToggleClosePanelsOnDisconnect,group:ie.groups.high,icon:t?Ci:void 0,order:30},{title:"Upload Table from File",action:this.handleUploadCsv,group:ie.groups.high+10,order:40}]}handleCommandSubmit(e){if(e==="clear"||e==="cls")this.clearConsoleHistory();else if(e.length>0){var{session:t}=this.props;t.runCode(e).catch(r=>{At.error("There was an error initiating the command",r)})}else{var n={command:" ",result:{},startTime:Date.now(),endTime:Date.now()};this.scrollConsoleHistoryToBottom(!0),this.setState(r=>({consoleHistory:r.consoleHistory.concat(n)}))}}clearConsoleHistory(){this.pending.cancel(),this.setState(e=>{var t=new Map([...e.objectHistoryMap.keys()].map(n=>[n,-1]));return{consoleHistory:[],objectHistoryMap:t}})}addCommand(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.consoleInput.current&&(this.consoleInput.current.setConsoleText(e,t,n),t&&this.scrollConsoleHistoryToBottom(!0))}focus(){var e;(e=this.consoleInput.current)===null||e===void 0||e.focus()}sendSettingsChange(e,t){for(var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=Object.keys(vo),a={},s=!1,o=0;o<r.length;o+=1){var d=r[o],{[d]:h}=t,{[d]:u}=e;h!==u&&(s=!0),a[d]=h}if(!(n&&!s)){var{onSettingsChange:c}=this.props;c(a)}}updateDimensions(){this.consolePane.current&&this.setState({consoleHeight:this.consolePane.current.clientHeight}),this.consoleInput.current&&this.consoleInput.current.updateDimensions()}render(){var{actions:e,dh:t,historyChildren:n,language:r,statusBarChildren:a,openObject:s,session:o,scope:d,commandHistoryStorage:h,timeZone:u,disabled:c,unzip:m}=this.props,{consoleHeight:p,consoleHistory:v,isScrollDecorationShown:g,objectMap:b,showCsvOverlay:C,csvFile:w,csvPaste:S,dragError:y,csvUploadInProgress:E}=this.state,M=this.getObjects(b),O=Math.round(p*.7),x=this.getContextActions(e);return l.jsxs("div",{role:"presentation",className:Z("iris-console","h-100","w-100",{disabled:c}),children:[l.jsxs("div",{className:"console-pane",ref:this.consolePane,children:[l.jsx(rp,{dh:t,session:o,overflowActions:this.handleOverflowActions,openObject:s,objects:M,children:a}),l.jsxs("div",{className:"console-csv-container",onDragOver:Rn.handleDragOver,onDragEnter:this.handleDragEnter,onDragLeave:this.handleDragLeave,children:[C&&l.jsx(Rn,{onCancel:this.handleCsvFileCanceled,onFileOpened:this.handleCsvFileOpened,onPaste:this.handleCsvPaste,clearDragError:this.handleClearDragError,dragError:y,onError:this.handleCsvError,uploadInProgress:E,allowZip:m!=null}),l.jsxs("div",{role:"presentation",className:Z("scroll-pane no-scroll-x",{"scroll-decoration":g}),onScroll:this.handleScrollPaneScroll,ref:this.consoleHistoryScrollPane,children:[l.jsx(wm,{items:v,openObject:s,language:r,disabled:c}),n]})]}),!C&&l.jsx(ro,{ref:this.consoleInput,session:o,language:r,scope:d,onSubmit:this.handleCommandSubmit,maxHeight:O,commandHistoryStorage:h}),C&&l.jsx(Jm,{session:o,onOpenTable:this.handleOpenCsvTable,onClose:this.handleHideCsv,onUpdate:this.handleCsvUpdate,onError:this.handleCsvError,file:w??void 0,paste:S??void 0,onInProgress:this.handleCsvInProgress,timeZone:u,unzip:m})]}),l.jsx(ie,{actions:x,ignoreClassNames:[ro.INPUT_CLASS_NAME]})]})}}mt(an,"defaultProps",{statusBarChildren:null,settings:{},onSettingsChange:()=>{},scope:null,actions:[],historyChildren:null,timeZone:"America/New_York",objectMap:new Map,disabled:!1,unzip:null});mt(an,"LOG_THROTTLE",500);const op=an;var lp={groovy:"Groovy",python:"Python",scala:"Scala"};class dp{static normalizeScriptLanguage(e){return lp[e]||null}static getDisabledRunTooltip(e,t,n,r){return e?t?null:"".concat(n," doesn't match the session language – ").concat(r," disabled"):"Console session not connected – ".concat(r," disabled")}static outdentCode(e){var t=e.split(`
|
|
9
|
+
`,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!1,nullString:null},COLON_SV:{name:": colon sv",delimiter:":",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},SEMI_COLON_SV:{name:"; semi-colon sv",delimiter:";",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},PIPE_SV:{name:"| pipe separated (psv)",delimiter:"|",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},SPACE_SV:{name:'" " space sv',delimiter:" ",newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"},AUTODETECT:{name:"autodetect",delimiter:void 0,newline:void 0,escapeChar:'"',shouldTrim:!0,skipEmptyLines:!0,nullString:"(null)"}}));const mi=kr;function Fd(i,e,t){return e=Ym(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ym(i){var e=Zm(i,"string");return typeof e=="symbol"?e:String(e)}function Zm(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var mo=B.module("CsvInputBar"),Xm=Object.entries(mi.TYPES).map(i=>{var[e,t]=i;return l.jsx("option",{value:e,children:t.name},e)});class Rd extends v.Component{constructor(e){super(e),Fd(this,"inputRef",void 0),this.handleUpload=this.handleUpload.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleError=this.handleError.bind(this),this.handleTableName=this.handleTableName.bind(this),this.toggleFirstRowHeaders=this.toggleFirstRowHeaders.bind(this),this.handleProgress=this.handleProgress.bind(this),this.handleCancelInProgress=this.handleCancelInProgress.bind(this),this.handleQueryTypeChange=this.handleQueryTypeChange.bind(this),this.inputRef=J.createRef(),this.state={tableName:"",tableNameSet:!1,isFirstRowHeaders:!0,showProgress:!1,progressValue:0,type:mi.DEFAULT_TYPE,parser:null}}componentDidUpdate(e){var{file:t,paste:n}=this.props,{tableName:r,tableNameSet:a}=this.state;if(!a&&t!=null&&!r){var s,o=t.name.lastIndexOf("."),d=is.legalizeTableName(t.name.substring(0,o));this.setState({tableName:d,tableNameSet:!0}),(s=this.inputRef.current)===null||s===void 0||s.focus()}else(t==null&&e.file!=null||n==null&&e.paste!=null)&&this.setState({tableName:"",tableNameSet:!1});n!=null&&n!==""&&!r&&this.inputRef.current&&this.inputRef.current.focus(),t!=null&&t!==e.file?this.setState({type:mi.fromExtension(t.name)}):n!=null&&n!==""&&(e.paste===void 0||e.paste==="")&&this.setState({type:mi.AUTO})}componentWillUnmount(){var{parser:e}=this.state;e&&e.cancel()}handleCancel(){var{onClose:e}=this.props;e()}handleError(e){var{onClose:t,onError:n}=this.props;mo.error(e),n(e),t()}handleTableName(e){this.setState({tableName:e.target.value,tableNameSet:!0})}toggleFirstRowHeaders(){var{isFirstRowHeaders:e}=this.state;this.setState({isFirstRowHeaders:!e})}handleUpload(e){e.stopPropagation(),e.preventDefault();var{file:t,paste:n}=this.props;t!=null?t.name.endsWith(".zip")?this.handleZipFile(t):this.handleFile(t):n!==void 0&&n!==""&&this.handleFile(new Blob([n],{type:"text/plain"}))}handleFile(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;mo.info("Starting CSV parser for ".concat(e instanceof File?e.name:"pasted values"," ").concat(t?"":e.size," bytes"));var{session:n,timeZone:r,onInProgress:a}=this.props,{tableName:s,isFirstRowHeaders:o,type:d}=this.state,h=c=>{c.length===1?n.bindTableToVariable(c[0],s).then(()=>this.openTable()).catch(m=>this.handleError(m)):n.mergeTables(c).then(m=>{n.bindTableToVariable(m,s).then(()=>this.openTable()).catch(p=>this.handleError(p)),c.forEach(p=>p.close())}).catch(m=>this.handleError(m))},u=new Km({onFileCompleted:h,session:n,file:e,type:mi.TYPES[d],readHeaders:o,onProgress:this.handleProgress,onError:this.handleError,timeZone:r,isZip:t});u.parse(),this.setState({showProgress:!0,parser:u}),a(!0)}handleZipFile(e){var{onUpdate:t,unzip:n}=this.props;if(n==null){this.handleError(new Error("No support for zip files available."));return}n(e).then(r=>{for(var a=!1,s=0;s<r.length;s+=1){var o=r[s];if(Rn.isValidExtension(o.name)){t("Loading ".concat(o.name," as csv from ").concat(e.name)),a=!0,this.handleFile(o,!0);break}}if(!a)throw new Error("No csv file found in ".concat(e.name))}).catch(r=>this.handleError(r))}handleProgress(e){var{showProgress:t}=this.state;return t&&this.setState({progressValue:e}),!t}handleCancelInProgress(){var{onInProgress:e}=this.props,{parser:t}=this.state;t&&t.cancel(),this.setState({showProgress:!1,progressValue:0}),e(!1)}openTable(){var{onOpenTable:e,onClose:t}=this.props,{tableName:n}=this.state;e(n),t()}handleQueryTypeChange(e){this.setState({type:e.target.value})}render(){var{file:e,paste:t}=this.props,{tableName:n,isFirstRowHeaders:r,showProgress:a,progressValue:s,type:o}=this.state,d=!!t&&!n;return l.jsxs("div",{className:"csv-input-bar",children:[!a&&l.jsxs("form",{onSubmit:this.handleUpload,className:"csv-input-bar-container form-inline",children:[l.jsxs("div",{className:"form-group",children:[l.jsx("label",{htmlFor:"tableNameInput",children:"Table name"}),l.jsx("input",{ref:this.inputRef,id:"tableNameInput",type:"text",className:Z("form-control",{"is-invalid":d}),value:n,onChange:this.handleTableName})]}),l.jsxs("div",{className:"form-group",children:[l.jsx("label",{htmlFor:"formatSelect",children:"File format"}),l.jsx("select",{id:"formatSelect",className:"custom-select",value:o,onChange:this.handleQueryTypeChange,children:Xm})]}),l.jsx(fr,{className:"firstRowHeaders",checked:r,onChange:this.toggleFirstRowHeaders,children:"First row is column headers"}),l.jsxs("div",{className:"csv-input-buttons form-group",children:[l.jsx(F,{kind:"secondary",onClick:this.handleCancel,children:"Cancel"}),l.jsx(F,{kind:"primary",type:"submit",disabled:!(e!==null||t!==void 0&&t!=="")||!n,children:"Upload"})]})]}),a&&l.jsxs("div",{className:"csv-progress-container",children:[l.jsx("label",{children:"Uploading Table"}),l.jsx("div",{className:"progress",children:l.jsx("div",{className:"progress-bar bg-primary",style:{width:"".concat(s,"%")},"aria-valuenow":s,"aria-valuemin":0,"aria-valuemax":100})}),l.jsxs("label",{children:[s,"%"]}),l.jsx(F,{kind:"primary",onClick:this.handleCancelInProgress,children:"Cancel"})]})]})}}Fd(Rd,"defaultProps",{file:null,paste:null,unzip:null});const Jm=Rd;function Xi(i,e,t){return e=Qm(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qm(i){var e=ep(i,"string");return typeof e=="symbol"?e:String(e)}function ep(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var po=B.module("ConsoleMenu");class Tr extends v.PureComponent{static makeItemActions(e,t,n,r,a){if(e.length===0)return[];var s={menuElement:l.jsx(rs,{value:t,onChange:r,className:"console-menu",ref:n})},o=e;t&&(o=o.filter(h=>{var{title:u}=h;return u!=null&&u.toLowerCase().indexOf(t.toLowerCase())>=0}));var d=o.map(h=>({title:h.title,action:()=>{a(h)}}));return[s,...d]}constructor(e){super(e),Xi(this,"tableSearchField",void 0),Xi(this,"widgetSearchField",void 0),Xi(this,"makeTableActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Oa.isTableType(a,o.type));return Tr.makeItemActions(s,n,o=>{this.tableSearchField=o},this.handleTableFilterChange,r)})),Xi(this,"makeWidgetActions",te((t,n,r)=>{var{dh:a}=this.props,s=t.filter(o=>Oa.isWidgetType(a,o.type));return Tr.makeItemActions(s,n,o=>{this.widgetSearchField=o},this.handleWidgetFilterChange,r)})),this.handleTableFilterChange=this.handleTableFilterChange.bind(this),this.handleTableMenuClosed=this.handleTableMenuClosed.bind(this),this.handleTableMenuOpened=this.handleTableMenuOpened.bind(this),this.handleWidgetFilterChange=this.handleWidgetFilterChange.bind(this),this.handleWidgetMenuClosed=this.handleWidgetMenuClosed.bind(this),this.handleWidgetMenuOpened=this.handleWidgetMenuOpened.bind(this),this.state={tableFilterText:"",widgetFilterText:""}}handleTableFilterChange(e){po.debug("filtering tables..."),this.setState({tableFilterText:e.target.value})}handleTableMenuClosed(){this.setState({tableFilterText:""})}handleTableMenuOpened(){var e;(e=this.tableSearchField)===null||e===void 0||e.focus()}handleWidgetFilterChange(e){po.debug("filtering widgets..."),this.setState({widgetFilterText:e.target.value})}handleWidgetMenuClosed(){this.setState({widgetFilterText:""})}handleWidgetMenuOpened(){var e;(e=this.widgetSearchField)===null||e===void 0||e.focus()}render(){var{overflowActions:e,objects:t,openObject:n}=this.props,{tableFilterText:r,widgetFilterText:a}=this.state,s=this.makeTableActions(t,r,n),o=this.makeWidgetActions(t,a,n),d={placement:"bottom-end"},h=s.length===0,u=o.length===0;return l.jsxs("div",{className:"console-pane-menu",children:[l.jsxs(F,{kind:"ghost",className:"btn-link-icon",disabled:h,onClick:()=>{},tooltip:h?"No tables available":"Tables",children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:sd,icon:Sn,transform:"right-5 down-5"}),l.jsx(X,{icon:Sn,transform:"right-8 down-6"})]}),l.jsx(En,{actions:s,onMenuOpened:this.handleTableMenuOpened,onMenuClosed:this.handleTableMenuClosed,options:{initialKeyboardIndex:1},popperOptions:d},"table-actions ")]}),l.jsxs(F,{kind:"ghost",className:"btn-link-icon",disabled:o.length===0,onClick:()=>{},tooltip:u?"No widgets available":"Widgets",children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:ad,icon:Sn,transform:"right-5 down-5"}),l.jsx(X,{icon:Sn,transform:"right-8 down-6"})]}),l.jsx(En,{actions:o,onMenuOpened:this.handleWidgetMenuOpened,onMenuClosed:this.handleWidgetMenuClosed,options:{initialKeyboardIndex:1},popperOptions:d},"table-actions")]}),l.jsx(F,{kind:"ghost",className:"btn-overflow btn-link-icon",icon:ld,tooltip:"More Actions...",onClick:()=>{},children:l.jsx(En,{actions:e,popperOptions:d})})]})}}const tp=Tr;function jd(i,e,t){return e=np(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function np(i){var e=ip(i,"string");return typeof e=="symbol"?e:String(e)}function ip(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ad extends v.PureComponent{constructor(e){super(e),jd(this,"pending",void 0),this.handleCommandStarted=this.handleCommandStarted.bind(this),this.handleCommandCompleted=this.handleCommandCompleted.bind(this),this.pending=new dn,this.state={isDisconnected:!1,isCommandRunning:!1}}componentDidMount(){this.startListening()}componentWillUnmount(){this.stopListening(),this.cancelPendingPromises()}startListening(){var{dh:e,session:t}=this.props;t.addEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted)}stopListening(){var{dh:e,session:t}=this.props;t.removeEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted)}cancelPendingPromises(){this.pending.cancel()}handleCommandStarted(e){var{result:t}=e.detail;this.pending.add(t).then(()=>this.handleCommandCompleted(null)).catch(n=>this.handleCommandCompleted(n)),this.setState({isCommandRunning:!0})}handleCommandCompleted(e){e instanceof pd||this.setState({isCommandRunning:this.pending.pending.length>0})}render(){var{children:e,dh:t,openObject:n,overflowActions:r,objects:a}=this.props,{isDisconnected:s,isCommandRunning:o}=this.state,d=null,h=null;return s?(d="console-status-icon-disconnected",h="Worker is disconnected"):o?(d="console-status-icon-pending",h="Worker is busy"):(d="console-status-icon-idle",h="Worker is idle"),l.jsxs("div",{className:"console-pane-status-bar",children:[l.jsxs("div",{children:[l.jsx("div",{className:Z("console-status-icon",d)}),l.jsx(Mt,{children:h})]}),e,l.jsx(tp,{dh:t,overflowActions:r,openObject:n,objects:a})]})}}jd(Ad,"defaultProps",{children:null});const rp=Ad;function vo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function vt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vo(Object(t),!0).forEach(function(n){mt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):vo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function mt(i,e,t){return e=ap(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ap(i){var e=sp(i,"string");return typeof e=="symbol"?e:String(e)}function sp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var At=B.module("Console"),fo={isAutoLaunchPanelsEnabled:!0,isPrintStdOutEnabled:!0,isClosePanelsOnDisconnectEnabled:!0};class an extends v.PureComponent{static isErrorLevel(e){return e===Ne.STDERR||e===Ne.ERROR||e===Ne.FATAL}static isOutputLevel(e){return e===Ne.STDOUT||an.isErrorLevel(e)}constructor(e){super(e),mt(this,"cancelListener",void 0),mt(this,"consolePane",void 0),mt(this,"consoleInput",void 0),mt(this,"consoleHistoryScrollPane",void 0),mt(this,"pending",void 0),mt(this,"queuedLogMessages",void 0),mt(this,"processLogMessageQueue",Fr(()=>{this.scrollConsoleHistoryToBottom(),this.setState(r=>{At.debug2("processLogMessageQueue",this.queuedLogMessages.length," items");var{consoleHistory:a}=r;return a=a.concat(this.queuedLogMessages),this.queuedLogMessages=[],{consoleHistory:a}})},an.LOG_THROTTLE)),mt(this,"getObjects",te(r=>[...r.values()])),mt(this,"getContextActions",te(r=>[...r,{action:this.handleClearShortcut,shortcut:We.CONSOLE.CLEAR},{action:this.handleFocusHistory,shortcut:We.CONSOLE.FOCUS_HISTORY}])),this.handleCommandResult=this.handleCommandResult.bind(this),this.handleCommandStarted=this.handleCommandStarted.bind(this),this.handleCommandSubmit=this.handleCommandSubmit.bind(this),this.handleClearShortcut=this.handleClearShortcut.bind(this),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleLogMessage=this.handleLogMessage.bind(this),this.handleOverflowActions=this.handleOverflowActions.bind(this),this.handleScrollPaneScroll=this.handleScrollPaneScroll.bind(this),this.handleToggleAutoLaunchPanels=this.handleToggleAutoLaunchPanels.bind(this),this.handleToggleClosePanelsOnDisconnect=this.handleToggleClosePanelsOnDisconnect.bind(this),this.handleTogglePrintStdout=this.handleTogglePrintStdout.bind(this),this.handleUploadCsv=this.handleUploadCsv.bind(this),this.handleHideCsv=this.handleHideCsv.bind(this),this.handleCsvFileCanceled=this.handleCsvFileCanceled.bind(this),this.handleCsvFileOpened=this.handleCsvFileOpened.bind(this),this.handleCsvPaste=this.handleCsvPaste.bind(this),this.handleDragEnter=this.handleDragEnter.bind(this),this.handleDragLeave=this.handleDragLeave.bind(this),this.handleClearDragError=this.handleClearDragError.bind(this),this.handleOpenCsvTable=this.handleOpenCsvTable.bind(this),this.handleCsvUpdate=this.handleCsvUpdate.bind(this),this.handleCsvError=this.handleCsvError.bind(this),this.handleCsvInProgress=this.handleCsvInProgress.bind(this),this.consolePane=J.createRef(),this.consoleInput=J.createRef(),this.consoleHistoryScrollPane=J.createRef(),this.pending=new dn,this.queuedLogMessages=[];var{objectMap:t,settings:n}=this.props;this.state=vt(vt({consoleHistory:[],consoleHeight:0,isScrollDecorationShown:!1,objectHistoryMap:new Map,objectMap:new Map(t),showCsvOverlay:!1,csvFile:null,csvPaste:null,dragError:null,csvUploadInProgress:!1},fo),n)}componentDidMount(){this.initConsoleLogging();var{dh:e,session:t}=this.props;t.addEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted),this.updateDimensions()}componentDidUpdate(e,t){var{props:n,state:r}=this;this.sendSettingsChange(t,r),n.objectMap!==e.objectMap&&this.updateObjectMap()}componentWillUnmount(){var{dh:e,session:t}=this.props;t.removeEventListener(e.IdeSession.EVENT_COMMANDSTARTED,this.handleCommandStarted),this.pending.cancel(),this.processLogMessageQueue.cancel(),this.deinitConsoleLogging()}initConsoleLogging(){var{session:e}=this.props;this.cancelListener=e.onLogMessage(this.handleLogMessage)}deinitConsoleLogging(){this.cancelListener!=null&&(this.cancelListener(),this.cancelListener=void 0)}handleClearShortcut(e){var t;e.preventDefault(),e.stopPropagation(),(t=this.consoleInput.current)===null||t===void 0||t.clear()}handleCommandStarted(e){var{code:t,result:n}=e.detail,r=this.pending.add(n),a={command:t,disabledObjects:[],startTime:Date.now(),cancelResult:()=>{n.cancel()},wrappedResult:r},{commandHistoryStorage:s,language:o,scope:d}=this.props,h=s.addItem(o,d,t,{command:t,startTime:new Date().toJSON()});h.catch(u=>{At.debug("Error adding workspace item",u)}),this.setState(u=>({consoleHistory:u.consoleHistory.concat(a)}),()=>{this.scrollConsoleHistoryToBottom(!0)}),r.then(u=>{this.handleCommandResult(u,a,h)}).catch(u=>{this.handleCommandError(u,a,h)})}handleCommandResult(e,t,n){var r=vt(vt({},t),{},{wrappedResult:void 0,cancelResult:void 0,result:e??t.result});this.setState(a=>{var{consoleHistory:s}=a,o=s.lastIndexOf(t);if(o<0)return At.error("historyItem not found in consoleHistory"),null;var d=s.concat();return d[o]=r,{consoleHistory:d}}),e&&(this.updateHistory(e,r),this.updateKnownObjects(r),this.updateWorkspaceHistoryItem({error:e.error},n),this.closeRemovedItems(e.changes),this.openUpdatedItems(e.changes))}handleCommandError(e,t,n){if(le.isCanceled(e)){At.debug("Called handleCommandError on a cancelled promise result");return}this.updateWorkspaceHistoryItem({error:"".concat(e)},n),this.setState(r=>{var a=r.consoleHistory.concat(),s=a.lastIndexOf(t),o=vt({},t);return o.wrappedResult=void 0,o.cancelResult=void 0,o.endTime=Date.now(),o.result={error:e},a[s]=o,{consoleHistory:a}})}handleFocusHistory(e){e.preventDefault(),e.stopPropagation();var{focusCommandHistory:t}=this.props;t()}handleLogMessage(e){var{isPrintStdOutEnabled:t}=this.state;t&&an.isOutputLevel(e.logLevel)&&this.queueLogMessage(e.message,e.logLevel)}queueLogMessage(e,t){var n={};an.isErrorLevel(t)?n.error=e:n.message=e;var r={command:void 0,result:n};this.queuedLogMessages.push(r),this.processLogMessageQueue()}openUpdatedItems(e){var{isAutoLaunchPanelsEnabled:t}=this.state;if(!(e==null||!t)){var{openObject:n}=this.props;[...e.created,...e.updated].forEach(r=>n(r))}}closeRemovedItems(e){if(!(e==null||e.removed==null||e.removed.length===0)){var{closeObject:t}=this.props,{removed:n}=e;n.forEach(r=>t(r))}}updateHistory(e,t){var n=t;e==null||e.changes==null||n==null||(n.endTime=Date.now(),this.scrollConsoleHistoryToBottom(),this.setState(r=>{var a=r.consoleHistory.concat();return{consoleHistory:a}}))}updateKnownObjects(e){var t;if(e.result&&(t=e.result.changes),!t||(t.created==null||t.created.length===0)&&(t.updated==null||t.updated.length===0)&&(t.removed==null||t.removed.length===0)){At.debug2("updateKnownObjects no changes");return}this.setState(n=>{var r,a,s,{consoleHistory:o}=n,d=o.lastIndexOf(e);if(d<0)return At.error("historyItem not found in state.consoleHistory"),null;var h=new Map(n.objectHistoryMap),u=new Map(n.objectMap),c=function(p){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{title:g}=p;$(g);var b=h.get(g);if(b!=null&&b>=0){var C;o===n.consoleHistory&&(o=o.concat());var w=vt(vt({},o[b]),{},{disabledObjects:[...(C=o[b].disabledObjects)!==null&&C!==void 0?C:[],g]});o[b]=w}h.set(g,d),f?u.delete(g):u.set(g,p)};return(r=t)===null||r===void 0||r.updated.forEach(m=>c(m)),(a=t)===null||a===void 0||a.removed.forEach(m=>c(m,!0)),(s=t)===null||s===void 0||s.created.forEach(m=>{var{title:p}=m;$(p),h.set(p,d),u.set(p,m)}),{objectHistoryMap:h,objectMap:u,consoleHistory:o}})}updateObjectMap(){var{objectMap:e}=this.props;this.setState({objectMap:e})}updateWorkspaceHistoryItem(e,t){var n=this.pending.add(t),r=new Date().toJSON();n.then(a=>{var s=vt(vt({},a),{},{data:vt(vt({},a.data),{},{endTime:r,result:e})}),{commandHistoryStorage:o,language:d}=this.props;o.updateItem(d,s).catch(h=>{At.warn("Error updating command history storage",h)})}).catch(a=>{At.debug("Error updating workspace history item",a)})}scrollConsoleHistoryToBottom(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.consoleHistoryScrollPane.current;$(t),!(!e&&Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)>=1)&&window.requestAnimationFrame(()=>{t.scrollTop=t.scrollHeight})}handleScrollPaneScroll(){var e=this.consoleHistoryScrollPane.current;$(e),e.scrollTop>0&&e.scrollHeight>e.clientHeight?this.setState({isScrollDecorationShown:!0}):this.setState({isScrollDecorationShown:!1})}handleToggleAutoLaunchPanels(){this.setState(e=>({isAutoLaunchPanelsEnabled:!e.isAutoLaunchPanelsEnabled}))}handleToggleClosePanelsOnDisconnect(){this.setState(e=>({isClosePanelsOnDisconnectEnabled:!e.isClosePanelsOnDisconnectEnabled}))}handleTogglePrintStdout(){this.setState(e=>({isPrintStdOutEnabled:!e.isPrintStdOutEnabled}))}handleUploadCsv(){this.setState({showCsvOverlay:!0,dragError:null,csvUploadInProgress:!1})}handleHideCsv(){this.setState({showCsvOverlay:!1,csvFile:null,csvPaste:null,dragError:null,csvUploadInProgress:!1})}handleCsvFileCanceled(){this.setState({csvFile:null,csvPaste:null})}handleCsvFileOpened(e){this.setState({csvFile:e,csvPaste:null})}handleCsvPaste(e){this.setState({csvFile:null,csvPaste:e})}handleDragEnter(e){if(!(e.dataTransfer==null||e.dataTransfer.items==null||e.dataTransfer.items.length===0||e.dataTransfer.items[0].kind==="string")){e.preventDefault(),e.stopPropagation(),this.setState({showCsvOverlay:!0});var{items:t}=e.dataTransfer;if(t.length>1){this.setState({dragError:Rn.MULTIPLE_FILE_ERROR});return}var n=t[0];Rn.isValidDropItem(n)?this.setState({dragError:null}):this.setState({dragError:Rn.FILE_TYPE_ERROR})}}handleDragLeave(e){e.currentTarget==null||e.currentTarget instanceof Element&&e.relatedTarget instanceof Element&&e.currentTarget.contains(e.relatedTarget)||(e.preventDefault(),e.stopPropagation(),this.setState({showCsvOverlay:!1,dragError:null}))}handleClearDragError(){this.setState({dragError:null})}handleOpenCsvTable(e){var{dh:t,openObject:n,commandHistoryStorage:r,language:a,scope:s}=this.props,{consoleHistory:o,objectMap:d}=this.state,h={name:e,title:e,type:t.VariableType.TABLE},u=d.has(e),c={startTime:Date.now(),endTime:Date.now(),disabledObjects:[],result:{changes:{created:[],updated:[],removed:[],[u?"updated":"created"]:[h]}}},m=o.concat(c);this.setState({consoleHistory:m}),this.scrollConsoleHistoryToBottom(!0),this.updateKnownObjects(c),n({name:e,title:e,type:t.VariableType.TABLE}),r.addItem(a,s,e,{command:e,startTime:new Date().toJSON(),endTime:new Date().toJSON()})}addConsoleHistoryMessage(e,t){var{consoleHistory:n}=this.state,r={startTime:Date.now(),endTime:Date.now(),result:{message:e,error:t}},a=n.concat(r);this.setState({consoleHistory:a})}handleCsvUpdate(e){this.addConsoleHistoryMessage(e)}handleCsvError(e){this.addConsoleHistoryMessage(void 0,e!=null?"".concat(e):void 0)}handleCsvInProgress(e){this.setState({csvUploadInProgress:e})}handleOverflowActions(){var{isAutoLaunchPanelsEnabled:e,isClosePanelsOnDisconnectEnabled:t,isPrintStdOutEnabled:n}=this.state,{actions:r}=this.props;return[...r,{title:"Print Stdout",action:this.handleTogglePrintStdout,group:ie.groups.high,icon:n?Ci:void 0,order:10},{title:"Auto Launch Panels",action:this.handleToggleAutoLaunchPanels,group:ie.groups.high,icon:e?Ci:void 0,order:20},{title:"Close Panels on Disconnect",action:this.handleToggleClosePanelsOnDisconnect,group:ie.groups.high,icon:t?Ci:void 0,order:30},{title:"Upload Table from File",action:this.handleUploadCsv,group:ie.groups.high+10,order:40}]}handleCommandSubmit(e){if(e==="clear"||e==="cls")this.clearConsoleHistory();else if(e.length>0){var{session:t}=this.props;t.runCode(e).catch(r=>{At.error("There was an error initiating the command",r)})}else{var n={command:" ",result:{},startTime:Date.now(),endTime:Date.now()};this.scrollConsoleHistoryToBottom(!0),this.setState(r=>({consoleHistory:r.consoleHistory.concat(n)}))}}clearConsoleHistory(){this.pending.cancel(),this.setState(e=>{var t=new Map([...e.objectHistoryMap.keys()].map(n=>[n,-1]));return{consoleHistory:[],objectHistoryMap:t}})}addCommand(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.consoleInput.current&&(this.consoleInput.current.setConsoleText(e,t,n),t&&this.scrollConsoleHistoryToBottom(!0))}focus(){var e;(e=this.consoleInput.current)===null||e===void 0||e.focus()}sendSettingsChange(e,t){for(var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=Object.keys(fo),a={},s=!1,o=0;o<r.length;o+=1){var d=r[o],{[d]:h}=t,{[d]:u}=e;h!==u&&(s=!0),a[d]=h}if(!(n&&!s)){var{onSettingsChange:c}=this.props;c(a)}}updateDimensions(){this.consolePane.current&&this.setState({consoleHeight:this.consolePane.current.clientHeight}),this.consoleInput.current&&this.consoleInput.current.updateDimensions()}render(){var{actions:e,dh:t,historyChildren:n,language:r,statusBarChildren:a,openObject:s,session:o,scope:d,commandHistoryStorage:h,timeZone:u,disabled:c,unzip:m}=this.props,{consoleHeight:p,consoleHistory:f,isScrollDecorationShown:g,objectMap:b,showCsvOverlay:C,csvFile:w,csvPaste:S,dragError:y,csvUploadInProgress:E}=this.state,M=this.getObjects(b),O=Math.round(p*.7),x=this.getContextActions(e);return l.jsxs("div",{role:"presentation",className:Z("iris-console","h-100","w-100",{disabled:c}),children:[l.jsxs("div",{className:"console-pane",ref:this.consolePane,children:[l.jsx(rp,{dh:t,session:o,overflowActions:this.handleOverflowActions,openObject:s,objects:M,children:a}),l.jsxs("div",{className:"console-csv-container",onDragOver:Rn.handleDragOver,onDragEnter:this.handleDragEnter,onDragLeave:this.handleDragLeave,children:[C&&l.jsx(Rn,{onCancel:this.handleCsvFileCanceled,onFileOpened:this.handleCsvFileOpened,onPaste:this.handleCsvPaste,clearDragError:this.handleClearDragError,dragError:y,onError:this.handleCsvError,uploadInProgress:E,allowZip:m!=null}),l.jsxs("div",{role:"presentation",className:Z("scroll-pane no-scroll-x",{"scroll-decoration":g}),onScroll:this.handleScrollPaneScroll,ref:this.consoleHistoryScrollPane,children:[l.jsx(wm,{items:f,openObject:s,language:r,disabled:c}),n]})]}),!C&&l.jsx(ro,{ref:this.consoleInput,session:o,language:r,scope:d,onSubmit:this.handleCommandSubmit,maxHeight:O,commandHistoryStorage:h}),C&&l.jsx(Jm,{session:o,onOpenTable:this.handleOpenCsvTable,onClose:this.handleHideCsv,onUpdate:this.handleCsvUpdate,onError:this.handleCsvError,file:w??void 0,paste:S??void 0,onInProgress:this.handleCsvInProgress,timeZone:u,unzip:m})]}),l.jsx(ie,{actions:x,ignoreClassNames:[ro.INPUT_CLASS_NAME]})]})}}mt(an,"defaultProps",{statusBarChildren:null,settings:{},onSettingsChange:()=>{},scope:null,actions:[],historyChildren:null,timeZone:"America/New_York",objectMap:new Map,disabled:!1,unzip:null});mt(an,"LOG_THROTTLE",500);const op=an;var lp={groovy:"Groovy",python:"Python",scala:"Scala"};class dp{static normalizeScriptLanguage(e){return lp[e]||null}static getDisabledRunTooltip(e,t,n,r){return e?t?null:"".concat(n," doesn't match the session language – ").concat(r," disabled"):"Console session not connected – ".concat(r," disabled")}static outdentCode(e){var t=e.split(`
|
|
10
10
|
`),n=t.reduce((r,a)=>{var s=a.length-a.trimStart().length;return s===a.length?r:s<r?s:r},Number.MAX_SAFE_INTEGER);return t.map(r=>r.slice(n)).join(`
|
|
11
|
-
`)}}const Ia=dp;function pi(i,e,t){return e=hp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hp(i){var e=up(i,"string");return typeof e=="symbol"?e:String(e)}function up(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var lt=B.module("ScriptEditor");class kd extends
|
|
12
|
-
`).concat(e)):n.setValue("".concat(e));var a=n.getLineCount(),s=n.getLineLength(a)+1;this.editor.setPosition({lineNumber:a,column:s}),t&&this.editor.focus()}updateDimensions(){lt.debug("updateDimensions"),this.editor&&this.editor.layout()}focus(){lt.debug("focus"),this.editor&&this.editor.focus()}toggleFind(){this.editorComponent.current&&this.editorComponent.current.toggleFind()}setLanguage(e){this.editorComponent.current&&e!==void 0&&this.editorComponent.current.setLanguage(e)}render(){var e,{error:t,isLoaded:n,isLoading:r,session:a,sessionLanguage:s,settings:o}=this.props,{model:d}=this.state,h=t?"Unable to open document. ".concat(t):null,u=o&&(e=o.language)!==null&&e!==void 0?e:null,c=d&&a&&u===s;return l.jsxs(l.Fragment,{children:[(t||r)&&l.jsx("div",{className:"h-100 w-100 position-relative",children:l.jsx(Rr,{errorMessage:h,isLoading:r,isLoaded:n})}),n&&l.jsx("div",{className:"h-100 w-100 script-editor",children:o&&l.jsxs(l.Fragment,{children:[l.jsx(
|
|
13
|
-
`,
|
|
14
|
-
`),{max:1})),this.handleUpdate=this.handleUpdate.bind(this),this.handleError=this.handleError.bind(this),this.handleTimeout=this.handleTimeout.bind(this),this.state={currentTime:Date.now()}}componentDidMount(){this.loadData()}componentDidUpdate(e,t){var n,{data:r}=this.state;this.timer==null&&!(r!=null&&r.result)&&r?.startTime&&!(r==null||r.endTime===void 0)?this.startTimer():(r!=null&&r.result&&!((n=t.data)!==null&&n!==void 0&&n.result)||r?.endTime&&!(t.data==null||t.data.endTime===void 0))&&this.stopTimer()}componentWillUnmount(){this.loadData.cancel(),this.cleanup!=null&&this.cleanup(),this.stopTimer()}startTimer(){this.stopTimer(),this.timer=setInterval(this.handleTimeout,1e3)}stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=void 0)}updateTime(){this.setState({currentTime:Date.now()})}handleError(e){this.setState({error:"".concat(e)})}handleUpdate(e){var{data:t}=e??{};this.setState({data:t});var{onUpdate:n}=this.props;n?.(t)}handleTimeout(){this.updateTime()}render(){var e,{item:{name:t},language:n}=this.props,{currentTime:r,data:a,error:s}=this.state,{result:o,startTime:d,endTime:h}=a??{},u=(e=o?.error)!==null&&e!==void 0?e:s,c=$r.getTimeString(d,h??r),m=this.getPreviewText(t),p=!!c;return l.jsxs("div",{className:"command-history-item-tooltip",children:[l.jsxs("div",{className:"scroll-container",children:[l.jsx(jr,{language:n,children:m}),m.length<t.length&&l.jsx("p",{children:"Preview Truncated..."})]}),l.jsxs("div",{className:"result-info",children:[l.jsxs("div",{className:"d-flex justify-content-between",children:[!!u&&l.jsxs("div",{className:"text-danger mr-1",children:[l.jsx(X,{icon:Ja})," Executed with errors"]}),l.jsxs("div",{className:"time-wrapper",children:["Elapsed time:"," ",p?l.jsx("span",{className:"time-string",children:c}):l.jsx(Xa,{})]})]}),!!u&&l.jsx("div",{className:"error-message",children:u})]})]})}}
|
|
15
|
-
`))}updateActions(){this.setState(e=>{var{selectedRanges:t}=e,n=t.reduce((r,a)=>r+a[1]-a[0]+1,0);return n>0&&n<Be.MAX_SELECTION_COUNT?(qt.debug("Updating actions",this.itemActions),{actions:this.itemActions}):(qt.debug("Disabling actions",n),{actions:[]})})}copySelectedCommands(){this.getSelectedCommandText().then(
|
|
11
|
+
`)}}const Ia=dp;function pi(i,e,t){return e=hp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hp(i){var e=up(i,"string");return typeof e=="symbol"?e:String(e)}function up(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var lt=B.module("ScriptEditor");class kd extends v.Component{constructor(e){super(e),pi(this,"contextActionCleanups",void 0),pi(this,"completionCleanup",void 0),pi(this,"editor",void 0),pi(this,"editorComponent",void 0),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorWillDestroy=this.handleEditorWillDestroy.bind(this),this.handleRun=this.handleRun.bind(this),this.handleRunSelected=this.handleRunSelected.bind(this),this.updateShortcuts=this.updateShortcuts.bind(this),this.contextActionCleanups=[],this.editorComponent=J.createRef(),this.state={model:null}}componentDidMount(){De.addEventListener("onUpdate",this.updateShortcuts)}componentDidUpdate(e){var t,n,{sessionLanguage:r,settings:a}=this.props,s=a?.language,o=s!==((t=e.settings)===null||t===void 0?void 0:t.language);o&&(lt.debug("Set language",s),this.setLanguage(s));var d=r==null&&e.sessionLanguage!=null,h=s===r,u=((n=e.settings)===null||n===void 0?void 0:n.language)===e.sessionLanguage;(d||r!==void 0&&u&&!h)&&(lt.debug("De-init completion and context actions"),this.deInitContextActions(),this.deInitCodeCompletion());var c=r!=null&&e.sessionLanguage==null;(c&&h||r!==void 0&&!u&&h)&&(lt.debug("Init completion and context actions"),this.initContextActions(),this.initCodeCompletion())}componentWillUnmount(){De.removeEventListener("onUpdate",this.updateShortcuts)}getValue(){return this.editor?this.editor.getValue():(lt.error("Editor not initialized"),null)}getSelectedCommand(){var e,t,n=(e=this.editor)===null||e===void 0?void 0:e.getSelection();$(n);var r=(t=this.editor)===null||t===void 0?void 0:t.getModel();$(r);var{startLineNumber:a,endColumn:s}=n,{endLineNumber:o}=n;s===1&&o>a&&(o-=1);var d=r.getLineMinColumn(a),h=r.getLineMaxColumn(o),u=n.setStartPosition(a,d).setEndPosition(o,h);return Ia.outdentCode(r.getValueInRange(u))}handleEditorInitialized(e){var{focusOnMount:t,onChange:n,onEditorInitialized:r,settings:a,session:s,sessionLanguage:o}=this.props;lt.debug("handleEditorInitialized",o,s,a),this.editor=e,this.setState({model:this.editor.getModel()}),rt.setEOL(e),rt.registerPasteHandler(e),s!=null&&a&&o===a.language&&(this.initContextActions(),this.initCodeCompletion()),e.onDidChangeModelContent(n),t!=null&&t&&e.focus(),r(this.editor)}handleEditorWillDestroy(e){lt.debug("handleEditorWillDestroy");var{onEditorWillDestroy:t}=this.props;t(e),this.deInitContextActions(),this.deInitCodeCompletion(),this.setState({model:null}),this.editor=void 0}handleRun(){var{onRunCommand:e}=this.props,t=this.getValue();t!=null&&e(t)}handleRunSelected(){var{onRunCommand:e}=this.props,t=this.getSelectedCommand();e(t)}initContextActions(){if(this.contextActionCleanups.length>0){lt.error("Context actions already initialized.");return}if(this.editor){var e=[];e.push(this.editor.addAction({id:"run-code",label:"Run",keybindings:[rt.getMonacoKeyCodeFromShortcut(We.NOTEBOOK.RUN)],contextMenuGroupId:"navigation",contextMenuOrder:1.5,run:()=>{this.handleRun()}})),e.push(this.editor.addAction({id:"run-selected-code",label:"Run Selected",keybindings:[rt.getMonacoKeyCodeFromShortcut(We.NOTEBOOK.RUN_SELECTED)],contextMenuGroupId:"navigation",contextMenuOrder:1.5,run:()=>{this.handleRunSelected()}})),this.contextActionCleanups=e}}deInitContextActions(){this.contextActionCleanups.length>0&&(this.contextActionCleanups.forEach(e=>e.dispose()),this.contextActionCleanups=[])}updateShortcuts(){this.deInitContextActions(),this.initContextActions()}initCodeCompletion(){if(this.completionCleanup!=null){lt.error("Code completion already initialized.");return}var{session:e}=this.props;lt.debug("initCodeCompletion",this.editor,e),this.editor&&e!=null&&(this.completionCleanup=rt.openDocument(this.editor,e))}deInitCodeCompletion(){var{session:e}=this.props;lt.debug("deInitCodeCompletion",this.editor,e),this.completionCleanup&&(this.completionCleanup.dispose(),this.completionCleanup=void 0,this.editor&&e!=null&&rt.closeDocument(this.editor,e))}append(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;$(this.editor);var n=this.editor.getModel();$(n);var r=n.getValue();r?n.setValue("".concat(r,`
|
|
12
|
+
`).concat(e)):n.setValue("".concat(e));var a=n.getLineCount(),s=n.getLineLength(a)+1;this.editor.setPosition({lineNumber:a,column:s}),t&&this.editor.focus()}updateDimensions(){lt.debug("updateDimensions"),this.editor&&this.editor.layout()}focus(){lt.debug("focus"),this.editor&&this.editor.focus()}toggleFind(){this.editorComponent.current&&this.editorComponent.current.toggleFind()}setLanguage(e){this.editorComponent.current&&e!==void 0&&this.editorComponent.current.setLanguage(e)}render(){var e,{error:t,isLoaded:n,isLoading:r,session:a,sessionLanguage:s,settings:o}=this.props,{model:d}=this.state,h=t?"Unable to open document. ".concat(t):null,u=o&&(e=o.language)!==null&&e!==void 0?e:null,c=d&&a&&u===s;return l.jsxs(l.Fragment,{children:[(t||r)&&l.jsx("div",{className:"h-100 w-100 position-relative",children:l.jsx(Rr,{errorMessage:h,isLoading:r,isLoaded:n})}),n&&l.jsx("div",{className:"h-100 w-100 script-editor",children:o&&l.jsxs(l.Fragment,{children:[l.jsx(vd,{ref:this.editorComponent,settings:o,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy}),c!=null&&c&&l.jsx(xd,{model:d,language:u,session:a})]})})]})}}pi(kd,"defaultProps",{error:null,isLoading:!1,isLoaded:!1,focusOnMount:!0,onChange:()=>{},onEditorInitialized:()=>{},onEditorWillDestroy:()=>{},session:null});const cp=kd;function vi(i,e,t){return e=mp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mp(i){var e=pp(i,"string");return typeof e=="symbol"?e:String(e)}function pp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var vp=250,fp=2500;class $r extends v.Component{static getTimeString(e,t){if(e==null||t===""||t===0)return null;var n=Math.round((new Date(t).valueOf()-new Date(e).valueOf())/1e3);return n<1?"<1s":ns.formatElapsedTime(n)}constructor(e){super(e),vi(this,"timer",void 0),vi(this,"cleanup",void 0),vi(this,"loadData",Je(()=>{var{commandHistoryStorage:t,item:n,language:r}=this.props,{id:a}=n;this.cleanup=t.listenItem(r,a,this.handleUpdate,this.handleError)},vp)),vi(this,"getPreviewText",wt(t=>t.split(`
|
|
13
|
+
`,fp).join(`
|
|
14
|
+
`),{max:1})),this.handleUpdate=this.handleUpdate.bind(this),this.handleError=this.handleError.bind(this),this.handleTimeout=this.handleTimeout.bind(this),this.state={currentTime:Date.now()}}componentDidMount(){this.loadData()}componentDidUpdate(e,t){var n,{data:r}=this.state;this.timer==null&&!(r!=null&&r.result)&&r?.startTime&&!(r==null||r.endTime===void 0)?this.startTimer():(r!=null&&r.result&&!((n=t.data)!==null&&n!==void 0&&n.result)||r?.endTime&&!(t.data==null||t.data.endTime===void 0))&&this.stopTimer()}componentWillUnmount(){this.loadData.cancel(),this.cleanup!=null&&this.cleanup(),this.stopTimer()}startTimer(){this.stopTimer(),this.timer=setInterval(this.handleTimeout,1e3)}stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=void 0)}updateTime(){this.setState({currentTime:Date.now()})}handleError(e){this.setState({error:"".concat(e)})}handleUpdate(e){var{data:t}=e??{};this.setState({data:t});var{onUpdate:n}=this.props;n?.(t)}handleTimeout(){this.updateTime()}render(){var e,{item:{name:t},language:n}=this.props,{currentTime:r,data:a,error:s}=this.state,{result:o,startTime:d,endTime:h}=a??{},u=(e=o?.error)!==null&&e!==void 0?e:s,c=$r.getTimeString(d,h??r),m=this.getPreviewText(t),p=!!c;return l.jsxs("div",{className:"command-history-item-tooltip",children:[l.jsxs("div",{className:"scroll-container",children:[l.jsx(jr,{language:n,children:m}),m.length<t.length&&l.jsx("p",{children:"Preview Truncated..."})]}),l.jsxs("div",{className:"result-info",children:[l.jsxs("div",{className:"d-flex justify-content-between",children:[!!u&&l.jsxs("div",{className:"text-danger mr-1",children:[l.jsx(X,{icon:Ja})," Executed with errors"]}),l.jsxs("div",{className:"time-wrapper",children:["Elapsed time:"," ",p?l.jsx("span",{className:"time-string",children:c}):l.jsx(Xa,{})]})]}),!!u&&l.jsx("div",{className:"error-message",children:u})]})]})}}vi($r,"defaultProps",{onUpdate:()=>{}});const gp=$r;var bp=512;function $d(i){var{item:e,language:t,isSelected:n,commandHistoryStorage:r}=i,a=e.name.substring(0,bp),s=v.useRef(null),o=v.useCallback(()=>{var d;(d=s.current)===null||d===void 0||d.update()},[s]);return l.jsxs("div",{className:Z("command-history-item",{selected:n}),children:[a,l.jsx(Mt,{ref:s,interactive:!0,options:{placement:"left",modifiers:{preventOverflow:{enabled:!0,boundariesElement:"viewport",order:825}}},popperClassName:"command-history-item-popper",children:l.jsx(gp,{item:e,language:t,onUpdate:o,commandHistoryStorage:r})})]})}$d.defaultProps={isSelected:!1};class Or extends v.Component{static itemKey(e,t){return"".concat(t.title)}static renderContent(e){return e.selectionRequired!==void 0&&e.selectionRequired?l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{icon:ya,mask:e.icon,transform:"right-5 down-5 shrink-4"}),l.jsx(X,{icon:qu,transform:"shrink-3 right-7 down-6"})]}):l.jsx(X,{icon:e.icon})}render(){var{actions:e,hasSelection:t}=this.props;return l.jsx("div",{className:"command-history-actions",children:e.map((n,r)=>l.jsx(F,{kind:"inline",className:Z(n.className),onClick:n.action,tooltip:n.description,disabled:n.selectionRequired!==void 0&&n.selectionRequired&&!t,icon:Or.renderContent(n)},Or.itemKey(r,n)))})}}const Cp=Or;var Sp=150,go=3,bo=B.module("CommandHistoryViewportUpdater");function yp(i){var{table:e,columns:t,top:n=0,bottom:r=0,search:a,isReversed:s=!1,onUpdate:o}=i,d=v.useMemo(()=>Fr(h=>{var u=h.bottom-h.top,c=Math.max(0,h.top-u*go),m=h.bottom+u*go;e.setViewport({top:c,bottom:m,columns:h.columns})},Sp),[e]);return v.useEffect(function(){var u=e.onUpdate(c=>{var m,p;o({items:(m=c.items)!==null&&m!==void 0?m:[],offset:(p=c.offset)!==null&&p!==void 0?p:0})});return()=>{bo.debug("onUpdate cleanup"),u()}},[e,o]),v.useEffect(function(){e.setSearch(a??"")},[e,a]),v.useEffect(function(){d({top:n,bottom:r,columns:t})},[d,n,r,t,a,s]),v.useEffect(()=>()=>{bo.debug2("Cancel throttledUpdateViewport"),d.cancel()},[d]),null}function Co(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function So(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Co(a,n,r,s,o,"next",d)}function o(d){Co(a,n,r,s,o,"throw",d)}s(void 0)})}}function Nt(i,e,t){return e=wp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function wp(i){var e=Ep(i,"string");return typeof e=="symbol"?e:String(e)}function Ep(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var qt=B.module("CommandHistory");class Be extends v.Component{static getCommandsFromViewport(e,t,n){for(var r=[],a=0;a<n.length;a+=1)for(var s=n[a],o=s[0];o<=s[1];o+=1)if(o>=t&&o<t+e.length){var{name:d}=e[o-t];r.push(d)}return r}static getCommandsFromSnapshot(e,t){return So(function*(){var n=yield e.getSnapshot(t);return[...n.values()].map(r=>r.name)})()}constructor(e){super(e),Nt(this,"itemActions",void 0),Nt(this,"historyActions",void 0),Nt(this,"pending",void 0),Nt(this,"searchInputRef",void 0),Nt(this,"itemListRef",void 0),Nt(this,"debouncedSearchChange",Je(()=>{this.setState(n=>{var{searchText:r}=n;return{debouncedSearchText:r,selectedRanges:[]}})},Be.SET_SEARCH_DEBOUNCE_MS)),this.copySelectedCommands=this.copySelectedCommands.bind(this),this.createNotebook=this.createNotebook.bind(this),this.sendToConsole=this.sendToConsole.bind(this),this.renderItem=this.renderItem.bind(this),this.runInConsole=this.runInConsole.bind(this),this.sendToNotebook=this.sendToNotebook.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleSelectionChange=this.handleSelectionChange.bind(this),this.handleSearchChange=this.handleSearchChange.bind(this),this.handleViewportChange=this.handleViewportChange.bind(this),this.handleViewportUpdate=this.handleViewportUpdate.bind(this),this.itemActions=[{title:"Copy Selection",description:"Copy selected commands to clipboard",icon:Yu,shortcut:ln.COPY,action:this.copySelectedCommands,group:ie.groups.edit},{title:"Send to Console",description:"Open selected commands in the console",icon:Ks,shortcut:We.COMMAND_HISTORY.SEND_TO_CONSOLE,action:this.sendToConsole,group:Be.menuGroups.send,order:10},{title:"Run in Console",description:"Run selected commands in the console",icon:wr,shortcut:We.COMMAND_HISTORY.RUN,action:this.runInConsole,group:Be.menuGroups.send,order:10},{title:"Send to Active Notebook",description:"Open selected commands in a notebook",icon:zs,shortcut:We.COMMAND_HISTORY.SEND_TO_NOTEBOOK,action:this.sendToNotebook,group:Be.menuGroups.send,order:20},{title:"Send to New Notebook",description:"Open selected commands in a new notebook",icon:dd,action:this.createNotebook,group:Be.menuGroups.send,order:30}],this.historyActions=[{title:"Send to Console",icon:Ks,selectionRequired:!0,description:"Open selected commands in the console",action:this.sendToConsole},{title:"Send to Notebook",icon:zs,selectionRequired:!0,description:"Open selected commands in a notebook",action:this.sendToNotebook}],this.pending=new dn,this.searchInputRef=J.createRef(),this.itemListRef=J.createRef();var{table:t}=e;this.state={actions:[],historyActions:this.historyActions,top:0,bottom:0,itemCount:t.size,items:[],offset:0,selectedRanges:[],searchText:"",debouncedSearchText:""}}componentWillUnmount(){this.debouncedSearchChange.cancel(),this.pending.cancel()}getSelectedCommands(){var e=this;return So(function*(){var{items:t,offset:n,selectedRanges:r}=e.state,a=r.slice().sort((o,d)=>o[0]-d[0]);if(a.length===0)return[];if(a[0][0]>=n&&a[a.length-1][1]<n+t.length)return Be.getCommandsFromViewport(t,n,a);var{table:s}=e.props;return e.pending.add(Be.getCommandsFromSnapshot(s,a))})()}getSelectedCommandText(){return this.getSelectedCommands().then(e=>e.join(`
|
|
15
|
+
`))}updateActions(){this.setState(e=>{var{selectedRanges:t}=e,n=t.reduce((r,a)=>r+a[1]-a[0]+1,0);return n>0&&n<Be.MAX_SELECTION_COUNT?(qt.debug("Updating actions",this.itemActions),{actions:this.itemActions}):(qt.debug("Disabling actions",n),{actions:[]})})}copySelectedCommands(){this.getSelectedCommandText().then(fd).catch(qt.error)}createNotebook(){this.getSelectedCommandText().then(e=>{var{language:t,sendToNotebook:n}=this.props;n({value:e,language:t},!0)}).catch(qt.error)}sendToNotebook(){this.getSelectedCommandText().then(e=>{var{language:t,sendToNotebook:n}=this.props;n({value:e,language:t})}).catch(qt.error)}sendToConsole(){var{sendToConsole:e}=this.props;this.getSelectedCommandText().then(e).catch(qt.error)}runInConsole(){this.getSelectedCommandText().then(e=>{var{sendToConsole:t}=this.props;t(e,!0,!0)}).catch(qt.error)}handleSelect(e){var{sendToConsole:t}=this.props,{items:n,offset:r}=this.state;if(e<r||e>=r+n.length){qt.error("Invalid index!",e);return}var{name:a}=n[e-r];t(a)}handleSelectionChange(e){this.setState({selectedRanges:e}),this.updateActions()}handleViewportChange(e,t){this.setState({top:e,bottom:t})}handleSearchChange(e){this.setState({searchText:e.target.value}),this.debouncedSearchChange()}handleViewportUpdate(e){var{items:t,offset:n}=e,{table:r}=this.props,a=r.size;this.setState({items:t,itemCount:a,offset:n})}renderItem(e){var{item:t,itemIndex:n,isSelected:r}=e,{language:a,commandHistoryStorage:s}=this.props;return l.jsx($d,{isSelected:r,item:t,language:a,commandHistoryStorage:s})}focus(){this.searchInputRef.current&&this.searchInputRef.current.focus()}restoreScrollPosition(){var e;(e=this.itemListRef.current)===null||e===void 0||e.restoreScrollPosition()}render(){var e,{language:t,table:n}=this.props,{actions:r,historyActions:a,searchText:s,debouncedSearchText:o,top:d,bottom:h,items:u,itemCount:c,offset:m,selectedRanges:p}=this.state,f=(e=Td.LANGUAGE_MAP.get(t))!==null&&e!==void 0?e:"";return l.jsxs("div",{className:"command-history",children:[l.jsxs("div",{className:"command-history-search-bar",children:[l.jsx(rs,{ref:this.searchInputRef,value:s,placeholder:"".concat(f," Command History"),onChange:this.handleSearchChange}),l.jsx(Cp,{actions:a,hasSelection:p.length>0})]}),l.jsxs("div",{className:"command-history-list",children:[l.jsx(Pa,{ref:this.itemListRef,itemCount:c,items:u,offset:m,selectedRanges:p,onSelect:this.handleSelect,onSelectionChange:this.handleSelectionChange,onViewportChange:this.handleViewportChange,renderItem:this.renderItem,rowHeight:Be.ITEM_HEIGHT,isDoubleClickSelect:!0,isMultiSelect:!0,isStickyBottom:!0}),l.jsx(yp,{table:n,top:d,bottom:h,search:o,onUpdate:this.handleViewportUpdate}),l.jsx(ie,{actions:r})]})]})}}Nt(Be,"ITEM_HEIGHT",29);Nt(Be,"MAX_SELECTION_COUNT",1e4);Nt(Be,"SET_SEARCH_DEBOUNCE_MS",150);Nt(Be,"menuGroups",{send:ie.groups.medium+100});const Pp=Be;class _p extends v.PureComponent{constructor(e){super(e),this.handleSwitchClick=this.handleSwitchClick.bind(this)}handleSwitchClick(){var{logLevel:e,onClick:t}=this.props;t(e)}render(){var{logLevel:e,on:t}=this.props;return l.jsxs("div",{className:Z("log-level-menu-item",e),children:[l.jsx(Tc,{on:t,onClick:this.handleSwitchClick}),e]})}}const Tp=_p;function yo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function wo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yo(Object(t),!0).forEach(function(n){nt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):yo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function nt(i,e,t){return e=Op(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Op(i){var e=Dp(i,"string");return typeof e=="symbol"?e:String(e)}function Dp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class we extends v.PureComponent{static getLogText(e){var t=new Date(e.micros/1e3),n=Oa.formatTimestamp(t);return"".concat(n," ").concat(e.logLevel," ").concat(e.message)}constructor(e){super(e),nt(this,"cancelListener",void 0),nt(this,"editor",void 0),nt(this,"editorContainer",void 0),nt(this,"logLevelMenuItems",void 0),nt(this,"flushTimer",void 0),nt(this,"bufferedMessages",void 0),nt(this,"messages",void 0),this.handleClearClick=this.handleClearClick.bind(this),this.handleFlushTimeout=this.handleFlushTimeout.bind(this),this.handleLogMessage=this.handleLogMessage.bind(this),this.handleMenuItemClick=this.handleMenuItemClick.bind(this),this.handleResetClick=this.handleResetClick.bind(this),this.handleResize=this.handleResize.bind(this),this.handleToggleAllClick=this.handleToggleAllClick.bind(this),this.logLevelMenuItems={},this.editorContainer=null,this.bufferedMessages=[],this.messages=[],this.state={shownLogLevels:{}}}componentDidMount(){this.resetLogLevels(),this.initMonaco(),this.startListening(),window.addEventListener("resize",this.handleResize)}componentDidUpdate(e,t){this.updateDimensions();var{shownLogLevels:n}=this.state;t.shownLogLevels!==n&&this.refreshLogText();var{session:r}=this.props;e.session!==r&&(this.stopListening(),this.startListening(),this.clearLogs())}componentWillUnmount(){this.stopFlushTimer(),this.stopListening(),this.destroyMonaco(),window.removeEventListener("resize",this.handleResize)}getMenuActions(e){var t=this,n=[];n.push({menuElement:l.jsx("div",{className:"log-level-menu-title",children:"Display Log Levels"}),group:1,order:10});for(var r=function(){var o=we.AllLogLevels[a],d=e[o]!=null?e[o]:!1;n.push({title:o,group:1,order:a+100,menuElement:l.jsx(Tp,{logLevel:o,on:d,onClick:t.handleMenuItemClick,ref:h=>{h!=null&&(t.logLevelMenuItems[o]=h)}})})},a=0;a<we.AllLogLevels.length;a+=1)r();return n.push({group:1,order:1e3,menuElement:l.jsxs("div",{className:"log-level-menu-controls",children:[l.jsx(F,{kind:"ghost",className:"log-level-toggle-all",onClick:this.handleToggleAllClick,children:"Toggle All"}),l.jsx(F,{kind:"ghost",onClick:this.handleResetClick,children:"Reset"})]})}),n}resetLogLevels(){for(var e={},t=function(){var a=we.AllLogLevels[n],s=we.DefaultLogLevels.some(o=>o===a);e[a]=s},n=0;n<we.AllLogLevels.length;n+=1)t();this.setState({shownLogLevels:e})}startListening(){var{session:e}=this.props;this.cancelListener=e.onLogMessage(this.handleLogMessage)}stopListening(){this.cancelListener!=null&&(this.cancelListener(),this.cancelListener=void 0)}initMonaco(){$(this.editorContainer),this.editor=Za.create(this.editorContainer,{copyWithSyntaxHighlighting:!1,fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:"log",lineDecorationsWidth:0,lineNumbers:"off",lineNumbersMinChars:0,minimap:{enabled:!1},readOnly:!0,renderLineHighlight:"none",scrollBeyondLastLine:!1,value:"",wordWrap:"on"}),[[Vn.Escape],[rd.Shift|Vn.Escape]].forEach(e=>{$(this.editor),rt.disableKeyBindings(this.editor,e),this.editor.addAction({id:"clear-selection-on-escape",label:"",keybindings:[Vn.Escape],keybindingContext:"findWidgetVisible && editorTextFocus",run:()=>{var t,n,r=(t=this.editor)===null||t===void 0?void 0:t.getPosition();$(r),(n=this.editor)===null||n===void 0||n.setPosition(r)}})})}destroyMonaco(){this.editor&&(this.editor.dispose(),this.editor=void 0)}triggerFindWidget(){var e,t;(e=this.editor)===null||e===void 0||e.focus(),(t=this.editor)===null||t===void 0||t.trigger("keyboard","actions.find",void 0)}toggleAll(){for(var{shownLogLevels:e}=this.state,t=!0,n=0;n<we.AllLogLevels.length;n+=1){var r=we.AllLogLevels[n];if(!e[r]){t=!1;break}}if(t)this.setState({shownLogLevels:{}});else{for(var a={},s=0;s<we.AllLogLevels.length;s+=1){var o=we.AllLogLevels[s];a[o]=!0}this.setState({shownLogLevels:a})}}toggleLogLevel(e){var{shownLogLevels:t}=this.state,n=t[e],r={};r[e]=!n,this.updateLogLevels(r)}updateLogLevels(e){var{shownLogLevels:t}=this.state;t=wo(wo({},t),e),this.setState({shownLogLevels:t})}appendLogText(e){if(this.editor){var t=this.editor.getModel(),n=t?.getLineCount();$(n);var r=t?.getLineLength(n);$(r);var a=this.isBottomVisible(),s=[];if(r>0&&(s.push({range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:r+1},text:`
|
|
16
16
|
`,forceMoveMarkers:!0}),n+=1,r=0),s.push({range:{startLineNumber:n,startColumn:r,endLineNumber:n,endColumn:r},text:e,forceMoveMarkers:!0}),t?.applyEdits(s),a){var o=t?.getLineCount();$(o),this.editor.revealLine(o,1)}}}refreshLogText(){if(this.editor){this.truncateLogIfNecessary();for(var{shownLogLevels:e}=this.state,t=this.isBottomVisible(),n="",r=0;r<this.messages.length;r+=1){var a=this.messages[r];if(e[a.logLevel]){var s=we.getLogText(a);s.length>0&&(n+=s,s.charAt(s.length-1)!==`
|
|
17
17
|
`&&(n+=`
|
|
18
18
|
`))}}if(n=n.trimRight(),this.editor.setValue(n),t){var o,d=(o=this.editor.getModel())===null||o===void 0?void 0:o.getLineCount();$(d),this.editor.revealLine(d,1)}this.stopFlushTimer(),this.bufferedMessages=[]}}truncateLogIfNecessary(){this.messages.length>we.maxLogSize&&(this.messages=this.messages.splice(this.messages.length-we.truncateSize))}scrollToBottom(){var e,t,n;if(this.editor){var r=(e=this.editor)===null||e===void 0||(t=e.getModel)===null||t===void 0||(n=t.call(e))===null||n===void 0?void 0:n.getLineCount();$(r),this.editor.revealLine(r,1)}}isBottomVisible(){if(!this.editor)return!0;var e=this.editor.getModel(),t=e?.getLineCount();return $(t),this.isLineVisible(t)}isLineVisible(e){var t,n=(t=this.editor)===null||t===void 0?void 0:t.getVisibleRanges();if(n==null||n.length===0)return!1;for(var r=0;r<n.length;r+=1){var a=n[r];if(a.startLineNumber<=e&&e<=a.endLineNumber)return!0}return!1}isLogItemVisible(e){var{shownLogLevels:t}=this.state;return t[e.logLevel]}flush(){for(var e="",t=0;t<this.bufferedMessages.length;t+=1){var n=this.bufferedMessages[t],r=we.getLogText(n);e+=r,r.charAt(r.length-1)!==`
|
|
19
19
|
`&&(e+=`
|
|
20
|
-
`)}this.bufferedMessages=[],this.appendLogText(e)}queue(e){this.bufferedMessages.push(e),this.bufferedMessages.length===1&&(this.flushTimer=setTimeout(this.handleFlushTimeout,we.bufferTimeout))}stopFlushTimer(){this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=void 0)}updateDimensions(){this.editor&&this.editor.layout()}handleClearClick(){this.clearLogs()}clearLogs(){this.messages=[],this.refreshLogText()}handleFlushTimeout(){this.stopFlushTimer(),this.flush()}handleLogMessage(e){this.messages.push(e),this.editor&&this.isLogItemVisible(e)&&this.queue(e)}handleMenuItemClick(e){this.toggleLogLevel(e)}handleResetClick(){this.resetLogLevels()}handleResize(){this.updateDimensions()}handleToggleAllClick(){this.toggleAll()}render(){var e={placement:"bottom-end"},{shownLogLevels:t}=this.state,n=this.getMenuActions(t);return l.jsxs("div",{className:"log-pane h-100 w-100",children:[l.jsxs("div",{className:"log-pane-menu",children:[l.jsx(F,{kind:"ghost",className:"btn-clear-logs",onClick:this.handleClearClick,icon:Zu,tooltip:"Clear log"}),l.jsx(F,{kind:"ghost",className:"btn-link-icon btn-overflow",icon:ji,tooltip:"Log Settings",onClick:()=>{},children:l.jsx(En,{actions:n,popperClassName:"log-level-menu-popper",popperOptions:e})})]}),l.jsx("div",{className:"log-pane-editor h-100 w-100",ref:r=>{this.editorContainer=r}})]})}}nt(we,"DefaultLogLevels",[Ne.STDOUT,Ne.ERROR,Ne.FATAL,Ne.STDERR,Ne.WARN]);nt(we,"AllLogLevels",[Ne.INFO,Ne.STDOUT,Ne.ERROR,Ne.FATAL,Ne.STDERR,Ne.WARN,Ne.DEBUG,Ne.TRACE]);nt(we,"bufferTimeout",16);nt(we,"maxLogSize",131072);nt(we,"truncateSize",65536);const Ip=we;function Eo(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function xp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Eo(a,n,r,s,o,"next",d)}function o(d){Eo(a,n,r,s,o,"throw",d)}s(void 0)})}}var Np=B.module("HeapUsage");function Lp(i){var e,{connection:t,defaultUpdateInterval:n,hoverUpdateInterval:r,bgMonitoring:a=!0,monitorDuration:s}=i,[o,d]=f.useState({freeMemory:0,maximumHeapSize:999,totalHeapSize:0}),[h,u]=f.useState(!1),c=f.useRef({timestamps:[],usages:[]}),m=f.useCallback(xp(function*(){try{var A=yield t.getWorkerHeapInfo();if(d(A),a||h){for(var U=(A.totalHeapSize-A.freeMemory)/A.maximumHeapSize,j=Date.now(),{timestamps:H,usages:K}=c.current;H.length!==0&&j-H[0]>s*1.5;)H.shift(),K.shift();H.push(j),K.push(U)}else c.current={timestamps:[],usages:[]}}catch(de){Np.warn("Unable to get heap usage",de)}}),[h,t,s,a]);Oc(m,h?r:n);var p=(A,U)=>Math.round(A*10**U)/10**U,v=2,g=1024**3,{freeMemory:b,totalHeapSize:C,maximumHeapSize:w}=o,S=p(b/g,v),y=p(C/g,v),E=p(w/g,v),M=y-S,O=function(U,j){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return l.jsxs("div",{className:Z("heap-usage-info-row",{"heading-bottom-border":H}),children:[l.jsx("div",{className:"font-weight-bold",children:U}),l.jsx("div",{children:j})]})},{timestamps:x,usages:N}=c.current,W=(e=x[x.length-1])!==null&&e!==void 0?e:0,q=C/w,k=(C-b)/w;return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"max-memory",children:[l.jsx("div",{className:"total-memory",style:{width:"calc(".concat(q*100,"% - ").concat(q*2,"px")}}),l.jsx("div",{className:Z("used-memory",{"heap-overflow":(C-b)/w>.95}),style:{width:"calc(".concat(k*100,"% - ").concat(k*2,"px")}}),l.jsxs("div",{className:"memory-text",children:[E.toFixed(1)," GB"]})]}),l.jsx(Mt,{onEntered:()=>u(!0),onExited:()=>u(!1),interactive:!0,children:l.jsxs("div",{className:"heap-tooltip",children:[O("In use:","".concat(M.toFixed(v)," of ").concat(E.toFixed(v)," GB"),!0),O("Free:","".concat(S.toFixed(v)," GB")),O("Total:","".concat(y.toFixed(v)," GB")),O("Max:","".concat(E.toFixed(v)," GB")),l.jsx("div",{className:"heap-plot",children:l.jsx(Dc,{data:[{x:[...x],y:[...N],type:"scatter",mode:"lines"}],config:{staticPlot:!0,responsive:!0},style:{width:"196px",height:"100px"},layout:{margin:{l:2,t:2,r:2,b:2},plot_bgcolor:"transparent",paper_bgcolor:"transparent",colorway:["#4878ea"],xaxis:{dtick:Math.round(s/6),gridcolor:Yi.linecolor,range:[W-s,W],linecolor:Yi.linecolor,linewidth:2,mirror:!0},yaxis:{dtick:.2,gridcolor:Yi.linecolor,range:[0,1],linecolor:Yi.linecolor,linewidth:2,mirror:!0}}})}),l.jsxs("div",{className:"heap-utilisation-text",children:["% utilization over ",Math.round(s/1e3/60)," min."]})]})})]})}var os=Object.freeze({}),Mp=new Map,Ur=i=>i.api,Ud=i=>i.user,ls=i=>i.storage,Hd=i=>ls(i).commandHistoryStorage,Vd=i=>ls(i).fileStorage,Fp=i=>ls(i).workspaceStorage,Hr=i=>i.workspace,Fe=i=>Hr(i).data.settings,Bd=i=>Fe(i).defaultDateTimeFormat,Wd=i=>{var e;return(e=Fe(i).defaultDecimalFormatOptions)!==null&&e!==void 0?e:os},Gd=i=>{var e;return(e=Fe(i).defaultIntegerFormatOptions)!==null&&e!==void 0?e:os},Kd=i=>Fe(i).formatter,ki=i=>Fe(i).timeZone,zd=i=>Fe(i).showTimeZone,qd=i=>Fe(i).showTSeparator,Yd=i=>Fe(i).truncateNumbersWithPound,Rp=i=>Fe(i).shortcutOverrides,jp=i=>{var e;return(e=Fe(i).defaultNotebookSettings)!==null&&e!==void 0?e:os},Vr=i=>i.activeTool,Ap=i=>{var e;return(e=i.plugins)!==null&&e!==void 0?e:Mp},Zd="SET_ACTIVE_TOOL",Xd="SET_API",Jd="SET_COMMAND_HISTORY_STORAGE",Qd="SET_FILE_STORAGE",eh="SET_PLUGINS",th="SET_USER",nh="SET_WORKSPACE",ih="SET_WORKSPACE_STORAGE",rh="SET_SERVER_CONFIG_VALUES";function Po(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ji(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Po(Object(t),!0).forEach(function(n){kp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Po(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function kp(i,e,t){return e=$p(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $p(i){var e=Up(i,"string");return typeof e=="symbol"?e:String(e)}function Up(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Hp=i=>({type:th,payload:i}),Vp=i=>({type:Xd,payload:i}),ah=i=>({type:nh,payload:i}),Bp=i=>({type:ih,payload:i}),Wp=i=>({type:Jd,payload:i}),Gp=i=>({type:Qd,payload:i}),Kp=i=>(e,t)=>{e(ah(i));var{storage:n}=t(),{workspaceStorage:r}=n;return r.save(i)},sh=i=>(e,t)=>{var{workspace:n}=t(),{data:r}=n,a=Ji(Ji({},n),{},{data:Ji(Ji({},r),i)});return e(Kp(a))},Br=i=>e=>e(sh({settings:i})),Wr=i=>({type:Zd,payload:i}),zp=i=>({type:eh,payload:i}),qp=i=>({type:rh,payload:i});function _o(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function sa(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_o(Object(t),!0).forEach(function(n){Yp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):_o(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Yp(i,e,t){return e=Zp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zp(i){var e=Xp(i,"string");return typeof e=="symbol"?e:String(e)}function Xp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function oh(i,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case i:{var r=n.payload;return r==null?null:t!=null?sa(sa({},t),r):sa({},r)}default:return t}}}function To(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Oo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?To(Object(t),!0).forEach(function(n){Jp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):To(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Jp(i,e,t){return e=Qp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qp(i){var e=ef(i,"string");return typeof e=="symbol"?e:String(e)}function ef(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function tf(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case i:{var{id:a,payload:s}=r;return t&&Gn({payload:s},{payload:n[a]})?n:Oo(Oo({},n),{},{[a]:s})}default:return n}}}function un(i,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case i:return n.payload;default:return t}}}const nf=un(Xd,null),rf=un(Zd,null),af=un(eh,null),sf=un(Jd,null),of=un(Qd,null),lf=un(ih,null),df=za({commandHistoryStorage:sf,fileStorage:of,workspaceStorage:lf}),hf=oh(th,null),uf=oh(nh,null),cf=un(rh,null);var mf={activeTool:rf,api:nf,plugins:af,storage:df,user:hf,workspace:uf,serverConfigValues:cf};const pf=mf;function Do(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Io(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Do(Object(t),!0).forEach(function(n){xa(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Do(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function xa(i,e,t){return e=ff(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ff(i){var e=vf(i,"string");return typeof e=="symbol"?e:String(e)}function vf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gf{constructor(){xa(this,"reducers",{}),xa(this,"listener",null)}register(e,t){var n;this.reducers=Io(Io({},this.reducers),{},{[e]:t}),(n=this.listener)===null||n===void 0||n.call(this,this.reducers)}setListener(e){this.listener=e}}var bf=new gf;const $i=bf;var xo=B.module("redux-logger"),Cf=i=>e=>t=>{xo.debug("dispatching",t);var n=e(t);return xo.debug("next state",i.getState()),n};const Sf=Cf;var yf=B.module("redux-crashReporter"),wf=i=>e=>t=>{try{return e(t)}catch(n){throw yf.error("Error executing",t," with state ",i.getState(),":",n),n}};const Ef=wf,Pf=[Sf,Ef,Ou];var oa;Object.entries(pf).map(i=>{var[e,t]=i;return $i.register(e,t)});var _f=(oa=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)!==null&&oa!==void 0?oa:xu,lh=Du(za($i.reducers),_f(Iu(...Pf)));$i.setListener(i=>{lh.replaceReducer(za(i))});const ds=lh;var hh=Object.freeze({openPopouts:[],settings:{hasHeaders:!0,constrainDragToContainer:!0,reorderEnabled:!0,selectionEnabled:!1,popoutWholeStack:!1,blockedPopoutsThrowError:!0,closePopoutsOnUnload:!0,showPopoutIcon:!0,showMaximiseIcon:!0,showCloseIcon:!0,responsiveMode:"onload",tabOverlapAllowance:0,tabControlOffset:10},dimensions:{borderWidth:5,borderGrabWidth:10,minItemHeight:10,minItemWidth:10,headerHeight:20,dragProxyWidth:300,dragProxyHeight:200},labels:{close:"Close",maximise:"Maximize",minimise:"Minimize",popout:"Open in new window",popin:"Pop in",tabDropdown:"Additional tabs",tabNextLabel:"Next",tabPreviousLabel:"Previous"},content:[]});function uh(i){return i.componentName!==void 0}function Tf(i){return i.component!==void 0}var ch=Object.freeze({type:"default",isClosable:!0,isFocusOnShow:!0,reorderEnabled:!0,title:""});const Of=Object.freeze(Object.defineProperty({__proto__:null,defaultConfig:hh,isGLComponentConfig:uh,isReactComponentConfig:Tf,itemDefaultConfig:ch},Symbol.toStringTag,{value:"Module"}));function gr(i,e,t){return e=Df(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Df(i){var e=If(i,"string");return typeof e=="symbol"?e:String(e)}function If(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ii{constructor(){gr(this,"_mSubscriptions",void 0),gr(this,"off",this.unbind),gr(this,"trigger",this.emit),this._mSubscriptions={},this._mSubscriptions[Ii.ALL_EVENT]=[]}on(e,t,n){if(typeof t!="function")throw new Error("Tried to listen to event "+e+" with non-function callback "+t);this._mSubscriptions[e]||(this._mSubscriptions[e]=[]),this._mSubscriptions[e].push({fn:t,ctx:n})}emit(e){for(var t=this._mSubscriptions[e],n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];if(t)for(var s=0;s<t.length;s++){var o=t[s].ctx||{};try{t[s].fn.apply(o,r)}catch(c){console.error("Error while emitting event:",c)}}r.unshift(e);for(var d=this._mSubscriptions[Ii.ALL_EVENT],h=0;h<d.length;h++){var u=d[h].ctx||{};try{d[h].fn.apply(u,r)}catch(c){console.error("Error while emitting event to allEventSubs:",c)}}}unbind(e,t,n){if(!this._mSubscriptions[e])throw new Error("No subscriptions to unsubscribe for event "+e);for(var r=!1,a=0;a<this._mSubscriptions[e].length;a++)(!t||this._mSubscriptions[e][a].fn===t)&&(!n||n===this._mSubscriptions[e][a].ctx)&&(this._mSubscriptions[e].splice(a,1),r=!0);if(r===!1)throw new Error("Nothing to unbind for "+e)}}gr(Ii,"ALL_EVENT","__all");const Ot=Ii;function vt(i,e,t){return e=xf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xf(i){var e=Nf(i,"string");return typeof e=="symbol"?e:String(e)}function Nf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Na extends Ot{constructor(e,t,n){super(),vt(this,"width",void 0),vt(this,"height",void 0),vt(this,"title",void 0),vt(this,"parent",void 0),vt(this,"layoutManager",void 0),vt(this,"tab",void 0),vt(this,"_config",void 0),vt(this,"isHidden",!1),vt(this,"beforeCloseHandler",void 0),vt(this,"_element",V(['<div class="lm_item_container">','<div class="lm_content" tabindex="-1"></div>',"</div>"].join(""))),vt(this,"_contentElement",void 0),this.title=uh(e)?e.componentName:"",this.parent=t,this.layoutManager=n,this._config=e,this._contentElement=this._element.find(".lm_content"),this.beforeCloseHandler=null}getElement(){return this._contentElement}hide(){this.emit("hide"),this.isHidden=!0,this._element.hide()}show(){this.emit("show"),this.isHidden=!1,this._element.show(),(this.height!=0||this.width!=0)&&this.emit("shown")}setSize(e,t){for(var n,r,a,s=this.parent,o=null;s&&!s.isColumn&&!s.isRow;){var d;if(o=s,s=s.parent,(d=s)!==null&&d!==void 0&&d.isRoot)return!1}if(!s||!o)return!1;for(var h=s.isColumn?"height":"width",u=h==="height"?t:e,c=((n=this[h])!==null&&n!==void 0?n:0)*(1/(((r=o.config[h])!==null&&r!==void 0?r:0)/100)),m=u/c*100,p=(((a=o.config[h])!==null&&a!==void 0?a:0)-m)/(s.contentItems.length-1),v=0;v<s.contentItems.length;v++)if(s.contentItems[v]===o)s.contentItems[v].config[h]=m;else{var g;s.contentItems[v].config[h]=((g=s.contentItems[v].config[h])!==null&&g!==void 0?g:0)+p}return s.callDownwards("setSize"),!0}close(e){var t,n;this._config.isClosable&&(!((t=(n=this.beforeCloseHandler)===null||n===void 0?void 0:n.call(this,e))!==null&&t!==void 0)||t)&&(this.emit("close"),this.parent.close())}beforeClose(e){this.beforeCloseHandler=e}getState(){return this._config.componentState}extendState(e){this.setState(V.extend(!0,this.getState(),e))}setState(e){this._config.componentState=e,this.parent.emitBubblingEvent("stateChanged")}setTitle(e){this.parent.setTitle(e)}_$setSize(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(e!==this.width||t!==this.height){this.width=e,this.height=t;var n=this._contentElement[0],r=n.offsetWidth-n.clientWidth,a=n.offsetHeight-n.clientHeight;this._contentElement.width(this.width-r).height(this.height-a),this.emit("resize")}}}const Lf=Object.freeze(Object.defineProperty({__proto__:null,Container:Na,ItemContainer:Na},Symbol.toStringTag,{value:"Module"}));function mh(i){var e=location.hash.match(new RegExp(i+"=([^&]*)"));return e?e[1]:null}function ph(i){if(window.location.hash)return mh(i);if(!window.location.search)return null;var e=window.location.search.substr(1).split("&"),t={},n,r;for(r=0;r<e.length;r++)n=e[r].split("="),t[n[0]]=n[1];return t[i]||null}function hs(i){return window.requestAnimationFrame(i)}function Mf(i,e){var t=e.indexOf(i);if(t===-1)throw new Error("Can't remove item from array. Item is not in the array");e.splice(t,1)}function us(){return(Math.random()*1e15).toString(36).replace(".","")}function Ff(i,e){var t=i.replace(/javascript/gi,"javascript").replace(/expression/gi,"expression").replace(/onload/gi,"onload").replace(/script/gi,"script").replace(/onerror/gi,"onerror");return e===!0?t:t.replace(/>/g,">").replace(/</g,"<")}function cs(i){return V.trim(i.replace(/(<([^>]+)>)/gi,""))}function et(i,e,t){return e=Rf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rf(i){var e=jf(i,"string");return typeof e=="symbol"?e:String(e)}function jf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Af extends Ot{constructor(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;super(),et(this,"_eElement",void 0),et(this,"_oDocument",void 0),et(this,"_eBody",void 0),et(this,"_destroyAfterMouseUp",void 0),et(this,"_nDelay",400),et(this,"_timeout",void 0),et(this,"timeout",void 0),et(this,"_nDistance",10),et(this,"_nX",0),et(this,"_nY",0),et(this,"_nOriginalX",0),et(this,"_nOriginalY",0),et(this,"_bDragging",!1),this._eElement=e,this._oDocument=V(document),this._eBody=V(document.body),this._destroyAfterMouseUp=n,this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this._startDrag=this._startDrag.bind(this),(t=this._eElement)===null||t===void 0||t.on("mousedown",this.onMouseDown)}destroy(){var e,t;(e=this._eElement)===null||e===void 0||e.unbind("mousedown",this.onMouseDown),(t=this._oDocument)===null||t===void 0||t.unbind("mouseup",this.onMouseUp),this._eElement=void 0,this._oDocument=void 0,this._eBody=void 0,clearTimeout(this._timeout),this._timeout=void 0}onMouseDown(e){if(e.preventDefault(),e.button===0){var t,n,r,a,s=this._getCoordinates(e);this._nOriginalX=(t=s.x)!==null&&t!==void 0?t:0,this._nOriginalY=(n=s.y)!==null&&n!==void 0?n:0,(r=this._oDocument)===null||r===void 0||r.on("mousemove",this.onMouseMove),(a=this._oDocument)===null||a===void 0||a.on("mouseup",this.onMouseUp),this._timeout=window.setTimeout(this._startDrag,this._nDelay)}}onMouseMove(e){if(this._timeout!=null){var t,n;e.preventDefault();var r=this._getCoordinates(e);this._nX=((t=r.x)!==null&&t!==void 0?t:0)-this._nOriginalX,this._nY=((n=r.y)!==null&&n!==void 0?n:0)-this._nOriginalY,this._bDragging===!1&&(Math.abs(this._nX)>this._nDistance||Math.abs(this._nY)>this._nDistance)&&this._startDrag(),this._bDragging&&this.emit("drag",this._nX,this._nY,e)}}onMouseUp(e){if(this._timeout!=null){var t,n,r,a,s;if(clearTimeout(this._timeout),(t=this._oDocument)===null||t===void 0||t.unbind("mousemove",this.onMouseMove),(n=this._oDocument)===null||n===void 0||n.unbind("mouseup",this.onMouseUp),(r=this._oDocument)===null||r===void 0||(a=r.find("iframe"))===null||a===void 0||a.css("pointer-events",""),this._bDragging===!0&&(this._bDragging=!1,this.emit("dragStop",e,this._nOriginalX+this._nX)),(s=this._eBody)===null||s===void 0||s.removeClass("lm_dragging"),!(this._eElement instanceof Window)){var o;(o=this._eElement)===null||o===void 0||o.removeClass("lm_dragging")}this._destroyAfterMouseUp&&this.destroy()}}_startDrag(){var e,t,n,r;window.clearTimeout(this._timeout),this._bDragging=!0,(e=this._eBody)===null||e===void 0||e.addClass("lm_dragging"),(t=this._eElement)===null||t===void 0||t.addClass("lm_dragging"),(n=this._oDocument)===null||n===void 0||(r=n.find("iframe"))===null||r===void 0||r.css("pointer-events","none"),this.emit("dragStart",this._nOriginalX,this._nOriginalY)}_getCoordinates(e){var t,n;return{x:(t=e.pageX)!==null&&t!==void 0?t:0,y:(n=e.pageY)!==null&&n!==void 0?n:0}}}const Ui=Af;function Ln(i,e,t){return e=kf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kf(i){var e=$f(i,"string");return typeof e=="symbol"?e:String(e)}function $f(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class fh{constructor(e,t){Ln(this,"_container",void 0),Ln(this,"_reactComponent",null),Ln(this,"_portalComponent",null),Ln(this,"_originalComponentWillUpdate",null),Ln(this,"_initialState",void 0),Ln(this,"_reactClass",void 0),this._reactComponent=null,this._portalComponent=null,this._originalComponentWillUpdate=null,this._container=e,this._initialState=t,this._reactClass=this._getReactClass(),this._container.on("open",this._render,this),this._container.on("destroy",this._destroy,this)}_key(){var e=this._container._config.id;if(!e)throw new Error("Cannot mount panel without id");return Array.isArray(e)?e.join(","):e}_render(){var e=this._key();this._portalComponent=qa.createPortal(this._getReactComponent(),this._container.getElement()[0],e),this._container.layoutManager.addReactChild(e,this._portalComponent)}_gotReactComponent(e){if(e){this._reactComponent=e,this._originalComponentWillUpdate=this._reactComponent.componentWillUpdate||function(){},this._reactComponent.componentWillUpdate=this._onUpdate.bind(this);var t=this._container.getState();t&&this._reactComponent.setState(t)}}_destroy(){this._container.layoutManager.removeReactChild(this._key(),this._portalComponent),this._container.off("open",this._render,this),this._container.off("destroy",this._destroy,this)}_onUpdate(e,t){var n;this._container.setState(t),(n=this._originalComponentWillUpdate)===null||n===void 0||n.call(this._reactComponent,e,t)}_getReactClass(){var e=this._container._config.component;if(!e)throw new Error("No react component name. type: react-component needs a field `component`");var t=this._container.layoutManager.getComponent(e)||this._container.layoutManager.getFallbackComponent();if(!t)throw new Error('React component "'+e+'" not found. Please register all components with GoldenLayout using `registerComponent(name, component)`');return t}_getReactComponent(){var e={glEventHub:this._container.layoutManager.eventHub,glContainer:this._container},t=V.extend(e,this._container._config.props);return J.createElement(this._reactClass,t)}}var Dr=["settings","hasHeaders","constrainDragToContainer","selectionEnabled","dimensions","borderWidth","minItemHeight","minItemWidth","headerHeight","dragProxyWidth","dragProxyHeight","labels","close","maximise","minimise","popout","content","componentName","componentState","id","width","type","height","isClosable","title","popoutWholeStack","openPopouts","parentId","activeItemIndex","reorderEnabled","borderGrabWidth"],Uf=[!0,!1,"row","column","stack","component","close","maximise","minimise","open in new window"];function ms(i){if(Dr.length>36)throw new Error("Too many keys in config minifier map");var e={};return ps(i,e,"_min"),e}function La(i){if(Dr.length>36)throw new Error("Too many keys in config minifier map");var e={};return ps(i,e,"_max"),e}function ps(i,e,t){var n=t==="_min"?Hf:Vf;for(var r in i)if(i.hasOwnProperty(r)){var a=Array.isArray(i)?i[Number.parseInt(r,10)]:i[r];if(typeof a=="object"&&a!=null){var s=a instanceof Array?[]:{};if(Array.isArray(e))e[Number.parseInt(r,10)]=s;else{var o=n(r,Dr);e[o]=s}ps(a,s,t)}else{var d=n(a,Uf);if(Array.isArray(e))e[Number.parseInt(r,10)]=d;else{var h=n(r,Dr);e[h]=d}}}}function Hf(i,e){if(typeof i=="string"&&i.length===1)return"___"+i;var t=e.indexOf(i);return t===-1?i:t.toString(36)}function Vf(i,e){return typeof i=="string"&&i.length===1?e[parseInt(i,36)]:typeof i=="string"&&i.substr(0,3)==="___"?i[3]:i}function la(i,e,t){return e=Bf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Bf(i){var e=Wf(i,"string");return typeof e=="symbol"?e:String(e)}function Wf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ma{constructor(e,t){la(this,"name",void 0),la(this,"origin",void 0),la(this,"isPropagationStopped",void 0),this.name=e,this.origin=t,this.isPropagationStopped=!1}stopPropagation(){this.isPropagationStopped=!0}}function Qi(i,e,t){return e=Gf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Gf(i){var e=Kf(i,"string");return typeof e=="symbol"?e:String(e)}function Kf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}let zf=class extends Ot{constructor(e){super(),Qi(this,"_layoutManager",void 0),Qi(this,"_dontPropagateToParent",void 0),Qi(this,"_childEventSource",void 0),Qi(this,"_boundOnEventFromChild",void 0),this._layoutManager=e,this._dontPropagateToParent=null,this._childEventSource=null,this.on(Ot.ALL_EVENT,this._onEventFromThis.bind(this)),this._boundOnEventFromChild=this._onEventFromChild.bind(this),V(window).on("gl_child_event",this._boundOnEventFromChild)}_onEventFromThis(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this._layoutManager.isSubWindow&&t[0]!==this._dontPropagateToParent&&this._propagateToParent(t),this._propagateToChildren(t),this._dontPropagateToParent=null,this._childEventSource=null}_$onEventFromParent(e){this._dontPropagateToParent=e[0],this.emit.apply(this,e)}_onEventFromChild(e){this._childEventSource=e.originalEvent.__gl,this.emit.apply(this,e.originalEvent.__glArgs)}_propagateToParent(e){var t,n="gl_child_event",r=(t=window.opener)===null||t===void 0?void 0:t.document.createEvent("HTMLEvents");r.initEvent(n,!0,!0),r.eventName=n,r.__glArgs=e,r.__gl=this._layoutManager,window.opener.dispatchEvent(r)}_propagateToChildren(e){for(var t=0;t<this._layoutManager.openPopouts.length;t++){var n=this._layoutManager.openPopouts[t].getGlInstance();n&&n!==this._childEventSource&&n.eventHub._$onEventFromParent(e)}}destroy(){V(window).off("gl_child_event",this._boundOnEventFromChild)}};const vh=zf,qf=Object.freeze(Object.defineProperty({__proto__:null,BubblingEvent:Ma,DragListener:Ui,EventEmitter:Ot,EventHub:vh,ReactComponentHandler:fh,animFrame:hs,filterXss:Ff,getHashValue:mh,getQueryStringParam:ph,getUniqueId:us,minifyConfig:ms,removeFromArray:Mf,stripTags:cs,unminifyConfig:La},Symbol.toStringTag,{value:"Module"}));function Yt(i,e,t){return e=Yf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Yf(i){var e=Zf(i,"string");return typeof e=="symbol"?e:String(e)}function Zf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gh extends Ot{constructor(e,t,n,r,a){super(),Yt(this,"isInitialised",!1),Yt(this,"_config",void 0),Yt(this,"_dimensions",void 0),Yt(this,"_parentId",void 0),Yt(this,"_indexInParent",void 0),Yt(this,"_layoutManager",void 0),Yt(this,"_popoutWindow",null),Yt(this,"_id",null),this._config=e,this._dimensions=t,this._parentId=n,this._indexInParent=r,this._layoutManager=a,this._createWindow()}toConfig(){var e,t,n,r,a,s,o,d,h,u,c;if(this.isInitialised===!1)throw new Error("Can't create config, layout not yet initialised");return{dimensions:{width:(e=this.getGlInstance())===null||e===void 0?void 0:e.width,height:(t=this.getGlInstance())===null||t===void 0?void 0:t.height,left:(n=(r=(a=this._popoutWindow)===null||a===void 0?void 0:a.screenX)!==null&&r!==void 0?r:(s=this._popoutWindow)===null||s===void 0?void 0:s.screenLeft)!==null&&n!==void 0?n:0,top:(o=(d=(h=this._popoutWindow)===null||h===void 0?void 0:h.screenY)!==null&&d!==void 0?d:(u=this._popoutWindow)===null||u===void 0?void 0:u.screenTop)!==null&&o!==void 0?o:0},content:(c=this.getGlInstance())===null||c===void 0?void 0:c.toConfig().content,parentId:this._parentId,indexInParent:this._indexInParent}}getGlInstance(){var e;return(e=this._popoutWindow)===null||e===void 0?void 0:e.__glInstance}getWindow(){return this._popoutWindow}close(){if(this.getGlInstance()){var e;(e=this.getGlInstance())===null||e===void 0||e._$closeWindow()}else try{var t;(t=this.getWindow())===null||t===void 0||t.close()}catch{}}popIn(){var e;this._indexInParent;var t=null,n=null;if(this._parentId){var r;if(t=V.extend(!0,{},(r=this.getGlInstance())===null||r===void 0?void 0:r.toConfig()).content[0],n=this._layoutManager.root.getItemsById(this._parentId)[0],!n){var a;((a=this._layoutManager.root.contentItems.length)!==null&&a!==void 0?a:0)>0?n=this._layoutManager.root.contentItems[0]:n=this._layoutManager.root}}t&&((e=n)===null||e===void 0||e.addChild(t,this._indexInParent),this.close())}_createWindow(){var e=this._createUrl(),t=Math.floor(Math.random()*1e6).toString(36),n=this._serializeWindowOptions({width:this._dimensions.width,height:this._dimensions.height,innerWidth:this._dimensions.width,innerHeight:this._dimensions.height,menubar:"no",toolbar:"no",location:"no",personalbar:"no",resizable:"yes",scrollbars:"no",status:"no"});if(this._popoutWindow=window.open(e,t,n),!this._popoutWindow)if(this._layoutManager.config.settings.blockedPopoutsThrowError===!0){var r=new Error("Popout blocked");throw r.type="popoutBlocked",r}else return;V(this._popoutWindow).on("load",this._positionWindow.bind(this)).on("unload beforeunload",this._onClose.bind(this));var a=window.setInterval(()=>{var s;(s=this._popoutWindow)!==null&&s!==void 0&&s.__glInstance&&this._popoutWindow.__glInstance.isInitialised&&(this._onInitialised(),window.clearInterval(a))},10)}_serializeWindowOptions(e){var t=[],n;for(n in e)t.push(n+"="+e[n]);return t.join(",")}_createUrl(){var e={content:this._config},t="gl-window-config-"+us();e=ms(e);try{localStorage.setItem(t,JSON.stringify(e))}catch(r){throw new Error("Error while writing to localStorage "+r.toString())}var n=document.location.href.split("?");return n.length===1?n[0]+"?gl-window="+t:document.location.href+"&gl-window="+t}_positionWindow(){var e,t;(e=this._popoutWindow)===null||e===void 0||e.moveTo(this._dimensions.left,this._dimensions.top),(t=this._popoutWindow)===null||t===void 0||t.focus()}_onInitialised(){var e;this.isInitialised=!0,(e=this.getGlInstance())===null||e===void 0||e.on("popIn",this.popIn,this),this.emit("initialised")}_onClose(){setTimeout(this.emit.bind(this,"closed"),50)}}function xe(i,e,t){return e=Xf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Xf(i){var e=Jf(i,"string");return typeof e=="symbol"?e:String(e)}function Jf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class In extends Ot{constructor(e,t,n,r,a,s){var o,d,h,u,c,m,p,v;if(super(),xe(this,"_dragListener",void 0),xe(this,"_layoutManager",void 0),xe(this,"_contentItem",void 0),xe(this,"_originalParent",void 0),xe(this,"_area",null),xe(this,"_lastValidArea",null),xe(this,"_minX",void 0),xe(this,"_maxX",void 0),xe(this,"_minY",void 0),xe(this,"_maxY",void 0),xe(this,"_width",void 0),xe(this,"_height",void 0),xe(this,"_sided",void 0),xe(this,"element",void 0),xe(this,"childElementContainer",void 0),xe(this,"_proxyTab",void 0),this._dragListener=n,this._layoutManager=r,this._contentItem=a,this._originalParent=s,this._dragListener.on("drag",this._onDrag,this),this._dragListener.on("dragStop",this._onDrop,this),this._contentItem.tab&&this._contentItem.tab.element){var g,b;this._layoutManager.tabDropPlaceholder.width((g=this._contentItem.tab.element.outerWidth(!0))!==null&&g!==void 0?g:0),this._layoutManager.tabDropPlaceholder.height((b=this._contentItem.tab.element.outerHeight(!0))!==null&&b!==void 0?b:0)}if(this.element=V(In._template),s&&s._side&&(this._sided=s._sided,this.element.addClass("lm_"+s._side),["right","bottom"].indexOf(s._side.toString())>=0&&this.element.find(".lm_content").after(this.element.find(".lm_header"))),this.element.css({left:e,top:t}),this._proxyTab=this.element.find(".lm_tab"),this._proxyTab.attr("title",cs((o=this._contentItem.config.title)!==null&&o!==void 0?o:"")),this.element.find(".lm_title").html((d=this._contentItem.config.title)!==null&&d!==void 0?d:""),this.childElementContainer=this.element.find(".lm_content"),this.childElementContainer.append(a.element),this._updateTree(),this._layoutManager._$calculateItemAreas(),V(document.body).append(this.element),this._setDimensions(),!this._contentItem.tab&&this._proxyTab.length){var C,w;this._layoutManager.tabDropPlaceholder.width((C=this._proxyTab.outerWidth(!0))!==null&&C!==void 0?C:0),this._layoutManager.tabDropPlaceholder.height((w=this._proxyTab.outerHeight(!0))!==null&&w!==void 0?w:0)}var S=this._layoutManager.container.offset();this._minX=(h=S?.left)!==null&&h!==void 0?h:0,this._minY=(u=S?.top)!==null&&u!==void 0?u:0,this._maxX=((c=this._layoutManager.container.width())!==null&&c!==void 0?c:0)+this._minX,this._maxY=((m=this._layoutManager.container.height())!==null&&m!==void 0?m:0)+this._minY,this._width=(p=this.element.width())!==null&&p!==void 0?p:0,this._height=(v=this.element.height())!==null&&v!==void 0?v:0,this._setDropPosition(e,t),this._layoutManager.emit("itemPickedUp",this._contentItem)}_onDrag(e,t,n){var r,a,s=(r=n.pageX)!==null&&r!==void 0?r:0,o=(a=n.pageY)!==null&&a!==void 0?a:0,d=s>this._minX&&s<this._maxX&&o>this._minY&&o<this._maxY;!d&&this._layoutManager.config.settings.constrainDragToContainer===!0||this._setDropPosition(s,o)}_setDropPosition(e,t){this.element.css({left:e,top:t}),this._area=this._layoutManager._$getArea(e,t),this._area!==null&&(this._lastValidArea=this._area,this._area.contentItem._$highlightDropZone(e,t,this._area))}_onDrop(){var e;(e=this._layoutManager.dropTargetIndicator)===null||e===void 0||e.hide(),this._area!==null?this._area.contentItem._$onDrop(this._contentItem,this._area):this._lastValidArea!==null?this._lastValidArea.contentItem._$onDrop(this._contentItem,this._lastValidArea):this._originalParent?this._originalParent.addChild(this._contentItem):this._contentItem._$destroy(),this._dragListener.off("drag",this._onDrag,this),this._dragListener.off("dragStop",this._onDrop,this),this.element.remove(),this._layoutManager.emit("itemDropped",this._contentItem)}_updateTree(){this._contentItem.parent&&this._contentItem.parent.removeChild(this._contentItem,!0),this._contentItem._$setParent(null)}_setDimensions(){var e=this._layoutManager.config.dimensions,t=e.dragProxyWidth,n=e.dragProxyHeight;this.element.width(t),this.element.height(n),t-=this._sided?e.headerHeight:0,n-=this._sided?0:e.headerHeight,this.childElementContainer.width(t),this.childElementContainer.height(n),this._contentItem.element.width(t),this._contentItem.element.height(n),this._contentItem.callDownwards("_$show"),this._contentItem.callDownwards("setSize")}}xe(In,"_template",'<div class="lm_dragProxy"><div class="lm_header"><ul class="lm_tabs"><li class="lm_tab lm_active"><i class="lm_left"></i><span class="lm_title"></span><i class="lm_right"></i></li></ul></div><div class="lm_content"></div></div>');function er(i,e,t){return e=Qf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qf(i){var e=ev(i,"string");return typeof e=="symbol"?e:String(e)}function ev(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class bh{constructor(e,t,n){er(this,"_element",void 0),er(this,"_itemConfig",void 0),er(this,"_layoutManager",void 0),er(this,"_dragListener",void 0),this._element=e,this._itemConfig=t,this._layoutManager=n,this._dragListener=this._createDragListener()}_createDragListener(){return this._dragListener=new Ui(this._element,!0),this._dragListener.on("dragStart",this._onDragStart,this),this._dragListener.on("dragStop",this._createDragListener,this),this._dragListener}_onDragStart(e,t){var n=this._itemConfig;typeof n=="function"&&(n=n());var r=this._layoutManager._$normalizeContentItem(V.extend(!0,{},n));new In(e,t,this._dragListener,this._layoutManager,r,null)}}function tr(i,e,t){return e=tv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function tv(i){var e=nv(i,"string");return typeof e=="symbol"?e:String(e)}function nv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ch{constructor(e,t,n){tr(this,"_element",V(window)),tr(this,"_itemConfig",void 0),tr(this,"_layoutManager",void 0),tr(this,"_dragListener",void 0),this._itemConfig=e,this._layoutManager=t,this._createDragListener(n)}_createDragListener(e){this._dragListener&&this._dragListener.destroy(),this._element&&(this._dragListener=new Ui(this._element,!0),this._dragListener.on("dragStart",this._onDragStart,this),this._dragListener.on("dragStop",this._destroy,this),this._dragListener.onMouseDown(e),this._dragListener._startDrag())}_destroy(){this._dragListener=void 0,this._element=void 0,this._itemConfig=void 0,this._layoutManager=void 0}_onDragStart(e,t){if(!(!this._dragListener||!this._layoutManager)){var n=this._itemConfig;typeof n=="function"&&(n=n());var r=this._layoutManager._$normalizeContentItem(V.extend(!0,{},n));new In(e,t,this._dragListener,this._layoutManager,r,null)}}}function Sh(i,e,t){return e=iv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function iv(i){var e=rv(i,"string");return typeof e=="symbol"?e:String(e)}function rv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Hi{constructor(){Sh(this,"element",V(Hi._template)),V(document.body).append(this.element)}destroy(){this.element.remove()}highlightArea(e){this.element.css({left:e.x1,top:e.y1,width:Math.floor(e.x2-e.x1),height:Math.floor(e.y2-e.y1)}).show()}hide(){this.element.hide()}}Sh(Hi,"_template",'<div class="lm_dropTargetIndicator"><div class="lm_inner"></div></div>');function da(i,e,t){return e=av(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function av(i){var e=sv(i,"string");return typeof e=="symbol"?e:String(e)}function sv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class vi{constructor(e,t,n,r){da(this,"element",void 0),da(this,"_header",void 0),da(this,"_action",void 0),this._header=e,this.element=V('<li class="'+n+'" title="'+t+'"></li>'),this._header.on("destroy",this._$destroy,this),this._action=r,this.element.on("click",this._action),this._header.controlsContainer.append(this.element)}_$destroy(){this.element.off(),this.element.remove()}}function ov(i,e,t){return e=lv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lv(i){var e=dv(i,"string");return typeof e=="symbol"?e:String(e)}function dv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class hv extends Error{constructor(e,t){super(),ov(this,"node",void 0),this.name="Configuration Error",this.message=e,this.node=t}}const yn=hv,uv=Object.freeze(Object.defineProperty({__proto__:null,ConfigurationError:yn},Symbol.toStringTag,{value:"Module"}));function Oe(i,e,t){return e=cv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cv(i){var e=mv(i,"string");return typeof e=="symbol"?e:String(e)}function mv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function xi(i){return i.isStack}function it(i){return i.isComponent}function yh(i){return i.isRoot}class Le extends Ot{constructor(e,t,n,r){super(),Oe(this,"config",void 0),Oe(this,"type",void 0),Oe(this,"contentItems",void 0),Oe(this,"parent",void 0),Oe(this,"layoutManager",void 0),Oe(this,"element",void 0),Oe(this,"childElementContainer",void 0),Oe(this,"componentName",void 0),Oe(this,"isInitialised",!1),Oe(this,"isMaximised",!1),Oe(this,"isRoot",!1),Oe(this,"isRow",!1),Oe(this,"isColumn",!1),Oe(this,"isStack",!1),Oe(this,"isComponent",!1),Oe(this,"tab",void 0),Oe(this,"_pendingEventPropagations",void 0),Oe(this,"_throttledEvents",void 0),this.element=r,this.config=this._extendItemNode(t),this.type=t.type,this.contentItems=[],this.parent=n,this.layoutManager=e,this._pendingEventPropagations={},this._throttledEvents=["stateChanged"],this.on(Ot.ALL_EVENT,this._propagateEvent,this),t.content&&this._createContentItems(t)}callDownwards(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;n!==!0&&r!==!0&&this[e].apply(this,t);for(var a=0;a<this.contentItems.length;a++)this.contentItems[a].callDownwards(e,t,n);n===!0&&r!==!0&&this[e].apply(this,t)}removeChild(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.contentItems.indexOf(e);if(r===-1)throw new Error("Can't remove child item. Unknown content item");if(n!==!0&&this.contentItems[r]._$destroy(),this.contentItems.splice(r,1),(t=this.config.content)===null||t===void 0||t.splice(r,1),this.contentItems.length>0)this.callDownwards("setSize");else if(this.type!=="root"&&this.config.isClosable){var a;(a=this.parent)===null||a===void 0||a.removeChild(this)}}addChild(e,t){e=this.layoutManager._$normalizeContentItem(e,this),t===void 0&&(t=this.contentItems.length),this.contentItems.splice(t,0,e),this.config.content===void 0&&(this.config.content=[]),this.config.content.splice(t,0,e.config),e.parent=this,e.parent.isInitialised===!0&&e.isInitialised===!1&&e._$init()}replaceChild(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;t=this.layoutManager._$normalizeContentItem(t);var r=this.contentItems.indexOf(e),a=e.element[0].parentNode;if(r===-1)throw new Error("Can't replace child. oldChild is not child of this");a?.replaceChild(t.element[0],e.element[0]),n===!0&&(e.parent=null,e._$destroy()),this.contentItems[r]=t,t.parent=this,xi(this)&&(this.header.tabs[r].contentItem=t),t.parent.isInitialised===!0&&t.isInitialised===!1&&t._$init(),this.callDownwards("setSize")}remove(){var e;(e=this.parent)===null||e===void 0||e.removeChild(this)}popout(){var e=this.layoutManager.createPopout(this);return this.emitBubblingEvent("stateChanged"),e}toggleMaximise(e){e&&e.preventDefault(),this.isMaximised===!0?this.layoutManager._$minimiseItem(this):this.layoutManager._$maximiseItem(this),this.isMaximised=!this.isMaximised,this.emitBubblingEvent("stateChanged")}select(){this.layoutManager.selectedItem!==this&&(this.layoutManager.selectItem(this,!0),this.element.addClass("lm_selected"))}deselect(){this.layoutManager.selectedItem===this&&(this.layoutManager.selectedItem=null,this.element.removeClass("lm_selected"))}setTitle(e){this.config.title=e,this.emit("titleChanged",e),this.emitBubblingEvent("stateChanged")}hasId(e){if(this.config.id){if(typeof this.config.id=="string")return this.config.id===e;if(this.config.id instanceof Array)return this.config.id.indexOf(e)!==-1}else return!1}addId(e){this.hasId(e)||(this.config.id?typeof this.config.id=="string"?this.config.id=[this.config.id,e]:this.config.id instanceof Array&&this.config.id.push(e):this.config.id=e)}removeId(e){if(!this.hasId(e))throw new Error("Id not found");if(typeof this.config.id=="string")delete this.config.id;else if(this.config.id instanceof Array){var t=this.config.id.indexOf(e);this.config.id.splice(t,1)}}getItemsByFilter(e){var t=[],n=function r(a){for(var s=0;s<a.contentItems.length;s++)e(a.contentItems[s])===!0&&t.push(a.contentItems[s]),r(a.contentItems[s])};return n(this),t}getItemsById(e){return this.getItemsByFilter(function(t){return t.config.id instanceof Array?t.config.id.indexOf(e)!==-1:t.config.id===e})}getItemsByType(e){return this._$getItemsByProperty("type",e)}getComponentsByName(e){for(var t=this._$getItemsByProperty("componentName",e),n=[],r=0;r<t.length;r++)n.push(t[r].instance);return n}_$getItemsByProperty(e,t){return this.getItemsByFilter(function(n){return n[e]===t})}_$setParent(e){this.parent=e}_$highlightDropZone(e,t,n){var r;(r=this.layoutManager.dropTargetIndicator)===null||r===void 0||r.highlightArea(n)}_$onDrop(e,t){this.addChild(e)}_$hide(){this._callOnActiveComponents("hide"),this.element.hide(),this.layoutManager.updateSize()}_$show(){this._callOnActiveComponents("show"),this.element.show(),this.layoutManager.updateSize()}_callOnActiveComponents(e){for(var t=this.getItemsByType("stack"),n=null,r=0;r<t.length;r++)n=t[r].getActiveContentItem(),n&&it(n)&&n.container[e]()}_$destroy(){this.emitBubblingEvent("beforeItemDestroyed"),this.callDownwards("_$destroy",[],!0,!0),this.element.remove(),this.emitBubblingEvent("itemDestroyed")}_$getArea(e){var t,n,r;e=e||this.element;var a=(t=e.offset())!==null&&t!==void 0?t:{left:0,top:0},s=(n=e.width())!==null&&n!==void 0?n:0,o=(r=e.height())!==null&&r!==void 0?r:0;return{x1:a.left,y1:a.top,x2:a.left+s,y2:a.top+o,surface:s*o,contentItem:this,side:""}}_$init(){this.setSize();for(var e=0;e<this.contentItems.length;e++){var t;(t=this.childElementContainer)===null||t===void 0||t.append(this.contentItems[e].element)}this.isInitialised=!0,this.emitBubblingEvent("itemCreated"),this.emitBubblingEvent(this.type+"Created")}emitBubblingEvent(e){var t=new Ma(e,this);this.emit(e,t)}_createContentItems(e){var t;if(!(e.content instanceof Array))throw new yn("content must be an Array",e);for(var n=0;n<e.content.length;n++)t=this.layoutManager.createContentItem(e.content[n],this),this.contentItems.push(t)}_extendItemNode(e){for(var[t,n]of Object.entries(ch)){var r=t;e[r]===void 0&&(e[r]=n)}return e}_propagateEvent(e,t){t instanceof Ma&&t.isPropagationStopped===!1&&this.isInitialised===!0&&(this.isRoot===!1&&this.parent?this.parent.emit.apply(this.parent,[e,t]):this._scheduleEventPropagationToLayoutManager(e,t))}_scheduleEventPropagationToLayoutManager(e,t){this._throttledEvents.indexOf(e)===-1?this.layoutManager.emit(e,t.origin):this._pendingEventPropagations[e]!==!0&&(this._pendingEventPropagations[e]=!0,hs(this._propagateEventToLayoutManager.bind(this,e,t)))}_propagateEventToLayoutManager(e,t){this._pendingEventPropagations[e]=!1,this.layoutManager.emit(e,t)}}function si(i,e,t){return e=pv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pv(i){var e=fv(i,"string");return typeof e=="symbol"?e:String(e)}function fv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class wh extends Le{constructor(e,t,n){super(e,t,n,V()),si(this,"config",void 0),si(this,"componentName",void 0),si(this,"container",void 0),si(this,"parent",void 0),si(this,"instance",void 0),this.config=t,this.parent=n;var r=e.getComponent(this.config.componentName)||e.getFallbackComponent(),a=V.extend(!0,{},this.config.componentState||{});if(r==null)throw new yn('Unknown component "'+this.config.componentName+'"');a.componentName=this.config.componentName,this.componentName=this.config.componentName,this.config.title===""&&(this.config.title=this.config.componentName),this.isComponent=!0,this.container=new Na(this.config,this,e),this.instance=new r(this.container,a),this.element=this.container._element}close(){this.parent.removeChild(this)}setSize(){this.element.is(":visible")&&this.container._$setSize(this.element.width(),this.element.height())}_$init(){Le.prototype._$init.call(this),this.container.emit("open")}_$hide(){this.container.hide(),Le.prototype._$hide.call(this)}_$show(){this.container.show(),this.container._config.isFocusOnShow&&this.container._contentElement[0].focus({preventScroll:!0}),Le.prototype._$show.call(this)}_$destroy(){this.container.emit("destroy",this),Le.prototype._$destroy.call(this)}_$getArea(){return null}}function dt(i,e,t){return e=vv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vv(i){var e=gv(i,"string");return typeof e=="symbol"?e:String(e)}function gv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ir extends Le{constructor(e,t,n,r){super(t,n,r,V('<div class="lm_item lm_'+(e?"column":"row")+'"></div>')),dt(this,"isRow",void 0),dt(this,"isColumn",void 0),dt(this,"childElementContainer",void 0),dt(this,"parent",void 0),dt(this,"_splitter",[]),dt(this,"_splitterSize",void 0),dt(this,"_splitterGrabSize",void 0),dt(this,"_isColumn",void 0),dt(this,"_dimension",void 0),dt(this,"_splitterPosition",null),dt(this,"_splitterMinPosition",null),dt(this,"_splitterMaxPosition",null),this.parent=r,this.isRow=!e,this.isColumn=e,this.childElementContainer=this.element,this._splitterSize=t.config.dimensions.borderWidth,this._splitterGrabSize=t.config.dimensions.borderGrabWidth,this._isColumn=e,this._dimension=e?"height":"width",this._splitterPosition=null,this._splitterMinPosition=null,this._splitterMaxPosition=null}addChild(e,t,n){var r,a,s,o;if(e=this.layoutManager._$normalizeContentItem(e,this),t===void 0&&(t=this.contentItems.length),this.contentItems.length>0?(o=this._createSplitter(Math.max(0,t-1)).element,t>0?(this.contentItems[t-1].element.after(o),o.after(e.element)):(this.contentItems[0].element.before(o),o.before(e.element))):this.childElementContainer.append(e.element),Le.prototype.addChild.call(this,e,t),r=1/this.contentItems.length*100,n===!0){this.emitBubblingEvent("stateChanged");return}for(s=0;s<this.contentItems.length;s++)if(this.contentItems[s]===e)e.config[this._dimension]=r;else{var d;a=((d=this.contentItems[s].config[this._dimension])!==null&&d!==void 0?d:0)*(100-r)/100,this.contentItems[s].config[this._dimension]=a}this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}removeChild(e,t){var n,r=(n=e.config[this._dimension])!==null&&n!==void 0?n:0,a=this.contentItems.indexOf(e),s=Math.max(a-1,0),o,d;if(a===-1)throw new Error("Can't remove child. ContentItem is not child of this Row or Column");for(this._splitter[s]&&(this._splitter[s]._$destroy(),this._splitter.splice(s,1)),o=0;o<this.contentItems.length;o++)if(this.contentItems[o]!==e){var h;this.contentItems[o].config[this._dimension]=((h=this.contentItems[o].config[this._dimension])!==null&&h!==void 0?h:0)+r/(this.contentItems.length-1)}Le.prototype.removeChild.call(this,e,t),this.contentItems.length===1&&this.config.isClosable===!0?(d=this.contentItems[0],this.contentItems=[],this.parent.replaceChild(this,d,!0)):(this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged"))}replaceChild(e,t){var n=e.config[this._dimension];super.replaceChild(e,t),t.config[this._dimension]=n,this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}setSize(){this.contentItems.length>0&&(this._calculateRelativeSizes(),this._setAbsoluteSizes()),this.emitBubblingEvent("stateChanged"),this.emit("resize")}_$init(){if(this.isInitialised!==!0){var e;for(Le.prototype._$init.call(this),e=0;e<this.contentItems.length-1;e++)this.contentItems[e].element.after(this._createSplitter(e).element)}}_setAbsoluteSizes(){var e,t=this._calculateAbsoluteSizes();for(e=0;e<this.contentItems.length;e++)t.additionalPixel-e>0&&t.itemSizes[e]++,this._isColumn?(this.contentItems[e].element.width(t.totalWidth),this.contentItems[e].element.height(t.itemSizes[e])):(this.contentItems[e].element.width(t.itemSizes[e]),this.contentItems[e].element.height(t.totalHeight))}_calculateAbsoluteSizes(){var e,t,n=(this.contentItems.length-1)*this._splitterSize,r=(e=this.element.width())!==null&&e!==void 0?e:0,a=(t=this.element.height())!==null&&t!==void 0?t:0,s=0,o=[];this._isColumn?a-=n:r-=n;for(var d=0;d<this.contentItems.length;d++){var h,u,c=this._isColumn?Math.floor(a*(((h=this.contentItems[d].config.height)!==null&&h!==void 0?h:0)/100)):Math.floor(r*(((u=this.contentItems[d].config.width)!==null&&u!==void 0?u:0)/100));s+=c,o.push(c)}var m=Math.floor((this._isColumn?a:r)-s);return{itemSizes:o,additionalPixel:m,totalWidth:r,totalHeight:a}}_calculateRelativeSizes(){for(var e=0,t=[],n=this._isColumn?"height":"width",r=0;r<this.contentItems.length;r++)if(this.contentItems[r].config[n]!==void 0){var a;e+=(a=this.contentItems[r].config[n])!==null&&a!==void 0?a:0}else t.push(this.contentItems[r]);if(Math.round(e)===100){this._respectMinItemWidth();return}if(Math.round(e)<100&&t.length>0){for(var s=0;s<t.length;s++)t[s].config[n]=(100-e)/t.length;this._respectMinItemWidth();return}if(Math.round(e)>100)for(var o=0;o<t.length;o++)t[o].config[n]=50,e+=50;for(var d=0;d<this.contentItems.length;d++){var h;this.contentItems[d].config[n]=((h=this.contentItems[d].config[n])!==null&&h!==void 0?h:0)/e*100}this._respectMinItemWidth()}_respectMinItemWidth(){var e,t=this.layoutManager.config.dimensions&&(e=this.layoutManager.config.dimensions.minItemWidth)!==null&&e!==void 0?e:0,n=[],r=0,a=0,s=0,o=[],d;if(!(this._isColumn||!t||this.contentItems.length<=1)){for(var h=this._calculateAbsoluteSizes(),u=0;u<this.contentItems.length;u++){this.contentItems[u];var c=h.itemSizes[u];c<t?(a+=t-c,d={width:t}):(r+=c-t,d={width:c},n.push(d)),o.push(d)}if(!(a===0||a>r)){var m=a/r;s=a;for(var p=0;p<n.length;p++){d=n[p];var v=Math.round((d.width-t)*m);s-=v,d.width-=v}s!==0&&(o[o.length-1].width-=s);for(var g=0;g<this.contentItems.length;g++)this.contentItems[g].config.width=o[g].width/h.totalWidth*100}}}_createSplitter(e){var t;return t=new Eh(this._isColumn,this._splitterSize,this._splitterGrabSize),t.on("drag",this._onSplitterDrag.bind(this,t),this),t.on("dragStop",this._onSplitterDragStop.bind(this,t),this),t.on("dragStart",this._onSplitterDragStart.bind(this,t),this),this._splitter.splice(e,0,t),t}_getItemsForSplitter(e){var t=this._splitter.indexOf(e);if(t<0)throw new Error("Splitter not found in RowOrColumn");return{before:this.contentItems[t],after:this.contentItems[t+1]}}_getMinimumDimensions(e){for(var t=0,n=0,r=0;r<e.length;++r){var a,s;t=Math.max((a=e[r].minWidth)!==null&&a!==void 0?a:0,t),n=Math.max((s=e[r].minHeight)!==null&&s!==void 0?s:0,n)}return{horizontal:t,vertical:n}}_onSplitterDragStart(e){var t,n,r,a,s=this._getItemsForSplitter(e),o=this.layoutManager.config.dimensions[this._isColumn?"minItemHeight":"minItemWidth"],d=this._getMinimumDimensions((t=s.before.config.content)!==null&&t!==void 0?t:[]),h=this._isColumn?d.vertical:d.horizontal,u=this._getMinimumDimensions((n=s.after.config.content)!==null&&n!==void 0?n:[]),c=this._isColumn?u.vertical:u.horizontal;this._splitterPosition=0,this._splitterMinPosition=-1*(((r=s.before.element[this._dimension]())!==null&&r!==void 0?r:0)-(h||o)),this._splitterMaxPosition=((a=s.after.element[this._dimension]())!==null&&a!==void 0?a:0)-(c||o)}_onSplitterDrag(e,t,n){var r=this._isColumn?n:t;this._splitterMaxPosition==null||this._splitterMinPosition==null||r>this._splitterMinPosition&&r<this._splitterMaxPosition&&(this._splitterPosition=r,e.element.css(this._isColumn?"top":"left",r))}_onSplitterDragStop(e){var t,n,r,a,s,o=this._getItemsForSplitter(e),d=(t=o.before.element[this._dimension]())!==null&&t!==void 0?t:0,h=(n=o.after.element[this._dimension]())!==null&&n!==void 0?n:0,u=(((r=this._splitterPosition)!==null&&r!==void 0?r:0)+d)/(d+h),c=((a=o.before.config[this._dimension])!==null&&a!==void 0?a:0)+((s=o.after.config[this._dimension])!==null&&s!==void 0?s:0);o.before.config[this._dimension]=u*c,o.after.config[this._dimension]=(1-u)*c,e.element.css({top:0,left:0}),hs(this.callDownwards.bind(this,"setSize",void 0,void 0,void 0))}}function No(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Lo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?No(Object(t),!0).forEach(function(n){Fa(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):No(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Fa(i,e,t){return e=bv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bv(i){var e=Cv(i,"string");return typeof e=="symbol"?e:String(e)}function Cv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ra extends Le{constructor(e,t,n){super(e,Lo(Lo({},t),{},{type:"root"}),null,V('<div class="lm_goldenlayout lm_item lm_root"></div>')),Fa(this,"childElementContainer",void 0),Fa(this,"_containerElement",void 0),this.isRoot=!0,this.type="root",this.childElementContainer=this.element,this._containerElement=n,this._containerElement.append(this.element)}addChild(e,t){if(this.contentItems.length>0)throw new Error("Root node can only have a single child");e=this.layoutManager._$normalizeContentItem(e,this),this.childElementContainer.append(e.element),super.addChild(e,t),this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}setSize(e,t){var n,r;e=typeof e>"u"?(n=this._containerElement.width())!==null&&n!==void 0?n:0:e,t=typeof t>"u"?(r=this._containerElement.height())!==null&&r!==void 0?r:0:t,this.element.width(e),this.element.height(t),this.contentItems[0]&&(this.contentItems[0].element.width(e),this.contentItems[0].element.height(t))}_$getArea(){var e=super._$getArea();if(e==null)throw new Error("Unable to get root area");return e}_$highlightDropZone(e,t,n){this.layoutManager.tabDropPlaceholder.remove(),super._$highlightDropZone(e,t,n)}_$onDrop(e,t){var n;if(it(e)&&(n=this.layoutManager.createContentItem({type:"stack",header:e.config.header||{}},this),n._$init(),n.addChild(e),e=n),!this.contentItems.length)this.addChild(e);else{var{side:r}=t,a=r==="left"||r==="right"?"row":"column",s=r==="left"||r==="right"?"width":"height",o=r==="left"||r==="top",d=this.contentItems[0];if(!(d instanceof Ir)||d.type!=a){var h=this.layoutManager.createContentItem({type:a},this);this.replaceChild(d,h),h.addChild(e,o?0:void 0,!0),h.addChild(d,o?void 0:0,!0),d.config[s]=50,e.config[s]=50,h.callDownwards("setSize")}else{var u,c=d.contentItems[o?0:d.contentItems.length-1];d.addChild(e,o?0:void 0,!0),c.config[s]=((u=c.config[s])!==null&&u!==void 0?u:0)*.5,e.config[s]=c.config[s],d.callDownwards("setSize")}}}}function Mo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Mn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mo(Object(t),!0).forEach(function(n){qe(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Mo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function qe(i,e,t){return e=Sv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sv(i){var e=yv(i,"string");return typeof e=="symbol"?e:String(e)}function yv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ja extends Le{constructor(e,t,n){var r,a,s,o,d,h,u,c,m;super(e,t,n,V('<div class="lm_item lm_stack"></div>')),qe(this,"_activeContentItem",null),qe(this,"_header",void 0),qe(this,"childElementContainer",V('<div class="lm_items"></div>')),qe(this,"header",void 0),qe(this,"parent",void 0),qe(this,"isStack",!0),qe(this,"_dropZones",{}),qe(this,"_dropSegment",null),qe(this,"_contentAreaDimensions",null),qe(this,"_dropIndex",void 0),qe(this,"_side",void 0),qe(this,"_sided",!1),qe(this,"config",void 0),this.parent=n,this.config=t;var p=e.config;this._side=!1,this._header={show:((r=p.settings)===null||r===void 0?void 0:r.hasHeaders)&&t.hasHeaders!==!1,popout:(a=p.settings)!==null&&a!==void 0&&a.showPopoutIcon?(s=p.labels)===null||s===void 0?void 0:s.popout:void 0,maximise:(o=p.settings)!==null&&o!==void 0&&o.showMaximiseIcon?(d=p.labels)===null||d===void 0?void 0:d.maximise:void 0,close:(h=p.settings)!==null&&h!==void 0&&h.showCloseIcon?(u=p.labels)===null||u===void 0?void 0:u.close:void 0,minimise:(c=(m=p.labels)===null||m===void 0?void 0:m.minimise)!==null&&c!==void 0?c:void 0},p.header&&(this._header=Mn(Mn({},this._header),p.header)),t.header&&(this._header=Mn(Mn({},this._header),t.header)),t.content&&t.content[0]&&t.content[0].header&&(this._header=Mn(Mn({},this._header),t.content[0].header)),this.header=new Vt(e,this),this.element.append(this.header.element),this.element.append(this.childElementContainer),this._setupHeaderPosition(),this._$validateClosability()}setSize(){var e,t,n,r,a,s=this._header.show&&(e=(t=this.layoutManager.config.dimensions)===null||t===void 0?void 0:t.headerHeight)!==null&&e!==void 0?e:0,o=((n=this.element.width())!==null&&n!==void 0?n:0)-(this._sided?s:0),d=((r=this.element.height())!==null&&r!==void 0?r:0)-(this._sided?0:s);for(this.childElementContainer.width(o),this.childElementContainer.height(d),a=0;a<this.contentItems.length;a++)this.contentItems[a].element.width(o).height(d);this.emit("resize"),this.emitBubblingEvent("stateChanged")}_$init(){if(this.isInitialised!==!0){this.header._attachWheelListener(),super._$init();for(var e=0;e<this.contentItems.length;e++)this.header.createTab(this.contentItems[e]),this.contentItems[e]._$hide();if(this.contentItems.length>0){var t=this.contentItems[this.config.activeItemIndex||0];if(!t)throw new Error("Configured activeItemIndex out of bounds");this.setActiveContentItem(t)}}}setActiveContentItem(e){if(this.contentItems.indexOf(e)===-1)throw new Error("contentItem is not a child of this stack");this._activeContentItem!==null&&this._activeContentItem._$hide(),this._activeContentItem=e,this.header.setActiveContentItem(e),e._$show(),this.emit("activeContentItemChanged",e),this.layoutManager.emit("activeContentItemChanged",e),this.emitBubblingEvent("stateChanged")}getActiveContentItem(){return this.header.activeContentItem}addChild(e,t){e=this.layoutManager._$normalizeContentItem(e,this),super.addChild(e,t),this.childElementContainer.append(e.element),this.header.createTab(e,t),this.setActiveContentItem(e),this.callDownwards("setSize"),this._$validateClosability(),this.emitBubblingEvent("stateChanged")}removeChild(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=this.contentItems.indexOf(e);super.removeChild(e,t),this.header.removeTab(e),this.header.activeContentItem===e&&(this.contentItems.length>0?this.setActiveContentItem(this.contentItems[Math.max(n-1,0)]):this._activeContentItem=null),this._$validateClosability(),this.emitBubblingEvent("stateChanged")}_$validateClosability(){for(var e=this.header._isClosable(),t=0,n=this.contentItems.length;t<n;t++){var r;if(!e)break;e=(r=this.contentItems[t].config.isClosable)!==null&&r!==void 0?r:!1}this.header._$setClosable(e)}_$destroy(){Le.prototype._$destroy.call(this),this.header._$destroy()}_$onDrop(e){if(this._dropSegment==="header"){this._resetHeaderDropZone(),this.addChild(e,this._dropIndex);return}if(this._dropSegment==="body"){this.addChild(e);return}var t=this._dropSegment==="top"||this._dropSegment==="bottom",n=this._dropSegment==="left"||this._dropSegment==="right",r=this._dropSegment==="top"||this._dropSegment==="left",a=t&&this.parent.isColumn||n&&this.parent.isRow,s=t?"column":"row",o=t?"height":"width";if(it(e)){var d=this.layoutManager.createContentItem({type:"stack",header:e.config.header||{}},this);d._$init(),d.addChild(e),e=d}if(a){var h,u=this.parent.contentItems.indexOf(this);this.parent.addChild(e,r?u:u+1,!0),this.config[o]=((h=this.config[o])!==null&&h!==void 0?h:0)*.5,e.config[o]=this.config[o],this.parent.callDownwards("setSize")}else{var c=this.layoutManager.createContentItem({type:s},this);this.parent.replaceChild(this,c),c.addChild(e,r?0:void 0,!0),c.addChild(this,r?void 0:0,!0),this.config[o]=50,e.config[o]=50,c.callDownwards("setSize")}}_$highlightDropZone(e,t){if(this._contentAreaDimensions)for(var[n,r]of Object.entries(this._contentAreaDimensions)){var a=r.hoverArea;if(a.x1<e&&a.x2>e&&a.y1<t&&a.y2>t){n==="header"?(this._dropSegment="header",this._highlightHeaderDropZone(e)):(this._resetHeaderDropZone(),this._highlightBodyDropZone(n));return}}}_$getArea(){if(this.element.is(":visible")===!1)return null;var e=super._$getArea(this.header.element),t=super._$getArea(this.childElementContainer);if(e==null||t==null)return null;var n=t.x2-t.x1,r=t.y2-t.y1;return this._contentAreaDimensions={header:{hoverArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},highlightArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2}}},this._activeContentItem&&this._activeContentItem.isComponent===!1?e:this.contentItems.length===0?(this._contentAreaDimensions.body={hoverArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2}},super._$getArea(this.element)):(this._contentAreaDimensions.left={hoverArea:{x1:t.x1,y1:t.y1,x2:t.x1+n*.25,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x1+n*.5,y2:t.y2}},this._contentAreaDimensions.top={hoverArea:{x1:t.x1+n*.25,y1:t.y1,x2:t.x1+n*.75,y2:t.y1+r*.5},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y1+r*.5}},this._contentAreaDimensions.right={hoverArea:{x1:t.x1+n*.75,y1:t.y1,x2:t.x2,y2:t.y2},highlightArea:{x1:t.x1+n*.5,y1:t.y1,x2:t.x2,y2:t.y2}},this._contentAreaDimensions.bottom={hoverArea:{x1:t.x1+n*.25,y1:t.y1+r*.5,x2:t.x1+n*.75,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1+r*.5,x2:t.x2,y2:t.y2}},super._$getArea(this.element))}_highlightHeaderDropZone(e){var t,n,r,a,s,o,d,h,u,c,m,p,v,g,b,C,w=this.header.tabs.length;if(w===0){var S,y,E,M,O,x,N,W,q=this.header.element.offset();(S=this.layoutManager.dropTargetIndicator)===null||S===void 0||S.highlightArea({x1:(y=q?.left)!==null&&y!==void 0?y:0,x2:((E=q?.left)!==null&&E!==void 0?E:0)+100,y1:(M=(O=this.header.element.offset())===null||O===void 0?void 0:O.top)!==null&&M!==void 0?M:0,y2:((x=(N=this.header.element.offset())===null||N===void 0?void 0:N.top)!==null&&x!==void 0?x:0)+((W=this.header.element.innerHeight())!==null&&W!==void 0?W:0)});return}var k=this.header.tabsContainer,A=(t=k.get(0))===null||t===void 0?void 0:t.getBoundingClientRect(),U=(n=this.layoutManager.tabDropPlaceholder.get(0))===null||n===void 0?void 0:n.getBoundingClientRect();if(!(!A||!U)){e<A.left?e=A.left+1:e>A.right&&(e=A.right-1);var j,H;if(!(U.left<e&&e<U.right)){for(var K=0;K<w;K++){var de;if(j=this.header.tabs[K].element,H=(de=j.get(0))===null||de===void 0?void 0:de.getBoundingClientRect(),H&&H.left<e&&e<H.right){this._dropIndex=K;break}}if(j&&H&&e<H.left+H.width*.5)j.before(this.layoutManager.tabDropPlaceholder);else if(j){var ge;this._dropIndex=Math.min(((ge=this._dropIndex)!==null&&ge!==void 0?ge:0)+1,w),j.after(this.layoutManager.tabDropPlaceholder)}}var be=(r=(a=this.layoutManager.tabDropPlaceholder.offset())===null||a===void 0?void 0:a.left)!==null&&r!==void 0?r:0;be=Math.max(be,(s=(o=this.header.tabsContainer.offset())===null||o===void 0?void 0:o.left)!==null&&s!==void 0?s:0);var T=be+((d=this.layoutManager.tabDropPlaceholder.width())!==null&&d!==void 0?d:0);T=Math.min(T,((h=(u=this.header.tabsContainer.offset())===null||u===void 0?void 0:u.left)!==null&&h!==void 0?h:0)+((c=this.header.tabsContainer.innerWidth())!==null&&c!==void 0?c:0)),(m=this.layoutManager.dropTargetIndicator)===null||m===void 0||m.highlightArea({x1:be,x2:T,y1:(p=(v=this.header.element.offset())===null||v===void 0?void 0:v.top)!==null&&p!==void 0?p:0,y2:((g=(b=this.header.element.offset())===null||b===void 0?void 0:b.top)!==null&&g!==void 0?g:0)+((C=this.header.element.innerHeight())!==null&&C!==void 0?C:0)})}}_resetHeaderDropZone(){this.layoutManager.tabDropPlaceholder.remove()}_setupHeaderPosition(){var e=["right","left","bottom"].some(n=>n===this._header.show)?this._header.show:void 0;if(this.header.element.toggle(!!this._header.show),!!e&&(this._side=e,this._sided=["right","left"].indexOf(this._side.toString())>=0,this.element.removeClass("lm_left lm_right lm_bottom"),this._side&&this.element.addClass("lm_"+this._side),this.element.find(".lm_header").length&&this.childElementContainer)){var t=["right","bottom"].indexOf(this._side.toString())>=0?"before":"after";this.header.element[t](this.childElementContainer),this.callDownwards("setSize")}}_highlightBodyDropZone(e){var t,n,r=(t=this._contentAreaDimensions)===null||t===void 0||(n=t[e])===null||n===void 0?void 0:n.highlightArea;if(r){var a;(a=this.layoutManager.dropTargetIndicator)===null||a===void 0||a.highlightArea(r)}this._dropSegment=e}}const wv=Object.freeze(Object.defineProperty({__proto__:null,AbstractContentItem:Le,Component:wh,ContentItem:Le,Root:Ra,RowOrColumn:Ir,Stack:ja,isComponent:it,isRoot:yh,isStack:xi},Symbol.toStringTag,{value:"Module"}));function Ut(i,e,t){return e=Ev(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ev(i){var e=Pv(i,"string");return typeof e=="symbol"?e:String(e)}function Pv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Vi{constructor(e,t){var n;Ut(this,"header",void 0),Ut(this,"contentItem",void 0),Ut(this,"element",V(Vi._template)),Ut(this,"titleElement",void 0),Ut(this,"closeElement",void 0),Ut(this,"isActive",!1),Ut(this,"_layoutManager",void 0),Ut(this,"_dragListener",void 0),this.header=e,this.contentItem=t,this.titleElement=this.element.find(".lm_title"),this.closeElement=this.element.find(".lm_close_tab"),this.closeElement[t.config.isClosable?"show":"hide"](),this.setTitle(t.config.title),this.contentItem.on("titleChanged",this.setTitle,this),this._layoutManager=this.contentItem.layoutManager,(n=this._layoutManager.config.settings)!==null&&n!==void 0&&n.reorderEnabled&&t.config.reorderEnabled&&(this._dragListener=new Ui(this.element),this._dragListener.on("dragStart",this._onDragStart,this),this.contentItem.on("destroy",this._dragListener.destroy,this._dragListener)),this._onTabClick=this._onTabClick.bind(this),this._onCloseClick=this._onCloseClick.bind(this),this._onTabContentFocusIn=this._onTabContentFocusIn.bind(this),this._onTabContentFocusOut=this._onTabContentFocusOut.bind(this),this.element.on("click",this._onTabClick),this.element.on("auxclick",this._onTabClick),this.contentItem.config.isClosable?(this.closeElement.on("click",this._onCloseClick),this.closeElement.on("mousedown",this._onCloseMousedown)):this.closeElement.remove(),this.contentItem.tab=this,this.contentItem.emit("tab",this),this.contentItem.layoutManager.emit("tabCreated",this),it(this.contentItem)&&(this.contentItem.container._contentElement.on("focusin",this._onTabContentFocusIn).on("focusout",this._onTabContentFocusOut),this.contentItem.container.tab=this,this.contentItem.container.emit("tab",this))}setTitle(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";this.titleElement.html(e)}setActive(e){e!==this.isActive&&(this.isActive=e,e?this.element.addClass("lm_active"):this.element.removeClass("lm_active"))}_$destroy(){this.element.off("click",this._onTabClick),this.element.off("auxclick",this._onTabClick),this.closeElement.off("click",this._onCloseClick),it(this.contentItem)&&(this.contentItem.container._contentElement.off(),this.contentItem.container._contentElement[0].removeEventListener("click",this._onTabContentFocusIn,!0)),this._dragListener&&(this.contentItem.off("destroy",this._dragListener.destroy,this._dragListener),this._dragListener.off("dragStart",this._onDragStart),this._dragListener=void 0),this.element.remove()}_onDragStart(e,t){var n;(n=this.contentItem.parent)!==null&&n!==void 0&&n.isMaximised&&this.contentItem.parent.toggleMaximise(),this._dragListener&&new In(e,t,this._dragListener,this._layoutManager,this.contentItem,this.header.parent)}_onTabContentFocusIn(){V(".lm_focusin",this._layoutManager.root.element).removeClass("lm_focusin"),this.element.addClass("lm_focusin")}_onTabContentFocusOut(){it(this.contentItem)&&!this.contentItem.container._contentElement[0].contains(document.activeElement)&&this.element.removeClass("lm_focusin")}_onTabClick(e){if(!e||e.button===0){var t,n=this.header.parent.getActiveContentItem();this.contentItem!==n&&it(this.contentItem)?this.header.parent.setActiveContentItem(this.contentItem):it(this.contentItem)&&!this.contentItem.container._contentElement[0].contains(document.activeElement)&&this.contentItem.container._contentElement.focus(),it(this.contentItem)&&this.contentItem.container.emit("tabClicked",e),this.header._hideAdditionalTabsDropdown(),(t=this.element.get(0))===null||t===void 0||t.scrollIntoView({inline:"nearest"})}else e.button===1&&this.contentItem.config.isClosable&&this._onCloseClick(e)}_onCloseClick(e){e.stopPropagation(),it(this.contentItem)?this.contentItem.container.close():this.header.parent.removeChild(this.contentItem)}_onCloseMousedown(e){e.stopPropagation()}}Ut(Vi,"_template",['<li class="lm_tab">','<span class="lm_title_before"></span>','<span class="lm_title"></span>','<div class="lm_close_tab" aria-label="Close tab"></div>',"</li>"].join(""));function ne(i,e,t){return e=_v(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _v(i){var e=Tv(i,"string");return typeof e=="symbol"?e:String(e)}function Tv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Vt extends Ot{constructor(e,t){var n,r;super(),ne(this,"layoutManager",void 0),ne(this,"element",V(Vt._template)),ne(this,"tabsContainer",void 0),ne(this,"tabDropdownContainer",void 0),ne(this,"tabDropdownSearch",void 0),ne(this,"tabDropdownList",null),ne(this,"controlsContainer",void 0),ne(this,"parent",void 0),ne(this,"tabs",[]),ne(this,"activeContentItem",null),ne(this,"closeButton",null),ne(this,"tabDropdownButton",null),ne(this,"tabNextButton",V(Vt._nextButtonTemplate)),ne(this,"tabPreviousButton",V(Vt._previousButtonTemplate)),ne(this,"holdTimer",null),ne(this,"rAF",null),ne(this,"CLICK_TIMEOUT",500),ne(this,"START_SPEED",.01),ne(this,"ACCELERATION",5e-4),ne(this,"PADDING",10),ne(this,"SCROLL_LEFT","left"),ne(this,"SCROLL_RIGHT","right"),ne(this,"isDraggingTab",!1),ne(this,"isOverflowing",!1),ne(this,"isDropdownShown",!1),ne(this,"dropdownKeyIndex",0),ne(this,"_lastVisibleTabIndex",-1),ne(this,"_tabControlOffset",void 0),this.layoutManager=e,(n=this.layoutManager.config.settings)!==null&&n!==void 0&&n.selectionEnabled&&(this.element.addClass("lm_selectable"),this.element.on("click",this._onHeaderClick.bind(this))),this.tabsContainer=this.element.find(".lm_tabs"),this.tabDropdownContainer=this.element.find(".lm_tabdropdown_list"),this.tabDropdownContainer.hide(),this.tabDropdownSearch=this.element.find(".lm_tabdropdown_search input"),this._handleFilterInput=this._handleFilterInput.bind(this),this._handleFilterKeydown=this._handleFilterKeydown.bind(this),this.tabDropdownSearch.on("input",this._handleFilterInput),this.tabDropdownSearch.on("keydown",this._handleFilterKeydown),this.controlsContainer=this.element.find(".lm_controls"),this.parent=t,this.parent.on("resize",this._updateTabSizes,this),this._handleItemPickedUp=this._handleItemPickedUp.bind(this),this._handleItemDropped=this._handleItemDropped.bind(this),this._handleNextMouseEnter=this._handleNextMouseEnter.bind(this),this._handleNextMouseLeave=this._handleNextMouseLeave.bind(this),this._handlePreviousMouseEnter=this._handlePreviousMouseEnter.bind(this),this._handlePreviousMouseLeave=this._handlePreviousMouseLeave.bind(this),this._handleScrollRepeat=this._handleScrollRepeat.bind(this),this._handleNextButtonMouseDown=this._handleNextButtonMouseDown.bind(this),this._handlePreviousButtonMouseDown=this._handlePreviousButtonMouseDown.bind(this),this._handleScrollButtonMouseDown=this._handleScrollButtonMouseDown.bind(this),this._handleScrollButtonMouseUp=this._handleScrollButtonMouseUp.bind(this),this._handleScrollEvent=this._handleScrollEvent.bind(this),this.tabNextButton.on("mousedown",this._handleNextButtonMouseDown),this.tabPreviousButton.on("mousedown",this._handlePreviousButtonMouseDown),this.tabsContainer.on("scroll",this._handleScrollEvent),this.layoutManager.on("itemPickedUp",this._handleItemPickedUp),this.layoutManager.on("itemDropped",this._handleItemDropped),this.tabsContainer.before(this.tabPreviousButton),this.tabPreviousButton=this.tabPreviousButton.find(">:first-child"),this.tabPreviousButton.hide(),this._showAdditionalTabsDropdown=this._showAdditionalTabsDropdown.bind(this),this._hideAdditionalTabsDropdown=this._hideAdditionalTabsDropdown.bind(this),this._tabControlOffset=(r=this.layoutManager.config.settings)===null||r===void 0?void 0:r.tabControlOffset,this._createControls()}createTab(e,t){for(var n=0;n<this.tabs.length;n++)if(this.tabs[n].contentItem===e)return;var r=new Vi(this,e);if(this.tabs.length===0){this.tabs.push(r),this.tabsContainer.append(r.element);return}t===void 0&&(t=this.tabs.length),t>0?this.tabs[t-1].element.after(r.element):this.tabs[0].element.before(r.element),this.tabs.splice(t,0,r),this._updateTabSizes()}removeTab(e){for(var t=0;t<this.tabs.length;t++)if(this.tabs[t].contentItem===e){this.tabs[t]._$destroy(),this.tabs.splice(t,1);return}throw new Error("contentItem is not controlled by this header")}setActiveContentItem(e){for(var t,n,r,a=0;a<this.tabs.length;a++)r=this.tabs[a].contentItem===e,this.tabs[a].setActive(r),r===!0&&(this.activeContentItem=e,this.parent.config.activeItemIndex=a);(t=this.tabs[(n=this.parent.config.activeItemIndex)!==null&&n!==void 0?n:0].element.get(0))===null||t===void 0||t.scrollIntoView({inline:"nearest"}),this._hideAdditionalTabsDropdown(),this._updateTabSizes(),this.parent.emitBubblingEvent("stateChanged")}position(e){var t=this.parent._header.show;return t&&!this.parent._side&&(t="top"),e!==void 0&&this.parent._header.show!==e&&(this.parent._header.show=e,this.parent._setupHeaderPosition()),t}_attachWheelListener(){var e;(e=this.tabsContainer.get(0))===null||e===void 0||e.addEventListener("wheel",this._handleWheelEvent,{passive:!0})}_detachWheelListener(){var e;(e=this.tabsContainer.get(0))===null||e===void 0||e.removeEventListener("wheel",this._handleWheelEvent)}_handleWheelEvent(e){var t=e.currentTarget;if(t instanceof HTMLElement){var n=Math.abs(e.deltaY)>Math.abs(e.deltaX)?e.deltaY:e.deltaX;if(e.deltaMode===WheelEvent.DOM_DELTA_PAGE){var r;n*=(r=this.tabsContainer.innerWidth())!==null&&r!==void 0?r:1}else e.deltaMode===WheelEvent.DOM_DELTA_LINE&&(n*=100/3);t.scrollLeft+=Math.round(n)}}_handleScrollEvent(){this._checkScrollArrows()}_handleItemPickedUp(){this.isDraggingTab=!0,this.isDropdownShown&&this._hideAdditionalTabsDropdown(),this.controlsContainer.on("mouseenter",this._handleNextMouseEnter),this.tabPreviousButton.on("mouseenter",this._handlePreviousMouseEnter)}_handleItemDropped(){var e;this.isDraggingTab=!1,window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.controlsContainer.off("mouseenter",this._handleNextMouseEnter),this.controlsContainer.off("mouseleave",this._handleNextMouseLeave),this.tabPreviousButton.off("mouseenter",this._handlePreviousMouseEnter),this.tabPreviousButton.off("mouseleave",this._handlePreviousMouseLeave)}_handleNextMouseEnter(){var e;this.controlsContainer.on("mouseleave",this._handleNextMouseLeave),this._handleScrollRepeat(this.SCROLL_RIGHT,(e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)}_handlePreviousMouseEnter(){var e;this.tabPreviousButton.on("mouseleave",this._handlePreviousMouseLeave),this._handleScrollRepeat(this.SCROLL_LEFT,(e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)}_handleNextMouseLeave(){var e;window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.controlsContainer.off("mouseleave",this._handleNextMouseLeave)}_handlePreviousMouseLeave(){var e;window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.tabPreviousButton.off("mouseleave",this._handlePreviousMouseLeave)}_handleNextButtonMouseDown(){for(var e,t=0;t<this.tabs.length;t+=1){var n,r,a,s,o;if(((n=(r=this.tabs[t].element.get(0))===null||r===void 0?void 0:r.offsetLeft)!==null&&n!==void 0?n:0)>((a=(s=this.tabsContainer.get(0))===null||s===void 0?void 0:s.offsetWidth)!==null&&a!==void 0?a:0)+((o=this.tabsContainer.scrollLeft())!==null&&o!==void 0?o:0)){e=this.tabs[t].element.get(0);break}}if(e)e.scrollIntoView({behavior:"smooth",inline:"nearest"}),this._handleScrollButtonMouseDown(this.SCROLL_RIGHT);else{var d=this.tabsContainer.get(0);if(d){var h,u;d.scrollLeft=(h=(u=this.tabsContainer.get(0))===null||u===void 0?void 0:u.scrollWidth)!==null&&h!==void 0?h:0}}}_handlePreviousButtonMouseDown(){for(var e,t=this.tabs.length-1;t>=0;t-=1){var n,r,a;if(((n=(r=this.tabs[t].element.get(0))===null||r===void 0?void 0:r.offsetLeft)!==null&&n!==void 0?n:0)<((a=this.tabsContainer.scrollLeft())!==null&&a!==void 0?a:0)){e=this.tabs[t].element.get(0);break}}if(e)e.scrollIntoView({behavior:"smooth",inline:"start"}),this._handleScrollButtonMouseDown(this.SCROLL_LEFT);else{var s=this.tabsContainer.get(0);s&&(s.scrollLeft=0)}}_handleScrollButtonMouseDown(e){this.holdTimer=window.setTimeout(()=>{var t;this._handleScrollRepeat(e,(t=this.tabsContainer.scrollLeft())!==null&&t!==void 0?t:0,100)},this.CLICK_TIMEOUT),window.addEventListener("mouseup",this._handleScrollButtonMouseUp)}_handleScrollButtonMouseUp(){var e,t;clearTimeout((e=this.holdTimer)!==null&&e!==void 0?e:-1),this.holdTimer=null,cancelAnimationFrame((t=this.rAF)!==null&&t!==void 0?t:-1),this.rAF=null,window.removeEventListener("mouseup",this._handleScrollButtonMouseUp)}_checkScrollArrows(){var e,t,n;this.tabsContainer.scrollLeft()===0?this.tabPreviousButton.first().prop("disabled",!0):((e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)+((t=this.tabsContainer.innerWidth())!==null&&t!==void 0?t:0)===((n=this.tabsContainer.get(0))===null||n===void 0?void 0:n.scrollWidth)?this.tabNextButton.prop("disabled",!0):(this.tabNextButton.prop("disabled",!1),this.tabPreviousButton.first().prop("disabled",!1))}_handleScrollRepeat(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3?arguments[3]:void 0,s=this.tabsContainer.get(0);if(s){var o=s.getBoundingClientRect();if(e===this.SCROLL_LEFT){if(this.tabsContainer.scrollLeft(t-r),this.isDraggingTab&&this.parent._highlightHeaderDropZone(o.left-1),this.tabsContainer.scrollLeft()===0){this._checkScrollArrows();return}}else if(e===this.SCROLL_RIGHT){var d,h;if(this.tabsContainer.scrollLeft(t+r),this.isDraggingTab&&this.parent._highlightHeaderDropZone(o.right+1),((d=this.tabsContainer.scrollLeft())!==null&&d!==void 0?d:0)+((h=this.tabsContainer.innerWidth())!==null&&h!==void 0?h:0)===s.scrollWidth){this._checkScrollArrows();return}}window.cancelAnimationFrame((n=this.rAF)!==null&&n!==void 0?n:-1),this.rAF=window.requestAnimationFrame(u=>{var c,m,p=a||u,v=u-p,g=this.START_SPEED*v+.5*this.ACCELERATION*(v*v);g=Math.min(g,(c=(m=this.tabsContainer.get(0))===null||m===void 0?void 0:m.scrollWidth)!==null&&c!==void 0?c:1/0),this._handleScrollRepeat(e,t,g,p)})}}_$setClosable(e){return this.closeButton&&this._isClosable()?(this.closeButton.element[e?"show":"hide"](),!0):!1}_$destroy(){this.emit("destroy",this);for(var e=0;e<this.tabs.length;e++)this.tabs[e]._$destroy();this._detachWheelListener(),this._handleItemDropped(),V(document).off("mouseup",this._hideAdditionalTabsDropdown),this.tabDropdownSearch.off("input",this._handleFilterInput),this.tabDropdownSearch.off("keydown",this._handleFilterKeydown),this.element.remove()}_getHeaderSetting(e){if(e in this.parent._header)return this.parent._header[e]}_createControls(){var e,t,n,r,a;if(a=this.layoutManager.config.labels.tabDropdown,this.layoutManager.config.labels.tabNextLabel,this.layoutManager.config.labels.tabPreviousLabel,this.tabDropdownButton=new vi(this,a,"lm_tabdropdown",this._showAdditionalTabsDropdown),this.tabDropdownButton.element.hide(),this.controlsContainer.prepend(this.tabNextButton),this.tabNextButton.hide(),this._getHeaderSetting("popout")&&(t=this._onPopoutClick.bind(this),n=this._getHeaderSetting("popout"),new vi(this,n,"lm_popout",t)),this._getHeaderSetting("maximise")){r=this.parent.toggleMaximise.bind(this.parent);var s=this._getHeaderSetting("maximise"),o=this._getHeaderSetting("minimise"),d=new vi(this,s,"lm_maximise",r);this.parent.on("maximised",function(){d.element.attr("title",o??"")}),this.parent.on("minimised",function(){d.element.attr("title",s??"")})}this._isClosable()&&(e=this.parent.remove.bind(this.parent),n=this._getHeaderSetting("close"),this.closeButton=new vi(this,n,"lm_close",e))}_showAdditionalTabsDropdown(){if(this.isDropdownShown){this._hideAdditionalTabsDropdown();return}this.tabDropdownList=this.tabsContainer.clone(!0).appendTo(this.tabDropdownContainer).children().removeClass("lm_active"),V(document.body).append(this.tabDropdownContainer),this.tabDropdownContainer.show(),this.isDropdownShown=!0,this.element.addClass("lm_dropdown_open"),this.tabDropdownSearch.val("").focus(),this.dropdownKeyIndex=0,this.tabDropdownList.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active"),V(document).on("mousedown",this._hideAdditionalTabsDropdown),this._updateAdditionalTabsDropdown()}_handleFilterKeydown(e){if(e.key==="Escape"){this._hideAdditionalTabsDropdown();return}if(this.dropdownKeyIndex===-1)return;if(e.key==="Enter"||e.key===" "){this._hideAdditionalTabsDropdown(),this.tabs[this.dropdownKeyIndex]._onTabClick();return}function t(o,d,h){if(h==null||h.length<2)return-1;for(var u=(o+d+h.length)%h.length;u!==o;){if(h.eq(u).css("display")!=="none")return u;u=(u+d+h.length)%h.length}return o}if(e.key==="ArrowDown"||e.key==="Tab"&&e.shiftKey===!1){var n,r;e.preventDefault(),(n=this.tabDropdownList)===null||n===void 0||n.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=t(this.dropdownKeyIndex,1,this.tabDropdownList),(r=this.tabDropdownList)===null||r===void 0||r.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}else if(e.key==="ArrowUp"||e.key==="Tab"){var a,s;e.preventDefault(),(a=this.tabDropdownList)===null||a===void 0||a.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=t(this.dropdownKeyIndex,-1,this.tabDropdownList),(s=this.tabDropdownList)===null||s===void 0||s.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}}_handleFilterInput(e){if(this.tabDropdownList!=null){this.tabDropdownList.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=-1;for(var t=0;t<this.tabDropdownList.length;t++){var n,r;((n=(r=this.tabs[t].contentItem.config.title)===null||r===void 0?void 0:r.toLowerCase().indexOf(e.target.value.toLowerCase()))!==null&&n!==void 0?n:-1)!==-1?(this.tabDropdownList.eq(t).css("display",""),this.dropdownKeyIndex===-1&&(this.dropdownKeyIndex=t)):this.tabDropdownList.eq(t).css("display","none")}this.dropdownKeyIndex!==-1&&this.tabDropdownList.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}}_hideAdditionalTabsDropdown(e){var t,n;this.isDropdownShown&&(e&&(t=this.tabDropdownContainer.get(0))!==null&&t!==void 0&&t.contains(e.target)||e&&((n=this.tabDropdownButton)===null||n===void 0?void 0:n.element.get(0))===e.target||(this.element.removeClass("lm_dropdown_open"),this.tabDropdownContainer.hide(),this.isDropdownShown=!1,this.element.append(this.tabDropdownContainer),this.tabDropdownContainer.find(".lm_tabs").remove(),V(document).off("mousedown",this._hideAdditionalTabsDropdown)))}_updateAdditionalTabsDropdown(){var e,t,n,r;if(this.isDropdownShown&&!(!this.tabDropdownList||this.tabDropdownList.length==0)){var a=(e=(t=this.tabDropdownContainer.get(0))===null||t===void 0?void 0:t.scrollHeight)!==null&&e!==void 0?e:0;if(a!==0){var s=this.tabDropdownContainer[0].getBoundingClientRect(),o=(n=V(window).height())!==null&&n!==void 0?n:0,d=(r=V(window).width())!==null&&r!==void 0?r:0;if(this.tabDropdownButton){var h=this.tabDropdownButton.element[0].getBoundingClientRect(),u=a<o-h.bottom,c=!u&&h.bottom>o*.6,m=Math.min(h.left+(c?h.width:0),d-s.width-this.PADDING),p=c?Math.max(h.top-a,this.PADDING):h.bottom,v=o-p-this.PADDING;this.tabDropdownContainer.css({"max-height":v,top:p,left:m})}}}}_isClosable(){return!!(this.parent.config.isClosable&&this.layoutManager.config.settings.showCloseIcon)}_onPopoutClick(){if(this.layoutManager.config.settings.popoutWholeStack===!0)this.parent.popout();else{var e;(e=this.activeContentItem)===null||e===void 0||e.popout()}}_onHeaderClick(e){e.target===this.element[0]&&this.parent.select()}_updateTabSizes(){if(this.tabs.length!==0){var e=this.tabsContainer.get(0);if(this.isDropdownShown&&this._updateAdditionalTabsDropdown(),!!e){if(!this.isOverflowing&&e.scrollWidth>e.clientWidth){var t;(t=this.tabDropdownButton)===null||t===void 0||t.element.show(),this.tabNextButton.show(),this.tabPreviousButton.show(),this.isOverflowing=!0}else if(this.isOverflowing&&e.scrollWidth<=e.clientWidth){var n;(n=this.tabDropdownButton)===null||n===void 0||n.element.hide(),this.tabNextButton.hide(),this.tabPreviousButton.hide(),this.isOverflowing=!1}this.isOverflowing&&this._checkScrollArrows()}}}}ne(Vt,"_template",['<div class="lm_header">','<ul class="lm_tabs"></ul>','<ul class="lm_controls"></ul>','<ul class="lm_tabdropdown_list">','<li class="lm_tabdropdown_search"><input type="text" placeholder="Find tab..."></li>',"</ul>","</div>"].join(""));ne(Vt,"_previousButtonTemplate",['<ul class="lm_controls">','<li class="lm_tabpreviousbutton"></li>',"</ul>"].join(""));ne(Vt,"_nextButtonTemplate",['<li class="lm_tabnextbutton"></li>'].join(""));function oi(i,e,t){return e=Ov(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ov(i){var e=Dv(i,"string");return typeof e=="symbol"?e:String(e)}function Dv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Eh{constructor(e,t,n){oi(this,"_isVertical",void 0),oi(this,"_size",void 0),oi(this,"_grabSize",void 0),oi(this,"_dragListener",void 0),oi(this,"element",void 0),this._isVertical=e,this._size=t,this._grabSize=n<t?t:n,this.element=this._createElement(),this._dragListener=new Ui(this.element)}on(e,t,n){var r;(r=this._dragListener)===null||r===void 0||r.on(e,t,n)}_$destroy(){var e;(e=this._dragListener)===null||e===void 0||e.destroy(),this._dragListener=null,this.element.remove()}_createElement(){var e=V('<div class="lm_drag_handle"></div>'),t=V('<div class="lm_splitter"></div>');t.append(e);var n=this._grabSize-this._size,r=n/2;return this._isVertical?(e.css("top",-r),e.css("height",this._size+n),t.addClass("lm_vertical"),t.height(this._size)):(e.css("left",-r),e.css("width",this._size+n),t.addClass("lm_horizontal"),t.width(this._size)),t}}const Iv=Object.freeze(Object.defineProperty({__proto__:null,BrowserPopout:gh,DragProxy:In,DragSource:bh,DragSourceFromEvent:Ch,DropTargetIndicator:Hi,Header:Vt,HeaderButton:vi,Splitter:Eh,Tab:Vi},Symbol.toStringTag,{value:"Module"}));var xv={config:Of,container:Lf,controls:Iv,errors:uv,items:wv,utils:qf};const Nv=xv;function Fo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ke(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fo(Object(t),!0).forEach(function(n){ae(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Fo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ae(i,e,t){return e=Lv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Lv(i){var e=Mv(i,"string");return typeof e=="symbol"?e:String(e)}function Mv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ph extends Ot{static minifyConfig(e){return ms(e)}static unminifyConfig(e){return La(e)}constructor(e,t){super(),ae(this,"isInitialised",!1),ae(this,"_isFullPage",!1),ae(this,"_resizeTimeoutId",void 0),ae(this,"_components",{"lm-react-component":fh}),ae(this,"_fallbackComponent",void 0),ae(this,"_itemAreas",[]),ae(this,"_maximisedItem",null),ae(this,"_maximisePlaceholder",V('<div class="lm_maximise_place"></div>')),ae(this,"_creationTimeoutPassed",!1),ae(this,"_subWindowsCreated",!1),ae(this,"_dragSources",[]),ae(this,"_updatingColumnsResponsive",!1),ae(this,"_firstLoad",!0),ae(this,"_reactChildMap",new Map),ae(this,"_reactChildren",null),ae(this,"width",null),ae(this,"height",null),ae(this,"root",void 0),ae(this,"openPopouts",[]),ae(this,"selectedItem",null),ae(this,"isSubWindow",!1),ae(this,"eventHub",new vh(this)),ae(this,"config",void 0),ae(this,"container",void 0),ae(this,"_originalContainer",void 0),ae(this,"dropTargetIndicator",null),ae(this,"tabDropPlaceholder",V('<div class="lm_drop_tab_placeholder"></div>')),ae(this,"_typeToItem",void 0),this._onResize=this._onResize.bind(this),this._onUnload=this._onUnload.bind(this),this._windowBlur=this._windowBlur.bind(this),this._windowFocus=this._windowFocus.bind(this),this.config=this._createConfig(e),this._originalContainer=t,this.container=this._getContainer(),this.isSubWindow&&V("body").css("visibility","hidden"),this._typeToItem={column:Ir.bind(this,!0),row:Ir.bind(this,!1),stack:ja,component:wh}}registerComponent(e,t){if(typeof t!="function"&&(t==null||t.render==null||typeof t.render!="function"))throw new Error("Please register a constructor function");if(this._components[e]!==void 0)throw new Error("Component "+e+" is already registered");this._components[e]=t;var n=()=>{if(this._components[e]===void 0)throw new Error("Component "+e+" is not registered");delete this._components[e]};return n}setFallbackComponent(e){this._fallbackComponent=e}toConfig(e){if(this.isInitialised===!1)throw new Error("Can't create config, layout not yet initialised");if(e&&!(e instanceof Le))throw new Error("Root must be a ContentItem");var t={settings:Ke({},this.config.settings),dimensions:Ke({},this.config.dimensions),labels:Ke({},this.config.labels),content:[]},n=function a(s,o){for(var d in o.config)d!=="content"&&(s[d]=o.config[d]);if(s.componentName==="lm-react-component"&&(s.type="react-component"),o.contentItems.length){s.content=[];for(var h=0;h<o.contentItems.length;h++)s.content[h]={},a(s.content[h],o.contentItems[h])}};e?n(t,{contentItems:[e]}):n(t,this.root),this._$reconcilePopoutWindows(),t.openPopouts=[];for(var r=0;r<this.openPopouts.length;r++)t.openPopouts.push(this.openPopouts[r].toConfig());return t.maximisedItemId=this._maximisedItem?"__glMaximised":void 0,t}getComponent(e){return this._components[e]}getFallbackComponent(){return this._fallbackComponent}init(){if(this._subWindowsCreated===!1&&(this._createSubWindows(),this._subWindowsCreated=!0),document.readyState==="loading"||document.body===null){V(document).ready(this.init.bind(this));return}if(this.isSubWindow===!0&&this._creationTimeoutPassed===!1){setTimeout(this.init.bind(this),7),this._creationTimeoutPassed=!0;return}this.isSubWindow===!0&&this._adjustToWindowMode(),this._setContainer(),this.dropTargetIndicator=new Hi,this.updateSize(),this._create(this.config),this._bindEvents(),this.isInitialised=!0,this._adjustColumnsResponsive(),this.emit("initialised")}addReactChild(e,t){this._reactChildMap.set(e,t),this._reactChildren=[...this._reactChildMap.values()],this.emit("reactChildrenChanged")}removeReactChild(e,t){var n=this._reactChildMap.get(e);n===t&&(this._reactChildMap.delete(e),this._reactChildren=[...this._reactChildMap.values()],this.emit("reactChildrenChanged"))}getReactChildren(){return this._reactChildren}updateSize(e,t){var n,r;if(this.width=(n=e??this.container.width())!==null&&n!==void 0?n:0,this.height=(r=t??this.container.height())!==null&&r!==void 0?r:0,this.isInitialised===!0){if(this.root.callDownwards("setSize",[this.width,this.height]),this._maximisedItem){var a,s;this._maximisedItem.element.width((a=this.container.width())!==null&&a!==void 0?a:0),this._maximisedItem.element.height((s=this.container.height())!==null&&s!==void 0?s:0),this._maximisedItem.callDownwards("setSize")}this._adjustColumnsResponsive()}}destroy(){var e;this.isInitialised===!1||!this.root||(this._onUnload(),V(window).off("resize",this._onResize),V(window).off("unload beforeunload",this._onUnload),V(window).off("blur.lm").off("focus.lm"),this.root.callDownwards("_$destroy",[],!0),this.root.contentItems=[],this.tabDropPlaceholder.remove(),(e=this.dropTargetIndicator)===null||e===void 0||e.destroy(),this.eventHub.destroy(),this._dragSources.forEach(function(t){t._dragListener.destroy()}),this._dragSources=[])}createContentItem(e,t){var n,r;if(typeof e.type!="string")throw new yn("Missing parameter 'type'",e);if(e.type==="react-component"&&(e.type="component",e.componentName="lm-react-component"),!this._typeToItem[e.type])throw n="Unknown type '"+e.type+"'. Valid types are "+Object.keys(this._typeToItem).join(","),new yn(n);return e.type==="component"&&!(t instanceof ja)&&t&&!(this.isSubWindow===!0&&t instanceof Ra)&&(e={type:"stack",width:e.width,height:e.height,content:[e]}),r=new this._typeToItem[e.type](this,e,t),r}createPopout(e,t,n,r){var a=[],s=e instanceof Le,o=this;if(s){var d;a=this.toConfig(e).content,n=us();for(var h=e.parent,u=e;((c=h)===null||c===void 0?void 0:c.contentItems.length)===1&&!h.isRoot;){var c;u=h,h=h.parent}if((d=h)===null||d===void 0||d.addId(n),r==null||Number.isNaN(r)){var m;r=(m=h)===null||m===void 0?void 0:m.contentItems.indexOf(u)}}else e instanceof Array?a=e:a=[e];if(!t&&s){var p,v,g,b=window.screenX||window.screenLeft,C=window.screenY||window.screenTop,w=(p=e.element.offset())!==null&&p!==void 0?p:{left:0,top:0};t={left:b+w.left,top:C+w.top,width:(v=e.element.width())!==null&&v!==void 0?v:0,height:(g=e.element.height())!==null&&g!==void 0?g:0}}if(!t&&!s&&(t={left:window.screenX||window.screenLeft+20,top:window.screenY||window.screenTop+20,width:500,height:309}),s&&e.remove(),!(!t||!n||r===void 0)){var S=new gh(a,t,n,r,this);return S.on("initialised",function(){o.emit("windowOpened",S)}),S.on("closed",function(){o._$reconcilePopoutWindows()}),this.openPopouts.push(S),S}}createDragSource(e,t){this.config.settings.constrainDragToContainer=!1;var n=new bh(e,t,this);return this._dragSources.push(n),n}createDragSourceFromEvent(e,t){return this.config.settings.constrainDragToContainer=!1,new Ch(e,this,t)}selectItem(e,t){if(this.config.settings.selectionEnabled!==!0)throw new Error("Please set selectionEnabled to true to use this feature");e!==this.selectedItem&&(this.selectedItem!==null&&this.selectedItem.deselect(),e&&t!==!0&&e.select(),this.selectedItem=e,this.emit("selectionChanged",e))}_$maximiseItem(e){var t,n;this._maximisedItem!==null&&this._$minimiseItem(this._maximisedItem),this._maximisedItem=e,this._maximisedItem.addId("__glMaximised"),e.element.addClass("lm_maximised"),e.element.after(this._maximisePlaceholder),this.root.element.prepend(e.element),e.element.width((t=this.container.width())!==null&&t!==void 0?t:0),e.element.height((n=this.container.height())!==null&&n!==void 0?n:0),e.callDownwards("setSize"),this._maximisedItem.emit("maximised"),this.emit("stateChanged")}_$minimiseItem(e){var t;e.element.removeClass("lm_maximised"),e.removeId("__glMaximised"),this._maximisePlaceholder.after(e.element),this._maximisePlaceholder.remove(),(t=e.parent)===null||t===void 0||t.callDownwards("setSize"),this._maximisedItem=null,e.emit("minimised"),this.emit("stateChanged")}_$closeWindow(){window.setTimeout(function(){window.close()},1)}_$getArea(e,t){for(var n=1/0,r=null,a=0;a<this._itemAreas.length;a++){var s=this._itemAreas[a];e>s.x1&&e<s.x2&&t>s.y1&&t<s.y2&&n>s.surface&&(n=s.surface,r=s)}return r}_$createRootItemAreas(){var e=50,t=Ke({},this.root._$getArea()),n=[Ke(Ke({},t),{},{side:"left",x2:t.x1+e}),Ke(Ke({},t),{},{side:"right",x1:t.x2-e}),Ke(Ke({},t),{},{side:"top",y2:t.y1+e}),Ke(Ke({},t),{},{side:"bottom",y1:t.y2-e})];n.forEach(r=>{r.surface=(r.x2-r.x1)*(r.y2-r.y1)}),this._itemAreas.push(...n)}_$calculateItemAreas(){var e=this._getAllContentItems();if(this._itemAreas=[],e.length===1){this._itemAreas.push(this.root._$getArea());return}this._$createRootItemAreas();for(var t=0;t<e.length;t++){var n=e[t];if(xi(n)){var r=n._$getArea();if(r!==null)if(r instanceof Array)this._itemAreas=this._itemAreas.concat(r);else{var a;this._itemAreas.push(r);var s=Ke(Ke({},r),(a=r.contentItem._contentAreaDimensions)===null||a===void 0?void 0:a.header.highlightArea);s.surface=(s.x2-s.x1)*(s.y2-s.y1),this._itemAreas.push(s)}}}}_$normalizeContentItem(e,t){if(!e)throw new Error("No content item defined");if(typeof e=="function"&&(e=e()),e instanceof Le)return e;if(V.isPlainObject(e)&&e.type){var n=this.createContentItem(e,t);return n.callDownwards("_$init"),n}else throw new Error("Invalid contentItem")}_$reconcilePopoutWindows(){for(var e=[],t=0;t<this.openPopouts.length;t++){var n;((n=this.openPopouts[t].getWindow())===null||n===void 0?void 0:n.closed)===!1?e.push(this.openPopouts[t]):this.emit("windowClosed",this.openPopouts[t])}this.openPopouts.length!==e.length&&(this.emit("stateChanged"),this.openPopouts=e)}_getAllContentItems(){var e=[],t=n=>{if(e.push(n),n.contentItems instanceof Array)for(var r=0;r<n.contentItems.length;r++)t(n.contentItems[r])};return t(this.root),e}_bindEvents(){this._isFullPage&&V(window).resize(this._onResize),V(window).on("unload beforeunload",this._onUnload).on("blur.lm",this._windowBlur).on("focus.lm",this._windowFocus)}_windowBlur(){this.root.element.addClass("lm_window_blur")}_windowFocus(){this.root.element.removeClass("lm_window_blur")}_onResize(){clearTimeout(this._resizeTimeoutId),this._resizeTimeoutId=window.setTimeout(this.updateSize.bind(this),100)}_createConfig(e){var t,n=ph("gl-window");n&&(this.isSubWindow=!0,e=JSON.parse(localStorage.getItem(n)||"{}"),e=La(e),localStorage.removeItem(n)),e=V.extend(!0,{},hh,e);var r=function a(s){for(var o in s){var d=s[o];o!=="props"&&typeof d=="object"&&d!=null?a(d):o==="type"&&d==="react-component"&&(s.type="component",s.componentName="lm-react-component")}};return r(e),((t=e.settings)===null||t===void 0?void 0:t.hasHeaders)===!1&&(e.dimensions.headerHeight=0),e}_adjustToWindowMode(){var e,t=V('<div class="lm_popin" title="'+this.config.labels.popin+'"><div class="lm_icon"></div><div class="lm_bg"></div></div>');t.click(()=>{this.emit("popIn")}),document.title=cs((e=this.config.content[0].title)!==null&&e!==void 0?e:""),V("head").append(V("body link, body style, template, .gl_keep")),this.container=V("body").html("").css("visibility","visible").append(t),document.body.offsetHeight,window.__glInstance=this}_createSubWindows(){if(this.config.openPopouts)for(var e=0;e<this.config.openPopouts.length;e++){var t=this.config.openPopouts[e];this.createPopout(t.content,t.dimensions,t.parentId,t.indexInParent)}}_getContainer(){var e=this._originalContainer?V(this._originalContainer):V("body");if(e.length===0)throw new Error("GoldenLayout container not found");if(e.length>1)throw new Error("GoldenLayout more than one container element specified");return e}_setContainer(){var e=this._getContainer();e[0]===document.body&&(this._isFullPage=!0,V("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"})),this.container=e}_create(e){var t;if(!(e.content instanceof Array))throw e.content===void 0?t="Missing setting 'content' on top level of configuration":t="Configuration parameter 'content' must be an array",new yn(t,e);if(e.content.length>1)throw t="Top level content can't contain more then one element.",new yn(t,e);this.root=new Ra(this,{content:e.content},this.container),this.root.callDownwards("_$init"),e.maximisedItemId==="__glMaximised"&&this.root.getItemsById(e.maximisedItemId)[0].toggleMaximise()}_onUnload(){if(this.config.settings.closePopoutsOnUnload===!0)for(var e=0;e<this.openPopouts.length;e++)this.openPopouts[e].close()}_adjustColumnsResponsive(){if(!this._useResponsiveLayout()||this._updatingColumnsResponsive||!this.config.dimensions||!this.config.dimensions.minItemWidth||this.root.contentItems.length===0||!this.root.contentItems[0].isRow){this._firstLoad=!1;return}this._firstLoad=!1;var e=this.root.contentItems[0].contentItems.length;if(!(e<=1)){var t=this.config.dimensions.minItemWidth,n=e*t;if(!(this.width==null||n<=this.width)){this._updatingColumnsResponsive=!0;for(var r=Math.max(Math.floor(this.width/t),1),a=e-r,s=this.root.contentItems[0],o=this._findAllStackContainers()[0],d=0;d<a;d++){var h=s.contentItems[s.contentItems.length-1];this._addChildContentItemsToContainer(o,h)}this._updatingColumnsResponsive=!1}}}_useResponsiveLayout(){return this.config.settings&&(this.config.settings.responsiveMode=="always"||this.config.settings.responsiveMode=="onload"&&this._firstLoad)}_addChildContentItemsToContainer(e,t){t.type==="stack"?t.contentItems.forEach(function(n){e.addChild(n),t.removeChild(n,!0)}):t.contentItems.forEach(n=>{this._addChildContentItemsToContainer(e,n)})}_findAllStackContainers(){var e=[];return this._findAllStackContainersRecursive(e,this.root),e}_findAllStackContainersRecursive(e,t){t.contentItems.forEach(n=>{xi(n)?e.push(n):n.isComponent||this._findAllStackContainersRecursive(e,n)})}}ae(Ph,"__lm",Nv);const _h=Ph,Fv="_lm_dragging_1q18t_1",Rv="_lm_goldenlayout_1q18t_1",jv="_lm_header_1q18t_1",Av="_lm_controls_1q18t_1",kv="_lm_tabpreviousbutton_1q18t_1",$v="_lm_tabnextbutton_1q18t_1",Uv="_lm_tab_1q18t_1",Hv="_lm_active_1q18t_1",Vv="_lm_close_tab_1q18t_1",Bv="_lm_content_1q18t_1",Wv="_lm_dragProxy_1q18t_1",Gv="_lm_dropTargetIndicator_1q18t_1",Kv="_march_1q18t_1",zv="_lm_inner_1q18t_1",qv="_lm_splitter_1q18t_1",Yv="_lm_selectable_1q18t_1",Zv="_lm_tabdropdown_list_1q18t_1",Xv="_lm_title_1q18t_1",Jv="_lm_title_before_1q18t_1",Qv="_lm_selected_1q18t_1",eg="_lm_focusin_1q18t_1",tg="_lm_window_blur_1q18t_1",ng="_lm_popout_1q18t_1",ig="_lm_maximise_1q18t_1",rg="_lm_tabdropdown_1q18t_1",ag="_lm_close_1q18t_1",sg="_lm_tabdropdown_search_1q18t_1",og="_lm_tabs_1q18t_1",lg="_lm_keyboard_active_1q18t_1",dg="_lm_maximised_1q18t_1",hg="_lm_items_1q18t_1",Ro={"tab-height":"28px","drag-border-width":"5px",lm_dragging:Fv,lm_goldenlayout:Rv,lm_header:jv,lm_controls:Av,lm_tabpreviousbutton:kv,lm_tabnextbutton:$v,lm_tab:Uv,lm_active:Hv,lm_close_tab:Vv,lm_content:Bv,lm_dragProxy:Wv,lm_dropTargetIndicator:Gv,march:Kv,lm_inner:zv,lm_splitter:qv,lm_selectable:Yv,lm_tabdropdown_list:Zv,lm_title:Xv,lm_title_before:Jv,lm_selected:Qv,lm_focusin:eg,lm_window_blur:tg,lm_popout:ng,lm_maximise:ig,lm_tabdropdown:rg,lm_close:ag,lm_tabdropdown_search:sg,lm_tabs:og,lm_keyboard_active:lg,lm_maximised:dg,lm_items:hg},jo=Object.freeze({tabHeight:parseInt(Ro["tab-height"],10),dragBorderWidth:parseInt(Ro["drag-border-width"],10)});function Ao(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function kt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ao(Object(t),!0).forEach(function(n){Th(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ao(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Th(i,e,t){return e=ug(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ug(i){var e=cg(i,"string");return typeof e=="symbol"?e:String(e)}function cg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Zt=B.module("LayoutUtils");function Oh(i){return i.componentName!==void 0}function kn(i){var e=i;return(Oh(i)&&i.componentName==="lm-react-component"||i.type==="react-component")&&e.component!==void 0}function nr(i){return i.focus!==void 0}function ko(i){return i.type==="stack"}class _{static activateTab(e,t){var n=_.getStackForRoot(e,t,!1);if(!n){Zt.error("Could not find stack for config",t);return}var r=_.getContentItemInStack(n,t);r&&n.setActiveContentItem(r)}static isActiveTab(e,t){var n=_.getStackForRoot(e,t,!1);if(!n)return Zt.error("Could not find stack for config",t),!1;var r=_.getContentItemInStack(n,t),a=n.getActiveContentItem();return a===r}static addStack(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=t?"column":"row";if(yh(e)){(e.contentItems==null||e.contentItems.length===0)&&e.addChild({type:n});var r=e.contentItems[0],a=t?r.isColumn:r.isRow;if(!a){e.removeChild(r,!0),e.addChild({type:n});var s=document.activeElement;e.contentItems[0].addChild(r),s&&s.focus!=null&&s.focus()}return this.addStack(e.contentItems[0],t)}if(e.contentItems.length<2)return e.addChild({type:"stack"}),e.contentItems[e.contentItems.length-1];var o=e.contentItems[e.contentItems.length-1],d=t?o.isRow:o.isColumn;return d||(e.addChild({type:t?"row":"column"}),e.removeChild(o,!0),e.contentItems[e.contentItems.length-1].addChild(o),o=e.contentItems[e.contentItems.length-1]),this.addStack(o,!t)}static getStackForConfig(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(n&&xi(e)&&e.contentItems.length===0)return e;if(e.contentItems==null)return null;for(var r=0;r<e.contentItems.length;r+=1){var a=e.contentItems[r];if(a.isComponent&&a.config!=null&&Bs(a.config,t))return e;var s=this.getStackForConfig(a,t,n);if(s)return s}return null}static getStackForRoot(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=this.getStackForConfig(e,t);return!s&&r&&(s=this.getStackForConfig(e,{component:t.component},a)),!s&&n&&(s=this.addStack(e)),s}static getStackForComponentTypes(e,t){for(var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=0;s<t.length;s+=1){var o=t[s],d=s===t.length-1,h=_.getStackForRoot(e,{component:o},n&&d,r,a);if(h)return h}return null}static getContentItemInStack(e,t){if(!e)return null;for(var n=0;n<e.contentItems.length;n+=1){var r=e.contentItems[n];if(r.isComponent&&r.config!=null&&Bs(r.config,t))return r}return null}static dehydrateLayoutConfig(e,t){if(e==null||!e.length)return[];for(var n=[],r=0;r<e.length;r+=1){var a=e[r],{component:s,content:o}=a;if(s){var d=t(s,a);d!=null?n.push(d):Zt.debug2('dehydrateLayoutConfig: skipping unmapped component "'.concat(s,'"'))}else if(o){var h=kt(kt({},a),{},{content:_.dehydrateLayoutConfig(o,t)});n.push(h)}else n.push(a)}return n}static getTabPoint(e){var{tab:t}=e;if(t==null)throw new Error("Cannot get tab for panel container ".concat(e));var n=t.element[0].getBoundingClientRect();return[n.left+n.width*.5,n.bottom-8]}static dropLayoutMinorChange(e){for(var t=0;t<e.length;t+=1){var n=e[t],{content:r}=n;r!==void 0?(ko(n)&&delete n.activeItemIndex,_.dropLayoutMinorChange(r)):kn(n)&&n.component==="IrisGridPanel"&&n.props.panelState!=null&&(delete n.id,n.props.panelState.irisGridState.sorts=[],n.props.panelState.irisGridState.quickFilters=[])}}static isEqual(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(n){var r=_.cloneLayout(e),a=_.cloneLayout(t);return _.dropLayoutMinorChange(r),_.dropLayoutMinorChange(a),Gn(r,a)}return Gn(e,t)}static cloneLayout(e){return JSON.parse(JSON.stringify(e))}static hydrateLayoutConfig(e,t){if(e==null||!e.length)return[];for(var n=[],r=0;r<e.length;r+=1){var a=e[r];if(kn(a)){var s,{component:o,props:d={}}=a;n.push(kt(kt({},a),{},{id:(s=a?.id)!==null&&s!==void 0?s:$e(),props:t(o,d)}))}else if(a.content!==void 0){var h=_.hydrateLayoutConfig(a.content,t);ko(a)&&a.activeItemIndex!=null&&a.activeItemIndex>=h.length&&(Zt.warn("Fixing bad activeItemIndex!",a.activeItemIndex,a),a.activeItemIndex=0),n.push(kt(kt({},a),{},{content:h}))}else n.push(a)}return n}static openComponent(){var{root:e,config:t,replaceExisting:n=!0,replaceConfig:r=void 0,createNewStack:a=!1,focusElement:s=void 0,dragEvent:o=void 0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=document.activeElement,h=kt({},t);if(h.id==null&&(h.id=$e.generate()),o!=null){e?.layoutManager.createDragSourceFromEvent(h,o);return}var u=r||{id:h.id,component:h.component};$(e);var c=a?_.addStack(e):_.getStackForRoot(e,u);$(c);var m=_.getContentItemInStack(c,u);if(s!=null){var p=g=>{Zt.debug("Component created, focusing element",s),c.off("componentCreated",p);var{element:b}=g.origin;requestAnimationFrame(()=>{_.focusElement(b[0],s)})};c.on("componentCreated",p)}if(n&&m){var v=c.contentItems.indexOf(m);c.addChild(h,v+1),c.removeChild(m),c.setActiveContentItem(c.contentItems[v])}else c.addChild(h);s==null&&d&&nr(d)&&d.focus()}static openComponentInStack(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=document.activeElement,a={id:t.id},s=_.getContentItemInStack(e,a);if(n&&s&&e){var o=e?.contentItems.indexOf(s);e.addChild(t,o+1),e.removeChild(s),e.setActiveContentItem(e.contentItems[o])}else e?.addChild(t);r&&nr(r)&&r.focus()}static closeComponent(e,t,n){var r=_.getStackForRoot(e,t,!1,!1,!1);if(!r){Zt.warn("Cannot find stack for component, ignoring close",t);return}var a=_.getContentItemInStack(r,t),s=document.activeElement;a&&(it(a)?a.container.close(n):r.removeChild(a)),s&&document.contains(s)&&nr(s)&&s.focus()}static renameComponent(e,t,n){var r=_.getStackForRoot(e,t,!1);if(!r){Zt.error("Could not find stack for config",t);return}var a=_.getContentItemInStack(r,t);a&&a.setTitle(n)}static cloneComponent(e,t){var n=_.getStackForRoot(e,t,!1);if(!n)return Zt.error("Could not find stack for config",t),null;var{props:r={}}=t,a=_.getPanelComponentState(t),s={type:"react-component",component:t.component,props:kt(kt({},r),{},{panelState:a}),title:"".concat(t.title," Copy"),id:$e.generate()};return _.openComponentInStack(n,s),s}static getPanelComponentState(e){if(Oh(e)){var t;return(t=e.componentState)===null||t===void 0?void 0:t.panelState}if(kn(e)){var n;return(n=e.props)===null||n===void 0?void 0:n.panelState}return null}static makeDefaultLayout(){return{dimensions:{headerHeight:jo.tabHeight,borderWidth:jo.dragBorderWidth,borderGrabWidth:10},settings:{showPopoutIcon:!1,showCloseIcon:!1,constrainDragToContainer:!1}}}static getRootFromContainer(e){return e.layoutManager.root}static getComponentConfigFromContainer(e){return e?e.tab!=null&&e.tab.contentItem!=null?e.tab.contentItem.config:e._config:null}static getTitleFromContainer(e){return e!=null&&e.tab!=null&&e.tab.contentItem!=null?e.tab.contentItem.config.title:null}static getTitleFromTab(e){return e!=null&&e.contentItem!=null?e.contentItem.config.title:null}static getIdFromContainer(e){var t=_.getComponentConfigFromContainer(e);return t?t.id:null}static getIdFromPanel(e){var{glContainer:t}=e.props;return _.getIdFromContainer(t)}static getComponentNameFromPanel(e){var{glContainer:t}=e.props,n=_.getComponentConfigFromContainer(t);if(n&&kn(n)){var r;return(r=n.component)!==null&&r!==void 0?r:null}return null}static getComponentName(e){var t,n,r=(t=(n=e.WrappedComponent)===null||n===void 0?void 0:n.displayName)!==null&&t!==void 0?t:e.displayName;if(r==null)throw new Error("Component displayName not defined ".concat(e));return r}static focusElement(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.DEFAULT_FOCUS_SELECTOR;if(e==null)return null;var n=e.querySelector(t);return n==null?null:(nr(n)&&n.focus(),n)}static onInitialized(e){return new Promise(t=>{if(e.isInitialised){t();return}var n=()=>{e.off("initialised",n),t()};e.on("initialised",n)})}}Th(_,"DEFAULT_FOCUS_SELECTOR","input, select, textarea, button");var Dh=J.forwardRef((i,e)=>{var t=_.getComponentNameFromPanel({props:i});return l.jsx("div",{ref:e,className:"panel-placeholder",children:l.jsxs("div",{children:['Component "',t,'" is not registered.']})})});Dh.displayName="PanelPlaceholder";const Q=Object.freeze({FOCUS:"PanelEvent.FOCUS",MOUNT:"PanelEvent.MOUNT",UNMOUNT:"PanelEvent.UNMOUNT",TITLE_CHANGED:"PanelEvent.TITLE_CHANGED",REOPEN:"PanelEvent.REOPEN",DELETE:"PanelEvent.DELETE",CLONED:"PanelEvent.CLONED",CLOSED:"PanelEvent.CLOSED",OPEN:"PanelEvent.OPEN",CLOSE:"PanelEvent.CLOSE",DRAGGING:"PanelEvent.DRAGGING",DROPPED:"PanelEvent.DROPPED"});function $o(i){return i?.WrappedComponent!==void 0}function mg(i){return typeof i.id=="string"&&i.layout instanceof _h&&i.panelManager instanceof fs&&typeof i.registerComponent=="function"}function cn(i){if(!mg(i))throw new Error("Expected dashboard plugin props, but instead received ".concat(i))}function Uo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ho(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Uo(Object(t),!0).forEach(function(n){en(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Uo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function en(i,e,t){return e=pg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pg(i){var e=fg(i,"string");return typeof e=="symbol"?e:String(e)}function fg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ht=B.module("PanelManager");class fs{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(o,d)=>d,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(o,d)=>d,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:new Map,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:()=>{};en(this,"layout",void 0),en(this,"hydrateComponent",void 0),en(this,"dehydrateComponent",void 0),en(this,"onPanelsUpdated",void 0),en(this,"closed",void 0),en(this,"openedMap",void 0),this.handleFocus=this.handleFocus.bind(this),this.handleMount=this.handleMount.bind(this),this.handleUnmount=this.handleUnmount.bind(this),this.handleReopen=this.handleReopen.bind(this),this.handleDeleted=this.handleDeleted.bind(this),this.handleClosed=this.handleClosed.bind(this),this.handleControlClose=this.handleControlClose.bind(this),this.layout=e,this.hydrateComponent=t,this.dehydrateComponent=n,this.onPanelsUpdated=s,this.openedMap=new Map(r),this.closed=[...a],this.startListening()}startListening(){var{eventHub:e}=this.layout;e.on(Q.FOCUS,this.handleFocus),e.on(Q.MOUNT,this.handleMount),e.on(Q.UNMOUNT,this.handleUnmount),e.on(Q.REOPEN,this.handleReopen),e.on(Q.DELETE,this.handleDeleted),e.on(Q.CLOSED,this.handleClosed),e.on(Q.CLOSE,this.handleControlClose)}stopListening(){var{eventHub:e}=this.layout;e.off(Q.FOCUS,this.handleFocus),e.off(Q.MOUNT,this.handleMount),e.off(Q.UNMOUNT,this.handleUnmount),e.off(Q.REOPEN,this.handleReopen),e.off(Q.DELETE,this.handleDeleted),e.off(Q.CLOSED,this.handleClosed),e.off(Q.CLOSE,this.handleControlClose)}getClosedPanelConfigsOfType(e){return this.closed.filter(t=>t.component===e)}getOpenedPanels(){return Array.from(this.openedMap.values())}getOpenedPanelConfigs(){return this.getOpenedPanels().map(e=>{var{glContainer:t}=e.props;return _.getComponentConfigFromContainer(t)})}getOpenedPanelConfigsOfType(e){return this.getOpenedPanelConfigs().filter(t=>t!=null&&kn(t)&&t.component===e)}getOpenedPanelById(e){return this.openedMap.get(e)}getContainerByPanelId(e){var t,n=_.getStackForConfig(this.layout.root,{id:e});return(t=n&&_.getContentItemInStack(n,{id:e}))!==null&&t!==void 0?t:null}getLastUsedPanel(e){for(var t=this.getOpenedPanels(),n=t.length-1;n>=0;n-=1){var r=t[n];if(e==null||e(r))return r}}getLastUsedPanelOfType(e){return this.getLastUsedPanelOfTypes([e])}getLastUsedPanelOfTypes(e){return this.getLastUsedPanel(t=>e.some(n=>$o(n)&&t instanceof n.WrappedComponent||!$o(n)&&t instanceof n))}updatePanel(e){var t=_.getIdFromPanel(e);if(t==null){ht.error("updatePanel Panel did not have an ID",e);return}ht.debug2("Updating panel ID ".concat(t," in open panels map")),this.openedMap.delete(t),this.openedMap.set(t,e)}removePanel(e){var t=_.getIdFromPanel(e);if(t==null){ht.error("removePanel Panel did not have an ID",e);return}if(!this.openedMap.has(t)){ht.error("Missing panel ID ".concat(t," in open panels map"));return}if(this.openedMap.get(t)!==e){ht.debug("Panel argument doesn't match the open panels map entry for ".concat(t,", removePanel ignored"));return}ht.debug2("Removing panel ID ".concat(t," from open panels map")),this.openedMap.delete(t)}removeClosedPanelConfig(e){var t=this.closed.findIndex(n=>n===e||n.id!=null&&e.id!=null&&n.id===e.id);t>=0&&this.closed.splice(t,1)}handleFocus(e){ht.debug2("Focus: ",e),this.updatePanel(e)}handleMount(e){ht.debug2("Mount: ",e),this.updatePanel(e),this.sendUpdate()}handleUnmount(e){ht.debug2("Unmount: ",e),this.removePanel(e),this.sendUpdate()}handleReopen(e,t){ht.debug2("Reopen:",e,t),this.removeClosedPanelConfig(e);var{component:n}=e,{props:r}=e;r=this.hydrateComponent(n,r);var a=Ho(Ho({},e),{},{props:r}),{root:s}=this.layout;_.openComponent({root:s,config:a,replaceConfig:t})}handleDeleted(e){ht.debug2("Deleted:",e),this.removeClosedPanelConfig(e),this.sendUpdate()}handleClosed(e,t){ht.debug2("Closed: ",e),this.addClosedPanel(t),this.sendUpdate()}handleControlClose(e){var t={id:e},{root:n}=this.layout;_.closeComponent(n,t)}addClosedPanel(e){var t=_.getComponentConfigFromContainer(e);if(t&&kn(t)){var n=this.dehydrateComponent(t.component,t);n!=null&&this.closed.push(n)}}sendUpdate(){var{closed:e,openedMap:t}=this;this.onPanelsUpdated({closed:[...e],openedMap:new Map(t)})}}en(fs,"MAX_CLOSED_PANEL_COUNT",100);var vg=B.module("PanelErrorBoundary");class gg extends f.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}componentWillUnmount(){var{glContainer:e,glEventHub:t}=this.props,n=_.getIdFromContainer(e);vg.debug("componentWillUnmount",n),t.emit(Q.CLOSED,n,e)}render(){var{children:e}=this.props,{error:t}=this.state;return t!=null?l.jsx("div",{className:"panel-error-boundary",children:l.jsx(Rr,{errorMessage:"".concat(t),isLoading:!1,isLoaded:!1})}):e}}function Vo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function xr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vo(Object(t),!0).forEach(function(n){bg(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Vo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function bg(i,e,t){return e=Cg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cg(i){var e=Sg(i,"string");return typeof e=="symbol"?e:String(e)}function Sg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function vs(i){var{props:e,componentState:t}=i,{metadata:n}=e,{panelState:r=null}=e;t&&({panelState:r}=t);var a={};return n!=null&&(a.metadata=n),r!=null&&(a.panelState=r),xr(xr({},i),{},{componentState:null,props:a,type:"react-component"})}function gs(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return xr(xr({metadata:{}},i),{},{localDashboardId:e})}const Aa={dehydrate:vs,hydrate:gs};var yg=I.shape({on:I.func,off:I.func,isHidden:I.bool,tab:I.shape({header:I.shape({tabs:I.arrayOf(I.shape({contentItem:I.shape({})}))})}),title:I.string,setTitle:I.func,close:I.func}),Ih=I.shape({on:I.func,off:I.func,emit:I.func}),wg=I.shape({registerComponent:I.func,root:I.shape({addChild:I.func}),on:I.func,off:I.func,eventHub:Ih}),bs=Object.freeze({Container:yg,EventHub:Ih,Layout:wg});function me(i,e,t){f.useEffect(function(){return i.on(e,t),()=>{i.off(e,t)}},[i,e,t])}function jn(i,e,t,n){var r,a=(r=e.COMPONENT)!==null&&r!==void 0?r:e.displayName;if(a==null)throw new Error("ComponentType must have a `COMPONENT` or `displayName` attribute.");J.useEffect(()=>{var s=i(a,e,t,n);return()=>{s()}},[e,n,t,a,i])}function Cs(i){var{dashboardProps:e,componentName:t,component:n,supportedTypes:r,hydrate:a,dehydrate:s}=i,{id:o,layout:d,registerComponent:h}=e,u=f.useCallback(c=>{var m,{dragEvent:p,fetch:v,panelId:g=$e.generate(),widget:b}=c,{id:C,type:w}=b,S=(m=b.title)!==null&&m!==void 0?m:b.name,y=Array.isArray(r)&&r.includes(w)||w===r;if(y){var E={id:C,name:S,type:w},M={localDashboardId:o,metadata:E,fetch:v};a!=null&&(M=a(M,o));var O={type:"react-component",component:t,props:M,title:S,id:g},{root:x}=d;_.openComponent({root:x,config:O,dragEvent:p})}},[t,a,o,d,r]);jn(h,n,a,s),me(d.eventHub,Q.OPEN,u)}var xh="SET_DASHBOARD_DATA";const Eg=tf(xh,{},!1),Pg={dashboardData:Eg};var _g=new Map,Tg=Object.freeze({}),Og=Object.freeze([]),Dg=i=>i.dashboardData,Qe=(i,e)=>{var t;return(t=Dg(i)[e])!==null&&t!==void 0?t:Tg},Ig=(i,e)=>{var t;return(t=Qe(i,e).closed)!==null&&t!==void 0?t:Og},Nh=(i,e)=>{var t;return(t=Qe(i,e).openedMap)!==null&&t!==void 0?t:_g};function Bo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Wo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Bo(Object(t),!0).forEach(function(n){xg(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Bo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function xg(i,e,t){return e=Ng(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ng(i){var e=Lg(i,"string");return typeof e=="symbol"?e:String(e)}function Lg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Lh=(i,e)=>({type:xh,id:i,payload:e}),Ft=(i,e)=>(t,n)=>t(Lh(i,Wo(Wo({},Qe(n(),i)),e)));Object.entries(Pg).map(i=>{var[e,t]=i;return $i.register(e,t)});function Mg(i){var{children:e}=i;return l.jsx(l.Fragment,{children:e})}function Go(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ha(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Go(Object(t),!0).forEach(function(n){Fg(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Go(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Fg(i,e,t){return e=Rg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rg(i){var e=jg(i,"string");return typeof e=="symbol"?e:String(e)}function jg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ir=B.module("DashboardLayout"),Ag=Object.freeze({}),kg=[],Ko=()=>{},zo=i=>i;function Mh(i){var e,t,{id:n,children:r,emptyDashboard:a=l.jsx("div",{children:"Dashboard is empty."}),layout:s,layoutConfig:o=kg,onLayoutChange:d=Ko,onLayoutInitialized:h=Ko,hydrate:u=gs,dehydrate:c=vs,panelWrapper:m=Mg}=i,p=Ya(),v=(e=Nu(P=>Qe(P,n)))!==null&&e!==void 0?e:Ag,[g,b]=f.useState(!1),[C,w]=f.useState(!1),[S,y]=f.useState(),[E]=f.useState((t=v?.closed)!==null&&t!==void 0?t:[]),[M,O]=f.useState(!1),[x,N]=f.useState(s.getReactChildren()),W=f.useMemo(()=>new Map,[]),q=f.useMemo(()=>new Map,[]),k=f.useCallback(function(P,D){var R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:u,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:c;ir.debug2("registerComponent",P,D,R,z);function fe(Y){var ee=D,he=m,{glContainer:_e,glEventHub:ri}=Y;return l.jsx(gg,{glContainer:_e,glEventHub:ri,children:l.jsx(he,ha(ha({},Y),{},{children:l.jsx(ee,ha({},Y))}))})}var L=s.registerComponent(P,fe);return W.set(P,R),q.set(P,z),L},[u,c,W,q,s,m]),A=f.useCallback((P,D)=>{var R;return((R=W.get(P))!==null&&R!==void 0?R:zo)(D,n)},[W,n]),U=f.useCallback((P,D)=>{var R;return((R=q.get(P))!==null&&R!==void 0?R:zo)(D,n)},[q,n]),j=f.useMemo(()=>new fs(s,A,U,new Map,E,P=>{var{closed:D,openedMap:R}=P;p(Ft(n,{closed:D,openedMap:R}))}),[U,p,A,n,E,s]),H=f.useCallback(()=>{if(!C){M||(h(),O(!0));var P=s.toConfig(),D=P.content,R=_.dehydrateLayoutConfig(D,U),z=S==null||!_.isEqual(S,R);ir.debug("handleLayoutStateChanged",z,D,R),z&&(b(s.root.contentItems.length===0),y(R),d(R),N(s.getReactChildren()))}},[U,M,C,S,s,d,h]),K=f.useCallback(P=>{var D=_.getIdFromContainer(P);s.eventHub.emit(Q.DRAGGING,D),w(!0)},[s.eventHub]),de=f.useCallback(P=>{var D=_.getIdFromContainer(P);s.eventHub.emit(Q.DROPPED,D),w(!1)},[s.eventHub]),ge=f.useCallback(P=>{if(ir.debug2("handleComponentCreated",P),!(P==null||P.config==null||P.config.component==null||P.element==null)){var D=P.config.component.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),R="".concat(D,"-component");P.element.addClass(R)}},[]),be=f.useCallback(()=>{N(s.getReactChildren())},[s]);me(s,"stateChanged",H),me(s,"itemPickedUp",K),me(s,"itemDropped",de),me(s,"componentCreated",ge),me(s.eventHub,Q.TITLE_CHANGED,H),me(s,"reactChildrenChanged",be);var T=Ic(o);return f.useEffect(function(){if(T!==o&&o!==S){ir.debug("Setting new layout content...");for(var D=_.hydrateLayoutConfig(o,A);s.root.contentItems.length>0;)s.root.contentItems[0].remove();for(var R=0;R<D.length;R+=1)s.root.addChild(D[R]);b(s.root.contentItems.length===0)}},[A,s,o,S,j,T]),l.jsxs(l.Fragment,{children:[g&&a,x,J.Children.map(r,P=>P!=null?J.cloneElement(P,{id:n,layout:s,panelManager:j,registerComponent:k}):null)]})}Mh.propTypes={id:I.string.isRequired,children:I.node,data:I.shape({}),emptyDashboard:I.node,layout:bs.Layout.isRequired,layoutConfig:I.arrayOf(I.shape({})),onLayoutChange:I.func,onLayoutInitialized:I.func};function qo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function $g(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qo(Object(t),!0).forEach(function(n){Ug(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):qo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ug(i,e,t){return e=Hg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Hg(i){var e=Vg(i,"string");return typeof e=="symbol"?e:String(e)}function Vg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Bg=100,ua=()=>{},Wg=Object.freeze({});function Gg(i){var{id:e="default",children:t,emptyDashboard:n,layoutConfig:r,layoutSettings:a=Wg,onLayoutConfigChange:s=ua,onGoldenLayoutChange:o=ua,onLayoutInitialized:d=ua,fallbackComponent:h=Dh,hydrate:u,dehydrate:c,panelWrapper:m}=i,p=f.useRef(null),[v,g]=f.useState(!1),[b,C]=f.useState();f.useEffect(function(){if(!p.current){C(void 0);return}var y=$g({},_.makeDefaultLayout());y.settings===void 0&&(y.settings={}),Object.assign(y.settings,a),y.content=[];var E=new _h(y,p.current),M=()=>{E.off("initialised",M),g(!0)};return E.on("initialised",M),h!=null&&E.setFallbackComponent(h),E.init(),C(E),o(E),()=>{E.destroy()}},[a,h,o,g,C]);var w=f.useMemo(()=>Fr(()=>{b!=null&&b.isInitialised&&b?.updateSize()},Bg),[b]);return f.useEffect(function(){return window.addEventListener("resize",w),()=>{window.removeEventListener("resize",w)}},[w]),l.jsxs("div",{className:"dashboard-container w-100 h-100",children:[l.jsx("div",{className:"w-100 h-100",ref:p}),v&&b&&l.jsx(Mh,{emptyDashboard:n,id:e,layout:b,layoutConfig:r,onLayoutChange:s,onLayoutInitialized:d,hydrate:u,dehydrate:c,panelWrapper:m,children:t})]})}var _t="default";function Ss(i,e,t){return e=Kg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Kg(i){var e=zg(i,"string");return typeof e=="symbol"?e:String(e)}function zg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Gr{}Ss(Gr,"OPEN","ChartEvent.OPEN");Ss(Gr,"CLOSE","ChartEvent.CLOSE");Ss(Gr,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const ka=Gr;function Bi(i,e,t){return e=qg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qg(i){var e=Yg(i,"string");return typeof e=="symbol"?e:String(e)}function Yg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ei{}Bi(ei,"SESSION_OPENED","ConsoleEvent.SESSION_OPENED");Bi(ei,"SESSION_CLOSED","ConsoleEvent.SESSION_CLOSED");Bi(ei,"FOCUS_HISTORY","ConsoleEvent.FOCUS_HISTORY");Bi(ei,"SEND_COMMAND","ConsoleEvent.SEND_COMMAND");Bi(ei,"SETTINGS_CHANGED","ConsoleEvent.SETTINGS_CHANGED");const ot=ei;function mn(i,e,t){return e=Zg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zg(i){var e=Xg(i,"string");return typeof e=="symbol"?e:String(e)}function Xg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Wt{}mn(Wt,"TABLE_CHANGED","InputFilterEvent.TABLE_CHANGED");mn(Wt,"COLUMNS_CHANGED","InputFilterEvent.COLUMNS_CHANGED");mn(Wt,"FILTERS_CHANGED","InputFilterEvent.FILTERS_CHANGED");mn(Wt,"CLEAR_ALL_FILTERS","InputFilterEvent.CLEAR_ALL_FILTERS");mn(Wt,"COLUMN_SELECTED","InputFilterEvent.COLUMN_SELECTED");mn(Wt,"OPEN_DROPDOWN","InputFilterEvent.OPEN_DROPDOWN");mn(Wt,"OPEN_INPUT","InputFilterEvent.OPEN_INPUT");mn(Wt,"OPEN_FILTER_SET_MANAGER","InputFilterEvent.OPEN_FILTER_SET_MANAGER");const ve=Wt;function ti(i,e,t){return e=Jg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jg(i){var e=Qg(i,"string");return typeof e=="symbol"?e:String(e)}function Qg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class xn{}ti(xn,"OPEN_GRID","IrisGridEvent.OPEN_GRID");ti(xn,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");ti(xn,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");ti(xn,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");ti(xn,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");ti(xn,"CREATE_CHART","IrisGridevent.CREATE_CHART");const yt=xn,Fh=Object.freeze({OPEN:"MarkdownEvent.OPEN"});function Gt(i,e,t){return e=eb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function eb(i){var e=tb(i,"string");return typeof e=="symbol"?e:String(e)}function tb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Rt{}Gt(Rt,"CREATE_NOTEBOOK","NotebookEvent.createNotebook");Gt(Rt,"SELECT_NOTEBOOK","NotebookEvent.selectNotebook");Gt(Rt,"CLOSE_FILE","NotebookEvent.closeFile");Gt(Rt,"RENAME","NotebookEvent.rename");Gt(Rt,"RENAME_FILE","NotebookEvent.renameFile");Gt(Rt,"REGISTER_FILE","NotebookEvent.registerFile");Gt(Rt,"SEND_TO_NOTEBOOK","NotebookEvent.sendToNotebook");Gt(Rt,"UNREGISTER_FILE","NotebookEvent.unregisterFile");Gt(Rt,"PROMOTE_FROM_PREVIEW","NotebookEvent.promoteFromPreview");const ue=Rt;function ni(i,e,t){return e=nb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function nb(i){var e=ib(i,"string");return typeof e=="symbol"?e:String(e)}function ib(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Nn{}ni(Nn,"focus","TabEvent.focus");ni(Nn,"blur","TabEvent.blur");ni(Nn,"openPQObject","TabEvent.openPQObject");ni(Nn,"openControl","TabEvent.openControl");ni(Nn,"reload","TabEvent.reload");ni(Nn,"clearAllFilters","TabEvent.clearAllFilters");const rr=Nn;function rb(i,e,t){return e=ab(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ab(i){var e=sb(i,"string");return typeof e=="symbol"?e:String(e)}function sb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Rh extends f.PureComponent{constructor(e){super(e),this.handleCloseTab=this.handleCloseTab.bind(this),this.handleCloseTabsRight=this.handleCloseTabsRight.bind(this),this.handleCloseTabsAll=this.handleCloseTabsAll.bind(this)}getAllTabs(){var e,t,n,{glContainer:r}=this.props;return[...(e=r==null||(t=r.tab)===null||t===void 0||(n=t.header)===null||n===void 0?void 0:n.tabs)!==null&&e!==void 0?e:[]]}handleCloseTab(){var{glContainer:e}=this.props;e.close()}handleCloseTabsAll(){var e=this.getAllTabs();e.forEach(t=>{var n;return(n=(t?.contentItem).container)===null||n===void 0?void 0:n.close()})}handleCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),n=t.length-1;n>0;n-=1){var r,a,s,o,d,h,u;if(((r=t[n].contentItem)===null||r===void 0||(a=r.config)===null||a===void 0?void 0:a.id)===((s=e.tab)===null||s===void 0||(o=s.contentItem)===null||o===void 0||(d=o.config)===null||d===void 0?void 0:d.id))break;(h=((u=t[n])===null||u===void 0?void 0:u.contentItem).container)===null||h===void 0||h.close()}}canCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),n=!0,r=t.length-1;r>0;r-=1){var a,s,o,d,h,u,c,m;if(((a=t[r].contentItem)===null||a===void 0||(s=a.config)===null||s===void 0?void 0:s.id)===((o=e.tab)===null||o===void 0||(d=o.contentItem)===null||d===void 0||(h=d.config)===null||h===void 0?void 0:h.id))break;var p=!!(!((u=t[r])===null||u===void 0||(c=u.contentItem)===null||c===void 0||(m=c.config)===null||m===void 0)&&m.isClosable);if(p){n=!1;break}}return n}canCloseAny(){for(var e=this.getAllTabs(),t=!0,n=e.length-1;n>0;n-=1){var r,a,s,o=!!(!((r=e[n])===null||r===void 0||(a=r.contentItem)===null||a===void 0||(s=a.config)===null||s===void 0)&&s.isClosable);if(o){t=!1;break}}return t}render(){var e,t,n,{additionalActions:r,glContainer:a}=this.props,s=[...r],o=(e=a.tab)===null||e===void 0||(t=e.contentItem)===null||t===void 0||(n=t.config)===null||n===void 0?void 0:n.isClosable;return s.push({title:"Close",order:10,group:ie.groups.low,action:this.handleCloseTab,disabled:o===void 0||!o}),s.push(()=>({title:"Close Tabs to Right",order:20,group:ie.groups.low,action:this.handleCloseTabsRight,disabled:this.canCloseTabsRight()})),s.push(()=>({title:"Close All",order:30,group:ie.groups.low,action:this.handleCloseTabsAll,disabled:this.canCloseAny()})),l.jsx(ie,{actions:s})}}rb(Rh,"defaultProps",{additionalActions:[]});const ob=Rh;function jh(i,e,t){return e=lb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lb(i){var e=db(i,"string");return typeof e=="symbol"?e:String(e)}function db(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ah extends f.PureComponent{constructor(e){super(e),jh(this,"renameInputRef",void 0),this.handleRenameDialogOpened=this.handleRenameDialogOpened.bind(this),this.handleRenameInputChange=this.handleRenameInputChange.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.renameInputRef=J.createRef();var{value:t}=e;this.state={value:t,valueWasValidated:!1}}componentDidUpdate(e){var{isShown:t}=e,{isShown:n}=this.props;n&&!t&&this.resetState()}resetState(){var{value:e}=this.props;this.setState({value:e,valueWasValidated:!1})}handleRenameDialogOpened(){var e,t;(e=this.renameInputRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.focus()}handleRenameInputChange(e){this.setState({value:e.target.value})}handleRenameCancel(){var{onCancel:e}=this.props;e()}handleRenameSubmit(e){e.stopPropagation(),e.preventDefault();var{value:t}=this.state,n=t?.trim();if(n!==void 0&&n!==""){var{onSubmit:r}=this.props;r(n)}else this.setState({value:n,valueWasValidated:!0})}renderRenameDialog(){var{isShared:e,isOwner:t,itemType:n}=this.props,{value:r,valueWasValidated:a}=this.state;return l.jsxs("form",{className:Z("p-3",{"was-validated":a}),onSubmit:this.handleRenameSubmit,noValidate:!0,role:"presentation",onMouseDown:s=>{s.stopPropagation()},onMouseUp:s=>{s.stopPropagation()},children:[l.jsxs("div",{className:"form-group",children:[l.jsxs("label",{htmlFor:"rename-dialog-".concat(n,"-input"),children:["Rename ",n]}),l.jsx("input",{type:"text",className:"form-control",id:"rename-dialog-".concat(n,"-input"),value:r??void 0,ref:this.renameInputRef,onChange:this.handleRenameInputChange,required:!0}),l.jsxs("div",{className:"invalid-feedback",children:[n," name cannot be empty"]}),(e||!t)&&l.jsxs("div",{className:"pt-2",children:["Renaming this ",n," will rename for all users."]})]}),l.jsxs("div",{className:"text-right",children:[l.jsx(F,{kind:"secondary",className:"mr-2",onClick:this.handleRenameCancel,children:"Cancel"}),l.jsx(F,{kind:"primary",type:"submit",children:"Rename"})]})]})}render(){var{isShown:e,onCancel:t}=this.props;return l.jsx(gd,{isShown:e,onEntered:this.handleRenameDialogOpened,onExited:t,options:{placement:"bottom"},interactive:!0,closeOnBlur:!0,children:this.renderRenameDialog()})}}jh(Ah,"defaultProps",{isShared:!1,isOwner:!0,itemType:"Item",value:""});function kh(i,e,t){return e=hb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hb(i){var e=ub(i,"string");return typeof e=="symbol"?e:String(e)}function ub(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var cb=B.module("Panel");class $h extends f.PureComponent{constructor(e){super(e),kh(this,"getAdditionActions",te((n,r,a)=>{var s=[];return r&&s.push(this.getCloneAction()),a&&s.push(this.getRenameAction()),[...s,...n]})),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleCopyPanel=this.handleCopyPanel.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleBlur=this.handleBlur.bind(this),this.handleHide=this.handleHide.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleBeforeShow=this.handleBeforeShow.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.handleShowRenameDialog=this.handleShowRenameDialog.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleTab=this.handleTab.bind(this);var{glContainer:t}=this.props;this.state={title:_.getTitleFromContainer(t),showRenameDialog:!1}}componentDidMount(){var{componentPanel:e,glContainer:t,glEventHub:n}=this.props;t.on("resize",this.handleResize),t.on("show",this.handleBeforeShow),t.on("shown",this.handleShow),t.on("hide",this.handleHide),t.on("tab",this.handleTab),t.on("tabClicked",this.handleTabClicked),n.on(ot.SESSION_CLOSED,this.handleSessionClosed),n.on(ot.SESSION_OPENED,this.handleSessionOpened),n.on(rr.focus,this.handleTabFocus),n.on(rr.blur,this.handleTabBlur),n.on(ve.CLEAR_ALL_FILTERS,this.handleClearAllFilters),n.emit(Q.MOUNT,e)}componentWillUnmount(){var{componentPanel:e,glContainer:t,glEventHub:n}=this.props;t.off("resize",this.handleResize),t.off("show",this.handleBeforeShow),t.off("shown",this.handleShow),t.off("hide",this.handleHide),t.off("tab",this.handleTab),t.off("tabClicked",this.handleTabClicked),n.off(ot.SESSION_CLOSED,this.handleSessionClosed),n.off(ot.SESSION_OPENED,this.handleSessionOpened),n.off(rr.focus,this.handleTabFocus),n.off(rr.blur,this.handleTabBlur),n.off(ve.CLEAR_ALL_FILTERS,this.handleClearAllFilters),n.emit(Q.UNMOUNT,e)}handleTab(e){e!=null&&this.setState({title:_.getTitleFromTab(e)}),this.forceUpdate();var{onTab:t}=this.props;t(e)}handleTabClicked(e){var{onTabClicked:t}=this.props;t(e)}handleClearAllFilters(){var{onClearAllFilters:e}=this.props;e(...arguments)}handleFocus(e){var{componentPanel:t,glEventHub:n}=this.props;n.emit(Q.FOCUS,t);var{onFocus:r}=this.props;r(e)}handleBlur(e){var{onBlur:t}=this.props;t(e)}handleHide(){var{onHide:e}=this.props;e(...arguments)}handleResize(){var{onResize:e}=this.props;e(...arguments)}handleSessionClosed(e){var{onSessionClose:t}=this.props;t(e)}handleSessionOpened(e,t){var{onSessionOpen:n}=this.props;n(e,t)}handleBeforeShow(){var{onBeforeShow:e}=this.props;e(...arguments)}handleShow(){var{onShow:e}=this.props;e(...arguments)}handleTabBlur(){var{onTabBlur:e}=this.props;e(...arguments)}handleTabFocus(){var{onTabFocus:e}=this.props;e(...arguments)}handleRenameCancel(){this.setState({showRenameDialog:!1})}handleShowRenameDialog(){this.setState({showRenameDialog:!0})}handleRenameSubmit(e){var{glContainer:t}=this.props;this.setState({showRenameDialog:!1,title:e});var n=_.getRootFromContainer(t),r=_.getComponentConfigFromContainer(t);$(r),_.renameComponent(n,r,e)}handleCopyPanel(){var{glContainer:e,glEventHub:t}=this.props,n=_.getRootFromContainer(e),r=_.getComponentConfigFromContainer(e);if(r==null){cb.error("Could not get component config from container",e);return}var a=_.cloneComponent(n,r);a!==null&&t.emit(Q.CLONED,this,a)}getCloneAction(){return{title:"Copy Panel",order:10,group:ie.groups.high,action:this.handleCopyPanel}}getRenameAction(){return{title:"Rename",order:10,group:ie.groups.medium,action:this.handleShowRenameDialog}}render(){var{children:e,className:t,renderTabTooltip:n,glContainer:r,additionalActions:a,errorMessage:s,isLoaded:o,isLoading:d,isClonable:h,isRenamable:u}=this.props,{tab:c}=r,{showRenameDialog:m,title:p}=this.state;return l.jsxs("div",{className:Z("h-100 w-100 iris-panel",t),onFocusCapture:this.handleFocus,onBlurCapture:this.handleBlur,children:[e,l.jsx(Rr,{errorMessage:s,isLoaded:o,isLoading:d}),c!=null&&qa.createPortal(l.jsxs(l.Fragment,{children:[l.jsx(ob,{glContainer:r,additionalActions:this.getAdditionActions(a,h,u)}),u&&l.jsx(Ah,{isShown:m,value:p,itemType:"Panel",onCancel:this.handleRenameCancel,onSubmit:this.handleRenameSubmit}),n!=null&&l.jsx(Mt,{interactive:!0,options:{placement:"bottom"},popperClassName:"panel-tab-popper",children:n()})]}),c.element[0])]})}}kh($h,"defaultProps",{className:"",onTab:()=>{},onTabClicked:()=>{},onClearAllFilters:()=>{},onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onBeforeShow:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},renderTabTooltip:null,additionalActions:[],errorMessage:null,isLoading:!1,isLoaded:!0,isClonable:!1,isRenamable:!1});const Kt=$h;function Kr(i){var{widgetType:e,widgetName:t,glContainer:n,description:r,children:a}=i,s=_.getTitleFromContainer(n);return l.jsxs("div",{className:"tab-tooltip-grid-container",children:[l.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),l.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[l.jsx("span",{className:"tab-tooltip-name",children:t}),l.jsx(bd,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==s&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),l.jsx("span",{className:"tab-tooltip-name",children:s})]}),r&&l.jsx("div",{className:"tab-tooltip-description",children:r}),a]})}Kr.propTypes={glContainer:bs.Container.isRequired,widgetType:I.string,widgetName:I.string,description:I.string,children:I.node};Kr.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function Uh(i,e,t){return e=mb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mb(i){var e=pb(i,"string");return typeof e=="symbol"?e:String(e)}function pb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Hh extends f.PureComponent{constructor(e){super(e),Uh(this,"getCachedRenderTabTooltip",te((t,n,r,a,s)=>t?()=>l.jsx(Kr,{glContainer:n,widgetType:r,widgetName:a,description:s}):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;vd(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:r,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
|
|
20
|
+
`)}this.bufferedMessages=[],this.appendLogText(e)}queue(e){this.bufferedMessages.push(e),this.bufferedMessages.length===1&&(this.flushTimer=setTimeout(this.handleFlushTimeout,we.bufferTimeout))}stopFlushTimer(){this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=void 0)}updateDimensions(){this.editor&&this.editor.layout()}handleClearClick(){this.clearLogs()}clearLogs(){this.messages=[],this.refreshLogText()}handleFlushTimeout(){this.stopFlushTimer(),this.flush()}handleLogMessage(e){this.messages.push(e),this.editor&&this.isLogItemVisible(e)&&this.queue(e)}handleMenuItemClick(e){this.toggleLogLevel(e)}handleResetClick(){this.resetLogLevels()}handleResize(){this.updateDimensions()}handleToggleAllClick(){this.toggleAll()}render(){var e={placement:"bottom-end"},{shownLogLevels:t}=this.state,n=this.getMenuActions(t);return l.jsxs("div",{className:"log-pane h-100 w-100",children:[l.jsxs("div",{className:"log-pane-menu",children:[l.jsx(F,{kind:"ghost",className:"btn-clear-logs",onClick:this.handleClearClick,icon:Zu,tooltip:"Clear log"}),l.jsx(F,{kind:"ghost",className:"btn-link-icon btn-overflow",icon:ji,tooltip:"Log Settings",onClick:()=>{},children:l.jsx(En,{actions:n,popperClassName:"log-level-menu-popper",popperOptions:e})})]}),l.jsx("div",{className:"log-pane-editor h-100 w-100",ref:r=>{this.editorContainer=r}})]})}}nt(we,"DefaultLogLevels",[Ne.STDOUT,Ne.ERROR,Ne.FATAL,Ne.STDERR,Ne.WARN]);nt(we,"AllLogLevels",[Ne.INFO,Ne.STDOUT,Ne.ERROR,Ne.FATAL,Ne.STDERR,Ne.WARN,Ne.DEBUG,Ne.TRACE]);nt(we,"bufferTimeout",16);nt(we,"maxLogSize",131072);nt(we,"truncateSize",65536);const Ip=we;function Eo(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function xp(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Eo(a,n,r,s,o,"next",d)}function o(d){Eo(a,n,r,s,o,"throw",d)}s(void 0)})}}var Np=B.module("HeapUsage");function Lp(i){var e,{connection:t,defaultUpdateInterval:n,hoverUpdateInterval:r,bgMonitoring:a=!0,monitorDuration:s}=i,[o,d]=v.useState({freeMemory:0,maximumHeapSize:999,totalHeapSize:0}),[h,u]=v.useState(!1),c=v.useRef({timestamps:[],usages:[]}),m=v.useCallback(xp(function*(){try{var A=yield t.getWorkerHeapInfo();if(d(A),a||h){for(var U=(A.totalHeapSize-A.freeMemory)/A.maximumHeapSize,j=Date.now(),{timestamps:H,usages:K}=c.current;H.length!==0&&j-H[0]>s*1.5;)H.shift(),K.shift();H.push(j),K.push(U)}else c.current={timestamps:[],usages:[]}}catch(de){Np.warn("Unable to get heap usage",de)}}),[h,t,s,a]);Oc(m,h?r:n);var p=(A,U)=>Math.round(A*10**U)/10**U,f=2,g=1024**3,{freeMemory:b,totalHeapSize:C,maximumHeapSize:w}=o,S=p(b/g,f),y=p(C/g,f),E=p(w/g,f),M=y-S,O=function(U,j){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return l.jsxs("div",{className:Z("heap-usage-info-row",{"heading-bottom-border":H}),children:[l.jsx("div",{className:"font-weight-bold",children:U}),l.jsx("div",{children:j})]})},{timestamps:x,usages:N}=c.current,W=(e=x[x.length-1])!==null&&e!==void 0?e:0,q=C/w,k=(C-b)/w;return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"max-memory",children:[l.jsx("div",{className:"total-memory",style:{width:"calc(".concat(q*100,"% - ").concat(q*2,"px")}}),l.jsx("div",{className:Z("used-memory",{"heap-overflow":(C-b)/w>.95}),style:{width:"calc(".concat(k*100,"% - ").concat(k*2,"px")}}),l.jsxs("div",{className:"memory-text",children:[E.toFixed(1)," GB"]})]}),l.jsx(Mt,{onEntered:()=>u(!0),onExited:()=>u(!1),interactive:!0,children:l.jsxs("div",{className:"heap-tooltip",children:[O("In use:","".concat(M.toFixed(f)," of ").concat(E.toFixed(f)," GB"),!0),O("Free:","".concat(S.toFixed(f)," GB")),O("Total:","".concat(y.toFixed(f)," GB")),O("Max:","".concat(E.toFixed(f)," GB")),l.jsx("div",{className:"heap-plot",children:l.jsx(Dc,{data:[{x:[...x],y:[...N],type:"scatter",mode:"lines"}],config:{staticPlot:!0,responsive:!0},style:{width:"196px",height:"100px"},layout:{margin:{l:2,t:2,r:2,b:2},plot_bgcolor:"transparent",paper_bgcolor:"transparent",colorway:["#4878ea"],xaxis:{dtick:Math.round(s/6),gridcolor:Yi.linecolor,range:[W-s,W],linecolor:Yi.linecolor,linewidth:2,mirror:!0},yaxis:{dtick:.2,gridcolor:Yi.linecolor,range:[0,1],linecolor:Yi.linecolor,linewidth:2,mirror:!0}}})}),l.jsxs("div",{className:"heap-utilisation-text",children:["% utilization over ",Math.round(s/1e3/60)," min."]})]})})]})}var os=Object.freeze({}),Mp=new Map,Ur=i=>i.api,Ud=i=>i.user,ls=i=>i.storage,Hd=i=>ls(i).commandHistoryStorage,Vd=i=>ls(i).fileStorage,Fp=i=>ls(i).workspaceStorage,Hr=i=>i.workspace,Fe=i=>Hr(i).data.settings,Bd=i=>Fe(i).defaultDateTimeFormat,Wd=i=>{var e;return(e=Fe(i).defaultDecimalFormatOptions)!==null&&e!==void 0?e:os},Gd=i=>{var e;return(e=Fe(i).defaultIntegerFormatOptions)!==null&&e!==void 0?e:os},Kd=i=>Fe(i).formatter,ki=i=>Fe(i).timeZone,zd=i=>Fe(i).showTimeZone,qd=i=>Fe(i).showTSeparator,Yd=i=>Fe(i).truncateNumbersWithPound,Rp=i=>Fe(i).shortcutOverrides,jp=i=>{var e;return(e=Fe(i).defaultNotebookSettings)!==null&&e!==void 0?e:os},Vr=i=>i.activeTool,Ap=i=>{var e;return(e=i.plugins)!==null&&e!==void 0?e:Mp},Zd="SET_ACTIVE_TOOL",Xd="SET_API",Jd="SET_COMMAND_HISTORY_STORAGE",Qd="SET_FILE_STORAGE",eh="SET_PLUGINS",th="SET_USER",nh="SET_WORKSPACE",ih="SET_WORKSPACE_STORAGE",rh="SET_SERVER_CONFIG_VALUES";function Po(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ji(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Po(Object(t),!0).forEach(function(n){kp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Po(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function kp(i,e,t){return e=$p(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function $p(i){var e=Up(i,"string");return typeof e=="symbol"?e:String(e)}function Up(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Hp=i=>({type:th,payload:i}),Vp=i=>({type:Xd,payload:i}),ah=i=>({type:nh,payload:i}),Bp=i=>({type:ih,payload:i}),Wp=i=>({type:Jd,payload:i}),Gp=i=>({type:Qd,payload:i}),Kp=i=>(e,t)=>{e(ah(i));var{storage:n}=t(),{workspaceStorage:r}=n;return r.save(i)},sh=i=>(e,t)=>{var{workspace:n}=t(),{data:r}=n,a=Ji(Ji({},n),{},{data:Ji(Ji({},r),i)});return e(Kp(a))},Br=i=>e=>e(sh({settings:i})),Wr=i=>({type:Zd,payload:i}),zp=i=>({type:eh,payload:i}),qp=i=>({type:rh,payload:i});function _o(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function sa(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_o(Object(t),!0).forEach(function(n){Yp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):_o(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Yp(i,e,t){return e=Zp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zp(i){var e=Xp(i,"string");return typeof e=="symbol"?e:String(e)}function Xp(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function oh(i,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case i:{var r=n.payload;return r==null?null:t!=null?sa(sa({},t),r):sa({},r)}default:return t}}}function To(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Oo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?To(Object(t),!0).forEach(function(n){Jp(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):To(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Jp(i,e,t){return e=Qp(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Qp(i){var e=ev(i,"string");return typeof e=="symbol"?e:String(e)}function ev(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function tv(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case i:{var{id:a,payload:s}=r;return t&&Gn({payload:s},{payload:n[a]})?n:Oo(Oo({},n),{},{[a]:s})}default:return n}}}function un(i,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case i:return n.payload;default:return t}}}const nv=un(Xd,null),iv=un(Zd,null),rv=un(eh,null),av=un(Jd,null),sv=un(Qd,null),ov=un(ih,null),lv=za({commandHistoryStorage:av,fileStorage:sv,workspaceStorage:ov}),dv=oh(th,null),hv=oh(nh,null),uv=un(rh,null);var cv={activeTool:iv,api:nv,plugins:rv,storage:lv,user:dv,workspace:hv,serverConfigValues:uv};const mv=cv;function Do(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Io(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Do(Object(t),!0).forEach(function(n){xa(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Do(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function xa(i,e,t){return e=pv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pv(i){var e=vv(i,"string");return typeof e=="symbol"?e:String(e)}function vv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class fv{constructor(){xa(this,"reducers",{}),xa(this,"listener",null)}register(e,t){var n;this.reducers=Io(Io({},this.reducers),{},{[e]:t}),(n=this.listener)===null||n===void 0||n.call(this,this.reducers)}setListener(e){this.listener=e}}var gv=new fv;const $i=gv;var xo=B.module("redux-logger"),bv=i=>e=>t=>{xo.debug("dispatching",t);var n=e(t);return xo.debug("next state",i.getState()),n};const Cv=bv;var Sv=B.module("redux-crashReporter"),yv=i=>e=>t=>{try{return e(t)}catch(n){throw Sv.error("Error executing",t," with state ",i.getState(),":",n),n}};const wv=yv,Ev=[Cv,wv,Ou];var oa;Object.entries(mv).map(i=>{var[e,t]=i;return $i.register(e,t)});var Pv=(oa=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)!==null&&oa!==void 0?oa:xu,lh=Du(za($i.reducers),Pv(Iu(...Ev)));$i.setListener(i=>{lh.replaceReducer(za(i))});const ds=lh;var hh=Object.freeze({openPopouts:[],settings:{hasHeaders:!0,constrainDragToContainer:!0,reorderEnabled:!0,selectionEnabled:!1,popoutWholeStack:!1,blockedPopoutsThrowError:!0,closePopoutsOnUnload:!0,showPopoutIcon:!0,showMaximiseIcon:!0,showCloseIcon:!0,responsiveMode:"onload",tabOverlapAllowance:0,tabControlOffset:10},dimensions:{borderWidth:5,borderGrabWidth:10,minItemHeight:10,minItemWidth:10,headerHeight:20,dragProxyWidth:300,dragProxyHeight:200},labels:{close:"Close",maximise:"Maximize",minimise:"Minimize",popout:"Open in new window",popin:"Pop in",tabDropdown:"Additional tabs",tabNextLabel:"Next",tabPreviousLabel:"Previous"},content:[]});function uh(i){return i.componentName!==void 0}function _v(i){return i.component!==void 0}var ch=Object.freeze({type:"default",isClosable:!0,isFocusOnShow:!0,reorderEnabled:!0,title:""});const Tv=Object.freeze(Object.defineProperty({__proto__:null,defaultConfig:hh,isGLComponentConfig:uh,isReactComponentConfig:_v,itemDefaultConfig:ch},Symbol.toStringTag,{value:"Module"}));function gr(i,e,t){return e=Ov(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ov(i){var e=Dv(i,"string");return typeof e=="symbol"?e:String(e)}function Dv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ii{constructor(){gr(this,"_mSubscriptions",void 0),gr(this,"off",this.unbind),gr(this,"trigger",this.emit),this._mSubscriptions={},this._mSubscriptions[Ii.ALL_EVENT]=[]}on(e,t,n){if(typeof t!="function")throw new Error("Tried to listen to event "+e+" with non-function callback "+t);this._mSubscriptions[e]||(this._mSubscriptions[e]=[]),this._mSubscriptions[e].push({fn:t,ctx:n})}emit(e){for(var t=this._mSubscriptions[e],n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];if(t)for(var s=0;s<t.length;s++){var o=t[s].ctx||{};try{t[s].fn.apply(o,r)}catch(c){console.error("Error while emitting event:",c)}}r.unshift(e);for(var d=this._mSubscriptions[Ii.ALL_EVENT],h=0;h<d.length;h++){var u=d[h].ctx||{};try{d[h].fn.apply(u,r)}catch(c){console.error("Error while emitting event to allEventSubs:",c)}}}unbind(e,t,n){if(!this._mSubscriptions[e])throw new Error("No subscriptions to unsubscribe for event "+e);for(var r=!1,a=0;a<this._mSubscriptions[e].length;a++)(!t||this._mSubscriptions[e][a].fn===t)&&(!n||n===this._mSubscriptions[e][a].ctx)&&(this._mSubscriptions[e].splice(a,1),r=!0);if(r===!1)throw new Error("Nothing to unbind for "+e)}}gr(Ii,"ALL_EVENT","__all");const Ot=Ii;function ft(i,e,t){return e=Iv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Iv(i){var e=xv(i,"string");return typeof e=="symbol"?e:String(e)}function xv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Na extends Ot{constructor(e,t,n){super(),ft(this,"width",void 0),ft(this,"height",void 0),ft(this,"title",void 0),ft(this,"parent",void 0),ft(this,"layoutManager",void 0),ft(this,"tab",void 0),ft(this,"_config",void 0),ft(this,"isHidden",!1),ft(this,"beforeCloseHandler",void 0),ft(this,"_element",V(['<div class="lm_item_container">','<div class="lm_content" tabindex="-1"></div>',"</div>"].join(""))),ft(this,"_contentElement",void 0),this.title=uh(e)?e.componentName:"",this.parent=t,this.layoutManager=n,this._config=e,this._contentElement=this._element.find(".lm_content"),this.beforeCloseHandler=null}getElement(){return this._contentElement}hide(){this.emit("hide"),this.isHidden=!0,this._element.hide()}show(){this.emit("show"),this.isHidden=!1,this._element.show(),(this.height!=0||this.width!=0)&&this.emit("shown")}setSize(e,t){for(var n,r,a,s=this.parent,o=null;s&&!s.isColumn&&!s.isRow;){var d;if(o=s,s=s.parent,(d=s)!==null&&d!==void 0&&d.isRoot)return!1}if(!s||!o)return!1;for(var h=s.isColumn?"height":"width",u=h==="height"?t:e,c=((n=this[h])!==null&&n!==void 0?n:0)*(1/(((r=o.config[h])!==null&&r!==void 0?r:0)/100)),m=u/c*100,p=(((a=o.config[h])!==null&&a!==void 0?a:0)-m)/(s.contentItems.length-1),f=0;f<s.contentItems.length;f++)if(s.contentItems[f]===o)s.contentItems[f].config[h]=m;else{var g;s.contentItems[f].config[h]=((g=s.contentItems[f].config[h])!==null&&g!==void 0?g:0)+p}return s.callDownwards("setSize"),!0}close(e){var t,n;this._config.isClosable&&(!((t=(n=this.beforeCloseHandler)===null||n===void 0?void 0:n.call(this,e))!==null&&t!==void 0)||t)&&(this.emit("close"),this.parent.close())}beforeClose(e){this.beforeCloseHandler=e}getState(){return this._config.componentState}extendState(e){this.setState(V.extend(!0,this.getState(),e))}setState(e){this._config.componentState=e,this.parent.emitBubblingEvent("stateChanged")}setTitle(e){this.parent.setTitle(e)}_$setSize(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(e!==this.width||t!==this.height){this.width=e,this.height=t;var n=this._contentElement[0],r=n.offsetWidth-n.clientWidth,a=n.offsetHeight-n.clientHeight;this._contentElement.width(this.width-r).height(this.height-a),this.emit("resize")}}}const Nv=Object.freeze(Object.defineProperty({__proto__:null,Container:Na,ItemContainer:Na},Symbol.toStringTag,{value:"Module"}));function mh(i){var e=location.hash.match(new RegExp(i+"=([^&]*)"));return e?e[1]:null}function ph(i){if(window.location.hash)return mh(i);if(!window.location.search)return null;var e=window.location.search.substr(1).split("&"),t={},n,r;for(r=0;r<e.length;r++)n=e[r].split("="),t[n[0]]=n[1];return t[i]||null}function hs(i){return window.requestAnimationFrame(i)}function Lv(i,e){var t=e.indexOf(i);if(t===-1)throw new Error("Can't remove item from array. Item is not in the array");e.splice(t,1)}function us(){return(Math.random()*1e15).toString(36).replace(".","")}function Mv(i,e){var t=i.replace(/javascript/gi,"javascript").replace(/expression/gi,"expression").replace(/onload/gi,"onload").replace(/script/gi,"script").replace(/onerror/gi,"onerror");return e===!0?t:t.replace(/>/g,">").replace(/</g,"<")}function cs(i){return V.trim(i.replace(/(<([^>]+)>)/gi,""))}function et(i,e,t){return e=Fv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fv(i){var e=Rv(i,"string");return typeof e=="symbol"?e:String(e)}function Rv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class jv extends Ot{constructor(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;super(),et(this,"_eElement",void 0),et(this,"_oDocument",void 0),et(this,"_eBody",void 0),et(this,"_destroyAfterMouseUp",void 0),et(this,"_nDelay",400),et(this,"_timeout",void 0),et(this,"timeout",void 0),et(this,"_nDistance",10),et(this,"_nX",0),et(this,"_nY",0),et(this,"_nOriginalX",0),et(this,"_nOriginalY",0),et(this,"_bDragging",!1),this._eElement=e,this._oDocument=V(document),this._eBody=V(document.body),this._destroyAfterMouseUp=n,this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this._startDrag=this._startDrag.bind(this),(t=this._eElement)===null||t===void 0||t.on("mousedown",this.onMouseDown)}destroy(){var e,t;(e=this._eElement)===null||e===void 0||e.unbind("mousedown",this.onMouseDown),(t=this._oDocument)===null||t===void 0||t.unbind("mouseup",this.onMouseUp),this._eElement=void 0,this._oDocument=void 0,this._eBody=void 0,clearTimeout(this._timeout),this._timeout=void 0}onMouseDown(e){if(e.preventDefault(),e.button===0){var t,n,r,a,s=this._getCoordinates(e);this._nOriginalX=(t=s.x)!==null&&t!==void 0?t:0,this._nOriginalY=(n=s.y)!==null&&n!==void 0?n:0,(r=this._oDocument)===null||r===void 0||r.on("mousemove",this.onMouseMove),(a=this._oDocument)===null||a===void 0||a.on("mouseup",this.onMouseUp),this._timeout=window.setTimeout(this._startDrag,this._nDelay)}}onMouseMove(e){if(this._timeout!=null){var t,n;e.preventDefault();var r=this._getCoordinates(e);this._nX=((t=r.x)!==null&&t!==void 0?t:0)-this._nOriginalX,this._nY=((n=r.y)!==null&&n!==void 0?n:0)-this._nOriginalY,this._bDragging===!1&&(Math.abs(this._nX)>this._nDistance||Math.abs(this._nY)>this._nDistance)&&this._startDrag(),this._bDragging&&this.emit("drag",this._nX,this._nY,e)}}onMouseUp(e){if(this._timeout!=null){var t,n,r,a,s;if(clearTimeout(this._timeout),(t=this._oDocument)===null||t===void 0||t.unbind("mousemove",this.onMouseMove),(n=this._oDocument)===null||n===void 0||n.unbind("mouseup",this.onMouseUp),(r=this._oDocument)===null||r===void 0||(a=r.find("iframe"))===null||a===void 0||a.css("pointer-events",""),this._bDragging===!0&&(this._bDragging=!1,this.emit("dragStop",e,this._nOriginalX+this._nX)),(s=this._eBody)===null||s===void 0||s.removeClass("lm_dragging"),!(this._eElement instanceof Window)){var o;(o=this._eElement)===null||o===void 0||o.removeClass("lm_dragging")}this._destroyAfterMouseUp&&this.destroy()}}_startDrag(){var e,t,n,r;window.clearTimeout(this._timeout),this._bDragging=!0,(e=this._eBody)===null||e===void 0||e.addClass("lm_dragging"),(t=this._eElement)===null||t===void 0||t.addClass("lm_dragging"),(n=this._oDocument)===null||n===void 0||(r=n.find("iframe"))===null||r===void 0||r.css("pointer-events","none"),this.emit("dragStart",this._nOriginalX,this._nOriginalY)}_getCoordinates(e){var t,n;return{x:(t=e.pageX)!==null&&t!==void 0?t:0,y:(n=e.pageY)!==null&&n!==void 0?n:0}}}const Ui=jv;function Ln(i,e,t){return e=Av(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Av(i){var e=kv(i,"string");return typeof e=="symbol"?e:String(e)}function kv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class vh{constructor(e,t){Ln(this,"_container",void 0),Ln(this,"_reactComponent",null),Ln(this,"_portalComponent",null),Ln(this,"_originalComponentWillUpdate",null),Ln(this,"_initialState",void 0),Ln(this,"_reactClass",void 0),this._reactComponent=null,this._portalComponent=null,this._originalComponentWillUpdate=null,this._container=e,this._initialState=t,this._reactClass=this._getReactClass(),this._container.on("open",this._render,this),this._container.on("destroy",this._destroy,this)}_key(){var e=this._container._config.id;if(!e)throw new Error("Cannot mount panel without id");return Array.isArray(e)?e.join(","):e}_render(){var e=this._key();this._portalComponent=qa.createPortal(this._getReactComponent(),this._container.getElement()[0],e),this._container.layoutManager.addReactChild(e,this._portalComponent)}_gotReactComponent(e){if(e){this._reactComponent=e,this._originalComponentWillUpdate=this._reactComponent.componentWillUpdate||function(){},this._reactComponent.componentWillUpdate=this._onUpdate.bind(this);var t=this._container.getState();t&&this._reactComponent.setState(t)}}_destroy(){this._container.layoutManager.removeReactChild(this._key(),this._portalComponent),this._container.off("open",this._render,this),this._container.off("destroy",this._destroy,this)}_onUpdate(e,t){var n;this._container.setState(t),(n=this._originalComponentWillUpdate)===null||n===void 0||n.call(this._reactComponent,e,t)}_getReactClass(){var e=this._container._config.component;if(!e)throw new Error("No react component name. type: react-component needs a field `component`");var t=this._container.layoutManager.getComponent(e)||this._container.layoutManager.getFallbackComponent();if(!t)throw new Error('React component "'+e+'" not found. Please register all components with GoldenLayout using `registerComponent(name, component)`');return t}_getReactComponent(){var e={glEventHub:this._container.layoutManager.eventHub,glContainer:this._container},t=V.extend(e,this._container._config.props);return J.createElement(this._reactClass,t)}}var Dr=["settings","hasHeaders","constrainDragToContainer","selectionEnabled","dimensions","borderWidth","minItemHeight","minItemWidth","headerHeight","dragProxyWidth","dragProxyHeight","labels","close","maximise","minimise","popout","content","componentName","componentState","id","width","type","height","isClosable","title","popoutWholeStack","openPopouts","parentId","activeItemIndex","reorderEnabled","borderGrabWidth"],$v=[!0,!1,"row","column","stack","component","close","maximise","minimise","open in new window"];function ms(i){if(Dr.length>36)throw new Error("Too many keys in config minifier map");var e={};return ps(i,e,"_min"),e}function La(i){if(Dr.length>36)throw new Error("Too many keys in config minifier map");var e={};return ps(i,e,"_max"),e}function ps(i,e,t){var n=t==="_min"?Uv:Hv;for(var r in i)if(i.hasOwnProperty(r)){var a=Array.isArray(i)?i[Number.parseInt(r,10)]:i[r];if(typeof a=="object"&&a!=null){var s=a instanceof Array?[]:{};if(Array.isArray(e))e[Number.parseInt(r,10)]=s;else{var o=n(r,Dr);e[o]=s}ps(a,s,t)}else{var d=n(a,$v);if(Array.isArray(e))e[Number.parseInt(r,10)]=d;else{var h=n(r,Dr);e[h]=d}}}}function Uv(i,e){if(typeof i=="string"&&i.length===1)return"___"+i;var t=e.indexOf(i);return t===-1?i:t.toString(36)}function Hv(i,e){return typeof i=="string"&&i.length===1?e[parseInt(i,36)]:typeof i=="string"&&i.substr(0,3)==="___"?i[3]:i}function la(i,e,t){return e=Vv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Vv(i){var e=Bv(i,"string");return typeof e=="symbol"?e:String(e)}function Bv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ma{constructor(e,t){la(this,"name",void 0),la(this,"origin",void 0),la(this,"isPropagationStopped",void 0),this.name=e,this.origin=t,this.isPropagationStopped=!1}stopPropagation(){this.isPropagationStopped=!0}}function Qi(i,e,t){return e=Wv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Wv(i){var e=Gv(i,"string");return typeof e=="symbol"?e:String(e)}function Gv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}let Kv=class extends Ot{constructor(e){super(),Qi(this,"_layoutManager",void 0),Qi(this,"_dontPropagateToParent",void 0),Qi(this,"_childEventSource",void 0),Qi(this,"_boundOnEventFromChild",void 0),this._layoutManager=e,this._dontPropagateToParent=null,this._childEventSource=null,this.on(Ot.ALL_EVENT,this._onEventFromThis.bind(this)),this._boundOnEventFromChild=this._onEventFromChild.bind(this),V(window).on("gl_child_event",this._boundOnEventFromChild)}_onEventFromThis(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this._layoutManager.isSubWindow&&t[0]!==this._dontPropagateToParent&&this._propagateToParent(t),this._propagateToChildren(t),this._dontPropagateToParent=null,this._childEventSource=null}_$onEventFromParent(e){this._dontPropagateToParent=e[0],this.emit.apply(this,e)}_onEventFromChild(e){this._childEventSource=e.originalEvent.__gl,this.emit.apply(this,e.originalEvent.__glArgs)}_propagateToParent(e){var t,n="gl_child_event",r=(t=window.opener)===null||t===void 0?void 0:t.document.createEvent("HTMLEvents");r.initEvent(n,!0,!0),r.eventName=n,r.__glArgs=e,r.__gl=this._layoutManager,window.opener.dispatchEvent(r)}_propagateToChildren(e){for(var t=0;t<this._layoutManager.openPopouts.length;t++){var n=this._layoutManager.openPopouts[t].getGlInstance();n&&n!==this._childEventSource&&n.eventHub._$onEventFromParent(e)}}destroy(){V(window).off("gl_child_event",this._boundOnEventFromChild)}};const fh=Kv,zv=Object.freeze(Object.defineProperty({__proto__:null,BubblingEvent:Ma,DragListener:Ui,EventEmitter:Ot,EventHub:fh,ReactComponentHandler:vh,animFrame:hs,filterXss:Mv,getHashValue:mh,getQueryStringParam:ph,getUniqueId:us,minifyConfig:ms,removeFromArray:Lv,stripTags:cs,unminifyConfig:La},Symbol.toStringTag,{value:"Module"}));function Yt(i,e,t){return e=qv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qv(i){var e=Yv(i,"string");return typeof e=="symbol"?e:String(e)}function Yv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gh extends Ot{constructor(e,t,n,r,a){super(),Yt(this,"isInitialised",!1),Yt(this,"_config",void 0),Yt(this,"_dimensions",void 0),Yt(this,"_parentId",void 0),Yt(this,"_indexInParent",void 0),Yt(this,"_layoutManager",void 0),Yt(this,"_popoutWindow",null),Yt(this,"_id",null),this._config=e,this._dimensions=t,this._parentId=n,this._indexInParent=r,this._layoutManager=a,this._createWindow()}toConfig(){var e,t,n,r,a,s,o,d,h,u,c;if(this.isInitialised===!1)throw new Error("Can't create config, layout not yet initialised");return{dimensions:{width:(e=this.getGlInstance())===null||e===void 0?void 0:e.width,height:(t=this.getGlInstance())===null||t===void 0?void 0:t.height,left:(n=(r=(a=this._popoutWindow)===null||a===void 0?void 0:a.screenX)!==null&&r!==void 0?r:(s=this._popoutWindow)===null||s===void 0?void 0:s.screenLeft)!==null&&n!==void 0?n:0,top:(o=(d=(h=this._popoutWindow)===null||h===void 0?void 0:h.screenY)!==null&&d!==void 0?d:(u=this._popoutWindow)===null||u===void 0?void 0:u.screenTop)!==null&&o!==void 0?o:0},content:(c=this.getGlInstance())===null||c===void 0?void 0:c.toConfig().content,parentId:this._parentId,indexInParent:this._indexInParent}}getGlInstance(){var e;return(e=this._popoutWindow)===null||e===void 0?void 0:e.__glInstance}getWindow(){return this._popoutWindow}close(){if(this.getGlInstance()){var e;(e=this.getGlInstance())===null||e===void 0||e._$closeWindow()}else try{var t;(t=this.getWindow())===null||t===void 0||t.close()}catch{}}popIn(){var e;this._indexInParent;var t=null,n=null;if(this._parentId){var r;if(t=V.extend(!0,{},(r=this.getGlInstance())===null||r===void 0?void 0:r.toConfig()).content[0],n=this._layoutManager.root.getItemsById(this._parentId)[0],!n){var a;((a=this._layoutManager.root.contentItems.length)!==null&&a!==void 0?a:0)>0?n=this._layoutManager.root.contentItems[0]:n=this._layoutManager.root}}t&&((e=n)===null||e===void 0||e.addChild(t,this._indexInParent),this.close())}_createWindow(){var e=this._createUrl(),t=Math.floor(Math.random()*1e6).toString(36),n=this._serializeWindowOptions({width:this._dimensions.width,height:this._dimensions.height,innerWidth:this._dimensions.width,innerHeight:this._dimensions.height,menubar:"no",toolbar:"no",location:"no",personalbar:"no",resizable:"yes",scrollbars:"no",status:"no"});if(this._popoutWindow=window.open(e,t,n),!this._popoutWindow)if(this._layoutManager.config.settings.blockedPopoutsThrowError===!0){var r=new Error("Popout blocked");throw r.type="popoutBlocked",r}else return;V(this._popoutWindow).on("load",this._positionWindow.bind(this)).on("unload beforeunload",this._onClose.bind(this));var a=window.setInterval(()=>{var s;(s=this._popoutWindow)!==null&&s!==void 0&&s.__glInstance&&this._popoutWindow.__glInstance.isInitialised&&(this._onInitialised(),window.clearInterval(a))},10)}_serializeWindowOptions(e){var t=[],n;for(n in e)t.push(n+"="+e[n]);return t.join(",")}_createUrl(){var e={content:this._config},t="gl-window-config-"+us();e=ms(e);try{localStorage.setItem(t,JSON.stringify(e))}catch(r){throw new Error("Error while writing to localStorage "+r.toString())}var n=document.location.href.split("?");return n.length===1?n[0]+"?gl-window="+t:document.location.href+"&gl-window="+t}_positionWindow(){var e,t;(e=this._popoutWindow)===null||e===void 0||e.moveTo(this._dimensions.left,this._dimensions.top),(t=this._popoutWindow)===null||t===void 0||t.focus()}_onInitialised(){var e;this.isInitialised=!0,(e=this.getGlInstance())===null||e===void 0||e.on("popIn",this.popIn,this),this.emit("initialised")}_onClose(){setTimeout(this.emit.bind(this,"closed"),50)}}function xe(i,e,t){return e=Zv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zv(i){var e=Xv(i,"string");return typeof e=="symbol"?e:String(e)}function Xv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class In extends Ot{constructor(e,t,n,r,a,s){var o,d,h,u,c,m,p,f;if(super(),xe(this,"_dragListener",void 0),xe(this,"_layoutManager",void 0),xe(this,"_contentItem",void 0),xe(this,"_originalParent",void 0),xe(this,"_area",null),xe(this,"_lastValidArea",null),xe(this,"_minX",void 0),xe(this,"_maxX",void 0),xe(this,"_minY",void 0),xe(this,"_maxY",void 0),xe(this,"_width",void 0),xe(this,"_height",void 0),xe(this,"_sided",void 0),xe(this,"element",void 0),xe(this,"childElementContainer",void 0),xe(this,"_proxyTab",void 0),this._dragListener=n,this._layoutManager=r,this._contentItem=a,this._originalParent=s,this._dragListener.on("drag",this._onDrag,this),this._dragListener.on("dragStop",this._onDrop,this),this._contentItem.tab&&this._contentItem.tab.element){var g,b;this._layoutManager.tabDropPlaceholder.width((g=this._contentItem.tab.element.outerWidth(!0))!==null&&g!==void 0?g:0),this._layoutManager.tabDropPlaceholder.height((b=this._contentItem.tab.element.outerHeight(!0))!==null&&b!==void 0?b:0)}if(this.element=V(In._template),s&&s._side&&(this._sided=s._sided,this.element.addClass("lm_"+s._side),["right","bottom"].indexOf(s._side.toString())>=0&&this.element.find(".lm_content").after(this.element.find(".lm_header"))),this.element.css({left:e,top:t}),this._proxyTab=this.element.find(".lm_tab"),this._proxyTab.attr("title",cs((o=this._contentItem.config.title)!==null&&o!==void 0?o:"")),this.element.find(".lm_title").html((d=this._contentItem.config.title)!==null&&d!==void 0?d:""),this.childElementContainer=this.element.find(".lm_content"),this.childElementContainer.append(a.element),this._updateTree(),this._layoutManager._$calculateItemAreas(),V(document.body).append(this.element),this._setDimensions(),!this._contentItem.tab&&this._proxyTab.length){var C,w;this._layoutManager.tabDropPlaceholder.width((C=this._proxyTab.outerWidth(!0))!==null&&C!==void 0?C:0),this._layoutManager.tabDropPlaceholder.height((w=this._proxyTab.outerHeight(!0))!==null&&w!==void 0?w:0)}var S=this._layoutManager.container.offset();this._minX=(h=S?.left)!==null&&h!==void 0?h:0,this._minY=(u=S?.top)!==null&&u!==void 0?u:0,this._maxX=((c=this._layoutManager.container.width())!==null&&c!==void 0?c:0)+this._minX,this._maxY=((m=this._layoutManager.container.height())!==null&&m!==void 0?m:0)+this._minY,this._width=(p=this.element.width())!==null&&p!==void 0?p:0,this._height=(f=this.element.height())!==null&&f!==void 0?f:0,this._setDropPosition(e,t),this._layoutManager.emit("itemPickedUp",this._contentItem)}_onDrag(e,t,n){var r,a,s=(r=n.pageX)!==null&&r!==void 0?r:0,o=(a=n.pageY)!==null&&a!==void 0?a:0,d=s>this._minX&&s<this._maxX&&o>this._minY&&o<this._maxY;!d&&this._layoutManager.config.settings.constrainDragToContainer===!0||this._setDropPosition(s,o)}_setDropPosition(e,t){this.element.css({left:e,top:t}),this._area=this._layoutManager._$getArea(e,t),this._area!==null&&(this._lastValidArea=this._area,this._area.contentItem._$highlightDropZone(e,t,this._area))}_onDrop(){var e;(e=this._layoutManager.dropTargetIndicator)===null||e===void 0||e.hide(),this._area!==null?this._area.contentItem._$onDrop(this._contentItem,this._area):this._lastValidArea!==null?this._lastValidArea.contentItem._$onDrop(this._contentItem,this._lastValidArea):this._originalParent?this._originalParent.addChild(this._contentItem):this._contentItem._$destroy(),this._dragListener.off("drag",this._onDrag,this),this._dragListener.off("dragStop",this._onDrop,this),this.element.remove(),this._layoutManager.emit("itemDropped",this._contentItem)}_updateTree(){this._contentItem.parent&&this._contentItem.parent.removeChild(this._contentItem,!0),this._contentItem._$setParent(null)}_setDimensions(){var e=this._layoutManager.config.dimensions,t=e.dragProxyWidth,n=e.dragProxyHeight;this.element.width(t),this.element.height(n),t-=this._sided?e.headerHeight:0,n-=this._sided?0:e.headerHeight,this.childElementContainer.width(t),this.childElementContainer.height(n),this._contentItem.element.width(t),this._contentItem.element.height(n),this._contentItem.callDownwards("_$show"),this._contentItem.callDownwards("setSize")}}xe(In,"_template",'<div class="lm_dragProxy"><div class="lm_header"><ul class="lm_tabs"><li class="lm_tab lm_active"><i class="lm_left"></i><span class="lm_title"></span><i class="lm_right"></i></li></ul></div><div class="lm_content"></div></div>');function er(i,e,t){return e=Jv(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jv(i){var e=Qv(i,"string");return typeof e=="symbol"?e:String(e)}function Qv(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class bh{constructor(e,t,n){er(this,"_element",void 0),er(this,"_itemConfig",void 0),er(this,"_layoutManager",void 0),er(this,"_dragListener",void 0),this._element=e,this._itemConfig=t,this._layoutManager=n,this._dragListener=this._createDragListener()}_createDragListener(){return this._dragListener=new Ui(this._element,!0),this._dragListener.on("dragStart",this._onDragStart,this),this._dragListener.on("dragStop",this._createDragListener,this),this._dragListener}_onDragStart(e,t){var n=this._itemConfig;typeof n=="function"&&(n=n());var r=this._layoutManager._$normalizeContentItem(V.extend(!0,{},n));new In(e,t,this._dragListener,this._layoutManager,r,null)}}function tr(i,e,t){return e=ef(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ef(i){var e=tf(i,"string");return typeof e=="symbol"?e:String(e)}function tf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ch{constructor(e,t,n){tr(this,"_element",V(window)),tr(this,"_itemConfig",void 0),tr(this,"_layoutManager",void 0),tr(this,"_dragListener",void 0),this._itemConfig=e,this._layoutManager=t,this._createDragListener(n)}_createDragListener(e){this._dragListener&&this._dragListener.destroy(),this._element&&(this._dragListener=new Ui(this._element,!0),this._dragListener.on("dragStart",this._onDragStart,this),this._dragListener.on("dragStop",this._destroy,this),this._dragListener.onMouseDown(e),this._dragListener._startDrag())}_destroy(){this._dragListener=void 0,this._element=void 0,this._itemConfig=void 0,this._layoutManager=void 0}_onDragStart(e,t){if(!(!this._dragListener||!this._layoutManager)){var n=this._itemConfig;typeof n=="function"&&(n=n());var r=this._layoutManager._$normalizeContentItem(V.extend(!0,{},n));new In(e,t,this._dragListener,this._layoutManager,r,null)}}}function Sh(i,e,t){return e=nf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function nf(i){var e=rf(i,"string");return typeof e=="symbol"?e:String(e)}function rf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Hi{constructor(){Sh(this,"element",V(Hi._template)),V(document.body).append(this.element)}destroy(){this.element.remove()}highlightArea(e){this.element.css({left:e.x1,top:e.y1,width:Math.floor(e.x2-e.x1),height:Math.floor(e.y2-e.y1)}).show()}hide(){this.element.hide()}}Sh(Hi,"_template",'<div class="lm_dropTargetIndicator"><div class="lm_inner"></div></div>');function da(i,e,t){return e=af(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function af(i){var e=sf(i,"string");return typeof e=="symbol"?e:String(e)}function sf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class fi{constructor(e,t,n,r){da(this,"element",void 0),da(this,"_header",void 0),da(this,"_action",void 0),this._header=e,this.element=V('<li class="'+n+'" title="'+t+'"></li>'),this._header.on("destroy",this._$destroy,this),this._action=r,this.element.on("click",this._action),this._header.controlsContainer.append(this.element)}_$destroy(){this.element.off(),this.element.remove()}}function of(i,e,t){return e=lf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lf(i){var e=df(i,"string");return typeof e=="symbol"?e:String(e)}function df(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class hf extends Error{constructor(e,t){super(),of(this,"node",void 0),this.name="Configuration Error",this.message=e,this.node=t}}const yn=hf,uf=Object.freeze(Object.defineProperty({__proto__:null,ConfigurationError:yn},Symbol.toStringTag,{value:"Module"}));function Oe(i,e,t){return e=cf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function cf(i){var e=mf(i,"string");return typeof e=="symbol"?e:String(e)}function mf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function xi(i){return i.isStack}function it(i){return i.isComponent}function yh(i){return i.isRoot}class Le extends Ot{constructor(e,t,n,r){super(),Oe(this,"config",void 0),Oe(this,"type",void 0),Oe(this,"contentItems",void 0),Oe(this,"parent",void 0),Oe(this,"layoutManager",void 0),Oe(this,"element",void 0),Oe(this,"childElementContainer",void 0),Oe(this,"componentName",void 0),Oe(this,"isInitialised",!1),Oe(this,"isMaximised",!1),Oe(this,"isRoot",!1),Oe(this,"isRow",!1),Oe(this,"isColumn",!1),Oe(this,"isStack",!1),Oe(this,"isComponent",!1),Oe(this,"tab",void 0),Oe(this,"_pendingEventPropagations",void 0),Oe(this,"_throttledEvents",void 0),this.element=r,this.config=this._extendItemNode(t),this.type=t.type,this.contentItems=[],this.parent=n,this.layoutManager=e,this._pendingEventPropagations={},this._throttledEvents=["stateChanged"],this.on(Ot.ALL_EVENT,this._propagateEvent,this),t.content&&this._createContentItems(t)}callDownwards(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;n!==!0&&r!==!0&&this[e].apply(this,t);for(var a=0;a<this.contentItems.length;a++)this.contentItems[a].callDownwards(e,t,n);n===!0&&r!==!0&&this[e].apply(this,t)}removeChild(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.contentItems.indexOf(e);if(r===-1)throw new Error("Can't remove child item. Unknown content item");if(n!==!0&&this.contentItems[r]._$destroy(),this.contentItems.splice(r,1),(t=this.config.content)===null||t===void 0||t.splice(r,1),this.contentItems.length>0)this.callDownwards("setSize");else if(this.type!=="root"&&this.config.isClosable){var a;(a=this.parent)===null||a===void 0||a.removeChild(this)}}addChild(e,t){e=this.layoutManager._$normalizeContentItem(e,this),t===void 0&&(t=this.contentItems.length),this.contentItems.splice(t,0,e),this.config.content===void 0&&(this.config.content=[]),this.config.content.splice(t,0,e.config),e.parent=this,e.parent.isInitialised===!0&&e.isInitialised===!1&&e._$init()}replaceChild(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;t=this.layoutManager._$normalizeContentItem(t);var r=this.contentItems.indexOf(e),a=e.element[0].parentNode;if(r===-1)throw new Error("Can't replace child. oldChild is not child of this");a?.replaceChild(t.element[0],e.element[0]),n===!0&&(e.parent=null,e._$destroy()),this.contentItems[r]=t,t.parent=this,xi(this)&&(this.header.tabs[r].contentItem=t),t.parent.isInitialised===!0&&t.isInitialised===!1&&t._$init(),this.callDownwards("setSize")}remove(){var e;(e=this.parent)===null||e===void 0||e.removeChild(this)}popout(){var e=this.layoutManager.createPopout(this);return this.emitBubblingEvent("stateChanged"),e}toggleMaximise(e){e&&e.preventDefault(),this.isMaximised===!0?this.layoutManager._$minimiseItem(this):this.layoutManager._$maximiseItem(this),this.isMaximised=!this.isMaximised,this.emitBubblingEvent("stateChanged")}select(){this.layoutManager.selectedItem!==this&&(this.layoutManager.selectItem(this,!0),this.element.addClass("lm_selected"))}deselect(){this.layoutManager.selectedItem===this&&(this.layoutManager.selectedItem=null,this.element.removeClass("lm_selected"))}setTitle(e){this.config.title=e,this.emit("titleChanged",e),this.emitBubblingEvent("stateChanged")}hasId(e){if(this.config.id){if(typeof this.config.id=="string")return this.config.id===e;if(this.config.id instanceof Array)return this.config.id.indexOf(e)!==-1}else return!1}addId(e){this.hasId(e)||(this.config.id?typeof this.config.id=="string"?this.config.id=[this.config.id,e]:this.config.id instanceof Array&&this.config.id.push(e):this.config.id=e)}removeId(e){if(!this.hasId(e))throw new Error("Id not found");if(typeof this.config.id=="string")delete this.config.id;else if(this.config.id instanceof Array){var t=this.config.id.indexOf(e);this.config.id.splice(t,1)}}getItemsByFilter(e){var t=[],n=function r(a){for(var s=0;s<a.contentItems.length;s++)e(a.contentItems[s])===!0&&t.push(a.contentItems[s]),r(a.contentItems[s])};return n(this),t}getItemsById(e){return this.getItemsByFilter(function(t){return t.config.id instanceof Array?t.config.id.indexOf(e)!==-1:t.config.id===e})}getItemsByType(e){return this._$getItemsByProperty("type",e)}getComponentsByName(e){for(var t=this._$getItemsByProperty("componentName",e),n=[],r=0;r<t.length;r++)n.push(t[r].instance);return n}_$getItemsByProperty(e,t){return this.getItemsByFilter(function(n){return n[e]===t})}_$setParent(e){this.parent=e}_$highlightDropZone(e,t,n){var r;(r=this.layoutManager.dropTargetIndicator)===null||r===void 0||r.highlightArea(n)}_$onDrop(e,t){this.addChild(e)}_$hide(){this._callOnActiveComponents("hide"),this.element.hide(),this.layoutManager.updateSize()}_$show(){this._callOnActiveComponents("show"),this.element.show(),this.layoutManager.updateSize()}_callOnActiveComponents(e){for(var t=this.getItemsByType("stack"),n=null,r=0;r<t.length;r++)n=t[r].getActiveContentItem(),n&&it(n)&&n.container[e]()}_$destroy(){this.emitBubblingEvent("beforeItemDestroyed"),this.callDownwards("_$destroy",[],!0,!0),this.element.remove(),this.emitBubblingEvent("itemDestroyed")}_$getArea(e){var t,n,r;e=e||this.element;var a=(t=e.offset())!==null&&t!==void 0?t:{left:0,top:0},s=(n=e.width())!==null&&n!==void 0?n:0,o=(r=e.height())!==null&&r!==void 0?r:0;return{x1:a.left,y1:a.top,x2:a.left+s,y2:a.top+o,surface:s*o,contentItem:this,side:""}}_$init(){this.setSize();for(var e=0;e<this.contentItems.length;e++){var t;(t=this.childElementContainer)===null||t===void 0||t.append(this.contentItems[e].element)}this.isInitialised=!0,this.emitBubblingEvent("itemCreated"),this.emitBubblingEvent(this.type+"Created")}emitBubblingEvent(e){var t=new Ma(e,this);this.emit(e,t)}_createContentItems(e){var t;if(!(e.content instanceof Array))throw new yn("content must be an Array",e);for(var n=0;n<e.content.length;n++)t=this.layoutManager.createContentItem(e.content[n],this),this.contentItems.push(t)}_extendItemNode(e){for(var[t,n]of Object.entries(ch)){var r=t;e[r]===void 0&&(e[r]=n)}return e}_propagateEvent(e,t){t instanceof Ma&&t.isPropagationStopped===!1&&this.isInitialised===!0&&(this.isRoot===!1&&this.parent?this.parent.emit.apply(this.parent,[e,t]):this._scheduleEventPropagationToLayoutManager(e,t))}_scheduleEventPropagationToLayoutManager(e,t){this._throttledEvents.indexOf(e)===-1?this.layoutManager.emit(e,t.origin):this._pendingEventPropagations[e]!==!0&&(this._pendingEventPropagations[e]=!0,hs(this._propagateEventToLayoutManager.bind(this,e,t)))}_propagateEventToLayoutManager(e,t){this._pendingEventPropagations[e]=!1,this.layoutManager.emit(e,t)}}function si(i,e,t){return e=pf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pf(i){var e=vf(i,"string");return typeof e=="symbol"?e:String(e)}function vf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class wh extends Le{constructor(e,t,n){super(e,t,n,V()),si(this,"config",void 0),si(this,"componentName",void 0),si(this,"container",void 0),si(this,"parent",void 0),si(this,"instance",void 0),this.config=t,this.parent=n;var r=e.getComponent(this.config.componentName)||e.getFallbackComponent(),a=V.extend(!0,{},this.config.componentState||{});if(r==null)throw new yn('Unknown component "'+this.config.componentName+'"');a.componentName=this.config.componentName,this.componentName=this.config.componentName,this.config.title===""&&(this.config.title=this.config.componentName),this.isComponent=!0,this.container=new Na(this.config,this,e),this.instance=new r(this.container,a),this.element=this.container._element}close(){this.parent.removeChild(this)}setSize(){this.element.is(":visible")&&this.container._$setSize(this.element.width(),this.element.height())}_$init(){Le.prototype._$init.call(this),this.container.emit("open")}_$hide(){this.container.hide(),Le.prototype._$hide.call(this)}_$show(){this.container.show(),this.container._config.isFocusOnShow&&this.container._contentElement[0].focus({preventScroll:!0}),Le.prototype._$show.call(this)}_$destroy(){this.container.emit("destroy",this),Le.prototype._$destroy.call(this)}_$getArea(){return null}}function dt(i,e,t){return e=ff(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ff(i){var e=gf(i,"string");return typeof e=="symbol"?e:String(e)}function gf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ir extends Le{constructor(e,t,n,r){super(t,n,r,V('<div class="lm_item lm_'+(e?"column":"row")+'"></div>')),dt(this,"isRow",void 0),dt(this,"isColumn",void 0),dt(this,"childElementContainer",void 0),dt(this,"parent",void 0),dt(this,"_splitter",[]),dt(this,"_splitterSize",void 0),dt(this,"_splitterGrabSize",void 0),dt(this,"_isColumn",void 0),dt(this,"_dimension",void 0),dt(this,"_splitterPosition",null),dt(this,"_splitterMinPosition",null),dt(this,"_splitterMaxPosition",null),this.parent=r,this.isRow=!e,this.isColumn=e,this.childElementContainer=this.element,this._splitterSize=t.config.dimensions.borderWidth,this._splitterGrabSize=t.config.dimensions.borderGrabWidth,this._isColumn=e,this._dimension=e?"height":"width",this._splitterPosition=null,this._splitterMinPosition=null,this._splitterMaxPosition=null}addChild(e,t,n){var r,a,s,o;if(e=this.layoutManager._$normalizeContentItem(e,this),t===void 0&&(t=this.contentItems.length),this.contentItems.length>0?(o=this._createSplitter(Math.max(0,t-1)).element,t>0?(this.contentItems[t-1].element.after(o),o.after(e.element)):(this.contentItems[0].element.before(o),o.before(e.element))):this.childElementContainer.append(e.element),Le.prototype.addChild.call(this,e,t),r=1/this.contentItems.length*100,n===!0){this.emitBubblingEvent("stateChanged");return}for(s=0;s<this.contentItems.length;s++)if(this.contentItems[s]===e)e.config[this._dimension]=r;else{var d;a=((d=this.contentItems[s].config[this._dimension])!==null&&d!==void 0?d:0)*(100-r)/100,this.contentItems[s].config[this._dimension]=a}this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}removeChild(e,t){var n,r=(n=e.config[this._dimension])!==null&&n!==void 0?n:0,a=this.contentItems.indexOf(e),s=Math.max(a-1,0),o,d;if(a===-1)throw new Error("Can't remove child. ContentItem is not child of this Row or Column");for(this._splitter[s]&&(this._splitter[s]._$destroy(),this._splitter.splice(s,1)),o=0;o<this.contentItems.length;o++)if(this.contentItems[o]!==e){var h;this.contentItems[o].config[this._dimension]=((h=this.contentItems[o].config[this._dimension])!==null&&h!==void 0?h:0)+r/(this.contentItems.length-1)}Le.prototype.removeChild.call(this,e,t),this.contentItems.length===1&&this.config.isClosable===!0?(d=this.contentItems[0],this.contentItems=[],this.parent.replaceChild(this,d,!0)):(this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged"))}replaceChild(e,t){var n=e.config[this._dimension];super.replaceChild(e,t),t.config[this._dimension]=n,this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}setSize(){this.contentItems.length>0&&(this._calculateRelativeSizes(),this._setAbsoluteSizes()),this.emitBubblingEvent("stateChanged"),this.emit("resize")}_$init(){if(this.isInitialised!==!0){var e;for(Le.prototype._$init.call(this),e=0;e<this.contentItems.length-1;e++)this.contentItems[e].element.after(this._createSplitter(e).element)}}_setAbsoluteSizes(){var e,t=this._calculateAbsoluteSizes();for(e=0;e<this.contentItems.length;e++)t.additionalPixel-e>0&&t.itemSizes[e]++,this._isColumn?(this.contentItems[e].element.width(t.totalWidth),this.contentItems[e].element.height(t.itemSizes[e])):(this.contentItems[e].element.width(t.itemSizes[e]),this.contentItems[e].element.height(t.totalHeight))}_calculateAbsoluteSizes(){var e,t,n=(this.contentItems.length-1)*this._splitterSize,r=(e=this.element.width())!==null&&e!==void 0?e:0,a=(t=this.element.height())!==null&&t!==void 0?t:0,s=0,o=[];this._isColumn?a-=n:r-=n;for(var d=0;d<this.contentItems.length;d++){var h,u,c=this._isColumn?Math.floor(a*(((h=this.contentItems[d].config.height)!==null&&h!==void 0?h:0)/100)):Math.floor(r*(((u=this.contentItems[d].config.width)!==null&&u!==void 0?u:0)/100));s+=c,o.push(c)}var m=Math.floor((this._isColumn?a:r)-s);return{itemSizes:o,additionalPixel:m,totalWidth:r,totalHeight:a}}_calculateRelativeSizes(){for(var e=0,t=[],n=this._isColumn?"height":"width",r=0;r<this.contentItems.length;r++)if(this.contentItems[r].config[n]!==void 0){var a;e+=(a=this.contentItems[r].config[n])!==null&&a!==void 0?a:0}else t.push(this.contentItems[r]);if(Math.round(e)===100){this._respectMinItemWidth();return}if(Math.round(e)<100&&t.length>0){for(var s=0;s<t.length;s++)t[s].config[n]=(100-e)/t.length;this._respectMinItemWidth();return}if(Math.round(e)>100)for(var o=0;o<t.length;o++)t[o].config[n]=50,e+=50;for(var d=0;d<this.contentItems.length;d++){var h;this.contentItems[d].config[n]=((h=this.contentItems[d].config[n])!==null&&h!==void 0?h:0)/e*100}this._respectMinItemWidth()}_respectMinItemWidth(){var e,t=this.layoutManager.config.dimensions&&(e=this.layoutManager.config.dimensions.minItemWidth)!==null&&e!==void 0?e:0,n=[],r=0,a=0,s=0,o=[],d;if(!(this._isColumn||!t||this.contentItems.length<=1)){for(var h=this._calculateAbsoluteSizes(),u=0;u<this.contentItems.length;u++){this.contentItems[u];var c=h.itemSizes[u];c<t?(a+=t-c,d={width:t}):(r+=c-t,d={width:c},n.push(d)),o.push(d)}if(!(a===0||a>r)){var m=a/r;s=a;for(var p=0;p<n.length;p++){d=n[p];var f=Math.round((d.width-t)*m);s-=f,d.width-=f}s!==0&&(o[o.length-1].width-=s);for(var g=0;g<this.contentItems.length;g++)this.contentItems[g].config.width=o[g].width/h.totalWidth*100}}}_createSplitter(e){var t;return t=new Eh(this._isColumn,this._splitterSize,this._splitterGrabSize),t.on("drag",this._onSplitterDrag.bind(this,t),this),t.on("dragStop",this._onSplitterDragStop.bind(this,t),this),t.on("dragStart",this._onSplitterDragStart.bind(this,t),this),this._splitter.splice(e,0,t),t}_getItemsForSplitter(e){var t=this._splitter.indexOf(e);if(t<0)throw new Error("Splitter not found in RowOrColumn");return{before:this.contentItems[t],after:this.contentItems[t+1]}}_getMinimumDimensions(e){for(var t=0,n=0,r=0;r<e.length;++r){var a,s;t=Math.max((a=e[r].minWidth)!==null&&a!==void 0?a:0,t),n=Math.max((s=e[r].minHeight)!==null&&s!==void 0?s:0,n)}return{horizontal:t,vertical:n}}_onSplitterDragStart(e){var t,n,r,a,s=this._getItemsForSplitter(e),o=this.layoutManager.config.dimensions[this._isColumn?"minItemHeight":"minItemWidth"],d=this._getMinimumDimensions((t=s.before.config.content)!==null&&t!==void 0?t:[]),h=this._isColumn?d.vertical:d.horizontal,u=this._getMinimumDimensions((n=s.after.config.content)!==null&&n!==void 0?n:[]),c=this._isColumn?u.vertical:u.horizontal;this._splitterPosition=0,this._splitterMinPosition=-1*(((r=s.before.element[this._dimension]())!==null&&r!==void 0?r:0)-(h||o)),this._splitterMaxPosition=((a=s.after.element[this._dimension]())!==null&&a!==void 0?a:0)-(c||o)}_onSplitterDrag(e,t,n){var r=this._isColumn?n:t;this._splitterMaxPosition==null||this._splitterMinPosition==null||r>this._splitterMinPosition&&r<this._splitterMaxPosition&&(this._splitterPosition=r,e.element.css(this._isColumn?"top":"left",r))}_onSplitterDragStop(e){var t,n,r,a,s,o=this._getItemsForSplitter(e),d=(t=o.before.element[this._dimension]())!==null&&t!==void 0?t:0,h=(n=o.after.element[this._dimension]())!==null&&n!==void 0?n:0,u=(((r=this._splitterPosition)!==null&&r!==void 0?r:0)+d)/(d+h),c=((a=o.before.config[this._dimension])!==null&&a!==void 0?a:0)+((s=o.after.config[this._dimension])!==null&&s!==void 0?s:0);o.before.config[this._dimension]=u*c,o.after.config[this._dimension]=(1-u)*c,e.element.css({top:0,left:0}),hs(this.callDownwards.bind(this,"setSize",void 0,void 0,void 0))}}function No(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Lo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?No(Object(t),!0).forEach(function(n){Fa(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):No(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Fa(i,e,t){return e=bf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function bf(i){var e=Cf(i,"string");return typeof e=="symbol"?e:String(e)}function Cf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ra extends Le{constructor(e,t,n){super(e,Lo(Lo({},t),{},{type:"root"}),null,V('<div class="lm_goldenlayout lm_item lm_root"></div>')),Fa(this,"childElementContainer",void 0),Fa(this,"_containerElement",void 0),this.isRoot=!0,this.type="root",this.childElementContainer=this.element,this._containerElement=n,this._containerElement.append(this.element)}addChild(e,t){if(this.contentItems.length>0)throw new Error("Root node can only have a single child");e=this.layoutManager._$normalizeContentItem(e,this),this.childElementContainer.append(e.element),super.addChild(e,t),this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}setSize(e,t){var n,r;e=typeof e>"u"?(n=this._containerElement.width())!==null&&n!==void 0?n:0:e,t=typeof t>"u"?(r=this._containerElement.height())!==null&&r!==void 0?r:0:t,this.element.width(e),this.element.height(t),this.contentItems[0]&&(this.contentItems[0].element.width(e),this.contentItems[0].element.height(t))}_$getArea(){var e=super._$getArea();if(e==null)throw new Error("Unable to get root area");return e}_$highlightDropZone(e,t,n){this.layoutManager.tabDropPlaceholder.remove(),super._$highlightDropZone(e,t,n)}_$onDrop(e,t){var n;if(it(e)&&(n=this.layoutManager.createContentItem({type:"stack",header:e.config.header||{}},this),n._$init(),n.addChild(e),e=n),!this.contentItems.length)this.addChild(e);else{var{side:r}=t,a=r==="left"||r==="right"?"row":"column",s=r==="left"||r==="right"?"width":"height",o=r==="left"||r==="top",d=this.contentItems[0];if(!(d instanceof Ir)||d.type!=a){var h=this.layoutManager.createContentItem({type:a},this);this.replaceChild(d,h),h.addChild(e,o?0:void 0,!0),h.addChild(d,o?void 0:0,!0),d.config[s]=50,e.config[s]=50,h.callDownwards("setSize")}else{var u,c=d.contentItems[o?0:d.contentItems.length-1];d.addChild(e,o?0:void 0,!0),c.config[s]=((u=c.config[s])!==null&&u!==void 0?u:0)*.5,e.config[s]=c.config[s],d.callDownwards("setSize")}}}}function Mo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Mn(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mo(Object(t),!0).forEach(function(n){qe(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Mo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function qe(i,e,t){return e=Sf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sf(i){var e=yf(i,"string");return typeof e=="symbol"?e:String(e)}function yf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ja extends Le{constructor(e,t,n){var r,a,s,o,d,h,u,c,m;super(e,t,n,V('<div class="lm_item lm_stack"></div>')),qe(this,"_activeContentItem",null),qe(this,"_header",void 0),qe(this,"childElementContainer",V('<div class="lm_items"></div>')),qe(this,"header",void 0),qe(this,"parent",void 0),qe(this,"isStack",!0),qe(this,"_dropZones",{}),qe(this,"_dropSegment",null),qe(this,"_contentAreaDimensions",null),qe(this,"_dropIndex",void 0),qe(this,"_side",void 0),qe(this,"_sided",!1),qe(this,"config",void 0),this.parent=n,this.config=t;var p=e.config;this._side=!1,this._header={show:((r=p.settings)===null||r===void 0?void 0:r.hasHeaders)&&t.hasHeaders!==!1,popout:(a=p.settings)!==null&&a!==void 0&&a.showPopoutIcon?(s=p.labels)===null||s===void 0?void 0:s.popout:void 0,maximise:(o=p.settings)!==null&&o!==void 0&&o.showMaximiseIcon?(d=p.labels)===null||d===void 0?void 0:d.maximise:void 0,close:(h=p.settings)!==null&&h!==void 0&&h.showCloseIcon?(u=p.labels)===null||u===void 0?void 0:u.close:void 0,minimise:(c=(m=p.labels)===null||m===void 0?void 0:m.minimise)!==null&&c!==void 0?c:void 0},p.header&&(this._header=Mn(Mn({},this._header),p.header)),t.header&&(this._header=Mn(Mn({},this._header),t.header)),t.content&&t.content[0]&&t.content[0].header&&(this._header=Mn(Mn({},this._header),t.content[0].header)),this.header=new Vt(e,this),this.element.append(this.header.element),this.element.append(this.childElementContainer),this._setupHeaderPosition(),this._$validateClosability()}setSize(){var e,t,n,r,a,s=this._header.show&&(e=(t=this.layoutManager.config.dimensions)===null||t===void 0?void 0:t.headerHeight)!==null&&e!==void 0?e:0,o=((n=this.element.width())!==null&&n!==void 0?n:0)-(this._sided?s:0),d=((r=this.element.height())!==null&&r!==void 0?r:0)-(this._sided?0:s);for(this.childElementContainer.width(o),this.childElementContainer.height(d),a=0;a<this.contentItems.length;a++)this.contentItems[a].element.width(o).height(d);this.emit("resize"),this.emitBubblingEvent("stateChanged")}_$init(){if(this.isInitialised!==!0){this.header._attachWheelListener(),super._$init();for(var e=0;e<this.contentItems.length;e++)this.header.createTab(this.contentItems[e]),this.contentItems[e]._$hide();if(this.contentItems.length>0){var t=this.contentItems[this.config.activeItemIndex||0];if(!t)throw new Error("Configured activeItemIndex out of bounds");this.setActiveContentItem(t)}}}setActiveContentItem(e){if(this.contentItems.indexOf(e)===-1)throw new Error("contentItem is not a child of this stack");this._activeContentItem!==null&&this._activeContentItem._$hide(),this._activeContentItem=e,this.header.setActiveContentItem(e),e._$show(),this.emit("activeContentItemChanged",e),this.layoutManager.emit("activeContentItemChanged",e),this.emitBubblingEvent("stateChanged")}getActiveContentItem(){return this.header.activeContentItem}addChild(e,t){e=this.layoutManager._$normalizeContentItem(e,this),super.addChild(e,t),this.childElementContainer.append(e.element),this.header.createTab(e,t),this.setActiveContentItem(e),this.callDownwards("setSize"),this._$validateClosability(),this.emitBubblingEvent("stateChanged")}removeChild(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=this.contentItems.indexOf(e);super.removeChild(e,t),this.header.removeTab(e),this.header.activeContentItem===e&&(this.contentItems.length>0?this.setActiveContentItem(this.contentItems[Math.max(n-1,0)]):this._activeContentItem=null),this._$validateClosability(),this.emitBubblingEvent("stateChanged")}_$validateClosability(){for(var e=this.header._isClosable(),t=0,n=this.contentItems.length;t<n;t++){var r;if(!e)break;e=(r=this.contentItems[t].config.isClosable)!==null&&r!==void 0?r:!1}this.header._$setClosable(e)}_$destroy(){Le.prototype._$destroy.call(this),this.header._$destroy()}_$onDrop(e){if(this._dropSegment==="header"){this._resetHeaderDropZone(),this.addChild(e,this._dropIndex);return}if(this._dropSegment==="body"){this.addChild(e);return}var t=this._dropSegment==="top"||this._dropSegment==="bottom",n=this._dropSegment==="left"||this._dropSegment==="right",r=this._dropSegment==="top"||this._dropSegment==="left",a=t&&this.parent.isColumn||n&&this.parent.isRow,s=t?"column":"row",o=t?"height":"width";if(it(e)){var d=this.layoutManager.createContentItem({type:"stack",header:e.config.header||{}},this);d._$init(),d.addChild(e),e=d}if(a){var h,u=this.parent.contentItems.indexOf(this);this.parent.addChild(e,r?u:u+1,!0),this.config[o]=((h=this.config[o])!==null&&h!==void 0?h:0)*.5,e.config[o]=this.config[o],this.parent.callDownwards("setSize")}else{var c=this.layoutManager.createContentItem({type:s},this);this.parent.replaceChild(this,c),c.addChild(e,r?0:void 0,!0),c.addChild(this,r?void 0:0,!0),this.config[o]=50,e.config[o]=50,c.callDownwards("setSize")}}_$highlightDropZone(e,t){if(this._contentAreaDimensions)for(var[n,r]of Object.entries(this._contentAreaDimensions)){var a=r.hoverArea;if(a.x1<e&&a.x2>e&&a.y1<t&&a.y2>t){n==="header"?(this._dropSegment="header",this._highlightHeaderDropZone(e)):(this._resetHeaderDropZone(),this._highlightBodyDropZone(n));return}}}_$getArea(){if(this.element.is(":visible")===!1)return null;var e=super._$getArea(this.header.element),t=super._$getArea(this.childElementContainer);if(e==null||t==null)return null;var n=t.x2-t.x1,r=t.y2-t.y1;return this._contentAreaDimensions={header:{hoverArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},highlightArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2}}},this._activeContentItem&&this._activeContentItem.isComponent===!1?e:this.contentItems.length===0?(this._contentAreaDimensions.body={hoverArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2}},super._$getArea(this.element)):(this._contentAreaDimensions.left={hoverArea:{x1:t.x1,y1:t.y1,x2:t.x1+n*.25,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x1+n*.5,y2:t.y2}},this._contentAreaDimensions.top={hoverArea:{x1:t.x1+n*.25,y1:t.y1,x2:t.x1+n*.75,y2:t.y1+r*.5},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y1+r*.5}},this._contentAreaDimensions.right={hoverArea:{x1:t.x1+n*.75,y1:t.y1,x2:t.x2,y2:t.y2},highlightArea:{x1:t.x1+n*.5,y1:t.y1,x2:t.x2,y2:t.y2}},this._contentAreaDimensions.bottom={hoverArea:{x1:t.x1+n*.25,y1:t.y1+r*.5,x2:t.x1+n*.75,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1+r*.5,x2:t.x2,y2:t.y2}},super._$getArea(this.element))}_highlightHeaderDropZone(e){var t,n,r,a,s,o,d,h,u,c,m,p,f,g,b,C,w=this.header.tabs.length;if(w===0){var S,y,E,M,O,x,N,W,q=this.header.element.offset();(S=this.layoutManager.dropTargetIndicator)===null||S===void 0||S.highlightArea({x1:(y=q?.left)!==null&&y!==void 0?y:0,x2:((E=q?.left)!==null&&E!==void 0?E:0)+100,y1:(M=(O=this.header.element.offset())===null||O===void 0?void 0:O.top)!==null&&M!==void 0?M:0,y2:((x=(N=this.header.element.offset())===null||N===void 0?void 0:N.top)!==null&&x!==void 0?x:0)+((W=this.header.element.innerHeight())!==null&&W!==void 0?W:0)});return}var k=this.header.tabsContainer,A=(t=k.get(0))===null||t===void 0?void 0:t.getBoundingClientRect(),U=(n=this.layoutManager.tabDropPlaceholder.get(0))===null||n===void 0?void 0:n.getBoundingClientRect();if(!(!A||!U)){e<A.left?e=A.left+1:e>A.right&&(e=A.right-1);var j,H;if(!(U.left<e&&e<U.right)){for(var K=0;K<w;K++){var de;if(j=this.header.tabs[K].element,H=(de=j.get(0))===null||de===void 0?void 0:de.getBoundingClientRect(),H&&H.left<e&&e<H.right){this._dropIndex=K;break}}if(j&&H&&e<H.left+H.width*.5)j.before(this.layoutManager.tabDropPlaceholder);else if(j){var ge;this._dropIndex=Math.min(((ge=this._dropIndex)!==null&&ge!==void 0?ge:0)+1,w),j.after(this.layoutManager.tabDropPlaceholder)}}var be=(r=(a=this.layoutManager.tabDropPlaceholder.offset())===null||a===void 0?void 0:a.left)!==null&&r!==void 0?r:0;be=Math.max(be,(s=(o=this.header.tabsContainer.offset())===null||o===void 0?void 0:o.left)!==null&&s!==void 0?s:0);var T=be+((d=this.layoutManager.tabDropPlaceholder.width())!==null&&d!==void 0?d:0);T=Math.min(T,((h=(u=this.header.tabsContainer.offset())===null||u===void 0?void 0:u.left)!==null&&h!==void 0?h:0)+((c=this.header.tabsContainer.innerWidth())!==null&&c!==void 0?c:0)),(m=this.layoutManager.dropTargetIndicator)===null||m===void 0||m.highlightArea({x1:be,x2:T,y1:(p=(f=this.header.element.offset())===null||f===void 0?void 0:f.top)!==null&&p!==void 0?p:0,y2:((g=(b=this.header.element.offset())===null||b===void 0?void 0:b.top)!==null&&g!==void 0?g:0)+((C=this.header.element.innerHeight())!==null&&C!==void 0?C:0)})}}_resetHeaderDropZone(){this.layoutManager.tabDropPlaceholder.remove()}_setupHeaderPosition(){var e=["right","left","bottom"].some(n=>n===this._header.show)?this._header.show:void 0;if(this.header.element.toggle(!!this._header.show),!!e&&(this._side=e,this._sided=["right","left"].indexOf(this._side.toString())>=0,this.element.removeClass("lm_left lm_right lm_bottom"),this._side&&this.element.addClass("lm_"+this._side),this.element.find(".lm_header").length&&this.childElementContainer)){var t=["right","bottom"].indexOf(this._side.toString())>=0?"before":"after";this.header.element[t](this.childElementContainer),this.callDownwards("setSize")}}_highlightBodyDropZone(e){var t,n,r=(t=this._contentAreaDimensions)===null||t===void 0||(n=t[e])===null||n===void 0?void 0:n.highlightArea;if(r){var a;(a=this.layoutManager.dropTargetIndicator)===null||a===void 0||a.highlightArea(r)}this._dropSegment=e}}const wf=Object.freeze(Object.defineProperty({__proto__:null,AbstractContentItem:Le,Component:wh,ContentItem:Le,Root:Ra,RowOrColumn:Ir,Stack:ja,isComponent:it,isRoot:yh,isStack:xi},Symbol.toStringTag,{value:"Module"}));function Ut(i,e,t){return e=Ef(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ef(i){var e=Pf(i,"string");return typeof e=="symbol"?e:String(e)}function Pf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Vi{constructor(e,t){var n;Ut(this,"header",void 0),Ut(this,"contentItem",void 0),Ut(this,"element",V(Vi._template)),Ut(this,"titleElement",void 0),Ut(this,"closeElement",void 0),Ut(this,"isActive",!1),Ut(this,"_layoutManager",void 0),Ut(this,"_dragListener",void 0),this.header=e,this.contentItem=t,this.titleElement=this.element.find(".lm_title"),this.closeElement=this.element.find(".lm_close_tab"),this.closeElement[t.config.isClosable?"show":"hide"](),this.setTitle(t.config.title),this.contentItem.on("titleChanged",this.setTitle,this),this._layoutManager=this.contentItem.layoutManager,(n=this._layoutManager.config.settings)!==null&&n!==void 0&&n.reorderEnabled&&t.config.reorderEnabled&&(this._dragListener=new Ui(this.element),this._dragListener.on("dragStart",this._onDragStart,this),this.contentItem.on("destroy",this._dragListener.destroy,this._dragListener)),this._onTabClick=this._onTabClick.bind(this),this._onCloseClick=this._onCloseClick.bind(this),this._onTabContentFocusIn=this._onTabContentFocusIn.bind(this),this._onTabContentFocusOut=this._onTabContentFocusOut.bind(this),this.element.on("click",this._onTabClick),this.element.on("auxclick",this._onTabClick),this.contentItem.config.isClosable?(this.closeElement.on("click",this._onCloseClick),this.closeElement.on("mousedown",this._onCloseMousedown)):this.closeElement.remove(),this.contentItem.tab=this,this.contentItem.emit("tab",this),this.contentItem.layoutManager.emit("tabCreated",this),it(this.contentItem)&&(this.contentItem.container._contentElement.on("focusin",this._onTabContentFocusIn).on("focusout",this._onTabContentFocusOut),this.contentItem.container.tab=this,this.contentItem.container.emit("tab",this))}setTitle(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";this.titleElement.html(e)}setActive(e){e!==this.isActive&&(this.isActive=e,e?this.element.addClass("lm_active"):this.element.removeClass("lm_active"))}_$destroy(){this.element.off("click",this._onTabClick),this.element.off("auxclick",this._onTabClick),this.closeElement.off("click",this._onCloseClick),it(this.contentItem)&&(this.contentItem.container._contentElement.off(),this.contentItem.container._contentElement[0].removeEventListener("click",this._onTabContentFocusIn,!0)),this._dragListener&&(this.contentItem.off("destroy",this._dragListener.destroy,this._dragListener),this._dragListener.off("dragStart",this._onDragStart),this._dragListener=void 0),this.element.remove()}_onDragStart(e,t){var n;(n=this.contentItem.parent)!==null&&n!==void 0&&n.isMaximised&&this.contentItem.parent.toggleMaximise(),this._dragListener&&new In(e,t,this._dragListener,this._layoutManager,this.contentItem,this.header.parent)}_onTabContentFocusIn(){V(".lm_focusin",this._layoutManager.root.element).removeClass("lm_focusin"),this.element.addClass("lm_focusin")}_onTabContentFocusOut(){it(this.contentItem)&&!this.contentItem.container._contentElement[0].contains(document.activeElement)&&this.element.removeClass("lm_focusin")}_onTabClick(e){if(!e||e.button===0){var t,n=this.header.parent.getActiveContentItem();this.contentItem!==n&&it(this.contentItem)?this.header.parent.setActiveContentItem(this.contentItem):it(this.contentItem)&&!this.contentItem.container._contentElement[0].contains(document.activeElement)&&this.contentItem.container._contentElement.focus(),it(this.contentItem)&&this.contentItem.container.emit("tabClicked",e),this.header._hideAdditionalTabsDropdown(),(t=this.element.get(0))===null||t===void 0||t.scrollIntoView({inline:"nearest"})}else e.button===1&&this.contentItem.config.isClosable&&this._onCloseClick(e)}_onCloseClick(e){e.stopPropagation(),it(this.contentItem)?this.contentItem.container.close():this.header.parent.removeChild(this.contentItem)}_onCloseMousedown(e){e.stopPropagation()}}Ut(Vi,"_template",['<li class="lm_tab">','<span class="lm_title_before"></span>','<span class="lm_title"></span>','<div class="lm_close_tab" aria-label="Close tab"></div>',"</li>"].join(""));function ne(i,e,t){return e=_f(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _f(i){var e=Tf(i,"string");return typeof e=="symbol"?e:String(e)}function Tf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Vt extends Ot{constructor(e,t){var n,r;super(),ne(this,"layoutManager",void 0),ne(this,"element",V(Vt._template)),ne(this,"tabsContainer",void 0),ne(this,"tabDropdownContainer",void 0),ne(this,"tabDropdownSearch",void 0),ne(this,"tabDropdownList",null),ne(this,"controlsContainer",void 0),ne(this,"parent",void 0),ne(this,"tabs",[]),ne(this,"activeContentItem",null),ne(this,"closeButton",null),ne(this,"tabDropdownButton",null),ne(this,"tabNextButton",V(Vt._nextButtonTemplate)),ne(this,"tabPreviousButton",V(Vt._previousButtonTemplate)),ne(this,"holdTimer",null),ne(this,"rAF",null),ne(this,"CLICK_TIMEOUT",500),ne(this,"START_SPEED",.01),ne(this,"ACCELERATION",5e-4),ne(this,"PADDING",10),ne(this,"SCROLL_LEFT","left"),ne(this,"SCROLL_RIGHT","right"),ne(this,"isDraggingTab",!1),ne(this,"isOverflowing",!1),ne(this,"isDropdownShown",!1),ne(this,"dropdownKeyIndex",0),ne(this,"_lastVisibleTabIndex",-1),ne(this,"_tabControlOffset",void 0),this.layoutManager=e,(n=this.layoutManager.config.settings)!==null&&n!==void 0&&n.selectionEnabled&&(this.element.addClass("lm_selectable"),this.element.on("click",this._onHeaderClick.bind(this))),this.tabsContainer=this.element.find(".lm_tabs"),this.tabDropdownContainer=this.element.find(".lm_tabdropdown_list"),this.tabDropdownContainer.hide(),this.tabDropdownSearch=this.element.find(".lm_tabdropdown_search input"),this._handleFilterInput=this._handleFilterInput.bind(this),this._handleFilterKeydown=this._handleFilterKeydown.bind(this),this.tabDropdownSearch.on("input",this._handleFilterInput),this.tabDropdownSearch.on("keydown",this._handleFilterKeydown),this.controlsContainer=this.element.find(".lm_controls"),this.parent=t,this.parent.on("resize",this._updateTabSizes,this),this._handleItemPickedUp=this._handleItemPickedUp.bind(this),this._handleItemDropped=this._handleItemDropped.bind(this),this._handleNextMouseEnter=this._handleNextMouseEnter.bind(this),this._handleNextMouseLeave=this._handleNextMouseLeave.bind(this),this._handlePreviousMouseEnter=this._handlePreviousMouseEnter.bind(this),this._handlePreviousMouseLeave=this._handlePreviousMouseLeave.bind(this),this._handleScrollRepeat=this._handleScrollRepeat.bind(this),this._handleNextButtonMouseDown=this._handleNextButtonMouseDown.bind(this),this._handlePreviousButtonMouseDown=this._handlePreviousButtonMouseDown.bind(this),this._handleScrollButtonMouseDown=this._handleScrollButtonMouseDown.bind(this),this._handleScrollButtonMouseUp=this._handleScrollButtonMouseUp.bind(this),this._handleScrollEvent=this._handleScrollEvent.bind(this),this.tabNextButton.on("mousedown",this._handleNextButtonMouseDown),this.tabPreviousButton.on("mousedown",this._handlePreviousButtonMouseDown),this.tabsContainer.on("scroll",this._handleScrollEvent),this.layoutManager.on("itemPickedUp",this._handleItemPickedUp),this.layoutManager.on("itemDropped",this._handleItemDropped),this.tabsContainer.before(this.tabPreviousButton),this.tabPreviousButton=this.tabPreviousButton.find(">:first-child"),this.tabPreviousButton.hide(),this._showAdditionalTabsDropdown=this._showAdditionalTabsDropdown.bind(this),this._hideAdditionalTabsDropdown=this._hideAdditionalTabsDropdown.bind(this),this._tabControlOffset=(r=this.layoutManager.config.settings)===null||r===void 0?void 0:r.tabControlOffset,this._createControls()}createTab(e,t){for(var n=0;n<this.tabs.length;n++)if(this.tabs[n].contentItem===e)return;var r=new Vi(this,e);if(this.tabs.length===0){this.tabs.push(r),this.tabsContainer.append(r.element);return}t===void 0&&(t=this.tabs.length),t>0?this.tabs[t-1].element.after(r.element):this.tabs[0].element.before(r.element),this.tabs.splice(t,0,r),this._updateTabSizes()}removeTab(e){for(var t=0;t<this.tabs.length;t++)if(this.tabs[t].contentItem===e){this.tabs[t]._$destroy(),this.tabs.splice(t,1);return}throw new Error("contentItem is not controlled by this header")}setActiveContentItem(e){for(var t,n,r,a=0;a<this.tabs.length;a++)r=this.tabs[a].contentItem===e,this.tabs[a].setActive(r),r===!0&&(this.activeContentItem=e,this.parent.config.activeItemIndex=a);(t=this.tabs[(n=this.parent.config.activeItemIndex)!==null&&n!==void 0?n:0].element.get(0))===null||t===void 0||t.scrollIntoView({inline:"nearest"}),this._hideAdditionalTabsDropdown(),this._updateTabSizes(),this.parent.emitBubblingEvent("stateChanged")}position(e){var t=this.parent._header.show;return t&&!this.parent._side&&(t="top"),e!==void 0&&this.parent._header.show!==e&&(this.parent._header.show=e,this.parent._setupHeaderPosition()),t}_attachWheelListener(){var e;(e=this.tabsContainer.get(0))===null||e===void 0||e.addEventListener("wheel",this._handleWheelEvent,{passive:!0})}_detachWheelListener(){var e;(e=this.tabsContainer.get(0))===null||e===void 0||e.removeEventListener("wheel",this._handleWheelEvent)}_handleWheelEvent(e){var t=e.currentTarget;if(t instanceof HTMLElement){var n=Math.abs(e.deltaY)>Math.abs(e.deltaX)?e.deltaY:e.deltaX;if(e.deltaMode===WheelEvent.DOM_DELTA_PAGE){var r;n*=(r=this.tabsContainer.innerWidth())!==null&&r!==void 0?r:1}else e.deltaMode===WheelEvent.DOM_DELTA_LINE&&(n*=100/3);t.scrollLeft+=Math.round(n)}}_handleScrollEvent(){this._checkScrollArrows()}_handleItemPickedUp(){this.isDraggingTab=!0,this.isDropdownShown&&this._hideAdditionalTabsDropdown(),this.controlsContainer.on("mouseenter",this._handleNextMouseEnter),this.tabPreviousButton.on("mouseenter",this._handlePreviousMouseEnter)}_handleItemDropped(){var e;this.isDraggingTab=!1,window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.controlsContainer.off("mouseenter",this._handleNextMouseEnter),this.controlsContainer.off("mouseleave",this._handleNextMouseLeave),this.tabPreviousButton.off("mouseenter",this._handlePreviousMouseEnter),this.tabPreviousButton.off("mouseleave",this._handlePreviousMouseLeave)}_handleNextMouseEnter(){var e;this.controlsContainer.on("mouseleave",this._handleNextMouseLeave),this._handleScrollRepeat(this.SCROLL_RIGHT,(e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)}_handlePreviousMouseEnter(){var e;this.tabPreviousButton.on("mouseleave",this._handlePreviousMouseLeave),this._handleScrollRepeat(this.SCROLL_LEFT,(e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)}_handleNextMouseLeave(){var e;window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.controlsContainer.off("mouseleave",this._handleNextMouseLeave)}_handlePreviousMouseLeave(){var e;window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.tabPreviousButton.off("mouseleave",this._handlePreviousMouseLeave)}_handleNextButtonMouseDown(){for(var e,t=0;t<this.tabs.length;t+=1){var n,r,a,s,o;if(((n=(r=this.tabs[t].element.get(0))===null||r===void 0?void 0:r.offsetLeft)!==null&&n!==void 0?n:0)>((a=(s=this.tabsContainer.get(0))===null||s===void 0?void 0:s.offsetWidth)!==null&&a!==void 0?a:0)+((o=this.tabsContainer.scrollLeft())!==null&&o!==void 0?o:0)){e=this.tabs[t].element.get(0);break}}if(e)e.scrollIntoView({behavior:"smooth",inline:"nearest"}),this._handleScrollButtonMouseDown(this.SCROLL_RIGHT);else{var d=this.tabsContainer.get(0);if(d){var h,u;d.scrollLeft=(h=(u=this.tabsContainer.get(0))===null||u===void 0?void 0:u.scrollWidth)!==null&&h!==void 0?h:0}}}_handlePreviousButtonMouseDown(){for(var e,t=this.tabs.length-1;t>=0;t-=1){var n,r,a;if(((n=(r=this.tabs[t].element.get(0))===null||r===void 0?void 0:r.offsetLeft)!==null&&n!==void 0?n:0)<((a=this.tabsContainer.scrollLeft())!==null&&a!==void 0?a:0)){e=this.tabs[t].element.get(0);break}}if(e)e.scrollIntoView({behavior:"smooth",inline:"start"}),this._handleScrollButtonMouseDown(this.SCROLL_LEFT);else{var s=this.tabsContainer.get(0);s&&(s.scrollLeft=0)}}_handleScrollButtonMouseDown(e){this.holdTimer=window.setTimeout(()=>{var t;this._handleScrollRepeat(e,(t=this.tabsContainer.scrollLeft())!==null&&t!==void 0?t:0,100)},this.CLICK_TIMEOUT),window.addEventListener("mouseup",this._handleScrollButtonMouseUp)}_handleScrollButtonMouseUp(){var e,t;clearTimeout((e=this.holdTimer)!==null&&e!==void 0?e:-1),this.holdTimer=null,cancelAnimationFrame((t=this.rAF)!==null&&t!==void 0?t:-1),this.rAF=null,window.removeEventListener("mouseup",this._handleScrollButtonMouseUp)}_checkScrollArrows(){var e,t,n;this.tabsContainer.scrollLeft()===0?this.tabPreviousButton.first().prop("disabled",!0):((e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)+((t=this.tabsContainer.innerWidth())!==null&&t!==void 0?t:0)===((n=this.tabsContainer.get(0))===null||n===void 0?void 0:n.scrollWidth)?this.tabNextButton.prop("disabled",!0):(this.tabNextButton.prop("disabled",!1),this.tabPreviousButton.first().prop("disabled",!1))}_handleScrollRepeat(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3?arguments[3]:void 0,s=this.tabsContainer.get(0);if(s){var o=s.getBoundingClientRect();if(e===this.SCROLL_LEFT){if(this.tabsContainer.scrollLeft(t-r),this.isDraggingTab&&this.parent._highlightHeaderDropZone(o.left-1),this.tabsContainer.scrollLeft()===0){this._checkScrollArrows();return}}else if(e===this.SCROLL_RIGHT){var d,h;if(this.tabsContainer.scrollLeft(t+r),this.isDraggingTab&&this.parent._highlightHeaderDropZone(o.right+1),((d=this.tabsContainer.scrollLeft())!==null&&d!==void 0?d:0)+((h=this.tabsContainer.innerWidth())!==null&&h!==void 0?h:0)===s.scrollWidth){this._checkScrollArrows();return}}window.cancelAnimationFrame((n=this.rAF)!==null&&n!==void 0?n:-1),this.rAF=window.requestAnimationFrame(u=>{var c,m,p=a||u,f=u-p,g=this.START_SPEED*f+.5*this.ACCELERATION*(f*f);g=Math.min(g,(c=(m=this.tabsContainer.get(0))===null||m===void 0?void 0:m.scrollWidth)!==null&&c!==void 0?c:1/0),this._handleScrollRepeat(e,t,g,p)})}}_$setClosable(e){return this.closeButton&&this._isClosable()?(this.closeButton.element[e?"show":"hide"](),!0):!1}_$destroy(){this.emit("destroy",this);for(var e=0;e<this.tabs.length;e++)this.tabs[e]._$destroy();this._detachWheelListener(),this._handleItemDropped(),V(document).off("mouseup",this._hideAdditionalTabsDropdown),this.tabDropdownSearch.off("input",this._handleFilterInput),this.tabDropdownSearch.off("keydown",this._handleFilterKeydown),this.element.remove()}_getHeaderSetting(e){if(e in this.parent._header)return this.parent._header[e]}_createControls(){var e,t,n,r,a;if(a=this.layoutManager.config.labels.tabDropdown,this.layoutManager.config.labels.tabNextLabel,this.layoutManager.config.labels.tabPreviousLabel,this.tabDropdownButton=new fi(this,a,"lm_tabdropdown",this._showAdditionalTabsDropdown),this.tabDropdownButton.element.hide(),this.controlsContainer.prepend(this.tabNextButton),this.tabNextButton.hide(),this._getHeaderSetting("popout")&&(t=this._onPopoutClick.bind(this),n=this._getHeaderSetting("popout"),new fi(this,n,"lm_popout",t)),this._getHeaderSetting("maximise")){r=this.parent.toggleMaximise.bind(this.parent);var s=this._getHeaderSetting("maximise"),o=this._getHeaderSetting("minimise"),d=new fi(this,s,"lm_maximise",r);this.parent.on("maximised",function(){d.element.attr("title",o??"")}),this.parent.on("minimised",function(){d.element.attr("title",s??"")})}this._isClosable()&&(e=this.parent.remove.bind(this.parent),n=this._getHeaderSetting("close"),this.closeButton=new fi(this,n,"lm_close",e))}_showAdditionalTabsDropdown(){if(this.isDropdownShown){this._hideAdditionalTabsDropdown();return}this.tabDropdownList=this.tabsContainer.clone(!0).appendTo(this.tabDropdownContainer).children().removeClass("lm_active"),V(document.body).append(this.tabDropdownContainer),this.tabDropdownContainer.show(),this.isDropdownShown=!0,this.element.addClass("lm_dropdown_open"),this.tabDropdownSearch.val("").focus(),this.dropdownKeyIndex=0,this.tabDropdownList.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active"),V(document).on("mousedown",this._hideAdditionalTabsDropdown),this._updateAdditionalTabsDropdown()}_handleFilterKeydown(e){if(e.key==="Escape"){this._hideAdditionalTabsDropdown();return}if(this.dropdownKeyIndex===-1)return;if(e.key==="Enter"||e.key===" "){this._hideAdditionalTabsDropdown(),this.tabs[this.dropdownKeyIndex]._onTabClick();return}function t(o,d,h){if(h==null||h.length<2)return-1;for(var u=(o+d+h.length)%h.length;u!==o;){if(h.eq(u).css("display")!=="none")return u;u=(u+d+h.length)%h.length}return o}if(e.key==="ArrowDown"||e.key==="Tab"&&e.shiftKey===!1){var n,r;e.preventDefault(),(n=this.tabDropdownList)===null||n===void 0||n.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=t(this.dropdownKeyIndex,1,this.tabDropdownList),(r=this.tabDropdownList)===null||r===void 0||r.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}else if(e.key==="ArrowUp"||e.key==="Tab"){var a,s;e.preventDefault(),(a=this.tabDropdownList)===null||a===void 0||a.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=t(this.dropdownKeyIndex,-1,this.tabDropdownList),(s=this.tabDropdownList)===null||s===void 0||s.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}}_handleFilterInput(e){if(this.tabDropdownList!=null){this.tabDropdownList.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=-1;for(var t=0;t<this.tabDropdownList.length;t++){var n,r;((n=(r=this.tabs[t].contentItem.config.title)===null||r===void 0?void 0:r.toLowerCase().indexOf(e.target.value.toLowerCase()))!==null&&n!==void 0?n:-1)!==-1?(this.tabDropdownList.eq(t).css("display",""),this.dropdownKeyIndex===-1&&(this.dropdownKeyIndex=t)):this.tabDropdownList.eq(t).css("display","none")}this.dropdownKeyIndex!==-1&&this.tabDropdownList.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}}_hideAdditionalTabsDropdown(e){var t,n;this.isDropdownShown&&(e&&(t=this.tabDropdownContainer.get(0))!==null&&t!==void 0&&t.contains(e.target)||e&&((n=this.tabDropdownButton)===null||n===void 0?void 0:n.element.get(0))===e.target||(this.element.removeClass("lm_dropdown_open"),this.tabDropdownContainer.hide(),this.isDropdownShown=!1,this.element.append(this.tabDropdownContainer),this.tabDropdownContainer.find(".lm_tabs").remove(),V(document).off("mousedown",this._hideAdditionalTabsDropdown)))}_updateAdditionalTabsDropdown(){var e,t,n,r;if(this.isDropdownShown&&!(!this.tabDropdownList||this.tabDropdownList.length==0)){var a=(e=(t=this.tabDropdownContainer.get(0))===null||t===void 0?void 0:t.scrollHeight)!==null&&e!==void 0?e:0;if(a!==0){var s=this.tabDropdownContainer[0].getBoundingClientRect(),o=(n=V(window).height())!==null&&n!==void 0?n:0,d=(r=V(window).width())!==null&&r!==void 0?r:0;if(this.tabDropdownButton){var h=this.tabDropdownButton.element[0].getBoundingClientRect(),u=a<o-h.bottom,c=!u&&h.bottom>o*.6,m=Math.min(h.left+(c?h.width:0),d-s.width-this.PADDING),p=c?Math.max(h.top-a,this.PADDING):h.bottom,f=o-p-this.PADDING;this.tabDropdownContainer.css({"max-height":f,top:p,left:m})}}}}_isClosable(){return!!(this.parent.config.isClosable&&this.layoutManager.config.settings.showCloseIcon)}_onPopoutClick(){if(this.layoutManager.config.settings.popoutWholeStack===!0)this.parent.popout();else{var e;(e=this.activeContentItem)===null||e===void 0||e.popout()}}_onHeaderClick(e){e.target===this.element[0]&&this.parent.select()}_updateTabSizes(){if(this.tabs.length!==0){var e=this.tabsContainer.get(0);if(this.isDropdownShown&&this._updateAdditionalTabsDropdown(),!!e){if(!this.isOverflowing&&e.scrollWidth>e.clientWidth){var t;(t=this.tabDropdownButton)===null||t===void 0||t.element.show(),this.tabNextButton.show(),this.tabPreviousButton.show(),this.isOverflowing=!0}else if(this.isOverflowing&&e.scrollWidth<=e.clientWidth){var n;(n=this.tabDropdownButton)===null||n===void 0||n.element.hide(),this.tabNextButton.hide(),this.tabPreviousButton.hide(),this.isOverflowing=!1}this.isOverflowing&&this._checkScrollArrows()}}}}ne(Vt,"_template",['<div class="lm_header">','<ul class="lm_tabs"></ul>','<ul class="lm_controls"></ul>','<ul class="lm_tabdropdown_list">','<li class="lm_tabdropdown_search"><input type="text" placeholder="Find tab..."></li>',"</ul>","</div>"].join(""));ne(Vt,"_previousButtonTemplate",['<ul class="lm_controls">','<li class="lm_tabpreviousbutton"></li>',"</ul>"].join(""));ne(Vt,"_nextButtonTemplate",['<li class="lm_tabnextbutton"></li>'].join(""));function oi(i,e,t){return e=Of(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Of(i){var e=Df(i,"string");return typeof e=="symbol"?e:String(e)}function Df(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Eh{constructor(e,t,n){oi(this,"_isVertical",void 0),oi(this,"_size",void 0),oi(this,"_grabSize",void 0),oi(this,"_dragListener",void 0),oi(this,"element",void 0),this._isVertical=e,this._size=t,this._grabSize=n<t?t:n,this.element=this._createElement(),this._dragListener=new Ui(this.element)}on(e,t,n){var r;(r=this._dragListener)===null||r===void 0||r.on(e,t,n)}_$destroy(){var e;(e=this._dragListener)===null||e===void 0||e.destroy(),this._dragListener=null,this.element.remove()}_createElement(){var e=V('<div class="lm_drag_handle"></div>'),t=V('<div class="lm_splitter"></div>');t.append(e);var n=this._grabSize-this._size,r=n/2;return this._isVertical?(e.css("top",-r),e.css("height",this._size+n),t.addClass("lm_vertical"),t.height(this._size)):(e.css("left",-r),e.css("width",this._size+n),t.addClass("lm_horizontal"),t.width(this._size)),t}}const If=Object.freeze(Object.defineProperty({__proto__:null,BrowserPopout:gh,DragProxy:In,DragSource:bh,DragSourceFromEvent:Ch,DropTargetIndicator:Hi,Header:Vt,HeaderButton:fi,Splitter:Eh,Tab:Vi},Symbol.toStringTag,{value:"Module"}));var xf={config:Tv,container:Nv,controls:If,errors:uf,items:wf,utils:zv};const Nf=xf;function Fo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ke(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fo(Object(t),!0).forEach(function(n){ae(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Fo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ae(i,e,t){return e=Lf(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Lf(i){var e=Mf(i,"string");return typeof e=="symbol"?e:String(e)}function Mf(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ph extends Ot{static minifyConfig(e){return ms(e)}static unminifyConfig(e){return La(e)}constructor(e,t){super(),ae(this,"isInitialised",!1),ae(this,"_isFullPage",!1),ae(this,"_resizeTimeoutId",void 0),ae(this,"_components",{"lm-react-component":vh}),ae(this,"_fallbackComponent",void 0),ae(this,"_itemAreas",[]),ae(this,"_maximisedItem",null),ae(this,"_maximisePlaceholder",V('<div class="lm_maximise_place"></div>')),ae(this,"_creationTimeoutPassed",!1),ae(this,"_subWindowsCreated",!1),ae(this,"_dragSources",[]),ae(this,"_updatingColumnsResponsive",!1),ae(this,"_firstLoad",!0),ae(this,"_reactChildMap",new Map),ae(this,"_reactChildren",null),ae(this,"width",null),ae(this,"height",null),ae(this,"root",void 0),ae(this,"openPopouts",[]),ae(this,"selectedItem",null),ae(this,"isSubWindow",!1),ae(this,"eventHub",new fh(this)),ae(this,"config",void 0),ae(this,"container",void 0),ae(this,"_originalContainer",void 0),ae(this,"dropTargetIndicator",null),ae(this,"tabDropPlaceholder",V('<div class="lm_drop_tab_placeholder"></div>')),ae(this,"_typeToItem",void 0),this._onResize=this._onResize.bind(this),this._onUnload=this._onUnload.bind(this),this._windowBlur=this._windowBlur.bind(this),this._windowFocus=this._windowFocus.bind(this),this.config=this._createConfig(e),this._originalContainer=t,this.container=this._getContainer(),this.isSubWindow&&V("body").css("visibility","hidden"),this._typeToItem={column:Ir.bind(this,!0),row:Ir.bind(this,!1),stack:ja,component:wh}}registerComponent(e,t){if(typeof t!="function"&&(t==null||t.render==null||typeof t.render!="function"))throw new Error("Please register a constructor function");if(this._components[e]!==void 0)throw new Error("Component "+e+" is already registered");this._components[e]=t;var n=()=>{if(this._components[e]===void 0)throw new Error("Component "+e+" is not registered");delete this._components[e]};return n}setFallbackComponent(e){this._fallbackComponent=e}toConfig(e){if(this.isInitialised===!1)throw new Error("Can't create config, layout not yet initialised");if(e&&!(e instanceof Le))throw new Error("Root must be a ContentItem");var t={settings:Ke({},this.config.settings),dimensions:Ke({},this.config.dimensions),labels:Ke({},this.config.labels),content:[]},n=function a(s,o){for(var d in o.config)d!=="content"&&(s[d]=o.config[d]);if(s.componentName==="lm-react-component"&&(s.type="react-component"),o.contentItems.length){s.content=[];for(var h=0;h<o.contentItems.length;h++)s.content[h]={},a(s.content[h],o.contentItems[h])}};e?n(t,{contentItems:[e]}):n(t,this.root),this._$reconcilePopoutWindows(),t.openPopouts=[];for(var r=0;r<this.openPopouts.length;r++)t.openPopouts.push(this.openPopouts[r].toConfig());return t.maximisedItemId=this._maximisedItem?"__glMaximised":void 0,t}getComponent(e){return this._components[e]}getFallbackComponent(){return this._fallbackComponent}init(){if(this._subWindowsCreated===!1&&(this._createSubWindows(),this._subWindowsCreated=!0),document.readyState==="loading"||document.body===null){V(document).ready(this.init.bind(this));return}if(this.isSubWindow===!0&&this._creationTimeoutPassed===!1){setTimeout(this.init.bind(this),7),this._creationTimeoutPassed=!0;return}this.isSubWindow===!0&&this._adjustToWindowMode(),this._setContainer(),this.dropTargetIndicator=new Hi,this.updateSize(),this._create(this.config),this._bindEvents(),this.isInitialised=!0,this._adjustColumnsResponsive(),this.emit("initialised")}addReactChild(e,t){this._reactChildMap.set(e,t),this._reactChildren=[...this._reactChildMap.values()],this.emit("reactChildrenChanged")}removeReactChild(e,t){var n=this._reactChildMap.get(e);n===t&&(this._reactChildMap.delete(e),this._reactChildren=[...this._reactChildMap.values()],this.emit("reactChildrenChanged"))}getReactChildren(){return this._reactChildren}updateSize(e,t){var n,r;if(this.width=(n=e??this.container.width())!==null&&n!==void 0?n:0,this.height=(r=t??this.container.height())!==null&&r!==void 0?r:0,this.isInitialised===!0){if(this.root.callDownwards("setSize",[this.width,this.height]),this._maximisedItem){var a,s;this._maximisedItem.element.width((a=this.container.width())!==null&&a!==void 0?a:0),this._maximisedItem.element.height((s=this.container.height())!==null&&s!==void 0?s:0),this._maximisedItem.callDownwards("setSize")}this._adjustColumnsResponsive()}}destroy(){var e;this.isInitialised===!1||!this.root||(this._onUnload(),V(window).off("resize",this._onResize),V(window).off("unload beforeunload",this._onUnload),V(window).off("blur.lm").off("focus.lm"),this.root.callDownwards("_$destroy",[],!0),this.root.contentItems=[],this.tabDropPlaceholder.remove(),(e=this.dropTargetIndicator)===null||e===void 0||e.destroy(),this.eventHub.destroy(),this._dragSources.forEach(function(t){t._dragListener.destroy()}),this._dragSources=[])}createContentItem(e,t){var n,r;if(typeof e.type!="string")throw new yn("Missing parameter 'type'",e);if(e.type==="react-component"&&(e.type="component",e.componentName="lm-react-component"),!this._typeToItem[e.type])throw n="Unknown type '"+e.type+"'. Valid types are "+Object.keys(this._typeToItem).join(","),new yn(n);return e.type==="component"&&!(t instanceof ja)&&t&&!(this.isSubWindow===!0&&t instanceof Ra)&&(e={type:"stack",width:e.width,height:e.height,content:[e]}),r=new this._typeToItem[e.type](this,e,t),r}createPopout(e,t,n,r){var a=[],s=e instanceof Le,o=this;if(s){var d;a=this.toConfig(e).content,n=us();for(var h=e.parent,u=e;((c=h)===null||c===void 0?void 0:c.contentItems.length)===1&&!h.isRoot;){var c;u=h,h=h.parent}if((d=h)===null||d===void 0||d.addId(n),r==null||Number.isNaN(r)){var m;r=(m=h)===null||m===void 0?void 0:m.contentItems.indexOf(u)}}else e instanceof Array?a=e:a=[e];if(!t&&s){var p,f,g,b=window.screenX||window.screenLeft,C=window.screenY||window.screenTop,w=(p=e.element.offset())!==null&&p!==void 0?p:{left:0,top:0};t={left:b+w.left,top:C+w.top,width:(f=e.element.width())!==null&&f!==void 0?f:0,height:(g=e.element.height())!==null&&g!==void 0?g:0}}if(!t&&!s&&(t={left:window.screenX||window.screenLeft+20,top:window.screenY||window.screenTop+20,width:500,height:309}),s&&e.remove(),!(!t||!n||r===void 0)){var S=new gh(a,t,n,r,this);return S.on("initialised",function(){o.emit("windowOpened",S)}),S.on("closed",function(){o._$reconcilePopoutWindows()}),this.openPopouts.push(S),S}}createDragSource(e,t){this.config.settings.constrainDragToContainer=!1;var n=new bh(e,t,this);return this._dragSources.push(n),n}createDragSourceFromEvent(e,t){return this.config.settings.constrainDragToContainer=!1,new Ch(e,this,t)}selectItem(e,t){if(this.config.settings.selectionEnabled!==!0)throw new Error("Please set selectionEnabled to true to use this feature");e!==this.selectedItem&&(this.selectedItem!==null&&this.selectedItem.deselect(),e&&t!==!0&&e.select(),this.selectedItem=e,this.emit("selectionChanged",e))}_$maximiseItem(e){var t,n;this._maximisedItem!==null&&this._$minimiseItem(this._maximisedItem),this._maximisedItem=e,this._maximisedItem.addId("__glMaximised"),e.element.addClass("lm_maximised"),e.element.after(this._maximisePlaceholder),this.root.element.prepend(e.element),e.element.width((t=this.container.width())!==null&&t!==void 0?t:0),e.element.height((n=this.container.height())!==null&&n!==void 0?n:0),e.callDownwards("setSize"),this._maximisedItem.emit("maximised"),this.emit("stateChanged")}_$minimiseItem(e){var t;e.element.removeClass("lm_maximised"),e.removeId("__glMaximised"),this._maximisePlaceholder.after(e.element),this._maximisePlaceholder.remove(),(t=e.parent)===null||t===void 0||t.callDownwards("setSize"),this._maximisedItem=null,e.emit("minimised"),this.emit("stateChanged")}_$closeWindow(){window.setTimeout(function(){window.close()},1)}_$getArea(e,t){for(var n=1/0,r=null,a=0;a<this._itemAreas.length;a++){var s=this._itemAreas[a];e>s.x1&&e<s.x2&&t>s.y1&&t<s.y2&&n>s.surface&&(n=s.surface,r=s)}return r}_$createRootItemAreas(){var e=50,t=Ke({},this.root._$getArea()),n=[Ke(Ke({},t),{},{side:"left",x2:t.x1+e}),Ke(Ke({},t),{},{side:"right",x1:t.x2-e}),Ke(Ke({},t),{},{side:"top",y2:t.y1+e}),Ke(Ke({},t),{},{side:"bottom",y1:t.y2-e})];n.forEach(r=>{r.surface=(r.x2-r.x1)*(r.y2-r.y1)}),this._itemAreas.push(...n)}_$calculateItemAreas(){var e=this._getAllContentItems();if(this._itemAreas=[],e.length===1){this._itemAreas.push(this.root._$getArea());return}this._$createRootItemAreas();for(var t=0;t<e.length;t++){var n=e[t];if(xi(n)){var r=n._$getArea();if(r!==null)if(r instanceof Array)this._itemAreas=this._itemAreas.concat(r);else{var a;this._itemAreas.push(r);var s=Ke(Ke({},r),(a=r.contentItem._contentAreaDimensions)===null||a===void 0?void 0:a.header.highlightArea);s.surface=(s.x2-s.x1)*(s.y2-s.y1),this._itemAreas.push(s)}}}}_$normalizeContentItem(e,t){if(!e)throw new Error("No content item defined");if(typeof e=="function"&&(e=e()),e instanceof Le)return e;if(V.isPlainObject(e)&&e.type){var n=this.createContentItem(e,t);return n.callDownwards("_$init"),n}else throw new Error("Invalid contentItem")}_$reconcilePopoutWindows(){for(var e=[],t=0;t<this.openPopouts.length;t++){var n;((n=this.openPopouts[t].getWindow())===null||n===void 0?void 0:n.closed)===!1?e.push(this.openPopouts[t]):this.emit("windowClosed",this.openPopouts[t])}this.openPopouts.length!==e.length&&(this.emit("stateChanged"),this.openPopouts=e)}_getAllContentItems(){var e=[],t=n=>{if(e.push(n),n.contentItems instanceof Array)for(var r=0;r<n.contentItems.length;r++)t(n.contentItems[r])};return t(this.root),e}_bindEvents(){this._isFullPage&&V(window).resize(this._onResize),V(window).on("unload beforeunload",this._onUnload).on("blur.lm",this._windowBlur).on("focus.lm",this._windowFocus)}_windowBlur(){this.root.element.addClass("lm_window_blur")}_windowFocus(){this.root.element.removeClass("lm_window_blur")}_onResize(){clearTimeout(this._resizeTimeoutId),this._resizeTimeoutId=window.setTimeout(this.updateSize.bind(this),100)}_createConfig(e){var t,n=ph("gl-window");n&&(this.isSubWindow=!0,e=JSON.parse(localStorage.getItem(n)||"{}"),e=La(e),localStorage.removeItem(n)),e=V.extend(!0,{},hh,e);var r=function a(s){for(var o in s){var d=s[o];o!=="props"&&typeof d=="object"&&d!=null?a(d):o==="type"&&d==="react-component"&&(s.type="component",s.componentName="lm-react-component")}};return r(e),((t=e.settings)===null||t===void 0?void 0:t.hasHeaders)===!1&&(e.dimensions.headerHeight=0),e}_adjustToWindowMode(){var e,t=V('<div class="lm_popin" title="'+this.config.labels.popin+'"><div class="lm_icon"></div><div class="lm_bg"></div></div>');t.click(()=>{this.emit("popIn")}),document.title=cs((e=this.config.content[0].title)!==null&&e!==void 0?e:""),V("head").append(V("body link, body style, template, .gl_keep")),this.container=V("body").html("").css("visibility","visible").append(t),document.body.offsetHeight,window.__glInstance=this}_createSubWindows(){if(this.config.openPopouts)for(var e=0;e<this.config.openPopouts.length;e++){var t=this.config.openPopouts[e];this.createPopout(t.content,t.dimensions,t.parentId,t.indexInParent)}}_getContainer(){var e=this._originalContainer?V(this._originalContainer):V("body");if(e.length===0)throw new Error("GoldenLayout container not found");if(e.length>1)throw new Error("GoldenLayout more than one container element specified");return e}_setContainer(){var e=this._getContainer();e[0]===document.body&&(this._isFullPage=!0,V("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"})),this.container=e}_create(e){var t;if(!(e.content instanceof Array))throw e.content===void 0?t="Missing setting 'content' on top level of configuration":t="Configuration parameter 'content' must be an array",new yn(t,e);if(e.content.length>1)throw t="Top level content can't contain more then one element.",new yn(t,e);this.root=new Ra(this,{content:e.content},this.container),this.root.callDownwards("_$init"),e.maximisedItemId==="__glMaximised"&&this.root.getItemsById(e.maximisedItemId)[0].toggleMaximise()}_onUnload(){if(this.config.settings.closePopoutsOnUnload===!0)for(var e=0;e<this.openPopouts.length;e++)this.openPopouts[e].close()}_adjustColumnsResponsive(){if(!this._useResponsiveLayout()||this._updatingColumnsResponsive||!this.config.dimensions||!this.config.dimensions.minItemWidth||this.root.contentItems.length===0||!this.root.contentItems[0].isRow){this._firstLoad=!1;return}this._firstLoad=!1;var e=this.root.contentItems[0].contentItems.length;if(!(e<=1)){var t=this.config.dimensions.minItemWidth,n=e*t;if(!(this.width==null||n<=this.width)){this._updatingColumnsResponsive=!0;for(var r=Math.max(Math.floor(this.width/t),1),a=e-r,s=this.root.contentItems[0],o=this._findAllStackContainers()[0],d=0;d<a;d++){var h=s.contentItems[s.contentItems.length-1];this._addChildContentItemsToContainer(o,h)}this._updatingColumnsResponsive=!1}}}_useResponsiveLayout(){return this.config.settings&&(this.config.settings.responsiveMode=="always"||this.config.settings.responsiveMode=="onload"&&this._firstLoad)}_addChildContentItemsToContainer(e,t){t.type==="stack"?t.contentItems.forEach(function(n){e.addChild(n),t.removeChild(n,!0)}):t.contentItems.forEach(n=>{this._addChildContentItemsToContainer(e,n)})}_findAllStackContainers(){var e=[];return this._findAllStackContainersRecursive(e,this.root),e}_findAllStackContainersRecursive(e,t){t.contentItems.forEach(n=>{xi(n)?e.push(n):n.isComponent||this._findAllStackContainersRecursive(e,n)})}}ae(Ph,"__lm",Nf);const _h=Ph,Ff="_lm_dragging_1vpd3_1",Rf="_lm_goldenlayout_1vpd3_1",jf="_lm_header_1vpd3_1",Af="_lm_controls_1vpd3_1",kf="_lm_tabpreviousbutton_1vpd3_1",$f="_lm_tabnextbutton_1vpd3_1",Uf="_lm_tab_1vpd3_1",Hf="_lm_active_1vpd3_1",Vf="_lm_close_tab_1vpd3_1",Bf="_lm_content_1vpd3_1",Wf="_lm_dragProxy_1vpd3_1",Gf="_lm_dropTargetIndicator_1vpd3_1",Kf="_march_1vpd3_1",zf="_lm_inner_1vpd3_1",qf="_lm_splitter_1vpd3_1",Yf="_lm_selectable_1vpd3_1",Zf="_lm_tabdropdown_list_1vpd3_1",Xf="_lm_title_1vpd3_1",Jf="_lm_title_before_1vpd3_1",Qf="_lm_selected_1vpd3_1",eg="_lm_focusin_1vpd3_1",tg="_lm_window_blur_1vpd3_1",ng="_lm_popout_1vpd3_1",ig="_lm_maximise_1vpd3_1",rg="_lm_tabdropdown_1vpd3_1",ag="_lm_close_1vpd3_1",sg="_lm_tabdropdown_search_1vpd3_1",og="_lm_tabs_1vpd3_1",lg="_lm_keyboard_active_1vpd3_1",dg="_lm_maximised_1vpd3_1",hg="_lm_items_1vpd3_1",Ro={"tab-height":"28px","drag-border-width":"5px",lm_dragging:Ff,lm_goldenlayout:Rf,lm_header:jf,lm_controls:Af,lm_tabpreviousbutton:kf,lm_tabnextbutton:$f,lm_tab:Uf,lm_active:Hf,lm_close_tab:Vf,lm_content:Bf,lm_dragProxy:Wf,lm_dropTargetIndicator:Gf,march:Kf,lm_inner:zf,lm_splitter:qf,lm_selectable:Yf,lm_tabdropdown_list:Zf,lm_title:Xf,lm_title_before:Jf,lm_selected:Qf,lm_focusin:eg,lm_window_blur:tg,lm_popout:ng,lm_maximise:ig,lm_tabdropdown:rg,lm_close:ag,lm_tabdropdown_search:sg,lm_tabs:og,lm_keyboard_active:lg,lm_maximised:dg,lm_items:hg},jo=Object.freeze({tabHeight:parseInt(Ro["tab-height"],10),dragBorderWidth:parseInt(Ro["drag-border-width"],10)});function Ao(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function kt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ao(Object(t),!0).forEach(function(n){Th(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ao(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Th(i,e,t){return e=ug(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ug(i){var e=cg(i,"string");return typeof e=="symbol"?e:String(e)}function cg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Zt=B.module("LayoutUtils");function Oh(i){return i.componentName!==void 0}function kn(i){var e=i;return(Oh(i)&&i.componentName==="lm-react-component"||i.type==="react-component")&&e.component!==void 0}function nr(i){return i.focus!==void 0}function ko(i){return i.type==="stack"}class _{static activateTab(e,t){var n=_.getStackForRoot(e,t,!1);if(!n){Zt.error("Could not find stack for config",t);return}var r=_.getContentItemInStack(n,t);r&&n.setActiveContentItem(r)}static isActiveTab(e,t){var n=_.getStackForRoot(e,t,!1);if(!n)return Zt.error("Could not find stack for config",t),!1;var r=_.getContentItemInStack(n,t),a=n.getActiveContentItem();return a===r}static addStack(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=t?"column":"row";if(yh(e)){(e.contentItems==null||e.contentItems.length===0)&&e.addChild({type:n});var r=e.contentItems[0],a=t?r.isColumn:r.isRow;if(!a){e.removeChild(r,!0),e.addChild({type:n});var s=document.activeElement;e.contentItems[0].addChild(r),s&&s.focus!=null&&s.focus()}return this.addStack(e.contentItems[0],t)}if(e.contentItems.length<2)return e.addChild({type:"stack"}),e.contentItems[e.contentItems.length-1];var o=e.contentItems[e.contentItems.length-1],d=t?o.isRow:o.isColumn;return d||(e.addChild({type:t?"row":"column"}),e.removeChild(o,!0),e.contentItems[e.contentItems.length-1].addChild(o),o=e.contentItems[e.contentItems.length-1]),this.addStack(o,!t)}static getStackForConfig(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(n&&xi(e)&&e.contentItems.length===0)return e;if(e.contentItems==null)return null;for(var r=0;r<e.contentItems.length;r+=1){var a=e.contentItems[r];if(a.isComponent&&a.config!=null&&Bs(a.config,t))return e;var s=this.getStackForConfig(a,t,n);if(s)return s}return null}static getStackForRoot(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=this.getStackForConfig(e,t);return!s&&r&&(s=this.getStackForConfig(e,{component:t.component},a)),!s&&n&&(s=this.addStack(e)),s}static getStackForComponentTypes(e,t){for(var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=0;s<t.length;s+=1){var o=t[s],d=s===t.length-1,h=_.getStackForRoot(e,{component:o},n&&d,r,a);if(h)return h}return null}static getContentItemInStack(e,t){if(!e)return null;for(var n=0;n<e.contentItems.length;n+=1){var r=e.contentItems[n];if(r.isComponent&&r.config!=null&&Bs(r.config,t))return r}return null}static dehydrateLayoutConfig(e,t){if(e==null||!e.length)return[];for(var n=[],r=0;r<e.length;r+=1){var a=e[r],{component:s,content:o}=a;if(s){var d=t(s,a);d!=null?n.push(d):Zt.debug2('dehydrateLayoutConfig: skipping unmapped component "'.concat(s,'"'))}else if(o){var h=kt(kt({},a),{},{content:_.dehydrateLayoutConfig(o,t)});n.push(h)}else n.push(a)}return n}static getTabPoint(e){var{tab:t}=e;if(t==null)throw new Error("Cannot get tab for panel container ".concat(e));var n=t.element[0].getBoundingClientRect();return[n.left+n.width*.5,n.bottom-8]}static dropLayoutMinorChange(e){for(var t=0;t<e.length;t+=1){var n=e[t],{content:r}=n;r!==void 0?(ko(n)&&delete n.activeItemIndex,_.dropLayoutMinorChange(r)):kn(n)&&n.component==="IrisGridPanel"&&n.props.panelState!=null&&(delete n.id,n.props.panelState.irisGridState.sorts=[],n.props.panelState.irisGridState.quickFilters=[])}}static isEqual(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(n){var r=_.cloneLayout(e),a=_.cloneLayout(t);return _.dropLayoutMinorChange(r),_.dropLayoutMinorChange(a),Gn(r,a)}return Gn(e,t)}static cloneLayout(e){return JSON.parse(JSON.stringify(e))}static hydrateLayoutConfig(e,t){if(e==null||!e.length)return[];for(var n=[],r=0;r<e.length;r+=1){var a=e[r];if(kn(a)){var s,{component:o,props:d={}}=a;n.push(kt(kt({},a),{},{id:(s=a?.id)!==null&&s!==void 0?s:$e(),props:t(o,d)}))}else if(a.content!==void 0){var h=_.hydrateLayoutConfig(a.content,t);ko(a)&&a.activeItemIndex!=null&&a.activeItemIndex>=h.length&&(Zt.warn("Fixing bad activeItemIndex!",a.activeItemIndex,a),a.activeItemIndex=0),n.push(kt(kt({},a),{},{content:h}))}else n.push(a)}return n}static openComponent(){var{root:e,config:t,replaceExisting:n=!0,replaceConfig:r=void 0,createNewStack:a=!1,focusElement:s=void 0,dragEvent:o=void 0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=document.activeElement,h=kt({},t);if(h.id==null&&(h.id=$e.generate()),o!=null){e?.layoutManager.createDragSourceFromEvent(h,o);return}var u=r||{id:h.id,component:h.component};$(e);var c=a?_.addStack(e):_.getStackForRoot(e,u);$(c);var m=_.getContentItemInStack(c,u);if(s!=null){var p=g=>{Zt.debug("Component created, focusing element",s),c.off("componentCreated",p);var{element:b}=g.origin;requestAnimationFrame(()=>{_.focusElement(b[0],s)})};c.on("componentCreated",p)}if(n&&m){var f=c.contentItems.indexOf(m);c.addChild(h,f+1),c.removeChild(m),c.setActiveContentItem(c.contentItems[f])}else c.addChild(h);s==null&&d&&nr(d)&&d.focus()}static openComponentInStack(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=document.activeElement,a={id:t.id},s=_.getContentItemInStack(e,a);if(n&&s&&e){var o=e?.contentItems.indexOf(s);e.addChild(t,o+1),e.removeChild(s),e.setActiveContentItem(e.contentItems[o])}else e?.addChild(t);r&&nr(r)&&r.focus()}static closeComponent(e,t,n){var r=_.getStackForRoot(e,t,!1,!1,!1);if(!r){Zt.warn("Cannot find stack for component, ignoring close",t);return}var a=_.getContentItemInStack(r,t),s=document.activeElement;a&&(it(a)?a.container.close(n):r.removeChild(a)),s&&document.contains(s)&&nr(s)&&s.focus()}static renameComponent(e,t,n){var r=_.getStackForRoot(e,t,!1);if(!r){Zt.error("Could not find stack for config",t);return}var a=_.getContentItemInStack(r,t);a&&a.setTitle(n)}static cloneComponent(e,t){var n=_.getStackForRoot(e,t,!1);if(!n)return Zt.error("Could not find stack for config",t),null;var{props:r={}}=t,a=_.getPanelComponentState(t),s={type:"react-component",component:t.component,props:kt(kt({},r),{},{panelState:a}),title:"".concat(t.title," Copy"),id:$e.generate()};return _.openComponentInStack(n,s),s}static getPanelComponentState(e){if(Oh(e)){var t;return(t=e.componentState)===null||t===void 0?void 0:t.panelState}if(kn(e)){var n;return(n=e.props)===null||n===void 0?void 0:n.panelState}return null}static makeDefaultLayout(){return{dimensions:{headerHeight:jo.tabHeight,borderWidth:jo.dragBorderWidth,borderGrabWidth:10},settings:{showPopoutIcon:!1,showCloseIcon:!1,constrainDragToContainer:!1}}}static getRootFromContainer(e){return e.layoutManager.root}static getComponentConfigFromContainer(e){return e?e.tab!=null&&e.tab.contentItem!=null?e.tab.contentItem.config:e._config:null}static getTitleFromContainer(e){return e!=null&&e.tab!=null&&e.tab.contentItem!=null?e.tab.contentItem.config.title:null}static getTitleFromTab(e){return e!=null&&e.contentItem!=null?e.contentItem.config.title:null}static getIdFromContainer(e){var t=_.getComponentConfigFromContainer(e);return t?t.id:null}static getIdFromPanel(e){var{glContainer:t}=e.props;return _.getIdFromContainer(t)}static getComponentNameFromPanel(e){var{glContainer:t}=e.props,n=_.getComponentConfigFromContainer(t);if(n&&kn(n)){var r;return(r=n.component)!==null&&r!==void 0?r:null}return null}static getComponentName(e){var t,n,r=(t=(n=e.WrappedComponent)===null||n===void 0?void 0:n.displayName)!==null&&t!==void 0?t:e.displayName;if(r==null)throw new Error("Component displayName not defined ".concat(e));return r}static focusElement(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.DEFAULT_FOCUS_SELECTOR;if(e==null)return null;var n=e.querySelector(t);return n==null?null:(nr(n)&&n.focus(),n)}static onInitialized(e){return new Promise(t=>{if(e.isInitialised){t();return}var n=()=>{e.off("initialised",n),t()};e.on("initialised",n)})}}Th(_,"DEFAULT_FOCUS_SELECTOR","input, select, textarea, button");var Dh=J.forwardRef((i,e)=>{var t=_.getComponentNameFromPanel({props:i});return l.jsx("div",{ref:e,className:"panel-placeholder",children:l.jsxs("div",{children:['Component "',t,'" is not registered.']})})});Dh.displayName="PanelPlaceholder";const Q=Object.freeze({FOCUS:"PanelEvent.FOCUS",MOUNT:"PanelEvent.MOUNT",UNMOUNT:"PanelEvent.UNMOUNT",TITLE_CHANGED:"PanelEvent.TITLE_CHANGED",REOPEN:"PanelEvent.REOPEN",DELETE:"PanelEvent.DELETE",CLONED:"PanelEvent.CLONED",CLOSED:"PanelEvent.CLOSED",OPEN:"PanelEvent.OPEN",CLOSE:"PanelEvent.CLOSE",DRAGGING:"PanelEvent.DRAGGING",DROPPED:"PanelEvent.DROPPED"});function $o(i){return i?.WrappedComponent!==void 0}function mg(i){return typeof i.id=="string"&&i.layout instanceof _h&&i.panelManager instanceof vs&&typeof i.registerComponent=="function"}function cn(i){if(!mg(i))throw new Error("Expected dashboard plugin props, but instead received ".concat(i))}function Uo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Ho(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Uo(Object(t),!0).forEach(function(n){en(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Uo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function en(i,e,t){return e=pg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function pg(i){var e=vg(i,"string");return typeof e=="symbol"?e:String(e)}function vg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ht=B.module("PanelManager");class vs{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(o,d)=>d,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(o,d)=>d,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:new Map,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:()=>{};en(this,"layout",void 0),en(this,"hydrateComponent",void 0),en(this,"dehydrateComponent",void 0),en(this,"onPanelsUpdated",void 0),en(this,"closed",void 0),en(this,"openedMap",void 0),this.handleFocus=this.handleFocus.bind(this),this.handleMount=this.handleMount.bind(this),this.handleUnmount=this.handleUnmount.bind(this),this.handleReopen=this.handleReopen.bind(this),this.handleDeleted=this.handleDeleted.bind(this),this.handleClosed=this.handleClosed.bind(this),this.handleControlClose=this.handleControlClose.bind(this),this.layout=e,this.hydrateComponent=t,this.dehydrateComponent=n,this.onPanelsUpdated=s,this.openedMap=new Map(r),this.closed=[...a],this.startListening()}startListening(){var{eventHub:e}=this.layout;e.on(Q.FOCUS,this.handleFocus),e.on(Q.MOUNT,this.handleMount),e.on(Q.UNMOUNT,this.handleUnmount),e.on(Q.REOPEN,this.handleReopen),e.on(Q.DELETE,this.handleDeleted),e.on(Q.CLOSED,this.handleClosed),e.on(Q.CLOSE,this.handleControlClose)}stopListening(){var{eventHub:e}=this.layout;e.off(Q.FOCUS,this.handleFocus),e.off(Q.MOUNT,this.handleMount),e.off(Q.UNMOUNT,this.handleUnmount),e.off(Q.REOPEN,this.handleReopen),e.off(Q.DELETE,this.handleDeleted),e.off(Q.CLOSED,this.handleClosed),e.off(Q.CLOSE,this.handleControlClose)}getClosedPanelConfigsOfType(e){return this.closed.filter(t=>t.component===e)}getOpenedPanels(){return Array.from(this.openedMap.values())}getOpenedPanelConfigs(){return this.getOpenedPanels().map(e=>{var{glContainer:t}=e.props;return _.getComponentConfigFromContainer(t)})}getOpenedPanelConfigsOfType(e){return this.getOpenedPanelConfigs().filter(t=>t!=null&&kn(t)&&t.component===e)}getOpenedPanelById(e){return this.openedMap.get(e)}getContainerByPanelId(e){var t,n=_.getStackForConfig(this.layout.root,{id:e});return(t=n&&_.getContentItemInStack(n,{id:e}))!==null&&t!==void 0?t:null}getLastUsedPanel(e){for(var t=this.getOpenedPanels(),n=t.length-1;n>=0;n-=1){var r=t[n];if(e==null||e(r))return r}}getLastUsedPanelOfType(e){return this.getLastUsedPanelOfTypes([e])}getLastUsedPanelOfTypes(e){return this.getLastUsedPanel(t=>e.some(n=>$o(n)&&t instanceof n.WrappedComponent||!$o(n)&&t instanceof n))}updatePanel(e){var t=_.getIdFromPanel(e);if(t==null){ht.error("updatePanel Panel did not have an ID",e);return}ht.debug2("Updating panel ID ".concat(t," in open panels map")),this.openedMap.delete(t),this.openedMap.set(t,e)}removePanel(e){var t=_.getIdFromPanel(e);if(t==null){ht.error("removePanel Panel did not have an ID",e);return}if(!this.openedMap.has(t)){ht.error("Missing panel ID ".concat(t," in open panels map"));return}if(this.openedMap.get(t)!==e){ht.debug("Panel argument doesn't match the open panels map entry for ".concat(t,", removePanel ignored"));return}ht.debug2("Removing panel ID ".concat(t," from open panels map")),this.openedMap.delete(t)}removeClosedPanelConfig(e){var t=this.closed.findIndex(n=>n===e||n.id!=null&&e.id!=null&&n.id===e.id);t>=0&&this.closed.splice(t,1)}handleFocus(e){ht.debug2("Focus: ",e),this.updatePanel(e)}handleMount(e){ht.debug2("Mount: ",e),this.updatePanel(e),this.sendUpdate()}handleUnmount(e){ht.debug2("Unmount: ",e),this.removePanel(e),this.sendUpdate()}handleReopen(e,t){ht.debug2("Reopen:",e,t),this.removeClosedPanelConfig(e);var{component:n}=e,{props:r}=e;r=this.hydrateComponent(n,r);var a=Ho(Ho({},e),{},{props:r}),{root:s}=this.layout;_.openComponent({root:s,config:a,replaceConfig:t})}handleDeleted(e){ht.debug2("Deleted:",e),this.removeClosedPanelConfig(e),this.sendUpdate()}handleClosed(e,t){ht.debug2("Closed: ",e),this.addClosedPanel(t),this.sendUpdate()}handleControlClose(e){var t={id:e},{root:n}=this.layout;_.closeComponent(n,t)}addClosedPanel(e){var t=_.getComponentConfigFromContainer(e);if(t&&kn(t)){var n=this.dehydrateComponent(t.component,t);n!=null&&this.closed.push(n)}}sendUpdate(){var{closed:e,openedMap:t}=this;this.onPanelsUpdated({closed:[...e],openedMap:new Map(t)})}}en(vs,"MAX_CLOSED_PANEL_COUNT",100);var fg=B.module("PanelErrorBoundary");class gg extends v.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}componentWillUnmount(){var{glContainer:e,glEventHub:t}=this.props,n=_.getIdFromContainer(e);fg.debug("componentWillUnmount",n),t.emit(Q.CLOSED,n,e)}render(){var{children:e}=this.props,{error:t}=this.state;return t!=null?l.jsx("div",{className:"panel-error-boundary",children:l.jsx(Rr,{errorMessage:"".concat(t),isLoading:!1,isLoaded:!1})}):e}}function Vo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function xr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vo(Object(t),!0).forEach(function(n){bg(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Vo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function bg(i,e,t){return e=Cg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cg(i){var e=Sg(i,"string");return typeof e=="symbol"?e:String(e)}function Sg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function fs(i){var{props:e,componentState:t}=i,{metadata:n}=e,{panelState:r=null}=e;t&&({panelState:r}=t);var a={};return n!=null&&(a.metadata=n),r!=null&&(a.panelState=r),xr(xr({},i),{},{componentState:null,props:a,type:"react-component"})}function gs(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return xr(xr({metadata:{}},i),{},{localDashboardId:e})}const Aa={dehydrate:fs,hydrate:gs};var yg=I.shape({on:I.func,off:I.func,isHidden:I.bool,tab:I.shape({header:I.shape({tabs:I.arrayOf(I.shape({contentItem:I.shape({})}))})}),title:I.string,setTitle:I.func,close:I.func}),Ih=I.shape({on:I.func,off:I.func,emit:I.func}),wg=I.shape({registerComponent:I.func,root:I.shape({addChild:I.func}),on:I.func,off:I.func,eventHub:Ih}),bs=Object.freeze({Container:yg,EventHub:Ih,Layout:wg});function me(i,e,t){v.useEffect(function(){return i.on(e,t),()=>{i.off(e,t)}},[i,e,t])}function jn(i,e,t,n){var r,a=(r=e.COMPONENT)!==null&&r!==void 0?r:e.displayName;if(a==null)throw new Error("ComponentType must have a `COMPONENT` or `displayName` attribute.");J.useEffect(()=>{var s=i(a,e,t,n);return()=>{s()}},[e,n,t,a,i])}function Cs(i){var{dashboardProps:e,componentName:t,component:n,supportedTypes:r,hydrate:a,dehydrate:s}=i,{id:o,layout:d,registerComponent:h}=e,u=v.useCallback(c=>{var m,{dragEvent:p,fetch:f,panelId:g=$e.generate(),widget:b}=c,{id:C,type:w}=b,S=(m=b.title)!==null&&m!==void 0?m:b.name,y=Array.isArray(r)&&r.includes(w)||w===r;if(y){var E={id:C,name:S,type:w},M={localDashboardId:o,metadata:E,fetch:f};a!=null&&(M=a(M,o));var O={type:"react-component",component:t,props:M,title:S,id:g},{root:x}=d;_.openComponent({root:x,config:O,dragEvent:p})}},[t,a,o,d,r]);jn(h,n,a,s),me(d.eventHub,Q.OPEN,u)}var xh="SET_DASHBOARD_DATA";const Eg=tv(xh,{},!1),Pg={dashboardData:Eg};var _g=new Map,Tg=Object.freeze({}),Og=Object.freeze([]),Dg=i=>i.dashboardData,Qe=(i,e)=>{var t;return(t=Dg(i)[e])!==null&&t!==void 0?t:Tg},Ig=(i,e)=>{var t;return(t=Qe(i,e).closed)!==null&&t!==void 0?t:Og},Nh=(i,e)=>{var t;return(t=Qe(i,e).openedMap)!==null&&t!==void 0?t:_g};function Bo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Wo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Bo(Object(t),!0).forEach(function(n){xg(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Bo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function xg(i,e,t){return e=Ng(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ng(i){var e=Lg(i,"string");return typeof e=="symbol"?e:String(e)}function Lg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Lh=(i,e)=>({type:xh,id:i,payload:e}),Ft=(i,e)=>(t,n)=>t(Lh(i,Wo(Wo({},Qe(n(),i)),e)));Object.entries(Pg).map(i=>{var[e,t]=i;return $i.register(e,t)});function Mg(i){var{children:e}=i;return l.jsx(l.Fragment,{children:e})}function Go(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ha(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Go(Object(t),!0).forEach(function(n){Fg(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Go(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Fg(i,e,t){return e=Rg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Rg(i){var e=jg(i,"string");return typeof e=="symbol"?e:String(e)}function jg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ir=B.module("DashboardLayout"),Ag=Object.freeze({}),kg=[],Ko=()=>{},zo=i=>i;function Mh(i){var e,t,{id:n,children:r,emptyDashboard:a=l.jsx("div",{children:"Dashboard is empty."}),layout:s,layoutConfig:o=kg,onLayoutChange:d=Ko,onLayoutInitialized:h=Ko,hydrate:u=gs,dehydrate:c=fs,panelWrapper:m=Mg}=i,p=Ya(),f=(e=Nu(P=>Qe(P,n)))!==null&&e!==void 0?e:Ag,[g,b]=v.useState(!1),[C,w]=v.useState(!1),[S,y]=v.useState(),[E]=v.useState((t=f?.closed)!==null&&t!==void 0?t:[]),[M,O]=v.useState(!1),[x,N]=v.useState(s.getReactChildren()),W=v.useMemo(()=>new Map,[]),q=v.useMemo(()=>new Map,[]),k=v.useCallback(function(P,D){var R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:u,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:c;ir.debug2("registerComponent",P,D,R,z);function ve(Y){var ee=D,he=m,{glContainer:_e,glEventHub:ri}=Y;return l.jsx(gg,{glContainer:_e,glEventHub:ri,children:l.jsx(he,ha(ha({},Y),{},{children:l.jsx(ee,ha({},Y))}))})}var L=s.registerComponent(P,ve);return W.set(P,R),q.set(P,z),L},[u,c,W,q,s,m]),A=v.useCallback((P,D)=>{var R;return((R=W.get(P))!==null&&R!==void 0?R:zo)(D,n)},[W,n]),U=v.useCallback((P,D)=>{var R;return((R=q.get(P))!==null&&R!==void 0?R:zo)(D,n)},[q,n]),j=v.useMemo(()=>new vs(s,A,U,new Map,E,P=>{var{closed:D,openedMap:R}=P;p(Ft(n,{closed:D,openedMap:R}))}),[U,p,A,n,E,s]),H=v.useCallback(()=>{if(!C){M||(h(),O(!0));var P=s.toConfig(),D=P.content,R=_.dehydrateLayoutConfig(D,U),z=S==null||!_.isEqual(S,R);ir.debug("handleLayoutStateChanged",z,D,R),z&&(b(s.root.contentItems.length===0),y(R),d(R),N(s.getReactChildren()))}},[U,M,C,S,s,d,h]),K=v.useCallback(P=>{var D=_.getIdFromContainer(P);s.eventHub.emit(Q.DRAGGING,D),w(!0)},[s.eventHub]),de=v.useCallback(P=>{var D=_.getIdFromContainer(P);s.eventHub.emit(Q.DROPPED,D),w(!1)},[s.eventHub]),ge=v.useCallback(P=>{if(ir.debug2("handleComponentCreated",P),!(P==null||P.config==null||P.config.component==null||P.element==null)){var D=P.config.component.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),R="".concat(D,"-component");P.element.addClass(R)}},[]),be=v.useCallback(()=>{N(s.getReactChildren())},[s]);me(s,"stateChanged",H),me(s,"itemPickedUp",K),me(s,"itemDropped",de),me(s,"componentCreated",ge),me(s.eventHub,Q.TITLE_CHANGED,H),me(s,"reactChildrenChanged",be);var T=Ic(o);return v.useEffect(function(){if(T!==o&&o!==S){ir.debug("Setting new layout content...");for(var D=_.hydrateLayoutConfig(o,A);s.root.contentItems.length>0;)s.root.contentItems[0].remove();for(var R=0;R<D.length;R+=1)s.root.addChild(D[R]);b(s.root.contentItems.length===0)}},[A,s,o,S,j,T]),l.jsxs(l.Fragment,{children:[g&&a,x,J.Children.map(r,P=>P!=null?J.cloneElement(P,{id:n,layout:s,panelManager:j,registerComponent:k}):null)]})}Mh.propTypes={id:I.string.isRequired,children:I.node,data:I.shape({}),emptyDashboard:I.node,layout:bs.Layout.isRequired,layoutConfig:I.arrayOf(I.shape({})),onLayoutChange:I.func,onLayoutInitialized:I.func};function qo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function $g(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qo(Object(t),!0).forEach(function(n){Ug(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):qo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ug(i,e,t){return e=Hg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Hg(i){var e=Vg(i,"string");return typeof e=="symbol"?e:String(e)}function Vg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Bg=100,ua=()=>{},Wg=Object.freeze({});function Gg(i){var{id:e="default",children:t,emptyDashboard:n,layoutConfig:r,layoutSettings:a=Wg,onLayoutConfigChange:s=ua,onGoldenLayoutChange:o=ua,onLayoutInitialized:d=ua,fallbackComponent:h=Dh,hydrate:u,dehydrate:c,panelWrapper:m}=i,p=v.useRef(null),[f,g]=v.useState(!1),[b,C]=v.useState();v.useEffect(function(){if(!p.current){C(void 0);return}var y=$g({},_.makeDefaultLayout());y.settings===void 0&&(y.settings={}),Object.assign(y.settings,a),y.content=[];var E=new _h(y,p.current),M=()=>{E.off("initialised",M),g(!0)};return E.on("initialised",M),h!=null&&E.setFallbackComponent(h),E.init(),C(E),o(E),()=>{E.destroy()}},[a,h,o,g,C]);var w=v.useMemo(()=>Fr(()=>{b!=null&&b.isInitialised&&b?.updateSize()},Bg),[b]);return v.useEffect(function(){return window.addEventListener("resize",w),()=>{window.removeEventListener("resize",w)}},[w]),l.jsxs("div",{className:"dashboard-container w-100 h-100",children:[l.jsx("div",{className:"w-100 h-100",ref:p}),f&&b&&l.jsx(Mh,{emptyDashboard:n,id:e,layout:b,layoutConfig:r,onLayoutChange:s,onLayoutInitialized:d,hydrate:u,dehydrate:c,panelWrapper:m,children:t})]})}var _t="default";function Ss(i,e,t){return e=Kg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Kg(i){var e=zg(i,"string");return typeof e=="symbol"?e:String(e)}function zg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Gr{}Ss(Gr,"OPEN","ChartEvent.OPEN");Ss(Gr,"CLOSE","ChartEvent.CLOSE");Ss(Gr,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const ka=Gr;function Bi(i,e,t){return e=qg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function qg(i){var e=Yg(i,"string");return typeof e=="symbol"?e:String(e)}function Yg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class ei{}Bi(ei,"SESSION_OPENED","ConsoleEvent.SESSION_OPENED");Bi(ei,"SESSION_CLOSED","ConsoleEvent.SESSION_CLOSED");Bi(ei,"FOCUS_HISTORY","ConsoleEvent.FOCUS_HISTORY");Bi(ei,"SEND_COMMAND","ConsoleEvent.SEND_COMMAND");Bi(ei,"SETTINGS_CHANGED","ConsoleEvent.SETTINGS_CHANGED");const ot=ei;function mn(i,e,t){return e=Zg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zg(i){var e=Xg(i,"string");return typeof e=="symbol"?e:String(e)}function Xg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Wt{}mn(Wt,"TABLE_CHANGED","InputFilterEvent.TABLE_CHANGED");mn(Wt,"COLUMNS_CHANGED","InputFilterEvent.COLUMNS_CHANGED");mn(Wt,"FILTERS_CHANGED","InputFilterEvent.FILTERS_CHANGED");mn(Wt,"CLEAR_ALL_FILTERS","InputFilterEvent.CLEAR_ALL_FILTERS");mn(Wt,"COLUMN_SELECTED","InputFilterEvent.COLUMN_SELECTED");mn(Wt,"OPEN_DROPDOWN","InputFilterEvent.OPEN_DROPDOWN");mn(Wt,"OPEN_INPUT","InputFilterEvent.OPEN_INPUT");mn(Wt,"OPEN_FILTER_SET_MANAGER","InputFilterEvent.OPEN_FILTER_SET_MANAGER");const fe=Wt;function ti(i,e,t){return e=Jg(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jg(i){var e=Qg(i,"string");return typeof e=="symbol"?e:String(e)}function Qg(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class xn{}ti(xn,"OPEN_GRID","IrisGridEvent.OPEN_GRID");ti(xn,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");ti(xn,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");ti(xn,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");ti(xn,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");ti(xn,"CREATE_CHART","IrisGridevent.CREATE_CHART");const yt=xn,Fh=Object.freeze({OPEN:"MarkdownEvent.OPEN"});function Gt(i,e,t){return e=eb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function eb(i){var e=tb(i,"string");return typeof e=="symbol"?e:String(e)}function tb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Rt{}Gt(Rt,"CREATE_NOTEBOOK","NotebookEvent.createNotebook");Gt(Rt,"SELECT_NOTEBOOK","NotebookEvent.selectNotebook");Gt(Rt,"CLOSE_FILE","NotebookEvent.closeFile");Gt(Rt,"RENAME","NotebookEvent.rename");Gt(Rt,"RENAME_FILE","NotebookEvent.renameFile");Gt(Rt,"REGISTER_FILE","NotebookEvent.registerFile");Gt(Rt,"SEND_TO_NOTEBOOK","NotebookEvent.sendToNotebook");Gt(Rt,"UNREGISTER_FILE","NotebookEvent.unregisterFile");Gt(Rt,"PROMOTE_FROM_PREVIEW","NotebookEvent.promoteFromPreview");const ue=Rt;function ni(i,e,t){return e=nb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function nb(i){var e=ib(i,"string");return typeof e=="symbol"?e:String(e)}function ib(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Nn{}ni(Nn,"focus","TabEvent.focus");ni(Nn,"blur","TabEvent.blur");ni(Nn,"openPQObject","TabEvent.openPQObject");ni(Nn,"openControl","TabEvent.openControl");ni(Nn,"reload","TabEvent.reload");ni(Nn,"clearAllFilters","TabEvent.clearAllFilters");const rr=Nn;function rb(i,e,t){return e=ab(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ab(i){var e=sb(i,"string");return typeof e=="symbol"?e:String(e)}function sb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Rh extends v.PureComponent{constructor(e){super(e),this.handleCloseTab=this.handleCloseTab.bind(this),this.handleCloseTabsRight=this.handleCloseTabsRight.bind(this),this.handleCloseTabsAll=this.handleCloseTabsAll.bind(this)}getAllTabs(){var e,t,n,{glContainer:r}=this.props;return[...(e=r==null||(t=r.tab)===null||t===void 0||(n=t.header)===null||n===void 0?void 0:n.tabs)!==null&&e!==void 0?e:[]]}handleCloseTab(){var{glContainer:e}=this.props;e.close()}handleCloseTabsAll(){var e=this.getAllTabs();e.forEach(t=>{var n;return(n=(t?.contentItem).container)===null||n===void 0?void 0:n.close()})}handleCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),n=t.length-1;n>0;n-=1){var r,a,s,o,d,h,u;if(((r=t[n].contentItem)===null||r===void 0||(a=r.config)===null||a===void 0?void 0:a.id)===((s=e.tab)===null||s===void 0||(o=s.contentItem)===null||o===void 0||(d=o.config)===null||d===void 0?void 0:d.id))break;(h=((u=t[n])===null||u===void 0?void 0:u.contentItem).container)===null||h===void 0||h.close()}}canCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),n=!0,r=t.length-1;r>0;r-=1){var a,s,o,d,h,u,c,m;if(((a=t[r].contentItem)===null||a===void 0||(s=a.config)===null||s===void 0?void 0:s.id)===((o=e.tab)===null||o===void 0||(d=o.contentItem)===null||d===void 0||(h=d.config)===null||h===void 0?void 0:h.id))break;var p=!!(!((u=t[r])===null||u===void 0||(c=u.contentItem)===null||c===void 0||(m=c.config)===null||m===void 0)&&m.isClosable);if(p){n=!1;break}}return n}canCloseAny(){for(var e=this.getAllTabs(),t=!0,n=e.length-1;n>0;n-=1){var r,a,s,o=!!(!((r=e[n])===null||r===void 0||(a=r.contentItem)===null||a===void 0||(s=a.config)===null||s===void 0)&&s.isClosable);if(o){t=!1;break}}return t}render(){var e,t,n,{additionalActions:r,glContainer:a}=this.props,s=[...r],o=(e=a.tab)===null||e===void 0||(t=e.contentItem)===null||t===void 0||(n=t.config)===null||n===void 0?void 0:n.isClosable;return s.push({title:"Close",order:10,group:ie.groups.low,action:this.handleCloseTab,disabled:o===void 0||!o}),s.push(()=>({title:"Close Tabs to Right",order:20,group:ie.groups.low,action:this.handleCloseTabsRight,disabled:this.canCloseTabsRight()})),s.push(()=>({title:"Close All",order:30,group:ie.groups.low,action:this.handleCloseTabsAll,disabled:this.canCloseAny()})),l.jsx(ie,{actions:s})}}rb(Rh,"defaultProps",{additionalActions:[]});const ob=Rh;function jh(i,e,t){return e=lb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function lb(i){var e=db(i,"string");return typeof e=="symbol"?e:String(e)}function db(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Ah extends v.PureComponent{constructor(e){super(e),jh(this,"renameInputRef",void 0),this.handleRenameDialogOpened=this.handleRenameDialogOpened.bind(this),this.handleRenameInputChange=this.handleRenameInputChange.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.renameInputRef=J.createRef();var{value:t}=e;this.state={value:t,valueWasValidated:!1}}componentDidUpdate(e){var{isShown:t}=e,{isShown:n}=this.props;n&&!t&&this.resetState()}resetState(){var{value:e}=this.props;this.setState({value:e,valueWasValidated:!1})}handleRenameDialogOpened(){var e,t;(e=this.renameInputRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.focus()}handleRenameInputChange(e){this.setState({value:e.target.value})}handleRenameCancel(){var{onCancel:e}=this.props;e()}handleRenameSubmit(e){e.stopPropagation(),e.preventDefault();var{value:t}=this.state,n=t?.trim();if(n!==void 0&&n!==""){var{onSubmit:r}=this.props;r(n)}else this.setState({value:n,valueWasValidated:!0})}renderRenameDialog(){var{isShared:e,isOwner:t,itemType:n}=this.props,{value:r,valueWasValidated:a}=this.state;return l.jsxs("form",{className:Z("p-3",{"was-validated":a}),onSubmit:this.handleRenameSubmit,noValidate:!0,role:"presentation",onMouseDown:s=>{s.stopPropagation()},onMouseUp:s=>{s.stopPropagation()},children:[l.jsxs("div",{className:"form-group",children:[l.jsxs("label",{htmlFor:"rename-dialog-".concat(n,"-input"),children:["Rename ",n]}),l.jsx("input",{type:"text",className:"form-control",id:"rename-dialog-".concat(n,"-input"),value:r??void 0,ref:this.renameInputRef,onChange:this.handleRenameInputChange,required:!0}),l.jsxs("div",{className:"invalid-feedback",children:[n," name cannot be empty"]}),(e||!t)&&l.jsxs("div",{className:"pt-2",children:["Renaming this ",n," will rename for all users."]})]}),l.jsxs("div",{className:"text-right",children:[l.jsx(F,{kind:"secondary",className:"mr-2",onClick:this.handleRenameCancel,children:"Cancel"}),l.jsx(F,{kind:"primary",type:"submit",children:"Rename"})]})]})}render(){var{isShown:e,onCancel:t}=this.props;return l.jsx(gd,{isShown:e,onEntered:this.handleRenameDialogOpened,onExited:t,options:{placement:"bottom"},interactive:!0,closeOnBlur:!0,children:this.renderRenameDialog()})}}jh(Ah,"defaultProps",{isShared:!1,isOwner:!0,itemType:"Item",value:""});function kh(i,e,t){return e=hb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hb(i){var e=ub(i,"string");return typeof e=="symbol"?e:String(e)}function ub(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var cb=B.module("Panel");class $h extends v.PureComponent{constructor(e){super(e),kh(this,"getAdditionActions",te((n,r,a)=>{var s=[];return r&&s.push(this.getCloneAction()),a&&s.push(this.getRenameAction()),[...s,...n]})),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleCopyPanel=this.handleCopyPanel.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleBlur=this.handleBlur.bind(this),this.handleHide=this.handleHide.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleBeforeShow=this.handleBeforeShow.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.handleShowRenameDialog=this.handleShowRenameDialog.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleTab=this.handleTab.bind(this);var{glContainer:t}=this.props;this.state={title:_.getTitleFromContainer(t),showRenameDialog:!1}}componentDidMount(){var{componentPanel:e,glContainer:t,glEventHub:n}=this.props;t.on("resize",this.handleResize),t.on("show",this.handleBeforeShow),t.on("shown",this.handleShow),t.on("hide",this.handleHide),t.on("tab",this.handleTab),t.on("tabClicked",this.handleTabClicked),n.on(ot.SESSION_CLOSED,this.handleSessionClosed),n.on(ot.SESSION_OPENED,this.handleSessionOpened),n.on(rr.focus,this.handleTabFocus),n.on(rr.blur,this.handleTabBlur),n.on(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),n.emit(Q.MOUNT,e)}componentWillUnmount(){var{componentPanel:e,glContainer:t,glEventHub:n}=this.props;t.off("resize",this.handleResize),t.off("show",this.handleBeforeShow),t.off("shown",this.handleShow),t.off("hide",this.handleHide),t.off("tab",this.handleTab),t.off("tabClicked",this.handleTabClicked),n.off(ot.SESSION_CLOSED,this.handleSessionClosed),n.off(ot.SESSION_OPENED,this.handleSessionOpened),n.off(rr.focus,this.handleTabFocus),n.off(rr.blur,this.handleTabBlur),n.off(fe.CLEAR_ALL_FILTERS,this.handleClearAllFilters),n.emit(Q.UNMOUNT,e)}handleTab(e){e!=null&&this.setState({title:_.getTitleFromTab(e)}),this.forceUpdate();var{onTab:t}=this.props;t(e)}handleTabClicked(e){var{onTabClicked:t}=this.props;t(e)}handleClearAllFilters(){var{onClearAllFilters:e}=this.props;e(...arguments)}handleFocus(e){var{componentPanel:t,glEventHub:n}=this.props;n.emit(Q.FOCUS,t);var{onFocus:r}=this.props;r(e)}handleBlur(e){var{onBlur:t}=this.props;t(e)}handleHide(){var{onHide:e}=this.props;e(...arguments)}handleResize(){var{onResize:e}=this.props;e(...arguments)}handleSessionClosed(e){var{onSessionClose:t}=this.props;t(e)}handleSessionOpened(e,t){var{onSessionOpen:n}=this.props;n(e,t)}handleBeforeShow(){var{onBeforeShow:e}=this.props;e(...arguments)}handleShow(){var{onShow:e}=this.props;e(...arguments)}handleTabBlur(){var{onTabBlur:e}=this.props;e(...arguments)}handleTabFocus(){var{onTabFocus:e}=this.props;e(...arguments)}handleRenameCancel(){this.setState({showRenameDialog:!1})}handleShowRenameDialog(){this.setState({showRenameDialog:!0})}handleRenameSubmit(e){var{glContainer:t}=this.props;this.setState({showRenameDialog:!1,title:e});var n=_.getRootFromContainer(t),r=_.getComponentConfigFromContainer(t);$(r),_.renameComponent(n,r,e)}handleCopyPanel(){var{glContainer:e,glEventHub:t}=this.props,n=_.getRootFromContainer(e),r=_.getComponentConfigFromContainer(e);if(r==null){cb.error("Could not get component config from container",e);return}var a=_.cloneComponent(n,r);a!==null&&t.emit(Q.CLONED,this,a)}getCloneAction(){return{title:"Copy Panel",order:10,group:ie.groups.high,action:this.handleCopyPanel}}getRenameAction(){return{title:"Rename",order:10,group:ie.groups.medium,action:this.handleShowRenameDialog}}render(){var{children:e,className:t,renderTabTooltip:n,glContainer:r,additionalActions:a,errorMessage:s,isLoaded:o,isLoading:d,isClonable:h,isRenamable:u}=this.props,{tab:c}=r,{showRenameDialog:m,title:p}=this.state;return l.jsxs("div",{className:Z("h-100 w-100 iris-panel",t),onFocusCapture:this.handleFocus,onBlurCapture:this.handleBlur,children:[e,l.jsx(Rr,{errorMessage:s,isLoaded:o,isLoading:d}),c!=null&&qa.createPortal(l.jsxs(l.Fragment,{children:[l.jsx(ob,{glContainer:r,additionalActions:this.getAdditionActions(a,h,u)}),u&&l.jsx(Ah,{isShown:m,value:p,itemType:"Panel",onCancel:this.handleRenameCancel,onSubmit:this.handleRenameSubmit}),n!=null&&l.jsx(Mt,{interactive:!0,options:{placement:"bottom"},popperClassName:"panel-tab-popper",children:n()})]}),c.element[0])]})}}kh($h,"defaultProps",{className:"",onTab:()=>{},onTabClicked:()=>{},onClearAllFilters:()=>{},onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onBeforeShow:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},renderTabTooltip:null,additionalActions:[],errorMessage:null,isLoading:!1,isLoaded:!0,isClonable:!1,isRenamable:!1});const Kt=$h;function Kr(i){var{widgetType:e,widgetName:t,glContainer:n,description:r,children:a}=i,s=_.getTitleFromContainer(n);return l.jsxs("div",{className:"tab-tooltip-grid-container",children:[l.jsxs("span",{className:"tab-tooltip-title",children:[e," Name"]}),l.jsxs("div",{className:"tab-tooltip-name-wrapper",children:[l.jsx("span",{className:"tab-tooltip-name",children:t}),l.jsx(bd,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})]}),t!==s&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tab-tooltip-title",children:"Display Name"}),l.jsx("span",{className:"tab-tooltip-name",children:s})]}),r&&l.jsx("div",{className:"tab-tooltip-description",children:r}),a]})}Kr.propTypes={glContainer:bs.Container.isRequired,widgetType:I.string,widgetName:I.string,description:I.string,children:I.node};Kr.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function Uh(i,e,t){return e=mb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mb(i){var e=pb(i,"string");return typeof e=="symbol"?e:String(e)}function pb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Hh extends v.PureComponent{constructor(e){super(e),Uh(this,"getCachedRenderTabTooltip",te((t,n,r,a,s)=>t?()=>l.jsx(Kr,{glContainer:n,widgetType:r,widgetName:a,description:s}):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;fd(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:n,isWidgetDisconnected:r,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&n&&a)return`Disconnected from server.
|
|
21
21
|
Check your internet connection.`;if(t&&n)return"Disconnected from server.";if(n){var{widgetName:s,widgetType:o}=this.props;return'Variable "'.concat(s,`" not set.
|
|
22
|
-
`).concat(o," does not exist yet.")}if(r){var{widgetName:d}=this.props;return"".concat(d," 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:r,isLoading:a,glContainer:s,glEventHub:o,isDisconnected:d,isClonable:h,isRenamable:u,showTabTooltip:c,renderTabTooltip:m,widgetType:p,widgetName:v,description:g,onClearAllFilters:b,onHide:C,onFocus:w,onBlur:S,onResize:y,onShow:E,onTabBlur:M,onTabFocus:O,onTabClicked:x}=this.props,{isPanelDisconnected:N,isWidgetDisconnected:W,isPanelInactive:q}=this.state,k=this.getErrorMessage(),A=m??this.getCachedRenderTabTooltip(c,s,p,v,g),U=[{title:"Copy ".concat(p," Name"),group:ie.groups.medium,order:20,action:this.handleCopyName}];return l.jsxs(Kt,{className:Z(t,{disconnected:N||W||d,inactive:q}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:b,onHide:C,onFocus:w,onBlur:S,onResize:y,onShow:E,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:M,onTabFocus:O,onTabClicked:x,renderTabTooltip:A,errorMessage:k,isLoaded:r,isLoading:a,isClonable:h,isRenamable:u,additionalActions:U,children:[e,q&&l.jsx("div",{className:"fill-parent-absolute"})]})}}Uh(Hh,"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 ys=Hh,Xe=Object.freeze({DEFAULT:"DEFAULT",LINKER:"LINKER"});var fb=new Map,zr=Object.freeze([]),Vh=(i,e)=>{var t;return(t=Qe(i,e).columns)!==null&&t!==void 0?t:zr},vb=(i,e)=>{var t;return(t=Qe(i,e).filterSets)!==null&&t!==void 0?t:zr},ws=(i,e)=>{var t;return(t=Qe(i,e).filters)!==null&&t!==void 0?t:zr},Es=(i,e)=>{var t;return(t=Qe(i,e).tableMap)!==null&&t!==void 0?t:fb},Ps=(i,e)=>Qe(i,e).isolatedLinkerPanelId,ii=(i,e)=>{var t;return(t=Qe(i,e).links)!==null&&t!==void 0?t:zr},_s=(i,e)=>Qe(i,e).columnSelectionValidator,gb=(i,e)=>Qe(i,e).connection,Tn=(i,e)=>Qe(i,e).sessionWrapper,bb=(i,e)=>t=>t(Ft(i,{connection:e})),Cb=(i,e)=>t=>t(Ft(i,{sessionWrapper:e})),Ts=(i,e)=>t=>t(Ft(i,{links:e})),Sb=(i,e)=>(t,n)=>{var r=ii(n(),i),a=e.filter(s=>r.findIndex(o=>Gn(o.start,s.start)&&Gn(o.end,s.end))<0);return t(Ts(i,r.concat(a)))},yb=(i,e)=>(t,n)=>{var r=ii(n(),i),a=r.filter(s=>!e.includes(s.id));return t(Ts(i,a))},Bh=(i,e)=>t=>t(Ft(i,{isolatedLinkerPanelId:e})),wb=(i,e)=>t=>t(Ft(i,{columnSelectionValidator:e})),Eb=(i,e)=>t=>t(Ft(i,{consoleSettings:e})),Pb=(i,e)=>t=>t(Ft(i,{filterSets:e}));function Wh(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:s,waitingInputMap:o}=i,d=f.useMemo(()=>{var v=Array.from(o.keys()),g=v.find(w=>t.get(w)!=null),b=v.find(w=>n.get(w)!=null),C=Ct.join(v.map(w=>'"'.concat(w,'"')));return g!=null&&g&&b!=null&&b?"Use a filter control or linked table to set a value for ".concat(C):g!=null&&g?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,o]),h=f.useMemo(()=>Array.from(e.values()),[e]),u=f.useCallback(v=>{v.stopPropagation(),v.preventDefault(),r(Array.from(s.values()))},[r,s]),c=f.useCallback(v=>{v.stopPropagation(),v.preventDefault(),a()},[a]),m=s.size>0,p=!m&&o.size>0;return l.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:l.jsxs("div",{className:Z("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":m},{"chart-filter-waiting-input":p}),children:[m&&l.jsxs(l.Fragment,{children:[l.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:"}),l.jsx("div",{className:"waiting-filter-list",children:h.map(v=>{var g=s.has(v.name),b=g?Ja:Xu;return l.jsxs("div",{className:Z("waiting-filter-item",{"is-invalid":g}),children:[l.jsx(X,{icon:b}),v.name]},v.name)})}),l.jsxs("div",{children:[l.jsx(Zs,{onClick:u,className:"btn-primary",children:"Add Input Filters"}),l.jsx(Zs,{onClick:c,className:"btn-primary",children:"Open Linker Tool"})]})]}),p&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"info-message",children:"Waiting for User Input"}),l.jsx("div",{className:"",children:d})]})]})})}Wh.propTypes={columnMap:I.instanceOf(Map).isRequired,inputFilterMap:I.instanceOf(Map).isRequired,linkedColumnMap:I.instanceOf(Map).isRequired,onAdd:I.func.isRequired,onOpenLinker:I.func.isRequired,waitingFilterMap:I.instanceOf(Map).isRequired,waitingInputMap:I.instanceOf(Map).isRequired};function Ni(i){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:r}=i;return l.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:l.jsxs("div",{className:Z("chart-panel-overlay-content"),children:[l.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:"}),l.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>l.jsx(Cd,{className:Z("btn-chart-column-selector",Ni.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}Ni.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);Ni.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function br(i){return i.settings!==void 0}function _b(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function Tb(i){return i!=null&&_b(i.panelState)}function Yo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Zo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yo(Object(t),!0).forEach(function(n){pt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Yo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function pt(i,e,t){return e=Ob(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ob(i){var e=Db(i,"string");return typeof e=="symbol"?e:String(e)}function Db(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ze=B.module("ChartPanel"),Ib=150;function xb(i){return i.inputFilters!=null}function Nb(i){return i.panelState!=null}class qr extends f.Component{constructor(e){var t;super(e),pt(this,"panelContainer",void 0),pt(this,"chart",void 0),pt(this,"pending",void 0),pt(this,"getWaitingInputMap",te((o,d,h)=>{if(!o)return new Map;var u=new Map(d);return h.forEach((c,m)=>{u.delete(m)}),u})),pt(this,"getWaitingFilterMap",te((o,d,h,u,c)=>{if(!o)return new Map;var m=new Map(d);return h.forEach((p,v)=>{m.delete(v)}),c.forEach((p,v)=>{m.delete(v)}),u.forEach((p,v)=>{m.delete(v)}),m})),pt(this,"getInputFilterColumnMap",te((o,d)=>{for(var h=new Map,u=0;u<d.length;u+=1){var c=d[u],{name:m,type:p}=c,v=o.get(m);v!=null&&v.type===p&&h.set(m,c)}return h})),pt(this,"getLinkedColumnMap",te((o,d)=>{for(var h=new Map,u=_.getIdFromPanel(this),c=0;c<d.length;c+=1){var m=d[c],p=null;if(m.start!=null&&m.start.panelId===u&&o.has(m.start.columnName)?p=m.start.columnName:m.end&&m.end.panelId===u&&o.has(m.end.columnName)&&(p=m.end.columnName),p!=null&&o.has(p)){var v=o.get(p);$(v),h.set(p,v)}}return h})),pt(this,"getSelectorColumns",te((o,d,h)=>Array.from(o.values()).map(u=>({name:u.name,type:u.type,isValid:h?h(this,u):!1,isActive:d.has(u.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.handleResize=this.handleResize.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=Je(this.updateModelFromSource.bind(this),Ib),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=(t=e.containerRef)!==null&&t!==void 0?t:J.createRef(),this.chart=J.createRef(),this.pending=new dn;var{metadata:n,panelState:r}=e,{filterValueMap:a=[],settings:s={}}=r??{};this.state={settings:s,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:n!=null&&br(n)&&n.settings.isLinked,filterMap:new Map(a),filterValueMap:new Map(a),model:void 0,columnMap:new Map,panelState:r}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:r}=this.props,{columnMap:a,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:u}=this.state;s&&(a!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),o!==t.filterMap?this.updateFilters():d!==t.filterValueMap&&this.updatePanelState(),u!==t.settings&&Xs(s)&&(s.updateSettings(u),this.updatePanelState()),h!==t.isLinked?r&&(h?(this.startListeningToSource(r),this.updateModelFromSource()):this.stopListeningToSource(r)):h&&r!==e.source&&(e.source&&this.stopListeningToSource(e.source),r&&(this.startListeningToSource(r),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){ze.debug("startListeningToSource",e);var{model:t}=this.state;$(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){ze.debug("stopListeningToSource",e);var{model:t}=this.state;$(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(ka.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:r}=this.props;ze.debug("handleColumnMouseEnter",r,t,n),r&&r(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;ze.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(Xe.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){ze.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:r}=this.props,{filterMap:a,isLinked:s}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),r&&s&&(this.startListeningToSource(r),this.updateModelFromSource()))})}handleLoadError(e){le.isCanceled(e)||(ze.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:r}=this.state;if(!n||!r||!t){ze.debug2("updateModelFromSource ignoring",n,r,t);return}var{dh:a}=r;if(this.pending.cancel(),br(e)){var{settings:s}=e;this.pending.add(a.plot.Figure.create(new Sd(a).makeFigureSettings(s,t))).then(o=>{Xs(r)&&r.setFigure(o)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:r}=this.state,{tableSettings:a}=t??{};if(e&&xb(e.props)&&Nb(e.state)){var{inputFilters:s}=e.props,{panelState:o}=e.state;o!=null&&(a=Ye.extractTableSettings(o,s))}this.setState({panelState:{settings:r,tableSettings:a,filterValueMap:Array.from(n)}})}handleError(){this.setState({isLoading:!1})}handleResize(){this.updateChart()}handleSettingsChanged(e){this.setState(t=>{var{settings:n}=t,r=Zo(Zo({},n),e);return ze.debug("Updated settings",r),{settings:r}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(){this.setState({isLoading:!1})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:r}=e;t.emit(ve.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:r,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&(this.loadModelIfNecessary(),this.updateChart())})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(ve.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Ni.makeButtonClassName(e);if(!this.panelContainer.current)return null;var r=this.panelContainer.current.querySelector(".".concat(n)),a=(t=r?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var s=a.left+a.width/2,o=a.bottom;return[s,o]}setFilterMap(e){ze.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:r,filterMap:a}=t,s=null,o=new Map(t.filterValueMap);return e.forEach((d,h)=>{var{columnType:u,filterList:c}=d,m=r.get(h);if(!(m==null||m.type!==u)){if(c.length<1){ze.debug("Ignoring empty filterList for column",h);return}var{value:p}=c[0];o.set(h,p),a.get(h)!==p&&(s===null&&(s=new Map(a)),s.set(h,p))}}),{filterValueMap:o,filterMap:(n=s)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:r}=t,{filterMap:a,filterValueMap:s}=t;if(!s.has(e))return null;s=new Map(t.filterValueMap),s.delete(e);var o=this.getInputFilterColumnMap(r,n);if(o.has(e)){var d,h=a.get(e),u=(d=o.get(e))===null||d===void 0?void 0:d.value;u!=null&&h!==u&&(a=new Map(t.filterMap),u.length>0?a.set(e,u):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:s}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(s=>s.name===a.name&&s.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var r=e.filter(a=>!t.includes(a));r.length>0&&this.updateInputFilters(r)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r}=n,a=new Map(n.filterValueMap),s=new Map(n.filterMap),o=t?{filterMap:s,filterValueMap:a}:{},d=0;d<e.length;d+=1){var{name:h,type:u,value:c}=e[d],m=r.get(h);m!=null&&m.type===u&&(c!=null&&s.get(h)!==c&&(c===""?s.delete(h):s.set(h,c),o.filterMap=s),a.has(h)&&(a.delete(h),o.filterValueMap=a))}return ze.debug("updateInputFilters",o),o})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r,filterValueMap:a}=n,s=new Map(n.filterMap),o=t,d=0;d<e.length;d+=1){var{name:h,type:u}=e[d],c=r.get(h);if(c!=null&&c.type===u&&s.has(h)){var m=s.get(h);if(a.has(h)){var p=a.get(h);p!==m&&p!=null&&(o=!0,s.set(h,p))}else o=!0,s.delete(h)}}return ze.debug("deleteInputFilters",o),o?{filterMap:s}: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;$(n);var r=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&r.size===0){var a=n.getDefaultTitle(),s=Ct.join(Array.from(t.entries()).map(o=>{var[d,h]=o;return"".concat(d,": ").concat(h)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(s,"</span>")):n.setTitle(s),ze.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else ze.debug2("updateFilters waiting on inputs",r),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),r=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((s,o)=>{t.has(o)||(r.delete(o),a.filterValueMap=r)}),e.filterMap.forEach((s,o)=>{t.has(o)||(n.delete(o),a.filterMap=n)}),a})}updateChart(){this.chart.current&&this.chart.current.updateDimensions()}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:r,isLinkerActive:a,links:s,metadata:o,settings:d,Plotly:h}=this.props,{columnMap:u,filterMap:c,error:m,model:p,isActive:v,isDisconnected:g,isLoaded:b,isLoading:C}=this.state,w;br(o)?w=o.table:w=o.figure;var S=this.getInputFilterColumnMap(u,r),y=this.getLinkedColumnMap(u,s),E=p!=null?this.getWaitingInputMap(p.isFilterRequired(),u,c):new Map,M=p!=null?this.getWaitingFilterMap(p.isFilterRequired(),u,c,y,S):new Map,O=m!=null?"Unable to open chart. ".concat(m):void 0,x=E.size>0,N=u.size>0&&a;return l.jsx(ys,{className:Z("iris-chart-panel",{"input-required":x}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:O,isDisconnected:g,isLoading:C,isLoaded:b,widgetName:w,widgetType:"Chart",children:l.jsxs("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100",children:[l.jsx("div",{className:"chart-container h-100 w-100",children:b&&p&&l.jsx(xc,{isActive:v,model:p,settings:d,ref:this.chart,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:h})}),l.jsx(Oi,{in:x&&!N&&!C,timeout:wn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:l.jsx(Wh,{inputFilterMap:S,linkedColumnMap:y,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:u,waitingFilterMap:M,waitingInputMap:E})}),l.jsx(Oi,{in:N,timeout:wn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:l.jsx(Ni,{columns:this.getSelectorColumns(u,y,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}pt(qr,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});pt(qr,"displayName","ChartPanel");pt(qr,"COMPONENT","ChartPanel");var Lb=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&(r=n.sourcePanelId);var a=Es(i,t),s=Nh(i,t),o=Vr(i),d=Ps(i,t),h=o===Xe.LINKER&&d===void 0;return{columnSelectionValidator:_s(i,t),isLinkerActive:h,inputFilters:ws(i,t),links:ii(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?s.get(r):void 0,settings:Fe(i)}},Mb=Me(Lb,{setActiveTool:Wr,setDashboardIsolatedLinkerPanelId:Bh},null,{forwardRef:!0})(qr);const Li=Mb;function Nr(i,e,t){return e=Fb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fb(i){var e=Rb(i,"string");return typeof e=="symbol"?e:String(e)}function Rb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ar=B.module("CommandHistoryPanel");class Wi extends f.Component{static handleError(e){ar.error(e)}constructor(e){super(e),Nr(this,"container",void 0),Nr(this,"pending",void 0),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSendToConsole=this.handleSendToConsole.bind(this),this.handleSendToNotebook=this.handleSendToNotebook.bind(this),this.container=J.createRef(),this.pending=new dn;var{session:t,sessionId:n,language:r}=e;this.state={panelState:{},session:t,sessionId:n,language:r,contextActions:[{action:this.handleFocusHistory,shortcut:We.COMMAND_HISTORY.FOCUS_HISTORY}]}}componentDidMount(){var{glEventHub:e,session:t}=this.props;e.on(ot.FOCUS_HISTORY,this.handleFocusHistory),t!=null&&this.loadTable()}componentWillUnmount(){var{glEventHub:e}=this.props;e.off(ot.FOCUS_HISTORY,this.handleFocusHistory),this.pending.cancel()}handleFocusHistory(){this.container.current&&this.container.current.focus()}handleShow(){var e;(e=this.container.current)===null||e===void 0||e.restoreScrollPosition()}handleSessionOpened(e,t){var{language:n,sessionId:r}=t;this.setState({session:e,sessionId:r,language:n},()=>{this.loadTable()})}handleSessionClosed(){this.pending.cancel(),this.setState({session:void 0,language:void 0,table:void 0})}handleSendToNotebook(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{session:n,language:r}=this.state;if(ar.debug("handleSendToNotebook",n,e),!n){ar.error("Session is not connected.");return}var{glEventHub:a}=this.props;a.emit(t?ue.CREATE_NOTEBOOK:ue.SEND_TO_NOTEBOOK,n,r,e)}handleSendToConsole(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;ar.debug("handleSendToConsole",e);var{glEventHub:r}=this.props;r.emit(ot.SEND_COMMAND,e,t,n)}loadTable(){var{commandHistoryStorage:e}=this.props,{language:t,sessionId:n}=this.state;$(t),$(n),this.pending.add(e.getTable(t,n,Date.now()),r=>r.close()).then(r=>{this.setState({table:r})}).catch(Wi.handleError)}render(){var{glContainer:e,glEventHub:t,commandHistoryStorage:n}=this.props,{language:r,contextActions:a,table:s}=this.state;return l.jsxs(Kt,{className:"command-history-pane",componentPanel:this,glContainer:e,glEventHub:t,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow,children:[!s&&l.jsx("div",{className:"command-history-disconnected-message",children:"Waiting for console connection"}),s&&r!=null&&l.jsxs(l.Fragment,{children:[l.jsx(Pp,{ref:this.container,language:r,sendToNotebook:this.handleSendToNotebook,sendToConsole:this.handleSendToConsole,table:s,commandHistoryStorage:n}),l.jsx(ie,{actions:a})]})]})}}Nr(Wi,"COMPONENT","CommandHistoryPanel");Nr(Wi,"TITLE","Command History");var jb=(i,e)=>{var t=Hd(i),n=Tn(i,e.localDashboardId),{session:r,config:a}=n??{},{type:s,id:o}=a??{};return{commandHistoryStorage:t,language:s,session:r,sessionId:o}},Ab=Me(jb,null,null,{forwardRef:!0})(Wi);const $a=Ab;function Xo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Jo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xo(Object(t),!0).forEach(function(n){Bn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Xo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Bn(i,e,t){return e=kb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kb(i){var e=$b(i,"string");return typeof e=="symbol"?e:String(e)}function $b(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var sr=B.module("ConsolePanel"),Ub=500,Hb=Object.freeze({consoleSettings:{},itemIds:[]});class Os extends f.PureComponent{constructor(e){super(e),Bn(this,"consoleRef",void 0),Bn(this,"objectSubscriptionCleanup",void 0),Bn(this,"savePanelState",Je(()=>{var{consoleSettings:s,itemIds:o}=this.state,d={consoleSettings:s,itemIds:[...o]};sr.debug("Saving panel state",d),this.setState({panelState:d})},Ub)),this.handleFocusCommandHistory=this.handleFocusCommandHistory.bind(this),this.handleOpenObject=this.handleOpenObject.bind(this),this.handleCloseObject=this.handleCloseObject.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSettingsChange=this.handleSettingsChange.bind(this),this.handleShow=this.handleShow.bind(this),this.handlePanelMount=this.handlePanelMount.bind(this),this.consoleRef=J.createRef();var{panelState:t}=e,n=Jo(Jo({},Hb),t||{}),{consoleSettings:r,itemIds:a}=n;this.state={consoleSettings:r,itemIds:new Map(a),objectMap:new Map,error:void 0,panelState:n}}componentDidMount(){var{glEventHub:e}=this.props;this.closeDisconnectedPanels(),e.on(Q.MOUNT,this.handlePanelMount),this.subscribeToFieldUpdates()}componentDidUpdate(e,t){var{consoleSettings:n,itemIds:r}=this.state;(t.consoleSettings!==n||t.itemIds!==r)&&this.savePanelState()}componentWillUnmount(){var e,{glEventHub:t}=this.props;this.savePanelState.flush(),t.off(Q.MOUNT,this.handlePanelMount),(e=this.objectSubscriptionCleanup)===null||e===void 0||e.call(this)}subscribeToFieldUpdates(){var{sessionWrapper:e}=this.props,{session:t}=e;this.objectSubscriptionCleanup=t.subscribeToFieldUpdates(n=>{sr.debug("Got updates",n),this.setState(r=>{var{objectMap:a}=r,{updated:s,created:o,removed:d}=n,h=[...s,...d],u=new Map(a);h.forEach(m=>{var{title:p}=m;p!==void 0&&u.delete(p)});var c=[...s,...o];return c.forEach(m=>{m.title!==void 0&&u.set(m.title,m)}),{objectMap:u}})})}setItemId(e,t){this.setState(n=>{var{itemIds:r}=n,a=new Map(r);return a.set(e,t),{itemIds:a}})}getItemId(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{itemIds:n}=this.state,r=n.get(e);return r==null&&t&&(r=$e.generate(),this.setItemId(e,r)),r}handleTabFocus(){var e;(e=this.consoleRef.current)===null||e===void 0||e.focus()}handlePanelMount(e){var t,n,r,{itemIds:a}=this.state,s=e==null||(t=e.props)===null||t===void 0?void 0:t.id,o=e==null||(n=e.props)===null||n===void 0||(r=n.metadata)===null||r===void 0?void 0:r.sourcePanelId;if(s&&o){var d=new Set(a.values());d.has(o)&&this.setItemId(s,s)}}handleFocusCommandHistory(){var{glEventHub:e}=this.props;e.emit(ot.FOCUS_HISTORY)}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions()}handleOpenObject(e){var{sessionWrapper:t}=this.props,{session:n}=t;this.openWidget(e,n)}handleCloseObject(e){var{title:t}=e;if(t!==void 0){var n=this.getItemId(t,!1),{glEventHub:r}=this.props;r.emit(Q.CLOSE,n)}}handleSettingsChange(e){var{glEventHub:t}=this.props;sr.debug("handleSettingsChange",e),this.setState({consoleSettings:e}),t.emit(ot.SETTINGS_CHANGED,e)}openWidget(e,t){var{glEventHub:n}=this.props,{title:r}=e;$(r);var a=this.getItemId(r),s={fetch:()=>t.getObject(e),panelId:a,widget:e};sr.debug("openWidget",s),n.emit(Q.OPEN,s)}addCommand(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;(t=this.consoleRef.current)===null||t===void 0||t.addCommand(e,n,r)}closeDisconnectedPanels(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,{consoleSettings:t,itemIds:n}=this.state,{isClosePanelsOnDisconnectEnabled:r=!0}=t;if(!(!r&&!e)){var a=[...n.values()],{glEventHub:s}=this.props;a.forEach(o=>{s.emit(Q.CLOSE,o)}),this.setState({itemIds:new Map})}}updateDimensions(){var e;(e=this.consoleRef.current)===null||e===void 0||e.updateDimensions()}render(){var{commandHistoryStorage:e,glContainer:t,glEventHub:n,sessionWrapper:r,timeZone:a,unzip:s}=this.props,{consoleSettings:o,error:d,objectMap:h}=this.state,{config:u,session:c,connection:m,details:p={},dh:v}=r,{workerName:g,processInfoId:b}=p,{id:C,type:w}=u;return l.jsx(Kt,{className:"iris-panel-console",componentPanel:this,glContainer:t,glEventHub:n,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleTabFocus,errorMessage:d!=null?"".concat(d):void 0,children:c!=null&&l.jsx(op,{dh:v,ref:this.consoleRef,settings:o,session:c,focusCommandHistory:this.handleFocusCommandHistory,openObject:this.handleOpenObject,closeObject:this.handleCloseObject,commandHistoryStorage:e,onSettingsChange:this.handleSettingsChange,language:w,statusBarChildren:l.jsxs(l.Fragment,{children:[l.jsx("div",{children:" "}),l.jsx("div",{children:Td.LANGUAGE_MAP.get(w)}),g!=null&&l.jsxs(l.Fragment,{children:[l.jsx("div",{children:" • "}),g]}),b!=null&&l.jsxs(l.Fragment,{children:[l.jsx("div",{children:" • "}),b,l.jsx("div",{children:" •"})]}),l.jsx("div",{children:" "}),l.jsx("div",{children:l.jsx(Lp,{connection:m,defaultUpdateInterval:10*1e3,hoverUpdateInterval:3*1e3,monitorDuration:10*60*1e3})}),l.jsx("div",{children:" "})]}),scope:C,timeZone:a,objectMap:h,unzip:s})})}}Bn(Os,"COMPONENT","ConsolePanel");Bn(Os,"TITLE","Console");var Vb=(i,e)=>({commandHistoryStorage:Hd(i),sessionWrapper:Tn(i,e.localDashboardId),timeZone:ki(i)}),Bb=Me(Vb,null,null,{forwardRef:!0})(Os);const wi=Bb;function St(i,e,t){return e=Wb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Wb(i){var e=Gb(i,"string");return typeof e=="symbol"?e:String(e)}function Gb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var or=B.module("DropdownFilter"),Kb=150;class Bt extends f.Component{constructor(e){super(e),St(this,"dropdownRef",void 0),St(this,"getCompatibleColumns",te((a,s)=>a!=null?s.filter(o=>{var{type:d}=o;return d!==void 0&&oe.isCompatibleType(d,a.columnType)}):[])),St(this,"getColumnOptions",te((a,s)=>{var o=-1,d=[];return d.push(l.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((h,u)=>{d.push(l.jsx("option",{value:u,children:this.getItemLabel(a,u)},"".concat(h.name,"/").concat(h.type))),s!==null&&h.name===s.name&&h.type===s.type&&(o=u)}),[d,o]})),St(this,"getSelectedOptionIndex",te((a,s)=>a.indexOf(s))),St(this,"getValueOptions",te(a=>[l.jsx("option",{value:"-1",children:Bt.PLACEHOLDER},"-1"),...a.map((s,o)=>l.jsx("option",{value:o,children:s??"(null)"},"".concat(o,"/").concat(s)))])),St(this,"getItemLabel",wt((a,s)=>{var{name:o,type:d}=a[s];if(s>0&&a[s-1].name===o||s<a.length-1&&a[s+1].name===o){var h=d.substring(d.lastIndexOf(".")+1);return"".concat(o," (").concat(h,")")}return o})),St(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:d}=this.state;a({column:s,isValueShown:d,value:o??void 0})},Kb)),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=J.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:$e(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:a}=this.props,{column:s,value:o,isValueShown:d}=this.state;a&&(n!==e.source&&this.sourceUpdated(),r!==e.values&&o!==""&&!r.includes(o)&&this.resetValue(),d!==t.isValueShown&&d&&this.focusInput(),(s!==t.column||o!==t.value||d!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{value:t}=e.target;if(or.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:r}=this.props,a=this.getCompatibleColumns(r,n);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),or.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var{value:t}=e.target,n=parseInt(t,10),r="",{values:a}=this.props;n>=0&&n<a.length?r=a[n]:or.debug2("Selected default item"),or.debug2("handleValueChange",r),this.setState({value:r})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:r}=e;return{column:n,value:t===n?r:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:r,isValueShown:a}=e,s=t!=null&&n!=null?{name:t,type:n}:null;this.setState(o=>{var{value:d,isValueShown:h}=o;return{column:s,value:r??d,isValueShown:a??h}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:r,isLoaded:a,source:s,onColumnSelected:o,onSourceMouseEnter:d,onSourceMouseLeave:h,values:u,settingsError:c}=this.props,{column:m,disableCancel:p,id:v,isValueShown:g,selectedColumn:b,value:C}=this.state,w=s===null,S=this.getCompatibleColumns(s,t),y=s!=null,E=(e=s?.columnName)!==null&&e!==void 0?e:Bt.SOURCE_BUTTON_PLACEHOLDER,M=m!=null?"".concat(m.name," Filter"):null,[O,x]=this.getColumnOptions(S,b),N=this.getValueOptions(u),W=this.getSelectedOptionIndex(u,C),q=!y||b==null,k=g&&!r,A="source-column-btn-".concat(v),U="filter-column-select-".concat(v);return l.jsxs(as,{className:"dropdown-filter fill-parent-absolute",isFlipped:k,children:[l.jsx("div",{className:"dropdown-filter-settings-card",children:l.jsxs("div",{className:"dropdown-filter-card-content",children:[l.jsxs("div",{className:"dropdown-filter-settings-grid",children:[l.jsx("label",{htmlFor:A,children:"Source Column"}),l.jsx(Cd,{id:A,isLinked:y,onClick:o,onMouseEnter:d,onMouseLeave:h,className:Bt.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:E}),l.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),l.jsx("label",{htmlFor:U,children:"Filter Column"}),l.jsx("select",{id:U,value:x,className:"custom-select",onChange:this.handleColumnChange,disabled:w,children:O}),l.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&l.jsx("div",{className:"error-message text-center",children:c}),y&&l.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[l.jsx(F,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:p||g||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),l.jsx(F,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:q||g||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),l.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"dropdown-filter-column",children:l.jsx("div",{className:"dropdown-filter-column-title",children:M})}),l.jsxs("div",{className:"dropdown-filter-card-content",children:[l.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:l.jsx("select",{className:"custom-select",value:W,ref:this.dropdownRef,onChange:this.handleValueChange,onKeyPress:this.handleDropdownKeyPress,title:"Select Value",children:N})}),c&&l.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),l.jsx("div",{className:"dropdown-filter-menu",children:l.jsx(F,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:l.jsx(X,{icon:ji,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}St(Bt,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});St(Bt,"PLACEHOLDER","Select a value...");St(Bt,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");St(Bt,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const Qo=Bt;function Ve(i,e,t){return e=zb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zb(i){var e=qb(i,"string");return typeof e=="symbol"?e:String(e)}function qb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Se=B.module("DropdownFilterPanel"),Yb=250,Zb=(i,e)=>{var{localDashboardId:t}=e,n=_.getIdFromPanel({props:e}),r=Es(i,t),a=ii(i,t),s=Vr(i),o=Ps(i,t),d=s===Xe.LINKER&&(o===void 0||o===n),h=s===Xe.LINKER&&o!==void 0&&o!==n;return{columns:Vh(i,t),columnSelectionValidator:_s(i,t),dh:Ur(i),isLinkerActive:d,disableLinking:h,settings:Fe(i),panelTableMap:r,dashboardLinks:a}},Xb=Me(Zb,null,null,{forwardRef:!0});class Et extends f.Component{constructor(e){super(e),Ve(this,"dateTimeFormatter",void 0),Ve(this,"dropdownFilterRef",void 0),Ve(this,"panelContainer",void 0),Ve(this,"pending",void 0),Ve(this,"cleanup",void 0),Ve(this,"columnFormats",void 0),Ve(this,"getCachedValues",wt((c,m,p)=>{var{type:v,name:g}=m;return v!==void 0&&oe.isDateType(v)?c.map(b=>this.dateTimeFormatter.format(b)):c.map(b=>b!=null&&v!=null?p.getFormattedString(b,v,g):null)})),Ve(this,"getCachedPanelLinks",wt((c,m)=>{var p=_.getIdFromPanel(m);return Se.debug("getCachedPanelLinks",c,p),c.filter(v=>{var g;return((g=v.end)===null||g===void 0?void 0:g.panelId)===p})})),Ve(this,"getCachedSource",wt(c=>{Se.debug("getCachedSource",c);var m;if(c.length>0){var[p]=c;m=p.start,c.length>1&&Se.error("Filter has more that one link",c)}return m})),Ve(this,"getCachedSourceTable",wt((c,m)=>{var p;if(Se.debug("getCachedSourceTable",c,m),m==null)return null;var{panelId:v}=m;return(p=c.get(v))!==null&&p!==void 0?p:null})),Ve(this,"getCachedSourceColumn",wt((c,m)=>{var p;return Se.debug("getCachedSourceColumn",c,m),c==null||m==null?null:(p=c.columns.find(v=>{var{name:g,type:b}=v;return g===m.columnName&&b===m.columnType}))!==null&&p!==void 0?p:null})),this.handleChange=Je(this.handleChange.bind(this),Yb),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=J.createRef(),this.panelContainer=J.createRef(),this.pending=new dn;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=Js.getColumnFormats(r),this.dateTimeFormatter=new Ge(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:s=!1,name:o,type:d,timestamp:h}=n??{},u=o!=null&&d!=null?{name:o,type:d}:void 0;this.state={column:u,formatter:new _a(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:h,values:[],isValueShown:s,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:r,timestamp:a}=this.state,s=this.getSourceTable(t,e);if(s!==null&&this.startListeningToSource(s),n!=null){var{name:o,type:d}=n;this.sendUpdate(o,d,r,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:r,settings:a}=this.props,{valuesTable:s}=this.state,o=this.getSource(n),d=this.getSourceTable(r,n),h=this.getSource(e.dashboardLinks),u=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),s!==t.valuesTable&&t.valuesTable!=null&&(Se.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(d!==u||o!==h)&&this.updateValuesTable(),d!==u&&(u!==null&&this.stopListeningToSource(u),d!==null&&this.startListeningToSource(d))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);this.pending.cancel(),r!==null&&this.stopListeningToSource(r),this.cleanup&&this.cleanup(),n?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(Qo.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 r=n.left+n.width/2,a=n.bottom;return[r,a]}getSettingsErrorMessage(){var{sourceSize:e}=this.state;if(e>Et.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(Et.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;Se.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;Se.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,{name:a=void 0,type:s=void 0}=t??{},o=!0,d=Date.now();this.setState(h=>{var u,c,{panelState:m,timestamp:p,wasFlipped:v,skipUpdate:g}=h,b=m!=null&&n!==m.isValueShown&&a===m.name&&s===m.type&&r===m.value;return o=(u=!g&&n&&(!b||!v))!==null&&u!==void 0?u:!1,o||(d=p),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:(c=d)!==null&&c!==void 0?c:void 0},timestamp:d,wasFlipped:b,skipUpdate:!1}},()=>{o&&this.sendUpdate(a??null,s,r,d)})}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(){Se.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(ve.COLUMN_SELECTED,this,Et.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){Se.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!r}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,r){var a,{dashboardLinks:s,glEventHub:o}=this.props,d=(a=this.getSource(s))===null||a===void 0?void 0:a.panelId,h=d===null?[]:[d];Se.debug("sendUpdate",{name:e,type:t,value:n,timestamp:r,excludePanelIds:h}),o.emit(ve.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:h})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),r=this.getSourceTable(t,e);if(Se.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){Se.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),r!=null&&(this.setState({isLoaded:!1,sourceSize:r.size}),this.pending.add(r.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{le.isCanceled(a)||(Se.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(Se.debug("applySourceSorts",r?.sort),n==null||r==null){Se.debug("Table not initialized");return}var a=[...r.sort];n.applySort(a),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(Se.debug("applySourceFilters",r?.filter),n==null||r==null){Se.debug("Table not initialized");return}var a=[...r.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(Se.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){Se.error("values column is null");return}e.setViewport(0,Et.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=Js.getColumnFormats(e);Gn(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new _a(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:r}=this.props,{valuesTable:a}=this.state;if(!a){Se.error("valuesTable is null");return}var s=this.getValuesColumn(a,r);if(!s){Se.error("Values column not found");return}var o=n.map(d=>d.get(s));this.setState({values:o,isLoading:!1,isLoaded:!0,valuesColumn:s})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,Et.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:r,glEventHub:a,isLinkerActive:s}=this.props,{column:o,formatter:d,isDisconnected:h,isValueShown:u,value:c,values:m,valuesColumn:p,isLoading:v,isLoaded:g}=this.state,b=this.getSource(t),C=this.getSettingsErrorMessage(),w=this.getPanelErrorMessage(),S=g&&p!=null?this.getCachedValues(m,p,d):[];return l.jsx(ys,{errorMessage:w,isLoading:v,isLoaded:g,isDisconnected:h,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:l.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:l.jsx(Qo,{ref:this.dropdownFilterRef,column:o,columns:e,isValueShown:u,isLinkerActive:s,disableLinking:n,isLoaded:g,settingsError:C,source:b,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Ve(Et,"displayName","DropdownFilterPanel");Ve(Et,"COMPONENT","DropdownFilterPanel");Ve(Et,"MAX_TABLE_SIZE",256);Ve(Et,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Jb=Xb(Et);const Pn=Jb;function Tt(i){return i.type==="directory"}var Ht;(function(i){i.GROOVY="text/x-groovy",i.PLAIN_TEXT="text/plain",i.PYTHON="text/x-python",i.PYTHON_COMPILED="application/x-python-code",i.SCALA="text/x-scala",i.UNKNOWN=""})(Ht||(Ht={}));class Cn{static fileExtensionToString(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return e.length===0?"":".".concat(e)}static getDepth(e){var t;if(!Cn.hasPath(e))throw new Error("Invalid path provided: ".concat(e));var n=(t=e.match(/\//g))!==null&&t!==void 0?t:[];return n.length-1}static getExtension(e){var t=this.getBaseName(e).split(".");if(t.length>1){var n;return(n=t.pop())!==null&&n!==void 0?n:""}return""}static getBaseName(e){var t;return(t=e.split("/").pop())!==null&&t!==void 0?t:""}static getCopyFileName(e){var t=e.lastIndexOf("."),n=null,r=null;t<0?r=e:(r=e.substring(0,t),n=e.substring(t+1));var a=r?"".concat(r,"-copy"):"Copy";return n!==null?"".concat(a,".").concat(n):a}static getMimeType(e){var t=this.getExtension(e).toLowerCase();switch(t){case"groovy":return Ht.GROOVY;case"py":return Ht.PYTHON;case"pyc":return Ht.PYTHON_COMPILED;case"scala":return Ht.SCALA;case"txt":return Ht.PLAIN_TEXT;default:return Ht.UNKNOWN}}static getParent(e){if(!Cn.hasPath(e))throw new Error("Invalid name provided: ".concat(e));for(var t=e.split("/");t.pop()==="";);if(t.length===0)throw new Error("No parent for path provided: ".concat(e));return"".concat(t.join("/"),"/")}static getPath(e){if(!Cn.hasPath(e))throw new Error("Invalid filename provided: ".concat(e));var t=e.split("/");return t.pop(),"".concat(t.join("/"),"/")}static hasPath(e){return e.startsWith("/")}static isPath(e){return e.startsWith("/")&&e.endsWith("/")}static makePath(e){return e.endsWith("/")?e:"".concat(e,"/")}static replaceExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=e.lastIndexOf("."),r=n>-1?e.substring(0,n):e,a=Cn.fileExtensionToString(t);return"".concat(r).concat(a)}static validateName(e){var t=[".",".."],n=/[\\/\0]/g,r=new Map([["\0","null"]]);if(!e)throw new Si("Name cannot be empty");if(t.includes(e))throw new Si('"'.concat(e,'" is a reserved name'));if(n.test(e)){var a,s;throw new Si('Invalid characters in name: "'.concat((a=(s=e.match(n))===null||s===void 0?void 0:s.reduce((o,d)=>o.includes(d)?o:[...o,d],[]).map(o=>r.has(o)?r.get(o):o).join('", "'))!==null&&a!==void 0?a:"",'"'))}}static reducePaths(e){var t=e.filter(n=>Cn.isPath(n));return e.filter(n=>!t.some(r=>n!==r&&n.startsWith(r)))}static removeRoot(e,t){if(e.length===0)return t;if(!t.startsWith(e))throw new Error("Filename ".concat(t," does not start with expected root ").concat(e));return t.substring(e.length)}static addRoot(e,t){return"".concat(e).concat(t)}}const G=Cn;var Ds=26;function Ua(i){return Tt(i)?G.makePath(i.filename):G.getPath(i.filename)}function el(i,e){if(i.length===0||e==null)throw new Error("No items to move");var t=Ua(e);if(i.some(n=>{var{filename:r}=n;return G.getPath(r)===t}))throw new Error("File already in the destination folder");if(i.some(n=>Tt(n)&&t.startsWith(G.makePath(n.filename))))throw new Error("Destination folder cannot be a child of a dragged folder");return{files:i,targetPath:t}}function Qb(i){if(Tt(i))return i.isExpanded?Ju:Qu;var e=G.getMimeType(i.basename);switch(e){case Ht.PYTHON:return tc;default:return ec}}function Ha(i){var e,{children:t,draggedItems:n,isDragInProgress:r,isDropTargetValid:a,isSelected:s,item:o,itemIndex:d,dropTargetItem:h,onDragStart:u,onDragOver:c,onDragEnd:m,onDrop:p}=i,v=(e=n?.some(O=>O.id===o.id))!==null&&e!==void 0?e:!1,g=Ua(o),b=r&&h?Ua(h):null,C=r&&a&&Tt(o)&&b===g,w=r&&a&&b===g,S=r&&!a&&b===g,y=Qb(o),E=G.getDepth(o.filename),M=Array(E).fill(null).map((O,x)=>l.jsx("span",{className:"file-list-depth-line"},x));return l.jsxs("div",{className:Z("d-flex w-100 align-items-center","file-list-item",{"is-dragged":v,"is-exact-drop-target":C,"is-in-drop-target":w,"is-invalid-drop-target":S,"is-selected":s}),onDragStart:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>u(d,O)),onDragOver:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>c(d,O)),onDragEnd:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>m(d,O)),onDrop:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>p(d,O)),draggable:!0,role:"presentation","aria-label":o.basename,children:[M," ",l.jsx(X,{icon:y,className:"item-icon",fixedWidth:!0})," ",l.jsx("span",{className:"truncation-wrapper",children:t??l.jsxs(l.Fragment,{children:[o.basename,l.jsx(Mt,{children:o.basename})]})})]})}function tl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function lr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tl(Object(t),!0).forEach(function(n){eC(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):tl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function eC(i,e,t){return e=tC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function tC(i){var e=nC(i,"string");return typeof e=="symbol"?e:String(e)}function nC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ue=B.module("FileList"),iC=500,nl="item-list-scroll-pane";function rC(i){var{isMultiSelect:e=!1,table:t,onFocusChange:n=()=>{},onMove:r,onSelect:a,onSelectionChange:s=()=>{},renderItem:o=Ha,rowHeight:d=Ds,overscanCount:h=Pa.DEFAULT_OVERSCAN}=i,[u,c]=f.useState(()=>({items:[],offset:0,itemCount:0})),[m,p]=f.useState({top:0,bottom:0}),[v,g]=f.useState(),[b,C]=f.useState(),[w,S]=f.useState(),[y,E]=f.useState([]),M=f.useRef(),O=f.useRef(null),x=f.useRef(null),N=f.useCallback(L=>{if(L.length===0||u==null)return[];for(var Y=[],ee=0;ee<L.length;ee+=1)for(var he=L[ee],_e=he[0];_e<=he[1];_e+=1)_e>=u.offset&&_e<u.offset+u.items.length&&Y.push(u.items[_e-u.offset]);return Y},[u]),W=f.useCallback(L=>{var Y=N([[L,L]]);if(Y.length>0)return Y[0]},[N]),q=f.useCallback(()=>{var L=Qs.count(y);if(L===0)return null;if(L===1){var Y=y[0][0],ee=W(Y);if(ee!=null)return ee.filename}return"".concat(L," items")},[W,y]),k=f.useCallback(L=>{if(!(!b||!v)){Ue.debug("dropItems",b,"to",L);try{var{files:Y,targetPath:ee}=el(b,v);if(r?.(Y,ee),L!=null){var he;E([[L,L]]),(he=O.current)===null||he===void 0||he.focusItem(L)}}catch(_e){Ue.error("Unable to complete move",_e)}}},[b,v,r]),A=f.useCallback((L,Y)=>{var ee=u.items[L-u.offset];ee!==void 0&&(Ue.debug("handleItemClick",ee),a(ee,Y),Tt(ee)&&t?.setExpanded(ee.filename,!ee.isExpanded))},[u,a,t]),U=f.useCallback((L,Y)=>{var ee;Ue.debug2("handleItemDragStart",L,y);var he=y;Qs.isSelected(y,L)||(he=[[L,L]],E(he)),C(N(he)),(ee=O.current)===null||ee===void 0||ee.resetMouseState();var _e=document.createElement("div");_e.innerHTML='<div class="dnd-placeholder-content">'.concat(q(),"</div>"),_e.className="file-list-dnd-placeholder",document.body.appendChild(_e),Y.dataTransfer.setDragImage(_e,0,0),Y.dataTransfer.effectAllowed="move",S(_e)},[q,N,y]),j=f.useCallback((L,Y)=>{Y.preventDefault(),Ue.debug2("handleItemDragOver",Y),g(W(L))},[W]),H=f.useCallback((L,Y)=>{Ue.debug("handleItemDragEnd",L),w?.remove(),C(void 0),g(void 0),S(void 0)},[w]),K=f.useCallback((L,Y)=>{k(L)},[k]),de=f.useCallback(()=>{Ue.debug2("handleItemDragExit"),g(void 0)},[]),ge=f.useCallback(L=>{L.target instanceof Element&&L.target.classList.contains(nl)&&(L.preventDefault(),Ue.debug2("handleListDragOver",L),g({type:"directory",filename:"/",basename:"/",id:"/"}))},[]),be=f.useCallback(L=>{L.target instanceof Element&&L.target.classList.contains(nl)&&(Ue.debug("handleListDrop"),k())},[k]),T=f.useCallback(function(L){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Ue.debug2("handleSelectionChange",L),Y===!0||L!==y){E(L);var ee=N(L);s(ee)}},[N,s,y]),P=f.useCallback(L=>{if(Ue.debug2("handleFocusChange",L),L!=null){var[Y]=N([[L,L]]);n(Y)}else n();M.current=L},[N,n]),D=f.useCallback((L,Y)=>{Ue.debug("handleViewportChange",L,Y),(L!==m.top||Y!==m.bottom)&&p({top:L,bottom:Y})},[m]),R=f.useMemo(()=>{if(!b||!v)return!1;try{return el(b,v),Ue.debug("handleValidateDropTarget true"),!0}catch{return Ue.debug("handleValidateDropTarget false"),!1}},[b,v]),{focusedPath:z}=i;f.useEffect(()=>{z!==void 0&&(z==="/"?t.collapseAll():(t.setExpanded(z,!1),t.setExpanded(z,!0)))},[t,z]),f.useEffect(function(){Ue.debug("updating table viewport",m),t?.setViewport({top:Math.max(0,m.top-h),bottom:m.bottom+h})},[h,t,m]),f.useEffect(function(){var Y=t.onUpdate(ee=>{c({items:ee.items.map(he=>lr(lr({},he),{},{itemName:he.basename})),offset:ee.offset,itemCount:t.size})});return()=>{Y()}},[t]),f.useEffect(function(){M.current!=null&&P(M.current),y.length>0&&T(y,!0)},[u,P,T,y]),f.useEffect(function(){if(v!=null&&Tt(v)&&v.filename!=="/"){var Y=setTimeout(()=>{v.isExpanded||t?.setExpanded(v.filename,!0)},iC);return()=>clearTimeout(Y)}},[v,t]);var fe=f.useCallback(L=>o(lr(lr({},L),{},{isDragInProgress:b!=null,dropTargetItem:v,draggedItems:b,isDropTargetValid:R,onDragStart:U,onDragEnd:H,onDragOver:j,onDragExit:de,onDrop:K})),[H,de,j,U,K,b,v,R,o]);return l.jsx("div",{ref:x,className:Z("file-list",{"is-dragging":b!=null}),onDragOver:ge,onDrop:be,children:l.jsx(Pa,{ref:O,items:u.items,itemCount:u.itemCount,offset:u.offset,onFocusChange:P,onSelect:A,onSelectionChange:T,onViewportChange:D,selectedRanges:y,renderItem:fe,rowHeight:d,isMultiSelect:e,isDragSelect:!1,isDeselectOnClick:!1})})}var aC={name:"File Explorer",DELETE:De.createAndAdd({id:"FILE_EXPLORER.DELETE",name:"Delete",shortcut:[ce.DELETE],macShortcut:[pe.CMD,ce.BACKSPACE]}),RENAME:De.createAndAdd({id:"FILE_EXPLORER.RENAME",name:"Rename",shortcut:[ce.ENTER],macShortcut:[ce.ENTER]})};const il={FILE_EXPLORER:aC};var rl=B.module("FileListItemEditor"),sC=()=>Promise.resolve();function oC(i){var{item:e,onCancel:t,onSubmit:n,validate:r=sC}=i,a=f.useRef(null),[s,o]=f.useState(e.basename),[d,h]=f.useState(),[u,c]=f.useState(Promise.resolve()),m=f.useCallback(()=>{var w;(w=a.current)===null||w===void 0||w.focus()},[a]),p=f.useCallback(w=>w.stopPropagation(),[]),v=f.useCallback(()=>{u.then(()=>{n(s)}).catch(w=>rl.info("Unable to validate name",w))},[n,s,u]);f.useEffect(function(){var S=le.makeCancelable(r(s));return S.then(()=>h(void 0)).catch(y=>{le.isCanceled(y)||h(y)}),c(S),()=>S.cancel()},[r,s]),f.useEffect(function(){m()},[m]);var g=f.useCallback(()=>{rl.debug2("handleBlur"),v()},[v]),b=f.useCallback(w=>{var{value:S}=w.target;o(S)},[]),C=f.useCallback(w=>{w.stopPropagation();var{key:S}=w;switch(S){case"Enter":{v();break}case"Escape":{t();break}}},[t,v]);return l.jsxs("div",{className:"file-list-item-editor",children:[l.jsx("input",{type:"text",className:Z("form-control file-list-item-editor-input",{"is-invalid":d}),value:s,ref:a,onBlur:g,onKeyDown:C,onChange:b,onClick:p,onDoubleClick:p,onMouseDown:p}),d&&l.jsx("div",{className:"invalid-feedback",children:"".concat(d)})]})}function al(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ca(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?al(Object(t),!0).forEach(function(n){lC(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):al(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function lC(i,e,t){return e=dC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function dC(i){var e=hC(i,"string");return typeof e=="symbol"?e:String(e)}function hC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Gh(i){var{isMultiSelect:e=!1,focusedPath:t,showContextMenu:n=!1,onCreateFile:r,onCreateFolder:a,onCopy:s,onDelete:o,onMove:d,onRename:h,onSelect:u,onSelectionChange:c,table:m,rowHeight:p=Ds,validateRename:v=()=>Promise.resolve()}=i,[g,b]=f.useState(),[C,w]=f.useState([]),[S,y]=f.useState(),E=f.useCallback(K=>{w(K),c?.(K)},[c]),M=f.useCallback(K=>{y(K)},[]),O=f.useCallback(()=>{S&&s?.(S)},[S,s]),x=f.useCallback(()=>{C.length>0&&o?.(C)},[o,C]),N=f.useCallback(()=>{r?.()},[r]),W=f.useCallback(()=>{S&&a?.(G.getPath(S.filename))},[S,a]),q=f.useCallback(()=>{S&&b(S)},[S]),k=f.useCallback(()=>{b(void 0)},[]),A=f.useCallback(K=>{g&&(h?.(g,K),b(void 0))},[h,g]),U=f.useMemo(()=>{if(g)return[];var K=[];return r&&K.push({title:"New File",description:"Create new file",action:N,group:ie.groups.medium}),a&&K.push({title:"New Folder",description:"Create new folder",action:W,group:ie.groups.medium}),s&&K.push({title:"Copy File",description:"Copy the selected file",action:O,group:ie.groups.low,disabled:S==null||Tt(S)}),o&&C.length>0&&K.push({title:"Delete",description:"Delete",shortcut:il.FILE_EXPLORER.DELETE,action:x,group:ie.groups.low}),h&&K.push({title:"Rename",description:"Rename",shortcut:il.FILE_EXPLORER.RENAME,action:q,group:ie.groups.low,disabled:S==null}),K},[O,x,N,W,q,S,s,r,a,o,h,C,g]),j=f.useCallback(K=>($(g),v(g,K)),[g,v]),H=f.useCallback(K=>{var{item:de}=K;return g&&g.filename===de.filename?l.jsx(Ha,ca(ca({},K),{},{children:l.jsx(oC,{item:de,validate:j,onSubmit:A,onCancel:k})})):l.jsx(Ha,ca({},K))},[k,A,g,j]);return l.jsxs("div",{className:"file-list-container",children:[m!=null&&l.jsx(rC,{onMove:d,onSelect:u,onSelectionChange:E,onFocusChange:M,renderItem:H,rowHeight:p,table:m,isMultiSelect:e,focusedPath:t}),n&&l.jsx(ie,{actions:U})]})}Gh.displayName="FileListContainer";function sl(i,e,t){return e=uC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function uC(i){var e=cC(i,"string");return typeof e=="symbol"?e:String(e)}function cC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class mC extends Si{constructor(e){super("Name already exists"),sl(this,"isExistingFile",!0),sl(this,"info",void 0),this.info=e}}const Cr=mC;function pC(i,e,t){return e=fC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function fC(i){var e=vC(i,"string");return typeof e=="symbol"?e:String(e)}function vC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gC extends Error{constructor(){super("No file exists at the path specified"),pC(this,"isFileNotFound",!0)}}const Is=gC;function ol(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function ll(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){ol(a,n,r,s,o,"next",d)}function o(d){ol(a,n,r,s,o,"throw",d)}s(void 0)})}}var Dt=B.module("FileExplorer");function xs(i){var{storage:e,isMultiSelect:t=!1,focusedPath:n,onCopy:r=()=>{},onDelete:a=()=>{},onRename:s=()=>{},onCreateFile:o=()=>{},onCreateFolder:d=()=>{},onSelect:h,onSelectionChange:u,rowHeight:c=Ds}=i,[m,p]=f.useState([]),[v,g]=f.useState();f.useEffect(function(){var A;function U(){return j.apply(this,arguments)}function j(){return j=ll(function*(){Dt.debug("initTable"),A=le.makeCancelable(e.getTable(),H=>H.close());try{g(yield A)}catch(H){le.isCanceled(H)||Dt.error("Unable to initialize table",H)}}),j.apply(this,arguments)}return U(),()=>{A.cancel()}},[e]);var b=f.useCallback(k=>{le.isCanceled(k)||Dt.error(k)},[]),C=f.useCallback(()=>{Dt.debug("handleCreateFile"),o()},[o]),w=f.useCallback(()=>{Dt.debug("handleCreateFolder"),d()},[d]),S=f.useCallback(k=>{Dt.debug("handleCopyFile",k.filename),r(k)},[r]),y=f.useCallback(k=>{Dt.debug("handleDelete, pending confirmation",k),p(k)},[]),E=f.useCallback(()=>{Dt.debug("handleDeleteConfirm",m),m.forEach(k=>e.deleteFile(Tt(k)?G.makePath(k.filename):k.filename)),a(m),p([])},[m,a,e]),M=f.useCallback(()=>{Dt.debug("handleDeleteCancel"),p([])},[]),O=f.useCallback((k,A)=>{var U=G.reducePaths(k.map(j=>Tt(j)?G.makePath(j.filename):j.filename));U.forEach(j=>{var H=G.isPath(j)?"".concat(A).concat(G.getBaseName(j.substring(0,j.length-1)),"/"):"".concat(A).concat(G.getBaseName(j));e.moveFile(j,H).then(()=>{s(j,H)}).catch(b)})},[b,s,e]),x=f.useCallback((k,A)=>{var U=k.filename,j=Tt(k);j&&!U.endsWith("/")&&(U="".concat(U,"/"));var H="".concat(G.getParent(U)).concat(A);j&&!H.endsWith("/")&&(H="".concat(H,"/")),Dt.debug2("handleRename",U,H),e.moveFile(U,H).catch(b),s(U,H)},[b,s,e]),N=f.useCallback(function(){var k=ll(function*(A,U){if(U!==A.basename){G.validateName(U);var j="".concat(G.getPath(A.filename)).concat(U);try{var H=yield e.info(j);throw new Cr(H)}catch(K){if(!(K instanceof Is))throw K}}});return function(A,U){return k.apply(this,arguments)}}(),[e]),W=m.length>0,q=f.useMemo(()=>m.length===1?'Are you sure you want to delete "'.concat(m[0].filename,'"?'):"Are you sure you want to delete the selected files?",[m]);return l.jsxs("div",{className:"file-explorer",children:[v&&l.jsx(Gh,{isMultiSelect:t,focusedPath:n,showContextMenu:!0,onCopy:S,onCreateFolder:w,onCreateFile:C,onMove:O,onDelete:y,onRename:x,onSelect:h,onSelectionChange:u,rowHeight:c,table:v,validateRename:N}),l.jsx(Di,{isOpen:W,headerText:q,bodyText:"You cannot undo this action.",onCancel:M,onConfirm:E,confirmButtonText:"Delete"})]})}xs.displayName="FileExplorer";function dl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function bC(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){dl(a,n,r,s,o,"next",d)}function o(d){dl(a,n,r,s,o,"throw",d)}s(void 0)})}}function tn(i,e,t){return e=CC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function CC(i){var e=SC(i,"string");return typeof e=="symbol"?e:String(e)}function SC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var pn=B.module("NewItemModal");class _n extends f.PureComponent{static getValidationMessage(e){return e instanceof Cr&&e.info.type==="directory"?"Error: Cannot overwrite existing directory":"".concat(e)}static handleError(e){le.isCanceled(e)||pn.error(e)}constructor(e){super(e),tn(this,"inputRef",J.createRef()),tn(this,"cancelableValidatePromise",void 0),tn(this,"cancelableExistingItemPromise",void 0),tn(this,"pending",new dn),tn(this,"pathMap",new Map),tn(this,"isInitialLoad",!0),this.handleModalSubmit=this.handleModalSubmit.bind(this),this.handleModalOpened=this.handleModalOpened.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleChange=this.handleChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleValidationError=this.handleValidationError.bind(this),this.handleOverwriteCancel=this.handleOverwriteCancel.bind(this),this.handleOverwriteConfirm=this.handleOverwriteConfirm.bind(this),this.handleExtensionChangeCancel=this.handleExtensionChangeCancel.bind(this),this.handleExtensionChangeConfirm=this.handleExtensionChangeConfirm.bind(this),this.handleBreadcrumbSelect=this.handleBreadcrumbSelect.bind(this);var{defaultValue:t}=e,n=G.hasPath(t)?G.getPath(t):"/";this.state={isSubmitting:!1,path:n,prevExtension:G.getExtension(t),showExtensionChangeModal:!1,showOverwriteModal:!1,value:G.getBaseName(t)}}componentDidUpdate(e,t){var{isOpen:n}=this.props,{isOpen:r}=e,{value:a,path:s}=this.state;!r&&n&&(this.resetValue(),this.isInitialLoad=!0),r&&n&&(!this.isInitialLoad&&(s!==t.path||a!==t.value)&&this.updateValidationStatus(s,a),this.isInitialLoad=!1)}componentWillUnmount(){this.pending.cancel(),this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableExistingItemPromise&&this.cancelableExistingItemPromise.cancel()}resetValue(){var{defaultValue:e}=this.props,t=G.hasPath(e)?G.getPath(e):"/";this.setState({path:t,value:G.getBaseName(e),validationError:void 0,prevExtension:G.getExtension(e),isSubmitting:!1})}getValidationPromise(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableValidatePromise=le.makeCancelable(this.validateName(e,t,n)),this.cancelableValidatePromise}validateName(e,t,n){var r=this;return bC(function*(){G.validateName(t);var{defaultValue:a,storage:s}=r.props;if(n){var o="".concat(e).concat(t);if(o!==a)try{var d=yield s.info(o);throw new Cr(d)}catch(h){if(!(h instanceof Is))throw h}}return t})()}updateValidationStatus(e,t){this.getValidationPromise(e,t).then(()=>{this.setState({validationError:void 0})}).catch(this.handleValidationError).catch(_n.handleError)}handleModalOpened(){this.focusRenameInput()}handleModalSubmit(){this.submitModal()}handleChange(e){var{value:t}=e.target;this.setState({value:t})}handleSelect(e){if(pn.debug("handleSelect",e),e.type==="directory")this.setState({path:G.makePath(e.filename)});else{var t=e.basename,n=G.getPath(e.filename);this.setState({value:t,path:n},()=>{this.focusRenameInput()})}}handleKeyDown(e){var{key:t}=e;switch(e.stopPropagation(),t){case"Enter":{e.preventDefault(),this.submitModal();break}case"Escape":{e.preventDefault();var{onCancel:n}=this.props;n();break}}}handleValidationError(e){if(!(e instanceof Si))throw e;pn.debug("Validation error",e),this.setState({validationError:e})}handleOverwriteCancel(){this.setState({showOverwriteModal:!1,isSubmitting:!1})}handleOverwriteConfirm(){this.setState({showOverwriteModal:!1});var{onSubmit:e}=this.props,{path:t,value:n}=this.state;pn.debug("handleOverwriteConfirm",t,n),e("".concat(t).concat(n),!0)}handleExtensionChangeCancel(){pn.debug("handleExtensionChangeCancel"),this.setState(e=>{var{value:t,prevExtension:n}=e,r=G.replaceExtension(t,n);return{showExtensionChangeModal:!1,value:r}}),this.submitModal(!0)}handleExtensionChangeConfirm(){pn.debug("handleExtensionChangeConfirm"),this.setState({showExtensionChangeModal:!1}),this.submitModal(!0)}focusRenameInput(){var e=this.inputRef.current;if(e){var{type:t}=this.props,{value:n}=e,r=t==="directory"?n.length:n.lastIndexOf(".");e.focus(),e.setSelectionRange(0,r>0?r:n.length)}}submitModal(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.setState(t=>{var{prevExtension:n,value:r,path:a}=t,{notifyOnExtensionChange:s,type:o}=this.props;pn.debug("submitModal",n,r);var d=G.getExtension(r);return s&&!e&&n!==null&&n!==d?{isSubmitting:!1,showExtensionChangeModal:!0,newExtension:d}:(this.getValidationPromise(a,r,!0).then(h=>{var{onSubmit:u}=this.props;u("".concat(a).concat(r))}).catch(h=>{if(h instanceof Cr&&o!=="directory"&&h.info.type!=="directory"){this.setState({showOverwriteModal:!0});return}throw h}).catch(h=>{throw le.isCanceled(h)&&this.setState({isSubmitting:!1}),h}).catch(this.handleValidationError).catch(_n.handleError),{isSubmitting:!0,showExtensionChangeModal:!1,newExtension:void 0})})}handleBreadcrumbSelect(e){this.setState({path:e})}renderPathButtons(e){var t=e.split("/");return t.pop(),t.map((n,r)=>{for(var a="",s=0;s<r;s+=1)a+="".concat(t[s],"/");return a+="".concat(n,"/"),l.jsxs(J.Fragment,{children:[l.jsx(F,{kind:"ghost",className:"directory-breadcrumbs",onClick:()=>this.handleBreadcrumbSelect(a),"aria-label":r===0?"Home":void 0,icon:r===0?l.jsx(X,{icon:nc,transform:"right-1.6"}):void 0,tooltip:r===0?"Home":void 0,children:n}),"/"]},a)})}render(){var{storage:e,isOpen:t,onCancel:n,placeholder:r,title:a,type:s}=this.props,{isSubmitting:o,path:d,showExtensionChangeModal:h,showOverwriteModal:u,validationError:c,value:m,prevExtension:p,newExtension:v}=this.state,g=s==="directory",b=G.fileExtensionToString(p),C=G.fileExtensionToString(v),w=g?"Create":"Save",S=g?"New folder name":"Save file as";return l.jsxs(l.Fragment,{children:[l.jsxs(Qa,{isOpen:t,toggle:n,onOpened:this.handleModalOpened,className:"modal-dialog-centered new-file-modal theme-bg-dark",children:[l.jsx(es,{toggle:n,children:a}),l.jsx(ts,{children:l.jsx("form",{children:l.jsxs("div",{className:"d-flex flex-column new-file-modal-content",children:[l.jsxs("div",{className:"flex-grow-0 mb-4",children:[l.jsx("label",{htmlFor:"file-name-input",children:S}),l.jsx("input",{id:"file-name-input",type:"text",autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:"false",className:Z("form-control",{"is-invalid":c}),value:m,placeholder:r,ref:this.inputRef,onKeyDown:this.handleKeyDown,onChange:this.handleChange}),c&&l.jsx("div",{className:"invalid-feedback",children:_n.getValidationMessage(c)})]}),l.jsxs("div",{className:"flex-grow-0",children:[l.jsx("label",{children:"Directory: /"}),this.renderPathButtons(d)]}),l.jsx("div",{className:"flex-grow-1 file-explorer-container",children:l.jsx(xs,{onSelect:this.handleSelect,storage:e,focusedPath:d})})]})})}),l.jsxs(yd,{children:[l.jsx(F,{kind:"secondary",onClick:n,children:"Cancel"}),l.jsx(F,{kind:"primary",disabled:o,onClick:this.handleModalSubmit,children:w})]})]}),l.jsx(Di,{isOpen:u,headerText:"Confirm overwrite",bodyText:"File with this name already exists, are you sure you want to overwrite it?",onCancel:this.handleOverwriteCancel,onConfirm:this.handleOverwriteConfirm,cancelButtonText:"Cancel",confirmButtonText:"Overwrite"}),l.jsx(Di,{isOpen:h,headerText:"Confirm extension change",bodyText:'Are you sure you want to change extension from "'.concat(b,'" to "').concat(C,'"?'),onCancel:this.handleExtensionChangeCancel,onConfirm:this.handleExtensionChangeConfirm,cancelButtonText:'Keep "'.concat(b,'"'),confirmButtonText:'Use "'.concat(C,'"')})]})}}tn(_n,"propTypes",{isOpen:I.bool,title:I.string.isRequired,defaultValue:I.string,type:I.oneOf(["file","directory"]).isRequired,onSubmit:I.func,onCancel:I.func,placeholder:I.string,storage:I.shape({}).isRequired,notifyOnExtensionChange:I.bool});tn(_n,"defaultProps",{isOpen:!1,defaultValue:"/",notifyOnExtensionChange:!1,placeholder:"",onSubmit:(i,e)=>{},onCancel:()=>{}});const Kh=_n;function yC(i){var{createFile:e,createFolder:t,onSearchChange:n,defaultSearchText:r=""}=i;return l.jsxs("div",{className:"file-explorer-toolbar",children:[l.jsxs("div",{className:"file-explorer-toolbar-buttons",children:[l.jsx(F,{kind:"ghost",icon:dd,tooltip:"New notebook",onClick:e,"aria-label":"New notebook"}),l.jsx(F,{kind:"ghost",icon:ic,tooltip:"New folder",onClick:t,"aria-label":"New folder"})]}),n&&l.jsx("div",{className:"file-explorer-toolbar-search",children:l.jsx(Nc,{value:r,onChange:n,placeholder:"Search by name"})})]})}function hl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function ul(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){hl(a,n,r,s,o,"next",d)}function o(d){hl(a,n,r,s,o,"throw",d)}s(void 0)})}}function zh(i,e,t){return e=wC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function wC(i){var e=EC(i,"string");return typeof e=="symbol"?e:String(e)}function EC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fn=B.module("FileExplorerPanel"),PC=(i,e)=>{var t=Vd(i),n=Tn(i,e.localDashboardId),{session:r,config:a}=n??{},s=a?.type;return{fileStorage:t,language:s,session:r}},_C=Me(PC,null,null,{forwardRef:!0});function TC(i){var e=i;return e!=null&&typeof e.button=="number"}class qn extends J.Component{static handleError(e){fn.error(e)}static isFocusEvent(e){return TC(e)?e.detail>=2:!0}constructor(e){super(e),this.handleFileSelect=this.handleFileSelect.bind(this),this.handleCopyFile=this.handleCopyFile.bind(this),this.handleCreateFile=this.handleCreateFile.bind(this),this.handleCreateDirectory=this.handleCreateDirectory.bind(this),this.handleCreateDirectoryCancel=this.handleCreateDirectoryCancel.bind(this),this.handleCreateDirectorySubmit=this.handleCreateDirectorySubmit.bind(this),this.handleDelete=this.handleDelete.bind(this),this.handleRename=this.handleRename.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSelectionChange=this.handleSelectionChange.bind(this);var{session:t,language:n}=e;this.state={isShown:!1,language:n,session:t,showCreateFolder:!1,focusedFilePath:"/"}}componentDidMount(){this.isHidden()||this.setState({isShown:!0})}handleCreateFile(){var{glEventHub:e}=this.props,{session:t,language:n}=this.state,r={language:n,value:""};fn.debug("handleCreateFile",t,n,r),e.emit(ue.CREATE_NOTEBOOK,t,n,r)}handleCreateDirectory(){this.setState({showCreateFolder:!0})}handleCreateDirectoryCancel(){fn.debug("handleCreateDirectoryCancel"),this.setState({showCreateFolder:!1})}handleCreateDirectorySubmit(e){fn.debug("handleCreateDirectorySubmit",e),this.setState({showCreateFolder:!1});var{fileStorage:t}=this.props;t.createDirectory(e).catch(qn.handleError)}handleCopyFile(e){var t=this;return ul(function*(){var{fileStorage:n}=t.props;if(Tt(e)){fn.error("Invalid item in handleCopyItem",e);return}for(var r=G.getCopyFileName(e.filename),a=function(){var s=ul(function*(){try{return yield n.info(r),!0}catch{return!1}});return function(){return s.apply(this,arguments)}}();yield a();)r=G.getCopyFileName(r);yield n.copyFile(e.filename,r)})()}handleDelete(e){var{glEventHub:t}=this.props;e.forEach(n=>{t.emit(ue.CLOSE_FILE,{id:n.filename,itemName:n.filename})})}handleSelectionChange(e){var t="/";e.length===1&&(e[0].type==="directory"?t=G.makePath(e[0].filename):t=G.getPath(e[0].filename)),this.setState({focusedFilePath:t})}handleFileSelect(e,t){if(fn.debug("fileSelect",e),e.type!=="directory"){var n=qn.isFocusEvent(t),r={id:e.filename,itemName:e.filename},{glEventHub:a}=this.props,{session:s,language:o}=this.state,d={value:null,language:o};a.emit(ue.SELECT_NOTEBOOK,s,o,d,r,n)}}handleRename(e,t){var{glEventHub:n}=this.props;fn.debug("handleRename",e,t),n.emit(ue.RENAME_FILE,e,t)}handleSessionOpened(e,t){var{language:n}=t;this.setState({session:e,language:n})}handleSessionClosed(){this.setState({session:void 0,language:void 0})}handleShow(){this.setState({isShown:!0})}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}render(){var{fileStorage:e,glContainer:t,glEventHub:n}=this.props,{isShown:r,showCreateFolder:a,focusedFilePath:s}=this.state;return l.jsxs(Kt,{className:"file-explorer-panel",componentPanel:this,glContainer:t,glEventHub:n,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow,children:[l.jsx(yC,{createFile:this.handleCreateFile,createFolder:this.handleCreateDirectory}),r&&l.jsx(xs,{isMultiSelect:!0,storage:e,onCopy:this.handleCopyFile,onCreateFile:this.handleCreateFile,onCreateFolder:this.handleCreateDirectory,onDelete:this.handleDelete,onRename:this.handleRename,onSelect:this.handleFileSelect,onSelectionChange:this.handleSelectionChange}),l.jsx(Kh,{isOpen:a,type:"directory",title:"Create New Folder",storage:e,onSubmit:this.handleCreateDirectorySubmit,onCancel:this.handleCreateDirectoryCancel,defaultValue:s})]})}}zh(qn,"COMPONENT","FileExplorerPanel");zh(qn,"TITLE","File Explorer");var OC=_C(qn);const Va=OC;function cl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function dr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cl(Object(t),!0).forEach(function(n){gi(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):cl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function gi(i,e,t){return e=DC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function DC(i){var e=IC(i,"string");return typeof e=="symbol"?e:String(e)}function IC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ye=B.module("FilterSetManager"),xC="Enter name...",ml="No Available Filter Sets";class Lr 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),gi(this,"renameInputRef",J.createRef()),gi(this,"dropdownRef",J.createRef()),gi(this,"editDropdownRef",J.createRef()),gi(this,"isRenamingExistingSet",te((t,n)=>n!==void 0&&t.some(r=>{var{id:a}=r;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:r}=this.props,{modifiedFilterSets:a}=this.state;if(e.isValueShown&&!n&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),r!==e.filterSets)if(!n&&r.length>0&&e.filterSets.length===0&&a.length===0){var{onChange:s}=this.props;s({isValueShown:!0,selectedId:r[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;ye.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(ye.debug("updateSelectedId",t,n),!!e&&!t.some(s=>{var{id:o}=s;return o===n})){var a=t.length===0;r({isValueShown:!a,selectedId:a?void 0:t[0].id})}}handleEditDropdownChange(e){var{value:t}=e.target;this.setState({editId:t})}handleFilterChange(e){var{value:t}=e.target,{isValueShown:n,onChange:r}=this.props;this.applyFilterSet(t),r({isValueShown:n,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:n}=this.props;this.setState({modifiedFilterSets:[]}),n.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:n,editId:r}=this.state;this.setState({modifiedFilterSets:[]}),ye.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Lr.animateScreenFlash();var t=$e(),n=e(),r={id:t,title:"",panels:n};ye.debug("handleSetCreate",r),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:r})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:r}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return ye.debug("Name cannot be empty",a),"Name cannot be empty";if(n!==void 0&&r.some(s=>{var{title:o,id:d}=s;return o===a&&d!==n.id}))return ye.debug("Set with this name already exists",a),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:n,modifiedFilterSets:r,restoreFullState:a}=this.state;if(n===void 0){ye.error("Renamed set undefined.");return}var s=this.getNameError(t);if(ye.debug("handleRenameConfirm",t,s),s!==void 0){this.setState({nameInputError:s});return}var o=(e=t?.trim())!==null&&e!==void 0?e:"",d=dr(dr({},n),{},{title:o,restoreFullState:a}),h=r.findIndex(c=>{var{id:m}=c;return m===n.id}),u=[...r];h>=0?(u[h]=d,ye.debug("Renamed existing set",u)):(u.push(d),ye.debug("Added new set to modified sets",u)),this.setState({editId:d.id,modifiedFilterSets:u,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.findIndex(d=>{var{id:h}=d;return h===t});if(r<0)return ye.error("Unable to find selected filterSet index",n,t),null;var a=n.filter(d=>{var{id:h}=d;return h!==t}),s=Math.max(0,Math.min(a.length-1,r-1)),o=a.length>0?a[s].id:void 0;return ye.debug("Deleted selected set",t,n,a),ye.debug("New selection",s,o),{modifiedFilterSets:a,editId:o}})}handleSetUpdate(){var{getFilterState:e}=this.props;Lr.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:a}=n;if(a===void 0)return ye.error("Filter for update not selected."),null;var s=[...r],o=s.findIndex(d=>{var{id:h}=d;return h===a});return o<0?(ye.error("Selected set for update not found."),null):(s[o]=dr(dr({},s[o]),{},{panels:t}),ye.debug("Update set",s,t),{modifiedFilterSets:s})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.find(o=>{var{id:d}=o;return d===t});if(r===void 0)return ye.error("Could not find selected set",t,n),null;var{title:a,restoreFullState:s=!1}=r;return{nameInputValue:a,nameInputError:void 0,renameSet:r,restoreFullState:s}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){ye.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){ye.debug("No filter selected");return}var r=n.find(a=>{var{id:s}=a;return s===e});if(r===void 0){ye.debug("Selected id not found in filterSets",e,n);return}ye.debug("Apply filterSet",r),t(r)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:r,modifiedFilterSets:a,restoreFullState:s}=this.state,{isValueShown:o,filterSets:d,selectedId:h}=this.props,u=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,r),m=a.length===0,p=!u&&m&&d.length===0,v=!u&&!p,g=l.jsxs("div",{className:"fa-layers mr-3",children:[l.jsx(X,{icon:ya,mask:wa,transform:"shrink-1 down-5 right-7"}),l.jsx(X,{icon:md,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),b=l.jsxs("div",{className:"fa-layers",children:[l.jsx(X,{icon:ya,mask:wa,transform:"shrink-1 down-5 right-7"}),l.jsx(X,{icon:Ea,transform:"shrink-1 down-5 right-7"})]});return l.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:l.jsxs(as,{className:"w-100 h-100",isFlipped:o,children:[l.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:l.jsxs("div",{className:"filter-set-manager-card-content",children:[p&&l.jsxs("div",{children:[l.jsx(F,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,children:"Capture filter set"}),l.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."})]}),u&&l.jsxs("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container",children:[l.jsxs("div",{className:"form-group",children:[l.jsx("label",{children:c?"Edit set":"Name captured set"}),l.jsxs("div",{className:"name-input-container",children:[l.jsx("input",{type:"text",className:"input-set-name form-control",placeholder:xC,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),l.jsx(F,{"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:hd}),l.jsx(F,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:rc})]}),t!==void 0&&l.jsx("div",{className:"error-message",children:t})]}),l.jsx("div",{className:"form-group",children:l.jsxs(Lc,{onChange:this.handleRestoreFullStateChange,value:"".concat(s),children:[l.jsx(eo,{value:"false",children:"Restore only filters"}),l.jsx(eo,{value:"true",children:"Restore full table state"})]})})]}),v&&l.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[l.jsxs("div",{className:"form-group",children:[l.jsx("label",{children:"Edit filter sets"}),l.jsxs("div",{className:"filter-select-container",children:[l.jsxs("select",{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:m,children:[m&&l.jsx("option",{value:"-1",disabled:!0,children:ml}),a.map(C=>{var{id:w,title:S}=C;return l.jsx("option",{value:w,children:S},w)})]}),l.jsx(F,{kind:"ghost",onClick:this.handleSetUpdate,disabled:m,icon:b,tooltip:"Update"}),l.jsx(F,{kind:"ghost",onClick:this.handleSetEdit,disabled:m,icon:ud,tooltip:"Edit"}),l.jsx(F,{kind:"ghost",onClick:this.handleSetDelete,disabled:m,icon:Ri,tooltip:"Delete"})]})]}),l.jsx("div",{children:l.jsx(F,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,children:"Capture new filter set"})}),l.jsxs("div",{className:"py-3 text-right",children:[l.jsx(F,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",l.jsx(F,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),l.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[l.jsx("div",{className:"filter-set-manager-column",children:l.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),l.jsx("div",{className:"filter-set-manager-card-content",children:l.jsx("div",{className:"filter-set-manager-value-input",children:l.jsxs("div",{className:"filter-select-container",children:[l.jsxs("select",{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:h,className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[d.length===0&&l.jsx("option",{value:"-1",disabled:!0,children:ml}),d.map(C=>{var{id:w,title:S}=C;return l.jsx("option",{value:w,children:S},w)})]}),l.jsx(F,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:cd,tooltip:"Apply Filter Set"})]})})}),l.jsx("div",{className:"filter-set-manager-menu",children:l.jsx(F,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:l.jsx(X,{icon:ji,transform:"grow-4"})})})]},"back")]})})}}const NC=Lr;function Ns(i){var e,t,n,r,a,{model:s,widgetName:o,glContainer:d,description:h}=i,u=((e=s?.rowCount)!==null&&e!==void 0?e:0)-((t=s?.pendingRowCount)!==null&&t!==void 0?t:0)-((n=s?.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=s?.floatingTopRowCount)!==null&&r!==void 0?r:0),c=s?.displayString(u,"long"),m=(a=s?.columnCount)!==null&&a!==void 0?a:0,p=s?.displayString(m,"long");return l.jsxs(Kr,{widgetType:"Table",widgetName:o,glContainer:d,description:h,children:[l.jsx("hr",{className:"tab-tooltip-divider"}),l.jsx("span",{children:"Number of Columns"}),l.jsx("span",{className:"tab-tooltip-statistic-value",children:p}),l.jsx("span",{children:"Number of Rows"}),l.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Ns.propTypes={glContainer:bs.Container.isRequired,widgetName:I.string.isRequired,description:I.string};Ns.defaultProps={description:null};function qh(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function Yh(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function pl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Xt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pl(Object(t),!0).forEach(function(n){Te(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):pl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Te(i,e,t){return e=LC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function LC(i){var e=MC(i,"string");return typeof e=="symbol"?e:String(e)}function MC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var It=B.module("IrisGridPanel"),FC=500,RC={IrisGrid:wd,IrisGridTableModel:Fc,ContextMenuRoot:Ed};function fl(i){if(i==null)throw new Error("No metadata provided");if(Yh(i))return i.name;if(qh(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(i))}class Yn extends f.PureComponent{constructor(e){super(e),Te(this,"irisGrid",void 0),Te(this,"pluginRef",void 0),Te(this,"modelPromise",void 0),Te(this,"irisGridState",void 0),Te(this,"gridState",void 0),Te(this,"pluginState",void 0),Te(this,"irisGridUtils",void 0),Te(this,"getGridInputFilters",te((n,r)=>Ye.getInputFiltersForColumns(n,r.filter(a=>{var{value:s,excludePanelIds:o}=a,d=_.getIdFromPanel(this);return s!=null&&(o==null||d!=null&&!o.includes(d))})))),Te(this,"getAlwaysFetchColumns",te((n,r)=>{for(var a=_.getIdFromPanel(this),s=new Set(r),o=0;o<n.length;o+=1){var{start:d}=n[o];d!=null&&d.panelId===a&&s.add(d.columnName)}return[...s]})),Te(this,"getPluginContent",te((n,r,a,s,o)=>{if(!r||!ta(r)||n==null||r.table==null)return null;var d={panel:this,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:s,components:RC};return l.jsx("div",{className:"iris-grid-plugin",children:l.jsx(n,Xt({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,onStateChange:this.handlePluginStateChange,pluginState:o},d))})})),Te(this,"getDehydratedIrisGridPanelState",te((n,r,a,s,o)=>Ye.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partition:a,partitionColumn:s,advancedSettings:o}))),Te(this,"getDehydratedIrisGridState",te((n,r,a,s,o,d,h,u,c,m,p,v,g,b,C,w,S,y,E,M,O)=>($(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:S,customColumnFormatMap:s,isFilterBarShown:o,metrics:{userColumnWidths:C,userRowHeights:w},quickFilters:d,customColumns:h,reverseType:u,rollupConfig:c,showSearchBar:m,searchValue:p,selectDistinctColumns:v,selectedSearchColumns:g,sorts:r,invertSearchColumns:b,pendingDataMap:y,frozenColumns:E,conditionalFormats:M,columnHeaderGroups:O})))),Te(this,"getDehydratedGridState",te((n,r,a,s,o)=>Ye.dehydrateGridState(n,{isStuckToBottom:s,isStuckToRight:o,movedColumns:r,movedRows:a}))),Te(this,"getCachedPanelState",te((n,r,a,s)=>({irisGridPanelState:n,irisGridState:r,gridState:a,pluginState:s}))),Te(this,"savePanelState",Je(()=>{var{irisGridState:n,gridState:r,pluginState:a}=this;$(n);var{onPanelStateUpdate:s}=this.props,{model:o,panelState:d,isSelectingPartition:h,partition:u,partitionColumn:c,advancedSettings:m}=this.state,{advancedFilters:p,aggregationSettings:v,customColumnFormatMap:g,isFilterBarShown:b,quickFilters:C,customColumns:w,reverseType:S,rollupConfig:y,showSearchBar:E,searchValue:M,selectDistinctColumns:O,selectedSearchColumns:x,sorts:N,invertSearchColumns:W,metrics:q,pendingDataMap:k,frozenColumns:A,conditionalFormats:U,columnHeaderGroups:j}=n;$(o),$(q);var{userColumnWidths:H,userRowHeights:K}=q;$(r);var{isStuckToBottom:de,isStuckToRight:ge,movedColumns:be,movedRows:T}=r,P=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(o,h,u,c,m),this.getDehydratedIrisGridState(o,N,p,g,b,C,w,S,y,E,M,O,x,W,H,K,v,k,A,U,j),this.getDehydratedGridState(o,be,T,de,ge),a);P!==d&&(It.debug("Saving panel state",this,P),this.setState({panelState:P}),s?.(P))},FC)),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.handlePartitionAppend=this.handlePartitionAppend.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleResize=this.handleResize.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=J.createRef(),this.pluginRef=J.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(Mc.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:oe.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partition:null,partitionColumn:null,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;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n))}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 fl(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=le.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:r}=this.state,a=[];if(this.irisGridUtils=new Ye(t.dh),n!=null){var{irisGridState:s}=n,{aggregationSettings:o,customColumns:d,selectDistinctColumns:h=[],rollupConfig:u}=Xt(Xt({},s),r);d.length>0&&a.push(c=>{c.customColumns=d}),u!=null&&u.columns.length>0&&a.push(c=>{c.rollupConfig=Ye.getModelRollupConfig(c.originalColumns,u,o)}),h.length>0&&a.push(c=>{c.selectDistinctColumns=h})}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 r=t.shift();It.debug("initModelQueue",r),r&&r(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){It.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:r}=n;return r.get(e)===t?null:{advancedSettings:new Map(r).set(e,t)}})}handlePluginFilter(e){var t,n,{model:r}=this.state;$(r);var{columns:a,formatter:s}=r,o=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,s.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:o})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,r;return(t=(n=this.pluginRef.current)===null||n===void 0||(r=n.getMenu)===null||r===void 0?void 0:r.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:r}=this.props;n.emit(yt.STATE_CHANGED,this),r?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:r}=this.state;t?this.sendColumnsChange(e.detail):($(n),this.initModelQueue(n,r))}handleTableChanged(e){It.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(ve.TABLE_CHANGED,this,n)}handlePartitionAppend(e,t){var{glEventHub:n}=this.props,{name:r}=e,a=this.getTableName(),s="".concat(a," = ").concat(a,'.where("').concat(r,"=`").concat(t,'`")');n.emit(ot.SEND_COMMAND,s,!1,!0)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r}=this.props,a=this.getTableName(),{panelState:s}=this.state,o=_.getIdFromPanel(this),d;s&&(d=Ye.extractTableSettings(s,r)),n.emit(yt.CREATE_CHART,{metadata:{settings:e,sourcePanelId:o,table:a,tableSettings:d},table:ta(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(yt.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(yt.DATA_SELECTED,this,t)}handleResize(){this.updateGrid()}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){It.error(e),this.setState({error:e,isLoading:!1})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleLoadError(e){le.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:n}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),ta(e)){var{table:r}=e,{pluginName:a}=r;if(a!==""&&n!=null&&a!=null){var s=n(a);this.setState({Plugin:s})}t.emit(ve.TABLE_CHANGED,this,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){It.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(ve.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(zt.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(zt.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(zt.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(zt.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(zt.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(zt.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(zt.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(zt.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,r,{model:a}=this.state;if(!a)return null;var s=this.irisGrid.current,{gridWrapper:o}=s||{},d=(t=o?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(d==null||d.width<=0||d.height<=0)return null;$(s);var{metrics:h}=s.state;$(h);var{columnHeaderHeight:u,allColumnXs:c,allColumnWidths:m,right:p,columnHeaderMaxDepth:v}=h,g=a.getColumnIndexByName(e);$(g);var b=s.getVisibleColumn(g),C=(n=c.get(b))!==null&&n!==void 0?n:0,w=(r=m.get(b))!==null&&r!==void 0?r:0,S=Math.max(d.left,Math.min(b>p?d.right:d.left+C+w*.5,d.right)),y=d.top+u*v;return[S,y]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;It.debug("setFilters",t,n);var{model:r,isDisconnected:a}=this.state,s=this.irisGrid.current;if(s==null||a){It.debug("Ignore setFilters, model disconnected");return}$(r);var{columns:o,formatter:d}=r,h=Ye.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[m]=c;return r.isFilterable(m)}),u=Ye.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[m]=c;return r.isFilterable(m)});$(this.irisGridUtils),s.clearAllFilters(),s.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(o,h,d.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(o,u,d.timeZone)})}setStateOverrides(e){It.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:r}=this.state;if(t!=null)try{var{gridState:a,irisGridState:s,irisGridPanelState:o}=t,d=Xt({},n),{quickFilters:h,advancedFilters:u}=d;h&&(d.quickFilters=Ye.changeFilterColumnNamesToIndexes(e.columns,h)),u&&(d.advancedFilters=Ye.changeFilterColumnNamesToIndexes(e.columns,u));var{isSelectingPartition:c,partition:m,partitionColumn:p,advancedSettings:v}=Ye.hydrateIrisGridPanelState(e,o);$(this.irisGridUtils);var{advancedFilters:g,customColumns:b,customColumnFormatMap:C,isFilterBarShown:w,quickFilters:S,reverseType:y,rollupConfig:E,aggregationSettings:M,sorts:O,userColumnWidths:x,userRowHeights:N,showSearchBar:W,searchValue:q,selectDistinctColumns:k,selectedSearchColumns:A,invertSearchColumns:U,pendingDataMap:j,frozenColumns:H,conditionalFormats:K,columnHeaderGroups:de}=this.irisGridUtils.hydrateIrisGridState(e,Xt(Xt({},s),d)),{isStuckToBottom:ge,isStuckToRight:be,movedColumns:T,movedRows:P}=Ye.hydrateGridState(e,Xt(Xt({},a),r),s.customColumns);this.setState({advancedFilters:g,advancedSettings:v,conditionalFormats:K,customColumns:b,customColumnFormatMap:C,isFilterBarShown:w,isSelectingPartition:c,movedColumns:T,movedRows:P,partition:m,partitionColumn:p,quickFilters:S,reverseType:y,rollupConfig:E,aggregationSettings:M,sorts:O,userColumnWidths:x,userRowHeights:N,showSearchBar:W,searchValue:q,selectDistinctColumns:k,selectedSearchColumns:A,invertSearchColumns:U,pendingDataMap:j,frozenColumns:H,isStuckToBottom:ge,isStuckToRight:be,columnHeaderGroups:de})}catch(D){It.error("loadPanelState failed to load panelState",t,D)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:r,glEventHub:a,columnSelectionValidator:s,getDownloadWorker:o,inputFilters:d,links:h,metadata:u,panelState:c,user:m,workspace:p,settings:v,theme:g}=this.props,{advancedFilters:b,aggregationSettings:C,advancedSettings:w,conditionalFormats:S,customColumns:y,customColumnFormatMap:E,error:M,isDisconnected:O,isFilterBarShown:x,isSelectingPartition:N,isStuckToBottom:W,isStuckToRight:q,isLoaded:k,isLoading:A,isModelReady:U,model:j,movedColumns:H,movedRows:K,partition:de,partitionColumn:ge,quickFilters:be,reverseType:T,rollupConfig:P,sorts:D,userColumnWidths:R,userRowHeights:z,showSearchBar:fe,searchValue:L,selectDistinctColumns:Y,selectedSearchColumns:ee,invertSearchColumns:he,Plugin:_e,pluginFilters:ri,pluginFetchColumns:Ki,pendingDataMap:ea,frozenColumns:ai,columnHeaderGroups:Cu}=this.state,Su=M!=null?"Unable to open table. ".concat(M):void 0,Hs=fl(u),Vs=(e=j?.description)!==null&&e!==void 0?e:void 0,yu=(t=c?.pluginState)!==null&&t!==void 0?t:null,wu=n??this.getPluginContent(_e,j,m,p,yu),{permissions:Eu}=m,{canCopy:Pu,canDownloadCsv:_u}=Eu;return l.jsx(ys,{errorMessage:Su,isDisconnected:O,isLoading:A,isLoaded:k,className:"iris-grid-panel",glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:Hs,widgetType:"Table",description:Vs,componentPanel:this,renderTabTooltip:()=>l.jsx(Ns,{model:j,widgetName:Hs,glContainer:r,description:Vs}),children:U&&j&&l.jsx(wd,{advancedFilters:b,aggregationSettings:C,advancedSettings:w,alwaysFetchColumns:this.getAlwaysFetchColumns(h,Ki),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",customColumns:y,customColumnFormatMap:E,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:S,inputFilters:this.getGridInputFilters(j.columns,d),applyInputFiltersOnInit:c==null,isFilterBarShown:x,isSelectingColumn:s!=null,isSelectingPartition:N,isStuckToBottom:W,isStuckToRight:q,movedColumns:H,movedRows:K,partition:de,partitionColumn:ge,quickFilters:be,reverseType:T,rollupConfig:P,settings:v,sorts:D,userColumnWidths:R,userRowHeights:z,model:j,showSearchBar:fe,searchValue:L,selectedSearchColumns:ee,selectDistinctColumns:Y,invertSearchColumns:he,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onPartitionAppend:this.handlePartitionAppend,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:ri,pendingDataMap:ea,canCopy:Pu,canDownloadCsv:_u,ref:this.irisGrid,getDownloadWorker:o,frozenColumns:ai,theme:g,columnHeaderGroups:Cu,children:wu})})}}Te(Yn,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Te(Yn,"displayName","IrisGridPanel");Te(Yn,"COMPONENT","IrisGridPanel");var jC=(i,e)=>{var{localDashboardId:t=_t}=e;return{inputFilters:ws(i,t),links:ii(i,t),columnSelectionValidator:_s(i,t),user:Ud(i),workspace:Hr(i),settings:Fe(i)}},AC=Me(jC,null,null,{forwardRef:!0})(Yn);const Zn=AC;function Ei(i,e,t){return e=kC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kC(i){var e=$C(i,"string");return typeof e=="symbol"?e:String(e)}function $C(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var vl=B.module("InputFilter"),UC=150;class Xn extends f.Component{constructor(e){super(e),Ei(this,"inputRef",void 0),Ei(this,"getItemLabel",wt((a,s)=>{var{name:o,type:d}=a[s];if(s>0&&a[s-1].name===o||s<a.length-1&&a[s+1].name===o){var h=d.substring(d.lastIndexOf(".")+1);return"".concat(o," (").concat(h,")")}return o})),Ei(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:d}=this.state;a({column:s,isValueShown:d,value:o})},UC)),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=J.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,selectedColumn:t,value:r,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:r,value:a,isValueShown:s}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),s!==void 0&&s&&s!==t.isValueShown&&this.focusInput(),(r!==t.column||a!==t.value||s!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,{value:n}=e.target,r=t[parseInt(n,10)];vl.debug2("handleColumnChange",r),this.setState({selectedColumn:r,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;vl.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:r,isValueShown:a}=e,s=t!=null&&n!=null?{name:t,type:n}:void 0,o=a===void 0?{column:s,value:r}:{column:s,value:r,isValueShown:a};this.setState(o)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:r,value:a}=this.state,s=a==null||a.length===0?Xn.PLACEHOLDER.length:a.length,o=null;if(t!=null){var d=e.findIndex(h=>h.name===t.name&&h.type===t.type);o=d>=0?this.getItemLabel(e,d):t.name}return l.jsxs(as,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[l.jsx("div",{className:"input-filter-settings-card",children:l.jsxs("div",{className:"input-filter-settings-content",children:[l.jsxs("div",{className:"input-filter-settings-grid",children:[l.jsx("label",{children:"Filter Column"}),l.jsxs("select",{value:e.findIndex(h=>h.name===r?.name&&h.type===r?.type),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((h,u)=>l.jsx("option",{value:u,children:this.getItemLabel(e,u)},"".concat(h.name,"/").concat(h.type))),e.length===0&&l.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),l.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),l.jsxs("div",{className:"input-filter-settings-buttons",children:[l.jsx(F,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),l.jsx(F,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:r==null,children:"Save"})]})]})}),l.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[l.jsx("div",{className:"input-filter-column",children:l.jsxs("div",{className:"input-filter-column-title",children:[o," Filter"]})}),l.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:l.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:l.jsx("input",{type:"text",ref:this.inputRef,placeholder:Xn.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(s+3,"ch")},spellCheck:"false"})})}),l.jsx("div",{className:"input-filter-menu",children:l.jsx(F,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:l.jsx(X,{icon:ji,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}Ei(Xn,"PLACEHOLDER","Enter value...");Ei(Xn,"defaultProps",{column:null,isValueShown:!1,value:null});const HC=Xn;function Yr(i,e,t){return e=VC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function VC(i){var e=BC(i,"string");return typeof e=="symbol"?e:String(e)}function BC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var WC=250;class Zr extends f.Component{constructor(e){super(e),Yr(this,"inputFilterRef",void 0),this.handleChange=Je(this.handleChange.bind(this),WC),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=J.createRef();var{panelState:t}=e,{value:n,isValueShown:r=!1,name:a,type:s,timestamp:o}=t??{};this.state={columns:[],column:a!=null&&s!=null?{name:a,type:s}:void 0,value:n,timestamp:o,isValueShown:r,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:r,type:a}=e;this.sendUpdate(r,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,a,s;t!=null&&({name:a,type:s}=t);var o=!0,d=Date.now();this.setState(h=>{var u,{panelState:c,timestamp:m,wasFlipped:p,skipUpdate:v}=h,g=c!=null&&n!==c.isValueShown&&a===c.name&&s===c.type&&r===c.value;return o=(u=!v&&n&&(!g||!p))!==null&&u!==void 0?u:!1,o||(d=m),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:d},timestamp:d,wasFlipped:g,skipUpdate:!1}},()=>{o&&this.sendUpdate(a,s,r,d)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,r){var{glEventHub:a}=this.props;a.emit(ve.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:r})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(r=>{var{name:a,type:s}=r;return n.name===a&&n.type===s})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:r,isValueShown:a,value:s}=this.state;return l.jsx(Kt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:l.jsx(HC,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:s})})}}Yr(Zr,"defaultProps",{panelState:null});Yr(Zr,"COMPONENT","InputFilterPanel");Yr(Zr,"displayName","InputFilterPanel");var GC=(i,e)=>{var{localDashboardId:t}=e;return{columns:Vh(i,t)}},KC=Me(GC,null,null,{forwardRef:!0})(Zr);const Pi=KC;function gl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function hr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gl(Object(t),!0).forEach(function(n){Ls(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):gl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ls(i,e,t){return e=zC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zC(i){var e=qC(i,"string");return typeof e=="symbol"?e:String(e)}function qC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Re=B.module("FilterSetManagerPanel");function YC(i){return i.setPanelState!=null}class Jn extends f.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[r,a]=n;if(r>=e.columns.length)return null;var{name:s}=e.columns[r];return{name:s,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:r=n.length>0?n[0].id:void 0,isValueShown:a=!1}=t??{};this.state={selectedId:r,isValueShown:a,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(n=>{var r=e.get(n);if(r===void 0){Re.error("Could not get panel",r);return}var a=_.getComponentNameFromPanel(r),s=_.getIdFromPanel(r);Re.debug("Panel:",r,a);var{glContainer:o=null}=r.props;if(o==null){Re.error("Could not get panel container",r);return}var d=_.getComponentConfigFromContainer(o);if(d==null){Re.error("Could not get component config from container",o);return}var h=_.getPanelComponentState(d);if(h==null){Re.debug("Panel state is null ".concat(s));return}switch(a){case _.getComponentName(Yn):{var u;s!=null&&(u=this.getIrisGridPanelFilters(s,h)),u!=null&&t.push({panelId:s,type:a,state:u});break}case _.getComponentName(Pi):case _.getComponentName(Pn):{var{isValueShown:c,name:m,type:p,value:v}=h;t.push({panelId:s,type:a,state:{isValueShown:c,name:m,type:p,value:v}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return Re.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:s={}}=t,{advancedFilters:o,quickFilters:d}=a,h;o&&(h=Jn.changeFilterIndexesToColumnNames(r,o));var u;return d&&(u=Jn.changeFilterIndexesToColumnNames(r,d)),{irisGridState:hr(hr({},a),{},{advancedFilters:h,quickFilters:u}),gridState:hr({},s)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;Re.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:r=!1}=e;Re.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:s,type:o,state:d}=a;if(s==null){Re.debug("panel is null",s);return}if(!t.has(s)){Re.debug("Ignore closed panel",s);return}Re.debug("Apply panel filters",s,o,d);var h=t.get(s);switch(o){case _.getComponentName(Yn):this.restoreIrisGridFilters(h,d,r);break;case _.getComponentName(Pi):case _.getComponentName(Pn):this.restoreInputFilterState(h,d);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;Re.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:r={},advancedFilters:a=[],quickFilters:s=[]}=t,{advancedFilters:o=a,quickFilters:d=s}=r,{panelTableMap:h}=this.props,u=_.getIdFromPanel(e);if(u==null){Re.error("Panel Id is null.");return}var c=h.get(u);if(c==null){Re.error("Unable to get table for panel ".concat(u,"."));return}Re.debug("restoreIrisGridFilters",u,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:d,advancedFilters:o})}restoreInputFilterState(e,t){var n=hr({},t);delete n.isValueShown,Re.debug("restoreInputFilterState",e,n),e&&YC(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:a}=this.state;return l.jsx(Kt,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0,children:l.jsx("div",{className:"input-filter-container h-100 w-100 container",children:l.jsx(NC,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Ls(Jn,"defaultProps",{panelState:null});Ls(Jn,"COMPONENT","FilterSetManagerPanel");var ZC=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:vb(i,t),dashboardOpenedPanelMap:Nh(i,t),dashboardInputFilters:ws(i,t),panelTableMap:Es(i,t)}},XC=Me(ZC,{setDashboardFilterSets:Pb},null,{forwardRef:!0})(Jn);const ma=XC;function Mi(i,e,t){return e=JC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function JC(i){var e=QC(i,"string");return typeof e=="symbol"?e:String(e)}function QC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var bl=B.module("LogPanel");class Xr extends f.PureComponent{constructor(e){super(e),Mi(this,"isBottomVisible",void 0),Mi(this,"logView",void 0),this.handleResize=this.handleResize.bind(this),this.handleShow=this.handleShow.bind(this),this.handleHide=this.handleHide.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.isBottomVisible=!0,this.logView=null;var{session:t}=this.props;this.state={session:t}}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions(),this.logView&&(this.logView.triggerFindWidget(),this.isBottomVisible&&this.logView.scrollToBottom())}handleHide(){this.logView&&(this.isBottomVisible=this.logView.isBottomVisible())}handleSessionOpened(e){bl.debug("Session opened",[e]),this.setState({session:e})}handleSessionClosed(e){bl.debug("Session closed",e)}updateDimensions(){this.logView&&this.logView.updateDimensions()}render(){var{glContainer:e,glEventHub:t}=this.props,{session:n}=this.state;return l.jsxs(Kt,{componentPanel:this,glContainer:e,glEventHub:t,onResize:this.handleResize,onHide:this.handleHide,onShow:this.handleShow,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,children:[n==null&&l.jsx("div",{className:"log-panel-disconnected-message",children:"Waiting for session connection"}),n!=null&&l.jsx(Ip,{session:n,ref:r=>{this.logView=r}})]})}}Mi(Xr,"defaultProps",{session:null});Mi(Xr,"COMPONENT","LogPanel");Mi(Xr,"TITLE","Log");var eS=(i,e)=>{var t;return{session:(t=Tn(i,e.localDashboardId))===null||t===void 0?void 0:t.session}},tS=Me(eS,null,null,{forwardRef:!0})(Xr);const Ba=tS;function nS(i,e,t){return e=iS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function iS(i){var e=rS(i,"string");return typeof e=="symbol"?e:String(e)}function rS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Zh extends f.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return l.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[l.jsx("div",{className:Z("text-muted","edit-hint",{viewing:e===void 0||!e}),children:l.jsxs("span",{children:["double-click to edit ",l.jsx(X,{icon:ud})]})}),t]})}}nS(Zh,"defaultProps",{isEditing:!1});function aS(i,e,t){return e=sS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sS(i){var e=oS(i,"string");return typeof e=="symbol"?e:String(e)}function oS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var lS=B.module("MarkdownStartPage");class Xh 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(lS.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:r,toBeDeleted:a}=this.state;return l.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:l.jsxs("div",{className:"markdown-panel-start-page-container",children:[l.jsxs("div",{className:"markdown-panel-start-list",children:[l.jsx("h3",{className:"list-title",children:"Start"}),l.jsx("div",{className:"list-item",children:l.jsx(F,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),l.jsxs("div",{className:"markdown-panel-start-list",children:[l.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(s=>l.jsxs("div",{className:"list-item",children:[l.jsx(F,{kind:"ghost",className:"title",onClick:()=>t(s),children:s.title}),l.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(s)},children:l.jsx(X,{icon:Ri})})]},s.id)),l.jsxs(Qa,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal theme-bg-light",children:[l.jsx(es,{children:"Are you sure you want to permanently delete this note?"}),l.jsx(ts,{children:"You can't undo this action."}),l.jsxs(yd,{children:[l.jsx(F,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),l.jsx(F,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}aS(Xh,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const dS=Xh;function Jh(i,e,t){return e=hS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hS(i){var e=uS(i,"string");return typeof e=="symbol"?e:String(e)}function uS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var cS=i=>{var{children:e,className:t}=i,n=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return l.jsx("pre",{children:l.jsx("code",{children:l.jsx(jr,{language:n,children:J.Children.map(e,r=>typeof r=="string"?r.trim():r)})})})};class Qh extends f.PureComponent{constructor(e){super(e),Jh(this,"container",void 0),this.container=null}render(){var{isEditing:e,content:t,onEditorInitialized:n}=this.props;return l.jsx("div",{className:"markdown-editor-container",ref:r=>{this.container=r},children:e?l.jsx(fd,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):l.jsx(td,{components:{code:cS},children:t})})}}Jh(Qh,"defaultProps",{isEditing:!1,content:""});function _i(i,e,t){return e=mS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mS(i){var e=pS(i,"string");return typeof e=="symbol"?e:String(e)}function pS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ur=B.module("MarkdownPanel");class Ms extends f.Component{constructor(e){super(e),_i(this,"markdownEditor",void 0),_i(this,"editor",void 0),_i(this,"getClosedMarkdowns",te(r=>r.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){$(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t){var n,r,a=t.getBoundingClientRect().top,s=t.scrollTop,o=t.scrollHeight,d=(n=(r=this.editor.getModel())===null||r===void 0?void 0:r.getLineCount())!==null&&n!==void 0?n:0,h=Math.round((s+e-a)/o*d);h>d&&(h=d),this.editor.revealLine(h),this.editor.setPosition({lineNumber:h,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){ur.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){ur.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){ur.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=_.getComponentConfigFromContainer(t);n.emit(Q.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(Q.DELETE,e)}handleEditorBlur(e){var t;ur.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var r=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:r,isEditing:!1,panelState:{content:r}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:r,isStartPageShown:a,content:s}=this.state,o=this.getClosedMarkdowns(n);return l.jsx(Kt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?l.jsx(dS,{closedMarkdowns:o,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):l.jsx(Zh,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:l.jsx(Qh,{ref:d=>{this.markdownEditor=d},isEditing:r,content:s??void 0,onEditorInitialized:this.handleEditorInitialized})})})}}_i(Ms,"defaultProps",{panelState:null});_i(Ms,"COMPONENT","MarkdownPanel");var fS=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Ig(i,t)}},vS=Me(fS,null,null,{forwardRef:!0})(Ms);const li=vS;function Sr(i,e,t){return e=gS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function gS(i){var e=bS(i,"string");return typeof e=="symbol"?e:String(e)}function bS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class eu extends f.PureComponent{constructor(e){super(e),Sr(this,"commands",void 0),Sr(this,"codeElements",void 0),Sr(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=J.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(r=>r===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:r}=this.state,a=[...this.commands.keys()],s=a.findIndex(g=>g===r||r==null);if(!(s<0)){var o=a[s],d=this.commands.get(o),h=this.getNextStartLine(o),u=(t=this.codeElements.get(o))===null||t===void 0?void 0:t.current,c=u==null||(n=u.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(c!=null){var m,{offsetTop:p}=c,v=p;(m=this.editorScrollView.current)===null||m===void 0||m.scroll({top:v,left:0})}this.runCode(d),this.setState({nextStartLine:h})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:r,node:a}=e,{hasRunCode:s,nextStartLine:o}=this.state,{children:d,position:h}=a;$(h);var{start:u}=h,{line:c}=u,m=d[0].value,p=J.createRef(),v=this.commands.size===0,g=o===c||v&&o==null&&!s,b=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return r!=null&&r?l.jsx("code",{className:n,children:t}):(this.commands.set(c,m),this.codeElements.set(c,p),l.jsxs("div",{className:Z("markdown-notebook-code-block",{"is-selected":g}),ref:p,onClick:()=>{this.setState({nextStartLine:c})},role:"presentation",children:[l.jsx(F,{kind:"ghost",icon:wr,className:"btn-play-block",onClick:C=>{C.stopPropagation(),C.preventDefault(),this.runCode(m),this.setState({nextStartLine:c})},tooltip:"Run code"}),l.jsx("code",{children:l.jsx(jr,{language:b,children:J.Children.map(t,C=>typeof C=="string"?C.trim():C)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:r,target:a}=e;return l.jsx("a",{href:n,onClick:t,target:a,children:r})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:r,hasRunCode:a,nextStartLine:s}=this.state;return l.jsxs("div",{className:"markdown-notebook",children:[l.jsx("div",{className:"markdown-notebook-toolbar",children:l.jsx(F,{className:Z("btn-play-selected-cell",{flashing:r&&!a}),kind:"ghost",icon:wr,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:a&&s==null||!r,children:"Run Selected Code"})}),l.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:l.jsx(td,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[Lu],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}Sr(eu,"defaultProps",{onRunCode:()=>{}});const CS=eu;function Cl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function je(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Cl(Object(t),!0).forEach(function(n){Ze(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Cl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ze(i,e,t){return e=SS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function SS(i){var e=yS(i,"string");return typeof e=="symbol"?e:String(e)}function yS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var se=B.module("NotebookPanel"),Sl=400;class Pt extends f.Component{static handleError(e){le.isCanceled(e)||se.error(e)}static languageFromFileName(e){var t=G.getExtension(e).toLowerCase();switch(t){case"py":case"python":return"python";case"groovy":return"groovy";case"scala":return"scala";default:return null}}constructor(e){super(e),Ze(this,"pending",void 0),Ze(this,"debouncedSavePanelState",void 0),Ze(this,"debouncedLoad",void 0),Ze(this,"notebook",void 0),Ze(this,"tabTitleElement",void 0),Ze(this,"tabInitOnce",void 0),Ze(this,"editor",void 0),Ze(this,"getSettings",te((m,p)=>je(je({},m),{},{minimap:{enabled:p}}))),Ze(this,"getOverflowActions",te((m,p)=>[{title:"Find",icon:ac,action:this.handleFind,group:ie.groups.high,shortcut:We.NOTEBOOK.FIND,order:10},{title:"Show Minimap",icon:m?Ci:void 0,action:this.handleMinimapChange,group:ie.groups.medium,shortcut:We.NOTEBOOK.MINIMAP,order:20},{title:"Word Wrap",icon:p?Ci:void 0,action:this.handleWordWrapChange,group:ie.groups.medium,shortcut:We.NOTEBOOK.WORDWRAP,order:30}])),this.handleBlur=this.handleBlur.bind(this),this.handleCloseCancel=this.handleCloseCancel.bind(this),this.handleCloseDiscard=this.handleCloseDiscard.bind(this),this.handleCloseSave=this.handleCloseSave.bind(this),this.handleCopy=this.handleCopy.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorWillDestroy=this.handleEditorWillDestroy.bind(this),this.handleEditorChange=this.handleEditorChange.bind(this),this.handleFind=this.handleFind.bind(this),this.handleMinimapChange=this.handleMinimapChange.bind(this),this.handleWordWrapChange=this.handleWordWrapChange.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleLinkClick=this.handleLinkClick.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.handleRenameFile=this.handleRenameFile.bind(this),this.handleResize=this.handleResize.bind(this),this.handleRunCommand=this.handleRunCommand.bind(this),this.handleRunAll=this.handleRunAll.bind(this),this.handleRunSelected=this.handleRunSelected.bind(this),this.handleSave=this.handleSave.bind(this),this.handleSaveAsCancel=this.handleSaveAsCancel.bind(this),this.handleSaveAsSubmit=this.handleSaveAsSubmit.bind(this),this.handleSaveError=this.handleSaveError.bind(this),this.handleSaveSuccess=this.handleSaveSuccess.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleShowRename=this.handleShowRename.bind(this),this.handleTab=this.handleTab.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabClick=this.handleTabClick.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleTransformLinkUri=this.handleTransformLinkUri.bind(this),this.handleOverwrite=this.handleOverwrite.bind(this),this.handlePreviewPromotion=this.handlePreviewPromotion.bind(this),this.getDropdownOverflowActions=this.getDropdownOverflowActions.bind(this),this.pending=new dn,this.debouncedSavePanelState=Je(this.savePanelState.bind(this),Sl),this.debouncedLoad=Je(this.load.bind(this),Sl),this.notebook=null,this.tabTitleElement=null,this.tabInitOnce=!1;var{isDashboardActive:t,session:n,sessionLanguage:r,panelState:a}=e,s={value:"",language:"",wordWrap:"off"},o=null,{isPreview:d}=e;a!=null&&({fileMetadata:o=o,isPreview:d=d,settings:s=s}=a);var h=o!=null&&G.hasPath(o.itemName),u=h===!0&&s.value!=null||!h&&s.value!=null&&s.value.length>0,c=u?1:0;this.state={error:void 0,isDashboardActive:t,isFocused:!1,isLoading:!0,isLoaded:!1,isPreview:d,savedChangeCount:0,changeCount:c,fileMetadata:o,settings:s,session:n,sessionLanguage:r,panelState:{fileMetadata:o,settings:s},showCloseModal:!1,showSaveAsModal:!1,scriptCode:""},se.debug("constructor",e,this.state)}componentDidMount(){var{glContainer:e,glEventHub:t}=this.props,{tab:n}=e;n!=null&&this.initTab(n),this.initNotebookContent(),t.on(ue.RENAME_FILE,this.handleRenameFile),t.on(Q.DROPPED,this.handlePanelDropped),e.on(ue.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion)}componentDidUpdate(e,t){var{isPreview:n,settings:r}=this.state,{wordWrap:a}=r,{defaultNotebookSettings:s}=this.props;n!==t.isPreview&&this.setPreviewStatus(),a!==t.settings.wordWrap&&(this.updateEditorWordWrap(),this.debouncedSavePanelState()),s.isMinimapEnabled!==e.defaultNotebookSettings.isMinimapEnabled&&this.updateEditorMinimap()}componentWillUnmount(){this.debouncedSavePanelState.flush(),this.pending.cancel();var{glEventHub:e,glContainer:t}=this.props,{fileMetadata:n,isPreview:r}=this.state;e.off(ue.RENAME_FILE,this.handleRenameFile),e.off(Q.DROPPED,this.handlePanelDropped),t.off(ue.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion),e.emit(ue.UNREGISTER_FILE,n,r)}initTab(e){this.tabInitOnce||(this.tabInitOnce=!0,this.initTabCloseOverride()),this.initTabClasses(e)}initTabCloseOverride(){var{glContainer:e}=this.props;e.beforeClose(t=>{if(t?.force===!0)return!0;var{changeCount:n,savedChangeCount:r}=this.state;return n!==r?(this.setState({showCloseModal:!0}),!1):!0})}initTabClasses(e){var t=e.element.get(0);$(t);var n=t.querySelector(".lm_title");this.tabTitleElement=n,n?.classList.add("notebook-title"),this.setPreviewStatus()}getNotebookValue(){var{changeCount:e,savedChangeCount:t,settings:n}=this.state,{value:r}=n;if(e!==t&&this.notebook){var a=this.notebook.getValue();return a??r}return r}initNotebookContent(){var{fileMetadata:e,settings:t,isPreview:n}=this.state;if(e&&e.id){se.debug("Init content from file"),this.registerFileMetadata(e,n),this.load();return}if(t.value!=null){se.debug("Use content passed in the settings prop"),this.handleLoadSuccess();return}this.handleLoadError(new Error("Missing file metadata"))}closeFileTabById(e){var{glEventHub:t}=this.props;t.emit(ue.CLOSE_FILE,{id:e})}registerFileMetadata(e,t){var{glEventHub:n,metadata:r}=this.props,{id:a}=r;n.emit(ue.REGISTER_FILE,a,e,t)}renameTab(e,t){var{glEventHub:n}=this.props;n.emit(ue.RENAME,e,t)}load(){var{fileMetadata:e,settings:t}=this.state;$(e);var{id:n}=e,{fileStorage:r}=this.props;this.pending.add(r.loadFile(n)).then(a=>{var s;se.debug("Loaded file",a);var{filename:o}=a,{itemName:d}=this.state;if(o!==d){var{metadata:h}=this.props,{id:u}=h;this.renameTab(u,G.getBaseName(o))}var c=je(je({},t),{},{language:(s=Pt.languageFromFileName(o))!==null&&s!==void 0?s:""});t.value==null&&(c.value=a.content),t.wordWrap===void 0&&(t.wordWrap="off"),this.setState({fileMetadata:{id:o,itemName:o},settings:c}),this.debouncedSavePanelState()}).then(this.handleLoadSuccess).catch(this.handleLoadError)}save(){var{fileMetadata:e}=this.state;if(e&&G.hasPath(e.itemName)){var t=this.getNotebookValue();return t!==void 0?(this.saveContent(e.itemName,t),!0):!1}return this.setState({showSaveAsModal:!0}),!1}saveContent(e,t){se.debug("saveContent",e,t),this.updateSavedChangeCount();var{fileStorage:n}=this.props;this.pending.add(n.saveFile({filename:e,content:t,basename:e})).then(this.handleSaveSuccess).catch(this.handleSaveError)}updateSavedChangeCount(){this.setState(e=>{var{changeCount:t}=e;return{savedChangeCount:t}})}setPreviewStatus(){if(this.tabTitleElement){var{isPreview:e}=this.state;se.debug("setPreviewStatus",this.tabTitleElement,e),e?this.tabTitleElement.classList.add("is-preview"):this.tabTitleElement.classList.remove("is-preview")}}handlePreviewPromotion(){this.removePreviewStatus()}savePanelState(){this.setState(e=>{var{changeCount:t,savedChangeCount:n,fileMetadata:r,isPreview:a,settings:s}=e,o=this.getNotebookValue(),d=t!==n?o:void 0,h=je(je({},s),{},{value:o}),u=je(je({},s),{},{value:d}),c={settings:u,fileMetadata:r,isPreview:a};return se.debug("Saving panel state",c),{settings:h,panelState:c}})}handleCloseDiscard(){this.setState({showCloseModal:!1});var{glContainer:e}=this.props;e.close({force:!0})}handleCloseSave(){if(this.setState({showCloseModal:!1}),this.save()){var{glContainer:e}=this.props;e.close({force:!0})}}handleCloseCancel(){this.setState({showCloseModal:!1})}handleOverwrite(e){var{glEventHub:t}=this.props;t.emit(ue.CLOSE_FILE,{id:e,itemName:e},{force:!0}),this.focus()}handleCopy(){var{fileMetadata:e,settings:t}=this.state;$(e);var n=this.getNotebookValue(),{language:r}=t,{itemName:a}=e,s=G.getCopyFileName(a);se.debug("handleCopy",e,a,s),this.createNotebook(s,r,n)}handleEditorInitialized(e){this.editor=e}handleEditorWillDestroy(){this.editor=void 0}handleEditorChange(e){se.debug2("handleEditorChanged",e),this.removePreviewStatus(),this.setState(t=>{var{changeCount:n,savedChangeCount:r}=t,{isUndoing:a,isRedoing:s}=e;return a?{changeCount:n-1,savedChangeCount:r}:!s&&n<r?{changeCount:n+1,savedChangeCount:0}:{changeCount:n+1,savedChangeCount:r}}),this.debouncedSavePanelState()}handleFind(){this.notebook&&this.notebook.toggleFind()}updateEditorMinimap(){if(this.editor){var{defaultNotebookSettings:e}=this.props;this.editor.updateOptions({minimap:{enabled:e.isMinimapEnabled}})}}handleMinimapChange(){var{settings:e,defaultNotebookSettings:t,saveSettings:n}=this.props,r=je(je({},e),{},{defaultNotebookSettings:{isMinimapEnabled:!t.isMinimapEnabled}});n(r)}updateEditorWordWrap(){if(this.editor){var{settings:e}=this.state,{wordWrap:t}=e;this.editor.updateOptions({wordWrap:t})}}handleWordWrapChange(){this.editor&&this.setState(e=>{var{settings:t}=e,n=t.wordWrap==="on"?"off":"on";return{settings:je(je({},t),{},{wordWrap:n})}})}handleBlur(){se.debug("handleBlur"),this.setState({isFocused:!1})}handleFocus(){se.debug("handleFocus"),this.setState({isFocused:!0})}handleLinkClick(e){var{notebooksUrl:t,session:n,sessionLanguage:r}=this.props,{href:a}=e.currentTarget;if(!(!a||!a.startsWith(t))){e.stopPropagation(),e.preventDefault();var s="/".concat(a.substring(t.length)).replace(/%20/g," ");if(s==="/"){se.debug("Ignoring invalid notebook link",s);return}se.debug("Notebook link clicked, opening",s);var{glEventHub:o}=this.props,d={value:null,language:r},h={id:s,itemName:s};o.emit(ue.SELECT_NOTEBOOK,n,r,d,h)}}handleLoadSuccess(){this.setState({error:void 0,isLoaded:!0,isLoading:!1})}handleLoadError(e){var t=e;le.isCanceled(t)||(le.isTimedOut(t)&&(t=new Error("File not found.")),se.error(t),this.setState({error:t,isLoading:!1}))}handleSave(){se.debug("handleSave"),this.save()}handleSaveSuccess(e){var t,{fileStorage:n}=this.props,r={id:e.filename,itemName:e.filename},a=(t=Pt.languageFromFileName(e.filename))!==null&&t!==void 0?t:"";this.setState(s=>{var{fileMetadata:o}=s,d=je(je({},s.settings),{},{language:a});return se.debug("handleSaveSuccess",r,o,d),o&&G.hasPath(o.itemName)&&o.itemName!==r.itemName&&(se.debug("handleSaveSuccess deleting old file",o.itemName),n.deleteFile(o.itemName).catch(Pt.handleError)),{fileMetadata:r,settings:d,isPreview:!1}}),this.debouncedSavePanelState(),this.registerFileMetadata(r,!1)}handleSaveError(e){le.isCanceled(e)||(this.setState({savedChangeCount:0}),se.error(e))}handleSaveAsCancel(){this.setState({showSaveAsModal:!1})}handleSaveAsSubmit(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;n&&this.handleOverwrite(e),se.debug("handleSaveAsSubmit",e);var{fileMetadata:r}=this.state;if(r){var{itemName:a}=r,s=(t=this.getNotebookValue())!==null&&t!==void 0?t:"";if(this.setState({showSaveAsModal:!1}),G.getBaseName(a)!==G.getBaseName(e)){var{metadata:o}=this.props,{id:d}=o;this.renameTab(d,G.getBaseName(e))}this.saveContent(e,s)}}handleRenameFile(e,t,n){var{fileMetadata:r,panelState:a}=this.state,{glContainer:s}=this.props;if(r?.itemName==="/".concat(t)&&n&&JSON.stringify(a)!==JSON.stringify(n)){s.close();return}r&&r.id===e&&(this.setState({fileMetadata:{id:t,itemName:t}}),this.debouncedSavePanelState())}handleResize(){var e;(e=this.notebook)===null||e===void 0||e.updateDimensions()}handleRunCommand(e){this.runCommand(e)}handleRunAll(){var e;if(!this.notebook){se.error("Editor is not initialized.");return}this.runCommand((e=this.notebook.getValue())!==null&&e!==void 0?e:void 0)}handleRunSelected(){if(!this.notebook){se.error("Editor is not initialized.");return}this.runCommand(this.notebook.getSelectedCommand())}handleSessionOpened(e,t){var{language:n}=t;this.setState({session:e,sessionLanguage:n})}handleSessionClosed(){this.setState({session:void 0,sessionLanguage:void 0})}handleShow(){var e;se.debug("handleShow"),(e=this.notebook)===null||e===void 0||e.updateDimensions()}handlePanelDropped(e){var{metadata:{id:t}}=this.props;e===t&&this.forceUpdate()}handleShowRename(){this.setState({showSaveAsModal:!0})}handleTab(e){se.debug("NotebookPanel tab event",e),this.initTab(e)}handleTabFocus(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];se.debug("handleTabFocus",...t);var{glContainer:r}=this.props;this.setState({isDashboardActive:!0}),this.notebook&&!r.isHidden&&this.notebook.updateDimensions()}handleTabBlur(){se.debug("handleTabBlur"),this.setState({isDashboardActive:!1})}handleTabClick(e){se.debug("handle NotebookPanel tab click"),this.focus(),e.detail===2&&this.removePreviewStatus()}handleTransformLinkUri(e){var{notebooksUrl:t}=this.props,{fileMetadata:n}=this.state;if(e.endsWith("/"))return e;if(e.startsWith("/"))return"".concat(t).concat(e.substring(1));var r=n?.itemName;if(r===void 0)return e;r.charAt(0)==="/"&&(r=r.substring(1));var a=new URL(r,t);return new URL(e,a).href}focus(){requestAnimationFrame(()=>{this.notebook&&this.notebook.focus()})}createNotebook(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",{glEventHub:r}=this.props,{session:a,sessionLanguage:s,settings:o}=this.state,d=je(je({},o),{},{language:t,value:n}),h={id:null,itemName:e};se.debug("handleCreateNotebook",a,s,d,h),r.emit(ue.CREATE_NOTEBOOK,a,s,d,h)}runCommand(e){if(e===void 0||e===""){se.debug("Ignoring empty command.");return}this.removePreviewStatus();var{glEventHub:t}=this.props;t.emit(ot.SEND_COMMAND,e,!1,!0)}removePreviewStatus(){this.setState(e=>{var{isPreview:t}=e;if(t){var{fileMetadata:n}=this.state;return n&&this.registerFileMetadata(n,!1),{isPreview:!1}}return null})}getDropdownOverflowActions(){var{defaultNotebookSettings:e}=this.props,{settings:t}=this.state;return this.getOverflowActions(e.isMinimapEnabled,this.getSettings(t,e.isMinimapEnabled).wordWrap==="on")}render(){var e,t,{fileStorage:n,glContainer:r,glContainer:{tab:a},glEventHub:s,defaultNotebookSettings:o}=this.props,{changeCount:d,savedChangeCount:h,error:u,isDashboardActive:c,isLoaded:m,isLoading:p,isPreview:v,fileMetadata:g,session:b,sessionLanguage:C,settings:w,showCloseModal:S,showSaveAsModal:y}=this.state,E=c&&!r.isHidden&&!v,M=(e=g?.itemName)!==null&&e!==void 0?e:Pt.DEFAULT_NAME,O=M.endsWith(".md"),x=g?.id!=null,N=this.getSettings(w,o.isMinimapEnabled),W=b!=null,q=C===N.language,k=!m||!W||!q,A=!m,U=[{action:this.handleSave,shortcut:ln.SAVE},{action:this.handleMinimapChange,shortcut:We.NOTEBOOK.MINIMAP},{action:this.handleWordWrapChange,shortcut:We.NOTEBOOK.WORDWRAP}],j=Ia.getDisabledRunTooltip(W,q,"Notebook extension","Run"),H=Ia.getDisabledRunTooltip(W,q,"Notebook extension","Run Selected"),K=[{title:x?"Rename":"Save As…",order:10,group:ie.groups.high,action:this.handleShowRename},{title:"Copy File",action:this.handleCopy,group:ie.groups.high,order:20}],de=a?.element.find(".lm_title_before").get(0);return l.jsxs(l.Fragment,{children:[de!=null&&qa.createPortal(l.jsx("span",{className:Z("editor-unsaved-indicator",{"is-unsaved":d!==h})}),de),l.jsxs(Kt,{className:"notebook-container",componentPanel:this,glContainer:r,glEventHub:s,onTab:this.handleTab,onResize:this.handleResize,onShow:this.handleShow,onTabClicked:this.handleTabClick,onTabFocus:this.handleTabFocus,onTabBlur:this.handleTabBlur,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onFocus:this.handleFocus,onBlur:this.handleBlur,additionalActions:K,renderTabTooltip:()=>M,children:[!O&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"notebook-toolbar",children:[l.jsxs("span",{children:[l.jsx(F,{kind:"ghost",className:"btn-play",onClick:this.handleRunAll,disabled:k,icon:l.jsx(X,{icon:wr,transform:"grow-4"}),tooltip:"Run ".concat(We.NOTEBOOK.RUN.getDisplayText()),"aria-label":"Run"}),j!=null&&l.jsx(Mt,{children:j})]}),l.jsxs("span",{children:[l.jsx(F,{kind:"ghost",className:"btn-play",onClick:this.handleRunSelected,disabled:k,icon:l.jsx(X,{icon:sc,transform:"grow-4"}),tooltip:"Run Selected ".concat(We.NOTEBOOK.RUN_SELECTED.getDisplayText()),"aria-label":"Run Selected"}),H!=null&&l.jsx(Mt,{children:H})]}),l.jsx(F,{kind:"ghost",className:"mr-auto",disabled:A,onClick:this.handleSave,icon:hd,tooltip:"Save ".concat(ln.SAVE.getDisplayText()),"aria-label":"Save"}),l.jsx(F,{kind:"ghost",className:"btn-overflow btn-link-icon",disabled:A,icon:ld,tooltip:"More Actions...",onClick:()=>{},children:l.jsx(En,{actions:this.getDropdownOverflowActions,popperOptions:Pt.POPPER_OPTIONS})})]}),l.jsx(cp,{isLoaded:m,isLoading:p,error:u,onChange:this.handleEditorChange,onRunCommand:this.handleRunCommand,session:b,sessionLanguage:C,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy,settings:N,focusOnMount:E,ref:ge=>{this.notebook=ge}})]}),O&&l.jsx(CS,{content:(t=N.value)!==null&&t!==void 0?t:"",onLinkClick:this.handleLinkClick,onRunCode:this.handleRunCommand,transformImageUri:this.handleTransformLinkUri,transformLinkUri:this.handleTransformLinkUri}),l.jsx(Kh,{isOpen:y,type:"file",defaultValue:M,title:x?"Rename":"Save file as",onSubmit:this.handleSaveAsSubmit,onCancel:this.handleSaveAsCancel,notifyOnExtensionChange:!0,storage:n}),l.jsx(Di,{isOpen:S,headerText:"Do you want to save the changes you made to ".concat(M,"?"),bodyText:"Your changes will be lost if you don't save them.",onCancel:this.handleCloseCancel,onDiscard:this.handleCloseDiscard,onConfirm:this.handleCloseSave,discardButtonText:"Discard Changes",confirmButtonText:"Save"}),l.jsx(ie,{actions:U})]})]})}}Ze(Pt,"COMPONENT","NotebookPanel");Ze(Pt,"POPPER_OPTIONS",{placement:"bottom-end"});Ze(Pt,"DEFAULT_NAME","Untitled");Ze(Pt,"defaultProps",{isDashboardActive:!0,isPreview:!1,session:null,sessionLanguage:null,defaultNotebookSettings:null});var wS=(i,e)=>{var t=Vd(i),n=Fe(i),r=jp(i),a=Tn(i,e.localDashboardId),{session:s,config:o}=a??{},{type:d}=o??{};return{fileStorage:t,settings:n,defaultNotebookSettings:r,session:s,sessionLanguage:d}},ES=Me(wS,{saveSettings:Br},null,{forwardRef:!0})(Pt);const vn=ES;function yl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function wl(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yl(Object(t),!0).forEach(function(n){Fi(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):yl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function PS(i){if(i==null)throw new TypeError("Cannot destructure "+i)}function Wa(){return Wa=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n])}return i},Wa.apply(this,arguments)}function Fi(i,e,t){return e=_S(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _S(i){var e=TS(i,"string");return typeof e=="symbol"?e:String(e)}function TS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Fs extends f.Component{constructor(e){super(e),Fi(this,"buttonRef",void 0),Fi(this,"irisGridRef",void 0),this.irisGridRef=J.createRef(),this.buttonRef=J.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,t;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),(t=this.buttonRef.current)===null||t===void 0||t.blur(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:r}=this.state;r&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){var e=this.props,t=Wa({},(PS(e),e));return l.jsx(Zn,wl(wl({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},t),{},{children:l.jsxs(F,{ref:this.buttonRef,kind:"primary",className:"btn-pandas",onClick:this.handleReload,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",l.jsxs("span",{children:[l.jsx(X,{icon:cd,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}))}}Fi(Fs,"defaultProps",{panelState:null});Fi(Fs,"COMPONENT","PandasPanel");const El=Fs;function OS(i){cn(i);var{hydrate:e}=i,t=On();return Cs({dashboardProps:i,componentName:Li.COMPONENT,component:Li,supportedTypes:t.VariableType.FIGURE,hydrate:e}),null}function DS(i){cn(i);var{id:e,layout:t}=i,n=On(),r=f.useCallback(a=>{var{metadata:s,panelId:o=$e.generate(),table:d}=a,{settings:h}=s,u=()=>Ta.makeModelFromSettings(n,h,d),c=Sd.titleFromSettings(h),m={type:"react-component",component:Li.COMPONENT,props:{localDashboardId:e,id:o,metadata:s,makeModel:u},title:c,id:o},{root:p}=t;_.openComponent({root:p,config:m})},[n,e,t]);return me(t.eventHub,yt.CREATE_CHART,r),null}function Pl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function _l(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pl(Object(t),!0).forEach(function(n){IS(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Pl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function IS(i,e,t){return e=xS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xS(i){var e=NS(i,"string");return typeof e=="symbol"?e:String(e)}function NS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ee=B.module("ConsolePlugin");function Tl(i){return i.notebook!==void 0}function LS(i){cn(i)}function MS(i){LS(i);var{id:e,hydrateConsole:t,layout:n,panelManager:r,registerComponent:a,notebooksUrl:s}=i,o=f.useRef(0),[d,h]=f.useState(new Map),[u,c]=f.useState(new Map),m=Ya(),p=f.useCallback(()=>r.getLastUsedPanelOfType(wi),[r]),v=f.useCallback((T,P)=>{h(D=>new Map(D.set(T,P)))},[h]),g=f.useCallback(T=>{h(P=>(P.delete(T),new Map(P)))},[h]),b=f.useCallback((T,P)=>{c(D=>new Map(D.set(T,P)))},[c]),C=f.useCallback(T=>{c(P=>(P.delete(T),new Map(P)))},[c]),w=f.useCallback(function(T){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,R=T&&T.trim();if(!R)Ee.info("Ignoring empty code");else{var z=p();if(!z||!(z instanceof wi.WrappedComponent)){Ee.error("Console panel not found");return}Ee.debug("Send command: ",T,P,D),z.addCommand(T,P,D)}},[p]),S=f.useCallback(T=>{m(Eb(e,T))},[m,e]),y=f.useCallback(T=>{var{language:P}=T,D=P==="python"?"py":P,R=null;return D==null?(Ee.debug("No extension for language",P),R="Untitled-".concat(o.current)):R="Untitled-".concat(o.current,".").concat(D),o.current+=1,R},[]),E=f.useCallback(function(T){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{id:D}=T;if(D!=null&&d.has(D))return d.get(D);if(D!=null&&u.has(D))return u.get(D);if(P)return $e.generate()},[d,u]),M=f.useCallback((T,P)=>{_.renameComponent(n.root,{id:T},P)},[n.root]),O=f.useCallback((T,P)=>{Ee.debug("Rename file panel",T,P);var D;if(d.has(T)&&(D=d.get(T),g(T),D!=null&&v(P,D)),u.has(T)&&(D=u.get(T),C(T),D!=null&&b(P,D)),D===void 0){Ee.debug2("File ".concat(T," isn't open, no need to rename the tab"));return}M(D,G.getBaseName(P))},[d,u,M,v,b,g,C]),x=f.useCallback(T=>{var P=E(T,!1);if(P==null){Ee.error("Could not find panel id for file metadata",T);return}_.activateTab(n.root,{id:P})},[E,n.root]),N=f.useCallback((T,P,D)=>{if(Ee.debug("registerFilePanel",T,P,D),P==null||P.id==null){Ee.debug("Ignore empty file id",P);return}var{id:R}=P;if(D){b(R,T);return}if(d.has(R)){var z=d.get(R);if(T===z){Ee.debug("Update tab title for file ".concat(R));var{itemName:fe}=P;O(R,fe)}else Ee.error("File ".concat(R," already associated with a different tab ").concat(z));return}v(R,T),u.has(R)&&C(R)},[d,u,O,v,b,C]),W=f.useCallback((T,P)=>{if(Ee.debug("unregisterFileTab",T,P),T==null||T.id==null){Ee.debug("Ignore empty file id",T);return}var{id:D}=T;if(P){C(D);return}g(D)},[g,C]),q=f.useCallback((T,P)=>{Ee.debug("closeFilePanel",T);var{id:D}=T,R=null,z=!1;if(d.has(D))R=d.get(D);else if(u.has(D))R=u.get(D),z=!0;else{Ee.debug("File ".concat(D," isn't open, ignore close event"));return}W(T,z),_.closeComponent(n.root,{id:R},P)},[n.root,d,u,W]),k=f.useCallback(T=>{var{itemName:P}=T;return G.getBaseName(P)},[]),A=f.useCallback(T=>{var{id:P}=T;return Ee.debug("fileIsOpen",T,P,d),P!=null&&d.has(P)},[d]),U=f.useCallback(T=>{var{id:P}=T;return Ee.debug("fileIsOpenAsPreview",T,P,u),P!=null&&u.has(P)},[u]),j=f.useCallback(T=>{if(T!=null){var P=r.getOpenedPanelById(T);P&&Tl(P)&&P.focus()}},[r]),H=f.useCallback(T=>{var{id:P,settings:D,fileMetadata:R,session:z,sessionLanguage:fe,isPreview:L=!1}=T,Y={settings:D,fileMetadata:R},ee=k(R);return{type:"react-component",component:vn.COMPONENT,isFocusOnShow:!1,props:{localDashboardId:e,metadata:{id:P},session:z,sessionLanguage:fe,panelState:Y,isPreview:L,notebooksUrl:s},title:ee,id:P}},[k,e,s]),K=f.useCallback(function(T,P,D){var R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{id:null,itemName:y(D)},z=E(R);if(A(R)&&z!=null){Ee.debug("File is already open, focus panel"),x(R),j(z);return}var fe=_.getStackForComponentTypes(n.root,[vn.COMPONENT]),L=H({id:z,settings:D,fileMetadata:R,session:T,sessionLanguage:P});Ee.debug("createNotebook",L,d),_.openComponentInStack(fe,L)},[A,j,y,E,n.root,H,d,x]),de=f.useCallback(function(T,P,D,R){var z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;Ee.debug("selectNotebook",R,z);var fe=A(R),L=U(R),[Y]=[...u.values()],ee=!z,he=ee&&Y?Y:E(R);if(he==null||he==="")throw new Error("Unable to retrieve or create panelId for metadata",R);if(fe||L)x(R);else{var _e=_.getStackForComponentTypes(n.root,[vn.COMPONENT]),ri=H({id:he,settings:D,fileMetadata:R,session:T,sessionLanguage:P,isPreview:ee});_.openComponentInStack(_e,ri)}if(L&&z){var Ki=R.id,ea=_.getStackForConfig(n.root,{component:vn.COMPONENT,id:he}),ai=_.getContentItemInStack(ea,{component:vn.COMPONENT,id:he});ai&&it(ai)&&(ai.container.emit(ue.PROMOTE_FROM_PREVIEW),C(Ki),v(Ki,he))}z&&j(he)},[x,A,U,j,E,n.root,H,u,C,v]),ge=f.useCallback(function(T,P){var D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,z=r.getLastUsedPanelOfType(vn);z&&Tl(z)?D!=null&&D.value!=null&&z.notebook!=null&&z.notebook.append(D.value):R&&K(T,P,D)},[K,r]),be=f.useCallback((T,P)=>Aa.hydrate(_l(_l({},T),{},{notebooksUrl:s}),P),[s]);return jn(a,wi,t),jn(a,$a),jn(a,Va),jn(a,Ba),jn(a,vn,be),me(n.eventHub,ot.SEND_COMMAND,w),me(n.eventHub,ot.SETTINGS_CHANGED,S),me(n.eventHub,ue.CLOSE_FILE,q),me(n.eventHub,ue.CREATE_NOTEBOOK,K),me(n.eventHub,ue.SELECT_NOTEBOOK,de),me(n.eventHub,ue.RENAME,M),me(n.eventHub,ue.RENAME_FILE,O),me(n.eventHub,ue.SEND_TO_NOTEBOOK,ge),me(n.eventHub,ue.REGISTER_FILE,N),me(n.eventHub,ue.UNREGISTER_FILE,W),null}var di=B.module("FilterPlugin");function Ol(i,e){return i.concat(e)}function FS(i){cn(i);var{id:e,layout:t,registerComponent:n}=i,r=Ya(),[a]=f.useState(()=>new Map),[s]=f.useState(()=>new Map),[o]=f.useState(()=>new Map),d=f.useCallback(()=>{var b=Array.from(a.values()).reduce(Ol,[]).sort((S,y)=>{var E=Ct.toLower(S.name),M=Ct.toLower(y.name);if(E!==M)return E>M?1:-1;var O=Ct.toLower(S.type),x=Ct.toLower(y.type);return O!==x?O>x?1:-1:0}).reduce((S,y)=>((S.length===0||Ct.toLower(S[S.length-1].name)!==Ct.toLower(y.name)||Ct.toLower(S[S.length-1].type)!==Ct.toLower(y.type))&&S.push(y),S),[]),C=Array.from(s.values()).reduce(Ol,[]).sort((S,y)=>S.timestamp-y.timestamp),w=new Map(o);di.debug("sendUpdate",{columns:b,filters:C,tableMap:w}),r(Ft(e,{columns:b,filters:C,tableMap:w}))},[r,e,a,s,o]),h=f.useCallback((b,C)=>{di.debug2("handleColumnsChanged",b,C),a.set(b,[].concat(C)),d()},[a,d]),u=f.useCallback((b,C)=>{di.debug2("handleFiltersChanged",b,C),s.set(b,[].concat(C)),d()},[s,d]),c=f.useCallback((b,C)=>{di.debug2("handleTableChanged",b,C),o.set(_.getIdFromPanel(b),C),d()},[o,d]),m=f.useCallback(b=>{di.debug2("handlePanelUnmount",b),a.delete(b),s.delete(b),o.delete(_.getIdFromPanel(b)),d()},[a,s,o,d]),p=f.useCallback(b=>{var{title:C="DropdownFilter",metadata:w={},panelState:S=null,id:y=$e.generate(),focusElement:E=_.DEFAULT_FOCUS_SELECTOR,createNewStack:M=!1,dragEvent:O=null}=b,x={type:"react-component",component:Pn.COMPONENT,props:{id:y,metadata:w,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;_.openComponent({root:N,config:x,focusElement:E,createNewStack:M,dragEvent:O})},[t,e]),v=f.useCallback(b=>{var{title:C="InputFilter",metadata:w={},panelState:S=null,id:y=$e.generate(),focusElement:E=_.DEFAULT_FOCUS_SELECTOR,createNewStack:M=!1,dragEvent:O=void 0}=b,x={type:"react-component",component:Pi.COMPONENT,props:{id:y,metadata:w,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;_.openComponent({root:N,config:x,focusElement:E,createNewStack:M,dragEvent:O})},[t,e]),g=f.useCallback(b=>{var{title:C="FilterSets",metadata:w={},panelState:S=null,id:y=$e.generate(),focusElement:E=_.DEFAULT_FOCUS_SELECTOR,createNewStack:M=!1,dragEvent:O=null}=b,x={type:"react-component",component:ma.COMPONENT,props:{id:y,metadata:w,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;_.openComponent({root:N,config:x,focusElement:E,createNewStack:M,dragEvent:O})},[t,e]);return f.useEffect(function(){var C=[n(Pn.COMPONENT,Pn),n(Pi.COMPONENT,Pi),n(ma.COMPONENT,ma)];return()=>{C.forEach(w=>w())}},[n]),me(t.eventHub,ve.COLUMNS_CHANGED,h),me(t.eventHub,ve.FILTERS_CHANGED,u),me(t.eventHub,ve.TABLE_CHANGED,c),me(t.eventHub,ve.OPEN_DROPDOWN,p),me(t.eventHub,ve.OPEN_INPUT,v),me(t.eventHub,ve.OPEN_FILTER_SET_MANAGER,g),me(t.eventHub,Q.UNMOUNT,m),null}function RS(i){cn(i);var{hydrate:e}=i,t=On(),n=f.useMemo(()=>[t.VariableType.TABLE,t.VariableType.TREETABLE,t.VariableType.HIERARCHICALTABLE],[t]);return Cs({dashboardProps:i,componentName:Zn.COMPONENT,component:Zn,supportedTypes:n,hydrate:e}),null}function Dl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Jt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dl(Object(t),!0).forEach(function(n){tu(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Dl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function tu(i,e,t){return e=jS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jS(i){var e=AS(i,"string");return typeof e=="symbol"?e:String(e)}function AS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function nu(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function Il(i){var e=i;return nu(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function xl(i){var e;return i.description===void 0||!((e=i.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var hi=B.module("LinkerUtils");class Jr{static getLinkType(e,t,n){var r;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return hi.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return hi.error("PanelComponent should not be null",e,t),"invalid";var a=(r=Jr.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(a===void 0||!a)return hi.debug2("Incompatible panel components",e,t),"invalid";var{columnType:s}=e,{columnType:o}=t,d=o===null||oe.isCompatibleType(s,o);if(!d)return hi.debug2("Incompatible type",s,o),"invalid";switch(t.panelComponent){case _.getComponentName(Li):return"chartLink";case _.getComponentName(Zn):return"tableLink";case _.getComponentName(Pn):return"filterSource"}return hi.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(a=>{var{name:s,type:o}=a;return s===n&&o===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(a=>{var s;a.start.panelId===t&&a.type!=="filterSource"?r.push(Jt(Jt({},a),{},{id:$e.generate(),start:Jt(Jt({},a.start),{},{panelId:n})})):((s=a.end)===null||s===void 0?void 0:s.panelId)===t&&r.push(Jt(Jt({},a),{},{id:$e.generate(),end:Jt(Jt({},a.end),{},{panelId:n})}))}),r}}tu(Jr,"ALLOWED_LINKS",new Map([[_.getComponentName(Zn),[_.getComponentName(Zn),_.getComponentName(Li),_.getComponentName(Pn)]]]));const Fn=Jr;function iu(i,e,t){return e=kS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kS(i){var e=$S(i,"string");return typeof e=="symbol"?e:String(e)}function $S(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var US=B.module("LinkerLink"),Nl=.015,Ll=1.5,ru=12,au=12,Ml=2,cr=Math.sqrt((au*.5)**2+ru**2),Fl=Math.asin(au*.5/ru),Rl=15,Qt=Math.PI*.5;class Wn 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(oe.isNumberType(e)||oe.isCharType(e))return Rc(t);if(oe.isTextType(e))return jc(t);if(oe.isDateType(e))return Ac(t);if(oe.isBooleanType(e)){if(t===ke.eq)return"is equal to";if(t===ke.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return US.warn(n),""}}constructor(e){super(e),iu(this,"getOperators",te((t,n)=>{var{onOperatorChanged:r}=this.props,a=oe.getFilterTypes(n);return oe.isBooleanType(n)&&(a=[ke.eq,ke.notEq]),a.flatMap((s,o)=>{if(s==="eqIgnoreCase"||s==="notEqIgnoreCase")return[];var d="";return s==="startsWith"?d="a*":s==="endsWith"?d="*z":d=oe.getFilterOperatorString(s),[{title:Wn.getLabelForLinkFilter(n,s),icon:l.jsx("b",{children:d}),action:()=>r(t,s),order:o}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:r}=this.props;e.altKey?r(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:r,y1:a,x2:s,y2:o,id:d,startColumnType:h,type:u}=this.props,{isHovering:c}=this.state,m=Math.sqrt((r-s)**2+(a-o)**2),p=Math.atan2(o-a,s-r),v=Math.sin(p),g=Math.cos(p)+2,b=window.innerWidth,C=window.innerHeight,w=0,S=0,y=Math.max(w,Math.min(r+(s-r)/2+v*(m*Nl)**Ll,b)),E=Math.max(S,Math.min(a+(o-a)/2+g*(m*Nl)**Ll,C)),M="M ".concat(r," ").concat(a," Q ").concat(y," ").concat(E," ").concat(s," ").concat(o),O="M ".concat(w," ").concat(S," L ").concat(w," ").concat(C," L ").concat(b," ").concat(C," L ").concat(b," ").concat(S,` z
|
|
22
|
+
`).concat(o," does not exist yet.")}if(r){var{widgetName:d}=this.props;return"".concat(d," 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:r,isLoading:a,glContainer:s,glEventHub:o,isDisconnected:d,isClonable:h,isRenamable:u,showTabTooltip:c,renderTabTooltip:m,widgetType:p,widgetName:f,description:g,onClearAllFilters:b,onHide:C,onFocus:w,onBlur:S,onResize:y,onShow:E,onTabBlur:M,onTabFocus:O,onTabClicked:x}=this.props,{isPanelDisconnected:N,isWidgetDisconnected:W,isPanelInactive:q}=this.state,k=this.getErrorMessage(),A=m??this.getCachedRenderTabTooltip(c,s,p,f,g),U=[{title:"Copy ".concat(p," Name"),group:ie.groups.medium,order:20,action:this.handleCopyName}];return l.jsxs(Kt,{className:Z(t,{disconnected:N||W||d,inactive:q}),componentPanel:n,glContainer:s,glEventHub:o,onClearAllFilters:b,onHide:C,onFocus:w,onBlur:S,onResize:y,onShow:E,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:M,onTabFocus:O,onTabClicked:x,renderTabTooltip:A,errorMessage:k,isLoaded:r,isLoading:a,isClonable:h,isRenamable:u,additionalActions:U,children:[e,q&&l.jsx("div",{className:"fill-parent-absolute"})]})}}Uh(Hh,"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 ys=Hh,Xe=Object.freeze({DEFAULT:"DEFAULT",LINKER:"LINKER"});var vb=new Map,zr=Object.freeze([]),Vh=(i,e)=>{var t;return(t=Qe(i,e).columns)!==null&&t!==void 0?t:zr},fb=(i,e)=>{var t;return(t=Qe(i,e).filterSets)!==null&&t!==void 0?t:zr},ws=(i,e)=>{var t;return(t=Qe(i,e).filters)!==null&&t!==void 0?t:zr},Es=(i,e)=>{var t;return(t=Qe(i,e).tableMap)!==null&&t!==void 0?t:vb},Ps=(i,e)=>Qe(i,e).isolatedLinkerPanelId,ii=(i,e)=>{var t;return(t=Qe(i,e).links)!==null&&t!==void 0?t:zr},_s=(i,e)=>Qe(i,e).columnSelectionValidator,gb=(i,e)=>Qe(i,e).connection,Tn=(i,e)=>Qe(i,e).sessionWrapper,bb=(i,e)=>t=>t(Ft(i,{connection:e})),Cb=(i,e)=>t=>t(Ft(i,{sessionWrapper:e})),Ts=(i,e)=>t=>t(Ft(i,{links:e})),Sb=(i,e)=>(t,n)=>{var r=ii(n(),i),a=e.filter(s=>r.findIndex(o=>Gn(o.start,s.start)&&Gn(o.end,s.end))<0);return t(Ts(i,r.concat(a)))},yb=(i,e)=>(t,n)=>{var r=ii(n(),i),a=r.filter(s=>!e.includes(s.id));return t(Ts(i,a))},Bh=(i,e)=>t=>t(Ft(i,{isolatedLinkerPanelId:e})),wb=(i,e)=>t=>t(Ft(i,{columnSelectionValidator:e})),Eb=(i,e)=>t=>t(Ft(i,{consoleSettings:e})),Pb=(i,e)=>t=>t(Ft(i,{filterSets:e}));function Wh(i){var{columnMap:e,inputFilterMap:t,linkedColumnMap:n,onAdd:r,onOpenLinker:a,waitingFilterMap:s,waitingInputMap:o}=i,d=v.useMemo(()=>{var f=Array.from(o.keys()),g=f.find(w=>t.get(w)!=null),b=f.find(w=>n.get(w)!=null),C=Ct.join(f.map(w=>'"'.concat(w,'"')));return g!=null&&g&&b!=null&&b?"Use a filter control or linked table to set a value for ".concat(C):g!=null&&g?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,n,o]),h=v.useMemo(()=>Array.from(e.values()),[e]),u=v.useCallback(f=>{f.stopPropagation(),f.preventDefault(),r(Array.from(s.values()))},[r,s]),c=v.useCallback(f=>{f.stopPropagation(),f.preventDefault(),a()},[a]),m=s.size>0,p=!m&&o.size>0;return l.jsx("div",{className:"chart-panel-overlay chart-filter-overlay",children:l.jsxs("div",{className:Z("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":m},{"chart-filter-waiting-input":p}),children:[m&&l.jsxs(l.Fragment,{children:[l.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:"}),l.jsx("div",{className:"waiting-filter-list",children:h.map(f=>{var g=s.has(f.name),b=g?Ja:Xu;return l.jsxs("div",{className:Z("waiting-filter-item",{"is-invalid":g}),children:[l.jsx(X,{icon:b}),f.name]},f.name)})}),l.jsxs("div",{children:[l.jsx(Zs,{onClick:u,className:"btn-primary",children:"Add Input Filters"}),l.jsx(Zs,{onClick:c,className:"btn-primary",children:"Open Linker Tool"})]})]}),p&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"info-message",children:"Waiting for User Input"}),l.jsx("div",{className:"",children:d})]})]})})}Wh.propTypes={columnMap:I.instanceOf(Map).isRequired,inputFilterMap:I.instanceOf(Map).isRequired,linkedColumnMap:I.instanceOf(Map).isRequired,onAdd:I.func.isRequired,onOpenLinker:I.func.isRequired,waitingFilterMap:I.instanceOf(Map).isRequired,waitingInputMap:I.instanceOf(Map).isRequired};function Ni(i){var{columns:e,onColumnSelected:t,onMouseEnter:n,onMouseLeave:r}=i;return l.jsx("div",{className:"chart-panel-overlay chart-column-selector-overlay",children:l.jsxs("div",{className:Z("chart-panel-overlay-content"),children:[l.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:"}),l.jsx("div",{className:"waiting-column-select-list",children:e.map(a=>l.jsx(Cd,{className:Z("btn-chart-column-selector",Ni.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{n&&n(a)},onMouseLeave:r,disabled:!a.isValid,isLinked:a.isActive,children:a.name},a.name))})]})})}Ni.makeButtonClassName=i=>"btn-chart-column-selector-".concat(i);Ni.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function br(i){return i.settings!==void 0}function _b(i){if(i==null)return!1;var{settings:e,tableSettings:t}=i;return typeof e=="object"&&typeof t=="object"}function Tb(i){return i!=null&&_b(i.panelState)}function Yo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Zo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yo(Object(t),!0).forEach(function(n){pt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Yo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function pt(i,e,t){return e=Ob(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ob(i){var e=Db(i,"string");return typeof e=="symbol"?e:String(e)}function Db(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ze=B.module("ChartPanel"),Ib=150;function xb(i){return i.inputFilters!=null}function Nb(i){return i.panelState!=null}class qr extends v.Component{constructor(e){var t;super(e),pt(this,"panelContainer",void 0),pt(this,"chart",void 0),pt(this,"pending",void 0),pt(this,"getWaitingInputMap",te((o,d,h)=>{if(!o)return new Map;var u=new Map(d);return h.forEach((c,m)=>{u.delete(m)}),u})),pt(this,"getWaitingFilterMap",te((o,d,h,u,c)=>{if(!o)return new Map;var m=new Map(d);return h.forEach((p,f)=>{m.delete(f)}),c.forEach((p,f)=>{m.delete(f)}),u.forEach((p,f)=>{m.delete(f)}),m})),pt(this,"getInputFilterColumnMap",te((o,d)=>{for(var h=new Map,u=0;u<d.length;u+=1){var c=d[u],{name:m,type:p}=c,f=o.get(m);f!=null&&f.type===p&&h.set(m,c)}return h})),pt(this,"getLinkedColumnMap",te((o,d)=>{for(var h=new Map,u=_.getIdFromPanel(this),c=0;c<d.length;c+=1){var m=d[c],p=null;if(m.start!=null&&m.start.panelId===u&&o.has(m.start.columnName)?p=m.start.columnName:m.end&&m.end.panelId===u&&o.has(m.end.columnName)&&(p=m.end.columnName),p!=null&&o.has(p)){var f=o.get(p);$(f),h.set(p,f)}}return h})),pt(this,"getSelectorColumns",te((o,d,h)=>Array.from(o.values()).map(u=>({name:u.name,type:u.type,isValid:h?h(this,u):!1,isActive:d.has(u.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.handleResize=this.handleResize.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=Je(this.updateModelFromSource.bind(this),Ib),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=(t=e.containerRef)!==null&&t!==void 0?t:J.createRef(),this.chart=J.createRef(),this.pending=new dn;var{metadata:n,panelState:r}=e,{filterValueMap:a=[],settings:s={}}=r??{};this.state={settings:s,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:n!=null&&br(n)&&n.settings.isLinked,filterMap:new Map(a),filterValueMap:new Map(a),model:void 0,columnMap:new Map,panelState:r}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:n,source:r}=this.props,{columnMap:a,model:s,filterMap:o,filterValueMap:d,isLinked:h,settings:u}=this.state;s&&(a!==t.columnMap&&this.pruneFilterMaps(),n!==e.inputFilters&&this.updateChangedInputFilters(n,e.inputFilters),o!==t.filterMap?this.updateFilters():d!==t.filterValueMap&&this.updatePanelState(),u!==t.settings&&Xs(s)&&(s.updateSettings(u),this.updatePanelState()),h!==t.isLinked?r&&(h?(this.startListeningToSource(r),this.updateModelFromSource()):this.stopListeningToSource(r)):h&&r!==e.source&&(e.source&&this.stopListeningToSource(e.source),r&&(this.startListeningToSource(r),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){ze.debug("startListeningToSource",e);var{model:t}=this.state;$(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){ze.debug("stopListeningToSource",e);var{model:t}=this.state;$(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(ka.COLUMN_SELECTED,this,n.get(e))}handleColumnMouseEnter(e){var{type:t,name:n}=e,{columnSelectionValidator:r}=this.props;ze.debug("handleColumnMouseEnter",r,t,n),r&&r(this,{type:t,name:n})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;ze.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(Xe.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){ze.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:n,source:r}=this.props,{filterMap:a,isLinked:s}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(n,a.size>0||e.isFilterRequired()),r&&s&&(this.startListeningToSource(r),this.updateModelFromSource()))})}handleLoadError(e){le.isCanceled(e)||(ze.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:n,model:r}=this.state;if(!n||!r||!t){ze.debug2("updateModelFromSource ignoring",n,r,t);return}var{dh:a}=r;if(this.pending.cancel(),br(e)){var{settings:s}=e;this.pending.add(a.plot.Figure.create(new Sd(a).makeFigureSettings(s,t))).then(o=>{Xs(r)&&r.setFigure(o)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:n,settings:r}=this.state,{tableSettings:a}=t??{};if(e&&xb(e.props)&&Nb(e.state)){var{inputFilters:s}=e.props,{panelState:o}=e.state;o!=null&&(a=Ye.extractTableSettings(o,s))}this.setState({panelState:{settings:r,tableSettings:a,filterValueMap:Array.from(n)}})}handleError(){this.setState({isLoading:!1})}handleResize(){this.updateChart()}handleSettingsChanged(e){this.setState(t=>{var{settings:n}=t,r=Zo(Zo({},n),e);return ze.debug("Updated settings",r),{settings:r}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(){this.setState({isLoading:!1})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:n,type:r}=e;t.emit(fe.OPEN_INPUT,{title:"".concat(n," Filter"),panelState:{name:n,type:r,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&(this.loadModelIfNecessary(),this.updateChart())})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(fe.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,n=Ni.makeButtonClassName(e);if(!this.panelContainer.current)return null;var r=this.panelContainer.current.querySelector(".".concat(n)),a=(t=r?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var s=a.left+a.width/2,o=a.bottom;return[s,o]}setFilterMap(e){ze.debug("setFilterMap",e),this.setState(t=>{var n,{columnMap:r,filterMap:a}=t,s=null,o=new Map(t.filterValueMap);return e.forEach((d,h)=>{var{columnType:u,filterList:c}=d,m=r.get(h);if(!(m==null||m.type!==u)){if(c.length<1){ze.debug("Ignoring empty filterList for column",h);return}var{value:p}=c[0];o.set(h,p),a.get(h)!==p&&(s===null&&(s=new Map(a)),s.set(h,p))}}),{filterValueMap:o,filterMap:(n=s)!==null&&n!==void 0?n:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:n}=this.props,{columnMap:r}=t,{filterMap:a,filterValueMap:s}=t;if(!s.has(e))return null;s=new Map(t.filterValueMap),s.delete(e);var o=this.getInputFilterColumnMap(r,n);if(o.has(e)){var d,h=a.get(e),u=(d=o.get(e))===null||d===void 0?void 0:d.value;u!=null&&h!==u&&(a=new Map(t.filterMap),u.length>0?a.set(e,u):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:s}})}updateChangedInputFilters(e,t){var n=t.filter(a=>e.find(s=>s.name===a.name&&s.type===a.type)===void 0);n.length>0&&this.deleteInputFilters(n);var r=e.filter(a=>!t.includes(a));r.length>0&&this.updateInputFilters(r)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r}=n,a=new Map(n.filterValueMap),s=new Map(n.filterMap),o=t?{filterMap:s,filterValueMap:a}:{},d=0;d<e.length;d+=1){var{name:h,type:u,value:c}=e[d],m=r.get(h);m!=null&&m.type===u&&(c!=null&&s.get(h)!==c&&(c===""?s.delete(h):s.set(h,c),o.filterMap=s),a.has(h)&&(a.delete(h),o.filterValueMap=a))}return ze.debug("updateInputFilters",o),o})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(n=>{for(var{columnMap:r,filterValueMap:a}=n,s=new Map(n.filterMap),o=t,d=0;d<e.length;d+=1){var{name:h,type:u}=e[d],c=r.get(h);if(c!=null&&c.type===u&&s.has(h)){var m=s.get(h);if(a.has(h)){var p=a.get(h);p!==m&&p!=null&&(o=!0,s.set(h,p))}else o=!0,s.delete(h)}}return ze.debug("deleteInputFilters",o),o?{filterMap:s}: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;$(n);var r=this.getWaitingInputMap(n.isFilterRequired(),e,t);if(n.setFilter(t),t.size>0&&r.size===0){var a=n.getDefaultTitle(),s=Ct.join(Array.from(t.entries()).map(o=>{var[d,h]=o;return"".concat(d,": ").concat(h)}));a?n.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(s,"</span>")):n.setTitle(s),ze.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else ze.debug2("updateFilters waiting on inputs",r),n.setTitle(n.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,n=new Map(e.filterMap),r=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((s,o)=>{t.has(o)||(r.delete(o),a.filterValueMap=r)}),e.filterMap.forEach((s,o)=>{t.has(o)||(n.delete(o),a.filterMap=n)}),a})}updateChart(){this.chart.current&&this.chart.current.updateDimensions()}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:n,inputFilters:r,isLinkerActive:a,links:s,metadata:o,settings:d,Plotly:h}=this.props,{columnMap:u,filterMap:c,error:m,model:p,isActive:f,isDisconnected:g,isLoaded:b,isLoading:C}=this.state,w;br(o)?w=o.table:w=o.figure;var S=this.getInputFilterColumnMap(u,r),y=this.getLinkedColumnMap(u,s),E=p!=null?this.getWaitingInputMap(p.isFilterRequired(),u,c):new Map,M=p!=null?this.getWaitingFilterMap(p.isFilterRequired(),u,c,y,S):new Map,O=m!=null?"Unable to open chart. ".concat(m):void 0,x=E.size>0,N=u.size>0&&a;return l.jsx(ys,{className:Z("iris-chart-panel",{"input-required":x}),componentPanel:this,glContainer:t,glEventHub:n,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:O,isDisconnected:g,isLoading:C,isLoaded:b,widgetName:w,widgetType:"Chart",children:l.jsxs("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100",children:[l.jsx("div",{className:"chart-container h-100 w-100",children:b&&p&&l.jsx(xc,{isActive:f,model:p,settings:d,ref:this.chart,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:h})}),l.jsx(Oi,{in:x&&!N&&!C,timeout:wn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:l.jsx(Wh,{inputFilterMap:S,linkedColumnMap:y,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:u,waitingFilterMap:M,waitingInputMap:E})}),l.jsx(Oi,{in:N,timeout:wn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,children:l.jsx(Ni,{columns:this.getSelectorColumns(u,y,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave})})]})})}}pt(qr,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{},containerRef:null});pt(qr,"displayName","ChartPanel");pt(qr,"COMPONENT","ChartPanel");var Lb=(i,e)=>{var{localDashboardId:t,metadata:n}=e,r;n!=null&&(r=n.sourcePanelId);var a=Es(i,t),s=Nh(i,t),o=Vr(i),d=Ps(i,t),h=o===Xe.LINKER&&d===void 0;return{columnSelectionValidator:_s(i,t),isLinkerActive:h,inputFilters:ws(i,t),links:ii(i,t),source:r!=null?a.get(r):void 0,sourcePanel:r!=null?s.get(r):void 0,settings:Fe(i)}},Mb=Me(Lb,{setActiveTool:Wr,setDashboardIsolatedLinkerPanelId:Bh},null,{forwardRef:!0})(qr);const Li=Mb;function Nr(i,e,t){return e=Fb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Fb(i){var e=Rb(i,"string");return typeof e=="symbol"?e:String(e)}function Rb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ar=B.module("CommandHistoryPanel");class Wi extends v.Component{static handleError(e){ar.error(e)}constructor(e){super(e),Nr(this,"container",void 0),Nr(this,"pending",void 0),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSendToConsole=this.handleSendToConsole.bind(this),this.handleSendToNotebook=this.handleSendToNotebook.bind(this),this.container=J.createRef(),this.pending=new dn;var{session:t,sessionId:n,language:r}=e;this.state={panelState:{},session:t,sessionId:n,language:r,contextActions:[{action:this.handleFocusHistory,shortcut:We.COMMAND_HISTORY.FOCUS_HISTORY}]}}componentDidMount(){var{glEventHub:e,session:t}=this.props;e.on(ot.FOCUS_HISTORY,this.handleFocusHistory),t!=null&&this.loadTable()}componentWillUnmount(){var{glEventHub:e}=this.props;e.off(ot.FOCUS_HISTORY,this.handleFocusHistory),this.pending.cancel()}handleFocusHistory(){this.container.current&&this.container.current.focus()}handleShow(){var e;(e=this.container.current)===null||e===void 0||e.restoreScrollPosition()}handleSessionOpened(e,t){var{language:n,sessionId:r}=t;this.setState({session:e,sessionId:r,language:n},()=>{this.loadTable()})}handleSessionClosed(){this.pending.cancel(),this.setState({session:void 0,language:void 0,table:void 0})}handleSendToNotebook(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{session:n,language:r}=this.state;if(ar.debug("handleSendToNotebook",n,e),!n){ar.error("Session is not connected.");return}var{glEventHub:a}=this.props;a.emit(t?ue.CREATE_NOTEBOOK:ue.SEND_TO_NOTEBOOK,n,r,e)}handleSendToConsole(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;ar.debug("handleSendToConsole",e);var{glEventHub:r}=this.props;r.emit(ot.SEND_COMMAND,e,t,n)}loadTable(){var{commandHistoryStorage:e}=this.props,{language:t,sessionId:n}=this.state;$(t),$(n),this.pending.add(e.getTable(t,n,Date.now()),r=>r.close()).then(r=>{this.setState({table:r})}).catch(Wi.handleError)}render(){var{glContainer:e,glEventHub:t,commandHistoryStorage:n}=this.props,{language:r,contextActions:a,table:s}=this.state;return l.jsxs(Kt,{className:"command-history-pane",componentPanel:this,glContainer:e,glEventHub:t,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow,children:[!s&&l.jsx("div",{className:"command-history-disconnected-message",children:"Waiting for console connection"}),s&&r!=null&&l.jsxs(l.Fragment,{children:[l.jsx(Pp,{ref:this.container,language:r,sendToNotebook:this.handleSendToNotebook,sendToConsole:this.handleSendToConsole,table:s,commandHistoryStorage:n}),l.jsx(ie,{actions:a})]})]})}}Nr(Wi,"COMPONENT","CommandHistoryPanel");Nr(Wi,"TITLE","Command History");var jb=(i,e)=>{var t=Hd(i),n=Tn(i,e.localDashboardId),{session:r,config:a}=n??{},{type:s,id:o}=a??{};return{commandHistoryStorage:t,language:s,session:r,sessionId:o}},Ab=Me(jb,null,null,{forwardRef:!0})(Wi);const $a=Ab;function Xo(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Jo(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xo(Object(t),!0).forEach(function(n){Bn(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Xo(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Bn(i,e,t){return e=kb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kb(i){var e=$b(i,"string");return typeof e=="symbol"?e:String(e)}function $b(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var sr=B.module("ConsolePanel"),Ub=500,Hb=Object.freeze({consoleSettings:{},itemIds:[]});class Os extends v.PureComponent{constructor(e){super(e),Bn(this,"consoleRef",void 0),Bn(this,"objectSubscriptionCleanup",void 0),Bn(this,"savePanelState",Je(()=>{var{consoleSettings:s,itemIds:o}=this.state,d={consoleSettings:s,itemIds:[...o]};sr.debug("Saving panel state",d),this.setState({panelState:d})},Ub)),this.handleFocusCommandHistory=this.handleFocusCommandHistory.bind(this),this.handleOpenObject=this.handleOpenObject.bind(this),this.handleCloseObject=this.handleCloseObject.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSettingsChange=this.handleSettingsChange.bind(this),this.handleShow=this.handleShow.bind(this),this.handlePanelMount=this.handlePanelMount.bind(this),this.consoleRef=J.createRef();var{panelState:t}=e,n=Jo(Jo({},Hb),t||{}),{consoleSettings:r,itemIds:a}=n;this.state={consoleSettings:r,itemIds:new Map(a),objectMap:new Map,error:void 0,panelState:n}}componentDidMount(){var{glEventHub:e}=this.props;this.closeDisconnectedPanels(),e.on(Q.MOUNT,this.handlePanelMount),this.subscribeToFieldUpdates()}componentDidUpdate(e,t){var{consoleSettings:n,itemIds:r}=this.state;(t.consoleSettings!==n||t.itemIds!==r)&&this.savePanelState()}componentWillUnmount(){var e,{glEventHub:t}=this.props;this.savePanelState.flush(),t.off(Q.MOUNT,this.handlePanelMount),(e=this.objectSubscriptionCleanup)===null||e===void 0||e.call(this)}subscribeToFieldUpdates(){var{sessionWrapper:e}=this.props,{session:t}=e;this.objectSubscriptionCleanup=t.subscribeToFieldUpdates(n=>{sr.debug("Got updates",n),this.setState(r=>{var{objectMap:a}=r,{updated:s,created:o,removed:d}=n,h=[...s,...d],u=new Map(a);h.forEach(m=>{var{title:p}=m;p!==void 0&&u.delete(p)});var c=[...s,...o];return c.forEach(m=>{m.title!==void 0&&u.set(m.title,m)}),{objectMap:u}})})}setItemId(e,t){this.setState(n=>{var{itemIds:r}=n,a=new Map(r);return a.set(e,t),{itemIds:a}})}getItemId(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{itemIds:n}=this.state,r=n.get(e);return r==null&&t&&(r=$e.generate(),this.setItemId(e,r)),r}handleTabFocus(){var e;(e=this.consoleRef.current)===null||e===void 0||e.focus()}handlePanelMount(e){var t,n,r,{itemIds:a}=this.state,s=e==null||(t=e.props)===null||t===void 0?void 0:t.id,o=e==null||(n=e.props)===null||n===void 0||(r=n.metadata)===null||r===void 0?void 0:r.sourcePanelId;if(s&&o){var d=new Set(a.values());d.has(o)&&this.setItemId(s,s)}}handleFocusCommandHistory(){var{glEventHub:e}=this.props;e.emit(ot.FOCUS_HISTORY)}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions()}handleOpenObject(e){var{sessionWrapper:t}=this.props,{session:n}=t;this.openWidget(e,n)}handleCloseObject(e){var{title:t}=e;if(t!==void 0){var n=this.getItemId(t,!1),{glEventHub:r}=this.props;r.emit(Q.CLOSE,n)}}handleSettingsChange(e){var{glEventHub:t}=this.props;sr.debug("handleSettingsChange",e),this.setState({consoleSettings:e}),t.emit(ot.SETTINGS_CHANGED,e)}openWidget(e,t){var{glEventHub:n}=this.props,{title:r}=e;$(r);var a=this.getItemId(r),s={fetch:()=>t.getObject(e),panelId:a,widget:e};sr.debug("openWidget",s),n.emit(Q.OPEN,s)}addCommand(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;(t=this.consoleRef.current)===null||t===void 0||t.addCommand(e,n,r)}closeDisconnectedPanels(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,{consoleSettings:t,itemIds:n}=this.state,{isClosePanelsOnDisconnectEnabled:r=!0}=t;if(!(!r&&!e)){var a=[...n.values()],{glEventHub:s}=this.props;a.forEach(o=>{s.emit(Q.CLOSE,o)}),this.setState({itemIds:new Map})}}updateDimensions(){var e;(e=this.consoleRef.current)===null||e===void 0||e.updateDimensions()}render(){var{commandHistoryStorage:e,glContainer:t,glEventHub:n,sessionWrapper:r,timeZone:a,unzip:s}=this.props,{consoleSettings:o,error:d,objectMap:h}=this.state,{config:u,session:c,connection:m,details:p={},dh:f}=r,{workerName:g,processInfoId:b}=p,{id:C,type:w}=u;return l.jsx(Kt,{className:"iris-panel-console",componentPanel:this,glContainer:t,glEventHub:n,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleTabFocus,errorMessage:d!=null?"".concat(d):void 0,children:c!=null&&l.jsx(op,{dh:f,ref:this.consoleRef,settings:o,session:c,focusCommandHistory:this.handleFocusCommandHistory,openObject:this.handleOpenObject,closeObject:this.handleCloseObject,commandHistoryStorage:e,onSettingsChange:this.handleSettingsChange,language:w,statusBarChildren:l.jsxs(l.Fragment,{children:[l.jsx("div",{children:" "}),l.jsx("div",{children:Td.LANGUAGE_MAP.get(w)}),g!=null&&l.jsxs(l.Fragment,{children:[l.jsx("div",{children:" • "}),g]}),b!=null&&l.jsxs(l.Fragment,{children:[l.jsx("div",{children:" • "}),b,l.jsx("div",{children:" •"})]}),l.jsx("div",{children:" "}),l.jsx("div",{children:l.jsx(Lp,{connection:m,defaultUpdateInterval:10*1e3,hoverUpdateInterval:3*1e3,monitorDuration:10*60*1e3})}),l.jsx("div",{children:" "})]}),scope:C,timeZone:a,objectMap:h,unzip:s})})}}Bn(Os,"COMPONENT","ConsolePanel");Bn(Os,"TITLE","Console");var Vb=(i,e)=>({commandHistoryStorage:Hd(i),sessionWrapper:Tn(i,e.localDashboardId),timeZone:ki(i)}),Bb=Me(Vb,null,null,{forwardRef:!0})(Os);const wi=Bb;function St(i,e,t){return e=Wb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Wb(i){var e=Gb(i,"string");return typeof e=="symbol"?e:String(e)}function Gb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var or=B.module("DropdownFilter"),Kb=150;class Bt extends v.Component{constructor(e){super(e),St(this,"dropdownRef",void 0),St(this,"getCompatibleColumns",te((a,s)=>a!=null?s.filter(o=>{var{type:d}=o;return d!==void 0&&oe.isCompatibleType(d,a.columnType)}):[])),St(this,"getColumnOptions",te((a,s)=>{var o=-1,d=[];return d.push(l.jsx("option",{value:"-1",children:"Select a column"},"placeholder")),a.forEach((h,u)=>{d.push(l.jsx("option",{value:u,children:this.getItemLabel(a,u)},"".concat(h.name,"/").concat(h.type))),s!==null&&h.name===s.name&&h.type===s.type&&(o=u)}),[d,o]})),St(this,"getSelectedOptionIndex",te((a,s)=>a.indexOf(s))),St(this,"getValueOptions",te(a=>[l.jsx("option",{value:"-1",children:Bt.PLACEHOLDER},"-1"),...a.map((s,o)=>l.jsx("option",{value:o,children:s??"(null)"},"".concat(o,"/").concat(s)))])),St(this,"getItemLabel",wt((a,s)=>{var{name:o,type:d}=a[s];if(s>0&&a[s-1].name===o||s<a.length-1&&a[s+1].name===o){var h=d.substring(d.lastIndexOf(".")+1);return"".concat(o," (").concat(h,")")}return o})),St(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:d}=this.state;a({column:s,isValueShown:d,value:o??void 0})},Kb)),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=J.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,id:$e(),selectedColumn:t,disableCancel:!n,isValueShown:n,value:r}}componentDidUpdate(e,t){var{source:n,values:r,isLoaded:a}=this.props,{column:s,value:o,isValueShown:d}=this.state;a&&(n!==e.source&&this.sourceUpdated(),r!==e.values&&o!==""&&!r.includes(o)&&this.resetValue(),d!==t.isValueShown&&d&&this.focusInput(),(s!==t.column||o!==t.value||d!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{value:t}=e.target;if(or.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:n,source:r}=this.props,a=this.getCompatibleColumns(r,n);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),or.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var{value:t}=e.target,n=parseInt(t,10),r="",{values:a}=this.props;n>=0&&n<a.length?r=a[n]:or.debug2("Selected default item"),or.debug2("handleValueChange",r),this.setState({value:r})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:n,value:r}=e;return{column:n,value:t===n?r:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:n,value:r,isValueShown:a}=e,s=t!=null&&n!=null?{name:t,type:n}:null;this.setState(o=>{var{value:d,isValueShown:h}=o;return{column:s,value:r??d,isValueShown:a??h}})}render(){var e,{columns:t,disableLinking:n,isLinkerActive:r,isLoaded:a,source:s,onColumnSelected:o,onSourceMouseEnter:d,onSourceMouseLeave:h,values:u,settingsError:c}=this.props,{column:m,disableCancel:p,id:f,isValueShown:g,selectedColumn:b,value:C}=this.state,w=s===null,S=this.getCompatibleColumns(s,t),y=s!=null,E=(e=s?.columnName)!==null&&e!==void 0?e:Bt.SOURCE_BUTTON_PLACEHOLDER,M=m!=null?"".concat(m.name," Filter"):null,[O,x]=this.getColumnOptions(S,b),N=this.getValueOptions(u),W=this.getSelectedOptionIndex(u,C),q=!y||b==null,k=g&&!r,A="source-column-btn-".concat(f),U="filter-column-select-".concat(f);return l.jsxs(as,{className:"dropdown-filter fill-parent-absolute",isFlipped:k,children:[l.jsx("div",{className:"dropdown-filter-settings-card",children:l.jsxs("div",{className:"dropdown-filter-card-content",children:[l.jsxs("div",{className:"dropdown-filter-settings-grid",children:[l.jsx("label",{htmlFor:A,children:"Source Column"}),l.jsx(Cd,{id:A,isLinked:y,onClick:o,onMouseEnter:d,onMouseLeave:h,className:Bt.SOURCE_BUTTON_CLASS_NAME,disabled:n,children:E}),l.jsx("div",{className:"text-muted small",children:"Select a source column for the list by linking to a table."}),l.jsx("label",{htmlFor:U,children:"Filter Column"}),l.jsx("select",{id:U,value:x,className:"custom-select",onChange:this.handleColumnChange,disabled:w,children:O}),l.jsx("div",{className:"text-muted small",children:"Dropdown filter control will apply its filter to all columns matching this name in this dashboard."})]}),c&&l.jsx("div",{className:"error-message text-center",children:c}),y&&l.jsxs("div",{className:"dropdown-filter-settings-buttons",children:[l.jsx(F,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:p||g||r,tooltip:r?"Cancel disabled while linker open":void 0,children:"Cancel"}),l.jsx(F,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:q||g||r,tooltip:r?"Save disabled while linker open":void 0,children:"Save"})]})]})}),l.jsx("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background",children:a&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"dropdown-filter-column",children:l.jsx("div",{className:"dropdown-filter-column-title",children:M})}),l.jsxs("div",{className:"dropdown-filter-card-content",children:[l.jsx("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center",children:l.jsx("select",{className:"custom-select",value:W,ref:this.dropdownRef,onChange:this.handleValueChange,onKeyPress:this.handleDropdownKeyPress,title:"Select Value",children:N})}),c&&l.jsx("div",{className:"error-message mt-3 text-center",children:c})]}),l.jsx("div",{className:"dropdown-filter-menu",children:l.jsx(F,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:l.jsx(X,{icon:ji,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})})]})})]})}}St(Bt,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});St(Bt,"PLACEHOLDER","Select a value...");St(Bt,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");St(Bt,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const Qo=Bt;function Ve(i,e,t){return e=zb(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zb(i){var e=qb(i,"string");return typeof e=="symbol"?e:String(e)}function qb(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Se=B.module("DropdownFilterPanel"),Yb=250,Zb=(i,e)=>{var{localDashboardId:t}=e,n=_.getIdFromPanel({props:e}),r=Es(i,t),a=ii(i,t),s=Vr(i),o=Ps(i,t),d=s===Xe.LINKER&&(o===void 0||o===n),h=s===Xe.LINKER&&o!==void 0&&o!==n;return{columns:Vh(i,t),columnSelectionValidator:_s(i,t),dh:Ur(i),isLinkerActive:d,disableLinking:h,settings:Fe(i),panelTableMap:r,dashboardLinks:a}},Xb=Me(Zb,null,null,{forwardRef:!0});class Et extends v.Component{constructor(e){super(e),Ve(this,"dateTimeFormatter",void 0),Ve(this,"dropdownFilterRef",void 0),Ve(this,"panelContainer",void 0),Ve(this,"pending",void 0),Ve(this,"cleanup",void 0),Ve(this,"columnFormats",void 0),Ve(this,"getCachedValues",wt((c,m,p)=>{var{type:f,name:g}=m;return f!==void 0&&oe.isDateType(f)?c.map(b=>this.dateTimeFormatter.format(b)):c.map(b=>b!=null&&f!=null?p.getFormattedString(b,f,g):null)})),Ve(this,"getCachedPanelLinks",wt((c,m)=>{var p=_.getIdFromPanel(m);return Se.debug("getCachedPanelLinks",c,p),c.filter(f=>{var g;return((g=f.end)===null||g===void 0?void 0:g.panelId)===p})})),Ve(this,"getCachedSource",wt(c=>{Se.debug("getCachedSource",c);var m;if(c.length>0){var[p]=c;m=p.start,c.length>1&&Se.error("Filter has more that one link",c)}return m})),Ve(this,"getCachedSourceTable",wt((c,m)=>{var p;if(Se.debug("getCachedSourceTable",c,m),m==null)return null;var{panelId:f}=m;return(p=c.get(f))!==null&&p!==void 0?p:null})),Ve(this,"getCachedSourceColumn",wt((c,m)=>{var p;return Se.debug("getCachedSourceColumn",c,m),c==null||m==null?null:(p=c.columns.find(f=>{var{name:g,type:b}=f;return g===m.columnName&&b===m.columnType}))!==null&&p!==void 0?p:null})),this.handleChange=Je(this.handleChange.bind(this),Yb),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=J.createRef(),this.panelContainer=J.createRef(),this.pending=new dn;var{dh:t,panelState:n,settings:r}=e;this.columnFormats=Js.getColumnFormats(r),this.dateTimeFormatter=new Ge(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:s=!1,name:o,type:d,timestamp:h}=n??{},u=o!=null&&d!=null?{name:o,type:d}:void 0;this.state={column:u,formatter:new _a(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:h,values:[],isValueShown:s,wasFlipped:!1,skipUpdate:!1,panelState:n,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:n,value:r,timestamp:a}=this.state,s=this.getSourceTable(t,e);if(s!==null&&this.startListeningToSource(s),n!=null){var{name:o,type:d}=n;this.sendUpdate(o,d,r,a)}}componentDidUpdate(e,t){var{dashboardLinks:n,panelTableMap:r,settings:a}=this.props,{valuesTable:s}=this.state,o=this.getSource(n),d=this.getSourceTable(r,n),h=this.getSource(e.dashboardLinks),u=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),s!==t.valuesTable&&t.valuesTable!=null&&(Se.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(d!==u||o!==h)&&this.updateValuesTable(),d!==u&&(u!==null&&this.stopListeningToSource(u),d!==null&&this.startListeningToSource(d))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);this.pending.cancel(),r!==null&&this.stopListeningToSource(r),this.cleanup&&this.cleanup(),n?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(Qo.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 r=n.left+n.width/2,a=n.bottom;return[r,a]}getSettingsErrorMessage(){var{sourceSize:e}=this.state;if(e>Et.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(Et.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;Se.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;Se.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,{name:a=void 0,type:s=void 0}=t??{},o=!0,d=Date.now();this.setState(h=>{var u,c,{panelState:m,timestamp:p,wasFlipped:f,skipUpdate:g}=h,b=m!=null&&n!==m.isValueShown&&a===m.name&&s===m.type&&r===m.value;return o=(u=!g&&n&&(!b||!f))!==null&&u!==void 0?u:!1,o||(d=p),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:(c=d)!==null&&c!==void 0?c:void 0},timestamp:d,wasFlipped:b,skipUpdate:!1}},()=>{o&&this.sendUpdate(a??null,s,r,d)})}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(){Se.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(fe.COLUMN_SELECTED,this,Et.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,n,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){Se.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!r}),(t=this.dropdownFilterRef)===null||t===void 0||(n=t.current)===null||n===void 0||n.setFilterState(e)}sendUpdate(e,t,n,r){var a,{dashboardLinks:s,glEventHub:o}=this.props,d=(a=this.getSource(s))===null||a===void 0?void 0:a.panelId,h=d===null?[]:[d];Se.debug("sendUpdate",{name:e,type:t,value:n,timestamp:r,excludePanelIds:h}),o.emit(fe.FILTERS_CHANGED,this,{name:e,type:t,value:n??"=null",timestamp:r,excludePanelIds:h})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,n=this.getSource(e),r=this.getSourceTable(t,e);if(Se.debug("updateValuesTable",n,r),this.setState({values:[],valuesTable:void 0,error:null}),n==null){Se.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),r!=null&&(this.setState({isLoaded:!1,sourceSize:r.size}),this.pending.add(r.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{le.isCanceled(a)||(Se.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(Se.debug("applySourceSorts",r?.sort),n==null||r==null){Se.debug("Table not initialized");return}var a=[...r.sort];n.applySort(a),this.setViewport(n)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:n}=this.state,r=this.getSourceTable(t,e);if(Se.debug("applySourceFilters",r?.filter),n==null||r==null){Se.debug("Table not initialized");return}var a=[...r.filter];n.applyFilter(a),this.setViewport(n)}updateViewportListener(e){var{dh:t}=this.props;if(Se.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){Se.error("values column is null");return}e.setViewport(0,Et.MAX_TABLE_SIZE-1,[n])}updateFormatterSettings(e){var{dh:t}=this.props,n=Js.getColumnFormats(e);Gn(this.columnFormats,n)||(this.columnFormats=n,this.setState({formatter:new _a(t,n)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:n}=t,{dashboardLinks:r}=this.props,{valuesTable:a}=this.state;if(!a){Se.error("valuesTable is null");return}var s=this.getValuesColumn(a,r);if(!s){Se.error("Values column not found");return}var o=n.map(d=>d.get(s));this.setState({values:o,isLoading:!1,isLoaded:!0,valuesColumn:s})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,Et.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:n,glContainer:r,glEventHub:a,isLinkerActive:s}=this.props,{column:o,formatter:d,isDisconnected:h,isValueShown:u,value:c,values:m,valuesColumn:p,isLoading:f,isLoaded:g}=this.state,b=this.getSource(t),C=this.getSettingsErrorMessage(),w=this.getPanelErrorMessage(),S=g&&p!=null?this.getCachedValues(m,p,d):[];return l.jsx(ys,{errorMessage:w,isLoading:f,isLoaded:g,isDisconnected:h,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter",children:l.jsx("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container",children:l.jsx(Qo,{ref:this.dropdownFilterRef,column:o,columns:e,isValueShown:u,isLinkerActive:s,disableLinking:n,isLoaded:g,settingsError:C,source:b,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})})})}}Ve(Et,"displayName","DropdownFilterPanel");Ve(Et,"COMPONENT","DropdownFilterPanel");Ve(Et,"MAX_TABLE_SIZE",256);Ve(Et,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var Jb=Xb(Et);const Pn=Jb;function Tt(i){return i.type==="directory"}var Ht;(function(i){i.GROOVY="text/x-groovy",i.PLAIN_TEXT="text/plain",i.PYTHON="text/x-python",i.PYTHON_COMPILED="application/x-python-code",i.SCALA="text/x-scala",i.UNKNOWN=""})(Ht||(Ht={}));class Cn{static fileExtensionToString(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return e.length===0?"":".".concat(e)}static getDepth(e){var t;if(!Cn.hasPath(e))throw new Error("Invalid path provided: ".concat(e));var n=(t=e.match(/\//g))!==null&&t!==void 0?t:[];return n.length-1}static getExtension(e){var t=this.getBaseName(e).split(".");if(t.length>1){var n;return(n=t.pop())!==null&&n!==void 0?n:""}return""}static getBaseName(e){var t;return(t=e.split("/").pop())!==null&&t!==void 0?t:""}static getCopyFileName(e){var t=e.lastIndexOf("."),n=null,r=null;t<0?r=e:(r=e.substring(0,t),n=e.substring(t+1));var a=r?"".concat(r,"-copy"):"Copy";return n!==null?"".concat(a,".").concat(n):a}static getMimeType(e){var t=this.getExtension(e).toLowerCase();switch(t){case"groovy":return Ht.GROOVY;case"py":return Ht.PYTHON;case"pyc":return Ht.PYTHON_COMPILED;case"scala":return Ht.SCALA;case"txt":return Ht.PLAIN_TEXT;default:return Ht.UNKNOWN}}static getParent(e){if(!Cn.hasPath(e))throw new Error("Invalid name provided: ".concat(e));for(var t=e.split("/");t.pop()==="";);if(t.length===0)throw new Error("No parent for path provided: ".concat(e));return"".concat(t.join("/"),"/")}static getPath(e){if(!Cn.hasPath(e))throw new Error("Invalid filename provided: ".concat(e));var t=e.split("/");return t.pop(),"".concat(t.join("/"),"/")}static hasPath(e){return e.startsWith("/")}static isPath(e){return e.startsWith("/")&&e.endsWith("/")}static makePath(e){return e.endsWith("/")?e:"".concat(e,"/")}static replaceExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=e.lastIndexOf("."),r=n>-1?e.substring(0,n):e,a=Cn.fileExtensionToString(t);return"".concat(r).concat(a)}static validateName(e){var t=[".",".."],n=/[\\/\0]/g,r=new Map([["\0","null"]]);if(!e)throw new Si("Name cannot be empty");if(t.includes(e))throw new Si('"'.concat(e,'" is a reserved name'));if(n.test(e)){var a,s;throw new Si('Invalid characters in name: "'.concat((a=(s=e.match(n))===null||s===void 0?void 0:s.reduce((o,d)=>o.includes(d)?o:[...o,d],[]).map(o=>r.has(o)?r.get(o):o).join('", "'))!==null&&a!==void 0?a:"",'"'))}}static reducePaths(e){var t=e.filter(n=>Cn.isPath(n));return e.filter(n=>!t.some(r=>n!==r&&n.startsWith(r)))}static removeRoot(e,t){if(e.length===0)return t;if(!t.startsWith(e))throw new Error("Filename ".concat(t," does not start with expected root ").concat(e));return t.substring(e.length)}static addRoot(e,t){return"".concat(e).concat(t)}}const G=Cn;var Ds=26;function Ua(i){return Tt(i)?G.makePath(i.filename):G.getPath(i.filename)}function el(i,e){if(i.length===0||e==null)throw new Error("No items to move");var t=Ua(e);if(i.some(n=>{var{filename:r}=n;return G.getPath(r)===t}))throw new Error("File already in the destination folder");if(i.some(n=>Tt(n)&&t.startsWith(G.makePath(n.filename))))throw new Error("Destination folder cannot be a child of a dragged folder");return{files:i,targetPath:t}}function Qb(i){if(Tt(i))return i.isExpanded?Ju:Qu;var e=G.getMimeType(i.basename);switch(e){case Ht.PYTHON:return tc;default:return ec}}function Ha(i){var e,{children:t,draggedItems:n,isDragInProgress:r,isDropTargetValid:a,isSelected:s,item:o,itemIndex:d,dropTargetItem:h,onDragStart:u,onDragOver:c,onDragEnd:m,onDrop:p}=i,f=(e=n?.some(O=>O.id===o.id))!==null&&e!==void 0?e:!1,g=Ua(o),b=r&&h?Ua(h):null,C=r&&a&&Tt(o)&&b===g,w=r&&a&&b===g,S=r&&!a&&b===g,y=Qb(o),E=G.getDepth(o.filename),M=Array(E).fill(null).map((O,x)=>l.jsx("span",{className:"file-list-depth-line"},x));return l.jsxs("div",{className:Z("d-flex w-100 align-items-center","file-list-item",{"is-dragged":f,"is-exact-drop-target":C,"is-in-drop-target":w,"is-invalid-drop-target":S,"is-selected":s}),onDragStart:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>u(d,O)),onDragOver:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>c(d,O)),onDragEnd:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>m(d,O)),onDrop:function(O){function x(N){return O.apply(this,arguments)}return x.toString=function(){return O.toString()},x}(O=>p(d,O)),draggable:!0,role:"presentation","aria-label":o.basename,children:[M," ",l.jsx(X,{icon:y,className:"item-icon",fixedWidth:!0})," ",l.jsx("span",{className:"truncation-wrapper",children:t??l.jsxs(l.Fragment,{children:[o.basename,l.jsx(Mt,{children:o.basename})]})})]})}function tl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function lr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tl(Object(t),!0).forEach(function(n){eC(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):tl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function eC(i,e,t){return e=tC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function tC(i){var e=nC(i,"string");return typeof e=="symbol"?e:String(e)}function nC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ue=B.module("FileList"),iC=500,nl="item-list-scroll-pane";function rC(i){var{isMultiSelect:e=!1,table:t,onFocusChange:n=()=>{},onMove:r,onSelect:a,onSelectionChange:s=()=>{},renderItem:o=Ha,rowHeight:d=Ds,overscanCount:h=Pa.DEFAULT_OVERSCAN}=i,[u,c]=v.useState(()=>({items:[],offset:0,itemCount:0})),[m,p]=v.useState({top:0,bottom:0}),[f,g]=v.useState(),[b,C]=v.useState(),[w,S]=v.useState(),[y,E]=v.useState([]),M=v.useRef(),O=v.useRef(null),x=v.useRef(null),N=v.useCallback(L=>{if(L.length===0||u==null)return[];for(var Y=[],ee=0;ee<L.length;ee+=1)for(var he=L[ee],_e=he[0];_e<=he[1];_e+=1)_e>=u.offset&&_e<u.offset+u.items.length&&Y.push(u.items[_e-u.offset]);return Y},[u]),W=v.useCallback(L=>{var Y=N([[L,L]]);if(Y.length>0)return Y[0]},[N]),q=v.useCallback(()=>{var L=Qs.count(y);if(L===0)return null;if(L===1){var Y=y[0][0],ee=W(Y);if(ee!=null)return ee.filename}return"".concat(L," items")},[W,y]),k=v.useCallback(L=>{if(!(!b||!f)){Ue.debug("dropItems",b,"to",L);try{var{files:Y,targetPath:ee}=el(b,f);if(r?.(Y,ee),L!=null){var he;E([[L,L]]),(he=O.current)===null||he===void 0||he.focusItem(L)}}catch(_e){Ue.error("Unable to complete move",_e)}}},[b,f,r]),A=v.useCallback((L,Y)=>{var ee=u.items[L-u.offset];ee!==void 0&&(Ue.debug("handleItemClick",ee),a(ee,Y),Tt(ee)&&t?.setExpanded(ee.filename,!ee.isExpanded))},[u,a,t]),U=v.useCallback((L,Y)=>{var ee;Ue.debug2("handleItemDragStart",L,y);var he=y;Qs.isSelected(y,L)||(he=[[L,L]],E(he)),C(N(he)),(ee=O.current)===null||ee===void 0||ee.resetMouseState();var _e=document.createElement("div");_e.innerHTML='<div class="dnd-placeholder-content">'.concat(q(),"</div>"),_e.className="file-list-dnd-placeholder",document.body.appendChild(_e),Y.dataTransfer.setDragImage(_e,0,0),Y.dataTransfer.effectAllowed="move",S(_e)},[q,N,y]),j=v.useCallback((L,Y)=>{Y.preventDefault(),Ue.debug2("handleItemDragOver",Y),g(W(L))},[W]),H=v.useCallback((L,Y)=>{Ue.debug("handleItemDragEnd",L),w?.remove(),C(void 0),g(void 0),S(void 0)},[w]),K=v.useCallback((L,Y)=>{k(L)},[k]),de=v.useCallback(()=>{Ue.debug2("handleItemDragExit"),g(void 0)},[]),ge=v.useCallback(L=>{L.target instanceof Element&&L.target.classList.contains(nl)&&(L.preventDefault(),Ue.debug2("handleListDragOver",L),g({type:"directory",filename:"/",basename:"/",id:"/"}))},[]),be=v.useCallback(L=>{L.target instanceof Element&&L.target.classList.contains(nl)&&(Ue.debug("handleListDrop"),k())},[k]),T=v.useCallback(function(L){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Ue.debug2("handleSelectionChange",L),Y===!0||L!==y){E(L);var ee=N(L);s(ee)}},[N,s,y]),P=v.useCallback(L=>{if(Ue.debug2("handleFocusChange",L),L!=null){var[Y]=N([[L,L]]);n(Y)}else n();M.current=L},[N,n]),D=v.useCallback((L,Y)=>{Ue.debug("handleViewportChange",L,Y),(L!==m.top||Y!==m.bottom)&&p({top:L,bottom:Y})},[m]),R=v.useMemo(()=>{if(!b||!f)return!1;try{return el(b,f),Ue.debug("handleValidateDropTarget true"),!0}catch{return Ue.debug("handleValidateDropTarget false"),!1}},[b,f]),{focusedPath:z}=i;v.useEffect(()=>{z!==void 0&&(z==="/"?t.collapseAll():(t.setExpanded(z,!1),t.setExpanded(z,!0)))},[t,z]),v.useEffect(function(){Ue.debug("updating table viewport",m),t?.setViewport({top:Math.max(0,m.top-h),bottom:m.bottom+h})},[h,t,m]),v.useEffect(function(){var Y=t.onUpdate(ee=>{c({items:ee.items.map(he=>lr(lr({},he),{},{itemName:he.basename})),offset:ee.offset,itemCount:t.size})});return()=>{Y()}},[t]),v.useEffect(function(){M.current!=null&&P(M.current),y.length>0&&T(y,!0)},[u,P,T,y]),v.useEffect(function(){if(f!=null&&Tt(f)&&f.filename!=="/"){var Y=setTimeout(()=>{f.isExpanded||t?.setExpanded(f.filename,!0)},iC);return()=>clearTimeout(Y)}},[f,t]);var ve=v.useCallback(L=>o(lr(lr({},L),{},{isDragInProgress:b!=null,dropTargetItem:f,draggedItems:b,isDropTargetValid:R,onDragStart:U,onDragEnd:H,onDragOver:j,onDragExit:de,onDrop:K})),[H,de,j,U,K,b,f,R,o]);return l.jsx("div",{ref:x,className:Z("file-list",{"is-dragging":b!=null}),onDragOver:ge,onDrop:be,children:l.jsx(Pa,{ref:O,items:u.items,itemCount:u.itemCount,offset:u.offset,onFocusChange:P,onSelect:A,onSelectionChange:T,onViewportChange:D,selectedRanges:y,renderItem:ve,rowHeight:d,isMultiSelect:e,isDragSelect:!1,isDeselectOnClick:!1})})}var aC={name:"File Explorer",DELETE:De.createAndAdd({id:"FILE_EXPLORER.DELETE",name:"Delete",shortcut:[ce.DELETE],macShortcut:[pe.CMD,ce.BACKSPACE]}),RENAME:De.createAndAdd({id:"FILE_EXPLORER.RENAME",name:"Rename",shortcut:[ce.ENTER],macShortcut:[ce.ENTER]})};const il={FILE_EXPLORER:aC};var rl=B.module("FileListItemEditor"),sC=()=>Promise.resolve();function oC(i){var{item:e,onCancel:t,onSubmit:n,validate:r=sC}=i,a=v.useRef(null),[s,o]=v.useState(e.basename),[d,h]=v.useState(),[u,c]=v.useState(Promise.resolve()),m=v.useCallback(()=>{var w;(w=a.current)===null||w===void 0||w.focus()},[a]),p=v.useCallback(w=>w.stopPropagation(),[]),f=v.useCallback(()=>{u.then(()=>{n(s)}).catch(w=>rl.info("Unable to validate name",w))},[n,s,u]);v.useEffect(function(){var S=le.makeCancelable(r(s));return S.then(()=>h(void 0)).catch(y=>{le.isCanceled(y)||h(y)}),c(S),()=>S.cancel()},[r,s]),v.useEffect(function(){m()},[m]);var g=v.useCallback(()=>{rl.debug2("handleBlur"),f()},[f]),b=v.useCallback(w=>{var{value:S}=w.target;o(S)},[]),C=v.useCallback(w=>{w.stopPropagation();var{key:S}=w;switch(S){case"Enter":{f();break}case"Escape":{t();break}}},[t,f]);return l.jsxs("div",{className:"file-list-item-editor",children:[l.jsx("input",{type:"text",className:Z("form-control file-list-item-editor-input",{"is-invalid":d}),value:s,ref:a,onBlur:g,onKeyDown:C,onChange:b,onClick:p,onDoubleClick:p,onMouseDown:p}),d&&l.jsx("div",{className:"invalid-feedback",children:"".concat(d)})]})}function al(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function ca(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?al(Object(t),!0).forEach(function(n){lC(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):al(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function lC(i,e,t){return e=dC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function dC(i){var e=hC(i,"string");return typeof e=="symbol"?e:String(e)}function hC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Gh(i){var{isMultiSelect:e=!1,focusedPath:t,showContextMenu:n=!1,onCreateFile:r,onCreateFolder:a,onCopy:s,onDelete:o,onMove:d,onRename:h,onSelect:u,onSelectionChange:c,table:m,rowHeight:p=Ds,validateRename:f=()=>Promise.resolve()}=i,[g,b]=v.useState(),[C,w]=v.useState([]),[S,y]=v.useState(),E=v.useCallback(K=>{w(K),c?.(K)},[c]),M=v.useCallback(K=>{y(K)},[]),O=v.useCallback(()=>{S&&s?.(S)},[S,s]),x=v.useCallback(()=>{C.length>0&&o?.(C)},[o,C]),N=v.useCallback(()=>{r?.()},[r]),W=v.useCallback(()=>{S&&a?.(G.getPath(S.filename))},[S,a]),q=v.useCallback(()=>{S&&b(S)},[S]),k=v.useCallback(()=>{b(void 0)},[]),A=v.useCallback(K=>{g&&(h?.(g,K),b(void 0))},[h,g]),U=v.useMemo(()=>{if(g)return[];var K=[];return r&&K.push({title:"New File",description:"Create new file",action:N,group:ie.groups.medium}),a&&K.push({title:"New Folder",description:"Create new folder",action:W,group:ie.groups.medium}),s&&K.push({title:"Copy File",description:"Copy the selected file",action:O,group:ie.groups.low,disabled:S==null||Tt(S)}),o&&C.length>0&&K.push({title:"Delete",description:"Delete",shortcut:il.FILE_EXPLORER.DELETE,action:x,group:ie.groups.low}),h&&K.push({title:"Rename",description:"Rename",shortcut:il.FILE_EXPLORER.RENAME,action:q,group:ie.groups.low,disabled:S==null}),K},[O,x,N,W,q,S,s,r,a,o,h,C,g]),j=v.useCallback(K=>($(g),f(g,K)),[g,f]),H=v.useCallback(K=>{var{item:de}=K;return g&&g.filename===de.filename?l.jsx(Ha,ca(ca({},K),{},{children:l.jsx(oC,{item:de,validate:j,onSubmit:A,onCancel:k})})):l.jsx(Ha,ca({},K))},[k,A,g,j]);return l.jsxs("div",{className:"file-list-container",children:[m!=null&&l.jsx(rC,{onMove:d,onSelect:u,onSelectionChange:E,onFocusChange:M,renderItem:H,rowHeight:p,table:m,isMultiSelect:e,focusedPath:t}),n&&l.jsx(ie,{actions:U})]})}Gh.displayName="FileListContainer";function sl(i,e,t){return e=uC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function uC(i){var e=cC(i,"string");return typeof e=="symbol"?e:String(e)}function cC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class mC extends Si{constructor(e){super("Name already exists"),sl(this,"isExistingFile",!0),sl(this,"info",void 0),this.info=e}}const Cr=mC;function pC(i,e,t){return e=vC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vC(i){var e=fC(i,"string");return typeof e=="symbol"?e:String(e)}function fC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class gC extends Error{constructor(){super("No file exists at the path specified"),pC(this,"isFileNotFound",!0)}}const Is=gC;function ol(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function ll(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){ol(a,n,r,s,o,"next",d)}function o(d){ol(a,n,r,s,o,"throw",d)}s(void 0)})}}var Dt=B.module("FileExplorer");function xs(i){var{storage:e,isMultiSelect:t=!1,focusedPath:n,onCopy:r=()=>{},onDelete:a=()=>{},onRename:s=()=>{},onCreateFile:o=()=>{},onCreateFolder:d=()=>{},onSelect:h,onSelectionChange:u,rowHeight:c=Ds}=i,[m,p]=v.useState([]),[f,g]=v.useState();v.useEffect(function(){var A;function U(){return j.apply(this,arguments)}function j(){return j=ll(function*(){Dt.debug("initTable"),A=le.makeCancelable(e.getTable(),H=>H.close());try{g(yield A)}catch(H){le.isCanceled(H)||Dt.error("Unable to initialize table",H)}}),j.apply(this,arguments)}return U(),()=>{A.cancel()}},[e]);var b=v.useCallback(k=>{le.isCanceled(k)||Dt.error(k)},[]),C=v.useCallback(()=>{Dt.debug("handleCreateFile"),o()},[o]),w=v.useCallback(()=>{Dt.debug("handleCreateFolder"),d()},[d]),S=v.useCallback(k=>{Dt.debug("handleCopyFile",k.filename),r(k)},[r]),y=v.useCallback(k=>{Dt.debug("handleDelete, pending confirmation",k),p(k)},[]),E=v.useCallback(()=>{Dt.debug("handleDeleteConfirm",m),m.forEach(k=>e.deleteFile(Tt(k)?G.makePath(k.filename):k.filename)),a(m),p([])},[m,a,e]),M=v.useCallback(()=>{Dt.debug("handleDeleteCancel"),p([])},[]),O=v.useCallback((k,A)=>{var U=G.reducePaths(k.map(j=>Tt(j)?G.makePath(j.filename):j.filename));U.forEach(j=>{var H=G.isPath(j)?"".concat(A).concat(G.getBaseName(j.substring(0,j.length-1)),"/"):"".concat(A).concat(G.getBaseName(j));e.moveFile(j,H).then(()=>{s(j,H)}).catch(b)})},[b,s,e]),x=v.useCallback((k,A)=>{var U=k.filename,j=Tt(k);j&&!U.endsWith("/")&&(U="".concat(U,"/"));var H="".concat(G.getParent(U)).concat(A);j&&!H.endsWith("/")&&(H="".concat(H,"/")),Dt.debug2("handleRename",U,H),e.moveFile(U,H).catch(b),s(U,H)},[b,s,e]),N=v.useCallback(function(){var k=ll(function*(A,U){if(U!==A.basename){G.validateName(U);var j="".concat(G.getPath(A.filename)).concat(U);try{var H=yield e.info(j);throw new Cr(H)}catch(K){if(!(K instanceof Is))throw K}}});return function(A,U){return k.apply(this,arguments)}}(),[e]),W=m.length>0,q=v.useMemo(()=>m.length===1?'Are you sure you want to delete "'.concat(m[0].filename,'"?'):"Are you sure you want to delete the selected files?",[m]);return l.jsxs("div",{className:"file-explorer",children:[f&&l.jsx(Gh,{isMultiSelect:t,focusedPath:n,showContextMenu:!0,onCopy:S,onCreateFolder:w,onCreateFile:C,onMove:O,onDelete:y,onRename:x,onSelect:h,onSelectionChange:u,rowHeight:c,table:f,validateRename:N}),l.jsx(Di,{isOpen:W,headerText:q,bodyText:"You cannot undo this action.",onCancel:M,onConfirm:E,confirmButtonText:"Delete"})]})}xs.displayName="FileExplorer";function dl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function bC(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){dl(a,n,r,s,o,"next",d)}function o(d){dl(a,n,r,s,o,"throw",d)}s(void 0)})}}function tn(i,e,t){return e=CC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function CC(i){var e=SC(i,"string");return typeof e=="symbol"?e:String(e)}function SC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var pn=B.module("NewItemModal");class _n extends v.PureComponent{static getValidationMessage(e){return e instanceof Cr&&e.info.type==="directory"?"Error: Cannot overwrite existing directory":"".concat(e)}static handleError(e){le.isCanceled(e)||pn.error(e)}constructor(e){super(e),tn(this,"inputRef",J.createRef()),tn(this,"cancelableValidatePromise",void 0),tn(this,"cancelableExistingItemPromise",void 0),tn(this,"pending",new dn),tn(this,"pathMap",new Map),tn(this,"isInitialLoad",!0),this.handleModalSubmit=this.handleModalSubmit.bind(this),this.handleModalOpened=this.handleModalOpened.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleChange=this.handleChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleValidationError=this.handleValidationError.bind(this),this.handleOverwriteCancel=this.handleOverwriteCancel.bind(this),this.handleOverwriteConfirm=this.handleOverwriteConfirm.bind(this),this.handleExtensionChangeCancel=this.handleExtensionChangeCancel.bind(this),this.handleExtensionChangeConfirm=this.handleExtensionChangeConfirm.bind(this),this.handleBreadcrumbSelect=this.handleBreadcrumbSelect.bind(this);var{defaultValue:t}=e,n=G.hasPath(t)?G.getPath(t):"/";this.state={isSubmitting:!1,path:n,prevExtension:G.getExtension(t),showExtensionChangeModal:!1,showOverwriteModal:!1,value:G.getBaseName(t)}}componentDidUpdate(e,t){var{isOpen:n}=this.props,{isOpen:r}=e,{value:a,path:s}=this.state;!r&&n&&(this.resetValue(),this.isInitialLoad=!0),r&&n&&(!this.isInitialLoad&&(s!==t.path||a!==t.value)&&this.updateValidationStatus(s,a),this.isInitialLoad=!1)}componentWillUnmount(){this.pending.cancel(),this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableExistingItemPromise&&this.cancelableExistingItemPromise.cancel()}resetValue(){var{defaultValue:e}=this.props,t=G.hasPath(e)?G.getPath(e):"/";this.setState({path:t,value:G.getBaseName(e),validationError:void 0,prevExtension:G.getExtension(e),isSubmitting:!1})}getValidationPromise(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableValidatePromise=le.makeCancelable(this.validateName(e,t,n)),this.cancelableValidatePromise}validateName(e,t,n){var r=this;return bC(function*(){G.validateName(t);var{defaultValue:a,storage:s}=r.props;if(n){var o="".concat(e).concat(t);if(o!==a)try{var d=yield s.info(o);throw new Cr(d)}catch(h){if(!(h instanceof Is))throw h}}return t})()}updateValidationStatus(e,t){this.getValidationPromise(e,t).then(()=>{this.setState({validationError:void 0})}).catch(this.handleValidationError).catch(_n.handleError)}handleModalOpened(){this.focusRenameInput()}handleModalSubmit(){this.submitModal()}handleChange(e){var{value:t}=e.target;this.setState({value:t})}handleSelect(e){if(pn.debug("handleSelect",e),e.type==="directory")this.setState({path:G.makePath(e.filename)});else{var t=e.basename,n=G.getPath(e.filename);this.setState({value:t,path:n},()=>{this.focusRenameInput()})}}handleKeyDown(e){var{key:t}=e;switch(e.stopPropagation(),t){case"Enter":{e.preventDefault(),this.submitModal();break}case"Escape":{e.preventDefault();var{onCancel:n}=this.props;n();break}}}handleValidationError(e){if(!(e instanceof Si))throw e;pn.debug("Validation error",e),this.setState({validationError:e})}handleOverwriteCancel(){this.setState({showOverwriteModal:!1,isSubmitting:!1})}handleOverwriteConfirm(){this.setState({showOverwriteModal:!1});var{onSubmit:e}=this.props,{path:t,value:n}=this.state;pn.debug("handleOverwriteConfirm",t,n),e("".concat(t).concat(n),!0)}handleExtensionChangeCancel(){pn.debug("handleExtensionChangeCancel"),this.setState(e=>{var{value:t,prevExtension:n}=e,r=G.replaceExtension(t,n);return{showExtensionChangeModal:!1,value:r}}),this.submitModal(!0)}handleExtensionChangeConfirm(){pn.debug("handleExtensionChangeConfirm"),this.setState({showExtensionChangeModal:!1}),this.submitModal(!0)}focusRenameInput(){var e=this.inputRef.current;if(e){var{type:t}=this.props,{value:n}=e,r=t==="directory"?n.length:n.lastIndexOf(".");e.focus(),e.setSelectionRange(0,r>0?r:n.length)}}submitModal(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.setState(t=>{var{prevExtension:n,value:r,path:a}=t,{notifyOnExtensionChange:s,type:o}=this.props;pn.debug("submitModal",n,r);var d=G.getExtension(r);return s&&!e&&n!==null&&n!==d?{isSubmitting:!1,showExtensionChangeModal:!0,newExtension:d}:(this.getValidationPromise(a,r,!0).then(h=>{var{onSubmit:u}=this.props;u("".concat(a).concat(r))}).catch(h=>{if(h instanceof Cr&&o!=="directory"&&h.info.type!=="directory"){this.setState({showOverwriteModal:!0});return}throw h}).catch(h=>{throw le.isCanceled(h)&&this.setState({isSubmitting:!1}),h}).catch(this.handleValidationError).catch(_n.handleError),{isSubmitting:!0,showExtensionChangeModal:!1,newExtension:void 0})})}handleBreadcrumbSelect(e){this.setState({path:e})}renderPathButtons(e){var t=e.split("/");return t.pop(),t.map((n,r)=>{for(var a="",s=0;s<r;s+=1)a+="".concat(t[s],"/");return a+="".concat(n,"/"),l.jsxs(J.Fragment,{children:[l.jsx(F,{kind:"ghost",className:"directory-breadcrumbs",onClick:()=>this.handleBreadcrumbSelect(a),"aria-label":r===0?"Home":void 0,icon:r===0?l.jsx(X,{icon:nc,transform:"right-1.6"}):void 0,tooltip:r===0?"Home":void 0,children:n}),"/"]},a)})}render(){var{storage:e,isOpen:t,onCancel:n,placeholder:r,title:a,type:s}=this.props,{isSubmitting:o,path:d,showExtensionChangeModal:h,showOverwriteModal:u,validationError:c,value:m,prevExtension:p,newExtension:f}=this.state,g=s==="directory",b=G.fileExtensionToString(p),C=G.fileExtensionToString(f),w=g?"Create":"Save",S=g?"New folder name":"Save file as";return l.jsxs(l.Fragment,{children:[l.jsxs(Qa,{isOpen:t,toggle:n,onOpened:this.handleModalOpened,className:"modal-dialog-centered new-file-modal theme-bg-dark",children:[l.jsx(es,{toggle:n,children:a}),l.jsx(ts,{children:l.jsx("form",{children:l.jsxs("div",{className:"d-flex flex-column new-file-modal-content",children:[l.jsxs("div",{className:"flex-grow-0 mb-4",children:[l.jsx("label",{htmlFor:"file-name-input",children:S}),l.jsx("input",{id:"file-name-input",type:"text",autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:"false",className:Z("form-control",{"is-invalid":c}),value:m,placeholder:r,ref:this.inputRef,onKeyDown:this.handleKeyDown,onChange:this.handleChange}),c&&l.jsx("div",{className:"invalid-feedback",children:_n.getValidationMessage(c)})]}),l.jsxs("div",{className:"flex-grow-0",children:[l.jsx("label",{children:"Directory: /"}),this.renderPathButtons(d)]}),l.jsx("div",{className:"flex-grow-1 file-explorer-container",children:l.jsx(xs,{onSelect:this.handleSelect,storage:e,focusedPath:d})})]})})}),l.jsxs(yd,{children:[l.jsx(F,{kind:"secondary",onClick:n,children:"Cancel"}),l.jsx(F,{kind:"primary",disabled:o,onClick:this.handleModalSubmit,children:w})]})]}),l.jsx(Di,{isOpen:u,headerText:"Confirm overwrite",bodyText:"File with this name already exists, are you sure you want to overwrite it?",onCancel:this.handleOverwriteCancel,onConfirm:this.handleOverwriteConfirm,cancelButtonText:"Cancel",confirmButtonText:"Overwrite"}),l.jsx(Di,{isOpen:h,headerText:"Confirm extension change",bodyText:'Are you sure you want to change extension from "'.concat(b,'" to "').concat(C,'"?'),onCancel:this.handleExtensionChangeCancel,onConfirm:this.handleExtensionChangeConfirm,cancelButtonText:'Keep "'.concat(b,'"'),confirmButtonText:'Use "'.concat(C,'"')})]})}}tn(_n,"propTypes",{isOpen:I.bool,title:I.string.isRequired,defaultValue:I.string,type:I.oneOf(["file","directory"]).isRequired,onSubmit:I.func,onCancel:I.func,placeholder:I.string,storage:I.shape({}).isRequired,notifyOnExtensionChange:I.bool});tn(_n,"defaultProps",{isOpen:!1,defaultValue:"/",notifyOnExtensionChange:!1,placeholder:"",onSubmit:(i,e)=>{},onCancel:()=>{}});const Kh=_n;function yC(i){var{createFile:e,createFolder:t,onSearchChange:n,defaultSearchText:r=""}=i;return l.jsxs("div",{className:"file-explorer-toolbar",children:[l.jsxs("div",{className:"file-explorer-toolbar-buttons",children:[l.jsx(F,{kind:"ghost",icon:dd,tooltip:"New notebook",onClick:e,"aria-label":"New notebook"}),l.jsx(F,{kind:"ghost",icon:ic,tooltip:"New folder",onClick:t,"aria-label":"New folder"})]}),n&&l.jsx("div",{className:"file-explorer-toolbar-search",children:l.jsx(Nc,{value:r,onChange:n,placeholder:"Search by name"})})]})}function hl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function ul(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){hl(a,n,r,s,o,"next",d)}function o(d){hl(a,n,r,s,o,"throw",d)}s(void 0)})}}function zh(i,e,t){return e=wC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function wC(i){var e=EC(i,"string");return typeof e=="symbol"?e:String(e)}function EC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var vn=B.module("FileExplorerPanel"),PC=(i,e)=>{var t=Vd(i),n=Tn(i,e.localDashboardId),{session:r,config:a}=n??{},s=a?.type;return{fileStorage:t,language:s,session:r}},_C=Me(PC,null,null,{forwardRef:!0});function TC(i){var e=i;return e!=null&&typeof e.button=="number"}class qn extends J.Component{static handleError(e){vn.error(e)}static isFocusEvent(e){return TC(e)?e.detail>=2:!0}constructor(e){super(e),this.handleFileSelect=this.handleFileSelect.bind(this),this.handleCopyFile=this.handleCopyFile.bind(this),this.handleCreateFile=this.handleCreateFile.bind(this),this.handleCreateDirectory=this.handleCreateDirectory.bind(this),this.handleCreateDirectoryCancel=this.handleCreateDirectoryCancel.bind(this),this.handleCreateDirectorySubmit=this.handleCreateDirectorySubmit.bind(this),this.handleDelete=this.handleDelete.bind(this),this.handleRename=this.handleRename.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSelectionChange=this.handleSelectionChange.bind(this);var{session:t,language:n}=e;this.state={isShown:!1,language:n,session:t,showCreateFolder:!1,focusedFilePath:"/"}}componentDidMount(){this.isHidden()||this.setState({isShown:!0})}handleCreateFile(){var{glEventHub:e}=this.props,{session:t,language:n}=this.state,r={language:n,value:""};vn.debug("handleCreateFile",t,n,r),e.emit(ue.CREATE_NOTEBOOK,t,n,r)}handleCreateDirectory(){this.setState({showCreateFolder:!0})}handleCreateDirectoryCancel(){vn.debug("handleCreateDirectoryCancel"),this.setState({showCreateFolder:!1})}handleCreateDirectorySubmit(e){vn.debug("handleCreateDirectorySubmit",e),this.setState({showCreateFolder:!1});var{fileStorage:t}=this.props;t.createDirectory(e).catch(qn.handleError)}handleCopyFile(e){var t=this;return ul(function*(){var{fileStorage:n}=t.props;if(Tt(e)){vn.error("Invalid item in handleCopyItem",e);return}for(var r=G.getCopyFileName(e.filename),a=function(){var s=ul(function*(){try{return yield n.info(r),!0}catch{return!1}});return function(){return s.apply(this,arguments)}}();yield a();)r=G.getCopyFileName(r);yield n.copyFile(e.filename,r)})()}handleDelete(e){var{glEventHub:t}=this.props;e.forEach(n=>{t.emit(ue.CLOSE_FILE,{id:n.filename,itemName:n.filename})})}handleSelectionChange(e){var t="/";e.length===1&&(e[0].type==="directory"?t=G.makePath(e[0].filename):t=G.getPath(e[0].filename)),this.setState({focusedFilePath:t})}handleFileSelect(e,t){if(vn.debug("fileSelect",e),e.type!=="directory"){var n=qn.isFocusEvent(t),r={id:e.filename,itemName:e.filename},{glEventHub:a}=this.props,{session:s,language:o}=this.state,d={value:null,language:o};a.emit(ue.SELECT_NOTEBOOK,s,o,d,r,n)}}handleRename(e,t){var{glEventHub:n}=this.props;vn.debug("handleRename",e,t),n.emit(ue.RENAME_FILE,e,t)}handleSessionOpened(e,t){var{language:n}=t;this.setState({session:e,language:n})}handleSessionClosed(){this.setState({session:void 0,language:void 0})}handleShow(){this.setState({isShown:!0})}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}render(){var{fileStorage:e,glContainer:t,glEventHub:n}=this.props,{isShown:r,showCreateFolder:a,focusedFilePath:s}=this.state;return l.jsxs(Kt,{className:"file-explorer-panel",componentPanel:this,glContainer:t,glEventHub:n,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow,children:[l.jsx(yC,{createFile:this.handleCreateFile,createFolder:this.handleCreateDirectory}),r&&l.jsx(xs,{isMultiSelect:!0,storage:e,onCopy:this.handleCopyFile,onCreateFile:this.handleCreateFile,onCreateFolder:this.handleCreateDirectory,onDelete:this.handleDelete,onRename:this.handleRename,onSelect:this.handleFileSelect,onSelectionChange:this.handleSelectionChange}),l.jsx(Kh,{isOpen:a,type:"directory",title:"Create New Folder",storage:e,onSubmit:this.handleCreateDirectorySubmit,onCancel:this.handleCreateDirectoryCancel,defaultValue:s})]})}}zh(qn,"COMPONENT","FileExplorerPanel");zh(qn,"TITLE","File Explorer");var OC=_C(qn);const Va=OC;function cl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function dr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cl(Object(t),!0).forEach(function(n){gi(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):cl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function gi(i,e,t){return e=DC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function DC(i){var e=IC(i,"string");return typeof e=="symbol"?e:String(e)}function IC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ye=B.module("FilterSetManager"),xC="Enter name...",ml="No Available Filter Sets";class Lr extends v.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),gi(this,"renameInputRef",J.createRef()),gi(this,"dropdownRef",J.createRef()),gi(this,"editDropdownRef",J.createRef()),gi(this,"isRenamingExistingSet",te((t,n)=>n!==void 0&&t.some(r=>{var{id:a}=r;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:r}=this.props,{modifiedFilterSets:a}=this.state;if(e.isValueShown&&!n&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),r!==e.filterSets)if(!n&&r.length>0&&e.filterSets.length===0&&a.length===0){var{onChange:s}=this.props;s({isValueShown:!0,selectedId:r[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;ye.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:n,onChange:r}=this.props;if(ye.debug("updateSelectedId",t,n),!!e&&!t.some(s=>{var{id:o}=s;return o===n})){var a=t.length===0;r({isValueShown:!a,selectedId:a?void 0:t[0].id})}}handleEditDropdownChange(e){var{value:t}=e.target;this.setState({editId:t})}handleFilterChange(e){var{value:t}=e.target,{isValueShown:n,onChange:r}=this.props;this.applyFilterSet(t),r({isValueShown:n,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:n}=this.props;this.setState({modifiedFilterSets:[]}),n.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:n,editId:r}=this.state;this.setState({modifiedFilterSets:[]}),ye.debug("Update sets",n,r),t(n),n.length>0&&e({isValueShown:!0,selectedId:r})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Lr.animateScreenFlash();var t=$e(),n=e(),r={id:t,title:"",panels:n};ye.debug("handleSetCreate",r),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:r})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:n,modifiedFilterSets:r}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return ye.debug("Name cannot be empty",a),"Name cannot be empty";if(n!==void 0&&r.some(s=>{var{title:o,id:d}=s;return o===a&&d!==n.id}))return ye.debug("Set with this name already exists",a),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:n,modifiedFilterSets:r,restoreFullState:a}=this.state;if(n===void 0){ye.error("Renamed set undefined.");return}var s=this.getNameError(t);if(ye.debug("handleRenameConfirm",t,s),s!==void 0){this.setState({nameInputError:s});return}var o=(e=t?.trim())!==null&&e!==void 0?e:"",d=dr(dr({},n),{},{title:o,restoreFullState:a}),h=r.findIndex(c=>{var{id:m}=c;return m===n.id}),u=[...r];h>=0?(u[h]=d,ye.debug("Renamed existing set",u)):(u.push(d),ye.debug("Added new set to modified sets",u)),this.setState({editId:d.id,modifiedFilterSets:u,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.findIndex(d=>{var{id:h}=d;return h===t});if(r<0)return ye.error("Unable to find selected filterSet index",n,t),null;var a=n.filter(d=>{var{id:h}=d;return h!==t}),s=Math.max(0,Math.min(a.length-1,r-1)),o=a.length>0?a[s].id:void 0;return ye.debug("Deleted selected set",t,n,a),ye.debug("New selection",s,o),{modifiedFilterSets:a,editId:o}})}handleSetUpdate(){var{getFilterState:e}=this.props;Lr.animateScreenFlash();var t=e();this.setState(n=>{var{modifiedFilterSets:r,editId:a}=n;if(a===void 0)return ye.error("Filter for update not selected."),null;var s=[...r],o=s.findIndex(d=>{var{id:h}=d;return h===a});return o<0?(ye.error("Selected set for update not found."),null):(s[o]=dr(dr({},s[o]),{},{panels:t}),ye.debug("Update set",s,t),{modifiedFilterSets:s})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:n}=e,r=n.find(o=>{var{id:d}=o;return d===t});if(r===void 0)return ye.error("Could not find selected set",t,n),null;var{title:a,restoreFullState:s=!1}=r;return{nameInputValue:a,nameInputError:void 0,renameSet:r,restoreFullState:s}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:n}=this.props;t({isValueShown:!1,selectedId:n})}handleBackgroundClick(e){ye.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){ye.debug("No filter selected");return}var r=n.find(a=>{var{id:s}=a;return s===e});if(r===void 0){ye.debug("Selected id not found in filterSets",e,n);return}ye.debug("Apply filterSet",r),t(r)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:n,renameSet:r,modifiedFilterSets:a,restoreFullState:s}=this.state,{isValueShown:o,filterSets:d,selectedId:h}=this.props,u=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,r),m=a.length===0,p=!u&&m&&d.length===0,f=!u&&!p,g=l.jsxs("div",{className:"fa-layers mr-3",children:[l.jsx(X,{icon:ya,mask:wa,transform:"shrink-1 down-5 right-7"}),l.jsx(X,{icon:md,className:"text-primary",transform:"shrink-6 down-5 right-7"})]}),b=l.jsxs("div",{className:"fa-layers",children:[l.jsx(X,{icon:ya,mask:wa,transform:"shrink-1 down-5 right-7"}),l.jsx(X,{icon:Ea,transform:"shrink-1 down-5 right-7"})]});return l.jsx("div",{className:"filter-set-manager fill-parent-absolute",children:l.jsxs(as,{className:"w-100 h-100",isFlipped:o,children:[l.jsx("div",{className:"filter-set-manager-settings-card fill-parent-absolute",children:l.jsxs("div",{className:"filter-set-manager-card-content",children:[p&&l.jsxs("div",{children:[l.jsx(F,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,children:"Capture filter set"}),l.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."})]}),u&&l.jsxs("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container",children:[l.jsxs("div",{className:"form-group",children:[l.jsx("label",{children:c?"Edit set":"Name captured set"}),l.jsxs("div",{className:"name-input-container",children:[l.jsx("input",{type:"text",className:"input-set-name form-control",placeholder:xC,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),l.jsx(F,{"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:hd}),l.jsx(F,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:rc})]}),t!==void 0&&l.jsx("div",{className:"error-message",children:t})]}),l.jsx("div",{className:"form-group",children:l.jsxs(Lc,{onChange:this.handleRestoreFullStateChange,value:"".concat(s),children:[l.jsx(eo,{value:"false",children:"Restore only filters"}),l.jsx(eo,{value:"true",children:"Restore full table state"})]})})]}),f&&l.jsxs("div",{className:"filter-set-manager-settings-grid-1",children:[l.jsxs("div",{className:"form-group",children:[l.jsx("label",{children:"Edit filter sets"}),l.jsxs("div",{className:"filter-select-container",children:[l.jsxs("select",{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:n??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:m,children:[m&&l.jsx("option",{value:"-1",disabled:!0,children:ml}),a.map(C=>{var{id:w,title:S}=C;return l.jsx("option",{value:w,children:S},w)})]}),l.jsx(F,{kind:"ghost",onClick:this.handleSetUpdate,disabled:m,icon:b,tooltip:"Update"}),l.jsx(F,{kind:"ghost",onClick:this.handleSetEdit,disabled:m,icon:ud,tooltip:"Edit"}),l.jsx(F,{kind:"ghost",onClick:this.handleSetDelete,disabled:m,icon:Ri,tooltip:"Delete"})]})]}),l.jsx("div",{children:l.jsx(F,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:g,children:"Capture new filter set"})}),l.jsxs("div",{className:"py-3 text-right",children:[l.jsx(F,{kind:"secondary",onClick:this.handleSettingsCancel,children:"Cancel"})," ",l.jsx(F,{kind:"primary",onClick:this.handleSettingsSave,children:"Save"})]})]})]})},"front"),l.jsxs("div",{className:"filter-set-manager-value-card fill-parent-absolute",onClick:this.handleBackgroundClick,children:[l.jsx("div",{className:"filter-set-manager-column",children:l.jsx("div",{className:"filter-set-manager-column-title",children:"Filter sets"})}),l.jsx("div",{className:"filter-set-manager-card-content",children:l.jsx("div",{className:"filter-set-manager-value-input",children:l.jsxs("div",{className:"filter-select-container",children:[l.jsxs("select",{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:h,className:"custom-select filter-value-select",onChange:this.handleFilterChange,children:[d.length===0&&l.jsx("option",{value:"-1",disabled:!0,children:ml}),d.map(C=>{var{id:w,title:S}=C;return l.jsx("option",{value:w,children:S},w)})]}),l.jsx(F,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:cd,tooltip:"Apply Filter Set"})]})})}),l.jsx("div",{className:"filter-set-manager-menu",children:l.jsx(F,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:l.jsx(X,{icon:ji,transform:"grow-4"})})})]},"back")]})})}}const NC=Lr;function Ns(i){var e,t,n,r,a,{model:s,widgetName:o,glContainer:d,description:h}=i,u=((e=s?.rowCount)!==null&&e!==void 0?e:0)-((t=s?.pendingRowCount)!==null&&t!==void 0?t:0)-((n=s?.floatingBottomRowCount)!==null&&n!==void 0?n:0)-((r=s?.floatingTopRowCount)!==null&&r!==void 0?r:0),c=s?.displayString(u,"long"),m=(a=s?.columnCount)!==null&&a!==void 0?a:0,p=s?.displayString(m,"long");return l.jsxs(Kr,{widgetType:"Table",widgetName:o,glContainer:d,description:h,children:[l.jsx("hr",{className:"tab-tooltip-divider"}),l.jsx("span",{children:"Number of Columns"}),l.jsx("span",{className:"tab-tooltip-statistic-value",children:p}),l.jsx("span",{children:"Number of Rows"}),l.jsx("span",{className:"tab-tooltip-statistic-value",children:c})]})}Ns.propTypes={glContainer:bs.Container.isRequired,widgetName:I.string.isRequired,description:I.string};Ns.defaultProps={description:null};function qh(i){if(i==null)return!1;var e=i;return typeof e.table=="string"}function Yh(i){if(i==null)return!1;var e=i;return typeof e.name=="string"}function pl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Xt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pl(Object(t),!0).forEach(function(n){Te(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):pl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Te(i,e,t){return e=LC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function LC(i){var e=MC(i,"string");return typeof e=="symbol"?e:String(e)}function MC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var It=B.module("IrisGridPanel"),FC=500,RC={IrisGrid:wd,IrisGridTableModel:Fc,ContextMenuRoot:Ed};function vl(i){if(i==null)throw new Error("No metadata provided");if(Yh(i))return i.name;if(qh(i))return i.table;throw new Error("Unable to determine table name from metadata: ".concat(i))}class Yn extends v.PureComponent{constructor(e){super(e),Te(this,"irisGrid",void 0),Te(this,"pluginRef",void 0),Te(this,"modelPromise",void 0),Te(this,"irisGridState",void 0),Te(this,"gridState",void 0),Te(this,"pluginState",void 0),Te(this,"irisGridUtils",void 0),Te(this,"getGridInputFilters",te((n,r)=>Ye.getInputFiltersForColumns(n,r.filter(a=>{var{value:s,excludePanelIds:o}=a,d=_.getIdFromPanel(this);return s!=null&&(o==null||d!=null&&!o.includes(d))})))),Te(this,"getAlwaysFetchColumns",te((n,r)=>{for(var a=_.getIdFromPanel(this),s=new Set(r),o=0;o<n.length;o+=1){var{start:d}=n[o];d!=null&&d.panelId===a&&s.add(d.columnName)}return[...s]})),Te(this,"getPluginContent",te((n,r,a,s,o)=>{if(!r||!ta(r)||n==null||r.table==null)return null;var d={panel:this,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:s,components:RC};return l.jsx("div",{className:"iris-grid-plugin",children:l.jsx(n,Xt({ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:r,table:r.table,onStateChange:this.handlePluginStateChange,pluginState:o},d))})})),Te(this,"getDehydratedIrisGridPanelState",te((n,r,a,s,o)=>Ye.dehydrateIrisGridPanelState(n,{isSelectingPartition:r,partition:a,partitionColumn:s,advancedSettings:o}))),Te(this,"getDehydratedIrisGridState",te((n,r,a,s,o,d,h,u,c,m,p,f,g,b,C,w,S,y,E,M,O)=>($(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(n,{advancedFilters:a,aggregationSettings:S,customColumnFormatMap:s,isFilterBarShown:o,metrics:{userColumnWidths:C,userRowHeights:w},quickFilters:d,customColumns:h,reverseType:u,rollupConfig:c,showSearchBar:m,searchValue:p,selectDistinctColumns:f,selectedSearchColumns:g,sorts:r,invertSearchColumns:b,pendingDataMap:y,frozenColumns:E,conditionalFormats:M,columnHeaderGroups:O})))),Te(this,"getDehydratedGridState",te((n,r,a,s,o)=>Ye.dehydrateGridState(n,{isStuckToBottom:s,isStuckToRight:o,movedColumns:r,movedRows:a}))),Te(this,"getCachedPanelState",te((n,r,a,s)=>({irisGridPanelState:n,irisGridState:r,gridState:a,pluginState:s}))),Te(this,"savePanelState",Je(()=>{var{irisGridState:n,gridState:r,pluginState:a}=this;$(n);var{onPanelStateUpdate:s}=this.props,{model:o,panelState:d,isSelectingPartition:h,partition:u,partitionColumn:c,advancedSettings:m}=this.state,{advancedFilters:p,aggregationSettings:f,customColumnFormatMap:g,isFilterBarShown:b,quickFilters:C,customColumns:w,reverseType:S,rollupConfig:y,showSearchBar:E,searchValue:M,selectDistinctColumns:O,selectedSearchColumns:x,sorts:N,invertSearchColumns:W,metrics:q,pendingDataMap:k,frozenColumns:A,conditionalFormats:U,columnHeaderGroups:j}=n;$(o),$(q);var{userColumnWidths:H,userRowHeights:K}=q;$(r);var{isStuckToBottom:de,isStuckToRight:ge,movedColumns:be,movedRows:T}=r,P=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(o,h,u,c,m),this.getDehydratedIrisGridState(o,N,p,g,b,C,w,S,y,E,M,O,x,W,H,K,f,k,A,U,j),this.getDehydratedGridState(o,be,T,de,ge),a);P!==d&&(It.debug("Saving panel state",this,P),this.setState({panelState:P}),s?.(P))},FC)),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.handlePartitionAppend=this.handlePartitionAppend.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleResize=this.handleResize.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=J.createRef(),this.pluginRef=J.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(Mc.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:oe.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partition:null,partitionColumn:null,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;n!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),n!=null&&this.startModelListening(n))}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 vl(e)}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=le.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:n,irisGridStateOverrides:r}=this.state,a=[];if(this.irisGridUtils=new Ye(t.dh),n!=null){var{irisGridState:s}=n,{aggregationSettings:o,customColumns:d,selectDistinctColumns:h=[],rollupConfig:u}=Xt(Xt({},s),r);d.length>0&&a.push(c=>{c.customColumns=d}),u!=null&&u.columns.length>0&&a.push(c=>{c.rollupConfig=Ye.getModelRollupConfig(c.originalColumns,u,o)}),h.length>0&&a.push(c=>{c.selectDistinctColumns=h})}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 r=t.shift();It.debug("initModelQueue",r),r&&r(n),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){It.debug("handleAdvancedSettingsChange",e,t),this.setState(n=>{var{advancedSettings:r}=n;return r.get(e)===t?null:{advancedSettings:new Map(r).set(e,t)}})}handlePluginFilter(e){var t,n,{model:r}=this.state;$(r);var{columns:a,formatter:s}=r,o=(t=(n=this.irisGridUtils)===null||n===void 0?void 0:n.getFiltersFromInputFilters(a,e,s.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:o})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,n,r;return(t=(n=this.pluginRef.current)===null||n===void 0||(r=n.getMenu)===null||r===void 0?void 0:r.call(n,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:n,onStateChange:r}=this.props;n.emit(yt.STATE_CHANGED,this),r?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:n}=this;this.pluginState=e,t!==null&&n!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:n,modelQueue:r}=this.state;t?this.sendColumnsChange(e.detail):($(n),this.initModelQueue(n,r))}handleTableChanged(e){It.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:n}=e;t.emit(fe.TABLE_CHANGED,this,n)}handlePartitionAppend(e,t){var{glEventHub:n}=this.props,{name:r}=e,a=this.getTableName(),s="".concat(a," = ").concat(a,'.where("').concat(r,"=`").concat(t,'`")');n.emit(ot.SEND_COMMAND,s,!1,!0)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:n,inputFilters:r}=this.props,a=this.getTableName(),{panelState:s}=this.state,o=_.getIdFromPanel(this),d;s&&(d=Ye.extractTableSettings(s,r)),n.emit(yt.CREATE_CHART,{metadata:{settings:e,sourcePanelId:o,table:a,tableSettings:d},table:ta(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(yt.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:n}=this.props;n.emit(yt.DATA_SELECTED,this,t)}handleResize(){this.updateGrid()}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){It.error(e),this.setState({error:e,isLoading:!1})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleLoadError(e){le.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:n}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),ta(e)){var{table:r}=e,{pluginName:a}=r;if(a!==""&&n!=null&&a!=null){var s=n(a);this.setState({Plugin:s})}t.emit(fe.TABLE_CHANGED,this,r)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){It.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(fe.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(zt.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(zt.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(zt.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(zt.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(zt.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(zt.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(zt.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(zt.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,n,r,{model:a}=this.state;if(!a)return null;var s=this.irisGrid.current,{gridWrapper:o}=s||{},d=(t=o?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(d==null||d.width<=0||d.height<=0)return null;$(s);var{metrics:h}=s.state;$(h);var{columnHeaderHeight:u,allColumnXs:c,allColumnWidths:m,right:p,columnHeaderMaxDepth:f}=h,g=a.getColumnIndexByName(e);$(g);var b=s.getVisibleColumn(g),C=(n=c.get(b))!==null&&n!==void 0?n:0,w=(r=m.get(b))!==null&&r!==void 0?r:0,S=Math.max(d.left,Math.min(b>p?d.right:d.left+C+w*.5,d.right)),y=d.top+u*f;return[S,y]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:n}=e;It.debug("setFilters",t,n);var{model:r,isDisconnected:a}=this.state,s=this.irisGrid.current;if(s==null||a){It.debug("Ignore setFilters, model disconnected");return}$(r);var{columns:o,formatter:d}=r,h=Ye.changeFilterColumnNamesToIndexes(r.columns,t).filter(c=>{var[m]=c;return r.isFilterable(m)}),u=Ye.changeFilterColumnNamesToIndexes(r.columns,n).filter(c=>{var[m]=c;return r.isFilterable(m)});$(this.irisGridUtils),s.clearAllFilters(),s.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(o,h,d.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(o,u,d.timeZone)})}setStateOverrides(e){It.debug("setStateOverrides",e);var{irisGridState:t,gridState:n}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:n},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:n,gridStateOverrides:r}=this.state;if(t!=null)try{var{gridState:a,irisGridState:s,irisGridPanelState:o}=t,d=Xt({},n),{quickFilters:h,advancedFilters:u}=d;h&&(d.quickFilters=Ye.changeFilterColumnNamesToIndexes(e.columns,h)),u&&(d.advancedFilters=Ye.changeFilterColumnNamesToIndexes(e.columns,u));var{isSelectingPartition:c,partition:m,partitionColumn:p,advancedSettings:f}=Ye.hydrateIrisGridPanelState(e,o);$(this.irisGridUtils);var{advancedFilters:g,customColumns:b,customColumnFormatMap:C,isFilterBarShown:w,quickFilters:S,reverseType:y,rollupConfig:E,aggregationSettings:M,sorts:O,userColumnWidths:x,userRowHeights:N,showSearchBar:W,searchValue:q,selectDistinctColumns:k,selectedSearchColumns:A,invertSearchColumns:U,pendingDataMap:j,frozenColumns:H,conditionalFormats:K,columnHeaderGroups:de}=this.irisGridUtils.hydrateIrisGridState(e,Xt(Xt({},s),d)),{isStuckToBottom:ge,isStuckToRight:be,movedColumns:T,movedRows:P}=Ye.hydrateGridState(e,Xt(Xt({},a),r),s.customColumns);this.setState({advancedFilters:g,advancedSettings:f,conditionalFormats:K,customColumns:b,customColumnFormatMap:C,isFilterBarShown:w,isSelectingPartition:c,movedColumns:T,movedRows:P,partition:m,partitionColumn:p,quickFilters:S,reverseType:y,rollupConfig:E,aggregationSettings:M,sorts:O,userColumnWidths:x,userRowHeights:N,showSearchBar:W,searchValue:q,selectDistinctColumns:k,selectedSearchColumns:A,invertSearchColumns:U,pendingDataMap:j,frozenColumns:H,isStuckToBottom:ge,isStuckToRight:be,columnHeaderGroups:de})}catch(D){It.error("loadPanelState failed to load panelState",t,D)}}updateGrid(){var e,t,n=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;n&&n.handleResize()}render(){var e,t,{children:n,glContainer:r,glEventHub:a,columnSelectionValidator:s,getDownloadWorker:o,inputFilters:d,links:h,metadata:u,panelState:c,user:m,workspace:p,settings:f,theme:g}=this.props,{advancedFilters:b,aggregationSettings:C,advancedSettings:w,conditionalFormats:S,customColumns:y,customColumnFormatMap:E,error:M,isDisconnected:O,isFilterBarShown:x,isSelectingPartition:N,isStuckToBottom:W,isStuckToRight:q,isLoaded:k,isLoading:A,isModelReady:U,model:j,movedColumns:H,movedRows:K,partition:de,partitionColumn:ge,quickFilters:be,reverseType:T,rollupConfig:P,sorts:D,userColumnWidths:R,userRowHeights:z,showSearchBar:ve,searchValue:L,selectDistinctColumns:Y,selectedSearchColumns:ee,invertSearchColumns:he,Plugin:_e,pluginFilters:ri,pluginFetchColumns:Ki,pendingDataMap:ea,frozenColumns:ai,columnHeaderGroups:Cu}=this.state,Su=M!=null?"Unable to open table. ".concat(M):void 0,Hs=vl(u),Vs=(e=j?.description)!==null&&e!==void 0?e:void 0,yu=(t=c?.pluginState)!==null&&t!==void 0?t:null,wu=n??this.getPluginContent(_e,j,m,p,yu),{permissions:Eu}=m,{canCopy:Pu,canDownloadCsv:_u}=Eu;return l.jsx(ys,{errorMessage:Su,isDisconnected:O,isLoading:A,isLoaded:k,className:"iris-grid-panel",glContainer:r,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:Hs,widgetType:"Table",description:Vs,componentPanel:this,renderTabTooltip:()=>l.jsx(Ns,{model:j,widgetName:Hs,glContainer:r,description:Vs}),children:U&&j&&l.jsx(wd,{advancedFilters:b,aggregationSettings:C,advancedSettings:w,alwaysFetchColumns:this.getAlwaysFetchColumns(h,Ki),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",customColumns:y,customColumnFormatMap:E,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:S,inputFilters:this.getGridInputFilters(j.columns,d),applyInputFiltersOnInit:c==null,isFilterBarShown:x,isSelectingColumn:s!=null,isSelectingPartition:N,isStuckToBottom:W,isStuckToRight:q,movedColumns:H,movedRows:K,partition:de,partitionColumn:ge,quickFilters:be,reverseType:T,rollupConfig:P,settings:f,sorts:D,userColumnWidths:R,userRowHeights:z,model:j,showSearchBar:ve,searchValue:L,selectedSearchColumns:ee,selectDistinctColumns:Y,invertSearchColumns:he,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onPartitionAppend:this.handlePartitionAppend,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:ri,pendingDataMap:ea,canCopy:Pu,canDownloadCsv:_u,ref:this.irisGrid,getDownloadWorker:o,frozenColumns:ai,theme:g,columnHeaderGroups:Cu,children:wu})})}}Te(Yn,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Te(Yn,"displayName","IrisGridPanel");Te(Yn,"COMPONENT","IrisGridPanel");var jC=(i,e)=>{var{localDashboardId:t=_t}=e;return{inputFilters:ws(i,t),links:ii(i,t),columnSelectionValidator:_s(i,t),user:Ud(i),workspace:Hr(i),settings:Fe(i)}},AC=Me(jC,null,null,{forwardRef:!0})(Yn);const Zn=AC;function Ei(i,e,t){return e=kC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kC(i){var e=$C(i,"string");return typeof e=="symbol"?e:String(e)}function $C(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fl=B.module("InputFilter"),UC=150;class Xn extends v.Component{constructor(e){super(e),Ei(this,"inputRef",void 0),Ei(this,"getItemLabel",wt((a,s)=>{var{name:o,type:d}=a[s];if(s>0&&a[s-1].name===o||s<a.length-1&&a[s+1].name===o){var h=d.substring(d.lastIndexOf(".")+1);return"".concat(o," (").concat(h,")")}return o})),Ei(this,"sendUpdate",Je(()=>{var{onChange:a}=this.props,{column:s,value:o,isValueShown:d}=this.state;a({column:s,isValueShown:d,value:o})},UC)),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=J.createRef();var{column:t,isValueShown:n,value:r}=e;this.state={column:t,selectedColumn:t,value:r,isValueShown:n}}componentDidUpdate(e,t){var{column:n}=this.props,{column:r,value:a,isValueShown:s}=this.state;n!==e.column&&this.setState({column:n,selectedColumn:n}),s!==void 0&&s&&s!==t.isValueShown&&this.focusInput(),(r!==t.column||a!==t.value||s!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,{value:n}=e.target,r=t[parseInt(n,10)];fl.debug2("handleColumnChange",r),this.setState({selectedColumn:r,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;fl.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:n,value:r,isValueShown:a}=e,s=t!=null&&n!=null?{name:t,type:n}:void 0,o=a===void 0?{column:s,value:r}:{column:s,value:r,isValueShown:a};this.setState(o)}render(){var{columns:e}=this.props,{column:t,isValueShown:n,selectedColumn:r,value:a}=this.state,s=a==null||a.length===0?Xn.PLACEHOLDER.length:a.length,o=null;if(t!=null){var d=e.findIndex(h=>h.name===t.name&&h.type===t.type);o=d>=0?this.getItemLabel(e,d):t.name}return l.jsxs(as,{className:"input-filter fill-parent-absolute",isFlipped:n??!1,children:[l.jsx("div",{className:"input-filter-settings-card",children:l.jsxs("div",{className:"input-filter-settings-content",children:[l.jsxs("div",{className:"input-filter-settings-grid",children:[l.jsx("label",{children:"Filter Column"}),l.jsxs("select",{value:e.findIndex(h=>h.name===r?.name&&h.type===r?.type),className:"custom-select",onChange:this.handleColumnChange,children:[e.map((h,u)=>l.jsx("option",{value:u,children:this.getItemLabel(e,u)},"".concat(h.name,"/").concat(h.type))),e.length===0&&l.jsx("option",{value:"-1",disabled:!0,children:"No Available Columns"})]}),l.jsx("div",{className:"text-muted small",children:"Input filter control will apply its filter to all columns matching this name in this dashboard."})]}),l.jsxs("div",{className:"input-filter-settings-buttons",children:[l.jsx(F,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null,children:"Cancel"}),l.jsx(F,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:r==null,children:"Save"})]})]})}),l.jsxs("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick,children:[l.jsx("div",{className:"input-filter-column",children:l.jsxs("div",{className:"input-filter-column-title",children:[o," Filter"]})}),l.jsx("div",{className:"d-flex justify-content-center align-items-center h-100 w-100",children:l.jsx("div",{className:"input-filter-value-input d-flex flex-column justify-content-center",children:l.jsx("input",{type:"text",ref:this.inputRef,placeholder:Xn.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(s+3,"ch")},spellCheck:"false"})})}),l.jsx("div",{className:"input-filter-menu",children:l.jsx(F,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:l.jsx(X,{icon:ji,transform:"grow-4"}),tooltip:"Input Filter Settings"})})]})]})}}Ei(Xn,"PLACEHOLDER","Enter value...");Ei(Xn,"defaultProps",{column:null,isValueShown:!1,value:null});const HC=Xn;function Yr(i,e,t){return e=VC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function VC(i){var e=BC(i,"string");return typeof e=="symbol"?e:String(e)}function BC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var WC=250;class Zr extends v.Component{constructor(e){super(e),Yr(this,"inputFilterRef",void 0),this.handleChange=Je(this.handleChange.bind(this),WC),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=J.createRef();var{panelState:t}=e,{value:n,isValueShown:r=!1,name:a,type:s,timestamp:o}=t??{};this.state={columns:[],column:a!=null&&s!=null?{name:a,type:s}:void 0,value:n,timestamp:o,isValueShown:r,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:n}=this.state;if(e!=null){var{name:r,type:a}=e;this.sendUpdate(r,a,t,n)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:n=!1,value:r}=e,a,s;t!=null&&({name:a,type:s}=t);var o=!0,d=Date.now();this.setState(h=>{var u,{panelState:c,timestamp:m,wasFlipped:p,skipUpdate:f}=h,g=c!=null&&n!==c.isValueShown&&a===c.name&&s===c.type&&r===c.value;return o=(u=!f&&n&&(!g||!p))!==null&&u!==void 0?u:!1,o||(d=m),{panelState:{isValueShown:n,name:a,type:s,value:r,timestamp:d},timestamp:d,wasFlipped:g,skipUpdate:!1}},()=>{o&&this.sendUpdate(a,s,r,d)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,n,r){var{glEventHub:a}=this.props;a.emit(fe.FILTERS_CHANGED,this,{name:e,type:t,value:n,timestamp:r})}setPanelState(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!n}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:n}=t;return n==null&&e.length>0?{columns:[...e],column:e[0]}:n!=null&&!e.find(r=>{var{name:a,type:s}=r;return n.name===a&&n.type===s})?{columns:[...e,n]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:n,columns:r,isValueShown:a,value:s}=this.state;return l.jsx(Kt,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0,children:l.jsx(HC,{ref:this.inputFilterRef,column:n,columns:r,onChange:this.handleChange,isValueShown:a,value:s})})}}Yr(Zr,"defaultProps",{panelState:null});Yr(Zr,"COMPONENT","InputFilterPanel");Yr(Zr,"displayName","InputFilterPanel");var GC=(i,e)=>{var{localDashboardId:t}=e;return{columns:Vh(i,t)}},KC=Me(GC,null,null,{forwardRef:!0})(Zr);const Pi=KC;function gl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function hr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gl(Object(t),!0).forEach(function(n){Ls(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):gl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ls(i,e,t){return e=zC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function zC(i){var e=qC(i,"string");return typeof e=="symbol"?e:String(e)}function qC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Re=B.module("FilterSetManagerPanel");function YC(i){return i.setPanelState!=null}class Jn extends v.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(n=>{var[r,a]=n;if(r>=e.columns.length)return null;var{name:s}=e.columns[r];return{name:s,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:r=n.length>0?n[0].id:void 0,isValueShown:a=!1}=t??{};this.state={selectedId:r,isValueShown:a,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(n=>{var r=e.get(n);if(r===void 0){Re.error("Could not get panel",r);return}var a=_.getComponentNameFromPanel(r),s=_.getIdFromPanel(r);Re.debug("Panel:",r,a);var{glContainer:o=null}=r.props;if(o==null){Re.error("Could not get panel container",r);return}var d=_.getComponentConfigFromContainer(o);if(d==null){Re.error("Could not get component config from container",o);return}var h=_.getPanelComponentState(d);if(h==null){Re.debug("Panel state is null ".concat(s));return}switch(a){case _.getComponentName(Yn):{var u;s!=null&&(u=this.getIrisGridPanelFilters(s,h)),u!=null&&t.push({panelId:s,type:a,state:u});break}case _.getComponentName(Pi):case _.getComponentName(Pn):{var{isValueShown:c,name:m,type:p,value:f}=h;t.push({panelId:s,type:a,state:{isValueShown:c,name:m,type:p,value:f}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:n}=this.props,r=n.get(e);if(r==null)return Re.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:s={}}=t,{advancedFilters:o,quickFilters:d}=a,h;o&&(h=Jn.changeFilterIndexesToColumnNames(r,o));var u;return d&&(u=Jn.changeFilterIndexesToColumnNames(r,d)),{irisGridState:hr(hr({},a),{},{advancedFilters:h,quickFilters:u}),gridState:hr({},s)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:n}=e;Re.debug("handleChange",t,n),this.setState({isValueShown:t,selectedId:n}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:n,restoreFullState:r=!1}=e;Re.debug("Apply filters from filter set",e),n.forEach(a=>{var{panelId:s,type:o,state:d}=a;if(s==null){Re.debug("panel is null",s);return}if(!t.has(s)){Re.debug("Ignore closed panel",s);return}Re.debug("Apply panel filters",s,o,d);var h=t.get(s);switch(o){case _.getComponentName(Yn):this.restoreIrisGridFilters(h,d,r);break;case _.getComponentName(Pi):case _.getComponentName(Pn):this.restoreInputFilterState(h,d);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:n}=this.props;Re.debug("Saving updated sets",e),t(n,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:n}=e;return{panelState:{selectedId:t,isValueShown:n}}})}restoreIrisGridFilters(e,t,n){var{irisGridState:r={},advancedFilters:a=[],quickFilters:s=[]}=t,{advancedFilters:o=a,quickFilters:d=s}=r,{panelTableMap:h}=this.props,u=_.getIdFromPanel(e);if(u==null){Re.error("Panel Id is null.");return}var c=h.get(u);if(c==null){Re.error("Unable to get table for panel ".concat(u,"."));return}Re.debug("restoreIrisGridFilters",u,t,n),n?e.setStateOverrides(t):e.setFilters({quickFilters:d,advancedFilters:o})}restoreInputFilterState(e,t){var n=hr({},t);delete n.isValueShown,Re.debug("restoreInputFilterState",e,n),e&&YC(e)&&e.setPanelState(n)}render(){var{glContainer:e,glEventHub:t,filterSets:n}=this.props,{isValueShown:r,selectedId:a}=this.state;return l.jsx(Kt,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0,children:l.jsx("div",{className:"input-filter-container h-100 w-100 container",children:l.jsx(NC,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:r,filterSets:n,selectedId:a,getFilterState:this.handleGetFilterState})})})}}Ls(Jn,"defaultProps",{panelState:null});Ls(Jn,"COMPONENT","FilterSetManagerPanel");var ZC=(i,e)=>{var{localDashboardId:t}=e;return{filterSets:fb(i,t),dashboardOpenedPanelMap:Nh(i,t),dashboardInputFilters:ws(i,t),panelTableMap:Es(i,t)}},XC=Me(ZC,{setDashboardFilterSets:Pb},null,{forwardRef:!0})(Jn);const ma=XC;function Mi(i,e,t){return e=JC(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function JC(i){var e=QC(i,"string");return typeof e=="symbol"?e:String(e)}function QC(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var bl=B.module("LogPanel");class Xr extends v.PureComponent{constructor(e){super(e),Mi(this,"isBottomVisible",void 0),Mi(this,"logView",void 0),this.handleResize=this.handleResize.bind(this),this.handleShow=this.handleShow.bind(this),this.handleHide=this.handleHide.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.isBottomVisible=!0,this.logView=null;var{session:t}=this.props;this.state={session:t}}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions(),this.logView&&(this.logView.triggerFindWidget(),this.isBottomVisible&&this.logView.scrollToBottom())}handleHide(){this.logView&&(this.isBottomVisible=this.logView.isBottomVisible())}handleSessionOpened(e){bl.debug("Session opened",[e]),this.setState({session:e})}handleSessionClosed(e){bl.debug("Session closed",e)}updateDimensions(){this.logView&&this.logView.updateDimensions()}render(){var{glContainer:e,glEventHub:t}=this.props,{session:n}=this.state;return l.jsxs(Kt,{componentPanel:this,glContainer:e,glEventHub:t,onResize:this.handleResize,onHide:this.handleHide,onShow:this.handleShow,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,children:[n==null&&l.jsx("div",{className:"log-panel-disconnected-message",children:"Waiting for session connection"}),n!=null&&l.jsx(Ip,{session:n,ref:r=>{this.logView=r}})]})}}Mi(Xr,"defaultProps",{session:null});Mi(Xr,"COMPONENT","LogPanel");Mi(Xr,"TITLE","Log");var eS=(i,e)=>{var t;return{session:(t=Tn(i,e.localDashboardId))===null||t===void 0?void 0:t.session}},tS=Me(eS,null,null,{forwardRef:!0})(Xr);const Ba=tS;function nS(i,e,t){return e=iS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function iS(i){var e=rS(i,"string");return typeof e=="symbol"?e:String(e)}function rS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Zh extends v.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:n}=this.props;return l.jsxs("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:n,children:[l.jsx("div",{className:Z("text-muted","edit-hint",{viewing:e===void 0||!e}),children:l.jsxs("span",{children:["double-click to edit ",l.jsx(X,{icon:ud})]})}),t]})}}nS(Zh,"defaultProps",{isEditing:!1});function aS(i,e,t){return e=sS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sS(i){var e=oS(i,"string");return typeof e=="symbol"?e:String(e)}function oS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var lS=B.module("MarkdownStartPage");class Xh extends v.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(lS.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:n}=this.props,{isDeleteModalShown:r,toBeDeleted:a}=this.state;return l.jsx("div",{className:"markdown-panel-start-page h-100 w-100",children:l.jsxs("div",{className:"markdown-panel-start-page-container",children:[l.jsxs("div",{className:"markdown-panel-start-list",children:[l.jsx("h3",{className:"list-title",children:"Start"}),l.jsx("div",{className:"list-item",children:l.jsx(F,{kind:"ghost",className:"title",onClick:n,children:"New Markdown Note"})})]}),l.jsxs("div",{className:"markdown-panel-start-list",children:[l.jsx("h3",{className:"list-title",children:"Recently Closed from Dashboard"}),e.map(s=>l.jsxs("div",{className:"list-item",children:[l.jsx(F,{kind:"ghost",className:"title",onClick:()=>t(s),children:s.title}),l.jsx("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(s)},children:l.jsx(X,{icon:Ri})})]},s.id)),l.jsxs(Qa,{isOpen:r,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal theme-bg-light",children:[l.jsx(es,{children:"Are you sure you want to permanently delete this note?"}),l.jsx(ts,{children:"You can't undo this action."}),l.jsxs(yd,{children:[l.jsx(F,{kind:"secondary",onClick:this.handleDeleteModalClose,children:"Cancel"}),l.jsx(F,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)},children:"Delete"})]})]})]})]})})}}aS(Xh,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const dS=Xh;function Jh(i,e,t){return e=hS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hS(i){var e=uS(i,"string");return typeof e=="symbol"?e:String(e)}function uS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var cS=i=>{var{children:e,className:t}=i,n=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return l.jsx("pre",{children:l.jsx("code",{children:l.jsx(jr,{language:n,children:J.Children.map(e,r=>typeof r=="string"?r.trim():r)})})})};class Qh extends v.PureComponent{constructor(e){super(e),Jh(this,"container",void 0),this.container=null}render(){var{isEditing:e,content:t,onEditorInitialized:n}=this.props;return l.jsx("div",{className:"markdown-editor-container",ref:r=>{this.container=r},children:e?l.jsx(vd,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):l.jsx(td,{components:{code:cS},children:t})})}}Jh(Qh,"defaultProps",{isEditing:!1,content:""});function _i(i,e,t){return e=mS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function mS(i){var e=pS(i,"string");return typeof e=="symbol"?e:String(e)}function pS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var ur=B.module("MarkdownPanel");class Ms extends v.Component{constructor(e){super(e),_i(this,"markdownEditor",void 0),_i(this,"editor",void 0),_i(this,"getClosedMarkdowns",te(r=>r.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){$(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t){var n,r,a=t.getBoundingClientRect().top,s=t.scrollTop,o=t.scrollHeight,d=(n=(r=this.editor.getModel())===null||r===void 0?void 0:r.getLineCount())!==null&&n!==void 0?n:0,h=Math.round((s+e-a)/o*d);h>d&&(h=d),this.editor.revealLine(h),this.editor.setPosition({lineNumber:h,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){ur.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){ur.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){ur.debug("open markdown...",e);var{glContainer:t,glEventHub:n}=this.props,r=_.getComponentConfigFromContainer(t);n.emit(Q.REOPEN,e,r)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(Q.DELETE,e)}handleEditorBlur(e){var t;ur.debug("markdown content changed, saving...");var{isEditing:n}=this.state;if(!(!n||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var r=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:r,isEditing:!1,panelState:{content:r}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:n}=this.props,{isEditing:r,isStartPageShown:a,content:s}=this.state,o=this.getClosedMarkdowns(n);return l.jsx(Kt,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0,children:a?l.jsx(dS,{closedMarkdowns:o,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):l.jsx(Zh,{isEditing:r,onDoubleClick:this.handleContainerDoubleClick,children:l.jsx(Qh,{ref:d=>{this.markdownEditor=d},isEditing:r,content:s??void 0,onEditorInitialized:this.handleEditorInitialized})})})}}_i(Ms,"defaultProps",{panelState:null});_i(Ms,"COMPONENT","MarkdownPanel");var vS=(i,e)=>{var{localDashboardId:t}=e;return{closedPanels:Ig(i,t)}},fS=Me(vS,null,null,{forwardRef:!0})(Ms);const li=fS;function Sr(i,e,t){return e=gS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function gS(i){var e=bS(i,"string");return typeof e=="symbol"?e:String(e)}function bS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class eu extends v.PureComponent{constructor(e){super(e),Sr(this,"commands",void 0),Sr(this,"codeElements",void 0),Sr(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=J.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(r=>r===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:r}=this.state,a=[...this.commands.keys()],s=a.findIndex(g=>g===r||r==null);if(!(s<0)){var o=a[s],d=this.commands.get(o),h=this.getNextStartLine(o),u=(t=this.codeElements.get(o))===null||t===void 0?void 0:t.current,c=u==null||(n=u.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(c!=null){var m,{offsetTop:p}=c,f=p;(m=this.editorScrollView.current)===null||m===void 0||m.scroll({top:f,left:0})}this.runCode(d),this.setState({nextStartLine:h})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:r,node:a}=e,{hasRunCode:s,nextStartLine:o}=this.state,{children:d,position:h}=a;$(h);var{start:u}=h,{line:c}=u,m=d[0].value,p=J.createRef(),f=this.commands.size===0,g=o===c||f&&o==null&&!s,b=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return r!=null&&r?l.jsx("code",{className:n,children:t}):(this.commands.set(c,m),this.codeElements.set(c,p),l.jsxs("div",{className:Z("markdown-notebook-code-block",{"is-selected":g}),ref:p,onClick:()=>{this.setState({nextStartLine:c})},role:"presentation",children:[l.jsx(F,{kind:"ghost",icon:wr,className:"btn-play-block",onClick:C=>{C.stopPropagation(),C.preventDefault(),this.runCode(m),this.setState({nextStartLine:c})},tooltip:"Run code"}),l.jsx("code",{children:l.jsx(jr,{language:b,children:J.Children.map(t,C=>typeof C=="string"?C.trim():C)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:r,target:a}=e;return l.jsx("a",{href:n,onClick:t,target:a,children:r})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:r,hasRunCode:a,nextStartLine:s}=this.state;return l.jsxs("div",{className:"markdown-notebook",children:[l.jsx("div",{className:"markdown-notebook-toolbar",children:l.jsx(F,{className:Z("btn-play-selected-cell",{flashing:r&&!a}),kind:"ghost",icon:wr,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:a&&s==null||!r,children:"Run Selected Code"})}),l.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:l.jsx(td,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[Lu],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}Sr(eu,"defaultProps",{onRunCode:()=>{}});const CS=eu;function Cl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function je(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Cl(Object(t),!0).forEach(function(n){Ze(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Cl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Ze(i,e,t){return e=SS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function SS(i){var e=yS(i,"string");return typeof e=="symbol"?e:String(e)}function yS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var se=B.module("NotebookPanel"),Sl=400;class Pt extends v.Component{static handleError(e){le.isCanceled(e)||se.error(e)}static languageFromFileName(e){var t=G.getExtension(e).toLowerCase();switch(t){case"py":case"python":return"python";case"groovy":return"groovy";case"scala":return"scala";default:return null}}constructor(e){super(e),Ze(this,"pending",void 0),Ze(this,"debouncedSavePanelState",void 0),Ze(this,"debouncedLoad",void 0),Ze(this,"notebook",void 0),Ze(this,"tabTitleElement",void 0),Ze(this,"tabInitOnce",void 0),Ze(this,"editor",void 0),Ze(this,"getSettings",te((m,p)=>je(je({},m),{},{minimap:{enabled:p}}))),Ze(this,"getOverflowActions",te((m,p)=>[{title:"Find",icon:ac,action:this.handleFind,group:ie.groups.high,shortcut:We.NOTEBOOK.FIND,order:10},{title:"Show Minimap",icon:m?Ci:void 0,action:this.handleMinimapChange,group:ie.groups.medium,shortcut:We.NOTEBOOK.MINIMAP,order:20},{title:"Word Wrap",icon:p?Ci:void 0,action:this.handleWordWrapChange,group:ie.groups.medium,shortcut:We.NOTEBOOK.WORDWRAP,order:30}])),this.handleBlur=this.handleBlur.bind(this),this.handleCloseCancel=this.handleCloseCancel.bind(this),this.handleCloseDiscard=this.handleCloseDiscard.bind(this),this.handleCloseSave=this.handleCloseSave.bind(this),this.handleCopy=this.handleCopy.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorWillDestroy=this.handleEditorWillDestroy.bind(this),this.handleEditorChange=this.handleEditorChange.bind(this),this.handleFind=this.handleFind.bind(this),this.handleMinimapChange=this.handleMinimapChange.bind(this),this.handleWordWrapChange=this.handleWordWrapChange.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleLinkClick=this.handleLinkClick.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.handleRenameFile=this.handleRenameFile.bind(this),this.handleResize=this.handleResize.bind(this),this.handleRunCommand=this.handleRunCommand.bind(this),this.handleRunAll=this.handleRunAll.bind(this),this.handleRunSelected=this.handleRunSelected.bind(this),this.handleSave=this.handleSave.bind(this),this.handleSaveAsCancel=this.handleSaveAsCancel.bind(this),this.handleSaveAsSubmit=this.handleSaveAsSubmit.bind(this),this.handleSaveError=this.handleSaveError.bind(this),this.handleSaveSuccess=this.handleSaveSuccess.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleShowRename=this.handleShowRename.bind(this),this.handleTab=this.handleTab.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabClick=this.handleTabClick.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleTransformLinkUri=this.handleTransformLinkUri.bind(this),this.handleOverwrite=this.handleOverwrite.bind(this),this.handlePreviewPromotion=this.handlePreviewPromotion.bind(this),this.getDropdownOverflowActions=this.getDropdownOverflowActions.bind(this),this.pending=new dn,this.debouncedSavePanelState=Je(this.savePanelState.bind(this),Sl),this.debouncedLoad=Je(this.load.bind(this),Sl),this.notebook=null,this.tabTitleElement=null,this.tabInitOnce=!1;var{isDashboardActive:t,session:n,sessionLanguage:r,panelState:a}=e,s={value:"",language:"",wordWrap:"off"},o=null,{isPreview:d}=e;a!=null&&({fileMetadata:o=o,isPreview:d=d,settings:s=s}=a);var h=o!=null&&G.hasPath(o.itemName),u=h===!0&&s.value!=null||!h&&s.value!=null&&s.value.length>0,c=u?1:0;this.state={error:void 0,isDashboardActive:t,isFocused:!1,isLoading:!0,isLoaded:!1,isPreview:d,savedChangeCount:0,changeCount:c,fileMetadata:o,settings:s,session:n,sessionLanguage:r,panelState:{fileMetadata:o,settings:s},showCloseModal:!1,showSaveAsModal:!1,scriptCode:""},se.debug("constructor",e,this.state)}componentDidMount(){var{glContainer:e,glEventHub:t}=this.props,{tab:n}=e;n!=null&&this.initTab(n),this.initNotebookContent(),t.on(ue.RENAME_FILE,this.handleRenameFile),t.on(Q.DROPPED,this.handlePanelDropped),e.on(ue.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion)}componentDidUpdate(e,t){var{isPreview:n,settings:r}=this.state,{wordWrap:a}=r,{defaultNotebookSettings:s}=this.props;n!==t.isPreview&&this.setPreviewStatus(),a!==t.settings.wordWrap&&(this.updateEditorWordWrap(),this.debouncedSavePanelState()),s.isMinimapEnabled!==e.defaultNotebookSettings.isMinimapEnabled&&this.updateEditorMinimap()}componentWillUnmount(){this.debouncedSavePanelState.flush(),this.pending.cancel();var{glEventHub:e,glContainer:t}=this.props,{fileMetadata:n,isPreview:r}=this.state;e.off(ue.RENAME_FILE,this.handleRenameFile),e.off(Q.DROPPED,this.handlePanelDropped),t.off(ue.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion),e.emit(ue.UNREGISTER_FILE,n,r)}initTab(e){this.tabInitOnce||(this.tabInitOnce=!0,this.initTabCloseOverride()),this.initTabClasses(e)}initTabCloseOverride(){var{glContainer:e}=this.props;e.beforeClose(t=>{if(t?.force===!0)return!0;var{changeCount:n,savedChangeCount:r}=this.state;return n!==r?(this.setState({showCloseModal:!0}),!1):!0})}initTabClasses(e){var t=e.element.get(0);$(t);var n=t.querySelector(".lm_title");this.tabTitleElement=n,n?.classList.add("notebook-title"),this.setPreviewStatus()}getNotebookValue(){var{changeCount:e,savedChangeCount:t,settings:n}=this.state,{value:r}=n;if(e!==t&&this.notebook){var a=this.notebook.getValue();return a??r}return r}initNotebookContent(){var{fileMetadata:e,settings:t,isPreview:n}=this.state;if(e&&e.id){se.debug("Init content from file"),this.registerFileMetadata(e,n),this.load();return}if(t.value!=null){se.debug("Use content passed in the settings prop"),this.handleLoadSuccess();return}this.handleLoadError(new Error("Missing file metadata"))}closeFileTabById(e){var{glEventHub:t}=this.props;t.emit(ue.CLOSE_FILE,{id:e})}registerFileMetadata(e,t){var{glEventHub:n,metadata:r}=this.props,{id:a}=r;n.emit(ue.REGISTER_FILE,a,e,t)}renameTab(e,t){var{glEventHub:n}=this.props;n.emit(ue.RENAME,e,t)}load(){var{fileMetadata:e,settings:t}=this.state;$(e);var{id:n}=e,{fileStorage:r}=this.props;this.pending.add(r.loadFile(n)).then(a=>{var s;se.debug("Loaded file",a);var{filename:o}=a,{itemName:d}=this.state;if(o!==d){var{metadata:h}=this.props,{id:u}=h;this.renameTab(u,G.getBaseName(o))}var c=je(je({},t),{},{language:(s=Pt.languageFromFileName(o))!==null&&s!==void 0?s:""});t.value==null&&(c.value=a.content),t.wordWrap===void 0&&(t.wordWrap="off"),this.setState({fileMetadata:{id:o,itemName:o},settings:c}),this.debouncedSavePanelState()}).then(this.handleLoadSuccess).catch(this.handleLoadError)}save(){var{fileMetadata:e}=this.state;if(e&&G.hasPath(e.itemName)){var t=this.getNotebookValue();return t!==void 0?(this.saveContent(e.itemName,t),!0):!1}return this.setState({showSaveAsModal:!0}),!1}saveContent(e,t){se.debug("saveContent",e,t),this.updateSavedChangeCount();var{fileStorage:n}=this.props;this.pending.add(n.saveFile({filename:e,content:t,basename:e})).then(this.handleSaveSuccess).catch(this.handleSaveError)}updateSavedChangeCount(){this.setState(e=>{var{changeCount:t}=e;return{savedChangeCount:t}})}setPreviewStatus(){if(this.tabTitleElement){var{isPreview:e}=this.state;se.debug("setPreviewStatus",this.tabTitleElement,e),e?this.tabTitleElement.classList.add("is-preview"):this.tabTitleElement.classList.remove("is-preview")}}handlePreviewPromotion(){this.removePreviewStatus()}savePanelState(){this.setState(e=>{var{changeCount:t,savedChangeCount:n,fileMetadata:r,isPreview:a,settings:s}=e,o=this.getNotebookValue(),d=t!==n?o:void 0,h=je(je({},s),{},{value:o}),u=je(je({},s),{},{value:d}),c={settings:u,fileMetadata:r,isPreview:a};return se.debug("Saving panel state",c),{settings:h,panelState:c}})}handleCloseDiscard(){this.setState({showCloseModal:!1});var{glContainer:e}=this.props;e.close({force:!0})}handleCloseSave(){if(this.setState({showCloseModal:!1}),this.save()){var{glContainer:e}=this.props;e.close({force:!0})}}handleCloseCancel(){this.setState({showCloseModal:!1})}handleOverwrite(e){var{glEventHub:t}=this.props;t.emit(ue.CLOSE_FILE,{id:e,itemName:e},{force:!0}),this.focus()}handleCopy(){var{fileMetadata:e,settings:t}=this.state;$(e);var n=this.getNotebookValue(),{language:r}=t,{itemName:a}=e,s=G.getCopyFileName(a);se.debug("handleCopy",e,a,s),this.createNotebook(s,r,n)}handleEditorInitialized(e){this.editor=e}handleEditorWillDestroy(){this.editor=void 0}handleEditorChange(e){se.debug2("handleEditorChanged",e),this.removePreviewStatus(),this.setState(t=>{var{changeCount:n,savedChangeCount:r}=t,{isUndoing:a,isRedoing:s}=e;return a?{changeCount:n-1,savedChangeCount:r}:!s&&n<r?{changeCount:n+1,savedChangeCount:0}:{changeCount:n+1,savedChangeCount:r}}),this.debouncedSavePanelState()}handleFind(){this.notebook&&this.notebook.toggleFind()}updateEditorMinimap(){if(this.editor){var{defaultNotebookSettings:e}=this.props;this.editor.updateOptions({minimap:{enabled:e.isMinimapEnabled}})}}handleMinimapChange(){var{settings:e,defaultNotebookSettings:t,saveSettings:n}=this.props,r=je(je({},e),{},{defaultNotebookSettings:{isMinimapEnabled:!t.isMinimapEnabled}});n(r)}updateEditorWordWrap(){if(this.editor){var{settings:e}=this.state,{wordWrap:t}=e;this.editor.updateOptions({wordWrap:t})}}handleWordWrapChange(){this.editor&&this.setState(e=>{var{settings:t}=e,n=t.wordWrap==="on"?"off":"on";return{settings:je(je({},t),{},{wordWrap:n})}})}handleBlur(){se.debug("handleBlur"),this.setState({isFocused:!1})}handleFocus(){se.debug("handleFocus"),this.setState({isFocused:!0})}handleLinkClick(e){var{notebooksUrl:t,session:n,sessionLanguage:r}=this.props,{href:a}=e.currentTarget;if(!(!a||!a.startsWith(t))){e.stopPropagation(),e.preventDefault();var s="/".concat(a.substring(t.length)).replace(/%20/g," ");if(s==="/"){se.debug("Ignoring invalid notebook link",s);return}se.debug("Notebook link clicked, opening",s);var{glEventHub:o}=this.props,d={value:null,language:r},h={id:s,itemName:s};o.emit(ue.SELECT_NOTEBOOK,n,r,d,h)}}handleLoadSuccess(){this.setState({error:void 0,isLoaded:!0,isLoading:!1})}handleLoadError(e){var t=e;le.isCanceled(t)||(le.isTimedOut(t)&&(t=new Error("File not found.")),se.error(t),this.setState({error:t,isLoading:!1}))}handleSave(){se.debug("handleSave"),this.save()}handleSaveSuccess(e){var t,{fileStorage:n}=this.props,r={id:e.filename,itemName:e.filename},a=(t=Pt.languageFromFileName(e.filename))!==null&&t!==void 0?t:"";this.setState(s=>{var{fileMetadata:o}=s,d=je(je({},s.settings),{},{language:a});return se.debug("handleSaveSuccess",r,o,d),o&&G.hasPath(o.itemName)&&o.itemName!==r.itemName&&(se.debug("handleSaveSuccess deleting old file",o.itemName),n.deleteFile(o.itemName).catch(Pt.handleError)),{fileMetadata:r,settings:d,isPreview:!1}}),this.debouncedSavePanelState(),this.registerFileMetadata(r,!1)}handleSaveError(e){le.isCanceled(e)||(this.setState({savedChangeCount:0}),se.error(e))}handleSaveAsCancel(){this.setState({showSaveAsModal:!1})}handleSaveAsSubmit(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;n&&this.handleOverwrite(e),se.debug("handleSaveAsSubmit",e);var{fileMetadata:r}=this.state;if(r){var{itemName:a}=r,s=(t=this.getNotebookValue())!==null&&t!==void 0?t:"";if(this.setState({showSaveAsModal:!1}),G.getBaseName(a)!==G.getBaseName(e)){var{metadata:o}=this.props,{id:d}=o;this.renameTab(d,G.getBaseName(e))}this.saveContent(e,s)}}handleRenameFile(e,t,n){var{fileMetadata:r,panelState:a}=this.state,{glContainer:s}=this.props;if(r?.itemName==="/".concat(t)&&n&&JSON.stringify(a)!==JSON.stringify(n)){s.close();return}r&&r.id===e&&(this.setState({fileMetadata:{id:t,itemName:t}}),this.debouncedSavePanelState())}handleResize(){var e;(e=this.notebook)===null||e===void 0||e.updateDimensions()}handleRunCommand(e){this.runCommand(e)}handleRunAll(){var e;if(!this.notebook){se.error("Editor is not initialized.");return}this.runCommand((e=this.notebook.getValue())!==null&&e!==void 0?e:void 0)}handleRunSelected(){if(!this.notebook){se.error("Editor is not initialized.");return}this.runCommand(this.notebook.getSelectedCommand())}handleSessionOpened(e,t){var{language:n}=t;this.setState({session:e,sessionLanguage:n})}handleSessionClosed(){this.setState({session:void 0,sessionLanguage:void 0})}handleShow(){var e;se.debug("handleShow"),(e=this.notebook)===null||e===void 0||e.updateDimensions()}handlePanelDropped(e){var{metadata:{id:t}}=this.props;e===t&&this.forceUpdate()}handleShowRename(){this.setState({showSaveAsModal:!0})}handleTab(e){se.debug("NotebookPanel tab event",e),this.initTab(e)}handleTabFocus(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];se.debug("handleTabFocus",...t);var{glContainer:r}=this.props;this.setState({isDashboardActive:!0}),this.notebook&&!r.isHidden&&this.notebook.updateDimensions()}handleTabBlur(){se.debug("handleTabBlur"),this.setState({isDashboardActive:!1})}handleTabClick(e){se.debug("handle NotebookPanel tab click"),this.focus(),e.detail===2&&this.removePreviewStatus()}handleTransformLinkUri(e){var{notebooksUrl:t}=this.props,{fileMetadata:n}=this.state;if(e.endsWith("/"))return e;if(e.startsWith("/"))return"".concat(t).concat(e.substring(1));var r=n?.itemName;if(r===void 0)return e;r.charAt(0)==="/"&&(r=r.substring(1));var a=new URL(r,t);return new URL(e,a).href}focus(){requestAnimationFrame(()=>{this.notebook&&this.notebook.focus()})}createNotebook(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",{glEventHub:r}=this.props,{session:a,sessionLanguage:s,settings:o}=this.state,d=je(je({},o),{},{language:t,value:n}),h={id:null,itemName:e};se.debug("handleCreateNotebook",a,s,d,h),r.emit(ue.CREATE_NOTEBOOK,a,s,d,h)}runCommand(e){if(e===void 0||e===""){se.debug("Ignoring empty command.");return}this.removePreviewStatus();var{glEventHub:t}=this.props;t.emit(ot.SEND_COMMAND,e,!1,!0)}removePreviewStatus(){this.setState(e=>{var{isPreview:t}=e;if(t){var{fileMetadata:n}=this.state;return n&&this.registerFileMetadata(n,!1),{isPreview:!1}}return null})}getDropdownOverflowActions(){var{defaultNotebookSettings:e}=this.props,{settings:t}=this.state;return this.getOverflowActions(e.isMinimapEnabled,this.getSettings(t,e.isMinimapEnabled).wordWrap==="on")}render(){var e,t,{fileStorage:n,glContainer:r,glContainer:{tab:a},glEventHub:s,defaultNotebookSettings:o}=this.props,{changeCount:d,savedChangeCount:h,error:u,isDashboardActive:c,isLoaded:m,isLoading:p,isPreview:f,fileMetadata:g,session:b,sessionLanguage:C,settings:w,showCloseModal:S,showSaveAsModal:y}=this.state,E=c&&!r.isHidden&&!f,M=(e=g?.itemName)!==null&&e!==void 0?e:Pt.DEFAULT_NAME,O=M.endsWith(".md"),x=g?.id!=null,N=this.getSettings(w,o.isMinimapEnabled),W=b!=null,q=C===N.language,k=!m||!W||!q,A=!m,U=[{action:this.handleSave,shortcut:ln.SAVE},{action:this.handleMinimapChange,shortcut:We.NOTEBOOK.MINIMAP},{action:this.handleWordWrapChange,shortcut:We.NOTEBOOK.WORDWRAP}],j=Ia.getDisabledRunTooltip(W,q,"Notebook extension","Run"),H=Ia.getDisabledRunTooltip(W,q,"Notebook extension","Run Selected"),K=[{title:x?"Rename":"Save As…",order:10,group:ie.groups.high,action:this.handleShowRename},{title:"Copy File",action:this.handleCopy,group:ie.groups.high,order:20}],de=a?.element.find(".lm_title_before").get(0);return l.jsxs(l.Fragment,{children:[de!=null&&qa.createPortal(l.jsx("span",{className:Z("editor-unsaved-indicator",{"is-unsaved":d!==h})}),de),l.jsxs(Kt,{className:"notebook-container",componentPanel:this,glContainer:r,glEventHub:s,onTab:this.handleTab,onResize:this.handleResize,onShow:this.handleShow,onTabClicked:this.handleTabClick,onTabFocus:this.handleTabFocus,onTabBlur:this.handleTabBlur,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onFocus:this.handleFocus,onBlur:this.handleBlur,additionalActions:K,renderTabTooltip:()=>M,children:[!O&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"notebook-toolbar",children:[l.jsxs("span",{children:[l.jsx(F,{kind:"ghost",className:"btn-play",onClick:this.handleRunAll,disabled:k,icon:l.jsx(X,{icon:wr,transform:"grow-4"}),tooltip:"Run ".concat(We.NOTEBOOK.RUN.getDisplayText()),"aria-label":"Run"}),j!=null&&l.jsx(Mt,{children:j})]}),l.jsxs("span",{children:[l.jsx(F,{kind:"ghost",className:"btn-play",onClick:this.handleRunSelected,disabled:k,icon:l.jsx(X,{icon:sc,transform:"grow-4"}),tooltip:"Run Selected ".concat(We.NOTEBOOK.RUN_SELECTED.getDisplayText()),"aria-label":"Run Selected"}),H!=null&&l.jsx(Mt,{children:H})]}),l.jsx(F,{kind:"ghost",className:"mr-auto",disabled:A,onClick:this.handleSave,icon:hd,tooltip:"Save ".concat(ln.SAVE.getDisplayText()),"aria-label":"Save"}),l.jsx(F,{kind:"ghost",className:"btn-overflow btn-link-icon",disabled:A,icon:ld,tooltip:"More Actions...",onClick:()=>{},children:l.jsx(En,{actions:this.getDropdownOverflowActions,popperOptions:Pt.POPPER_OPTIONS})})]}),l.jsx(cp,{isLoaded:m,isLoading:p,error:u,onChange:this.handleEditorChange,onRunCommand:this.handleRunCommand,session:b,sessionLanguage:C,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy,settings:N,focusOnMount:E,ref:ge=>{this.notebook=ge}})]}),O&&l.jsx(CS,{content:(t=N.value)!==null&&t!==void 0?t:"",onLinkClick:this.handleLinkClick,onRunCode:this.handleRunCommand,transformImageUri:this.handleTransformLinkUri,transformLinkUri:this.handleTransformLinkUri}),l.jsx(Kh,{isOpen:y,type:"file",defaultValue:M,title:x?"Rename":"Save file as",onSubmit:this.handleSaveAsSubmit,onCancel:this.handleSaveAsCancel,notifyOnExtensionChange:!0,storage:n}),l.jsx(Di,{isOpen:S,headerText:"Do you want to save the changes you made to ".concat(M,"?"),bodyText:"Your changes will be lost if you don't save them.",onCancel:this.handleCloseCancel,onDiscard:this.handleCloseDiscard,onConfirm:this.handleCloseSave,discardButtonText:"Discard Changes",confirmButtonText:"Save"}),l.jsx(ie,{actions:U})]})]})}}Ze(Pt,"COMPONENT","NotebookPanel");Ze(Pt,"POPPER_OPTIONS",{placement:"bottom-end"});Ze(Pt,"DEFAULT_NAME","Untitled");Ze(Pt,"defaultProps",{isDashboardActive:!0,isPreview:!1,session:null,sessionLanguage:null,defaultNotebookSettings:null});var wS=(i,e)=>{var t=Vd(i),n=Fe(i),r=jp(i),a=Tn(i,e.localDashboardId),{session:s,config:o}=a??{},{type:d}=o??{};return{fileStorage:t,settings:n,defaultNotebookSettings:r,session:s,sessionLanguage:d}},ES=Me(wS,{saveSettings:Br},null,{forwardRef:!0})(Pt);const fn=ES;function yl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function wl(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yl(Object(t),!0).forEach(function(n){Fi(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):yl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function PS(i){if(i==null)throw new TypeError("Cannot destructure "+i)}function Wa(){return Wa=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n])}return i},Wa.apply(this,arguments)}function Fi(i,e,t){return e=_S(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function _S(i){var e=TS(i,"string");return typeof e=="symbol"?e:String(e)}function TS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Fs extends v.Component{constructor(e){super(e),Fi(this,"buttonRef",void 0),Fi(this,"irisGridRef",void 0),this.irisGridRef=J.createRef(),this.buttonRef=J.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,t;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),(t=this.buttonRef.current)===null||t===void 0||t.blur(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,n,{shouldFocusGrid:r}=this.state;r&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(n=t.current)!==null&&n!==void 0&&n.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){var e=this.props,t=Wa({},(PS(e),e));return l.jsx(Zn,wl(wl({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},t),{},{children:l.jsxs(F,{ref:this.buttonRef,kind:"primary",className:"btn-pandas",onClick:this.handleReload,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically.",children:["pandas dataframe",l.jsxs("span",{children:[l.jsx(X,{icon:cd,transform:"shrink-1",className:"mr-1"}),"Reload"]})]})}))}}Fi(Fs,"defaultProps",{panelState:null});Fi(Fs,"COMPONENT","PandasPanel");const El=Fs;function OS(i){cn(i);var{hydrate:e}=i,t=On();return Cs({dashboardProps:i,componentName:Li.COMPONENT,component:Li,supportedTypes:t.VariableType.FIGURE,hydrate:e}),null}function DS(i){cn(i);var{id:e,layout:t}=i,n=On(),r=v.useCallback(a=>{var{metadata:s,panelId:o=$e.generate(),table:d}=a,{settings:h}=s,u=()=>Ta.makeModelFromSettings(n,h,d),c=Sd.titleFromSettings(h),m={type:"react-component",component:Li.COMPONENT,props:{localDashboardId:e,id:o,metadata:s,makeModel:u},title:c,id:o},{root:p}=t;_.openComponent({root:p,config:m})},[n,e,t]);return me(t.eventHub,yt.CREATE_CHART,r),null}function Pl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function _l(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pl(Object(t),!0).forEach(function(n){IS(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Pl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function IS(i,e,t){return e=xS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function xS(i){var e=NS(i,"string");return typeof e=="symbol"?e:String(e)}function NS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ee=B.module("ConsolePlugin");function Tl(i){return i.notebook!==void 0}function LS(i){cn(i)}function MS(i){LS(i);var{id:e,hydrateConsole:t,layout:n,panelManager:r,registerComponent:a,notebooksUrl:s}=i,o=v.useRef(0),[d,h]=v.useState(new Map),[u,c]=v.useState(new Map),m=Ya(),p=v.useCallback(()=>r.getLastUsedPanelOfType(wi),[r]),f=v.useCallback((T,P)=>{h(D=>new Map(D.set(T,P)))},[h]),g=v.useCallback(T=>{h(P=>(P.delete(T),new Map(P)))},[h]),b=v.useCallback((T,P)=>{c(D=>new Map(D.set(T,P)))},[c]),C=v.useCallback(T=>{c(P=>(P.delete(T),new Map(P)))},[c]),w=v.useCallback(function(T){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,R=T&&T.trim();if(!R)Ee.info("Ignoring empty code");else{var z=p();if(!z||!(z instanceof wi.WrappedComponent)){Ee.error("Console panel not found");return}Ee.debug("Send command: ",T,P,D),z.addCommand(T,P,D)}},[p]),S=v.useCallback(T=>{m(Eb(e,T))},[m,e]),y=v.useCallback(T=>{var{language:P}=T,D=P==="python"?"py":P,R=null;return D==null?(Ee.debug("No extension for language",P),R="Untitled-".concat(o.current)):R="Untitled-".concat(o.current,".").concat(D),o.current+=1,R},[]),E=v.useCallback(function(T){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{id:D}=T;if(D!=null&&d.has(D))return d.get(D);if(D!=null&&u.has(D))return u.get(D);if(P)return $e.generate()},[d,u]),M=v.useCallback((T,P)=>{_.renameComponent(n.root,{id:T},P)},[n.root]),O=v.useCallback((T,P)=>{Ee.debug("Rename file panel",T,P);var D;if(d.has(T)&&(D=d.get(T),g(T),D!=null&&f(P,D)),u.has(T)&&(D=u.get(T),C(T),D!=null&&b(P,D)),D===void 0){Ee.debug2("File ".concat(T," isn't open, no need to rename the tab"));return}M(D,G.getBaseName(P))},[d,u,M,f,b,g,C]),x=v.useCallback(T=>{var P=E(T,!1);if(P==null){Ee.error("Could not find panel id for file metadata",T);return}_.activateTab(n.root,{id:P})},[E,n.root]),N=v.useCallback((T,P,D)=>{if(Ee.debug("registerFilePanel",T,P,D),P==null||P.id==null){Ee.debug("Ignore empty file id",P);return}var{id:R}=P;if(D){b(R,T);return}if(d.has(R)){var z=d.get(R);if(T===z){Ee.debug("Update tab title for file ".concat(R));var{itemName:ve}=P;O(R,ve)}else Ee.error("File ".concat(R," already associated with a different tab ").concat(z));return}f(R,T),u.has(R)&&C(R)},[d,u,O,f,b,C]),W=v.useCallback((T,P)=>{if(Ee.debug("unregisterFileTab",T,P),T==null||T.id==null){Ee.debug("Ignore empty file id",T);return}var{id:D}=T;if(P){C(D);return}g(D)},[g,C]),q=v.useCallback((T,P)=>{Ee.debug("closeFilePanel",T);var{id:D}=T,R=null,z=!1;if(d.has(D))R=d.get(D);else if(u.has(D))R=u.get(D),z=!0;else{Ee.debug("File ".concat(D," isn't open, ignore close event"));return}W(T,z),_.closeComponent(n.root,{id:R},P)},[n.root,d,u,W]),k=v.useCallback(T=>{var{itemName:P}=T;return G.getBaseName(P)},[]),A=v.useCallback(T=>{var{id:P}=T;return Ee.debug("fileIsOpen",T,P,d),P!=null&&d.has(P)},[d]),U=v.useCallback(T=>{var{id:P}=T;return Ee.debug("fileIsOpenAsPreview",T,P,u),P!=null&&u.has(P)},[u]),j=v.useCallback(T=>{if(T!=null){var P=r.getOpenedPanelById(T);P&&Tl(P)&&P.focus()}},[r]),H=v.useCallback(T=>{var{id:P,settings:D,fileMetadata:R,session:z,sessionLanguage:ve,isPreview:L=!1}=T,Y={settings:D,fileMetadata:R},ee=k(R);return{type:"react-component",component:fn.COMPONENT,isFocusOnShow:!1,props:{localDashboardId:e,metadata:{id:P},session:z,sessionLanguage:ve,panelState:Y,isPreview:L,notebooksUrl:s},title:ee,id:P}},[k,e,s]),K=v.useCallback(function(T,P,D){var R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{id:null,itemName:y(D)},z=E(R);if(A(R)&&z!=null){Ee.debug("File is already open, focus panel"),x(R),j(z);return}var ve=_.getStackForComponentTypes(n.root,[fn.COMPONENT]),L=H({id:z,settings:D,fileMetadata:R,session:T,sessionLanguage:P});Ee.debug("createNotebook",L,d),_.openComponentInStack(ve,L)},[A,j,y,E,n.root,H,d,x]),de=v.useCallback(function(T,P,D,R){var z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;Ee.debug("selectNotebook",R,z);var ve=A(R),L=U(R),[Y]=[...u.values()],ee=!z,he=ee&&Y?Y:E(R);if(he==null||he==="")throw new Error("Unable to retrieve or create panelId for metadata",R);if(ve||L)x(R);else{var _e=_.getStackForComponentTypes(n.root,[fn.COMPONENT]),ri=H({id:he,settings:D,fileMetadata:R,session:T,sessionLanguage:P,isPreview:ee});_.openComponentInStack(_e,ri)}if(L&&z){var Ki=R.id,ea=_.getStackForConfig(n.root,{component:fn.COMPONENT,id:he}),ai=_.getContentItemInStack(ea,{component:fn.COMPONENT,id:he});ai&&it(ai)&&(ai.container.emit(ue.PROMOTE_FROM_PREVIEW),C(Ki),f(Ki,he))}z&&j(he)},[x,A,U,j,E,n.root,H,u,C,f]),ge=v.useCallback(function(T,P){var D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,z=r.getLastUsedPanelOfType(fn);z&&Tl(z)?D!=null&&D.value!=null&&z.notebook!=null&&z.notebook.append(D.value):R&&K(T,P,D)},[K,r]),be=v.useCallback((T,P)=>Aa.hydrate(_l(_l({},T),{},{notebooksUrl:s}),P),[s]);return jn(a,wi,t),jn(a,$a),jn(a,Va),jn(a,Ba),jn(a,fn,be),me(n.eventHub,ot.SEND_COMMAND,w),me(n.eventHub,ot.SETTINGS_CHANGED,S),me(n.eventHub,ue.CLOSE_FILE,q),me(n.eventHub,ue.CREATE_NOTEBOOK,K),me(n.eventHub,ue.SELECT_NOTEBOOK,de),me(n.eventHub,ue.RENAME,M),me(n.eventHub,ue.RENAME_FILE,O),me(n.eventHub,ue.SEND_TO_NOTEBOOK,ge),me(n.eventHub,ue.REGISTER_FILE,N),me(n.eventHub,ue.UNREGISTER_FILE,W),null}var di=B.module("FilterPlugin");function Ol(i,e){return i.concat(e)}function FS(i){cn(i);var{id:e,layout:t,registerComponent:n}=i,r=Ya(),[a]=v.useState(()=>new Map),[s]=v.useState(()=>new Map),[o]=v.useState(()=>new Map),d=v.useCallback(()=>{var b=Array.from(a.values()).reduce(Ol,[]).sort((S,y)=>{var E=Ct.toLower(S.name),M=Ct.toLower(y.name);if(E!==M)return E>M?1:-1;var O=Ct.toLower(S.type),x=Ct.toLower(y.type);return O!==x?O>x?1:-1:0}).reduce((S,y)=>((S.length===0||Ct.toLower(S[S.length-1].name)!==Ct.toLower(y.name)||Ct.toLower(S[S.length-1].type)!==Ct.toLower(y.type))&&S.push(y),S),[]),C=Array.from(s.values()).reduce(Ol,[]).sort((S,y)=>S.timestamp-y.timestamp),w=new Map(o);di.debug("sendUpdate",{columns:b,filters:C,tableMap:w}),r(Ft(e,{columns:b,filters:C,tableMap:w}))},[r,e,a,s,o]),h=v.useCallback((b,C)=>{di.debug2("handleColumnsChanged",b,C),a.set(b,[].concat(C)),d()},[a,d]),u=v.useCallback((b,C)=>{di.debug2("handleFiltersChanged",b,C),s.set(b,[].concat(C)),d()},[s,d]),c=v.useCallback((b,C)=>{di.debug2("handleTableChanged",b,C),o.set(_.getIdFromPanel(b),C),d()},[o,d]),m=v.useCallback(b=>{di.debug2("handlePanelUnmount",b),a.delete(b),s.delete(b),o.delete(_.getIdFromPanel(b)),d()},[a,s,o,d]),p=v.useCallback(b=>{var{title:C="DropdownFilter",metadata:w={},panelState:S=null,id:y=$e.generate(),focusElement:E=_.DEFAULT_FOCUS_SELECTOR,createNewStack:M=!1,dragEvent:O=null}=b,x={type:"react-component",component:Pn.COMPONENT,props:{id:y,metadata:w,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;_.openComponent({root:N,config:x,focusElement:E,createNewStack:M,dragEvent:O})},[t,e]),f=v.useCallback(b=>{var{title:C="InputFilter",metadata:w={},panelState:S=null,id:y=$e.generate(),focusElement:E=_.DEFAULT_FOCUS_SELECTOR,createNewStack:M=!1,dragEvent:O=void 0}=b,x={type:"react-component",component:Pi.COMPONENT,props:{id:y,metadata:w,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;_.openComponent({root:N,config:x,focusElement:E,createNewStack:M,dragEvent:O})},[t,e]),g=v.useCallback(b=>{var{title:C="FilterSets",metadata:w={},panelState:S=null,id:y=$e.generate(),focusElement:E=_.DEFAULT_FOCUS_SELECTOR,createNewStack:M=!1,dragEvent:O=null}=b,x={type:"react-component",component:ma.COMPONENT,props:{id:y,metadata:w,panelState:S,localDashboardId:e},title:C,id:y},{root:N}=t;_.openComponent({root:N,config:x,focusElement:E,createNewStack:M,dragEvent:O})},[t,e]);return v.useEffect(function(){var C=[n(Pn.COMPONENT,Pn),n(Pi.COMPONENT,Pi),n(ma.COMPONENT,ma)];return()=>{C.forEach(w=>w())}},[n]),me(t.eventHub,fe.COLUMNS_CHANGED,h),me(t.eventHub,fe.FILTERS_CHANGED,u),me(t.eventHub,fe.TABLE_CHANGED,c),me(t.eventHub,fe.OPEN_DROPDOWN,p),me(t.eventHub,fe.OPEN_INPUT,f),me(t.eventHub,fe.OPEN_FILTER_SET_MANAGER,g),me(t.eventHub,Q.UNMOUNT,m),null}function RS(i){cn(i);var{hydrate:e}=i,t=On(),n=v.useMemo(()=>[t.VariableType.TABLE,t.VariableType.TREETABLE,t.VariableType.HIERARCHICALTABLE],[t]);return Cs({dashboardProps:i,componentName:Zn.COMPONENT,component:Zn,supportedTypes:n,hydrate:e}),null}function Dl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Jt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dl(Object(t),!0).forEach(function(n){tu(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Dl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function tu(i,e,t){return e=jS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function jS(i){var e=AS(i,"string");return typeof e=="symbol"?e:String(e)}function AS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function nu(i){var e=i;return typeof e.getCoordinateForColumn=="function"}function Il(i){var e=i;return nu(i)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function xl(i){var e;return i.description===void 0||!((e=i.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var hi=B.module("LinkerUtils");class Jr{static getLinkType(e,t,n){var r;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||n!=null&&n!==e.panelId&&n!==t.panelId)return hi.debug2("Incompatible panel ids",e,t,n),"invalid";if(e.panelComponent==null||t.panelComponent==null)return hi.error("PanelComponent should not be null",e,t),"invalid";var a=(r=Jr.ALLOWED_LINKS.get(e.panelComponent))===null||r===void 0?void 0:r.includes(t.panelComponent);if(a===void 0||!a)return hi.debug2("Incompatible panel components",e,t),"invalid";var{columnType:s}=e,{columnType:o}=t,d=o===null||oe.isCompatibleType(s,o);if(!d)return hi.debug2("Incompatible type",s,o),"invalid";switch(t.panelComponent){case _.getComponentName(Li):return"chartLink";case _.getComponentName(Zn):return"tableLink";case _.getComponentName(Pn):return"filterSource"}return hi.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:n,columnType:r}=t;return e.find(a=>{var{name:s,type:o}=a;return s===n&&o===r})}static cloneLinksForPanel(e,t,n){var r=[];return e.forEach(a=>{var s;a.start.panelId===t&&a.type!=="filterSource"?r.push(Jt(Jt({},a),{},{id:$e.generate(),start:Jt(Jt({},a.start),{},{panelId:n})})):((s=a.end)===null||s===void 0?void 0:s.panelId)===t&&r.push(Jt(Jt({},a),{},{id:$e.generate(),end:Jt(Jt({},a.end),{},{panelId:n})}))}),r}}tu(Jr,"ALLOWED_LINKS",new Map([[_.getComponentName(Zn),[_.getComponentName(Zn),_.getComponentName(Li),_.getComponentName(Pn)]]]));const Fn=Jr;function iu(i,e,t){return e=kS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function kS(i){var e=$S(i,"string");return typeof e=="symbol"?e:String(e)}function $S(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var US=B.module("LinkerLink"),Nl=.015,Ll=1.5,ru=12,au=12,Ml=2,cr=Math.sqrt((au*.5)**2+ru**2),Fl=Math.asin(au*.5/ru),Rl=15,Qt=Math.PI*.5;class Wn extends v.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(oe.isNumberType(e)||oe.isCharType(e))return Rc(t);if(oe.isTextType(e))return jc(t);if(oe.isDateType(e))return Ac(t);if(oe.isBooleanType(e)){if(t===ke.eq)return"is equal to";if(t===ke.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(n){return US.warn(n),""}}constructor(e){super(e),iu(this,"getOperators",te((t,n)=>{var{onOperatorChanged:r}=this.props,a=oe.getFilterTypes(n);return oe.isBooleanType(n)&&(a=[ke.eq,ke.notEq]),a.flatMap((s,o)=>{if(s==="eqIgnoreCase"||s==="notEqIgnoreCase")return[];var d="";return s==="startsWith"?d="a*":s==="endsWith"?d="*z":d=oe.getFilterOperatorString(s),[{title:Wn.getLabelForLinkFilter(n,s),icon:l.jsx("b",{children:d}),action:()=>r(t,s),order:o}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:n,onDelete:r}=this.props;e.altKey?r(t):n(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:n,x1:r,y1:a,x2:s,y2:o,id:d,startColumnType:h,type:u}=this.props,{isHovering:c}=this.state,m=Math.sqrt((r-s)**2+(a-o)**2),p=Math.atan2(o-a,s-r),f=Math.sin(p),g=Math.cos(p)+2,b=window.innerWidth,C=window.innerHeight,w=0,S=0,y=Math.max(w,Math.min(r+(s-r)/2+f*(m*Nl)**Ll,b)),E=Math.max(S,Math.min(a+(o-a)/2+g*(m*Nl)**Ll,C)),M="M ".concat(r," ").concat(a," Q ").concat(y," ").concat(E," ").concat(s," ").concat(o),O="M ".concat(w," ").concat(S," L ").concat(w," ").concat(C," L ").concat(b," ").concat(C," L ").concat(b," ").concat(S,` z
|
|
23
23
|
`).concat(Wn.makeCirclePath(r,a,Rl),`
|
|
24
|
-
`).concat(Wn.makeCirclePath(s,o,Rl)),x="link-select-clip-".concat(d),N=Math.atan2(o-E,s-y),W=N-Fl+Math.PI,q=N+Fl+Math.PI,k=s+Math.cos(N)*Ml,A=o+Math.sin(N)*Ml,U=k+Math.cos(W)*cr,j=A+Math.sin(W)*cr,H=k+Math.cos(q)*cr,K=A+Math.sin(q)*cr,de="".concat(k,",").concat(A," ").concat(U,",").concat(j," ").concat(H,",").concat(K),ge=.25*r+.5*y+.25*s,be=.25*a+.5*E+.25*o,T=y-r+(s-y),P=E-a+(o-E),D=P/T,R=20,z=R/Math.sqrt(1+D**2),fe=z*D,L=z*-1,Y=fe*-1;Number.isFinite(D)?D>0?(z*=-1,fe*=-1,L*=-1,Y*=-1,L-=50-10*(Math.abs(p)%Qt),Y+=10*(Math.abs(p)%Qt),z-=50-10*(Math.abs(p)%Qt),fe+=10*(Math.abs(p)%Qt)):D<0?(L+=10*(Math.abs(p)%Qt),Y+=10*(Math.abs(p)%Qt),z+=10*(Math.abs(p)%Qt),fe+=10*(Math.abs(p)%Qt)):(L=15,Y=10,z=-25,fe=10):(L=10,Y=5,z=10,fe=-35);var ee="";t!==void 0&&(t==="startsWith"?ee="a*":t==="endsWith"?ee="*z":ee=oe.getFilterOperatorString(t));var he=u!=="chartLink"&&u!=="filterSource";return l.jsxs(l.Fragment,{children:[l.jsxs("svg",{className:Z(e,{hovering:c}),children:[l.jsx("clipPath",{id:x,children:l.jsx("path",{d:O,clipRule:"evenodd"})}),l.jsx("path",{className:"link-select",d:M,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(x,")"),"data-testid":"link-select"}),l.jsx("path",{className:"link-background",d:M}),l.jsx("path",{className:"link-foreground",d:M}),l.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),l.jsx("polygon",{className:"link-triangle",points:de})]}),h!=null&&n&&l.jsxs(l.Fragment,{children:[he&&l.jsx(F,{kind:"primary",className:"btn-fab btn-operator",style:{top:be+(D>=0?fe:Y),left:ge+(D>=0?z:L)},onClick:()=>{},icon:l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx("b",{children:ee}),l.jsx(X,{icon:Sn,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:l.jsx(En,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),l.jsx(F,{kind:"primary",className:"btn-fab btn-delete",style:{top:be+(D<0?fe:Y),left:ge+(D<0?z:L)},onClick:this.handleDelete,icon:Ri,tooltip:"Delete"})]})]})}}iu(Wn,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const HS=Wn;function jl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Al(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jl(Object(t),!0).forEach(function(n){Rs(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):jl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Rs(i,e,t){return e=VS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function VS(i){var e=BS(i,"string");return typeof e=="symbol"?e:String(e)}function BS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var pa=B.module("LinkerOverlayContent");class su extends f.Component{constructor(e){super(e),Rs(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=J.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){pa.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:r}=e,a=t.getOpenedPanelById(n);if(a!=null){if(!nu(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var s=a.getCoordinateForColumn(r);if(s!=null)return s}catch{pa.error("Could not get coordinate for column",r,a)}}var o=t.getContainerByPanelId(n);if(o==null)throw new Error("Unable to find panel container for id: ".concat(n));return _.getTabPoint(o)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:r}=this.props,a=n.map(s=>s.id===e?Al(Al({},s),{},{operator:t}):s);r(a)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),n=zi(e.x,0,window.innerWidth-t.width),r=zi(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:n,y:r}})}}handleMouseMove(e){var{offset:t,isDragging:n}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),n&&this.dialogRef.current){var r=this.dialogRef.current.getBoundingClientRect(),a=zi(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),s=zi(window.innerHeight-(e.clientY+r.height+t.y),0,window.innerHeight-r.height);this.setState({dialog:{x:a,y:s}})}}handleMouseDown(e){var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(r=>n(r))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:r,onLinkSelected:a,onLinkDeleted:s,onAllLinksDeleted:o,onDone:d}=this.props,{mouse:h,dialog:u,isDragging:c,mode:m}=this.state,p=t.map(v=>{try{var g,b,{id:C,type:w,isReversed:S,start:y,end:E,operator:M}=v,O=y.columnType,[x,N]=this.getPointFromLinkPoint(y),W=(g=h?.x)!==null&&g!==void 0?g:x,q=(b=h?.y)!==null&&b!==void 0?b:N;if(E!=null&&([W,q]=this.getPointFromLinkPoint(E)),S!=null&&S){var[k,A]=[x,N];[x,N]=[W,q],[W,q]=[k,A]}var U=Z("linker-link",{disabled:e},{"link-filter-source":w==="filterSource"},{"link-invalid":w==="invalid"},{interactive:v.end==null},{"link-is-selected":n.has(C)},{"danger-delete":m==="delete"});return{x1:x,y1:N,x2:W,y2:q,id:C,className:U,operator:M,startColumnType:O,type:w}}catch(j){return pa.warn("Unable to get point for link",v,j),null}}).filter(v=>v!=null);return l.jsxs("div",{className:Z("linker-overlay",{"danger-delete":m==="delete"}),children:[p.map(v=>{var{x1:g,y1:b,x2:C,y2:w,id:S,className:y,operator:E,startColumnType:M,type:O}=v;return l.jsx(HS,{className:y,id:S,x1:g,y1:b,x2:C,y2:w,onClick:a,onDelete:s,isSelected:n.has(S),operator:E,startColumnType:M,type:O,onOperatorChanged:this.handleOperatorChanged},S)}),l.jsxs("div",{className:Z("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:u?.y,right:u?.x},"data-testid":"linker-toast-dialog",children:[l.jsx(F,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:oc,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&l.jsx(Mt,{children:"Drag to reposition"})}),l.jsx("div",{className:"toast-body",children:r}),l.jsxs("div",{className:"toast-footer",children:[l.jsx(F,{kind:"secondary",onClick:o,children:"Clear All"}),l.jsx(F,{kind:"primary",onClick:d,children:"Done"})]})]}),l.jsx(ie,{actions:[{action:this.handleEscapePressed,shortcut:ln.LINKER_CLOSE,isGlobal:!0}]})]})}}Rs(su,"defaultProps",{disabled:"false"});const WS=su;function kl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function $l(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kl(Object(t),!0).forEach(function(n){ou(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):kl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ou(i,e,t){return e=GS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function GS(i){var e=KS(i,"string");return typeof e=="symbol"?e:String(e)}function KS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ie=B.module("Linker"),zS=(i,e)=>({activeTool:Vr(i),dh:Ur(i),isolatedLinkerPanelId:Ps(i,e.localDashboardId),links:ii(i,e.localDashboardId),timeZone:ki(i)}),qS=Me(zS,{setActiveTool:Wr,setDashboardLinks:Ts,addDashboardLinks:Sb,deleteDashboardLinks:yb,setDashboardIsolatedLinkerPanelId:Bh,setDashboardColumnSelectionValidator:wb});class YS extends f.Component{constructor(e){super(e),ou(this,"getCachedLinks",te((t,n,r)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),r!==void 0?a.filter(s=>{var o,d;return(s==null||(o=s.start)===null||o===void 0?void 0:o.panelId)===r||(s==null||(d=s.end)===null||d===void 0?void 0:d.panelId)===r||s?.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===Xe.DEFAULT&&this.reset())}componentDidCatch(e,t){Ie.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(yt.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(yt.DATA_SELECTED,this.handleUpdateValues),t.on(yt.STATE_CHANGED,this.handleStateChange),t.on(ka.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(Q.CLONED,this.handlePanelCloned),t.on(ve.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(ve.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(Q.CLOSE,this.handlePanelClosed),t.on(Q.CLOSED,this.handlePanelClosed),t.on(Q.DRAGGING,this.handlePanelDragging),t.on(Q.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(yt.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(yt.DATA_SELECTED,this.handleUpdateValues),t.off(yt.STATE_CHANGED,this.handleStateChange),t.off(ka.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(Q.CLONED,this.handlePanelCloned),t.off(ve.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(ve.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(Q.CLOSE,this.handlePanelClosed),t.off(Q.CLOSED,this.handlePanelClosed),t.off(Q.DRAGGING,this.handlePanelDragging),t.off(Q.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(Xe.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(Xe.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){Ie.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:n,localDashboardId:r,setActiveTool:a,setDashboardIsolatedLinkerPanelId:s}=this.props,o=_.getIdFromPanel(e),d=n.filter(h=>{var u,c;return((u=h.start)===null||u===void 0?void 0:u.panelId)===o||((c=h.end)===null||c===void 0?void 0:c.panelId)===o});if(!this.isOverlayShown()&&o!=null){a(Xe.LINKER),s(r,o),d.length===0&&this.columnSelected(e,t,!0,o);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){Ie.debug("handleColumnsChanged",e,t);var{links:n}=this.props,r=_.getIdFromPanel(e);if(r==null){Ie.error("Invalid panelId",e);return}var a=n.filter(s=>{var{start:o,end:d}=s;return o.panelId===r&&Fn.findColumn(t,o)==null||d!=null&&d.panelId===r&&Fn.findColumn(t,d)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!xl(t)){Ie.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3?arguments[3]:void 0;if(!(r===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:s}=this.state,o=_.getIdFromPanel(e);if(o!=null){var d=_.getComponentNameFromPanel(e),{name:h,type:u}=t;if(s==null||s.start==null){var c={id:$e.generate(),start:{panelId:o,panelComponent:d,columnName:h,columnType:u},type:"invalid",isReversed:n};Ie.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:m}=this.props,{start:p,id:v,isReversed:g}=s,b={panelId:o,panelComponent:d,columnName:h,columnType:u},C=Fn.getLinkType(g!==void 0&&g?b:p,g!==void 0&&g?p:b,r??a);switch(C){case"invalid":Ie.debug("Ignore invalid link connection",s,b);return;case"filterSource":{var w=g!==void 0&&g?p.panelId:b.panelId,S=m.filter(x=>{var{end:N}=x;return N?.panelId===w});this.deleteLinks(S);break}case"chartLink":{var y=g===!0?p:b,E=g===!0?b:p;Ie.debug("creating chartlink",{existingLinkEnd:y,start:p,end:b});var M=m.filter(x=>{var{end:N,start:W}=x;return W?.panelId===E.panelId&&N?.panelId===y.panelId&&N?.columnName===y.columnName&&N?.columnType===y.columnType});this.deleteLinks(M);break}}var O={start:g!==void 0&&g?b:p,end:g!==void 0&&g?p:b,id:v,type:C,operator:ke.eq};Ie.info("creating link",O),this.setState({linkInProgress:void 0,selectedIds:new Set([v])},()=>{this.addLinks([O])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:r,columnName:a,columnType:s}=n,o=t.getOpenedPanelById(r);o?Il(o)?o.unsetFilterValue(a,s):Ie.debug("endPanel.unsetFilterValue not implemented",o):Ie.debug("endPanel no longer exists, ignoring unsetFilterValue",r)}}setPanelFilterMap(e,t){Ie.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,r=n.getOpenedPanelById(e);r?Il(r)?r.setFilterMap(t):Ie.debug("panel.setFilterMap not implemented",e,r):Ie.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(s=>this.unsetFilterValueForLink(s)),t){var{setDashboardLinks:r}=this.props;r(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(s=>{var{id:o}=s;return o}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(r=>{var a,s;return(r==null||(a=r.start)===null||a===void 0?void 0:a.panelId)===t||(r==null||(s=r.end)===null||s===void 0?void 0:s.panelId)===t});this.deleteLinks(n)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,n=t.find(r=>r.id===e);n?this.deleteLinks([n]):Ie.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var n=_.getIdFromPanel(e),{dh:r,links:a,timeZone:s}=this.props,o=new Map,d=0;d<a.length;d+=1){var{start:h,end:u,operator:c}=a[d];if(h.panelId===n&&u!=null){var{panelId:m,columnName:p,columnType:v}=u,g=o.has(m)?o.get(m):new Map,b=g.has(p)===!0?g.get(p).filterList:[],{visibleIndex:C,isExpandable:w,isGrouped:S}=t[h.columnName],{value:y}=t[h.columnName],E="".concat(y);if(y===null&&w&&S&&(y=void 0),v!=null&&oe.isDateType(v)){var M=new Ge(r,{timeZone:s,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:kc.FULL_DATE_FORMAT});E=M.format(y)}var O={operator:c,text:E,value:y,startColumnIndex:C};b.push(O),g.set(p,{columnType:v,filterList:b}),o.set(m,g)}}o.forEach((x,N)=>{this.setPanelFilterMap(N,x)})}handlePanelCloned(e,t){var{links:n}=this.props,r=_.getIdFromPanel(e),a=t.id;if(r!=null){var s=Fn.cloneLinksForPanel(n,r,a);this.addLinks(s)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:s}=r;if(a.panelId===e||s?.panelId===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){Ie.debug("Panel ".concat(e," closed, deleting links.")),this.deleteLinksForPanelId(e)}handleLinkSelected(e){this.setState({selectedIds:new Set([e])})}handleLinksUpdated(e){var{localDashboardId:t,setDashboardLinks:n}=this.props;n(t,e)}handleLayoutStateChanged(){this.forceUpdate()}handleStateChange(){this.forceUpdate()}handleExited(){var{localDashboardId:e,setDashboardIsolatedLinkerPanelId:t}=this.props;t(e,void 0)}deleteLinksForPanelId(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:s,id:o}=r;(a.panelId===e||s?.panelId===e)&&this.handleLinkDeleted(o)}}isOverlayShown(){var{activeTool:e}=this.props;return e===Xe.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case Xe.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:$l($l({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:r}=this.props;if(t==null)return n?.start!=null&&this.updateLinkInProgressType(),!1;if(!xl(t))return Ie.debug2("Column is not filterable",t.description),n?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(n?.start==null)return!0;var{isReversed:a,start:s}=n,o=_.getIdFromPanel(e);if(o==null)return!1;var d={panelId:o,panelComponent:_.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},h=a!==void 0&&a?Fn.getLinkType(d,s,r):Fn.getLinkType(s,d,r);return this.updateLinkInProgressType(h),h!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:r,selectedIds:a,isDraggingPanel:s}=this.state,o=this.isOverlayShown(),d=r!=null&&r.start!=null,h=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 s?null:l.jsx(Oi,{in:o,timeout:wn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:l.jsx(WS,{disabled:d,panelManager:n,links:this.getCachedLinks(e,r,t),selectedIds:a,messageText:h,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel})})}}var ZS=qS(YS);const XS=ZS;function JS(i){cn(i);var{id:e,layout:t,panelManager:n}=i;return l.jsx(XS,{layout:t,localDashboardId:e,panelManager:n})}function lu(i,e,t){return e=QS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function QS(i){var e=ey(i,"string");return typeof e=="symbol"?e:String(e)}function ey(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Qn{static getNewMarkdownTitle(e){for(var t="".concat(Qn.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Qn.DEFAULT_TITLE,"-").concat(n);return t}}lu(Qn,"DEFAULT_TITLE","Note");lu(Qn,"DEFAULT_CONTENT",`# Markdown Note
|
|
24
|
+
`).concat(Wn.makeCirclePath(s,o,Rl)),x="link-select-clip-".concat(d),N=Math.atan2(o-E,s-y),W=N-Fl+Math.PI,q=N+Fl+Math.PI,k=s+Math.cos(N)*Ml,A=o+Math.sin(N)*Ml,U=k+Math.cos(W)*cr,j=A+Math.sin(W)*cr,H=k+Math.cos(q)*cr,K=A+Math.sin(q)*cr,de="".concat(k,",").concat(A," ").concat(U,",").concat(j," ").concat(H,",").concat(K),ge=.25*r+.5*y+.25*s,be=.25*a+.5*E+.25*o,T=y-r+(s-y),P=E-a+(o-E),D=P/T,R=20,z=R/Math.sqrt(1+D**2),ve=z*D,L=z*-1,Y=ve*-1;Number.isFinite(D)?D>0?(z*=-1,ve*=-1,L*=-1,Y*=-1,L-=50-10*(Math.abs(p)%Qt),Y+=10*(Math.abs(p)%Qt),z-=50-10*(Math.abs(p)%Qt),ve+=10*(Math.abs(p)%Qt)):D<0?(L+=10*(Math.abs(p)%Qt),Y+=10*(Math.abs(p)%Qt),z+=10*(Math.abs(p)%Qt),ve+=10*(Math.abs(p)%Qt)):(L=15,Y=10,z=-25,ve=10):(L=10,Y=5,z=10,ve=-35);var ee="";t!==void 0&&(t==="startsWith"?ee="a*":t==="endsWith"?ee="*z":ee=oe.getFilterOperatorString(t));var he=u!=="chartLink"&&u!=="filterSource";return l.jsxs(l.Fragment,{children:[l.jsxs("svg",{className:Z(e,{hovering:c}),children:[l.jsx("clipPath",{id:x,children:l.jsx("path",{d:O,clipRule:"evenodd"})}),l.jsx("path",{className:"link-select",d:M,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(x,")"),"data-testid":"link-select"}),l.jsx("path",{className:"link-background",d:M}),l.jsx("path",{className:"link-foreground",d:M}),l.jsx("circle",{className:"link-dot",cx:r,cy:a,r:"5"}),l.jsx("polygon",{className:"link-triangle",points:de})]}),h!=null&&n&&l.jsxs(l.Fragment,{children:[he&&l.jsx(F,{kind:"primary",className:"btn-fab btn-operator",style:{top:be+(D>=0?ve:Y),left:ge+(D>=0?z:L)},onClick:()=>{},icon:l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx("b",{children:ee}),l.jsx(X,{icon:Sn,transform:"right-8 down-9 shrink-5"})]}),tooltip:"Change comparison operator",children:l.jsx(En,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})}),l.jsx(F,{kind:"primary",className:"btn-fab btn-delete",style:{top:be+(D<0?ve:Y),left:ge+(D<0?z:L)},onClick:this.handleDelete,icon:Ri,tooltip:"Delete"})]})]})}}iu(Wn,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const HS=Wn;function jl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Al(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jl(Object(t),!0).forEach(function(n){Rs(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):jl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Rs(i,e,t){return e=VS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function VS(i){var e=BS(i,"string");return typeof e=="symbol"?e:String(e)}function BS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var pa=B.module("LinkerOverlayContent");class su extends v.Component{constructor(e){super(e),Rs(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=J.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){pa.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:n,columnName:r}=e,a=t.getOpenedPanelById(n);if(a!=null){if(!nu(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(n));try{var s=a.getCoordinateForColumn(r);if(s!=null)return s}catch{pa.error("Could not get coordinate for column",r,a)}}var o=t.getContainerByPanelId(n);if(o==null)throw new Error("Unable to find panel container for id: ".concat(n));return _.getTabPoint(o)}handleOperatorChanged(e,t){var{links:n,onLinksUpdated:r}=this.props,a=n.map(s=>s.id===e?Al(Al({},s),{},{operator:t}):s);r(a)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),n=zi(e.x,0,window.innerWidth-t.width),r=zi(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:n,y:r}})}}handleMouseMove(e){var{offset:t,isDragging:n}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),n&&this.dialogRef.current){var r=this.dialogRef.current.getBoundingClientRect(),a=zi(window.innerWidth-(e.clientX+r.width+t.x),0,window.innerWidth-r.width),s=zi(window.innerHeight-(e.clientY+r.height+t.y),0,window.innerHeight-r.height);this.setState({dialog:{x:a,y:s}})}}handleMouseDown(e){var t={x:0,y:0};if(this.dialogRef.current){var n=this.dialogRef.current.getBoundingClientRect();t.x=n.right-(n.width+e.clientX),t.y=n.bottom-(n.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:n}=this.props;e.preventDefault(),t.forEach(r=>n(r))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:n,messageText:r,onLinkSelected:a,onLinkDeleted:s,onAllLinksDeleted:o,onDone:d}=this.props,{mouse:h,dialog:u,isDragging:c,mode:m}=this.state,p=t.map(f=>{try{var g,b,{id:C,type:w,isReversed:S,start:y,end:E,operator:M}=f,O=y.columnType,[x,N]=this.getPointFromLinkPoint(y),W=(g=h?.x)!==null&&g!==void 0?g:x,q=(b=h?.y)!==null&&b!==void 0?b:N;if(E!=null&&([W,q]=this.getPointFromLinkPoint(E)),S!=null&&S){var[k,A]=[x,N];[x,N]=[W,q],[W,q]=[k,A]}var U=Z("linker-link",{disabled:e},{"link-filter-source":w==="filterSource"},{"link-invalid":w==="invalid"},{interactive:f.end==null},{"link-is-selected":n.has(C)},{"danger-delete":m==="delete"});return{x1:x,y1:N,x2:W,y2:q,id:C,className:U,operator:M,startColumnType:O,type:w}}catch(j){return pa.warn("Unable to get point for link",f,j),null}}).filter(f=>f!=null);return l.jsxs("div",{className:Z("linker-overlay",{"danger-delete":m==="delete"}),children:[p.map(f=>{var{x1:g,y1:b,x2:C,y2:w,id:S,className:y,operator:E,startColumnType:M,type:O}=f;return l.jsx(HS,{className:y,id:S,x1:g,y1:b,x2:C,y2:w,onClick:a,onDelete:s,isSelected:n.has(S),operator:E,startColumnType:M,type:O,onOperatorChanged:this.handleOperatorChanged},S)}),l.jsxs("div",{className:Z("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:u?.y,right:u?.x},"data-testid":"linker-toast-dialog",children:[l.jsx(F,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:oc,onClick:()=>{},onMouseDown:this.handleMouseDown,children:!c&&l.jsx(Mt,{children:"Drag to reposition"})}),l.jsx("div",{className:"toast-body",children:r}),l.jsxs("div",{className:"toast-footer",children:[l.jsx(F,{kind:"secondary",onClick:o,children:"Clear All"}),l.jsx(F,{kind:"primary",onClick:d,children:"Done"})]})]}),l.jsx(ie,{actions:[{action:this.handleEscapePressed,shortcut:ln.LINKER_CLOSE,isGlobal:!0}]})]})}}Rs(su,"defaultProps",{disabled:"false"});const WS=su;function kl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function $l(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kl(Object(t),!0).forEach(function(n){ou(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):kl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function ou(i,e,t){return e=GS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function GS(i){var e=KS(i,"string");return typeof e=="symbol"?e:String(e)}function KS(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Ie=B.module("Linker"),zS=(i,e)=>({activeTool:Vr(i),dh:Ur(i),isolatedLinkerPanelId:Ps(i,e.localDashboardId),links:ii(i,e.localDashboardId),timeZone:ki(i)}),qS=Me(zS,{setActiveTool:Wr,setDashboardLinks:Ts,addDashboardLinks:Sb,deleteDashboardLinks:yb,setDashboardIsolatedLinkerPanelId:Bh,setDashboardColumnSelectionValidator:wb});class YS extends v.Component{constructor(e){super(e),ou(this,"getCachedLinks",te((t,n,r)=>{var a=[...t];return n!=null&&n.start!=null&&a.push(n),r!==void 0?a.filter(s=>{var o,d;return(s==null||(o=s.start)===null||o===void 0?void 0:o.panelId)===r||(s==null||(d=s.end)===null||d===void 0?void 0:d.panelId)===r||s?.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===Xe.DEFAULT&&this.reset())}componentDidCatch(e,t){Ie.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(yt.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(yt.DATA_SELECTED,this.handleUpdateValues),t.on(yt.STATE_CHANGED,this.handleStateChange),t.on(ka.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(Q.CLONED,this.handlePanelCloned),t.on(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(Q.CLOSE,this.handlePanelClosed),t.on(Q.CLOSED,this.handlePanelClosed),t.on(Q.DRAGGING,this.handlePanelDragging),t.on(Q.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(yt.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(yt.DATA_SELECTED,this.handleUpdateValues),t.off(yt.STATE_CHANGED,this.handleStateChange),t.off(ka.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(Q.CLONED,this.handlePanelCloned),t.off(fe.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(fe.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(Q.CLOSE,this.handlePanelClosed),t.off(Q.CLOSED,this.handlePanelClosed),t.off(Q.DRAGGING,this.handlePanelDragging),t.off(Q.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(Xe.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(Xe.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){Ie.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:n,localDashboardId:r,setActiveTool:a,setDashboardIsolatedLinkerPanelId:s}=this.props,o=_.getIdFromPanel(e),d=n.filter(h=>{var u,c;return((u=h.start)===null||u===void 0?void 0:u.panelId)===o||((c=h.end)===null||c===void 0?void 0:c.panelId)===o});if(!this.isOverlayShown()&&o!=null){a(Xe.LINKER),s(r,o),d.length===0&&this.columnSelected(e,t,!0,o);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){Ie.debug("handleColumnsChanged",e,t);var{links:n}=this.props,r=_.getIdFromPanel(e);if(r==null){Ie.error("Invalid panelId",e);return}var a=n.filter(s=>{var{start:o,end:d}=s;return o.panelId===r&&Fn.findColumn(t,o)==null||d!=null&&d.panelId===r&&Fn.findColumn(t,d)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!xl(t)){Ie.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3?arguments[3]:void 0;if(!(r===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:s}=this.state,o=_.getIdFromPanel(e);if(o!=null){var d=_.getComponentNameFromPanel(e),{name:h,type:u}=t;if(s==null||s.start==null){var c={id:$e.generate(),start:{panelId:o,panelComponent:d,columnName:h,columnType:u},type:"invalid",isReversed:n};Ie.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:m}=this.props,{start:p,id:f,isReversed:g}=s,b={panelId:o,panelComponent:d,columnName:h,columnType:u},C=Fn.getLinkType(g!==void 0&&g?b:p,g!==void 0&&g?p:b,r??a);switch(C){case"invalid":Ie.debug("Ignore invalid link connection",s,b);return;case"filterSource":{var w=g!==void 0&&g?p.panelId:b.panelId,S=m.filter(x=>{var{end:N}=x;return N?.panelId===w});this.deleteLinks(S);break}case"chartLink":{var y=g===!0?p:b,E=g===!0?b:p;Ie.debug("creating chartlink",{existingLinkEnd:y,start:p,end:b});var M=m.filter(x=>{var{end:N,start:W}=x;return W?.panelId===E.panelId&&N?.panelId===y.panelId&&N?.columnName===y.columnName&&N?.columnType===y.columnType});this.deleteLinks(M);break}}var O={start:g!==void 0&&g?b:p,end:g!==void 0&&g?p:b,id:f,type:C,operator:ke.eq};Ie.info("creating link",O),this.setState({linkInProgress:void 0,selectedIds:new Set([f])},()=>{this.addLinks([O])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:n}=e,{panelId:r,columnName:a,columnType:s}=n,o=t.getOpenedPanelById(r);o?Il(o)?o.unsetFilterValue(a,s):Ie.debug("endPanel.unsetFilterValue not implemented",o):Ie.debug("endPanel no longer exists, ignoring unsetFilterValue",r)}}setPanelFilterMap(e,t){Ie.debug("Set filter data for panel:",e,t);var{panelManager:n}=this.props,r=n.getOpenedPanelById(e);r?Il(r)?r.setFilterMap(t):Ie.debug("panel.setFilterMap not implemented",e,r):Ie.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(s=>this.unsetFilterValueForLink(s)),t){var{setDashboardLinks:r}=this.props;r(n,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(n,e.map(s=>{var{id:o}=s;return o}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var n=e.filter(r=>{var a,s;return(r==null||(a=r.start)===null||a===void 0?void 0:a.panelId)===t||(r==null||(s=r.end)===null||s===void 0?void 0:s.panelId)===t});this.deleteLinks(n)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,n=t.find(r=>r.id===e);n?this.deleteLinks([n]):Ie.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var n=_.getIdFromPanel(e),{dh:r,links:a,timeZone:s}=this.props,o=new Map,d=0;d<a.length;d+=1){var{start:h,end:u,operator:c}=a[d];if(h.panelId===n&&u!=null){var{panelId:m,columnName:p,columnType:f}=u,g=o.has(m)?o.get(m):new Map,b=g.has(p)===!0?g.get(p).filterList:[],{visibleIndex:C,isExpandable:w,isGrouped:S}=t[h.columnName],{value:y}=t[h.columnName],E="".concat(y);if(y===null&&w&&S&&(y=void 0),f!=null&&oe.isDateType(f)){var M=new Ge(r,{timeZone:s,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:kc.FULL_DATE_FORMAT});E=M.format(y)}var O={operator:c,text:E,value:y,startColumnIndex:C};b.push(O),g.set(p,{columnType:f,filterList:b}),o.set(m,g)}}o.forEach((x,N)=>{this.setPanelFilterMap(N,x)})}handlePanelCloned(e,t){var{links:n}=this.props,r=_.getIdFromPanel(e),a=t.id;if(r!=null){var s=Fn.cloneLinksForPanel(n,r,a);this.addLinks(s)}}handlePanelDragging(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:s}=r;if(a.panelId===e||s?.panelId===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){Ie.debug("Panel ".concat(e," closed, deleting links.")),this.deleteLinksForPanelId(e)}handleLinkSelected(e){this.setState({selectedIds:new Set([e])})}handleLinksUpdated(e){var{localDashboardId:t,setDashboardLinks:n}=this.props;n(t,e)}handleLayoutStateChanged(){this.forceUpdate()}handleStateChange(){this.forceUpdate()}handleExited(){var{localDashboardId:e,setDashboardIsolatedLinkerPanelId:t}=this.props;t(e,void 0)}deleteLinksForPanelId(e){for(var{links:t}=this.props,n=0;n<t.length;n+=1){var r=t[n],{start:a,end:s,id:o}=r;(a.panelId===e||s?.panelId===e)&&this.handleLinkDeleted(o)}}isOverlayShown(){var{activeTool:e}=this.props;return e===Xe.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:n}=this.props;switch(e){case Xe.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:$l($l({},n),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:n}=this.state,{isolatedLinkerPanelId:r}=this.props;if(t==null)return n?.start!=null&&this.updateLinkInProgressType(),!1;if(!xl(t))return Ie.debug2("Column is not filterable",t.description),n?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(n?.start==null)return!0;var{isReversed:a,start:s}=n,o=_.getIdFromPanel(e);if(o==null)return!1;var d={panelId:o,panelComponent:_.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},h=a!==void 0&&a?Fn.getLinkType(d,s,r):Fn.getLinkType(s,d,r);return this.updateLinkInProgressType(h),h!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:n}=this.props,{linkInProgress:r,selectedIds:a,isDraggingPanel:s}=this.state,o=this.isOverlayShown(),d=r!=null&&r.start!=null,h=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 s?null:l.jsx(Oi,{in:o,timeout:wn.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited,children:l.jsx(WS,{disabled:d,panelManager:n,links:this.getCachedLinks(e,r,t),selectedIds:a,messageText:h,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel})})}}var ZS=qS(YS);const XS=ZS;function JS(i){cn(i);var{id:e,layout:t,panelManager:n}=i;return l.jsx(XS,{layout:t,localDashboardId:e,panelManager:n})}function lu(i,e,t){return e=QS(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function QS(i){var e=ey(i,"string");return typeof e=="symbol"?e:String(e)}function ey(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Qn{static getNewMarkdownTitle(e){for(var t="".concat(Qn.DEFAULT_TITLE),n=0;e.indexOf(t)>=0;)n+=1,t="".concat(Qn.DEFAULT_TITLE,"-").concat(n);return t}}lu(Qn,"DEFAULT_TITLE","Note");lu(Qn,"DEFAULT_CONTENT",`# Markdown Note
|
|
25
25
|
|
|
26
|
-
This note can be edited using **markdown** for styling.`);const fa=Qn;function ty(i){cn(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,a=f.useCallback(o=>{var{title:d,componentState:h,props:u}=o,{panelState:c=null}=u;return h!=null&&({panelState:c=null}=h),d==null||c==null||c.content==null||c.content.length===0||c.content===fa.DEFAULT_CONTENT?null:vs(o)},[]),s=f.useCallback(function(){var{title:o="",metadata:d={},id:h=$e.generate(),focusElement:u=_.DEFAULT_FOCUS_SELECTOR,createNewStack:c=!1,dragEvent:m=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(li.COMPONENT),v=n.getClosedPanelConfigsOfType(li.COMPONENT),g=p.map(y=>{var E;return(E=y.title)!==null&&E!==void 0?E:""}),b=o!=null&&o!==""?o:fa.getNewMarkdownTitle(g),C=v.length>0?null:fa.DEFAULT_CONTENT,w={type:"react-component",component:li.COMPONENT,props:{id:h,metadata:d,panelState:{content:C},localDashboardId:e},title:b,id:h},{root:S}=t;_.openComponent({root:S,config:w,focusElement:u,createNewStack:c,dragEvent:m})},[e,t,n]);return f.useEffect(function(){var d=[r(li.COMPONENT,li,gs,a)];return()=>{d.forEach(h=>h())}},[a,r]),me(t.eventHub,Fh.OPEN,s),null}function ny(i){cn(i);var{hydrate:e}=i,t=On();return Cs({dashboardProps:i,componentName:El.COMPONENT,component:El,supportedTypes:t.VariableType.PANDAS,hydrate:e}),null}function Qr(i,e,t){return e=iy(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function iy(i){var e=ry(i,"string");return typeof e=="symbol"?e:String(e)}function ry(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Gi{}Qr(Gi,"DROPDOWN_FILTER","ControlType.DROPDOWN_FILTER");Qr(Gi,"INPUT_FILTER","ControlType.INPUT_FILTER");Qr(Gi,"MARKDOWN","ControlType.MARKDOWN");Qr(Gi,"FILTER_SET_MANAGER","ControlType.FILTER_SET_MANAGER");const sn=Gi;class Ul{static makeSortConfig(e,t){return{column:e,direction:t}}static makeFilterConfig(e){var t=[],n=[];return e.forEach((r,a)=>{t.push(r),a>0&&n.push(Er.and)}),{filterItems:t,filterOperators:n}}static combineFilterConfigs(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Er.and;return{filterItems:[...e.filterItems,...t.filterItems],filterOperators:[...e.filterOperators,n,...t.filterOperators]}}static makeFilterItem(e,t,n){return{columnName:e,type:t,value:n}}}function ay(i,e,t){if(i.length>e){var n=i.length-t;return{toKeep:i.slice(n),toPrune:i.slice(0,n)}}return{toKeep:i,toPrune:[]}}function Hl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Vl(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hl(Object(t),!0).forEach(function(n){tt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Hl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Bl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function $t(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Bl(a,n,r,s,o,"next",d)}function o(d){Bl(a,n,r,s,o,"throw",d)}s(void 0)})}}function tt(i,e,t){return e=sy(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sy(i){var e=oy(i,"string");return typeof e=="symbol"?e:String(e)}function oy(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var va=B.module("PouchStorageTable"),ly="Deephaven.";nd.plugin(Mu);function dy(i,e){switch(i){case ke.in:case ke.contains:return{$regex:new RegExp("".concat(e))};case ke.inIgnoreCase:return{$regex:new RegExp("".concat(e),"i")};case ke.eq:return{$eq:e};case ke.notEq:return{$neq:e};case ke.greaterThan:return{$gt:e};case ke.greaterThanOrEqualTo:return{$gte:e};case ke.lessThan:return{$lt:e};case ke.lessThanOrEqualTo:return{$lte:e};case ke.startsWith:return{$regex:new RegExp("^(?".concat(e,").*"))};default:throw new Error("Unsupported type: ".concat(i))}}function hy(i){for(var{filterItems:e,filterOperators:t}=i,n=null,r=0;r<e.length;r+=1){var a=e[r],{columnName:s,type:o,value:d}=a,h={[s]:dy(o,d)};if(r===0)n=h;else if(n!==null&&r-1<t.length){var u=t[r-1];if(u===Er.and)n={$and:[n,h]};else if(u===Er.or)n={$or:[n,h]};else throw new Error("Unexpected filter operator ".concat(u,", ").concat(h))}}if(n==null)throw new Error("Invalid filter config ".concat(i));return n}function ga(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return{$and:[...i.map(e=>hy(e)),{name:{$gt:null}},{id:{$gt:null}}]}}function uy(i){var e,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return[{id:t?"desc":"asc"},...(e=i?.map(n=>({[n.column]:n.direction})))!==null&&e!==void 0?e:[]]}class cy{constructor(e,t){tt(this,"db",void 0),tt(this,"changes",void 0),tt(this,"listeners",[]),tt(this,"itemListeners",new Map),tt(this,"currentSize",0),tt(this,"currentViewport",void 0),tt(this,"currentReverse",!1),tt(this,"currentFilter",null),tt(this,"currentSort",null),tt(this,"infoUpdatePromise",void 0),tt(this,"viewportUpdatePromise",void 0),tt(this,"currentViewportData",void 0),this.db=new nd("".concat(ly).concat(e),t),this.db._remote=!1,this.listenForChanges(),this.db.createIndex({index:{fields:["id","name"]}}),this.refreshInfo()}listenForChanges(){this.changes=this.db.changes({live:!0,since:"now",include_docs:!0}).on("change",this.dbUpdate.bind(this))}onUpdate(e){return this.listeners=[...this.listeners,e],()=>{this.listeners=this.listeners.filter(t=>t!==e)}}onItemUpdate(e,t){return this.itemListeners.has(e)||this.itemListeners.set(e,[]),this.itemListeners.set(e,[...this.itemListeners.get(e),t]),this.refreshItem(e),()=>{this.itemListeners.set(e,this.itemListeners.get(e).filter(n=>n!==t))}}close(){this.listeners=[]}get size(){return this.currentSize}get viewport(){return this.currentViewport}setReversed(e){this.currentReverse=e,this.currentViewportData=void 0,this.refreshData()}setViewport(e){this.currentViewport=e,this.refreshInfo(),this.refreshData()}setSorts(e){this.currentSort=e,this.currentViewportData=void 0,this.refreshData()}setFilters(e){this.currentFilter=e,this.currentViewportData=void 0,this.refreshInfo(),this.refreshData()}get data(){return this.currentViewportData}getViewportData(){var e=this;return $t(function*(){var t;return e.viewportUpdatePromise||e.refreshData(),(t=e.viewportUpdatePromise)!==null&&t!==void 0?t:Promise.resolve({items:[],offset:0})})()}put(e){var t=this;return $t(function*(){var n=Vl(Vl({},e),{},{_id:e.id});return yield t.db.put(n),n})()}sendUpdate(){for(var e,{listeners:t}=this,n=(e=this.currentViewportData)!==null&&e!==void 0?e:{items:[],offset:0},r=0;r<t.length;r+=1)t[r](n)}sendItemUpdate(e){var t=this.itemListeners.get(e.id);if(t!==void 0)for(var n=0;n<t.length;n+=1)t[n](e)}dbUpdate(e){va.debug("Update received",e),this.refreshInfo(),e.doc!==void 0&&this.sendItemUpdate(e.doc),this.refreshData()}fetchInfo(e){var t=this;return $t(function*(){return t.db.find({selector:e,fields:[]})})()}refreshInfo(){var e=this;return $t(function*(){try{var t,n;(t=e.infoUpdatePromise)===null||t===void 0||t.cancel(),e.infoUpdatePromise=le.makeCancelable(e.fetchInfo(ga((n=e.currentFilter)!==null&&n!==void 0?n:[])));var r=yield e.infoUpdatePromise;e.currentSize=r.docs.length,e.sendUpdate()}catch(a){if(!le.isCanceled(a))throw va.error("Unable to refreshInfo",a),a}})()}fetchViewportData(e,t,n){var r=this;return $t(function*(){return r.db.find({selector:t,skip:e.top,limit:e.bottom-e.top+1,sort:n,fields:["id","name"]}).then(a=>({items:a.docs,offset:e.top}))})()}refreshData(){var e=this;return $t(function*(){if(e.currentViewport)try{var t,n,r=ga((t=e.currentFilter)!==null&&t!==void 0?t:[]),a=uy(e.currentSort,e.currentReverse);(n=e.viewportUpdatePromise)===null||n===void 0||n.cancel(),e.viewportUpdatePromise=le.makeCancelable(e.fetchViewportData(e.currentViewport,r,a));var s=yield e.viewportUpdatePromise;return e.currentViewportData=s,e.sendUpdate(),s}catch(o){if(!le.isCanceled(o))throw va.error("Unable to refreshData",o),o}})()}refreshItem(e){var t=this;return $t(function*(){var n=yield t.db.find({selector:{id:e},limit:1}),r=n.docs[0];return r!==void 0&&t.sendItemUpdate(r),r})()}getSnapshot(e){var t=this;return $t(function*(){var n=new Map,r=[{id:t.currentReverse?"desc":"asc"}];return yield Promise.all(e.map(function(){var a=$t(function*(s){var o,[d,h]=s,u=h-d+1;return t.db.find({selector:ga((o=t.currentFilter)!==null&&o!==void 0?o:[]),skip:d,limit:u,sort:r,fields:["id","name"]}).then(c=>{for(var m=0;m<u;m+=1){var p=d+m;n.set(p,c.docs[m])}})});return function(s){return a.apply(this,arguments)}}())),n})()}}const my=cy;function Wl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function mr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wl(Object(t),!0).forEach(function(n){du(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Wl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Gl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function ui(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Gl(a,n,r,s,o,"next",d)}function o(d){Gl(a,n,r,s,o,"throw",d)}s(void 0)})}}function du(i,e,t){return e=py(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function py(i){var e=fy(i,"string");return typeof e=="symbol"?e:String(e)}function fy(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var vy=2500,gy=2e3,ut=B.module("PouchCommandHistoryTable");class by extends my{constructor(e,t){var n;super("CommandHistoryStorage.".concat(e),{auto_compaction:!0,revs_limit:1}),du(this,"searchText",void 0),this.cache=t,this.cache.tableRegistry.has(this.cacheKey)||this.cache.tableRegistry.set(this.cacheKey,new Set),ut.debug("Adding table to registry",this.cacheKey),(n=this.cache.tableRegistry.get(this.cacheKey))===null||n===void 0||n.add(this)}get cacheKey(){return this.db.name}setSearch(e){ut.debug("Setting search filters",e),this.searchText=e.trim().toLowerCase(),this.setFilters(e?[Ul.makeFilterConfig([Ul.makeFilterItem("name",ke.contains,e)])]:[])}dbUpdate(e){ut.debug("Clearing cache and refreshing data",e),this.cache.response.delete(this.cacheKey),super.dbUpdate(e)}fetchData(e){var t=this;return ui(function*(){return le.withTimeout(0,ui(function*(){t.cache.response.has(t.cacheKey)?ut.debug("Fetching from cache",t.searchText,t.viewport):(ut.debug("Fetching from PouchDB",t.searchText,t.viewport),t.cache.response.set(t.cacheKey,t.db.allDocs({include_docs:!0}).then(r=>{var a=r.rows.map(d=>d.doc).filter(d=>{var{name:h}=d;return h});ut.debug("Fetched ".concat(a.length," command history items"));var{toKeep:s,toPrune:o}=ay(a,vy,gy);return o.length&&t.pruneItems(o),{docs:s}})));var n=t.cache.response.get(t.cacheKey);return t.searchText==null||t.searchText===""?n:mr(mr({},n),{},{docs:(yield n).docs.filter(r=>{var{name:a}=r;return a.toLowerCase().includes(t.searchText)})})}))})()}fetchInfo(e){var t=this;return ui(function*(){return t.fetchData(e)})()}fetchViewportData(e,t,n){var r=this;return ui(function*(){var a=yield r.fetchData(t);ut.debug("Fetching viewport data",e.top,e.bottom+1,n,a);var s=typeof n[0]=="object"&&n[0].id==="desc",o=s?a.docs.slice(0).reverse():a.docs,d=o.slice(e.top,e.bottom+1);return{items:d,offset:e.top}})()}pruneItems(e){var t=this;return ui(function*(){if(t.cache.isPruning.get(t.cacheKey)===!0){ut.debug("Pruning already in progress. Skipping.");return}try{ut.debug("Pruning ".concat(e.length," command history items"));var n=t.cache.pauseChangeListeners(t.cacheKey);t.cache.isPruning.set(t.cacheKey,!0),yield t.db.bulkDocs(e.map(r=>mr(mr({},r),{},{_deleted:!0}))),t.cache.isPruning.set(t.cacheKey,!1),n(),ut.debug("Finished pruning command history items")}catch(r){ut.error("An error occurred while pruning db",r)}})()}close(){var e,t,n;ut.debug("Closing table",this,(e=this.cache.tableRegistry.get(this.cacheKey))===null||e===void 0?void 0:e.size),(t=this.cache.tableRegistry.get(this.cacheKey))===null||t===void 0||t.delete(this),(n=this.changes)===null||n===void 0||n.cancel(),super.close()}}const Kl=by;function ba(i,e,t){return e=Cy(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cy(i){var e=Sy(i,"string");return typeof e=="symbol"?e:String(e)}function Sy(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var zl=B.module("PouchCommandHistoryCache");class yy{constructor(){ba(this,"isPruning",void 0),ba(this,"response",void 0),ba(this,"tableRegistry",void 0),this.isPruning=new Map,this.response=new Map,this.tableRegistry=new Map}pauseChangeListeners(e){var t,n=[];return(t=this.tableRegistry.get(e))===null||t===void 0||t.forEach(r=>{r.changes&&(zl.debug("Pausing event listeners on '".concat(e,"' table"),r),r.changes.cancel(),n.push(r))}),()=>{n.forEach(r=>{var a,s;(a=(s=this.tableRegistry.get(e))===null||s===void 0?void 0:s.has(r))!==null&&a!==void 0&&a&&(zl.debug("Resuming event listeners on '".concat(e,"' table"),r),r.listenForChanges())})}}}const wy=yy;function ql(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Yl(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ql(Object(t),!0).forEach(function(n){Ga(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ql(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Zl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function Ca(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Zl(a,n,r,s,o,"next",d)}function o(d){Zl(a,n,r,s,o,"throw",d)}s(void 0)})}}function Ga(i,e,t){return e=Ey(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ey(i){var e=Py(i,"string");return typeof e=="symbol"?e:String(e)}function Py(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Xl=B.module("PouchCommandHistoryStorage");class _y{constructor(){Ga(this,"cache",new wy),Ga(this,"updateTableMap",new Map)}getUpdateTable(e){return this.updateTableMap.has(e)||this.updateTableMap.set(e,new Kl(e,this.cache)),this.updateTableMap.get(e)}getTable(e){var t=this;return Ca(function*(){return new Kl(e,t.cache)})()}addItem(e,t,n,r){var a=this;return Ca(function*(){return a.updateItem(e,{id:"".concat(new Date().getTime()),name:n,data:r})})()}updateItem(e,t){var n=this;return Ca(function*(){var r=n.getUpdateTable(e),a=yield r.refreshItem(t.id),s=Yl(Yl({},a??{}),t);return Xl.debug("Updating item",s),yield r.put(s),Xl.debug("Update saved"),t})()}listenItem(e,t,n){var r=this.getUpdateTable(e);return r.onItemUpdate(t,n)}}const hu="SET_LAYOUT_STORAGE",Ty=i=>({type:hu,payload:i});var{dh:Oy}=globalThis;const gt=Oy,uu=""+new URL("community-wordmark-app-d2c5c1eb.svg",import.meta.url).href;const Dy=B.module("SettingsUtils");function Iy(i){return i.formatString!=null}function Ka(i){const e=i?.querySelector("input, select, textarea");e&&e.focus()}function cu(i,e){return i.defaultFormatString===e.defaultFormatString}function xy(i,e){return cu(i,e)}function Ny(i,e){return cu(i,e)}function mu(i){return i!==""&&is.isValidColumnName(i)}function on(i,e,t){if(!e||t.formatString==null||!Iy(t))return!1;switch(e){case"datetime":return Ge.isValid(i,t);case"decimal":return st.isValid(i,t);case"int":return at.isValid(i,t);default:return Dy.warn("Trying to validate format of unknown type"),!0}}function pu(i){const{id:e,isNewRule:t,...n}=i;return n}function fu(i,e){return mu(e.columnName)&&on(i,e.columnType,e.format)}function vu(i){const{timestamp:e,timeZone:t,showTimeZone:n,showTSeparator:r,isGlobalOptions:a,legacyGlobalFormat:s}=i,o=On(),d=f.useMemo(()=>new _a(o,[],{timeZone:t,showTimeZone:n,showTSeparator:r}),[o,n,r,t]),h=a?Ge.getGlobalFormats(n,r):Ge.getFormats(n,r);return s!=null&&!h.includes(s)&&h.unshift(s),l.jsx(l.Fragment,{children:h.map(u=>{const c=Ge.makeFormat("",u,Ge.TYPE_GLOBAL);return l.jsx("option",{value:u,"data-testid":"time-format",children:d.getFormattedString(e,oe.dataType.DATETIME,"",c)},u)})})}function Ly(){return l.jsx(l.Fragment,{children:ns.TIME_ZONES.map(i=>{const{label:e,value:t}=i;return l.jsx("option",{value:t,children:e},t)})})}const gn=B.module("FormattingSectionContent");class js extends f.PureComponent{static defaultProps={scrollTo:()=>{},defaults:{defaultDateTimeFormat:Ge.DEFAULT_DATETIME_FORMAT_STRING,defaultDecimalFormatOptions:{defaultFormatString:st.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:at.DEFAULT_FORMAT_STRING},showTimeZone:!1,showTSeparator:!0,timeZone:Ge.DEFAULT_TIME_ZONE_ID}};static inputDebounceTime=250;constructor(e){super(e),this.debouncedCommitChanges=Je(this.commitChanges.bind(this),js.inputDebounceTime),this.handleDefaultDateTimeFormatChange=this.handleDefaultDateTimeFormatChange.bind(this),this.handleDefaultDecimalFormatChange=this.handleDefaultDecimalFormatChange.bind(this),this.handleDefaultIntegerFormatChange=this.handleDefaultIntegerFormatChange.bind(this),this.handleShowTimeZoneChange=this.handleShowTimeZoneChange.bind(this),this.handleShowTSeparatorChange=this.handleShowTSeparatorChange.bind(this),this.handleTimeZoneChange=this.handleTimeZoneChange.bind(this),this.handleResetDateTimeFormat=this.handleResetDateTimeFormat.bind(this),this.handleResetDecimalFormat=this.handleResetDecimalFormat.bind(this),this.handleResetIntegerFormat=this.handleResetIntegerFormat.bind(this),this.handleResetTimeZone=this.handleResetTimeZone.bind(this),this.handleTruncateNumbersWithPoundChange=this.handleTruncateNumbersWithPoundChange.bind(this);const{formatter:t,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,showTimeZone:s,showTSeparator:o,timeZone:d,truncateNumbersWithPound:h}=e,u=t.map((c,m)=>({...c,id:m}));this.containerRef=J.createRef(),this.state={formatSettings:u,showTimeZone:s,showTSeparator:o,timeZone:d,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,truncateNumbersWithPound:h,timestampAtMenuOpen:new Date}}componentDidMount(){Ka(this.containerRef.current)}componentWillUnmount(){this.debouncedCommitChanges.flush()}debouncedCommitChanges;containerRef;getCachedDateTimeFormatOptions=wt((e,t,n,r=!1,a)=>{const{timestampAtMenuOpen:s}=this.state;return l.jsx(vu,{timestamp:s,timeZone:e,showTimeZone:t,showTSeparator:n,isGlobalOptions:r,legacyGlobalFormat:a})});handleDefaultDateTimeFormatChange(e){gn.debug("handleDefaultDateTimeFormatChange",e.target.value),this.setState({defaultDateTimeFormat:e.target.value},()=>{this.debouncedCommitChanges()})}handleDefaultDecimalFormatChange(e){gn.debug("handleDefaultDecimalFormatChange",e.target.value),this.setState({defaultDecimalFormatOptions:{defaultFormatString:e.target.value}},()=>{this.debouncedCommitChanges()})}handleDefaultIntegerFormatChange(e){gn.debug("handleDefaultIntegerFormatChange",e.target.value),this.setState({defaultIntegerFormatOptions:{defaultFormatString:e.target.value}},()=>{this.debouncedCommitChanges()})}handleShowTimeZoneChange(){this.setState(e=>({showTimeZone:!e.showTimeZone}),()=>{this.debouncedCommitChanges()})}handleShowTSeparatorChange(){this.setState(e=>({showTSeparator:!e.showTSeparator}),()=>{this.debouncedCommitChanges()})}handleTimeZoneChange(e){this.setState({timeZone:e.target.value},()=>{this.debouncedCommitChanges()})}handleResetDateTimeFormat(){const{defaults:e}=this.props,{defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r}=e;gn.debug("handleResetDateTimeFormat"),this.setState({defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r},()=>{this.debouncedCommitChanges()})}handleResetTimeZone(){const{defaults:e}=this.props,{timeZone:t}=e;gn.debug("handleResetTimeZone"),this.setState({timeZone:t},()=>{this.debouncedCommitChanges()})}handleResetDecimalFormat(){const{defaults:e}=this.props,{defaultDecimalFormatOptions:t}=e;gn.debug("handleResetDecimalFormat"),this.setState({defaultDecimalFormatOptions:t},()=>{this.debouncedCommitChanges()})}handleResetIntegerFormat(){const{defaults:e}=this.props,{defaultIntegerFormatOptions:t}=e;gn.debug("handleResetIntegerFormat"),this.setState({defaultIntegerFormatOptions:t},()=>{this.debouncedCommitChanges()})}handleTruncateNumbersWithPoundChange(){this.setState(e=>({truncateNumbersWithPound:!e.truncateNumbersWithPound}),()=>{this.debouncedCommitChanges()})}commitChanges(){const{formatSettings:e,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,defaultDecimalFormatOptions:s,defaultIntegerFormatOptions:o,truncateNumbersWithPound:d}=this.state,{dh:h}=this.props,u=e.filter(v=>fu(h,v)).map(pu)??[],{settings:c,saveSettings:m}=this.props,p={...c,formatter:u,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,truncateNumbersWithPound:d};on(h,oe.dataType.DECIMAL,st.makeCustomFormat(s.defaultFormatString))&&(p.defaultDecimalFormatOptions=s),on(h,oe.dataType.INT,at.makeCustomFormat(o.defaultFormatString))&&(p.defaultIntegerFormatOptions=o),m(p)}render(){const{defaults:e,dh:t}=this.props,{defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,timeZone:s,showTimeZone:o,showTSeparator:d,truncateNumbersWithPound:h}=this.state,{defaultFormatString:u=st.DEFAULT_FORMAT_STRING}=r??{},{defaultFormatString:c=at.DEFAULT_FORMAT_STRING}=a??{},m=s===e.timeZone,p=d===e.showTSeparator&&o===e.showTimeZone&&n===e.defaultDateTimeFormat,v=xy(r,e.defaultDecimalFormatOptions),g=Ny(a,e.defaultIntegerFormatOptions);return l.jsx("div",{className:"app-settings-formatting-section",ref:this.containerRef,children:l.jsxs("div",{className:"container-fluid p-0",children:[l.jsx("div",{className:"app-settings-menu-description mb-3",children:"Choose the default formatting rule to apply to all table columns based on their type."}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"select-reset-timezone",children:"Time zone"}),l.jsx("div",{className:"col pr-0",children:l.jsx("select",{className:"custom-select",value:s,onChange:this.handleTimeZoneChange,id:"select-reset-timezone",children:l.jsx(Ly,{})})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetTimeZone,tooltip:"Reset Time Zone",className:Z("btn-reset","btn-reset-time-zone",{hidden:m})})})]}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"select-default-time-format",children:"DateTime"}),l.jsx("div",{className:"col pr-0",children:l.jsx("select",{className:"custom-select",value:n,onChange:this.handleDefaultDateTimeFormatChange,id:"select-default-time-format",children:this.getCachedDateTimeFormatOptions(s,o,d,!0,n)})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetDateTimeFormat,tooltip:"Reset DateTime Options",className:Z("btn-reset","btn-reset-date-time",{hidden:p})})})]}),l.jsx("div",{className:"form-row",children:l.jsx("div",{className:"offset-3 col-9",children:l.jsx(vr,{checked:o??null,onChange:this.handleShowTimeZoneChange,children:"Show time zone in dates"})})}),l.jsx("div",{className:"form-row mb-3",children:l.jsx("div",{className:"offset-3 col-9",children:l.jsx(vr,{checked:d??null,onChange:this.handleShowTSeparatorChange,children:"Show 'T' separator"})})}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"default-decimal-format-input",children:"Decimal"}),l.jsx("div",{className:"col pr-0",children:l.jsx("input",{className:Z("form-control","flex-grow-1","default-decimal-format-input",{"is-invalid":!on(t,oe.dataType.DECIMAL,st.makeCustomFormat(u))}),"data-lpignore":!0,placeholder:st.DEFAULT_FORMAT_STRING,type:"text",id:"default-decimal-format-input",value:u,onChange:this.handleDefaultDecimalFormatChange})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetDecimalFormat,tooltip:"Reset Decimal Formatting",className:Z("btn-reset","btn-reset-decimal",{hidden:v}),"data-testid":"btn-reset-decimal"})})]}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"default-integer-format-input",children:"Integer"}),l.jsx("div",{className:"col pr-0",children:l.jsx("input",{className:Z("form-control","flex-grow-1","default-integer-format-input",{"is-invalid":!on(t,oe.dataType.INT,at.makeCustomFormat(c))}),"data-lpignore":!0,placeholder:at.DEFAULT_FORMAT_STRING,type:"text",id:"default-integer-format-input",value:c,onChange:this.handleDefaultIntegerFormatChange})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetIntegerFormat,tooltip:"Reset Integer Formatting",className:Z("btn-reset","btn-reset-integer",{hidden:g}),"data-testid":"btn-reset-integer"})})]}),l.jsx("div",{className:"form-row mb-3",children:l.jsx("div",{className:"offset-3 col-9",children:l.jsx(vr,{checked:h??null,onChange:this.handleTruncateNumbersWithPoundChange,children:"Truncate numbers with #"})})})]})})}}const My=i=>({formatter:Kd(i),defaultDateTimeFormat:Bd(i),defaultDecimalFormatOptions:Wd(i),defaultIntegerFormatOptions:Gd(i),dh:Ur(i),showTimeZone:zd(i),showTSeparator:qd(i),truncateNumbersWithPound:Yd(i),timeZone:ki(i),settings:Fe(i)}),Fy=Me(My,{saveSettings:Br})(js);function Ry(){const[i,e]=f.useState(!1),t=()=>{e(!i)};return l.jsxs(l.Fragment,{children:[l.jsx(F,{kind:"ghost",onClick:t,icon:lc,children:"Legal Notices"}),l.jsxs(Qa,{isOpen:i,toggle:t,className:"theme-bg-light",children:[l.jsx(es,{toggle:t,children:"Legal Notice"}),l.jsxs(ts,{children:[l.jsx("p",{children:"Deephaven software is protected by U.S. Patent Nos. 9,612,959; 9,613,018; 9,613,109; 9,619,210; 9,633,060; 9,639,570; 9,672,238; 9,679,006; 9,690,821; 9,710,511; 9,760,591; 9,805,084; 9,836,494; 9,836,495; 9,886,469; 9,898,496; 9,934,266; 10,002,153; 10,002,154; 10,002,155; 10,003,673; 10,019,138; 10,069,943; 10,176,211; 10,198,465; 10,198,466; 10,198,469; 10,212,257; 10,241,960; 10,241,965; 10,242,040; 10,242,041; 10,346,394; 10,353,893; 10,452,649; 10,496,639; 10,540,351; 10,552,412; 10,565,194; 10,565,206; 10,572,474; 10,621,168; 10,642,829; 10,657,184; 10,678,787; 10,691,686; 10,783,191; 10,866,943; 10,909,183; 10,915,526; 10,922,311; 10,929,394; 11,023,462; 11,126,662; 11,151,133; 11,238,036; 11,249,994; 11,263,211; 11,449,557; 11,514,037; 11,556,528; and 11,574,018. Other patents pending."}),l.jsxs("p",{children:["© 2016-",new Date().getFullYear()," Deephaven Data Labs LLC. Patent Pending."]})]})]})]})}function Ti(i){const{children:e,isExpanded:t,sectionKey:n,title:r,onToggle:a}=i;return l.jsxs(l.Fragment,{children:[l.jsx("div",{children:l.jsxs(F,{kind:"ghost",className:"btn-collapse-trigger",onClick:()=>a(n),children:[l.jsx("div",{className:"flex-grow-1",children:r}),l.jsx("div",{className:"flex-shrink-0",children:l.jsx(X,{transform:t?"flip-v":"",icon:Sn})})]})}),l.jsx($c,{in:t,autoFocusOnShow:!0,children:e})]})}Ti.propTypes={children:I.node,isExpanded:I.bool.isRequired,sectionKey:I.string.isRequired,title:I.node.isRequired,onToggle:I.func};Ti.defaultProps={children:null,onToggle:()=>{}};function jy({shortcut:i,displayText:e,categoryName:t,onChange:n}){const[r,a]=f.useState(e),[s,o]=f.useState(i.getKeyState()),[d,h]=f.useState(!1),[u,c]=f.useState("");f.useEffect(function(){a(e),o(i.getKeyState())},[e,i]),f.useEffect(function(){a(bt.getDisplayText(s)),i.matchesKeyState(s)&&h(!1)},[s,i]),f.useEffect(function(){if(d){if(!bt.isValidKeyState(s)){bt.isAllowedKey(s.keyValue)?c("Must contain a modifier key"):c("Must contain an allowed action key");return}const y=De.getConflictingShortcuts(s).filter(E=>E.id.startsWith(t)&&E!==i).map(E=>E.name);if(y.length){c(`Conflicts with ${y.join(", ")}`);return}c("")}else c("")},[d,s,t,i]);function m(S){if(S.stopPropagation(),S.preventDefault(),i.isEditable&&!S.repeat){const y=bt.getKeyStateFromEvent(S),E=bt.createKeyState([ce.BACKSPACE]);bt.doKeyStatesMatch(y,E)?o(bt.NULL_KEY_STATE):o(y)}}function p(S){S.stopPropagation(),S.preventDefault(),i.matchesKeyState(s)||h(!0)}function v(){to.disableAllActions()}function g(){to.enableAllActions()}function b(){i.setKeyState(s),h(!1),n(i)}function C(){const S=i.getKeyState();o(S),h(!1)}function w(){h(!0),o(i.getDefaultKeyState())}return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"shortcut-item-container",children:[l.jsxs("label",{className:"shortcut-item-name",children:[i.name,i.tooltip!==void 0&&l.jsx(Mt,{children:i.tooltip})]}),l.jsxs("div",{className:"shortcut-item-input-container",children:[l.jsx("input",{className:Z("form-control",{"is-invalid":u}),onKeyDown:m,onKeyUp:p,onFocus:v,onBlur:g,disabled:!i.isEditable,value:r,readOnly:!0}),!bt.doKeyStatesMatch(s,i.getDefaultKeyState())&&!u&&l.jsx(F,{className:"reset-to-default-button",kind:"ghost",icon:l.jsx(X,{icon:An,transform:{rotate:90,flipX:!0}}),tooltip:"Reset to default",onClick:w})]})]}),d&&l.jsxs("div",{className:Z("shortcut-item-message-container",{"is-invalid":u}),children:[l.jsx("div",{className:"shortcut-item-message",children:u}),l.jsxs("div",{className:"shortcut-item-message-buttons",children:[bt.isValidKeyState(s)&&l.jsx(F,{kind:"ghost",onClick:b,children:"Confirm"}),l.jsx(F,{kind:"ghost",onClick:C,children:"Undo"})]})]})]})}function Ay({shortcutOverrides:i={},settings:e,saveSettings:t}){const n=f.useCallback(o=>{const d=bt.isMacPlatform,h={mac:{...i.mac},windows:{...i.windows}},u=d?h.mac:h.windows;o.forEach(c=>{c.isDefault()?delete u[c.id]:u[c.id]=c.getKeyState()}),t({...e,shortcutOverrides:h})},[e,t,i]);let r=Array.from(De.shortcutsByCategory.entries()).map(([o,d])=>({name:o,shortcuts:d}));const a=r.findIndex(o=>o.name.toUpperCase()==="GLOBAL"),s=r.splice(a,1);return r=r.concat(s),l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"app-settings-menu-description",children:"Customize shortcuts below. To prevent unexpected results, avoid conflicting shortcuts with the browser or IDE editor."}),r.map(o=>l.jsx(ky,{name:o.name,shortcuts:o.shortcuts,saveShortcutOverrides:n},o.name))]})}function ky({name:i,shortcuts:e,saveShortcutOverrides:t}){function n(d){return d.split("_").map(h=>`${h[0].toUpperCase()}${h.slice(1).toLowerCase()}`).join(" ")}const[r,a]=f.useState(e);function s(d){const h=r.filter(c=>c!==d&&!c.isNull()&&c.matchesKeyState(d.getKeyState()));h.forEach(c=>c.setToNull());const u=[d,...h];t(u),a(c=>[...c])}const o=f.useMemo(()=>r.map(d=>d.getDisplayText()),[r]);return l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"font-weight-bold",children:n(i)}),r.map((d,h)=>l.jsx(jy,{shortcut:d,displayText:o[h],categoryName:i,onChange:s},d.id))]})}const $y=i=>({settings:Fe(i),shortcutOverrides:Rp(i)}),Uy={saveSettings:Br},Hy=Me($y,Uy)(Ay),Vy="yyyy-MM-dd-HHmmss";function gu(i,e="root",t=new Map([[i,""]])){const n={};return Object.entries(i).forEach(([r,a])=>{try{JSON.stringify(a),n[r]=a}catch{const o=a;if(typeof a=="bigint")n[r]=a.toString();else if(t.has(o))n[r]=`Circular ref to ${t.get(o)}`;else{const d=`${e}.${r}`;t.set(o,d),n[r]=gu(a,d,t)}}}),n}function By(){const i=ds.getState();return JSON.stringify(gu(i),null,2)}function Wy(i){const e={uiVersion:"0.49.0",userAgent:navigator.userAgent,...i};return JSON.stringify(e,null,2)}async function Gy(i=`${gt.i18n.DateTimeFormat.format(Vy,new Date)}_support_logs`,e){const t=new id,n=t.folder(i);n.file("console.txt",dc.getFormattedHistory()),n.file("redux.json",By()),n.file("metadata.json",Wy(e));const r=await t.generateAsync({type:"blob"}),a=document.createElement("a");a.href=URL.createObjectURL(r),a.download=`${i}.zip`,a.click()}const Ky=[{value:oe.dataType.DATETIME,label:"DateTime"},{value:oe.dataType.DECIMAL,label:"Decimal"},{value:oe.dataType.INT,label:"Integer"}];function zy(){const i=Ky.map(e=>l.jsx("option",{value:e.value,children:e.label},`key-columnType-${e.value}`));return l.jsxs(l.Fragment,{children:[l.jsx("option",{disabled:!0,value:"",children:"Select Type"},"key-columnType-placeholder"),i]})}class As extends f.PureComponent{static defaultProps={scrollTo:()=>{},defaults:{defaultDateTimeFormat:Ge.DEFAULT_DATETIME_FORMAT_STRING,defaultDecimalFormatOptions:{defaultFormatString:st.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:at.DEFAULT_FORMAT_STRING},showTimeZone:!1,showTSeparator:!0,timeZone:Ge.DEFAULT_TIME_ZONE_ID}};static inputDebounceTime=250;constructor(e){super(e),this.debouncedCommitChanges=Je(this.commitChanges.bind(this),As.inputDebounceTime),this.handleFormatRuleEntered=this.handleFormatRuleEntered.bind(this),this.handleFormatRuleChange=this.handleFormatRuleChange.bind(this),this.handleFormatRuleCreate=this.handleFormatRuleCreate.bind(this),this.handleFormatRuleDelete=this.handleFormatRuleDelete.bind(this);const{formatter:t,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,showTimeZone:s,showTSeparator:o,timeZone:d,truncateNumbersWithPound:h}=e,u=t.map((c,m)=>({...c,id:m}));this.containerRef=J.createRef(),this.addFormatRuleButtonRef=J.createRef(),this.lastFormatRuleIndex=u.length,this.state={formatSettings:u,formatRulesChanged:!1,showTimeZone:s,showTSeparator:o,timeZone:d,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,truncateNumbersWithPound:h,timestampAtMenuOpen:new Date}}componentDidMount(){Ka(this.containerRef.current)}componentWillUnmount(){this.debouncedCommitChanges.flush()}debouncedCommitChanges;containerRef;addFormatRuleButtonRef;lastFormatRuleIndex;isDuplicateRule(e){const{formatSettings:t}=this.state;return t.some(n=>n.id!==e.id&&n.columnName===e.columnName&&n.columnType===e.columnType)??!1}getAutoIncrementFormatRuleIndex(){const{lastFormatRuleIndex:e}=this;return this.lastFormatRuleIndex+=1,e}getCachedColumnTypeOptions=wt(()=>l.jsx(zy,{}));getCachedDateTimeFormatOptions=wt((e,t,n,r=!1,a)=>{const{timestampAtMenuOpen:s}=this.state;return l.jsx(vu,{timestamp:s,timeZone:e,showTimeZone:t,showTSeparator:n,isGlobalOptions:r,legacyGlobalFormat:a})});handleFormatRuleChange(e,t,n){this.setState(r=>{const{formatSettings:a}=r;$(a);const s=[...a];let o={};t==="columnType"&&(o={format:""});const d={...s[e],...o,[t]:n};return s[e]=d,{formatSettings:s}},()=>{this.debouncedCommitChanges()})}handleFormatRuleCreate(){this.setState(e=>{const{formatSettings:t}=e,n={columnType:oe.dataType.DATETIME,columnName:"",format:{},id:this.getAutoIncrementFormatRuleIndex(),isNewRule:!0};return{formatSettings:[...t,n],formatRulesChanged:!0}})}handleFormatRuleDelete(e){this.setState(t=>{const{formatSettings:n}=t;return{formatSettings:n.filter((a,s)=>s!==e),formatRulesChanged:!0}},()=>{this.debouncedCommitChanges()})}handleFormatRuleEntered(e){this.scrollToFormatBlockBottom(),Ka(e)}commitChanges(){const{formatSettings:e,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,defaultDecimalFormatOptions:s,defaultIntegerFormatOptions:o,truncateNumbersWithPound:d}=this.state,{dh:h}=this.props,u=e.filter(v=>fu(h,v)).map(pu)??[],{settings:c,saveSettings:m}=this.props,p={...c,formatter:u,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,truncateNumbersWithPound:d};on(h,oe.dataType.DECIMAL,st.makeCustomFormat(s.defaultFormatString))&&(p.defaultDecimalFormatOptions=s),on(h,oe.dataType.INT,at.makeCustomFormat(o.defaultFormatString))&&(p.defaultIntegerFormatOptions=o),m(p)}scrollToFormatBlockBottom(){const{scrollTo:e}=this.props;e(0,(this.addFormatRuleButtonRef.current?.offsetHeight??0)+(this.addFormatRuleButtonRef.current?.offsetTop??0))}getRuleError(e){const{dh:t}=this.props,n={hasColumnNameError:!1,hasFormatError:!1,message:""},r=[];return e.isNewRule!==void 0&&e.isNewRule||(this.isDuplicateRule(e)&&(n.hasColumnNameError=!0,r.push("Duplicate column name/type combo.")),mu(e.columnName)||(n.hasColumnNameError=!0,r.push("Column names must start with a letter or underscore and contain only alphanumeric characters or underscores.")),e.format.formatString!==void 0&&e.format.formatString.length===0?(n.hasFormatError=!0,r.push("Empty formatting rule.")):on(t,e.columnType,e.format)||(n.hasFormatError=!0,r.push("Invalid formatting rule.")),n.message=r.join(`
|
|
27
|
-
`)),n}renderFormatRule(e,t){const n=`input-${e}-columnName`,r=`input-${e}-columnType`,a=`input-${e}-format`,s=this.getCachedColumnTypeOptions(),o=c=>this.handleFormatRuleChange(e,"columnName",c.target.value),d=()=>this.handleFormatRuleChange(e,"isNewRule",!1),h=c=>this.handleFormatRuleChange(e,"columnType",c.target.value),u=this.getRuleError(t);return l.jsxs("fieldset",{className:"container-fluid format-rule-container",children:[l.jsxs("div",{className:"form-row",children:[l.jsxs("div",{className:"form-group col-7 mb-2",children:[l.jsx("label",{htmlFor:n,children:"Column Name"}),l.jsx("input",{id:n,className:Z("form-control",{"is-invalid":u.hasColumnNameError}),"data-lpignore":!0,type:"text",value:t.columnName,onChange:o,onBlur:d})]}),l.jsxs("div",{className:"form-group col mb-2",children:[l.jsx(F,{kind:"ghost",className:"btn-delete-format-rule float-right",tabIndex:-1,onClick:()=>this.handleFormatRuleDelete(e),icon:Ri,tooltip:"Delete","aria-label":"Delete Format Rule"}),l.jsx("label",{htmlFor:r,children:"Column Type"}),l.jsx("select",{id:r,className:"custom-select",value:t.columnType,onChange:h,children:s})]})]}),l.jsx("div",{className:"form-row",children:l.jsxs("div",{className:"form-group col-12 d-flex mb-2",children:[l.jsx("label",{className:"flex-shrink-0 col-form-label mr-3",htmlFor:a,children:"Formatting Rule"}),this.renderFormatRuleInput(e,t.columnType,a,t.format,u.hasFormatError)]})}),l.jsx("div",{className:"form-row",children:l.jsx("div",{className:"form-group col-12 d-flex mb-2",children:u.message&&l.jsx("p",{className:"text-danger",children:u.message})})})]},e)}renderFormatRuleInput(e,t,n,r,a){switch(oe.getNormalizedType(t)){case oe.dataType.DATETIME:return this.renderDateTimeFormatRuleInput(e,n,r,a);case oe.dataType.DECIMAL:return this.renderDecimalFormatRuleInput(e,n,r,a);case oe.dataType.INT:return this.renderIntegerFormatRuleInput(e,n,r,a);default:throw new Error(`Unrecognized column type: ${t}`)}}renderDateTimeFormatRuleInput(e,t,n,r){const{showTimeZone:a,showTSeparator:s,timeZone:o}=this.state,d=n.formatString??"";return l.jsxs("select",{className:Z("custom-select",{"is-invalid":r}),value:d,id:t,onChange:h=>{const u=Ge.makeFormat("",h.target.value,Ge.TYPE_GLOBAL);this.handleFormatRuleChange(e,"format",u)},children:[l.jsx("option",{value:"",disabled:!0,children:"Select format"},"default"),this.getCachedDateTimeFormatOptions(o,a,s)]})}renderIntegerFormatRuleInput(e,t,n,r){const a=n.formatString??"";return l.jsx("input",{className:Z("form-control","flex-grow-1",{"is-invalid":r}),"data-lpignore":!0,id:t,placeholder:at.DEFAULT_FORMAT_STRING,type:"text",value:a,onChange:s=>{const o=at.makeFormat("",s.target.value,at.TYPE_GLOBAL,void 0);this.handleFormatRuleChange(e,"format",o)}})}renderDecimalFormatRuleInput(e,t,n,r){const a=n.formatString??"";return l.jsx("input",{className:Z("form-control","flex-grow-1",{"is-invalid":r}),"data-lpignore":!0,id:t,placeholder:st.DEFAULT_FORMAT_STRING,type:"text",value:a,onChange:s=>{const o=st.makeFormat("",s.target.value,st.TYPE_GLOBAL,void 0);this.handleFormatRuleChange(e,"format",o)}})}render(){const{formatRulesChanged:e,formatSettings:t}=this.state,n=t.map((a,s)=>l.jsx(Oi,{classNames:"fade",timeout:wn.transitionMs,onEnter:this.handleFormatRuleEntered,children:this.renderFormatRule(s,a)},a.id)),r=l.jsx(F,{kind:"ghost",className:"mb-3",onClick:this.handleFormatRuleCreate,ref:this.addFormatRuleButtonRef,icon:md,children:"Add New Rule"});return l.jsxs("div",{className:"app-settings-formatting-section",ref:this.containerRef,children:[l.jsx("div",{className:"app-settings-menu-description mb-3",children:"Customize the formatting of table columns by applying rules based on matching both a column name and column type."}),l.jsx(Fu,{appear:e,enter:e,exit:e,children:n}),r]})}}const qy=i=>({formatter:Kd(i),defaultDateTimeFormat:Bd(i),defaultDecimalFormatOptions:Wd(i),defaultIntegerFormatOptions:Gd(i),dh:Ur(i),showTimeZone:zd(i),showTSeparator:qd(i),truncateNumbersWithPound:Yd(i),timeZone:ki(i),settings:Fe(i)}),Yy=Me(qy,{saveSettings:Br})(As);class xt extends
|
|
26
|
+
This note can be edited using **markdown** for styling.`);const va=Qn;function ty(i){cn(i);var{id:e,layout:t,panelManager:n,registerComponent:r}=i,a=v.useCallback(o=>{var{title:d,componentState:h,props:u}=o,{panelState:c=null}=u;return h!=null&&({panelState:c=null}=h),d==null||c==null||c.content==null||c.content.length===0||c.content===va.DEFAULT_CONTENT?null:fs(o)},[]),s=v.useCallback(function(){var{title:o="",metadata:d={},id:h=$e.generate(),focusElement:u=_.DEFAULT_FOCUS_SELECTOR,createNewStack:c=!1,dragEvent:m=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=n.getOpenedPanelConfigsOfType(li.COMPONENT),f=n.getClosedPanelConfigsOfType(li.COMPONENT),g=p.map(y=>{var E;return(E=y.title)!==null&&E!==void 0?E:""}),b=o!=null&&o!==""?o:va.getNewMarkdownTitle(g),C=f.length>0?null:va.DEFAULT_CONTENT,w={type:"react-component",component:li.COMPONENT,props:{id:h,metadata:d,panelState:{content:C},localDashboardId:e},title:b,id:h},{root:S}=t;_.openComponent({root:S,config:w,focusElement:u,createNewStack:c,dragEvent:m})},[e,t,n]);return v.useEffect(function(){var d=[r(li.COMPONENT,li,gs,a)];return()=>{d.forEach(h=>h())}},[a,r]),me(t.eventHub,Fh.OPEN,s),null}function ny(i){cn(i);var{hydrate:e}=i,t=On();return Cs({dashboardProps:i,componentName:El.COMPONENT,component:El,supportedTypes:t.VariableType.PANDAS,hydrate:e}),null}function Qr(i,e,t){return e=iy(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function iy(i){var e=ry(i,"string");return typeof e=="symbol"?e:String(e)}function ry(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}class Gi{}Qr(Gi,"DROPDOWN_FILTER","ControlType.DROPDOWN_FILTER");Qr(Gi,"INPUT_FILTER","ControlType.INPUT_FILTER");Qr(Gi,"MARKDOWN","ControlType.MARKDOWN");Qr(Gi,"FILTER_SET_MANAGER","ControlType.FILTER_SET_MANAGER");const sn=Gi;class Ul{static makeSortConfig(e,t){return{column:e,direction:t}}static makeFilterConfig(e){var t=[],n=[];return e.forEach((r,a)=>{t.push(r),a>0&&n.push(Er.and)}),{filterItems:t,filterOperators:n}}static combineFilterConfigs(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Er.and;return{filterItems:[...e.filterItems,...t.filterItems],filterOperators:[...e.filterOperators,n,...t.filterOperators]}}static makeFilterItem(e,t,n){return{columnName:e,type:t,value:n}}}function ay(i,e,t){if(i.length>e){var n=i.length-t;return{toKeep:i.slice(n),toPrune:i.slice(0,n)}}return{toKeep:i,toPrune:[]}}function Hl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Vl(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hl(Object(t),!0).forEach(function(n){tt(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Hl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Bl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function $t(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Bl(a,n,r,s,o,"next",d)}function o(d){Bl(a,n,r,s,o,"throw",d)}s(void 0)})}}function tt(i,e,t){return e=sy(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function sy(i){var e=oy(i,"string");return typeof e=="symbol"?e:String(e)}function oy(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fa=B.module("PouchStorageTable"),ly="Deephaven.";nd.plugin(Mu);function dy(i,e){switch(i){case ke.in:case ke.contains:return{$regex:new RegExp("".concat(e))};case ke.inIgnoreCase:return{$regex:new RegExp("".concat(e),"i")};case ke.eq:return{$eq:e};case ke.notEq:return{$neq:e};case ke.greaterThan:return{$gt:e};case ke.greaterThanOrEqualTo:return{$gte:e};case ke.lessThan:return{$lt:e};case ke.lessThanOrEqualTo:return{$lte:e};case ke.startsWith:return{$regex:new RegExp("^(?".concat(e,").*"))};default:throw new Error("Unsupported type: ".concat(i))}}function hy(i){for(var{filterItems:e,filterOperators:t}=i,n=null,r=0;r<e.length;r+=1){var a=e[r],{columnName:s,type:o,value:d}=a,h={[s]:dy(o,d)};if(r===0)n=h;else if(n!==null&&r-1<t.length){var u=t[r-1];if(u===Er.and)n={$and:[n,h]};else if(u===Er.or)n={$or:[n,h]};else throw new Error("Unexpected filter operator ".concat(u,", ").concat(h))}}if(n==null)throw new Error("Invalid filter config ".concat(i));return n}function ga(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return{$and:[...i.map(e=>hy(e)),{name:{$gt:null}},{id:{$gt:null}}]}}function uy(i){var e,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return[{id:t?"desc":"asc"},...(e=i?.map(n=>({[n.column]:n.direction})))!==null&&e!==void 0?e:[]]}class cy{constructor(e,t){tt(this,"db",void 0),tt(this,"changes",void 0),tt(this,"listeners",[]),tt(this,"itemListeners",new Map),tt(this,"currentSize",0),tt(this,"currentViewport",void 0),tt(this,"currentReverse",!1),tt(this,"currentFilter",null),tt(this,"currentSort",null),tt(this,"infoUpdatePromise",void 0),tt(this,"viewportUpdatePromise",void 0),tt(this,"currentViewportData",void 0),this.db=new nd("".concat(ly).concat(e),t),this.db._remote=!1,this.listenForChanges(),this.db.createIndex({index:{fields:["id","name"]}}),this.refreshInfo()}listenForChanges(){this.changes=this.db.changes({live:!0,since:"now",include_docs:!0}).on("change",this.dbUpdate.bind(this))}onUpdate(e){return this.listeners=[...this.listeners,e],()=>{this.listeners=this.listeners.filter(t=>t!==e)}}onItemUpdate(e,t){return this.itemListeners.has(e)||this.itemListeners.set(e,[]),this.itemListeners.set(e,[...this.itemListeners.get(e),t]),this.refreshItem(e),()=>{this.itemListeners.set(e,this.itemListeners.get(e).filter(n=>n!==t))}}close(){this.listeners=[]}get size(){return this.currentSize}get viewport(){return this.currentViewport}setReversed(e){this.currentReverse=e,this.currentViewportData=void 0,this.refreshData()}setViewport(e){this.currentViewport=e,this.refreshInfo(),this.refreshData()}setSorts(e){this.currentSort=e,this.currentViewportData=void 0,this.refreshData()}setFilters(e){this.currentFilter=e,this.currentViewportData=void 0,this.refreshInfo(),this.refreshData()}get data(){return this.currentViewportData}getViewportData(){var e=this;return $t(function*(){var t;return e.viewportUpdatePromise||e.refreshData(),(t=e.viewportUpdatePromise)!==null&&t!==void 0?t:Promise.resolve({items:[],offset:0})})()}put(e){var t=this;return $t(function*(){var n=Vl(Vl({},e),{},{_id:e.id});return yield t.db.put(n),n})()}sendUpdate(){for(var e,{listeners:t}=this,n=(e=this.currentViewportData)!==null&&e!==void 0?e:{items:[],offset:0},r=0;r<t.length;r+=1)t[r](n)}sendItemUpdate(e){var t=this.itemListeners.get(e.id);if(t!==void 0)for(var n=0;n<t.length;n+=1)t[n](e)}dbUpdate(e){fa.debug("Update received",e),this.refreshInfo(),e.doc!==void 0&&this.sendItemUpdate(e.doc),this.refreshData()}fetchInfo(e){var t=this;return $t(function*(){return t.db.find({selector:e,fields:[]})})()}refreshInfo(){var e=this;return $t(function*(){try{var t,n;(t=e.infoUpdatePromise)===null||t===void 0||t.cancel(),e.infoUpdatePromise=le.makeCancelable(e.fetchInfo(ga((n=e.currentFilter)!==null&&n!==void 0?n:[])));var r=yield e.infoUpdatePromise;e.currentSize=r.docs.length,e.sendUpdate()}catch(a){if(!le.isCanceled(a))throw fa.error("Unable to refreshInfo",a),a}})()}fetchViewportData(e,t,n){var r=this;return $t(function*(){return r.db.find({selector:t,skip:e.top,limit:e.bottom-e.top+1,sort:n,fields:["id","name"]}).then(a=>({items:a.docs,offset:e.top}))})()}refreshData(){var e=this;return $t(function*(){if(e.currentViewport)try{var t,n,r=ga((t=e.currentFilter)!==null&&t!==void 0?t:[]),a=uy(e.currentSort,e.currentReverse);(n=e.viewportUpdatePromise)===null||n===void 0||n.cancel(),e.viewportUpdatePromise=le.makeCancelable(e.fetchViewportData(e.currentViewport,r,a));var s=yield e.viewportUpdatePromise;return e.currentViewportData=s,e.sendUpdate(),s}catch(o){if(!le.isCanceled(o))throw fa.error("Unable to refreshData",o),o}})()}refreshItem(e){var t=this;return $t(function*(){var n=yield t.db.find({selector:{id:e},limit:1}),r=n.docs[0];return r!==void 0&&t.sendItemUpdate(r),r})()}getSnapshot(e){var t=this;return $t(function*(){var n=new Map,r=[{id:t.currentReverse?"desc":"asc"}];return yield Promise.all(e.map(function(){var a=$t(function*(s){var o,[d,h]=s,u=h-d+1;return t.db.find({selector:ga((o=t.currentFilter)!==null&&o!==void 0?o:[]),skip:d,limit:u,sort:r,fields:["id","name"]}).then(c=>{for(var m=0;m<u;m+=1){var p=d+m;n.set(p,c.docs[m])}})});return function(s){return a.apply(this,arguments)}}())),n})()}}const my=cy;function Wl(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function mr(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wl(Object(t),!0).forEach(function(n){du(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Wl(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Gl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function ui(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Gl(a,n,r,s,o,"next",d)}function o(d){Gl(a,n,r,s,o,"throw",d)}s(void 0)})}}function du(i,e,t){return e=py(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function py(i){var e=vy(i,"string");return typeof e=="symbol"?e:String(e)}function vy(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var fy=2500,gy=2e3,ut=B.module("PouchCommandHistoryTable");class by extends my{constructor(e,t){var n;super("CommandHistoryStorage.".concat(e),{auto_compaction:!0,revs_limit:1}),du(this,"searchText",void 0),this.cache=t,this.cache.tableRegistry.has(this.cacheKey)||this.cache.tableRegistry.set(this.cacheKey,new Set),ut.debug("Adding table to registry",this.cacheKey),(n=this.cache.tableRegistry.get(this.cacheKey))===null||n===void 0||n.add(this)}get cacheKey(){return this.db.name}setSearch(e){ut.debug("Setting search filters",e),this.searchText=e.trim().toLowerCase(),this.setFilters(e?[Ul.makeFilterConfig([Ul.makeFilterItem("name",ke.contains,e)])]:[])}dbUpdate(e){ut.debug("Clearing cache and refreshing data",e),this.cache.response.delete(this.cacheKey),super.dbUpdate(e)}fetchData(e){var t=this;return ui(function*(){return le.withTimeout(0,ui(function*(){t.cache.response.has(t.cacheKey)?ut.debug("Fetching from cache",t.searchText,t.viewport):(ut.debug("Fetching from PouchDB",t.searchText,t.viewport),t.cache.response.set(t.cacheKey,t.db.allDocs({include_docs:!0}).then(r=>{var a=r.rows.map(d=>d.doc).filter(d=>{var{name:h}=d;return h});ut.debug("Fetched ".concat(a.length," command history items"));var{toKeep:s,toPrune:o}=ay(a,fy,gy);return o.length&&t.pruneItems(o),{docs:s}})));var n=t.cache.response.get(t.cacheKey);return t.searchText==null||t.searchText===""?n:mr(mr({},n),{},{docs:(yield n).docs.filter(r=>{var{name:a}=r;return a.toLowerCase().includes(t.searchText)})})}))})()}fetchInfo(e){var t=this;return ui(function*(){return t.fetchData(e)})()}fetchViewportData(e,t,n){var r=this;return ui(function*(){var a=yield r.fetchData(t);ut.debug("Fetching viewport data",e.top,e.bottom+1,n,a);var s=typeof n[0]=="object"&&n[0].id==="desc",o=s?a.docs.slice(0).reverse():a.docs,d=o.slice(e.top,e.bottom+1);return{items:d,offset:e.top}})()}pruneItems(e){var t=this;return ui(function*(){if(t.cache.isPruning.get(t.cacheKey)===!0){ut.debug("Pruning already in progress. Skipping.");return}try{ut.debug("Pruning ".concat(e.length," command history items"));var n=t.cache.pauseChangeListeners(t.cacheKey);t.cache.isPruning.set(t.cacheKey,!0),yield t.db.bulkDocs(e.map(r=>mr(mr({},r),{},{_deleted:!0}))),t.cache.isPruning.set(t.cacheKey,!1),n(),ut.debug("Finished pruning command history items")}catch(r){ut.error("An error occurred while pruning db",r)}})()}close(){var e,t,n;ut.debug("Closing table",this,(e=this.cache.tableRegistry.get(this.cacheKey))===null||e===void 0?void 0:e.size),(t=this.cache.tableRegistry.get(this.cacheKey))===null||t===void 0||t.delete(this),(n=this.changes)===null||n===void 0||n.cancel(),super.close()}}const Kl=by;function ba(i,e,t){return e=Cy(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Cy(i){var e=Sy(i,"string");return typeof e=="symbol"?e:String(e)}function Sy(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var zl=B.module("PouchCommandHistoryCache");class yy{constructor(){ba(this,"isPruning",void 0),ba(this,"response",void 0),ba(this,"tableRegistry",void 0),this.isPruning=new Map,this.response=new Map,this.tableRegistry=new Map}pauseChangeListeners(e){var t,n=[];return(t=this.tableRegistry.get(e))===null||t===void 0||t.forEach(r=>{r.changes&&(zl.debug("Pausing event listeners on '".concat(e,"' table"),r),r.changes.cancel(),n.push(r))}),()=>{n.forEach(r=>{var a,s;(a=(s=this.tableRegistry.get(e))===null||s===void 0?void 0:s.has(r))!==null&&a!==void 0&&a&&(zl.debug("Resuming event listeners on '".concat(e,"' table"),r),r.listenForChanges())})}}}const wy=yy;function ql(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function Yl(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ql(Object(t),!0).forEach(function(n){Ga(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):ql(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function Zl(i,e,t,n,r,a,s){try{var o=i[a](s),d=o.value}catch(h){t(h);return}o.done?e(d):Promise.resolve(d).then(n,r)}function Ca(i){return function(){var e=this,t=arguments;return new Promise(function(n,r){var a=i.apply(e,t);function s(d){Zl(a,n,r,s,o,"next",d)}function o(d){Zl(a,n,r,s,o,"throw",d)}s(void 0)})}}function Ga(i,e,t){return e=Ey(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ey(i){var e=Py(i,"string");return typeof e=="symbol"?e:String(e)}function Py(i,e){if(typeof i!="object"||i===null)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var n=t.call(i,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var Xl=B.module("PouchCommandHistoryStorage");class _y{constructor(){Ga(this,"cache",new wy),Ga(this,"updateTableMap",new Map)}getUpdateTable(e){return this.updateTableMap.has(e)||this.updateTableMap.set(e,new Kl(e,this.cache)),this.updateTableMap.get(e)}getTable(e){var t=this;return Ca(function*(){return new Kl(e,t.cache)})()}addItem(e,t,n,r){var a=this;return Ca(function*(){return a.updateItem(e,{id:"".concat(new Date().getTime()),name:n,data:r})})()}updateItem(e,t){var n=this;return Ca(function*(){var r=n.getUpdateTable(e),a=yield r.refreshItem(t.id),s=Yl(Yl({},a??{}),t);return Xl.debug("Updating item",s),yield r.put(s),Xl.debug("Update saved"),t})()}listenItem(e,t,n){var r=this.getUpdateTable(e);return r.onItemUpdate(t,n)}}const hu="SET_LAYOUT_STORAGE",Ty=i=>({type:hu,payload:i});var{dh:Oy}=globalThis;const gt=Oy,uu=""+new URL("community-wordmark-app-d2c5c1eb.svg",import.meta.url).href;const Dy=B.module("SettingsUtils");function Iy(i){return i.formatString!=null}function Ka(i){const e=i?.querySelector("input, select, textarea");e&&e.focus()}function cu(i,e){return i.defaultFormatString===e.defaultFormatString}function xy(i,e){return cu(i,e)}function Ny(i,e){return cu(i,e)}function mu(i){return i!==""&&is.isValidColumnName(i)}function on(i,e,t){if(!e||t.formatString==null||!Iy(t))return!1;switch(e){case"datetime":return Ge.isValid(i,t);case"decimal":return st.isValid(i,t);case"int":return at.isValid(i,t);default:return Dy.warn("Trying to validate format of unknown type"),!0}}function pu(i){const{id:e,isNewRule:t,...n}=i;return n}function vu(i,e){return mu(e.columnName)&&on(i,e.columnType,e.format)}function fu(i){const{timestamp:e,timeZone:t,showTimeZone:n,showTSeparator:r,isGlobalOptions:a,legacyGlobalFormat:s}=i,o=On(),d=v.useMemo(()=>new _a(o,[],{timeZone:t,showTimeZone:n,showTSeparator:r}),[o,n,r,t]),h=a?Ge.getGlobalFormats(n,r):Ge.getFormats(n,r);return s!=null&&!h.includes(s)&&h.unshift(s),l.jsx(l.Fragment,{children:h.map(u=>{const c=Ge.makeFormat("",u,Ge.TYPE_GLOBAL);return l.jsx("option",{value:u,"data-testid":"time-format",children:d.getFormattedString(e,oe.dataType.DATETIME,"",c)},u)})})}function Ly(){return l.jsx(l.Fragment,{children:ns.TIME_ZONES.map(i=>{const{label:e,value:t}=i;return l.jsx("option",{value:t,children:e},t)})})}const gn=B.module("FormattingSectionContent");class js extends v.PureComponent{static defaultProps={scrollTo:()=>{},defaults:{defaultDateTimeFormat:Ge.DEFAULT_DATETIME_FORMAT_STRING,defaultDecimalFormatOptions:{defaultFormatString:st.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:at.DEFAULT_FORMAT_STRING},showTimeZone:!1,showTSeparator:!0,timeZone:Ge.DEFAULT_TIME_ZONE_ID}};static inputDebounceTime=250;constructor(e){super(e),this.debouncedCommitChanges=Je(this.commitChanges.bind(this),js.inputDebounceTime),this.handleDefaultDateTimeFormatChange=this.handleDefaultDateTimeFormatChange.bind(this),this.handleDefaultDecimalFormatChange=this.handleDefaultDecimalFormatChange.bind(this),this.handleDefaultIntegerFormatChange=this.handleDefaultIntegerFormatChange.bind(this),this.handleShowTimeZoneChange=this.handleShowTimeZoneChange.bind(this),this.handleShowTSeparatorChange=this.handleShowTSeparatorChange.bind(this),this.handleTimeZoneChange=this.handleTimeZoneChange.bind(this),this.handleResetDateTimeFormat=this.handleResetDateTimeFormat.bind(this),this.handleResetDecimalFormat=this.handleResetDecimalFormat.bind(this),this.handleResetIntegerFormat=this.handleResetIntegerFormat.bind(this),this.handleResetTimeZone=this.handleResetTimeZone.bind(this),this.handleTruncateNumbersWithPoundChange=this.handleTruncateNumbersWithPoundChange.bind(this);const{formatter:t,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,showTimeZone:s,showTSeparator:o,timeZone:d,truncateNumbersWithPound:h}=e,u=t.map((c,m)=>({...c,id:m}));this.containerRef=J.createRef(),this.state={formatSettings:u,showTimeZone:s,showTSeparator:o,timeZone:d,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,truncateNumbersWithPound:h,timestampAtMenuOpen:new Date}}componentDidMount(){Ka(this.containerRef.current)}componentWillUnmount(){this.debouncedCommitChanges.flush()}debouncedCommitChanges;containerRef;getCachedDateTimeFormatOptions=wt((e,t,n,r=!1,a)=>{const{timestampAtMenuOpen:s}=this.state;return l.jsx(fu,{timestamp:s,timeZone:e,showTimeZone:t,showTSeparator:n,isGlobalOptions:r,legacyGlobalFormat:a})});handleDefaultDateTimeFormatChange(e){gn.debug("handleDefaultDateTimeFormatChange",e.target.value),this.setState({defaultDateTimeFormat:e.target.value},()=>{this.debouncedCommitChanges()})}handleDefaultDecimalFormatChange(e){gn.debug("handleDefaultDecimalFormatChange",e.target.value),this.setState({defaultDecimalFormatOptions:{defaultFormatString:e.target.value}},()=>{this.debouncedCommitChanges()})}handleDefaultIntegerFormatChange(e){gn.debug("handleDefaultIntegerFormatChange",e.target.value),this.setState({defaultIntegerFormatOptions:{defaultFormatString:e.target.value}},()=>{this.debouncedCommitChanges()})}handleShowTimeZoneChange(){this.setState(e=>({showTimeZone:!e.showTimeZone}),()=>{this.debouncedCommitChanges()})}handleShowTSeparatorChange(){this.setState(e=>({showTSeparator:!e.showTSeparator}),()=>{this.debouncedCommitChanges()})}handleTimeZoneChange(e){this.setState({timeZone:e.target.value},()=>{this.debouncedCommitChanges()})}handleResetDateTimeFormat(){const{defaults:e}=this.props,{defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r}=e;gn.debug("handleResetDateTimeFormat"),this.setState({defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r},()=>{this.debouncedCommitChanges()})}handleResetTimeZone(){const{defaults:e}=this.props,{timeZone:t}=e;gn.debug("handleResetTimeZone"),this.setState({timeZone:t},()=>{this.debouncedCommitChanges()})}handleResetDecimalFormat(){const{defaults:e}=this.props,{defaultDecimalFormatOptions:t}=e;gn.debug("handleResetDecimalFormat"),this.setState({defaultDecimalFormatOptions:t},()=>{this.debouncedCommitChanges()})}handleResetIntegerFormat(){const{defaults:e}=this.props,{defaultIntegerFormatOptions:t}=e;gn.debug("handleResetIntegerFormat"),this.setState({defaultIntegerFormatOptions:t},()=>{this.debouncedCommitChanges()})}handleTruncateNumbersWithPoundChange(){this.setState(e=>({truncateNumbersWithPound:!e.truncateNumbersWithPound}),()=>{this.debouncedCommitChanges()})}commitChanges(){const{formatSettings:e,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,defaultDecimalFormatOptions:s,defaultIntegerFormatOptions:o,truncateNumbersWithPound:d}=this.state,{dh:h}=this.props,u=e.filter(f=>vu(h,f)).map(pu)??[],{settings:c,saveSettings:m}=this.props,p={...c,formatter:u,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,truncateNumbersWithPound:d};on(h,oe.dataType.DECIMAL,st.makeCustomFormat(s.defaultFormatString))&&(p.defaultDecimalFormatOptions=s),on(h,oe.dataType.INT,at.makeCustomFormat(o.defaultFormatString))&&(p.defaultIntegerFormatOptions=o),m(p)}render(){const{defaults:e,dh:t}=this.props,{defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,timeZone:s,showTimeZone:o,showTSeparator:d,truncateNumbersWithPound:h}=this.state,{defaultFormatString:u=st.DEFAULT_FORMAT_STRING}=r??{},{defaultFormatString:c=at.DEFAULT_FORMAT_STRING}=a??{},m=s===e.timeZone,p=d===e.showTSeparator&&o===e.showTimeZone&&n===e.defaultDateTimeFormat,f=xy(r,e.defaultDecimalFormatOptions),g=Ny(a,e.defaultIntegerFormatOptions);return l.jsx("div",{className:"app-settings-formatting-section",ref:this.containerRef,children:l.jsxs("div",{className:"container-fluid p-0",children:[l.jsx("div",{className:"app-settings-menu-description mb-3",children:"Choose the default formatting rule to apply to all table columns based on their type."}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"select-reset-timezone",children:"Time zone"}),l.jsx("div",{className:"col pr-0",children:l.jsx("select",{className:"custom-select",value:s,onChange:this.handleTimeZoneChange,id:"select-reset-timezone",children:l.jsx(Ly,{})})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetTimeZone,tooltip:"Reset Time Zone",className:Z("btn-reset","btn-reset-time-zone",{hidden:m})})})]}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"select-default-time-format",children:"DateTime"}),l.jsx("div",{className:"col pr-0",children:l.jsx("select",{className:"custom-select",value:n,onChange:this.handleDefaultDateTimeFormatChange,id:"select-default-time-format",children:this.getCachedDateTimeFormatOptions(s,o,d,!0,n)})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetDateTimeFormat,tooltip:"Reset DateTime Options",className:Z("btn-reset","btn-reset-date-time",{hidden:p})})})]}),l.jsx("div",{className:"form-row",children:l.jsx("div",{className:"offset-3 col-9",children:l.jsx(fr,{checked:o??null,onChange:this.handleShowTimeZoneChange,children:"Show time zone in dates"})})}),l.jsx("div",{className:"form-row mb-3",children:l.jsx("div",{className:"offset-3 col-9",children:l.jsx(fr,{checked:d??null,onChange:this.handleShowTSeparatorChange,children:"Show 'T' separator"})})}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"default-decimal-format-input",children:"Decimal"}),l.jsx("div",{className:"col pr-0",children:l.jsx("input",{className:Z("form-control","flex-grow-1","default-decimal-format-input",{"is-invalid":!on(t,oe.dataType.DECIMAL,st.makeCustomFormat(u))}),"data-lpignore":!0,placeholder:st.DEFAULT_FORMAT_STRING,type:"text",id:"default-decimal-format-input",value:u,onChange:this.handleDefaultDecimalFormatChange})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetDecimalFormat,tooltip:"Reset Decimal Formatting",className:Z("btn-reset","btn-reset-decimal",{hidden:f}),"data-testid":"btn-reset-decimal"})})]}),l.jsxs("div",{className:"form-row mb-2",children:[l.jsx("label",{className:"col-form-label col-3",htmlFor:"default-integer-format-input",children:"Integer"}),l.jsx("div",{className:"col pr-0",children:l.jsx("input",{className:Z("form-control","flex-grow-1","default-integer-format-input",{"is-invalid":!on(t,oe.dataType.INT,at.makeCustomFormat(c))}),"data-lpignore":!0,placeholder:at.DEFAULT_FORMAT_STRING,type:"text",id:"default-integer-format-input",value:c,onChange:this.handleDefaultIntegerFormatChange})}),l.jsx("div",{className:"col-1 btn-col",children:l.jsx(F,{kind:"ghost",icon:An,onClick:this.handleResetIntegerFormat,tooltip:"Reset Integer Formatting",className:Z("btn-reset","btn-reset-integer",{hidden:g}),"data-testid":"btn-reset-integer"})})]}),l.jsx("div",{className:"form-row mb-3",children:l.jsx("div",{className:"offset-3 col-9",children:l.jsx(fr,{checked:h??null,onChange:this.handleTruncateNumbersWithPoundChange,children:"Truncate numbers with #"})})})]})})}}const My=i=>({formatter:Kd(i),defaultDateTimeFormat:Bd(i),defaultDecimalFormatOptions:Wd(i),defaultIntegerFormatOptions:Gd(i),dh:Ur(i),showTimeZone:zd(i),showTSeparator:qd(i),truncateNumbersWithPound:Yd(i),timeZone:ki(i),settings:Fe(i)}),Fy=Me(My,{saveSettings:Br})(js);function Ry(){const[i,e]=v.useState(!1),t=()=>{e(!i)};return l.jsxs(l.Fragment,{children:[l.jsx(F,{kind:"ghost",onClick:t,icon:lc,children:"Legal Notices"}),l.jsxs(Qa,{isOpen:i,toggle:t,className:"theme-bg-light",children:[l.jsx(es,{toggle:t,children:"Legal Notice"}),l.jsxs(ts,{children:[l.jsx("p",{children:"Deephaven software is protected by U.S. Patent Nos. 9,612,959; 9,613,018; 9,613,109; 9,619,210; 9,633,060; 9,639,570; 9,672,238; 9,679,006; 9,690,821; 9,710,511; 9,760,591; 9,805,084; 9,836,494; 9,836,495; 9,886,469; 9,898,496; 9,934,266; 10,002,153; 10,002,154; 10,002,155; 10,003,673; 10,019,138; 10,069,943; 10,176,211; 10,198,465; 10,198,466; 10,198,469; 10,212,257; 10,241,960; 10,241,965; 10,242,040; 10,242,041; 10,346,394; 10,353,893; 10,452,649; 10,496,639; 10,540,351; 10,552,412; 10,565,194; 10,565,206; 10,572,474; 10,621,168; 10,642,829; 10,657,184; 10,678,787; 10,691,686; 10,783,191; 10,866,943; 10,909,183; 10,915,526; 10,922,311; 10,929,394; 11,023,462; 11,126,662; 11,151,133; 11,238,036; 11,249,994; 11,263,211; 11,449,557; 11,514,037; 11,556,528; and 11,574,018. Other patents pending."}),l.jsxs("p",{children:["© 2016-",new Date().getFullYear()," Deephaven Data Labs LLC. Patent Pending."]})]})]})]})}function Ti(i){const{children:e,isExpanded:t,sectionKey:n,title:r,onToggle:a}=i;return l.jsxs(l.Fragment,{children:[l.jsx("div",{children:l.jsxs(F,{kind:"ghost",className:"btn-collapse-trigger",onClick:()=>a(n),children:[l.jsx("div",{className:"flex-grow-1",children:r}),l.jsx("div",{className:"flex-shrink-0",children:l.jsx(X,{transform:t?"flip-v":"",icon:Sn})})]})}),l.jsx($c,{in:t,autoFocusOnShow:!0,children:e})]})}Ti.propTypes={children:I.node,isExpanded:I.bool.isRequired,sectionKey:I.string.isRequired,title:I.node.isRequired,onToggle:I.func};Ti.defaultProps={children:null,onToggle:()=>{}};function jy({shortcut:i,displayText:e,categoryName:t,onChange:n}){const[r,a]=v.useState(e),[s,o]=v.useState(i.getKeyState()),[d,h]=v.useState(!1),[u,c]=v.useState("");v.useEffect(function(){a(e),o(i.getKeyState())},[e,i]),v.useEffect(function(){a(bt.getDisplayText(s)),i.matchesKeyState(s)&&h(!1)},[s,i]),v.useEffect(function(){if(d){if(!bt.isValidKeyState(s)){bt.isAllowedKey(s.keyValue)?c("Must contain a modifier key"):c("Must contain an allowed action key");return}const y=De.getConflictingShortcuts(s).filter(E=>E.id.startsWith(t)&&E!==i).map(E=>E.name);if(y.length){c(`Conflicts with ${y.join(", ")}`);return}c("")}else c("")},[d,s,t,i]);function m(S){if(S.stopPropagation(),S.preventDefault(),i.isEditable&&!S.repeat){const y=bt.getKeyStateFromEvent(S),E=bt.createKeyState([ce.BACKSPACE]);bt.doKeyStatesMatch(y,E)?o(bt.NULL_KEY_STATE):o(y)}}function p(S){S.stopPropagation(),S.preventDefault(),i.matchesKeyState(s)||h(!0)}function f(){to.disableAllActions()}function g(){to.enableAllActions()}function b(){i.setKeyState(s),h(!1),n(i)}function C(){const S=i.getKeyState();o(S),h(!1)}function w(){h(!0),o(i.getDefaultKeyState())}return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"shortcut-item-container",children:[l.jsxs("label",{className:"shortcut-item-name",children:[i.name,i.tooltip!==void 0&&l.jsx(Mt,{children:i.tooltip})]}),l.jsxs("div",{className:"shortcut-item-input-container",children:[l.jsx("input",{className:Z("form-control",{"is-invalid":u}),onKeyDown:m,onKeyUp:p,onFocus:f,onBlur:g,disabled:!i.isEditable,value:r,readOnly:!0}),!bt.doKeyStatesMatch(s,i.getDefaultKeyState())&&!u&&l.jsx(F,{className:"reset-to-default-button",kind:"ghost",icon:l.jsx(X,{icon:An,transform:{rotate:90,flipX:!0}}),tooltip:"Reset to default",onClick:w})]})]}),d&&l.jsxs("div",{className:Z("shortcut-item-message-container",{"is-invalid":u}),children:[l.jsx("div",{className:"shortcut-item-message",children:u}),l.jsxs("div",{className:"shortcut-item-message-buttons",children:[bt.isValidKeyState(s)&&l.jsx(F,{kind:"ghost",onClick:b,children:"Confirm"}),l.jsx(F,{kind:"ghost",onClick:C,children:"Undo"})]})]})]})}function Ay({shortcutOverrides:i={},settings:e,saveSettings:t}){const n=v.useCallback(o=>{const d=bt.isMacPlatform,h={mac:{...i.mac},windows:{...i.windows}},u=d?h.mac:h.windows;o.forEach(c=>{c.isDefault()?delete u[c.id]:u[c.id]=c.getKeyState()}),t({...e,shortcutOverrides:h})},[e,t,i]);let r=Array.from(De.shortcutsByCategory.entries()).map(([o,d])=>({name:o,shortcuts:d}));const a=r.findIndex(o=>o.name.toUpperCase()==="GLOBAL"),s=r.splice(a,1);return r=r.concat(s),l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"app-settings-menu-description",children:"Customize shortcuts below. To prevent unexpected results, avoid conflicting shortcuts with the browser or IDE editor."}),r.map(o=>l.jsx(ky,{name:o.name,shortcuts:o.shortcuts,saveShortcutOverrides:n},o.name))]})}function ky({name:i,shortcuts:e,saveShortcutOverrides:t}){function n(d){return d.split("_").map(h=>`${h[0].toUpperCase()}${h.slice(1).toLowerCase()}`).join(" ")}const[r,a]=v.useState(e);function s(d){const h=r.filter(c=>c!==d&&!c.isNull()&&c.matchesKeyState(d.getKeyState()));h.forEach(c=>c.setToNull());const u=[d,...h];t(u),a(c=>[...c])}const o=v.useMemo(()=>r.map(d=>d.getDisplayText()),[r]);return l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"font-weight-bold",children:n(i)}),r.map((d,h)=>l.jsx(jy,{shortcut:d,displayText:o[h],categoryName:i,onChange:s},d.id))]})}const $y=i=>({settings:Fe(i),shortcutOverrides:Rp(i)}),Uy={saveSettings:Br},Hy=Me($y,Uy)(Ay),Vy="yyyy-MM-dd-HHmmss";function gu(i,e="root",t=new Map([[i,""]])){const n={};return Object.entries(i).forEach(([r,a])=>{try{JSON.stringify(a),n[r]=a}catch{const o=a;if(typeof a=="bigint")n[r]=a.toString();else if(t.has(o))n[r]=`Circular ref to ${t.get(o)}`;else{const d=`${e}.${r}`;t.set(o,d),n[r]=gu(a,d,t)}}}),n}function By(){const i=ds.getState();return JSON.stringify(gu(i),null,2)}function Wy(i){const e={uiVersion:"0.49.0",userAgent:navigator.userAgent,...i};return JSON.stringify(e,null,2)}async function Gy(i=`${gt.i18n.DateTimeFormat.format(Vy,new Date)}_support_logs`,e){const t=new id,n=t.folder(i);n.file("console.txt",dc.getFormattedHistory()),n.file("redux.json",By()),n.file("metadata.json",Wy(e));const r=await t.generateAsync({type:"blob"}),a=document.createElement("a");a.href=URL.createObjectURL(r),a.download=`${i}.zip`,a.click()}const Ky=[{value:oe.dataType.DATETIME,label:"DateTime"},{value:oe.dataType.DECIMAL,label:"Decimal"},{value:oe.dataType.INT,label:"Integer"}];function zy(){const i=Ky.map(e=>l.jsx("option",{value:e.value,children:e.label},`key-columnType-${e.value}`));return l.jsxs(l.Fragment,{children:[l.jsx("option",{disabled:!0,value:"",children:"Select Type"},"key-columnType-placeholder"),i]})}class As extends v.PureComponent{static defaultProps={scrollTo:()=>{},defaults:{defaultDateTimeFormat:Ge.DEFAULT_DATETIME_FORMAT_STRING,defaultDecimalFormatOptions:{defaultFormatString:st.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:at.DEFAULT_FORMAT_STRING},showTimeZone:!1,showTSeparator:!0,timeZone:Ge.DEFAULT_TIME_ZONE_ID}};static inputDebounceTime=250;constructor(e){super(e),this.debouncedCommitChanges=Je(this.commitChanges.bind(this),As.inputDebounceTime),this.handleFormatRuleEntered=this.handleFormatRuleEntered.bind(this),this.handleFormatRuleChange=this.handleFormatRuleChange.bind(this),this.handleFormatRuleCreate=this.handleFormatRuleCreate.bind(this),this.handleFormatRuleDelete=this.handleFormatRuleDelete.bind(this);const{formatter:t,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,showTimeZone:s,showTSeparator:o,timeZone:d,truncateNumbersWithPound:h}=e,u=t.map((c,m)=>({...c,id:m}));this.containerRef=J.createRef(),this.addFormatRuleButtonRef=J.createRef(),this.lastFormatRuleIndex=u.length,this.state={formatSettings:u,formatRulesChanged:!1,showTimeZone:s,showTSeparator:o,timeZone:d,defaultDateTimeFormat:n,defaultDecimalFormatOptions:r,defaultIntegerFormatOptions:a,truncateNumbersWithPound:h,timestampAtMenuOpen:new Date}}componentDidMount(){Ka(this.containerRef.current)}componentWillUnmount(){this.debouncedCommitChanges.flush()}debouncedCommitChanges;containerRef;addFormatRuleButtonRef;lastFormatRuleIndex;isDuplicateRule(e){const{formatSettings:t}=this.state;return t.some(n=>n.id!==e.id&&n.columnName===e.columnName&&n.columnType===e.columnType)??!1}getAutoIncrementFormatRuleIndex(){const{lastFormatRuleIndex:e}=this;return this.lastFormatRuleIndex+=1,e}getCachedColumnTypeOptions=wt(()=>l.jsx(zy,{}));getCachedDateTimeFormatOptions=wt((e,t,n,r=!1,a)=>{const{timestampAtMenuOpen:s}=this.state;return l.jsx(fu,{timestamp:s,timeZone:e,showTimeZone:t,showTSeparator:n,isGlobalOptions:r,legacyGlobalFormat:a})});handleFormatRuleChange(e,t,n){this.setState(r=>{const{formatSettings:a}=r;$(a);const s=[...a];let o={};t==="columnType"&&(o={format:""});const d={...s[e],...o,[t]:n};return s[e]=d,{formatSettings:s}},()=>{this.debouncedCommitChanges()})}handleFormatRuleCreate(){this.setState(e=>{const{formatSettings:t}=e,n={columnType:oe.dataType.DATETIME,columnName:"",format:{},id:this.getAutoIncrementFormatRuleIndex(),isNewRule:!0};return{formatSettings:[...t,n],formatRulesChanged:!0}})}handleFormatRuleDelete(e){this.setState(t=>{const{formatSettings:n}=t;return{formatSettings:n.filter((a,s)=>s!==e),formatRulesChanged:!0}},()=>{this.debouncedCommitChanges()})}handleFormatRuleEntered(e){this.scrollToFormatBlockBottom(),Ka(e)}commitChanges(){const{formatSettings:e,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,defaultDecimalFormatOptions:s,defaultIntegerFormatOptions:o,truncateNumbersWithPound:d}=this.state,{dh:h}=this.props,u=e.filter(f=>vu(h,f)).map(pu)??[],{settings:c,saveSettings:m}=this.props,p={...c,formatter:u,defaultDateTimeFormat:t,showTimeZone:n,showTSeparator:r,timeZone:a,truncateNumbersWithPound:d};on(h,oe.dataType.DECIMAL,st.makeCustomFormat(s.defaultFormatString))&&(p.defaultDecimalFormatOptions=s),on(h,oe.dataType.INT,at.makeCustomFormat(o.defaultFormatString))&&(p.defaultIntegerFormatOptions=o),m(p)}scrollToFormatBlockBottom(){const{scrollTo:e}=this.props;e(0,(this.addFormatRuleButtonRef.current?.offsetHeight??0)+(this.addFormatRuleButtonRef.current?.offsetTop??0))}getRuleError(e){const{dh:t}=this.props,n={hasColumnNameError:!1,hasFormatError:!1,message:""},r=[];return e.isNewRule!==void 0&&e.isNewRule||(this.isDuplicateRule(e)&&(n.hasColumnNameError=!0,r.push("Duplicate column name/type combo.")),mu(e.columnName)||(n.hasColumnNameError=!0,r.push("Column names must start with a letter or underscore and contain only alphanumeric characters or underscores.")),e.format.formatString!==void 0&&e.format.formatString.length===0?(n.hasFormatError=!0,r.push("Empty formatting rule.")):on(t,e.columnType,e.format)||(n.hasFormatError=!0,r.push("Invalid formatting rule.")),n.message=r.join(`
|
|
27
|
+
`)),n}renderFormatRule(e,t){const n=`input-${e}-columnName`,r=`input-${e}-columnType`,a=`input-${e}-format`,s=this.getCachedColumnTypeOptions(),o=c=>this.handleFormatRuleChange(e,"columnName",c.target.value),d=()=>this.handleFormatRuleChange(e,"isNewRule",!1),h=c=>this.handleFormatRuleChange(e,"columnType",c.target.value),u=this.getRuleError(t);return l.jsxs("fieldset",{className:"container-fluid format-rule-container",children:[l.jsxs("div",{className:"form-row",children:[l.jsxs("div",{className:"form-group col-7 mb-2",children:[l.jsx("label",{htmlFor:n,children:"Column Name"}),l.jsx("input",{id:n,className:Z("form-control",{"is-invalid":u.hasColumnNameError}),"data-lpignore":!0,type:"text",value:t.columnName,onChange:o,onBlur:d})]}),l.jsxs("div",{className:"form-group col mb-2",children:[l.jsx(F,{kind:"ghost",className:"btn-delete-format-rule float-right",tabIndex:-1,onClick:()=>this.handleFormatRuleDelete(e),icon:Ri,tooltip:"Delete","aria-label":"Delete Format Rule"}),l.jsx("label",{htmlFor:r,children:"Column Type"}),l.jsx("select",{id:r,className:"custom-select",value:t.columnType,onChange:h,children:s})]})]}),l.jsx("div",{className:"form-row",children:l.jsxs("div",{className:"form-group col-12 d-flex mb-2",children:[l.jsx("label",{className:"flex-shrink-0 col-form-label mr-3",htmlFor:a,children:"Formatting Rule"}),this.renderFormatRuleInput(e,t.columnType,a,t.format,u.hasFormatError)]})}),l.jsx("div",{className:"form-row",children:l.jsx("div",{className:"form-group col-12 d-flex mb-2",children:u.message&&l.jsx("p",{className:"text-danger",children:u.message})})})]},e)}renderFormatRuleInput(e,t,n,r,a){switch(oe.getNormalizedType(t)){case oe.dataType.DATETIME:return this.renderDateTimeFormatRuleInput(e,n,r,a);case oe.dataType.DECIMAL:return this.renderDecimalFormatRuleInput(e,n,r,a);case oe.dataType.INT:return this.renderIntegerFormatRuleInput(e,n,r,a);default:throw new Error(`Unrecognized column type: ${t}`)}}renderDateTimeFormatRuleInput(e,t,n,r){const{showTimeZone:a,showTSeparator:s,timeZone:o}=this.state,d=n.formatString??"";return l.jsxs("select",{className:Z("custom-select",{"is-invalid":r}),value:d,id:t,onChange:h=>{const u=Ge.makeFormat("",h.target.value,Ge.TYPE_GLOBAL);this.handleFormatRuleChange(e,"format",u)},children:[l.jsx("option",{value:"",disabled:!0,children:"Select format"},"default"),this.getCachedDateTimeFormatOptions(o,a,s)]})}renderIntegerFormatRuleInput(e,t,n,r){const a=n.formatString??"";return l.jsx("input",{className:Z("form-control","flex-grow-1",{"is-invalid":r}),"data-lpignore":!0,id:t,placeholder:at.DEFAULT_FORMAT_STRING,type:"text",value:a,onChange:s=>{const o=at.makeFormat("",s.target.value,at.TYPE_GLOBAL,void 0);this.handleFormatRuleChange(e,"format",o)}})}renderDecimalFormatRuleInput(e,t,n,r){const a=n.formatString??"";return l.jsx("input",{className:Z("form-control","flex-grow-1",{"is-invalid":r}),"data-lpignore":!0,id:t,placeholder:st.DEFAULT_FORMAT_STRING,type:"text",value:a,onChange:s=>{const o=st.makeFormat("",s.target.value,st.TYPE_GLOBAL,void 0);this.handleFormatRuleChange(e,"format",o)}})}render(){const{formatRulesChanged:e,formatSettings:t}=this.state,n=t.map((a,s)=>l.jsx(Oi,{classNames:"fade",timeout:wn.transitionMs,onEnter:this.handleFormatRuleEntered,children:this.renderFormatRule(s,a)},a.id)),r=l.jsx(F,{kind:"ghost",className:"mb-3",onClick:this.handleFormatRuleCreate,ref:this.addFormatRuleButtonRef,icon:md,children:"Add New Rule"});return l.jsxs("div",{className:"app-settings-formatting-section",ref:this.containerRef,children:[l.jsx("div",{className:"app-settings-menu-description mb-3",children:"Customize the formatting of table columns by applying rules based on matching both a column name and column type."}),l.jsx(Fu,{appear:e,enter:e,exit:e,children:n}),r]})}}const qy=i=>({formatter:Kd(i),defaultDateTimeFormat:Bd(i),defaultDecimalFormatOptions:Wd(i),defaultIntegerFormatOptions:Gd(i),dh:Ur(i),showTimeZone:zd(i),showTSeparator:qd(i),truncateNumbersWithPound:Yd(i),timeZone:ki(i),settings:Fe(i)}),Yy=Me(qy,{saveSettings:Br})(As);class xt extends v.Component{static defaultProps={onDone:()=>{}};static FORMATTING_SECTION_KEY="SettingsMenu.formatting";static COLUMN_SPECIFIC_SECTION_KEY="SettingsMenu.columnFormatting";static APPLICATION_SECTION_KEY="ApplicationMenu.settings";static SHORTCUT_SECTION_KEY="SettingsMenu.shortcuts";static focusFirstInputInContainer(e){const t=e?.querySelector("input, select, textarea");t&&t.focus()}constructor(e){super(e),this.handleClose=this.handleClose.bind(this),this.handleScrollTo=this.handleScrollTo.bind(this),this.handleSectionToggle=this.handleSectionToggle.bind(this),this.handleExportSupportLogs=this.handleExportSupportLogs.bind(this),this.handleLogout=this.handleLogout.bind(this),this.menuContentRef=J.createRef(),this.broadcastChannel=new BroadcastChannel(Uc),this.state={expandedSectionKey:xt.FORMATTING_SECTION_KEY}}componentDidMount(){xt.focusFirstInputInContainer(this.menuContentRef.current)}componentWillUnmount(){this.broadcastChannel.close()}menuContentRef;broadcastChannel;isSectionExpanded(e){const{expandedSectionKey:t}=this.state;return t===e}handleLogout(){this.broadcastChannel.postMessage(Hc(Vc))}handleScrollTo(e,t){this.menuContentRef.current?.scrollTo(e,t)}handleSectionToggle(e){this.setState(t=>({expandedSectionKey:t.expandedSectionKey===e?void 0:e}))}handleClose(){const{onDone:e}=this.props;e()}handleExportSupportLogs(){const{serverConfigValues:e}=this.props;Gy(void 0,Object.fromEntries(e))}render(){const e="0.49.0",t="https://github.com/deephaven/web-client-ui/",n="https://deephaven.io/core/docs/",{serverConfigValues:r,user:a}=this.props,s=r.get("barrage.version"),o=r.get("java.version"),d=r.get("deephaven.version"),h=(p,f)=>l.jsxs(l.Fragment,{children:[l.jsx("div",{children:p}),l.jsx("div",{children:f})]}),u=a.displayName??a.name,c=a.image!=null&&a.image!=="",m=u!=="";return l.jsxs("div",{className:"app-settings-menu",children:[l.jsxs("header",{className:"app-settings-menu-header",children:[l.jsxs("div",{className:"user-info",children:[l.jsxs("div",{className:"user-image",children:[!c&&l.jsx(X,{icon:hc,transform:"grow-8"}),c&&l.jsx("img",{src:a.image,alt:u})]}),l.jsxs("div",{className:"user-details",children:[m&&l.jsxs("div",{className:"user-name",children:[u,a.operateAs!=null&&a.name!==a.operateAs&&l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"font-weight-light font-italic",children:[" ","as"," "]}),l.jsxs("span",{className:"operating-as-user",children:[l.jsx(X,{icon:uc,className:"mr-1"}),a.operateAs]})]})]}),a.permissions.canLogout&&l.jsx("button",{type:"button",className:"btn btn-link",onClick:this.handleLogout,children:"logout"})]})]}),l.jsx(F,{kind:"ghost",className:"btn-close-settings-menu",onClick:this.handleClose,icon:l.jsx(X,{icon:od,transform:"grow-4"}),tooltip:"Close"})]}),l.jsxs("div",{className:"app-settings-menu-content",ref:this.menuContentRef,children:[l.jsx("h5",{children:"Settings"}),l.jsx("hr",{className:"my-0"}),l.jsx(Ti,{sectionKey:xt.FORMATTING_SECTION_KEY,isExpanded:this.isSectionExpanded(xt.FORMATTING_SECTION_KEY),title:l.jsxs(l.Fragment,{children:[l.jsx(X,{icon:cc,transform:"grow-4",className:"mr-2"}),"Default Format & Time zone"]}),onToggle:this.handleSectionToggle,children:l.jsx(Fy,{})}),l.jsx(Ti,{sectionKey:xt.COLUMN_SPECIFIC_SECTION_KEY,isExpanded:this.isSectionExpanded(xt.COLUMN_SPECIFIC_SECTION_KEY),title:l.jsxs(l.Fragment,{children:[l.jsx(X,{icon:mc,transform:"grow-4",className:"mr-2"}),"Format by Column Name & Type"]}),onToggle:this.handleSectionToggle,children:l.jsx(Yy,{scrollTo:this.handleScrollTo})}),l.jsx(Ti,{sectionKey:xt.SHORTCUT_SECTION_KEY,isExpanded:this.isSectionExpanded(xt.SHORTCUT_SECTION_KEY),title:l.jsxs(l.Fragment,{children:[l.jsx(X,{icon:pc,transform:"grow-2"})," ","Keyboard Shortcuts"]}),onToggle:this.handleSectionToggle,children:l.jsx(Hy,{})}),l.jsxs("div",{className:"app-settings-footer",children:[l.jsxs("div",{className:"app-settings-footer-section",children:[l.jsxs("div",{className:"app-settings-footer-item",children:[l.jsx("div",{className:"font-weight-bold",children:"Support"}),l.jsxs("div",{children:["GitHub: ",l.jsx("a",{href:t,className:"custom-link",target:"_blank",rel:"noopener noreferrer",children:t})]}),l.jsx(F,{kind:"tertiary",className:"mt-2 py-2",onClick:this.handleExportSupportLogs,children:"Export Logs"})]}),l.jsxs("div",{className:"app-settings-footer-item",children:[l.jsx("div",{className:"font-weight-bold",children:"Documentation"}),l.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:n,className:"custom-link",children:n})]}),l.jsxs("div",{className:"app-settings-footer-item",children:[l.jsx("div",{className:"font-weight-bold",children:"Version"}),l.jsxs("span",{className:"d-inline-block text-muted",children:[d," ",l.jsx(X,{icon:vc}),l.jsxs(Mt,{interactive:!0,children:[l.jsxs("div",{className:"detailed-server-config",children:[h("Engine Version",d),h("Web UI Version",e),h("Java Version",o),h("Barrage Version",s)]}),l.jsx(bd,{tooltip:"Copy version numbers",copy:`Engine Version: ${d}
|
|
28
28
|
Web UI Version: ${e}
|
|
29
29
|
Java Version: ${o}
|
|
30
|
-
Barrage Version: ${s}`,children:"Copy Versions"})]})]})]}),l.jsx("div",{className:"app-settings-footer-item",children:l.jsx(Ry,{})})]}),l.jsx("div",{className:"app-settings-footer-section",children:l.jsx("div",{className:"logo",children:l.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://deephaven.io",className:"d-inline-block custom-link p-1",children:l.jsx("img",{src:uu,alt:"Deephaven Data Labs",width:"230px"})})})})]})]})]})}}const Jl=10;function $n(i){const{forwardedProps:{menuItem:{action:e,title:t,disabled:n},iconElement:r,displayShortcut:a,isMouseSelected:s,isKeyboardSelected:o,closeMenu:d}}=i,h=f.useRef(),u=f.useRef(),c=f.useRef(null),[m,p]=f.useState(!1),v=f.useCallback(C=>{h.current!=null&&u.current!=null&&c.current&&(Math.abs(h.current-C.clientX)>=Jl||Math.abs(u.current-C.clientY)>=Jl)&&(p(!0),window.removeEventListener("mousemove",v),d(),e(C),c.current=null)},[e,d]);function g(C){h.current=C.clientX,u.current=C.clientY,c.current=C.target,window.addEventListener("mousemove",v)}function b(C){c.current===C.target&&(p(!0),d(),e(),window.removeEventListener("mousemove",v)),c.current=null}return f.useEffect(function(){return function(){return window.removeEventListener("mousemove",v)}},[v]),l.jsxs("button",{type:"button",className:Z("btn-context-menu",{disabled:n},{active:s&&!n},{"keyboard-active":o&&!n}),onMouseDown:g,onMouseUp:b,disabled:m,children:[l.jsx("span",{className:Z("icon"),children:r}),l.jsx("span",{className:"title",children:t}),l.jsx("span",{className:"shortcut",children:a})]})}function ks(i){const{handleControlSelect:e,handleToolSelect:t,onClearFilter:n}=i,r=f.useMemo(()=>[{title:"Input Filter",icon:vc,menuElement:l.jsx($n,{}),action:a=>{e(sn.INPUT_FILTER,a)},order:10},{title:"Dropdown Filter",icon:gc,menuElement:l.jsx($n,{}),action:a=>{e(sn.DROPDOWN_FILTER,a)},order:15},{title:"Markdown Widget",icon:bc,menuElement:l.jsx($n,{}),action:a=>{e(sn.MARKDOWN,a)},order:20},{title:"Filter Sets",icon:wa,menuElement:l.jsx($n,{}),action:a=>{e(sn.FILTER_SET_MANAGER,a)},order:25},{disabled:!0,menuElement:l.jsx("div",{className:"context-menu-group-header",children:"Tools"}),order:30},{title:"Linker",icon:Cc,action:()=>{t(Xe.LINKER)},order:40,shortcut:ln.LINKER},{disabled:!0,menuElement:l.jsx("div",{className:"context-menu-group-header",children:"Actions"}),order:50},{title:"Clear All Filters",icon:Sc,action:()=>{n()},order:60,shortcut:Pd.TABLE.CLEAR_ALL_FILTERS}],[e,t,n]);return l.jsx(En,{popperClassName:"controls-menu-popper",actions:r})}ks.propTypes={handleControlSelect:I.func,handleToolSelect:I.func,onClearFilter:I.func};ks.defaultProps={handleControlSelect:()=>{},handleToolSelect:()=>{},onClearFilter:()=>{}};$n.propTypes={forwardedProps:I.shape({iconElement:I.node,displayShortcut:I.string,isMouseSelected:I.bool.isRequired,isKeyboardSelected:I.bool.isRequired,closeMenu:I.func.isRequired,menuItem:I.shape({action:I.func,title:I.string,disabled:I.bool}).isRequired})};$n.defaultProps={forwardedProps:null};const Zy=un(hu,null),Xy={layoutStorage:Zy},Jy=i=>i.layoutStorage,Qy=i=>i.serverConfigValues;Object.entries(Xy).map(([i,e])=>$i.register(i,e));const Ql=10;function ew(i){const{onExportLayout:e,onImportLayout:t,onResetLayout:n,onSelect:r,widgets:a=[]}=i,[s,o]=f.useState(!1),[d,h]=f.useState(""),u=f.useRef(null),c=f.useRef(),m=f.useCallback((y,E)=>{y!=null&&r(y,E)},[r]),p=f.useCallback(y=>{h(y.target.value)},[]),v=f.useCallback(y=>{c.current!=null&&(Math.abs(c.current.x-y.clientX)>=Ql||Math.abs(c.current.y-y.clientY)>=Ql)&&(o(!0),window.removeEventListener("mousemove",v),m(c.current.widget,y),c.current=void 0)},[c,m]),g=f.useCallback((y,E)=>{c.current={x:y.clientX,y:y.clientY,widget:E},window.addEventListener("mousemove",v)},[v]),b=f.useCallback((y,E)=>{window.removeEventListener("mousemove",v),c.current?.widget===E&&(o(!0),m(E)),c.current=void 0},[v,c,m]),C=f.useMemo(()=>a.filter(y=>d?y.name?.toLowerCase().includes(d.toLowerCase()):!0),[d,a]).sort((y,E)=>y.name?.localeCompare(E.name??"")??0),w=f.useMemo(()=>C.map(y=>l.jsx("li",{children:l.jsxs(F,{kind:"ghost","data-testid":`panel-list-item-${y.name??""}-button`,onMouseDown:E=>{g(E,y)},onMouseUp:E=>{b(E,y)},onKeyDown:E=>{(E.key==="Enter"||E.key===" ")&&m(y)},disabled:s,onClick:()=>{},children:[l.jsx(_d,{type:y.type})," ",y.name??""]})},y.name)),[C,s,g,b,m]),S=f.useMemo(()=>w.length===0?l.jsx("span",{children:"No bound variables found."}):null,[w]);return l.jsxs("div",{className:"widget-list-container d-flex flex-column",children:[l.jsx("div",{className:"widget-list-header",children:l.jsx(rs,{value:d,placeholder:"Find Table, Plot or Widget",onChange:p,ref:u})}),l.jsxs("ul",{className:"widget-list flex-grow-1",children:[S&&l.jsx("li",{className:"widget-list-message",children:S}),!S&&w]}),l.jsx("div",{children:l.jsx("hr",{})}),l.jsxs("div",{className:"widget-list-footer",children:[l.jsxs(F,{kind:"ghost",onClick:e,children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:Sa,icon:qs,transform:"right-5 down-5"}),l.jsx(X,{icon:qs,transform:"right-8 down-6"})]}),"Export Layout"]}),l.jsxs(F,{kind:"ghost",onClick:t,children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:Sa,icon:Ea,transform:"right-5 down-5"}),l.jsx(X,{icon:Ea,transform:"right-8 down-6"})]}),"Import Layout"]}),l.jsx(F,{kind:"ghost",icon:An,onClick:n,tooltip:"Reset Layout"})]})]})}async function tw(i,e,t,n){let r,a,s,o;if(br(t)?(r=t.settings,a=t.table,s=void 0,o=t.tableSettings):(r={},a="",s=t.name??t.figure,o={}),n!=null&&(n.tableSettings!=null&&(o=n.tableSettings),n.table!=null&&(a=n.table),n.figure!=null&&(s=n.figure),n.settings!=null&&(r={...r,...n.settings})),s!=null){const u={title:s,name:s,type:i.VariableType.FIGURE},c=await e.getObject(u);return Ta.makeModel(i,r,c)}const d={title:s,name:a,type:i.VariableType.TABLE},h=await e.getObject(d);return new Ye(i).applyTableSettings(h,o,ki(ds.getState())),Ta.makeModelFromSettings(i,r,h)}const nw=async(i,e,t)=>{const{name:n,type:r}=t,a={title:n,name:n,type:r},s=await e.getObject(a);return Bc.makeModel(i,s)};function iw({onAutoFillClick:i=()=>{}}){return l.jsxs("div",{className:"empty-dashboard-container",children:[l.jsxs("div",{className:"hint-container",children:[l.jsx(X,{icon:yc})," ",l.jsx("br",{}),"Use the panel list to add objects from a query."]}),l.jsxs("div",{className:"empty-dashboard",children:[l.jsx("div",{className:"add-panels-hint",children:"Drag Panels Here"}),l.jsx(F,{kind:"tertiary",onClick:i,children:"Auto fill objects"})]})]})}function rw(i){return i.version===2}function aw(i){return Array.isArray(i)}const pr=B.module("UserLayoutUtils"),sw={layoutConfig:[{type:"column",content:[{type:"row",height:40,content:[{type:"stack",content:[{type:"react-component",component:wi.COMPONENT,title:wi.TITLE,isClosable:!1},{type:"react-component",component:Ba.COMPONENT,title:Ba.TITLE,isClosable:!1}]},{type:"stack",width:25,content:[{type:"react-component",component:$a.COMPONENT,title:$a.TITLE,isClosable:!1},{type:"react-component",component:Va.COMPONENT,title:Va.TITLE,isClosable:!1}]}]},{type:"row",content:[{type:"stack",title:"Notebooks",content:[]}]}]}],links:[],filterSets:[],version:2},ow={layoutConfig:[],links:[],filterSets:[],version:2};function bu(i){if(rw(i))return i;if(aw(i))return{layoutConfig:i,links:[],filterSets:[],version:2};throw new Error(`Unexpected layout import format: ${i}`)}async function lw(i,e=!0){try{const t=await i.getLayouts();if(t.length>0)try{const n=await i.getLayout(t[0]);return bu(n)}catch(n){pr.error("Unable to load layout",t[0],":",n),pr.warn("No valid layouts found, falling back to default layout")}}catch(t){pr.error("Unable to fetch layout list",t),pr.warn("Falling back to default layout")}return e?sw:ow}function dw(i){const{filterSets:e,layoutConfig:t,links:n}=i;return{filterSets:e,layoutConfig:t,links:n,version:2}}const yr={exportLayout:dw,getDefaultLayout:lw,normalizeLayout:bu},fr=B.module("DownloadServiceWorkerUtils");class rn{static SERVICE_WORKER_URL=new URL("./download/serviceWorker.js",document.baseURI);static serviceWorkerRegistration=null;static registerOnLoaded(){new URL("./",window.location.href).origin===window.location.origin&&("serviceWorker"in navigator?navigator.serviceWorker.register(rn.SERVICE_WORKER_URL).then(t=>{t.update(),rn.serviceWorkerRegistration=t,fr.info("Registering service worker on ",rn.SERVICE_WORKER_URL,t)}).catch(t=>{fr.error("Failed to register service worker",t)}):fr.info("Service worker is not supported."))}static async getServiceWorker(){if("serviceWorker"in navigator){const e=rn.serviceWorkerRegistration;if(e&&e.active)return fr.info("Download service worker is active."),e.active;throw new Error("Can not find download service worker.")}throw new Error("Download service worker is not available.")}static unregisterSW(){rn.serviceWorkerRegistration?.unregister()}}const Pe=B.module("AppMainContainer");class Un extends f.Component{static handleWindowBeforeUnload(e){e.preventDefault(),e.returnValue=""}static hydrateConsole(e,t){return Aa.hydrate({...e,unzip:n=>id.loadAsync(n).then(r=>Object.values(r.files))},t)}static handleRefresh(){Pe.info("Refreshing application"),window.location.reload()}constructor(e){super(e),this.handleSettingsMenuHide=this.handleSettingsMenuHide.bind(this),this.handleSettingsMenuShow=this.handleSettingsMenuShow.bind(this),this.handleError=this.handleError.bind(this),this.handleControlSelect=this.handleControlSelect.bind(this),this.handleToolSelect=this.handleToolSelect.bind(this),this.handleClearFilter=this.handleClearFilter.bind(this),this.handleDataChange=this.handleDataChange.bind(this),this.handleAutoFillClick=this.handleAutoFillClick.bind(this),this.handleGoldenLayoutChange=this.handleGoldenLayoutChange.bind(this),this.handleLayoutConfigChange=this.handleLayoutConfigChange.bind(this),this.handleExportLayoutClick=this.handleExportLayoutClick.bind(this),this.handleImportLayoutClick=this.handleImportLayoutClick.bind(this),this.handleImportLayoutFiles=this.handleImportLayoutFiles.bind(this),this.handleLoadTablePlugin=this.handleLoadTablePlugin.bind(this),this.handleResetLayoutClick=this.handleResetLayoutClick.bind(this),this.handleWidgetMenuClick=this.handleWidgetMenuClick.bind(this),this.handleWidgetsMenuClose=this.handleWidgetsMenuClose.bind(this),this.handleWidgetSelect=this.handleWidgetSelect.bind(this),this.handlePaste=this.handlePaste.bind(this),this.hydrateChart=this.hydrateChart.bind(this),this.hydrateTable=this.hydrateTable.bind(this),this.hydrateDefault=this.hydrateDefault.bind(this),this.openNotebookFromURL=this.openNotebookFromURL.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleReconnectAuthFailed=this.handleReconnectAuthFailed.bind(this),this.importElement=J.createRef(),this.state={contextActions:[{action:()=>{this.handleToolSelect(Xe.LINKER)},shortcut:ln.LINKER,isGlobal:!0},{action:()=>{this.sendClearFilter()},shortcut:Pd.TABLE.CLEAR_ALL_FILTERS,isGlobal:!0},{action:()=>{Pe.debug("Consume unhandled save shortcut")},shortcut:ln.SAVE,isGlobal:!0}],isAuthFailed:!1,isDisconnected:!1,isPanelsMenuShown:!1,isSettingsMenuShown:!1,widgets:[]}}componentDidMount(){this.initWidgets(),this.startListeningForDisconnect(),window.addEventListener("beforeunload",Un.handleWindowBeforeUnload)}componentDidUpdate(e){const{dashboardData:t}=this.props;e.dashboardData!==t&&this.handleDataChange(t)}componentWillUnmount(){this.deinitWidgets(),this.stopListeningForDisconnect(),window.removeEventListener("beforeunload",Un.handleWindowBeforeUnload)}goldenLayout;importElement;widgetListenerRemover;initWidgets(){const{connection:e}=this.props;if(e.subscribeToFieldUpdates==null){Pe.warn("subscribeToFieldUpdates not supported, not initializing widgets");return}this.widgetListenerRemover=e.subscribeToFieldUpdates(t=>{Pe.debug("Got updates",t),this.setState(({widgets:n})=>{const{updated:r,created:a,removed:s}=t,o=[...r,...s],d=n.filter(u=>!o.some(c=>c.name===u.name));return[...r,...a].forEach(u=>{u.name!=null&&u.name!==""&&d.push(u)}),{widgets:d}})})}deinitWidgets(){this.widgetListenerRemover?.()}openNotebookFromURL(){const{match:e}=this.props,{notebookPath:t}=e.params;if(t){const{session:n,sessionConfig:r}=this.props;if(n==null||r==null){Pe.error("No session available to open notebook URL",t);return}const a={id:`/${t}`,itemName:`/${t}`},s=r.type,o={value:null,language:s};this.emitLayoutEvent(ue.SELECT_NOTEBOOK,n,s,o,a,!0)}}sendClearFilter(){this.emitLayoutEvent(ve.CLEAR_ALL_FILTERS)}emitLayoutEvent(e,...t){this.goldenLayout?.eventHub.emit(e,...t)}handleError(e){le.isCanceled(e)||Pe.error(e)}handleSettingsMenuHide(){this.setState({isSettingsMenuShown:!1})}handleSettingsMenuShow(){this.setState({isSettingsMenuShown:!0})}handleControlSelect(e,t){switch(Pe.debug("handleControlSelect",e),e){case sn.DROPDOWN_FILTER:this.emitLayoutEvent(ve.OPEN_DROPDOWN,{title:"DropdownFilter",type:e,createNewStack:!0,dragEvent:t});break;case sn.INPUT_FILTER:this.emitLayoutEvent(ve.OPEN_INPUT,{title:"InputFilter",type:e,createNewStack:!0,dragEvent:t});break;case sn.MARKDOWN:this.emitLayoutEvent(Fh.OPEN,{title:"Markdown",type:e,dragEvent:t});break;case sn.FILTER_SET_MANAGER:this.emitLayoutEvent(ve.OPEN_FILTER_SET_MANAGER,{title:"FilterSets",type:e,dragEvent:t});break;default:throw new Error(`Unrecognized control type ${e}`)}}handleToolSelect(e){Pe.debug("handleToolSelect",e);const{activeTool:t,setActiveTool:n}=this.props;n(t===e?Xe.DEFAULT:e)}handleClearFilter(){this.sendClearFilter()}handleDataChange(e){const{updateWorkspaceData:t}=this.props,{closed:n,filterSets:r,links:a}=e;t({closed:n,filterSets:r,links:a})}handleGoldenLayoutChange(e){this.goldenLayout=e}handleLayoutConfigChange(e){const{updateWorkspaceData:t}=this.props;t({layoutConfig:e})}handleWidgetMenuClick(){this.setState(({isPanelsMenuShown:e})=>({isPanelsMenuShown:!e}))}handleWidgetSelect(e,t){this.setState({isPanelsMenuShown:!1}),Pe.debug("handleWidgetSelect",e,t),this.openWidget(e,t)}handleWidgetsMenuClose(){this.setState({isPanelsMenuShown:!1})}handleAutoFillClick(){const{widgets:e}=this.state;Pe.debug("handleAutoFillClick",e);const t=e.sort((n,r)=>n.title!=null&&r.title!=null?n.title.localeCompare(r.title):0);for(let n=0;n<t.length;n+=1)this.openWidget(t[n])}handleExportLayoutClick(){Pe.info("handleExportLayoutClick"),this.setState({isPanelsMenuShown:!1});try{const{workspace:e}=this.props,{data:t}=e,n=yr.exportLayout(t);Pe.info("handleExportLayoutClick exportedConfig",n);const r=new Blob([JSON.stringify(n)],{type:"application/json"}),a=gt.i18n.DateTimeFormat.format("yyyy-MM-dd-HHmmss",new Date),s=document.createElement("a");s.href=URL.createObjectURL(r),s.download=`deephaven-app-layout-${a}.json`,s.click()}catch(e){Pe.error("Unable to export layout",e)}}handleImportLayoutClick(){Pe.info("handleImportLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.importElement.current!=null&&(this.importElement.current.value="",this.importElement.current.click())}handleResetLayoutClick(){Pe.info("handleResetLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.resetLayout()}handleImportLayoutFiles(e){e.stopPropagation(),e.preventDefault(),e.target.files!=null&&this.importLayoutFile(e.target.files?.[0])}handleDisconnect(){Pe.info("Disconnected from server"),this.setState({isDisconnected:!0})}handleReconnect(){Pe.info("Reconnected to server"),this.setState({isDisconnected:!1})}handleReconnectAuthFailed(){Pe.warn("Reconnect authentication failed"),this.setState({isAuthFailed:!0})}async importLayoutFile(e){try{const{updateDashboardData:t,updateWorkspaceData:n}=this.props,r=await e.text(),a=JSON.parse(r),{filterSets:s,layoutConfig:o,links:d}=yr.normalizeLayout(a);n({layoutConfig:o}),t(_t,{filterSets:s,links:d})}catch(t){Pe.error("Unable to import layout",t)}}async resetLayout(){const{layoutStorage:e,session:t}=this.props,{filterSets:n,layoutConfig:r,links:a}=await yr.getDefaultLayout(e,t!==void 0),{updateDashboardData:s,updateWorkspaceData:o}=this.props;o({layoutConfig:r}),s(_t,{filterSets:n,links:a})}handlePaste(e){if(e.target instanceof HTMLElement&&e.target.closest(".monaco-editor"))return;const{clipboardData:t}=e,n=t.getData("Text"),r=/“|”/g;r.test(n)&&(e.preventDefault(),e.stopPropagation(),document.execCommand("insertText",!1,n.replace(r,'"')))}handleLoadTablePlugin(e){const{plugins:t}=this.props,n=t.get(e);if(n!=null){if(Wc(n))return n.component;if(Gc(n))return n.TablePlugin}const r=`Unable to find table plugin ${e}.`;throw Pe.error(r),new Error(r)}startListeningForDisconnect(){const{connection:e}=this.props;e.addEventListener(gt.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(gt.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.addEventListener(gt.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}stopListeningForDisconnect(){const{connection:e}=this.props;e.removeEventListener(gt.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(gt.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.removeEventListener(gt.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}hydrateDefault(e,t){const{connection:n}=this.props,{metadata:r}=e;if(r?.type!=null&&(r?.id!=null||r?.name!=null)){const a=r.id!=null?{type:r.type,id:r.id}:{type:r.type,name:r.name,title:r.name};return{fetch:()=>n.getObject(a),...e,localDashboardId:t}}return Aa.hydrate(e,t)}hydrateTable(e,t){const{connection:n}=this.props;let r;if(Yh(e.metadata))r=e.metadata;else if(qh(e.metadata))r={name:e.metadata.table,type:e.metadata.type??gt.VariableType.TABLE};else throw new Error("Metadata is required for table panel");return{...e,getDownloadWorker:rn.getServiceWorker,loadPlugin:this.handleLoadTablePlugin,localDashboardId:t,makeModel:()=>nw(gt,n,r)}}hydrateChart(e,t){const{connection:n}=this.props;return{...e,localDashboardId:t,makeModel:()=>{const{metadata:r}=e,a=Tb(e)?e.panelState:void 0;if(r==null)throw new Error("Metadata is required for chart panel");return tw(gt,n,r,a)}}}openWidget(e,t){const{connection:n}=this.props;this.emitLayoutEvent(Q.OPEN,{dragEvent:t,fetch:()=>n.getObject(e),widget:e})}getDashboardPlugins=te(e=>[...e.entries()].filter(([,n])=>qc(n)).map(([n,{DashboardPlugin:r}])=>l.jsx(r,{},n)).concat([...e.values()].filter(Yc).map(({component:n,name:r})=>l.jsx(n,{},r))));render(){const{activeTool:e,plugins:t,user:n,workspace:r,serverConfigValues:a}=this.props,{data:s}=r,{layoutConfig:o}=s,{permissions:d}=n,{canUsePanels:h}=d,{contextActions:u,isAuthFailed:c,isDisconnected:m,isPanelsMenuShown:p,isSettingsMenuShown:v,widgets:g}=this.state,b=this.getDashboardPlugins(t);return l.jsxs("div",{className:Z("app-main-tabs","w-100","h-100","d-flex","flex-column",e?`active-tool-${e.toLowerCase()}`:""),onPaste:this.handlePaste,tabIndex:-1,children:[l.jsx("nav",{className:"nav-container",children:l.jsxs("div",{className:"app-main-top-nav-menus",children:[l.jsx("img",{src:uu,alt:"Deephaven Data Labs",width:"115px",className:"ml-1"}),l.jsxs("div",{children:[l.jsxs(F,{kind:"ghost",className:"btn-panels-menu",icon:wc,onClick:()=>{},children:["Controls",l.jsx(ks,{handleControlSelect:this.handleControlSelect,handleToolSelect:this.handleToolSelect,onClearFilter:this.handleClearFilter})]}),h&&l.jsxs(F,{kind:"ghost",className:"btn-panels-menu btn-show-panels","data-testid":"app-main-panels-button",onClick:this.handleWidgetMenuClick,icon:Ec,children:["Panels",l.jsx(gd,{isShown:p,className:"panels-menu-popper",onExited:this.handleWidgetsMenuClose,options:{placement:"bottom"},closeOnBlur:!0,interactive:!0,children:l.jsx(ew,{widgets:g,onExportLayout:this.handleExportLayoutClick,onImportLayout:this.handleImportLayoutClick,onResetLayout:this.handleResetLayoutClick,onSelect:this.handleWidgetSelect})})]}),l.jsx(F,{kind:"ghost",className:Z("btn-settings-menu",{"text-warning":n.operateAs!=null&&n.operateAs!==n.name}),onClick:this.handleSettingsMenuShow,icon:l.jsxs("span",{className:"fa-layers",children:[l.jsx(X,{icon:ji,transform:"grow-3 right-1 down-1"}),m&&!c&&l.jsxs(l.Fragment,{children:[l.jsx(X,{icon:Pc,color:wn.background,transform:"grow-2 right-8 down-8.5 rotate-45"}),l.jsx(X,{icon:Ys,color:wn.danger,transform:"shrink-5 right-6 down-6"})]})]}),tooltip:m&&!c?"Server disconnected":"User Settings"})]})]})}),l.jsxs(Gg,{emptyDashboard:l.jsx(iw,{onAutoFillClick:this.handleAutoFillClick}),id:_t,layoutConfig:o,onGoldenLayoutChange:this.handleGoldenLayoutChange,onLayoutConfigChange:this.handleLayoutConfigChange,onLayoutInitialized:this.openNotebookFromURL,hydrate:this.hydrateDefault,children:[l.jsx(RS,{hydrate:this.hydrateTable}),l.jsx(OS,{hydrate:this.hydrateChart}),l.jsx(DS,{}),l.jsx(MS,{hydrateConsole:Un.hydrateConsole,notebooksUrl:new URL("notebooks/",document.baseURI).href}),l.jsx(FS,{}),l.jsx(ny,{hydrate:this.hydrateTable}),l.jsx(ty,{}),l.jsx(JS,{}),b]}),l.jsx(Oi,{in:v,timeout:wn.transitionMidMs,classNames:"slide-left",mountOnEnter:!0,unmountOnExit:!0,children:l.jsx(xt,{serverConfigValues:a,onDone:this.handleSettingsMenuHide,user:n})}),l.jsx(ie,{actions:u}),l.jsx("input",{ref:this.importElement,type:"file",accept:".json",style:{display:"none"},onChange:this.handleImportLayoutFiles}),l.jsx(Kc,{isOpen:m&&!c,debounceMs:1e3,children:l.jsx(zc,{icon:Ys,title:l.jsxs(l.Fragment,{children:[l.jsx(Xa,{})," Attempting to reconnect..."]}),subtitle:"Please check your network connection."})}),l.jsx(Di,{confirmButtonText:"Refresh",onConfirm:Un.handleRefresh,isOpen:c,headerText:"Authentication failed",bodyText:"Credentials are invalid. Please refresh your browser to try and reconnect."})]})}}const hw=i=>({activeTool:Vr(i),dashboardData:Qe(i,_t),layoutStorage:Jy(i),plugins:Ap(i),connection:gb(i,_t),session:Tn(i,_t)?.session,sessionConfig:Tn(i,_t)?.config,user:Ud(i),workspace:Hr(i),serverConfigValues:Qy(i)}),uw=Me(hw,{setActiveTool:Wr,updateDashboardData:Ft,updateWorkspaceData:sh})(Ru(Un));function cw(){return l.jsxs("div",{className:"app",children:[l.jsx(uw,{}),l.jsx(Ed,{})]})}const mw=B.module("LocalWorkspaceStorage");class Hn{static STORAGE_KEY="deephaven.WorkspaceStorage";static async makeDefaultWorkspaceData(e,t){const{filterSets:n,links:r,layoutConfig:a}=await yr.getDefaultLayout(e,t?.isConsoleAvailable);return{settings:{defaultDateTimeFormat:Ge.DEFAULT_DATETIME_FORMAT_STRING,formatter:[],timeZone:Ge.DEFAULT_TIME_ZONE_ID,showTimeZone:!1,showTSeparator:!0,disableMoveConfirmation:!1,defaultDecimalFormatOptions:{defaultFormatString:st.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:at.DEFAULT_FORMAT_STRING},truncateNumbersWithPound:!1,defaultNotebookSettings:{isMinimapEnabled:!1}},layoutConfig:a,closed:[{}],links:r,filterSets:n}}static async makeDefaultWorkspace(e,t){return{data:await Hn.makeDefaultWorkspaceData(e,t)}}layoutStorage;constructor(e){this.layoutStorage=e}async load(e){try{return JSON.parse(localStorage.getItem(Hn.STORAGE_KEY)??"")}catch{return mw.info("Unable to load workspace data, initializing to default data"),Hn.makeDefaultWorkspace(this.layoutStorage,e)}}async save(e){return localStorage.setItem(Hn.STORAGE_KEY,JSON.stringify(e)),e}}class pw{storageService;root;constructor(e,t=""){this.storageService=e,this.root=t}async getLayouts(){return(await this.storageService.listItems(this.root,"*.json")).map(t=>t.basename)}async getLayout(e){const n=await(await this.storageService.loadFile(`${this.root}/${e}`)).text();return JSON.parse(n)}}const ci=B.module("GrpcFileStorageTable");class Mr{static REFRESH_DEBOUNCE=50;storageService;baseRoot;root;currentSize=0;currentViewport;listeners=[];viewportUpdatePromise;currentViewportData;childTables=new Map;constructor(e,t="",n=t){this.storageService=e,this.baseRoot=t,this.root=n,n===t&&(this.doRefresh=Je(this.doRefresh.bind(this),Mr.REFRESH_DEBOUNCE))}removeBaseRoot(e){return G.removeRoot(this.baseRoot,e)}getViewportData(){return this.viewportUpdatePromise||this.refreshInternal(),this.viewportUpdatePromise??Promise.resolve({items:[],offset:0})}getSnapshot(e){throw new Error("Method not implemented.")}get size(){return this.currentSize}setExpanded(e,t){const n=e.split("/");let r=n.shift();if((r===void 0||r==="")&&(r=n.shift()),r===void 0||r==="")throw new Error(`Invalid path: ${e}`);const a=n.join("/");if(t){if(!this.childTables.has(r)){const s=new Mr(this.storageService,this.baseRoot,`${this.root}/${r}`);this.childTables.set(r,s)}a&&this.childTables.get(r)?.setExpanded(a,t)}else this.childTables.has(r)&&(a?this.childTables.get(r)?.setExpanded(a,t):this.childTables.delete(r));this.currentViewport&&this.refreshInternal()}collapseAll(){this.childTables.clear(),this.currentViewport&&this.refreshInternal()}setSearch(e){throw new Error("Method not implemented.")}setViewport(e){this.currentViewport=e,this.refreshInternal()}setFilters(){throw new Error("Method not implemented.")}setSorts(){throw new Error("Method not implemented.")}setReversed(){throw new Error("Method not implemented.")}close(){this.listeners=[]}onUpdate(e){return this.listeners=[...this.listeners,e],()=>{this.listeners=this.listeners.filter(t=>t!==e)}}doRefresh(e){ci.debug2("doRefresh",this.root),e(this.fetchData())}refresh(){ci.debug2("refresh",this.root),this.viewportUpdatePromise?.cancel();const e=new Promise(n=>{this.doRefresh(n)}),t=le.makeCancelable(e.then(n=>{if(this.viewportUpdatePromise!==t)throw new pd;return this.currentViewportData=n,this.sendUpdate(),n}));t.catch(n=>{le.isCanceled(n)||ci.error("Error updating viewport",n)}),this.viewportUpdatePromise=t}refreshInternal(){try{this.refresh()}catch(e){le.isCanceled(e)||ci.error("Unable to refresh data",e)}}async fetchData(){const{currentViewport:e}=this;if(!e)throw new Error("No viewport set");let n=(await this.storageService.listItems(this.root)).map(r=>({type:r.type,filename:this.removeBaseRoot(r.filename),basename:r.basename,id:this.removeBaseRoot(r.filename),isExpanded:r.type==="directory"?this.childTables.has(r.basename):void 0})).sort((r,a)=>r.type!==a.type?r.type==="directory"?-1:1:r.basename.localeCompare(a.basename));for(let r=0;r<n.length;r+=1){const a=n[r],{basename:s,filename:o}=a;if(o===this.removeBaseRoot(`${this.root}/${s}`)&&a.type==="directory"){const d=this.childTables.get(s);if(d!=null){d.setViewport({top:0,bottom:e.bottom-r});const h=await d.getViewportData();n.splice(r+1,0,...h.items)}}}return this.currentSize=n.length,ci.debug2(this.root,"items",n,e),n=n.slice(e.top,e.bottom),{items:n,offset:e.top}}sendUpdate(){const{listeners:e}=this,t=this.currentViewportData??{items:[],offset:0};for(let n=0;n<e.length;n+=1)e[n](t)}}const fw=B.module("GrpcFileStorage");class $s{static REFRESH_THROTTLE=150;storageService;tables=[];root;constructor(e,t=""){this.storageService=e,this.root=t}removeRoot(e){return G.removeRoot(this.root,e)}addRoot(e){return G.addRoot(this.root,e)}async createDirectory(e){return await this.storageService.createDirectory(this.addRoot(e)),this.refreshTables(),{type:"directory",id:e,filename:e,basename:G.getBaseName(e)}}async getTable(){const e=new Mr(this.storageService,this.root);return this.tables.push(e),e}async saveFile(e){const t=dh.storage.FileContents.text(e.content);return await this.storageService.saveFile(this.addRoot(e.filename),t,!0),this.refreshTables(),e}async loadFile(e){const n=await(await this.storageService.loadFile(this.addRoot(e))).text();return{filename:e,basename:G.getBaseName(e),content:n}}async copyFile(e,t){const n=await this.storageService.loadFile(this.addRoot(e));await this.storageService.saveFile(this.addRoot(t),n,!1),this.refreshTables()}async deleteFile(e){await this.storageService.deleteItem(this.addRoot(e)),this.refreshTables()}async moveFile(e,t){await this.storageService.moveItem(this.addRoot(e),this.addRoot(t)),this.refreshTables()}async info(e){const t=await this.storageService.listItems(this.addRoot(G.getPath(e)),G.getBaseName(e));if(t.length===0)throw new Is;if(t.length>1)throw fw.error("More than one matching file found, should never happen.",t),new Error("More than one matching file found");const n=t[0];return{filename:this.removeRoot(n.filename),basename:n.basename,id:this.removeRoot(n.filename),type:n.type}}refreshTables=Fr(()=>{this.tables.forEach(e=>e.refresh())},$s.REFRESH_THROTTLE)}const vw=B.module("AppInit");function Us(i){const{workspace:e,setActiveTool:t,setApi:n,setCommandHistoryStorage:r,setDashboardData:a,setFileStorage:s,setLayoutStorage:o,setDashboardConnection:d,setDashboardSessionWrapper:h,setPlugins:u,setUser:c,setWorkspace:m,setWorkspaceStorage:p,setServerConfigValues:v}=i,g=On(),b=Zc(),C=Xc(),w=Jc(),S=Qc(),y=em(),[E,M]=f.useState();f.useEffect(function(){u(w)},[w,u]),f.useEffect(function(){async function q(){try{const k=await tm(),A=await nm(g,C,k),U=b.getStorageService(),j=new pw(U,"/layouts"),H=new $s(U,"/notebooks"),K=new Hn(j),de=new _y,ge=await K.load({isConsoleAvailable:A!==void 0}),{data:be}=ge,{settings:T}=be;T.defaultDecimalFormatOptions===void 0&&(T.defaultDecimalFormatOptions={defaultFormatString:st.DEFAULT_FORMAT_STRING}),T.defaultIntegerFormatOptions===void 0&&(T.defaultIntegerFormatOptions={defaultFormatString:at.DEFAULT_FORMAT_STRING}),T.truncateNumbersWithPound===void 0&&(T.truncateNumbersWithPound=!1);const{shortcutOverrides:P={}}=T,R=bt.isMacPlatform?P.mac??{}:P.windows??{};Object.entries(R).forEach(([fe,L])=>{De.get(fe)?.setKeyState(L)});const z={filterSets:be.filterSets,links:be.links};n(g),t(Xe.DEFAULT),v(S),r(de),a(_t,z),s(H),o(j),d(_t,C),A!==void 0&&h(_t,A),c(y),p(K),m(ge)}catch(k){vw.error(k),M(k)}}q()},[g,b,C,S,t,n,r,a,s,o,d,h,c,m,p,v,y]);const O=e==null&&E==null,x=!O&&E==null,N=E!=null?`${E}`:null;return l.jsxs(l.Fragment,{children:[x&&l.jsx(cw,{}),l.jsx(Rr,{isLoading:O&&N==null,isLoaded:x,errorMessage:N})]})}Us.propTypes={workspace:I.shape({}),workspaceStorage:I.shape({close:I.func}),setActiveTool:I.func.isRequired,setApi:I.func.isRequired,setCommandHistoryStorage:I.func.isRequired,setDashboardData:I.func.isRequired,setFileStorage:I.func.isRequired,setLayoutStorage:I.func.isRequired,setDashboardConnection:I.func.isRequired,setDashboardSessionWrapper:I.func.isRequired,setPlugins:I.func.isRequired,setUser:I.func.isRequired,setWorkspace:I.func.isRequired,setWorkspaceStorage:I.func.isRequired};Us.defaultProps={workspace:null,workspaceStorage:null};const gw=i=>({workspace:Hr(i),workspaceStorage:Fp(i)}),ed=Me(gw,{setActiveTool:Wr,setApi:Vp,setCommandHistoryStorage:Wp,setDashboardData:Lh,setFileStorage:Gp,setLayoutStorage:Ty,setDashboardConnection:bb,setDashboardSessionWrapper:Cb,setPlugins:zp,setUser:Hp,setWorkspace:ah,setWorkspaceStorage:Bp,setServerConfigValues:qp})(Us),bw=document.location.pathname;function Cw(){return l.jsx(ju,{basename:bw,children:l.jsxs(Au,{children:[l.jsx(Ws,{exact:!0,path:"/",component:ed}),l.jsx(Ws,{path:"/notebooks/:notebookPath+",component:ed}),l.jsx(ku,{from:"*",to:"/"})]})})}function Ow(){return rn.registerOnLoaded(),rt.init({getWorker:()=>new Hu}),window["__react-beautiful-dnd-disable-dev-warnings"]=!0,l.jsx($u,{store:ds,children:l.jsx(Uu,{UNSAFE_style:{backgroundColor:"transparent"},colorScheme:"dark",theme:im,children:l.jsx(Cw,{})})})}export{Ow as AppRoot,Ow as default};
|
|
31
|
-
//# sourceMappingURL=AppRoot-
|
|
30
|
+
Barrage Version: ${s}`,children:"Copy Versions"})]})]})]}),l.jsx("div",{className:"app-settings-footer-item",children:l.jsx(Ry,{})})]}),l.jsx("div",{className:"app-settings-footer-section",children:l.jsx("div",{className:"logo",children:l.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://deephaven.io",className:"d-inline-block custom-link p-1",children:l.jsx("img",{src:uu,alt:"Deephaven Data Labs",width:"230px"})})})})]})]})]})}}const Jl=10;function $n(i){const{forwardedProps:{menuItem:{action:e,title:t,disabled:n},iconElement:r,displayShortcut:a,isMouseSelected:s,isKeyboardSelected:o,closeMenu:d}}=i,h=v.useRef(),u=v.useRef(),c=v.useRef(null),[m,p]=v.useState(!1),f=v.useCallback(C=>{h.current!=null&&u.current!=null&&c.current&&(Math.abs(h.current-C.clientX)>=Jl||Math.abs(u.current-C.clientY)>=Jl)&&(p(!0),window.removeEventListener("mousemove",f),d(),e(C),c.current=null)},[e,d]);function g(C){h.current=C.clientX,u.current=C.clientY,c.current=C.target,window.addEventListener("mousemove",f)}function b(C){c.current===C.target&&(p(!0),d(),e(),window.removeEventListener("mousemove",f)),c.current=null}return v.useEffect(function(){return function(){return window.removeEventListener("mousemove",f)}},[f]),l.jsxs("button",{type:"button",className:Z("btn-context-menu",{disabled:n},{active:s&&!n},{"keyboard-active":o&&!n}),onMouseDown:g,onMouseUp:b,disabled:m,children:[l.jsx("span",{className:Z("icon"),children:r}),l.jsx("span",{className:"title",children:t}),l.jsx("span",{className:"shortcut",children:a})]})}function ks(i){const{handleControlSelect:e,handleToolSelect:t,onClearFilter:n}=i,r=v.useMemo(()=>[{title:"Input Filter",icon:fc,menuElement:l.jsx($n,{}),action:a=>{e(sn.INPUT_FILTER,a)},order:10},{title:"Dropdown Filter",icon:gc,menuElement:l.jsx($n,{}),action:a=>{e(sn.DROPDOWN_FILTER,a)},order:15},{title:"Markdown Widget",icon:bc,menuElement:l.jsx($n,{}),action:a=>{e(sn.MARKDOWN,a)},order:20},{title:"Filter Sets",icon:wa,menuElement:l.jsx($n,{}),action:a=>{e(sn.FILTER_SET_MANAGER,a)},order:25},{disabled:!0,menuElement:l.jsx("div",{className:"context-menu-group-header",children:"Tools"}),order:30},{title:"Linker",icon:Cc,action:()=>{t(Xe.LINKER)},order:40,shortcut:ln.LINKER},{disabled:!0,menuElement:l.jsx("div",{className:"context-menu-group-header",children:"Actions"}),order:50},{title:"Clear All Filters",icon:Sc,action:()=>{n()},order:60,shortcut:Pd.TABLE.CLEAR_ALL_FILTERS}],[e,t,n]);return l.jsx(En,{popperClassName:"controls-menu-popper",actions:r})}ks.propTypes={handleControlSelect:I.func,handleToolSelect:I.func,onClearFilter:I.func};ks.defaultProps={handleControlSelect:()=>{},handleToolSelect:()=>{},onClearFilter:()=>{}};$n.propTypes={forwardedProps:I.shape({iconElement:I.node,displayShortcut:I.string,isMouseSelected:I.bool.isRequired,isKeyboardSelected:I.bool.isRequired,closeMenu:I.func.isRequired,menuItem:I.shape({action:I.func,title:I.string,disabled:I.bool}).isRequired})};$n.defaultProps={forwardedProps:null};const Zy=un(hu,null),Xy={layoutStorage:Zy},Jy=i=>i.layoutStorage,Qy=i=>i.serverConfigValues;Object.entries(Xy).map(([i,e])=>$i.register(i,e));const Ql=10;function ew(i){const{onExportLayout:e,onImportLayout:t,onResetLayout:n,onSelect:r,widgets:a=[]}=i,[s,o]=v.useState(!1),[d,h]=v.useState(""),u=v.useRef(null),c=v.useRef(),m=v.useCallback((y,E)=>{y!=null&&r(y,E)},[r]),p=v.useCallback(y=>{h(y.target.value)},[]),f=v.useCallback(y=>{c.current!=null&&(Math.abs(c.current.x-y.clientX)>=Ql||Math.abs(c.current.y-y.clientY)>=Ql)&&(o(!0),window.removeEventListener("mousemove",f),m(c.current.widget,y),c.current=void 0)},[c,m]),g=v.useCallback((y,E)=>{c.current={x:y.clientX,y:y.clientY,widget:E},window.addEventListener("mousemove",f)},[f]),b=v.useCallback((y,E)=>{window.removeEventListener("mousemove",f),c.current?.widget===E&&(o(!0),m(E)),c.current=void 0},[f,c,m]),C=v.useMemo(()=>a.filter(y=>d?y.name?.toLowerCase().includes(d.toLowerCase()):!0),[d,a]).sort((y,E)=>y.name?.localeCompare(E.name??"")??0),w=v.useMemo(()=>C.map(y=>l.jsx("li",{children:l.jsxs(F,{kind:"ghost","data-testid":`panel-list-item-${y.name??""}-button`,onMouseDown:E=>{g(E,y)},onMouseUp:E=>{b(E,y)},onKeyDown:E=>{(E.key==="Enter"||E.key===" ")&&m(y)},disabled:s,onClick:()=>{},children:[l.jsx(_d,{type:y.type})," ",y.name??""]})},y.name)),[C,s,g,b,m]),S=v.useMemo(()=>w.length===0?l.jsx("span",{children:"No bound variables found."}):null,[w]);return l.jsxs("div",{className:"widget-list-container d-flex flex-column",children:[l.jsx("div",{className:"widget-list-header",children:l.jsx(rs,{value:d,placeholder:"Find Table, Plot or Widget",onChange:p,ref:u})}),l.jsxs("ul",{className:"widget-list flex-grow-1",children:[S&&l.jsx("li",{className:"widget-list-message",children:S}),!S&&w]}),l.jsx("div",{children:l.jsx("hr",{})}),l.jsxs("div",{className:"widget-list-footer",children:[l.jsxs(F,{kind:"ghost",onClick:e,children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:Sa,icon:qs,transform:"right-5 down-5"}),l.jsx(X,{icon:qs,transform:"right-8 down-6"})]}),"Export Layout"]}),l.jsxs(F,{kind:"ghost",onClick:t,children:[l.jsxs("div",{className:"fa-md fa-layers",children:[l.jsx(X,{mask:Sa,icon:Ea,transform:"right-5 down-5"}),l.jsx(X,{icon:Ea,transform:"right-8 down-6"})]}),"Import Layout"]}),l.jsx(F,{kind:"ghost",icon:An,onClick:n,tooltip:"Reset Layout"})]})]})}async function tw(i,e,t,n){let r,a,s,o;if(br(t)?(r=t.settings,a=t.table,s=void 0,o=t.tableSettings):(r={},a="",s=t.name??t.figure,o={}),n!=null&&(n.tableSettings!=null&&(o=n.tableSettings),n.table!=null&&(a=n.table),n.figure!=null&&(s=n.figure),n.settings!=null&&(r={...r,...n.settings})),s!=null){const u={title:s,name:s,type:i.VariableType.FIGURE},c=await e.getObject(u);return Ta.makeModel(i,r,c)}const d={title:s,name:a,type:i.VariableType.TABLE},h=await e.getObject(d);return new Ye(i).applyTableSettings(h,o,ki(ds.getState())),Ta.makeModelFromSettings(i,r,h)}const nw=async(i,e,t)=>{const{name:n,type:r}=t,a={title:n,name:n,type:r},s=await e.getObject(a);return Bc.makeModel(i,s)};function iw({onAutoFillClick:i=()=>{}}){return l.jsxs("div",{className:"empty-dashboard-container",children:[l.jsxs("div",{className:"hint-container",children:[l.jsx(X,{icon:yc})," ",l.jsx("br",{}),"Use the panel list to add objects from a query."]}),l.jsxs("div",{className:"empty-dashboard",children:[l.jsx("div",{className:"add-panels-hint",children:"Drag Panels Here"}),l.jsx(F,{kind:"tertiary",onClick:i,children:"Auto fill objects"})]})]})}function rw(i){return i.version===2}function aw(i){return Array.isArray(i)}const pr=B.module("UserLayoutUtils"),sw={layoutConfig:[{type:"column",content:[{type:"row",height:40,content:[{type:"stack",content:[{type:"react-component",component:wi.COMPONENT,title:wi.TITLE,isClosable:!1},{type:"react-component",component:Ba.COMPONENT,title:Ba.TITLE,isClosable:!1}]},{type:"stack",width:25,content:[{type:"react-component",component:$a.COMPONENT,title:$a.TITLE,isClosable:!1},{type:"react-component",component:Va.COMPONENT,title:Va.TITLE,isClosable:!1}]}]},{type:"row",content:[{type:"stack",title:"Notebooks",content:[]}]}]}],links:[],filterSets:[],version:2},ow={layoutConfig:[],links:[],filterSets:[],version:2};function bu(i){if(rw(i))return i;if(aw(i))return{layoutConfig:i,links:[],filterSets:[],version:2};throw new Error(`Unexpected layout import format: ${i}`)}async function lw(i,e=!0){try{const t=await i.getLayouts();if(t.length>0)try{const n=await i.getLayout(t[0]);return bu(n)}catch(n){pr.error("Unable to load layout",t[0],":",n),pr.warn("No valid layouts found, falling back to default layout")}}catch(t){pr.error("Unable to fetch layout list",t),pr.warn("Falling back to default layout")}return e?sw:ow}function dw(i){const{filterSets:e,layoutConfig:t,links:n}=i;return{filterSets:e,layoutConfig:t,links:n,version:2}}const yr={exportLayout:dw,getDefaultLayout:lw,normalizeLayout:bu},vr=B.module("DownloadServiceWorkerUtils");class rn{static SERVICE_WORKER_URL=new URL("./download/serviceWorker.js",document.baseURI);static serviceWorkerRegistration=null;static registerOnLoaded(){new URL("./",window.location.href).origin===window.location.origin&&("serviceWorker"in navigator?navigator.serviceWorker.register(rn.SERVICE_WORKER_URL).then(t=>{t.update(),rn.serviceWorkerRegistration=t,vr.info("Registering service worker on ",rn.SERVICE_WORKER_URL,t)}).catch(t=>{vr.error("Failed to register service worker",t)}):vr.info("Service worker is not supported."))}static async getServiceWorker(){if("serviceWorker"in navigator){const e=rn.serviceWorkerRegistration;if(e&&e.active)return vr.info("Download service worker is active."),e.active;throw new Error("Can not find download service worker.")}throw new Error("Download service worker is not available.")}static unregisterSW(){rn.serviceWorkerRegistration?.unregister()}}const Pe=B.module("AppMainContainer");class Un extends v.Component{static handleWindowBeforeUnload(e){e.preventDefault(),e.returnValue=""}static hydrateConsole(e,t){return Aa.hydrate({...e,unzip:n=>id.loadAsync(n).then(r=>Object.values(r.files))},t)}static handleRefresh(){Pe.info("Refreshing application"),window.location.reload()}constructor(e){super(e),this.handleSettingsMenuHide=this.handleSettingsMenuHide.bind(this),this.handleSettingsMenuShow=this.handleSettingsMenuShow.bind(this),this.handleError=this.handleError.bind(this),this.handleControlSelect=this.handleControlSelect.bind(this),this.handleToolSelect=this.handleToolSelect.bind(this),this.handleClearFilter=this.handleClearFilter.bind(this),this.handleDataChange=this.handleDataChange.bind(this),this.handleAutoFillClick=this.handleAutoFillClick.bind(this),this.handleGoldenLayoutChange=this.handleGoldenLayoutChange.bind(this),this.handleLayoutConfigChange=this.handleLayoutConfigChange.bind(this),this.handleExportLayoutClick=this.handleExportLayoutClick.bind(this),this.handleImportLayoutClick=this.handleImportLayoutClick.bind(this),this.handleImportLayoutFiles=this.handleImportLayoutFiles.bind(this),this.handleLoadTablePlugin=this.handleLoadTablePlugin.bind(this),this.handleResetLayoutClick=this.handleResetLayoutClick.bind(this),this.handleWidgetMenuClick=this.handleWidgetMenuClick.bind(this),this.handleWidgetsMenuClose=this.handleWidgetsMenuClose.bind(this),this.handleWidgetSelect=this.handleWidgetSelect.bind(this),this.handlePaste=this.handlePaste.bind(this),this.hydrateChart=this.hydrateChart.bind(this),this.hydrateTable=this.hydrateTable.bind(this),this.hydrateDefault=this.hydrateDefault.bind(this),this.openNotebookFromURL=this.openNotebookFromURL.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleReconnectAuthFailed=this.handleReconnectAuthFailed.bind(this),this.importElement=J.createRef(),this.state={contextActions:[{action:()=>{this.handleToolSelect(Xe.LINKER)},shortcut:ln.LINKER,isGlobal:!0},{action:()=>{this.sendClearFilter()},shortcut:Pd.TABLE.CLEAR_ALL_FILTERS,isGlobal:!0},{action:()=>{Pe.debug("Consume unhandled save shortcut")},shortcut:ln.SAVE,isGlobal:!0}],isAuthFailed:!1,isDisconnected:!1,isPanelsMenuShown:!1,isSettingsMenuShown:!1,widgets:[]}}componentDidMount(){this.initWidgets(),this.startListeningForDisconnect(),window.addEventListener("beforeunload",Un.handleWindowBeforeUnload)}componentDidUpdate(e){const{dashboardData:t}=this.props;e.dashboardData!==t&&this.handleDataChange(t)}componentWillUnmount(){this.deinitWidgets(),this.stopListeningForDisconnect(),window.removeEventListener("beforeunload",Un.handleWindowBeforeUnload)}goldenLayout;importElement;widgetListenerRemover;initWidgets(){const{connection:e}=this.props;if(e.subscribeToFieldUpdates==null){Pe.warn("subscribeToFieldUpdates not supported, not initializing widgets");return}this.widgetListenerRemover=e.subscribeToFieldUpdates(t=>{Pe.debug("Got updates",t),this.setState(({widgets:n})=>{const{updated:r,created:a,removed:s}=t,o=[...r,...s],d=n.filter(u=>!o.some(c=>c.name===u.name));return[...r,...a].forEach(u=>{u.name!=null&&u.name!==""&&d.push(u)}),{widgets:d}})})}deinitWidgets(){this.widgetListenerRemover?.()}openNotebookFromURL(){const{match:e}=this.props,{notebookPath:t}=e.params;if(t){const{session:n,sessionConfig:r}=this.props;if(n==null||r==null){Pe.error("No session available to open notebook URL",t);return}const a={id:`/${t}`,itemName:`/${t}`},s=r.type,o={value:null,language:s};this.emitLayoutEvent(ue.SELECT_NOTEBOOK,n,s,o,a,!0)}}sendClearFilter(){this.emitLayoutEvent(fe.CLEAR_ALL_FILTERS)}emitLayoutEvent(e,...t){this.goldenLayout?.eventHub.emit(e,...t)}handleError(e){le.isCanceled(e)||Pe.error(e)}handleSettingsMenuHide(){this.setState({isSettingsMenuShown:!1})}handleSettingsMenuShow(){this.setState({isSettingsMenuShown:!0})}handleControlSelect(e,t){switch(Pe.debug("handleControlSelect",e),e){case sn.DROPDOWN_FILTER:this.emitLayoutEvent(fe.OPEN_DROPDOWN,{title:"DropdownFilter",type:e,createNewStack:!0,dragEvent:t});break;case sn.INPUT_FILTER:this.emitLayoutEvent(fe.OPEN_INPUT,{title:"InputFilter",type:e,createNewStack:!0,dragEvent:t});break;case sn.MARKDOWN:this.emitLayoutEvent(Fh.OPEN,{title:"Markdown",type:e,dragEvent:t});break;case sn.FILTER_SET_MANAGER:this.emitLayoutEvent(fe.OPEN_FILTER_SET_MANAGER,{title:"FilterSets",type:e,dragEvent:t});break;default:throw new Error(`Unrecognized control type ${e}`)}}handleToolSelect(e){Pe.debug("handleToolSelect",e);const{activeTool:t,setActiveTool:n}=this.props;n(t===e?Xe.DEFAULT:e)}handleClearFilter(){this.sendClearFilter()}handleDataChange(e){const{updateWorkspaceData:t}=this.props,{closed:n,filterSets:r,links:a}=e;t({closed:n,filterSets:r,links:a})}handleGoldenLayoutChange(e){this.goldenLayout=e}handleLayoutConfigChange(e){const{updateWorkspaceData:t}=this.props;t({layoutConfig:e})}handleWidgetMenuClick(){this.setState(({isPanelsMenuShown:e})=>({isPanelsMenuShown:!e}))}handleWidgetSelect(e,t){this.setState({isPanelsMenuShown:!1}),Pe.debug("handleWidgetSelect",e,t),this.openWidget(e,t)}handleWidgetsMenuClose(){this.setState({isPanelsMenuShown:!1})}handleAutoFillClick(){const{widgets:e}=this.state;Pe.debug("handleAutoFillClick",e);const t=e.sort((n,r)=>n.title!=null&&r.title!=null?n.title.localeCompare(r.title):0);for(let n=0;n<t.length;n+=1)this.openWidget(t[n])}handleExportLayoutClick(){Pe.info("handleExportLayoutClick"),this.setState({isPanelsMenuShown:!1});try{const{workspace:e}=this.props,{data:t}=e,n=yr.exportLayout(t);Pe.info("handleExportLayoutClick exportedConfig",n);const r=new Blob([JSON.stringify(n)],{type:"application/json"}),a=gt.i18n.DateTimeFormat.format("yyyy-MM-dd-HHmmss",new Date),s=document.createElement("a");s.href=URL.createObjectURL(r),s.download=`deephaven-app-layout-${a}.json`,s.click()}catch(e){Pe.error("Unable to export layout",e)}}handleImportLayoutClick(){Pe.info("handleImportLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.importElement.current!=null&&(this.importElement.current.value="",this.importElement.current.click())}handleResetLayoutClick(){Pe.info("handleResetLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.resetLayout()}handleImportLayoutFiles(e){e.stopPropagation(),e.preventDefault(),e.target.files!=null&&this.importLayoutFile(e.target.files?.[0])}handleDisconnect(){Pe.info("Disconnected from server"),this.setState({isDisconnected:!0})}handleReconnect(){Pe.info("Reconnected to server"),this.setState({isDisconnected:!1})}handleReconnectAuthFailed(){Pe.warn("Reconnect authentication failed"),this.setState({isAuthFailed:!0})}async importLayoutFile(e){try{const{updateDashboardData:t,updateWorkspaceData:n}=this.props,r=await e.text(),a=JSON.parse(r),{filterSets:s,layoutConfig:o,links:d}=yr.normalizeLayout(a);n({layoutConfig:o}),t(_t,{filterSets:s,links:d})}catch(t){Pe.error("Unable to import layout",t)}}async resetLayout(){const{layoutStorage:e,session:t}=this.props,{filterSets:n,layoutConfig:r,links:a}=await yr.getDefaultLayout(e,t!==void 0),{updateDashboardData:s,updateWorkspaceData:o}=this.props;o({layoutConfig:r}),s(_t,{filterSets:n,links:a})}handlePaste(e){if(e.target instanceof HTMLElement&&e.target.closest(".monaco-editor"))return;const{clipboardData:t}=e,n=t.getData("Text"),r=/“|”/g;r.test(n)&&(e.preventDefault(),e.stopPropagation(),document.execCommand("insertText",!1,n.replace(r,'"')))}handleLoadTablePlugin(e){const{plugins:t}=this.props,n=t.get(e);if(n!=null){if(Wc(n))return n.component;if(Gc(n))return n.TablePlugin}const r=`Unable to find table plugin ${e}.`;throw Pe.error(r),new Error(r)}startListeningForDisconnect(){const{connection:e}=this.props;e.addEventListener(gt.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(gt.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.addEventListener(gt.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}stopListeningForDisconnect(){const{connection:e}=this.props;e.removeEventListener(gt.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(gt.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.removeEventListener(gt.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}hydrateDefault(e,t){const{connection:n}=this.props,{metadata:r}=e;if(r?.type!=null&&(r?.id!=null||r?.name!=null)){const a=r.id!=null?{type:r.type,id:r.id}:{type:r.type,name:r.name,title:r.name};return{fetch:()=>n.getObject(a),...e,localDashboardId:t}}return Aa.hydrate(e,t)}hydrateTable(e,t){const{connection:n}=this.props;let r;if(Yh(e.metadata))r=e.metadata;else if(qh(e.metadata))r={name:e.metadata.table,type:e.metadata.type??gt.VariableType.TABLE};else throw new Error("Metadata is required for table panel");return{...e,getDownloadWorker:rn.getServiceWorker,loadPlugin:this.handleLoadTablePlugin,localDashboardId:t,makeModel:()=>nw(gt,n,r)}}hydrateChart(e,t){const{connection:n}=this.props;return{...e,localDashboardId:t,makeModel:()=>{const{metadata:r}=e,a=Tb(e)?e.panelState:void 0;if(r==null)throw new Error("Metadata is required for chart panel");return tw(gt,n,r,a)}}}openWidget(e,t){const{connection:n}=this.props;this.emitLayoutEvent(Q.OPEN,{dragEvent:t,fetch:()=>n.getObject(e),widget:e})}getDashboardPlugins=te(e=>[...e.entries()].filter(([,n])=>qc(n)).map(([n,{DashboardPlugin:r}])=>l.jsx(r,{},n)).concat([...e.values()].filter(Yc).map(({component:n,name:r})=>l.jsx(n,{},r))));render(){const{activeTool:e,plugins:t,user:n,workspace:r,serverConfigValues:a}=this.props,{data:s}=r,{layoutConfig:o}=s,{permissions:d}=n,{canUsePanels:h}=d,{contextActions:u,isAuthFailed:c,isDisconnected:m,isPanelsMenuShown:p,isSettingsMenuShown:f,widgets:g}=this.state,b=this.getDashboardPlugins(t);return l.jsxs("div",{className:Z("app-main-tabs","w-100","h-100","d-flex","flex-column",e?`active-tool-${e.toLowerCase()}`:""),onPaste:this.handlePaste,tabIndex:-1,children:[l.jsx("nav",{className:"nav-container",children:l.jsxs("div",{className:"app-main-top-nav-menus",children:[l.jsx("img",{src:uu,alt:"Deephaven Data Labs",width:"115px",className:"ml-1"}),l.jsxs("div",{children:[l.jsxs(F,{kind:"ghost",className:"btn-panels-menu",icon:wc,onClick:()=>{},children:["Controls",l.jsx(ks,{handleControlSelect:this.handleControlSelect,handleToolSelect:this.handleToolSelect,onClearFilter:this.handleClearFilter})]}),h&&l.jsxs(F,{kind:"ghost",className:"btn-panels-menu btn-show-panels","data-testid":"app-main-panels-button",onClick:this.handleWidgetMenuClick,icon:Ec,children:["Panels",l.jsx(gd,{isShown:p,className:"panels-menu-popper",onExited:this.handleWidgetsMenuClose,options:{placement:"bottom"},closeOnBlur:!0,interactive:!0,children:l.jsx(ew,{widgets:g,onExportLayout:this.handleExportLayoutClick,onImportLayout:this.handleImportLayoutClick,onResetLayout:this.handleResetLayoutClick,onSelect:this.handleWidgetSelect})})]}),l.jsx(F,{kind:"ghost",className:Z("btn-settings-menu",{"text-warning":n.operateAs!=null&&n.operateAs!==n.name}),onClick:this.handleSettingsMenuShow,icon:l.jsxs("span",{className:"fa-layers",children:[l.jsx(X,{icon:ji,transform:"grow-3 right-1 down-1"}),m&&!c&&l.jsxs(l.Fragment,{children:[l.jsx(X,{icon:Pc,color:wn.background,transform:"grow-2 right-8 down-8.5 rotate-45"}),l.jsx(X,{icon:Ys,color:wn.danger,transform:"shrink-5 right-6 down-6"})]})]}),tooltip:m&&!c?"Server disconnected":"User Settings"})]})]})}),l.jsxs(Gg,{emptyDashboard:l.jsx(iw,{onAutoFillClick:this.handleAutoFillClick}),id:_t,layoutConfig:o,onGoldenLayoutChange:this.handleGoldenLayoutChange,onLayoutConfigChange:this.handleLayoutConfigChange,onLayoutInitialized:this.openNotebookFromURL,hydrate:this.hydrateDefault,children:[l.jsx(RS,{hydrate:this.hydrateTable}),l.jsx(OS,{hydrate:this.hydrateChart}),l.jsx(DS,{}),l.jsx(MS,{hydrateConsole:Un.hydrateConsole,notebooksUrl:new URL("notebooks/",document.baseURI).href}),l.jsx(FS,{}),l.jsx(ny,{hydrate:this.hydrateTable}),l.jsx(ty,{}),l.jsx(JS,{}),b]}),l.jsx(Oi,{in:f,timeout:wn.transitionMidMs,classNames:"slide-left",mountOnEnter:!0,unmountOnExit:!0,children:l.jsx(xt,{serverConfigValues:a,onDone:this.handleSettingsMenuHide,user:n})}),l.jsx(ie,{actions:u}),l.jsx("input",{ref:this.importElement,type:"file",accept:".json",style:{display:"none"},onChange:this.handleImportLayoutFiles}),l.jsx(Kc,{isOpen:m&&!c,debounceMs:1e3,children:l.jsx(zc,{icon:Ys,title:l.jsxs(l.Fragment,{children:[l.jsx(Xa,{})," Attempting to reconnect..."]}),subtitle:"Please check your network connection."})}),l.jsx(Di,{confirmButtonText:"Refresh",onConfirm:Un.handleRefresh,isOpen:c,headerText:"Authentication failed",bodyText:"Credentials are invalid. Please refresh your browser to try and reconnect."})]})}}const hw=i=>({activeTool:Vr(i),dashboardData:Qe(i,_t),layoutStorage:Jy(i),plugins:Ap(i),connection:gb(i,_t),session:Tn(i,_t)?.session,sessionConfig:Tn(i,_t)?.config,user:Ud(i),workspace:Hr(i),serverConfigValues:Qy(i)}),uw=Me(hw,{setActiveTool:Wr,updateDashboardData:Ft,updateWorkspaceData:sh})(Ru(Un));function cw(){return l.jsxs("div",{className:"app",children:[l.jsx(uw,{}),l.jsx(Ed,{})]})}const mw=B.module("LocalWorkspaceStorage");class Hn{static STORAGE_KEY="deephaven.WorkspaceStorage";static async makeDefaultWorkspaceData(e,t){const{filterSets:n,links:r,layoutConfig:a}=await yr.getDefaultLayout(e,t?.isConsoleAvailable);return{settings:{defaultDateTimeFormat:Ge.DEFAULT_DATETIME_FORMAT_STRING,formatter:[],timeZone:Ge.DEFAULT_TIME_ZONE_ID,showTimeZone:!1,showTSeparator:!0,disableMoveConfirmation:!1,defaultDecimalFormatOptions:{defaultFormatString:st.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:at.DEFAULT_FORMAT_STRING},truncateNumbersWithPound:!1,defaultNotebookSettings:{isMinimapEnabled:!1}},layoutConfig:a,closed:[{}],links:r,filterSets:n}}static async makeDefaultWorkspace(e,t){return{data:await Hn.makeDefaultWorkspaceData(e,t)}}layoutStorage;constructor(e){this.layoutStorage=e}async load(e){try{return JSON.parse(localStorage.getItem(Hn.STORAGE_KEY)??"")}catch{return mw.info("Unable to load workspace data, initializing to default data"),Hn.makeDefaultWorkspace(this.layoutStorage,e)}}async save(e){return localStorage.setItem(Hn.STORAGE_KEY,JSON.stringify(e)),e}}class pw{storageService;root;constructor(e,t=""){this.storageService=e,this.root=t}async getLayouts(){return(await this.storageService.listItems(this.root,"*.json")).map(t=>t.basename)}async getLayout(e){const n=await(await this.storageService.loadFile(`${this.root}/${e}`)).text();return JSON.parse(n)}}const ci=B.module("GrpcFileStorageTable");class Mr{static REFRESH_DEBOUNCE=50;storageService;baseRoot;root;currentSize=0;currentViewport;listeners=[];viewportUpdatePromise;currentViewportData;childTables=new Map;constructor(e,t="",n=t){this.storageService=e,this.baseRoot=t,this.root=n,n===t&&(this.doRefresh=Je(this.doRefresh.bind(this),Mr.REFRESH_DEBOUNCE))}removeBaseRoot(e){return G.removeRoot(this.baseRoot,e)}getViewportData(){return this.viewportUpdatePromise||this.refreshInternal(),this.viewportUpdatePromise??Promise.resolve({items:[],offset:0})}getSnapshot(e){throw new Error("Method not implemented.")}get size(){return this.currentSize}setExpanded(e,t){const n=e.split("/");let r=n.shift();if((r===void 0||r==="")&&(r=n.shift()),r===void 0||r==="")throw new Error(`Invalid path: ${e}`);const a=n.join("/");if(t){if(!this.childTables.has(r)){const s=new Mr(this.storageService,this.baseRoot,`${this.root}/${r}`);this.childTables.set(r,s)}a&&this.childTables.get(r)?.setExpanded(a,t)}else this.childTables.has(r)&&(a?this.childTables.get(r)?.setExpanded(a,t):this.childTables.delete(r));this.currentViewport&&this.refreshInternal()}collapseAll(){this.childTables.clear(),this.currentViewport&&this.refreshInternal()}setSearch(e){throw new Error("Method not implemented.")}setViewport(e){this.currentViewport=e,this.refreshInternal()}setFilters(){throw new Error("Method not implemented.")}setSorts(){throw new Error("Method not implemented.")}setReversed(){throw new Error("Method not implemented.")}close(){this.listeners=[]}onUpdate(e){return this.listeners=[...this.listeners,e],()=>{this.listeners=this.listeners.filter(t=>t!==e)}}doRefresh(e){ci.debug2("doRefresh",this.root),e(this.fetchData())}refresh(){ci.debug2("refresh",this.root),this.viewportUpdatePromise?.cancel();const e=new Promise(n=>{this.doRefresh(n)}),t=le.makeCancelable(e.then(n=>{if(this.viewportUpdatePromise!==t)throw new pd;return this.currentViewportData=n,this.sendUpdate(),n}));t.catch(n=>{le.isCanceled(n)||ci.error("Error updating viewport",n)}),this.viewportUpdatePromise=t}refreshInternal(){try{this.refresh()}catch(e){le.isCanceled(e)||ci.error("Unable to refresh data",e)}}async fetchData(){const{currentViewport:e}=this;if(!e)throw new Error("No viewport set");let n=(await this.storageService.listItems(this.root)).map(r=>({type:r.type,filename:this.removeBaseRoot(r.filename),basename:r.basename,id:this.removeBaseRoot(r.filename),isExpanded:r.type==="directory"?this.childTables.has(r.basename):void 0})).sort((r,a)=>r.type!==a.type?r.type==="directory"?-1:1:r.basename.localeCompare(a.basename));for(let r=0;r<n.length;r+=1){const a=n[r],{basename:s,filename:o}=a;if(o===this.removeBaseRoot(`${this.root}/${s}`)&&a.type==="directory"){const d=this.childTables.get(s);if(d!=null){d.setViewport({top:0,bottom:e.bottom-r});const h=await d.getViewportData();n.splice(r+1,0,...h.items)}}}return this.currentSize=n.length,ci.debug2(this.root,"items",n,e),n=n.slice(e.top,e.bottom),{items:n,offset:e.top}}sendUpdate(){const{listeners:e}=this,t=this.currentViewportData??{items:[],offset:0};for(let n=0;n<e.length;n+=1)e[n](t)}}const vw=B.module("GrpcFileStorage");class $s{static REFRESH_THROTTLE=150;storageService;tables=[];root;constructor(e,t=""){this.storageService=e,this.root=t}removeRoot(e){return G.removeRoot(this.root,e)}addRoot(e){return G.addRoot(this.root,e)}async createDirectory(e){return await this.storageService.createDirectory(this.addRoot(e)),this.refreshTables(),{type:"directory",id:e,filename:e,basename:G.getBaseName(e)}}async getTable(){const e=new Mr(this.storageService,this.root);return this.tables.push(e),e}async saveFile(e){const t=dh.storage.FileContents.text(e.content);return await this.storageService.saveFile(this.addRoot(e.filename),t,!0),this.refreshTables(),e}async loadFile(e){const n=await(await this.storageService.loadFile(this.addRoot(e))).text();return{filename:e,basename:G.getBaseName(e),content:n}}async copyFile(e,t){const n=await this.storageService.loadFile(this.addRoot(e));await this.storageService.saveFile(this.addRoot(t),n,!1),this.refreshTables()}async deleteFile(e){await this.storageService.deleteItem(this.addRoot(e)),this.refreshTables()}async moveFile(e,t){await this.storageService.moveItem(this.addRoot(e),this.addRoot(t)),this.refreshTables()}async info(e){const t=await this.storageService.listItems(this.addRoot(G.getPath(e)),G.getBaseName(e));if(t.length===0)throw new Is;if(t.length>1)throw vw.error("More than one matching file found, should never happen.",t),new Error("More than one matching file found");const n=t[0];return{filename:this.removeRoot(n.filename),basename:n.basename,id:this.removeRoot(n.filename),type:n.type}}refreshTables=Fr(()=>{this.tables.forEach(e=>e.refresh())},$s.REFRESH_THROTTLE)}const fw=B.module("AppInit");function Us(i){const{workspace:e,setActiveTool:t,setApi:n,setCommandHistoryStorage:r,setDashboardData:a,setFileStorage:s,setLayoutStorage:o,setDashboardConnection:d,setDashboardSessionWrapper:h,setPlugins:u,setUser:c,setWorkspace:m,setWorkspaceStorage:p,setServerConfigValues:f}=i,g=On(),b=Zc(),C=Xc(),w=Jc(),S=Qc(),y=em(),[E,M]=v.useState();v.useEffect(function(){u(w)},[w,u]),v.useEffect(function(){async function q(){try{const k=await tm(),A=await nm(g,C,k),U=b.getStorageService(),j=new pw(U,"/layouts"),H=new $s(U,"/notebooks"),K=new Hn(j),de=new _y,ge=await K.load({isConsoleAvailable:A!==void 0}),{data:be}=ge,{settings:T}=be;T.defaultDecimalFormatOptions===void 0&&(T.defaultDecimalFormatOptions={defaultFormatString:st.DEFAULT_FORMAT_STRING}),T.defaultIntegerFormatOptions===void 0&&(T.defaultIntegerFormatOptions={defaultFormatString:at.DEFAULT_FORMAT_STRING}),T.truncateNumbersWithPound===void 0&&(T.truncateNumbersWithPound=!1);const{shortcutOverrides:P={}}=T,R=bt.isMacPlatform?P.mac??{}:P.windows??{};Object.entries(R).forEach(([ve,L])=>{De.get(ve)?.setKeyState(L)});const z={filterSets:be.filterSets,links:be.links};n(g),t(Xe.DEFAULT),f(S),r(de),a(_t,z),s(H),o(j),d(_t,C),A!==void 0&&h(_t,A),c(y),p(K),m(ge)}catch(k){fw.error(k),M(k)}}q()},[g,b,C,S,t,n,r,a,s,o,d,h,c,m,p,f,y]);const O=e==null&&E==null,x=!O&&E==null,N=E!=null?`${E}`:null;return l.jsxs(l.Fragment,{children:[x&&l.jsx(cw,{}),l.jsx(Rr,{isLoading:O&&N==null,isLoaded:x,errorMessage:N})]})}Us.propTypes={workspace:I.shape({}),workspaceStorage:I.shape({close:I.func}),setActiveTool:I.func.isRequired,setApi:I.func.isRequired,setCommandHistoryStorage:I.func.isRequired,setDashboardData:I.func.isRequired,setFileStorage:I.func.isRequired,setLayoutStorage:I.func.isRequired,setDashboardConnection:I.func.isRequired,setDashboardSessionWrapper:I.func.isRequired,setPlugins:I.func.isRequired,setUser:I.func.isRequired,setWorkspace:I.func.isRequired,setWorkspaceStorage:I.func.isRequired};Us.defaultProps={workspace:null,workspaceStorage:null};const gw=i=>({workspace:Hr(i),workspaceStorage:Fp(i)}),ed=Me(gw,{setActiveTool:Wr,setApi:Vp,setCommandHistoryStorage:Wp,setDashboardData:Lh,setFileStorage:Gp,setLayoutStorage:Ty,setDashboardConnection:bb,setDashboardSessionWrapper:Cb,setPlugins:zp,setUser:Hp,setWorkspace:ah,setWorkspaceStorage:Bp,setServerConfigValues:qp})(Us),bw=document.location.pathname;function Cw(){return l.jsx(ju,{basename:bw,children:l.jsxs(Au,{children:[l.jsx(Ws,{exact:!0,path:"/",component:ed}),l.jsx(Ws,{path:"/notebooks/:notebookPath+",component:ed}),l.jsx(ku,{from:"*",to:"/"})]})})}function Ow(){return rn.registerOnLoaded(),rt.init({getWorker:()=>new Hu}),window["__react-beautiful-dnd-disable-dev-warnings"]=!0,l.jsx($u,{store:ds,children:l.jsx(Uu,{UNSAFE_style:{backgroundColor:"transparent"},colorScheme:"dark",theme:im,children:l.jsx(Cw,{})})})}export{Ow as AppRoot,Ow as default};
|
|
31
|
+
//# sourceMappingURL=AppRoot-ccc1ad54.js.map
|