@holoviz/panel 1.4.3 → 1.4.4

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/dist/panel.min.js CHANGED
@@ -43,7 +43,7 @@
43
43
  })
44
44
  ({
45
45
  "4e90918c0a": function _(e,s,t,o,a){o();const c=e("tslib").__importStar(e("c463596eac"));t.Panel=c;(0,e("@bokehjs/base").register_models)(c)},
46
- "c463596eac": function _(e,t,a,o,c){o();const d=e("tslib");c("AcePlot",e("c780fc99fd").AcePlot),c("Audio",e("fd59c985b3").Audio),c("BrowserInfo",e("85211a0a5b").BrowserInfo),c("Button",e("1db93211cd").Button),c("ButtonIcon",e("1738ddeb3a").ButtonIcon),c("ClickableIcon",e("17193475a8").ClickableIcon),c("Card",e("aaa0c51c8d").Card),c("CheckboxButtonGroup",e("51fbe9e2d0").CheckboxButtonGroup),c("ChatAreaInput",e("27a077673d").ChatAreaInput),c("Column",e("aab20b9d6a").Column),c("CommManager",e("b99f938ce7").CommManager),c("CustomSelect",e("92bbd30bd1").CustomSelect),c("CustomMultiSelect",e("27b5580835").CustomMultiSelect),c("DataTabulator",e("2a91633c5c").DataTabulator),c("DatetimePicker",e("ddf98634bb").DatetimePicker),c("DeckGLPlot",e("dc03aab885").DeckGLPlot),c("ECharts",e("04cbffdfe0").ECharts),c("Feed",e("976c02c0a8").Feed),c("FileDownload",e("3ead851ca6").FileDownload),c("HTML",e("89d2d3667a").HTML),c("IPyWidget",e("8a8089cbf3").IPyWidget),c("JSON",e("7eff964d3e").JSON),c("JSONEditor",e("d57683bd1f").JSONEditor),c("KaTeX",e("f672d71a9f").KaTeX),c("Location",e("bd8e0fe48b").Location),c("MathJax",e("ec353a3d9a").MathJax),c("PDF",e("cf33f23f5c").PDF),c("Perspective",e("5e11ea757d").Perspective),c("Player",e("f06104d237").Player),c("PlotlyPlot",e("6f2064dc74").PlotlyPlot),c("Progress",e("aded75e266").Progress),c("QuillInput",e("c72e00086f").QuillInput),c("RadioButtonGroup",e("25e2d7c208").RadioButtonGroup),c("ReactiveHTML",e("6cfc3f348e").ReactiveHTML),c("SingleSelect",e("168c4d0ebd").SingleSelect),c("SpeechToText",e("739cca6576").SpeechToText),c("State",e("92822cb73a").State),c("Tabs",e("2231cdc549").Tabs),c("Terminal",e("121f00bd6f").Terminal),c("TextAreaInput",e("b7d595d74a").TextAreaInput),c("TextToSpeech",e("a04eb51988").TextToSpeech),c("ToggleIcon",e("ad985f285e").ToggleIcon),c("TooltipIcon",e("ae3a172647").TooltipIcon),c("TrendIndicator",e("3584638c04").TrendIndicator),c("VegaPlot",e("119dc23765").VegaPlot),c("Video",e("79dc37b888").Video),c("VideoStream",e("f8afc4e661").VideoStream),c("VizzuChart",e("470ce1dcbc").VizzuChart),d.__exportStar(e("c51f25e2a7"),a)},
46
+ "c463596eac": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("c780fc99fd").AcePlot),c("Audio",e("fd59c985b3").Audio),c("BrowserInfo",e("85211a0a5b").BrowserInfo),c("Button",e("1db93211cd").Button),c("ButtonIcon",e("1738ddeb3a").ButtonIcon),c("ClickableIcon",e("17193475a8").ClickableIcon),c("Card",e("aaa0c51c8d").Card),c("CheckboxButtonGroup",e("51fbe9e2d0").CheckboxButtonGroup),c("ChatAreaInput",e("27a077673d").ChatAreaInput),c("Column",e("aab20b9d6a").Column),c("CommManager",e("d0a63056c9").CommManager),c("CustomSelect",e("92bbd30bd1").CustomSelect),c("CustomMultiSelect",e("27b5580835").CustomMultiSelect),c("DataTabulator",e("2a91633c5c").DataTabulator),c("DatetimePicker",e("ddf98634bb").DatetimePicker),c("DeckGLPlot",e("dc03aab885").DeckGLPlot),c("ECharts",e("04cbffdfe0").ECharts),c("Feed",e("976c02c0a8").Feed),c("FileDownload",e("3ead851ca6").FileDownload),c("HTML",e("89d2d3667a").HTML),c("IPyWidget",e("8a8089cbf3").IPyWidget),c("JSON",e("7eff964d3e").JSON),c("JSONEditor",e("d57683bd1f").JSONEditor),c("KaTeX",e("f672d71a9f").KaTeX),c("Location",e("bd8e0fe48b").Location),c("MathJax",e("ec353a3d9a").MathJax),c("PDF",e("cf33f23f5c").PDF),c("Perspective",e("5e11ea757d").Perspective),c("Player",e("f06104d237").Player),c("PlotlyPlot",e("6f2064dc74").PlotlyPlot),c("Progress",e("aded75e266").Progress),c("QuillInput",e("c72e00086f").QuillInput),c("RadioButtonGroup",e("25e2d7c208").RadioButtonGroup),c("ReactiveHTML",e("6cfc3f348e").ReactiveHTML),c("SingleSelect",e("168c4d0ebd").SingleSelect),c("SpeechToText",e("739cca6576").SpeechToText),c("State",e("92822cb73a").State),c("Tabs",e("2231cdc549").Tabs),c("Terminal",e("121f00bd6f").Terminal),c("TextAreaInput",e("b7d595d74a").TextAreaInput),c("TextToSpeech",e("a04eb51988").TextToSpeech),c("ToggleIcon",e("ad985f285e").ToggleIcon),c("TooltipIcon",e("ae3a172647").TooltipIcon),c("TrendIndicator",e("3584638c04").TrendIndicator),c("VegaPlot",e("119dc23765").VegaPlot),c("Video",e("79dc37b888").Video),c("VideoStream",e("f8afc4e661").VideoStream),c("VizzuChart",e("470ce1dcbc").VizzuChart),d.__exportStar(e("c51f25e2a7"),t)},
47
47
  "c780fc99fd": function _(e,t,i,o,a){var n;o();const s=e("@bokehjs/core/dom"),d=e("73d6aee8f5");class _ extends d.HTMLBoxView{connect_signals(){super.connect_signals();const{code:e,theme:t,language:i,filename:o,print_margin:a,annotations:n,readonly:s}=this.model.properties;this.on_change(e,(()=>this._update_code_from_model())),this.on_change(t,(()=>this._update_theme())),this.on_change(i,(()=>this._update_language())),this.on_change(o,(()=>this._update_filename())),this.on_change(a,(()=>this._update_print_margin())),this.on_change(n,(()=>this._add_annotations())),this.on_change(s,(()=>{this._editor.setReadOnly(this.model.readonly)}))}render(){super.render(),this._container=(0,s.div)({id:`_${Math.random().toString(36).substr(2,9)}`,style:{width:"100%",height:"100%",zIndex:0}}),this.shadow_el.append(this._container),this._container.textContent=this.model.code,this._editor=ace.edit(this._container),this._editor.renderer.attachToShadowRoot(),this._langTools=ace.require("ace/ext/language_tools"),this._modelist=ace.require("ace/ext/modelist"),this._editor.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,fontFamily:"monospace"}),this._update_theme(),this._update_filename(),this._update_language(),this._editor.setReadOnly(this.model.readonly),this._editor.setShowPrintMargin(this.model.print_margin),this._editor.on("change",(()=>this._update_code_from_editor()))}_update_code_from_model(){this._editor&&this._editor.getValue()!=this.model.code&&this._editor.setValue(this.model.code)}_update_print_margin(){this._editor.setShowPrintMargin(this.model.print_margin)}_update_code_from_editor(){this._editor.getValue()!=this.model.code&&(this.model.code=this._editor.getValue())}_update_theme(){this._editor.setTheme(`ace/theme/${this.model.theme}`)}_update_filename(){if(this.model.filename){const e=this._modelist.getModeForPath(this.model.filename).mode;this.model.language=e.slice(9)}}_update_language(){null!=this.model.language&&this._editor.session.setMode(`ace/mode/${this.model.language}`)}_add_annotations(){this._editor.session.setAnnotations(this.model.annotations)}after_layout(){super.after_layout(),void 0!==this._editor&&this._editor.resize()}}i.AcePlotView=_,_.__name__="AcePlotView";class h extends d.HTMLBox{constructor(e){super(e)}}i.AcePlot=h,n=h,h.__name__="AcePlot",h.__module__="panel.models.ace",n.prototype.default_view=_,n.define((({Any:e,List:t,Bool:i,Str:o,Nullable:a})=>({code:[o,""],filename:[a(o),null],language:[o,""],theme:[o,"chrome"],annotations:[t(e),[]],readonly:[i,!1],print_margin:[i,!1]}))),n.override({height:300,width:300})},
48
48
  "73d6aee8f5": function _(e,t,i,s,h){s();const l=e("@bokehjs/core/dom"),n=e("@bokehjs/core/util/types"),a=e("@bokehjs/models/widgets/widget"),d=e("@bokehjs/models/layouts/layout_dom");class o extends a.WidgetView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{_(this.el,this.model),_(this.container,this.model,!1)}))}async lazy_initialize(){await super.lazy_initialize(),"not_started"!=this.provider.status&&"loading"!=this.provider.status||this.provider.ready.connect((()=>{this.contains_tex_string(this.model.text)&&this.render()}))}watch_stylesheets(){this._initialized_stylesheets={};for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets[t.href]=!1,t.addEventListener("load",(()=>{this._initialized_stylesheets[t.href]=!0,Object.values(this._initialized_stylesheets).every(Boolean)&&this.style_redraw()})))}0===Object.keys(this._initialized_stylesheets).length&&this.style_redraw()}style_redraw(){}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string(this.model.text)}render(){super.render(),_(this.el,this.model),this.container=(0,l.div)(),_(this.container,this.model,!1),this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0)}}function _(e,t,i=!0){let s=null!=t.width?"fixed":"fit",h=null!=t.height?"fixed":"fit";const{sizing_mode:l,margin:a}=t;if(null!=l)if("fixed"==l)s=h="fixed";else if("stretch_both"==l)s=h="max";else if("stretch_width"==l)s="max";else if("stretch_height"==l)h="max";else switch(l){case"scale_width":s="max",h="min";break;case"scale_height":s="min",h="max";break;case"scale_both":s="max",h="max";break;default:throw new Error("unreachable")}let d,o;i?(0,n.isArray)(a)?4===a.length?(o=a[0]+a[2],d=a[1]+a[3]):(o=2*a[0],d=2*a[1]):null==a?o=d=0:d=o=2*a:o=d=0,"fixed"==s&&t.width?e.style.width=`${t.width}px`:"max"==s&&(e.style.width=d?`calc(100% - ${d}px)`:"100%"),null!=t.min_width&&(e.style.minWidth=`${t.min_width}px`),null!=t.max_width&&(e.style.maxWidth=`${t.max_width}px`),"fixed"==h&&t.height?e.style.height=`${t.height}px`:"max"==h&&(e.style.height=o?`calc(100% - ${o}px)`:"100%"),null!=t.min_height&&(e.style.minHeight=`${t.min_height}px`),null!=t.max_width&&(e.style.maxHeight=`${t.max_height}px`)}i.PanelMarkupView=o,o.__name__="PanelMarkupView",i.set_size=_;class r extends d.LayoutDOMView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{_(this.el,this.model)}))}render(){super.render(),_(this.el,this.model)}watch_stylesheets(){this._initialized_stylesheets={};for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets[t.href]=!1,t.addEventListener("load",(()=>{this._initialized_stylesheets[t.href]=!0,Object.values(this._initialized_stylesheets).every(Boolean)&&this.style_redraw()})))}}style_redraw(){}get child_models(){return[]}}i.HTMLBoxView=r,r.__name__="HTMLBoxView";class c extends d.LayoutDOM{constructor(e){super(e)}}i.HTMLBox=c,c.__name__="HTMLBox"},
49
49
  "fd59c985b3": function _(e,t,i,o,s){var l;o();const u=e("73d6aee8f5");class d extends u.HTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals();const{loop:e,paused:t,time:i,value:o,volume:s,muted:l,autoplay:u}=this.model.properties;this.on_change(e,(()=>this.set_loop())),this.on_change(t,(()=>this.set_paused())),this.on_change(i,(()=>this.set_time())),this.on_change(o,(()=>this.set_value())),this.on_change(s,(()=>this.set_volume())),this.on_change(l,(()=>this.set_muted())),this.on_change(u,(()=>this.set_autoplay()))}render(){super.render(),this.audioEl=document.createElement("audio"),this.audioEl.controls=!0,this.audioEl.src=this.model.value,this.audioEl.currentTime=this.model.time,this.audioEl.loop=this.model.loop,this.audioEl.muted=this.model.muted,this.audioEl.autoplay=this.model.autoplay,null!=this.model.volume?this.audioEl.volume=this.model.volume/100:this.model.volume=100*this.audioEl.volume,this.audioEl.onpause=()=>this.model.paused=!0,this.audioEl.onplay=()=>this.model.paused=!1,this.audioEl.ontimeupdate=()=>this.update_time(this),this.audioEl.onvolumechange=()=>this.update_volume(this),(0,u.set_size)(this.audioEl,this.model,!1),this.shadow_el.appendChild(this.audioEl),this.model.paused||this.audioEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.audioEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.audioEl.volume)}set_loop(){this.audioEl.loop=this.model.loop}set_muted(){this.audioEl.muted=this.model.muted}set_autoplay(){this.audioEl.autoplay=this.model.autoplay}set_paused(){!this.audioEl.paused&&this.model.paused&&this.audioEl.pause(),this.audioEl.paused&&!this.model.paused&&this.audioEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.audioEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.audioEl.currentTime=this.model.time)}set_value(){this.audioEl.src=this.model.value}}i.AudioView=d,d.__name__="AudioView";class a extends u.HTMLBox{constructor(e){super(e)}}i.Audio=a,l=a,a.__name__="Audio",a.__module__="panel.models.widgets",l.prototype.default_view=d,l.define((({Any:e,Bool:t,Float:i,Nullable:o})=>({loop:[t,!1],paused:[t,!0],muted:[t,!1],autoplay:[t,!1],time:[i,0],throttle:[i,250],value:[e,""],volume:[o(i),null]})))},
@@ -57,10 +57,10 @@
57
57
  "51fbe9e2d0": function _(t,e,o,i,l){var s;i();const n=t("@bokehjs/models/ui/tooltip"),p=t("@bokehjs/core/build_views"),u=t("@bokehjs/models/widgets/checkbox_button_group");class r extends u.CheckboxButtonGroupView{*children(){yield*super.children(),null!=this.tooltip&&(yield this.tooltip)}connect_signals(){super.connect_signals();const{tooltip:t}=this.model.properties;this.on_change(t,(()=>this.update_tooltip()))}async update_tooltip(){null!=this.tooltip&&this.tooltip.remove();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,p.build_view)(t,{parent:this}))}async lazy_initialize(){await super.lazy_initialize();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,p.build_view)(t,{parent:this}))}remove(){this.tooltip?.remove(),super.remove()}render(){super.render();const t=t=>{this.tooltip?.model.setv({visible:t})};let e;this.el.addEventListener("mouseenter",(()=>{e=setTimeout((()=>t(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(e),t(!1)}))}}o.CheckboxButtonGroupView=r,r.__name__="CheckboxButtonGroupView";class a extends u.CheckboxButtonGroup{constructor(t){super(t)}}o.CheckboxButtonGroup=a,s=a,a.__name__="CheckboxButtonGroup",a.__module__="panel.models.widgets",s.prototype.default_view=r,s.define((({Nullable:t,Ref:e,Float:o})=>({tooltip:[t(e(n.Tooltip)),null],tooltip_delay:[o,500]})))},
58
58
  "27a077673d": function _(e,t,n,s,a){var r,_;s();const i=e("b7d595d74a"),l=e("@bokehjs/core/bokeh_events");class o extends l.ModelEvent{constructor(e){super(),this.value=e}get event_values(){return{model:this.origin,value:this.value}}}n.ChatMessageEvent=o,r=o,o.__name__="ChatMessageEvent",r.prototype.event_name="chat_message_event";class d extends i.TextAreaInputView{connect_signals(){super.connect_signals();const{value_input:e}=this.model.properties;this.on_change(e,(()=>this.update_rows()))}render(){super.render(),this.el.addEventListener("keydown",(e=>{"Enter"===e.key&&(e.shiftKey||e.ctrlKey==this.model.enter_sends?e.ctrlKey&&this.model.enter_sends&&(this.model.value_input+="\n",e.preventDefault()):(this.model.disabled_enter||(this.model.trigger_event(new o(this.model.value_input)),this.model.value_input=""),e.preventDefault()))}))}}n.ChatAreaInputView=d,d.__name__="ChatAreaInputView";class u extends i.TextAreaInput{constructor(e){super(e)}}n.ChatAreaInput=u,_=u,u.__name__="ChatAreaInput",u.__module__="panel.models.chatarea_input",_.prototype.default_view=d,_.define((({Bool:e})=>({disabled_enter:[e,!1],enter_sends:[e,!0]})))},
59
59
  "b7d595d74a": function _(e,t,s,n,o){var a;n();const r=e("@bokehjs/models/widgets/textarea_input");class i extends r.TextAreaInputView{connect_signals(){super.connect_signals();const{value:e,max_rows:t}=this.model.properties;this.on_change([t,e],(()=>this.update_rows()))}update_rows(){if(!this.model.auto_grow)return;const e=this.input_el,t=e.value.split("\n"),s=Math.max(t.length,this.model.rows,1);e.rows=Math.min(s,this.model.max_rows||1/0)}render(){super.render(),this.update_rows(),this.el.addEventListener("input",(()=>{this.update_rows()}))}}s.TextAreaInputView=i,i.__name__="TextAreaInputView";class _ extends r.TextAreaInput{constructor(e){super(e)}}s.TextAreaInput=_,a=_,_.__name__="TextAreaInput",_.__module__="panel.models.widgets",a.prototype.default_view=i,a.define((({Bool:e,Int:t,Nullable:s})=>({auto_grow:[e,!1],max_rows:[s(t),null]})))},
60
- "b99f938ce7": function _(e,t,s,n,o){var i;n();const c=e("@bokehjs/document"),l=e("@bokehjs/core/view"),_=e("@bokehjs/model"),h=e("@bokehjs/protocol/message"),r=e("@bokehjs/protocol/receiver"),a=e("@bokehjs/core/serialization/buffer"),d=e("@bokehjs/core/util/types"),u=e("@bokehjs/core/util/object");s.comm_settings={debounce:!0};class m extends l.View{}s.CommManagerView=m,m.__name__="CommManagerView";class f extends _.Model{constructor(e){super(e),this._document_listener=e=>this._document_changed(e)}initialize(){super.initialize(),this._receiver=new r.Receiver,this._event_buffer=[],this._blocked=!1,this._timeout=Date.now(),null!=window.PyViz&&window.PyViz.comm_manager?(this.ns=window.PyViz,this.ns.comm_manager.register_target(this.plot_id,this.comm_id,(e=>{for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&t.msg_handler(e);try{this.msg_handler(e)}catch(e){console.error(e)}})),this._client_comm=this.ns.comm_manager.get_client_comm(this.plot_id,this.client_comm_id,(e=>this.on_ack(e))),null==this.ns.shared_views&&(this.ns.shared_views=new Map),this.ns.shared_views.has(this.plot_id)?this.ns.shared_views.get(this.plot_id).push(this):this.ns.shared_views.set(this.plot_id,[this])):console.log("Could not find comm manager on window.PyViz, ensure the extension is loaded.")}_doc_attached(){super._doc_attached(),null!=this.document&&this.document.on_change(this._document_listener)}_document_changed(e){e instanceof c.ModelChangedEvent&&!e.model.properties[e.attr].syncable||(this._event_buffer.push(e),s.comm_settings.debounce?(!this._blocked||Date.now()>this._timeout)&&(setTimeout((()=>this.process_events()),this.debounce),this._blocked=!0,this._timeout=Date.now()+this.timeout):this.process_events())}_extract_buffers(e,t){if((0,d.isArray)(e))for(const s of e)this._extract_buffers(s,t);else if(e instanceof Map)for(const s of e.keys()){const n=e.get(s);this._extract_buffers(n,t)}else{if(e instanceof a.Buffer){const{buffer:s}=e,n=t.length;return t.push(s),{id:n}}if((0,d.isPlainObject)(e))for(const s of(0,u.keys)(e)){const n=this._extract_buffers(e[s],t);null!=n&&(e[s]=n)}}}process_events(){if(null==this.document||null==this._client_comm)return;const e=this.document.create_json_patch(this._event_buffer);this._event_buffer=[];const t={...h.Message.create("PATCH-DOC",{},e)},s=[];t.content=this._extract_buffers(t.content,s),this._client_comm.send(t,{},s);for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&null!=t.document&&t.document.apply_json_patch(e,[],this.id)}disconnect_signals(){super.disconnect_signals(),this.ns.shared_views.shared_views.delete(this.plot_id)}on_ack(e){const t=e.metadata;this._event_buffer.length>0?(this._blocked=!0,this._timeout=Date.now()+this.timeout,this.process_events()):this._blocked=!1,"Ready"==t.msg_type&&t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback)}msg_handler(e){const t=e.metadata,s=e.buffers,n=e.content.data,o=this.plot_id;if("Ready"==t.msg_type)t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback);else if(null!=o){let e=null;if(o in this.ns.plot_index&&null!=this.ns.plot_index[o]?e=this.ns.plot_index[o]:void 0!==window.Bokeh&&o in window.Bokeh.index&&(e=window.Bokeh.index[o]),null==e)return;if(n.length)this._receiver.consume(n);else{if(!(null!=s&&s.length>0))return;this._receiver.consume(s[0].buffer)}const t=this._receiver.message;if(null!=t&&Object.keys(t.content).length>0&&null!=this.document){const e=t.content;this.document.apply_json_patch(e,t.buffers)}}}}s.CommManager=f,i=f,f.__name__="CommManager",f.__module__="panel.models.comm_manager",i.prototype.default_view=m,i.define((({Int:e,Str:t,Nullable:s})=>({plot_id:[s(t),null],comm_id:[s(t),null],client_comm_id:[s(t),null],timeout:[e,5e3],debounce:[e,50]})))},
60
+ "d0a63056c9": function _(e,t,s,n,o){var i;n();const c=e("@bokehjs/document"),l=e("@bokehjs/core/view"),_=e("@bokehjs/model"),h=e("@bokehjs/protocol/message"),r=e("@bokehjs/protocol/receiver"),a=e("@bokehjs/core/serialization/buffer"),d=e("@bokehjs/core/util/types"),u=e("@bokehjs/core/util/object");s.comm_settings={debounce:!0};class m extends l.View{}s.CommManagerView=m,m.__name__="CommManagerView";class f extends _.Model{constructor(e){super(e),this._document_listener=e=>this._document_changed(e)}initialize(){super.initialize(),this._receiver=new r.Receiver,this._event_buffer=[],this._blocked=!1,this._timeout=Date.now(),null!=window.PyViz&&window.PyViz.comm_manager?(this.ns=window.PyViz,this.ns.comm_manager.register_target(this.plot_id,this.comm_id,(e=>{for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&t.msg_handler(e);try{this.msg_handler(e)}catch(e){console.error(e)}})),this._client_comm=this.ns.comm_manager.get_client_comm(this.plot_id,this.client_comm_id,(e=>this.on_ack(e))),null==this.ns.shared_views&&(this.ns.shared_views=new Map),this.ns.shared_views.has(this.plot_id)?this.ns.shared_views.get(this.plot_id).push(this):this.ns.shared_views.set(this.plot_id,[this])):console.log("Could not find comm manager on window.PyViz, ensure the extension is loaded.")}_doc_attached(){super._doc_attached(),null!=this.document&&this.document.on_change(this._document_listener)}_document_changed(e){e instanceof c.ModelChangedEvent&&!e.model.properties[e.attr].syncable||(this._event_buffer.push(e),s.comm_settings.debounce?(!this._blocked||Date.now()>this._timeout)&&(setTimeout((()=>this.process_events()),this.debounce),this._blocked=!0,this._timeout=Date.now()+this.timeout):this.process_events())}_extract_buffers(e,t){if((0,d.isArray)(e))for(const s of e)this._extract_buffers(s,t);else if(e instanceof Map)for(const s of e.keys()){const n=e.get(s);this._extract_buffers(n,t)}else{if(e instanceof a.Buffer){const{buffer:s}=e,n=t.length;return t.push(s),{id:n}}if((0,d.isPlainObject)(e))for(const s of(0,u.keys)(e)){const n=this._extract_buffers(e[s],t);null!=n&&(e[s]=n)}}}process_events(){if(null==this.document||null==this._client_comm)return;const e=this.document.create_json_patch(this._event_buffer);this._event_buffer=[];const t={...h.Message.create("PATCH-DOC",{},e)},s=[];this._extract_buffers(t.content,s),this._client_comm.send(t,{},s);for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&null!=t.document&&t.document.apply_json_patch(e,[],this.id)}disconnect_signals(){super.disconnect_signals(),this.ns.shared_views.shared_views.delete(this.plot_id)}on_ack(e){const t=e.metadata;this._event_buffer.length>0?(this._blocked=!0,this._timeout=Date.now()+this.timeout,this.process_events()):this._blocked=!1,"Ready"==t.msg_type&&t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback)}msg_handler(e){const t=e.metadata,s=e.buffers,n=e.content.data,o=this.plot_id;if("Ready"==t.msg_type)t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback);else if(null!=o){let e=null;if(o in this.ns.plot_index&&null!=this.ns.plot_index[o]?e=this.ns.plot_index[o]:void 0!==window.Bokeh&&o in window.Bokeh.index&&(e=window.Bokeh.index[o]),null==e)return;if(n.length)this._receiver.consume(n);else{if(!(null!=s&&s.length>0))return;this._receiver.consume(s[0].buffer)}const t=this._receiver.message;if(null!=t&&Object.keys(t.content).length>0&&null!=this.document){const e=t.content;this.document.apply_json_patch(e,t.buffers)}}}}s.CommManager=f,i=f,f.__name__="CommManager",f.__module__="panel.models.comm_manager",i.prototype.default_view=m,i.define((({Int:e,Str:t,Nullable:s})=>({plot_id:[s(t),null],comm_id:[s(t),null],client_comm_id:[s(t),null],timeout:[e,5e3],debounce:[e,50]})))},
61
61
  "92bbd30bd1": function _(e,t,s,o,i){var n;o();const l=e("@bokehjs/models/widgets/select");class d extends l.SelectView{connect_signals(){super.connect_signals();const{disabled_options:e}=this.model.properties;this.on_change(e,(()=>this._update_disabled_options()))}options_el(){const e=super.options_el(),{disabled_options:t}=this.model;return e.forEach((e=>{e instanceof HTMLOptionElement&&t.includes(e.value)&&e.setAttribute("disabled","true")})),e}_update_disabled_options(){for(const e of this.input_el.options)this.model.disabled_options.includes(e.value)?e.setAttribute("disabled","true"):e.removeAttribute("disabled")}}s.CustomSelectView=d,d.__name__="CustomSelectView";class _ extends l.Select{constructor(e){super(e)}}s.CustomSelect=_,n=_,_.__name__="CustomSelect",_.__module__="panel.models.widgets",n.prototype.default_view=d,n.define((({List:e,Str:t})=>({disabled_options:[e(t),[]]})))},
62
62
  "27b5580835": function _(e,t,l,o,s){var n,i;o();const c=e("@bokehjs/models/widgets/multiselect"),r=e("@bokehjs/core/bokeh_events");class u extends r.ModelEvent{constructor(e){super(),this.option=e}get event_values(){return{model:this.origin,option:this.option}}}l.DoubleClickEvent=u,n=u,u.__name__="DoubleClickEvent",n.prototype.event_name="dblclick_event";class _ extends c.MultiSelectView{render(){super.render();for(const e of this.input_el.children)e.addEventListener("dblclick",(e=>{e.target&&this.model.trigger_event(new u(e.target.value))}))}}l.CustomMultiSelectView=_,_.__name__="CustomMultiSelectView";class d extends c.MultiSelect{constructor(e){super(e)}}l.CustomMultiSelect=d,i=d,d.__name__="CustomMultiSelect",d.__module__="panel.models.widgets",i.prototype.default_view=_},
63
- "2a91633c5c": function _(t,e,i,s,o){var l,n,a,r;s();const d=t("@bokehjs/core/dom"),h=t("@bokehjs/core/util/types"),c=t("@bokehjs/core/bokeh_events"),u=t("@bokehjs/core/dom"),_=t("@bokehjs/core/kinds"),m=t("@bokehjs/models/sources/column_data_source"),g=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("b99f938ce7"),b=t("be689f0377"),w=t("73d6aee8f5");class y extends c.ModelEvent{constructor(t,e,i){super(),this.column=t,this.row=e,this.pre=i}get event_values(){return{model:this.origin,column:this.column,row:this.row,pre:this.pre}}}i.TableEditEvent=y,l=y,y.__name__="TableEditEvent",l.prototype.event_name="table-edit";class x extends c.ModelEvent{constructor(t,e){super(),this.column=t,this.row=e}get event_values(){return{model:this.origin,column:this.column,row:this.row}}}i.CellClickEvent=x,n=x,x.__name__="CellClickEvent",n.prototype.event_name="cell-click";class v extends c.ModelEvent{constructor(t,e,i=!1){super(),this.indices=t,this.selected=e,this.flush=i}get event_values(){return{model:this.origin,indices:this.indices,selected:this.selected,flush:this.flush}}}function S(t,e,i){for(const s of i)if(s[t]==e)return s;return null}function C(t,e,i,s=0){const o={};if(0==t.length)return o;const l=i[s];for(const n of t){const t=C(n._children,e,i,s+1);for(const e in t)(0,h.isArray)(t[e])?n[e]=t[e].reduce(((t,e)=>t+e),0)/t[e].length:n[e]=t[e];for(const t of e.slice(1)){const e=n[t.field];if(t.field in o){const i=o[t.field];"min"===l?o[t.field]=Math.min(e,i):"max"===l?o[t.field]=Math.max(e,i):"sum"===l?o[t.field]=e+i:"mean"===l&&((0,h.isArray)(o[t.field])?o[t.field].push(e):o[t.field]=[i,e])}else o[t.field]=e}}return o}function T(t,e,i,s){const o=[],l=e[0].field;for(const s of t){const t=s[i[0]];let n=S(l,t,o);null==n&&(n={_children:[]},n[l]=t,o.push(n));let a=n;const r={};for(const t of i.slice(1)){a=S(l,s[t],a._children),null==a&&(a={_children:[]},a[l]=s[t],n._children.push(a)),r[t]=n;for(const t of e.slice(1))a[t.field]=s[t];n=a}for(const t of e.slice(1))a[t.field]=s[t.field]}const n=[];for(const t of i)n.push(t in s?s[t]:"sum");return C(o,e,n),o}i.SelectionEvent=v,a=v,v.__name__="SelectionEvent",a.prototype.event_name="selection-change";const z=function(t,e,i,s,o,l,n){let a;a=0;const r={zone:new window.luxon.IANAZone("UTC")};if(t="-9223372036854776"==String(t)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(t,r),e="-9223372036854776"==String(e)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(e,r),t.isValid){if(e.isValid)return t-e;a=1}else a=e.isValid?-1:0;return a*=-1,a},M=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","date"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a},E=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd'T'T");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd'T'T",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","datetime-local"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a};class k extends w.HTMLBoxView{constructor(){super(...arguments),this.columns=new Map,this.container=null,this._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._lastHorizontalScrollbarLeftPosition=0,this._applied_styles=!1,this._building=!1,this._debounced_redraw=null,this._restore_scroll=!1}connect_signals(){super.connect_signals(),this._debounced_redraw=(0,f.debounce)((()=>this._resize_redraw()),20,!1);const{configuration:t,layout:e,columns:i,groupby:s,visible:o,download:l,children:n,expanded:a,cell_styles:r,hidden_columns:d,page_size:h,page:c,max_page:u,frozen_rows:_,sorters:m,theme_classes:g}=this.model.properties;this.on_change([t,e,s],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.on_change(o,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change(i,(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.on_change(l,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.on_change(n,(()=>this.renderChildren())),this.on_change(a,(()=>{for(const t of this.tabulator.rowManager.getRows())t.cells.length>0&&t.cells[0].layoutElement();for(const t of this.tabulator.rowManager.getRows())if(t.cells.length>0){const e=t.data._index,i=this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc";t.cells[1].element.innerText=i}})),this.on_change(r,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.on_change(d,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.on_change(h,(()=>this.setPageSize())),this.on_change(c,(()=>{this._updating_page||this.setPage()})),this.on_change(o,(()=>this.setVisibility())),this.on_change(u,(()=>this.setMaxPage())),this.on_change(_,(()=>this.setFrozen())),this.on_change(m,(()=>this.setSorters())),this.on_change(g,(()=>this.setCSSClasses(this.tabulator.element))),this.on_change(this.model.source.properties.data,(()=>{void 0!==this.tabulator&&(this._selection_updating=!0,this.setData(),this._selection_updating=!1,this.postUpdate())})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>{const t=this.model.source.selected.indices;this.updateOrAddData(),this.record_scroll(),this.model.source.selected.indices=t})),this.connect(this.model.source.selected.change,(()=>this.setSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.setSelection()))}get groupBy(){return this.model.groupby.length>0&&(t=>{const e=[];for(const i of this.model.groupby){const s=`${i}: ${t[i]}`;e.push(s)}return e.join(", ")})}get sorters(){const t=[];this.model.sorters.length>0&&t.push({column:"_index",dir:"asc"});for(const e of this.model.sorters.reverse())void 0===e.column&&(e.column=e.field),t.push(e);return t}invalidate_render(){this.tabulator.destroy(),this.tabulator=null,this.render()}redraw(t=!0,e=!0){this._building||(t&&null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),e&&null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()),this._restore_scroll=!0)}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}after_resize(){super.after_resize(),this._debounced_redraw()}_resize_redraw(){if(this._initializing||!this.container||this._building)return;const t=this.container.clientWidth,e=this.container.clientHeight;t&&e&&(this.redraw(!0,!0),this.restore_scroll())}setCSSClasses(t){t.className="pnx-tabulator tabulator";for(const e of this.model.theme_classes)t.classList.add(e)}render(){null!=this.tabulator&&this.tabulator.destroy(),super.render(),this._initializing=!0;const t=(0,u.div)({style:"display: contents;"}),e=(0,u.div)({style:"width: 100%; height: 100%; visibility: hidden;"});this.container=e,this.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);const i=this.getConfiguration();this.tabulator=new Tabulator(e,i),this.watch_stylesheets(),this.init_callbacks()}style_redraw(){this.model.visible&&(this.tabulator.element.style.visibility="visible"),this._initializing||this._building||this.redraw()}tableInit(){this._building=!0;this.tabulator.modules.ajax.sendRequest=(t,e,i)=>this.requestPage(e.page,e.sort),this.tabulator.modules.page._parseRemoteData=()=>!1}init_callbacks(){this.tabulator.on("tableBuilding",(()=>this.tableInit())),this.tabulator.on("tableBuilt",(()=>this.tableBuilt())),this.tabulator.on("selectableCheck",(t=>{const e=this.model.selectable_rows;return null==e||e.includes(t._row.data._index)})),this.tabulator.on("tooltips",(t=>`${t.getColumn().getField()}: ${t.getValue()}`)),this.tabulator.on("scrollVertical",(0,f.debounce)((()=>{this.record_scroll(),this.setStyles()}),50,!1)),this.tabulator.on("scrollHorizontal",(0,f.debounce)((()=>{this.record_scroll()}),50,!1)),this.tabulator.on("rowSelectionChanged",((t,e,i,s)=>this.rowSelectionChanged(t,e,i,s))),this.tabulator.on("rowClick",((t,e)=>this.rowClicked(t,e))),this.tabulator.on("cellEdited",(t=>this.cellEdited(t))),this.tabulator.on("dataFiltering",(t=>{this.record_scroll(),this.model.filters=t})),this.tabulator.on("dataFiltered",((t,e)=>{this._building||(0===e.length&&this.tabulator.rowManager.renderEmptyScroll(),this.updatePage(this.tabulator.getPage()))})),this.tabulator.on("pageLoaded",(t=>{this.updatePage(t)})),this.tabulator.on("renderComplete",(()=>{this._building||this.postUpdate()})),this.tabulator.on("dataSorting",(t=>{const e=[];for(const i of t)"_index"!==i.field&&e.push({field:i.field,dir:i.dir});"remote"!==this.model.pagination&&(this._updating_sort=!0,this.model.sorters=e,this._updating_sort=!1)}))}tableBuilt(){this._building=!1,this.setSelection(),this.renderChildren(),this.setStyles(),this.model.pagination&&(this.setMaxPage(),this.tabulator.setPage(this.model.page))}requestPage(t,e){return new Promise(((i,s)=>{try{if(null!=t&&null!=e){this._updating_sort=!0;const i=[];for(const t of e)"_index"!==t.field&&i.push({field:t.field,dir:t.dir});this.model.sorters=i,this._updating_sort=!1,this._updating_page=!0;try{this.model.page=t||1}finally{this._updating_page=!1}}i([])}catch(t){s(t)}}))}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){const t="toggle"===this.model.select_mode||NaN,e={...this.model.configuration,index:"_index",nestedFieldSeparator:!1,movableColumns:!1,selectable:t,columns:this.getColumns(),initialSort:this.sorters,layout:this.getLayout(),pagination:null!=this.model.pagination,paginationMode:this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1,groupBy:this.groupBy,rowFormatter:t=>this._render_row(t),frozenRows:t=>this.model.frozen_rows.length>0&&this.model.frozen_rows.includes(t._row.data._index)};"remote"===this.model.pagination&&(e.ajaxURL="http://panel.pyviz.org",e.sortMode="remote");const i=this.model.source;let s;return s=null===i||0===i.columns().length?[]:(0,b.transform_cds_to_records)(i,!0),e.dataTree&&(s=T(s,this.model.columns,this.model.indexes,this.model.aggregators)),{...e,data:s}}get child_models(){const t=[];for(const e of this.model.expanded){const i=this.model.children.get(e);null!=i&&t.push(i)}return t}renderChildren(){new Promise((async t=>{await this.build_child_views(),t(null)})).then((()=>{for(const t of this.model.expanded){const e=this.tabulator.getRow(t);this._render_row(e,!1)}this._update_children(),null!=this.tabulator.rowManager.renderer&&this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout()}))}_render_row(t,e=!0){const i=t._row?.data._index;if(!this.model.expanded.includes(i)||null==this.model.children.get(i))return;const s=this.model.children.get(i),o=null==s?null:this._child_views.get(s);if(null==o)return;const l=t.getElement(),n=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,a=l.style.paddingLeft?`-${l.style.paddingLeft}`:"0",r=(0,u.div)({style:`background-color: ${n}; margin-left:${a}; max-width: 100%; overflow-x: hidden;`});r.appendChild(o.el),l.appendChild(r),o.has_finished()||(o.render(),o.after_render()),e&&(this._update_children(),this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout())}_expand_render(t){const e=t._cell.row.data._index;return`<i>${this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc"}</i>`}_update_expand(t){const e=t._cell.row.data._index,i=[...this.model.expanded],s=i.indexOf(e);if(s<0)i.push(e);else{const t=i.splice(s,1)[0],e=this.model.children.get(t);if(null!=e){const t=this._child_views.get(e);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=i,i.indexOf(e)<0)return;let o=!0;for(const t of this.model.expanded)if(null==this.model.children.get(t)){o=!1;break}o&&this.renderChildren()}getData(){let t=(0,b.transform_cds_to_records)(this.model.source,!0);return this.model.configuration.dataTree&&(t=T(t,this.model.columns,this.model.indexes,this.model.aggregators)),t}getColumns(){this.columns=new Map;const t=this.model.configuration?.columns,e=[];if(e.push({field:"_index",frozen:!0,visible:!1}),null!=t)for(const i of t)if(null!=i.columns){const t=[];for(const e of i.columns)t.push({...e});e.push({...i,columns:t})}else if("expand"===i.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};e.push(t)}else{const t={...i};"rowSelection"===t.formatter&&(t.cellClick=(t,e)=>{e.getRow().toggleSelect()}),e.push(t)}for(const i of this.model.columns){let s=null;if(null!=t)for(const t of e)if(null!=t.columns){for(const e of t.columns)if(i.field===e.field){s=e;break}if(null!=s)break}else if(i.field===t.field){s=t;break}if(null==s&&(s={field:i.field}),this.columns.set(i.field,s),null==s.title&&(s.title=i.title),null==s.width&&null!=i.width&&0!=i.width&&(s.width=i.width),null==s.formatter&&null!=i.formatter){const t=i.formatter.type;s.formatter="BooleanFormatter"===t?"tickCross":t=>{const e=t.getRow(),s=i.formatter.doFormat(t.getRow(),t,t.getValue(),null,e.getData());if("HTMLTemplateFormatter"===i.formatter.type)return s;const o=(0,u.div)();o.innerHTML=s;const l=o.children[0];return"function(){return c.convert(arguments)}"===l.innerHTML?"":l}}"timestamp"==s.sorter&&(s.sorter=z),void 0===s.sorter&&(s.sorter="string");const o=i.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=M:"datetime"===s.editor&&(s.editor=E):"StringEditor"===l?o.completions.length>0?(s.editor="list",s.editorParams={values:o.completions,autocomplete:!0,listOnEmpty:!0}):s.editor="input":"TextEditor"===l?s.editor="textarea":"IntEditor"===l||"NumberEditor"===l?(s.editor="number",s.editorParams={step:o.step},s.validator="IntEditor"===l?"integer":"numeric"):"CheckboxEditor"===l?s.editor="tickCross":"DateEditor"===l?s.editor=M:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(t,e,s,o)=>{this.renderEditor(i,t,e,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(i.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&(0,h.isBoolean)(s.headerFilter)&&(0,h.isString)(s.editor)&&(s.headerFilter=s.editor,s.headerFilterParams=s.editorParams);for(const t of this.model.sorters)s.field===t.field&&(s.headerSortStartingDir=t.dir);s.cellClick=(t,e)=>{const s=e.getData()._index,o=new x(i.field,s);this.model.trigger_event(o)},null==t&&e.push(s)}for(const t in this.model.buttons){const i={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new x(t,s);this.model.trigger_event(o)}};e.push(i)}return e}renderEditor(t,e,i,s,o){const l=t.editor,n=new l.default_view({column:t,model:l,parent:this,container:e._cell.element});return n.initialize(),n.connect_signals(),i((()=>{n.setValue(e.getValue())})),n.inputEl.addEventListener("input",(()=>{const t=n.serializeValue(),i=e.getValue(),l=n.validate();l.valid||o(l.msg),null!=i&&typeof t!=typeof i?o("Mismatching type"):s(n.serializeValue())})),n.inputEl}setData(){if(this._initializing||this._building||!this.tabulator.initialized)return;const t=this.getData();null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t)}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1],i=e?.data._index||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles(),this._restore_scroll&&(this.restore_scroll(),this._restore_scroll=!1)}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=`${this.tabulator.element.offsetHeight}px`;const e=(0,b.transform_cds_to_records)(this.model.source,!0);this.tabulator.setData(e).then((()=>{this.tabulator.element.style.minHeight=t}))}setFrozen(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}setVisibility(){null!=this.tabulator&&(this.tabulator.element.style.visibility=this.model.visible?"visible":"hidden")}updatePage(t){"local"===this.model.pagination&&this.model.page!==t&&(this._updating_page=!0,this.model.page=t,this._updating_page=!1,this.setStyles())}setGroupBy(){this.tabulator.setGroupBy(this.groupBy)}setSorters(){this._updating_sort||this.tabulator.setSort(this.sorters)}setStyles(){const t=this.model.cell_styles.data;if(null!=this.tabulator&&0!=this.tabulator.getDataCount()&&null!=t&&t.size){this._applied_styles=!1;for(const e of t.keys()){const i=t.get(e),s=this.tabulator.getRow(e);if(!s)continue;const o=s._row.cells;for(const t of i.keys()){const e=i.get(t),s=o[t];if(null==s||!e.length)continue;const l=s.element;for(const t of e){let e,i;if((0,h.isArray)(t))[e,i]=t;else{if(!t.includes(":"))continue;[e,i]=t.split(":")}l.style.setProperty(e,i.trimLeft()),this._applied_styles=!0}}}}}setHidden(){for(const t of this.tabulator.getColumns()){const e=t._column;"_index"==e.field||this.model.hidden_columns.includes(e.field)?t.hide():t.show()}}setMaxPage(){this.tabulator.setMaxPage(this.model.max_page),this.tabulator.modules.page.pagesElement&&this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(Math.min(this.model.max_page,this.model.page)),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setPageSize(){this.tabulator.setPageSize(this.model.page_size),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setSelection(){if(null==this.tabulator||this._initializing||this._selection_updating||!this.tabulator.initialized)return;const t=this.model.source.selected.indices,e=this.tabulator.getSelectedData().map((t=>t._index));if(JSON.stringify(t)!=JSON.stringify(e)){this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t);for(const e of t){this.tabulator.rowManager.findRow(e)&&this.tabulator.scrollToRow(e,"center",!1).catch((()=>{}))}this._selection_updating=!1}}restore_scroll(){const t={top:this._lastVerticalScrollbarTopPosition,left:this._lastHorizontalScrollbarLeftPosition,behavior:"instant"};setTimeout((()=>this.tabulator.rowManager.element.scrollTo(t)),0)}record_scroll(){this._lastVerticalScrollbarTopPosition=this.tabulator.rowManager.element.scrollTop,this._lastHorizontalScrollbarLeftPosition=this.tabulator.rowManager.element.scrollLeft}rowClicked(t,e){if(this._selection_updating||this._initializing||(0,h.isString)(this.model.select_mode)||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===t.srcElement?.innerText)return;let i=[];const s=this.model.source.selected,o=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(o),l=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<=o;e++)i.push(e);else for(let e=t;e>=o;e--)i.push(e)}else i.push(o);return this._selection_updating=!0,this.model.trigger_event(new v(i,e,l)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)i=[...this.model.source.selected.indices];else if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<o;e++)i.push(e);else for(let e=t;e>o;e--)i.push(e)}if(i.indexOf(o)<0?i.push(o):i.splice(i.indexOf(o),1),(0,h.isNumber)(this.model.select_mode))for(;i.length>this.model.select_mode;)i.shift();const l=this._filter_selected(i);this.tabulator.deselectRow(),this.tabulator.selectRow(l),this._selection_updating=!0,s.indices=l,this._selection_updating=!1}_filter_selected(t){const e=[];for(const i of t)(null==this.model.selectable_rows||this.model.selectable_rows.indexOf(i)>=0)&&e.push(i);return e}rowSelectionChanged(t,e,i,s){if(!(this._selection_updating||this._initializing||(0,h.isBoolean)(this.model.select_mode)||(0,h.isNumber)(this.model.select_mode)||this.model.configuration.dataTree)){if("remote"===this.model.pagination){const t=i.map((t=>t._row.data._index)),e=s.map((t=>t._row.data._index));t.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(e,!1,!1)))}else{const e=t.map((t=>t._index)),i=this._filter_selected(e);this._selection_updating=e.length===i.length,this.model.source.selected.indices=i}this._selection_updating=!1}}cellEdited(t){const e=t._cell.column.field,i=this.columns.get(e),s=t.getData()._index,o=t._cell.value;if("numeric"!==i.validator||""!==o){this._tabulator_cell_updating=!0,p.comm_settings.debounce=!1,this.model.trigger_event(new y(e,s,!0));try{this.model.source.patch({[e]:[[s,o]]})}finally{p.comm_settings.debounce=!0,this._tabulator_cell_updating=!1}this.model.trigger_event(new y(e,s,!1)),this.tabulator.scrollToRow(s,"top",!1)}else t.setValue(NaN,!0)}}i.DataTabulatorView=k,k.__name__="DataTabulatorView",i.TableLayout=(0,_.Enum)("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class D extends w.HTMLBox{constructor(t){super(t)}}i.DataTabulator=D,r=D,D.__name__="DataTabulator",D.__module__="panel.models.tabulator",r.prototype.default_view=k,r.define((({Any:t,List:e,Bool:s,Nullable:o,Float:l,Ref:n,Str:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(g.TableColumn)),[]],download:[s,!1],editable:[s,!0],expanded:[e(l),[]],filename:[a,"table.csv"],filters:[e(t),[]],follow:[s,!0],frozen_rows:[e(l),[]],groupby:[e(a),[]],hidden_columns:[e(a),[]],indexes:[e(a),[]],layout:[i.TableLayout,"fit_data"],max_page:[l,0],pagination:[o(a),null],page:[l,0],page_size:[l,0],select_mode:[t,!0],selectable_rows:[o(e(l)),null],source:[n(m.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
63
+ "2a91633c5c": function _(t,e,i,s,o){var l,n,a,r;s();const d=t("@bokehjs/core/dom"),h=t("@bokehjs/core/util/types"),c=t("@bokehjs/core/bokeh_events"),u=t("@bokehjs/core/dom"),_=t("@bokehjs/core/kinds"),m=t("@bokehjs/models/sources/column_data_source"),g=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("d0a63056c9"),b=t("be689f0377"),w=t("73d6aee8f5");class y extends c.ModelEvent{constructor(t,e,i){super(),this.column=t,this.row=e,this.pre=i}get event_values(){return{model:this.origin,column:this.column,row:this.row,pre:this.pre}}}i.TableEditEvent=y,l=y,y.__name__="TableEditEvent",l.prototype.event_name="table-edit";class x extends c.ModelEvent{constructor(t,e){super(),this.column=t,this.row=e}get event_values(){return{model:this.origin,column:this.column,row:this.row}}}i.CellClickEvent=x,n=x,x.__name__="CellClickEvent",n.prototype.event_name="cell-click";class v extends c.ModelEvent{constructor(t,e,i=!1){super(),this.indices=t,this.selected=e,this.flush=i}get event_values(){return{model:this.origin,indices:this.indices,selected:this.selected,flush:this.flush}}}function S(t,e,i){for(const s of i)if(s[t]==e)return s;return null}function C(t,e,i,s=0){const o={};if(0==t.length)return o;const l=i[s];for(const n of t){const t=C(n._children,e,i,s+1);for(const e in t)(0,h.isArray)(t[e])?n[e]=t[e].reduce(((t,e)=>t+e),0)/t[e].length:n[e]=t[e];for(const t of e.slice(1)){const e=n[t.field];if(t.field in o){const i=o[t.field];"min"===l?o[t.field]=Math.min(e,i):"max"===l?o[t.field]=Math.max(e,i):"sum"===l?o[t.field]=e+i:"mean"===l&&((0,h.isArray)(o[t.field])?o[t.field].push(e):o[t.field]=[i,e])}else o[t.field]=e}}return o}function T(t,e,i,s){const o=[],l=e[0].field;for(const s of t){const t=s[i[0]];let n=S(l,t,o);null==n&&(n={_children:[]},n[l]=t,o.push(n));let a=n;const r={};for(const t of i.slice(1)){a=S(l,s[t],a._children),null==a&&(a={_children:[]},a[l]=s[t],n._children.push(a)),r[t]=n;for(const t of e.slice(1))a[t.field]=s[t];n=a}for(const t of e.slice(1))a[t.field]=s[t.field]}const n=[];for(const t of i)n.push(t in s?s[t]:"sum");return C(o,e,n),o}i.SelectionEvent=v,a=v,v.__name__="SelectionEvent",a.prototype.event_name="selection-change";const z=function(t,e,i,s,o,l,n){let a;a=0;const r={zone:new window.luxon.IANAZone("UTC")};if(t="-9223372036854776"==String(t)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(t,r),e="-9223372036854776"==String(e)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(e,r),t.isValid){if(e.isValid)return t-e;a=1}else a=e.isValid?-1:0;return a*=-1,a},M=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","date"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a},E=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd'T'T");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd'T'T",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","datetime-local"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a};class k extends w.HTMLBoxView{constructor(){super(...arguments),this.columns=new Map,this.container=null,this._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._lastHorizontalScrollbarLeftPosition=0,this._applied_styles=!1,this._building=!1,this._debounced_redraw=null,this._restore_scroll=!1}connect_signals(){super.connect_signals(),this._debounced_redraw=(0,f.debounce)((()=>this._resize_redraw()),20,!1);const{configuration:t,layout:e,columns:i,groupby:s,visible:o,download:l,children:n,expanded:a,cell_styles:r,hidden_columns:d,page_size:h,page:c,max_page:u,frozen_rows:_,sorters:m,theme_classes:g}=this.model.properties;this.on_change([t,e,s],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.on_change(o,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change(i,(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.on_change(l,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.on_change(n,(()=>this.renderChildren())),this.on_change(a,(()=>{for(const t of this.tabulator.rowManager.getRows())t.cells.length>0&&t.cells[0].layoutElement();for(const t of this.tabulator.rowManager.getRows())if(t.cells.length>0){const e=t.data._index,i=this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc";t.cells[1].element.innerText=i}})),this.on_change(r,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.on_change(d,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.on_change(h,(()=>this.setPageSize())),this.on_change(c,(()=>{this._updating_page||this.setPage()})),this.on_change(o,(()=>this.setVisibility())),this.on_change(u,(()=>this.setMaxPage())),this.on_change(_,(()=>this.setFrozen())),this.on_change(m,(()=>this.setSorters())),this.on_change(g,(()=>this.setCSSClasses(this.tabulator.element))),this.on_change(this.model.source.properties.data,(()=>{void 0!==this.tabulator&&(this._selection_updating=!0,this.setData(),this._selection_updating=!1,this.postUpdate())})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>{const t=this.model.source.selected.indices;this.updateOrAddData(),this.record_scroll(),this.model.source.selected.indices=t})),this.connect(this.model.source.selected.change,(()=>this.setSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.setSelection()))}get groupBy(){return this.model.groupby.length>0&&(t=>{const e=[];for(const i of this.model.groupby){const s=`${i}: ${t[i]}`;e.push(s)}return e.join(", ")})}get sorters(){const t=[];this.model.sorters.length>0&&t.push({column:"_index",dir:"asc"});for(const e of this.model.sorters.reverse())void 0===e.column&&(e.column=e.field),t.push(e);return t}invalidate_render(){this.tabulator.destroy(),this.tabulator=null,this.render()}redraw(t=!0,e=!0){this._building||(t&&null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),e&&null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()),this._restore_scroll=!0)}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}after_resize(){super.after_resize(),this._debounced_redraw()}_resize_redraw(){if(this._initializing||!this.container||this._building)return;const t=this.container.clientWidth,e=this.container.clientHeight;t&&e&&(this.redraw(!0,!0),this.restore_scroll())}setCSSClasses(t){t.className="pnx-tabulator tabulator";for(const e of this.model.theme_classes)t.classList.add(e)}render(){null!=this.tabulator&&this.tabulator.destroy(),super.render(),this._initializing=!0;const t=(0,u.div)({style:"display: contents;"}),e=(0,u.div)({style:"width: 100%; height: 100%; visibility: hidden;"});this.container=e,this.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);const i=this.getConfiguration();this.tabulator=new Tabulator(e,i),this.watch_stylesheets(),this.init_callbacks()}style_redraw(){this.model.visible&&(this.tabulator.element.style.visibility="visible"),this._initializing||this._building||this.redraw()}tableInit(){this._building=!0;this.tabulator.modules.ajax.sendRequest=(t,e,i)=>this.requestPage(e.page,e.sort),this.tabulator.modules.page._parseRemoteData=()=>!1}init_callbacks(){this.tabulator.on("tableBuilding",(()=>this.tableInit())),this.tabulator.on("tableBuilt",(()=>this.tableBuilt())),this.tabulator.on("selectableCheck",(t=>{const e=this.model.selectable_rows;return null==e||e.includes(t._row.data._index)})),this.tabulator.on("tooltips",(t=>`${t.getColumn().getField()}: ${t.getValue()}`)),this.tabulator.on("scrollVertical",(0,f.debounce)((()=>{this.record_scroll(),this.setStyles()}),50,!1)),this.tabulator.on("scrollHorizontal",(0,f.debounce)((()=>{this.record_scroll()}),50,!1)),this.tabulator.on("rowSelectionChanged",((t,e,i,s)=>this.rowSelectionChanged(t,e,i,s))),this.tabulator.on("rowClick",((t,e)=>this.rowClicked(t,e))),this.tabulator.on("cellEdited",(t=>this.cellEdited(t))),this.tabulator.on("dataFiltering",(t=>{this.record_scroll(),this.model.filters=t})),this.tabulator.on("dataFiltered",((t,e)=>{this._building||(0===e.length&&this.tabulator.rowManager.renderEmptyScroll(),this.updatePage(this.tabulator.getPage()))})),this.tabulator.on("pageLoaded",(t=>{this.updatePage(t)})),this.tabulator.on("renderComplete",(()=>{this._building||this.postUpdate()})),this.tabulator.on("dataSorting",(t=>{const e=[];for(const i of t)"_index"!==i.field&&e.push({field:i.field,dir:i.dir});"remote"!==this.model.pagination&&(this._updating_sort=!0,this.model.sorters=e,this._updating_sort=!1)}))}tableBuilt(){this._building=!1,this.setSelection(),this.renderChildren(),this.setStyles(),this.model.pagination&&(this.setMaxPage(),this.tabulator.setPage(this.model.page))}requestPage(t,e){return new Promise(((i,s)=>{try{if(null!=t&&null!=e){this._updating_sort=!0;const i=[];for(const t of e)"_index"!==t.field&&i.push({field:t.field,dir:t.dir});this.model.sorters=i,this._updating_sort=!1,this._updating_page=!0;try{this.model.page=t||1}finally{this._updating_page=!1}}i([])}catch(t){s(t)}}))}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){const t="toggle"===this.model.select_mode||NaN,e={...this.model.configuration,index:"_index",nestedFieldSeparator:!1,movableColumns:!1,selectable:t,columns:this.getColumns(),initialSort:this.sorters,layout:this.getLayout(),pagination:null!=this.model.pagination,paginationMode:this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1,groupBy:this.groupBy,rowFormatter:t=>this._render_row(t),frozenRows:t=>this.model.frozen_rows.length>0&&this.model.frozen_rows.includes(t._row.data._index)};"remote"===this.model.pagination&&(e.ajaxURL="http://panel.pyviz.org",e.sortMode="remote");const i=this.model.source;let s;return s=null===i||0===i.columns().length?[]:(0,b.transform_cds_to_records)(i,!0),e.dataTree&&(s=T(s,this.model.columns,this.model.indexes,this.model.aggregators)),{...e,data:s}}get child_models(){const t=[];for(const e of this.model.expanded){const i=this.model.children.get(e);null!=i&&t.push(i)}return t}renderChildren(){new Promise((async t=>{await this.build_child_views(),t(null)})).then((()=>{for(const t of this.model.expanded){const e=this.tabulator.getRow(t);this._render_row(e,!1)}this._update_children(),null!=this.tabulator.rowManager.renderer&&this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout()}))}_render_row(t,e=!0){const i=t._row?.data._index;if(!this.model.expanded.includes(i)||null==this.model.children.get(i))return;const s=this.model.children.get(i),o=null==s?null:this._child_views.get(s);if(null==o)return;const l=t.getElement(),n=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,a=l.style.paddingLeft?`-${l.style.paddingLeft}`:"0",r=(0,u.div)({style:`background-color: ${n}; margin-left:${a}; max-width: 100%; overflow-x: hidden;`});r.appendChild(o.el),l.appendChild(r),o.has_finished()||(o.render(),o.after_render()),e&&(this._update_children(),this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout())}_expand_render(t){const e=t._cell.row.data._index;return`<i>${this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc"}</i>`}_update_expand(t){const e=t._cell.row.data._index,i=[...this.model.expanded],s=i.indexOf(e);if(s<0)i.push(e);else{const t=i.splice(s,1)[0],e=this.model.children.get(t);if(null!=e){const t=this._child_views.get(e);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=i,i.indexOf(e)<0)return;let o=!0;for(const t of this.model.expanded)if(null==this.model.children.get(t)){o=!1;break}o&&this.renderChildren()}getData(){let t=(0,b.transform_cds_to_records)(this.model.source,!0);return this.model.configuration.dataTree&&(t=T(t,this.model.columns,this.model.indexes,this.model.aggregators)),t}getColumns(){this.columns=new Map;const t=this.model.configuration?.columns,e=[];if(e.push({field:"_index",frozen:!0,visible:!1}),null!=t)for(const i of t)if(null!=i.columns){const t=[];for(const e of i.columns)t.push({...e});e.push({...i,columns:t})}else if("expand"===i.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};e.push(t)}else{const t={...i};"rowSelection"===t.formatter&&(t.cellClick=(t,e)=>{e.getRow().toggleSelect()}),e.push(t)}for(const i of this.model.columns){let s=null;if(null!=t)for(const t of e)if(null!=t.columns){for(const e of t.columns)if(i.field===e.field){s=e;break}if(null!=s)break}else if(i.field===t.field){s=t;break}if(null==s&&(s={field:i.field}),this.columns.set(i.field,s),null==s.title&&(s.title=i.title),null==s.width&&null!=i.width&&0!=i.width&&(s.width=i.width),null==s.formatter&&null!=i.formatter){const t=i.formatter.type;s.formatter="BooleanFormatter"===t?"tickCross":t=>{const e=t.getRow(),s=i.formatter.doFormat(t.getRow(),t,t.getValue(),null,e.getData());if("HTMLTemplateFormatter"===i.formatter.type)return s;const o=(0,u.div)();o.innerHTML=s;const l=o.children[0];return"function(){return c.convert(arguments)}"===l.innerHTML?"":l}}"timestamp"==s.sorter&&(s.sorter=z),void 0===s.sorter&&(s.sorter="string");const o=i.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=M:"datetime"===s.editor&&(s.editor=E):"StringEditor"===l?o.completions.length>0?(s.editor="list",s.editorParams={values:o.completions,autocomplete:!0,listOnEmpty:!0}):s.editor="input":"TextEditor"===l?s.editor="textarea":"IntEditor"===l||"NumberEditor"===l?(s.editor="number",s.editorParams={step:o.step},s.validator="IntEditor"===l?"integer":"numeric"):"CheckboxEditor"===l?s.editor="tickCross":"DateEditor"===l?s.editor=M:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(t,e,s,o)=>{this.renderEditor(i,t,e,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(i.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&(0,h.isBoolean)(s.headerFilter)&&(0,h.isString)(s.editor)&&(s.headerFilter=s.editor,s.headerFilterParams=s.editorParams);for(const t of this.model.sorters)s.field===t.field&&(s.headerSortStartingDir=t.dir);s.cellClick=(t,e)=>{const s=e.getData()._index,o=new x(i.field,s);this.model.trigger_event(o)},null==t&&e.push(s)}for(const t in this.model.buttons){const i={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new x(t,s);this.model.trigger_event(o)}};e.push(i)}return e}renderEditor(t,e,i,s,o){const l=t.editor,n=new l.default_view({column:t,model:l,parent:this,container:e._cell.element});return n.initialize(),n.connect_signals(),i((()=>{n.setValue(e.getValue())})),n.inputEl.addEventListener("input",(()=>{const t=n.serializeValue(),i=e.getValue(),l=n.validate();l.valid||o(l.msg),null!=i&&typeof t!=typeof i?o("Mismatching type"):s(n.serializeValue())})),n.inputEl}setData(){if(this._initializing||this._building||!this.tabulator.initialized)return;const t=this.getData();null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t)}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1],i=e?.data._index||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles(),this._restore_scroll&&(this.restore_scroll(),this._restore_scroll=!1)}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=`${this.tabulator.element.offsetHeight}px`;const e=(0,b.transform_cds_to_records)(this.model.source,!0);this.tabulator.setData(e).then((()=>{this.tabulator.element.style.minHeight=t}))}setFrozen(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}setVisibility(){null!=this.tabulator&&(this.tabulator.element.style.visibility=this.model.visible?"visible":"hidden")}updatePage(t){"local"===this.model.pagination&&this.model.page!==t&&(this._updating_page=!0,this.model.page=t,this._updating_page=!1,this.setStyles())}setGroupBy(){this.tabulator.setGroupBy(this.groupBy)}setSorters(){this._updating_sort||this.tabulator.setSort(this.sorters)}setStyles(){const t=this.model.cell_styles.data;if(null!=this.tabulator&&0!=this.tabulator.getDataCount()&&null!=t&&t.size){this._applied_styles=!1;for(const e of t.keys()){const i=t.get(e),s=this.tabulator.getRow(e);if(!s)continue;const o=s._row.cells;for(const t of i.keys()){const e=i.get(t),s=o[t];if(null==s||!e.length)continue;const l=s.element;for(const t of e){let e,i;if((0,h.isArray)(t))[e,i]=t;else{if(!t.includes(":"))continue;[e,i]=t.split(":")}l.style.setProperty(e,i.trimLeft()),this._applied_styles=!0}}}}}setHidden(){for(const t of this.tabulator.getColumns()){const e=t._column;"_index"==e.field||this.model.hidden_columns.includes(e.field)?t.hide():t.show()}}setMaxPage(){this.tabulator.setMaxPage(this.model.max_page),this.tabulator.modules.page.pagesElement&&this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(Math.min(this.model.max_page,this.model.page)),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setPageSize(){this.tabulator.setPageSize(this.model.page_size),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setSelection(){if(null==this.tabulator||this._initializing||this._selection_updating||!this.tabulator.initialized)return;const t=this.model.source.selected.indices,e=this.tabulator.getSelectedData().map((t=>t._index));if(JSON.stringify(t)!=JSON.stringify(e)){this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t);for(const e of t){this.tabulator.rowManager.findRow(e)&&this.tabulator.scrollToRow(e,"center",!1).catch((()=>{}))}this._selection_updating=!1}}restore_scroll(){const t={top:this._lastVerticalScrollbarTopPosition,left:this._lastHorizontalScrollbarLeftPosition,behavior:"instant"};setTimeout((()=>this.tabulator.rowManager.element.scrollTo(t)),0)}record_scroll(){this._lastVerticalScrollbarTopPosition=this.tabulator.rowManager.element.scrollTop,this._lastHorizontalScrollbarLeftPosition=this.tabulator.rowManager.element.scrollLeft}rowClicked(t,e){if(this._selection_updating||this._initializing||(0,h.isString)(this.model.select_mode)||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===t.srcElement?.innerText)return;let i=[];const s=this.model.source.selected,o=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(o),l=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<=o;e++)i.push(e);else for(let e=t;e>=o;e--)i.push(e)}else i.push(o);return this._selection_updating=!0,this.model.trigger_event(new v(i,e,l)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)i=[...this.model.source.selected.indices];else if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<o;e++)i.push(e);else for(let e=t;e>o;e--)i.push(e)}if(i.indexOf(o)<0?i.push(o):i.splice(i.indexOf(o),1),(0,h.isNumber)(this.model.select_mode))for(;i.length>this.model.select_mode;)i.shift();const l=this._filter_selected(i);this.tabulator.deselectRow(),this.tabulator.selectRow(l),this._selection_updating=!0,s.indices=l,this._selection_updating=!1}_filter_selected(t){const e=[];for(const i of t)(null==this.model.selectable_rows||this.model.selectable_rows.indexOf(i)>=0)&&e.push(i);return e}rowSelectionChanged(t,e,i,s){if(!(this._selection_updating||this._initializing||(0,h.isBoolean)(this.model.select_mode)||(0,h.isNumber)(this.model.select_mode)||this.model.configuration.dataTree)){if("remote"===this.model.pagination){const t=i.map((t=>t._row.data._index)),e=s.map((t=>t._row.data._index));t.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(e,!1,!1)))}else{const e=t.map((t=>t._index)),i=this._filter_selected(e);this._selection_updating=e.length===i.length,this.model.source.selected.indices=i}this._selection_updating=!1}}cellEdited(t){const e=t._cell.column.field,i=this.columns.get(e),s=t.getData()._index,o=t._cell.value;if("numeric"!==i.validator||""!==o){this._tabulator_cell_updating=!0,p.comm_settings.debounce=!1,this.model.trigger_event(new y(e,s,!0));try{this.model.source.patch({[e]:[[s,o]]})}finally{p.comm_settings.debounce=!0,this._tabulator_cell_updating=!1}this.model.trigger_event(new y(e,s,!1)),this.tabulator.scrollToRow(s,"top",!1)}else t.setValue(NaN,!0)}}i.DataTabulatorView=k,k.__name__="DataTabulatorView",i.TableLayout=(0,_.Enum)("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class D extends w.HTMLBox{constructor(t){super(t)}}i.DataTabulator=D,r=D,D.__name__="DataTabulator",D.__module__="panel.models.tabulator",r.prototype.default_view=k,r.define((({Any:t,List:e,Bool:s,Nullable:o,Float:l,Ref:n,Str:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(g.TableColumn)),[]],download:[s,!1],editable:[s,!0],expanded:[e(l),[]],filename:[a,"table.csv"],filters:[e(t),[]],follow:[s,!0],frozen_rows:[e(l),[]],groupby:[e(a),[]],hidden_columns:[e(a),[]],indexes:[e(a),[]],layout:[i.TableLayout,"fit_data"],max_page:[l,0],pagination:[o(a),null],page:[l,0],page_size:[l,0],select_mode:[t,!0],selectable_rows:[o(e(l)),null],source:[n(m.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
64
64
  "99a25e6992": function _(n,l,u,t,e){function o(n,l,u){var t,e,o,a,r;function i(){var c=Date.now()-a;c<l&&c>=0?t=setTimeout(i,l-c):(t=null,u||(r=n.apply(o,e),o=e=null))}null==l&&(l=100);var c=function(){o=this,e=arguments,a=Date.now();var c=u&&!t;return t||(t=setTimeout(i,l)),c&&(r=n.apply(o,e),o=e=null),r};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(r=n.apply(o,e),o=e=null,clearTimeout(t),t=null)},c}o.debounce=o,l.exports=o},
65
65
  "be689f0377": function _(n,e,t,l,o){l();const s=n("@bokehjs/core/util/types");t.transform_cds_to_records=function(n,e=!1,t=0){const l=[],o=n.columns(),r=n.get_length();if(0===o.length||null===r)return[];for(let c=t;c<r;c++){const t={};for(const e of o){const l=n.get_array(e),o=null==l[0]||null==l[0].shape?null:l[0].shape;if(null!=o&&o.length>1&&(0,s.isNumber)(o[0]))t[e]=l.slice(c*o[1],c*o[1]+o[1]);else if(l.length!=r&&l.length%r==0){const n=l.length/r;t[e]=l.slice(c*n,c*n+n)}else t[e]=l[c]}e&&(t._index=c),l.push(t)}return l},t.dict_to_records=function(n,e=!0){for(let t=0;t<n.index.length;t++){const l={};for(const o of n)(e||"index"!==o)&&(l[o]=n[o][t])}return[]}},
66
66
  "ddf98634bb": function _(e,t,i,s,n){var o;s();const a=e("tslib"),l=a.__importDefault(e("1156ddcec2")),r=e("@bokehjs/models/widgets/input_widget"),d=e("@bokehjs/core/dom"),c=e("@bokehjs/core/enums"),h=e("@bokehjs/core/util/types"),_=a.__importStar(e("@bokehjs/styles/widgets/inputs.css")),m=a.__importDefault(e("@bokehjs/styles/widgets/flatpickr.css"));function p(e){const t=[];for(const i of e)if((0,h.isString)(i))t.push(i);else{const[e,s]=i;t.push({from:e,to:s})}return t}class u extends r.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:s,enabled_dates:n,inline:o,enable_time:a,enable_seconds:l,military_time:r,date_format:d,mode:c}=this.model.properties;this.on_change(e,(()=>this.model.value?this._picker?.setDate(this.model.value):this._clear())),this.on_change(t,(()=>this._picker?.set("minDate",this.model.min_date))),this.on_change(i,(()=>this._picker?.set("maxDate",this.model.max_date))),this.on_change(s,(()=>{const{disabled_dates:e}=this.model;this._picker?.set("disable",null!=e?p(e):[])})),this.on_change(n,(()=>{const{enabled_dates:e}=this.model;null!=e?this._picker?.set("enable",p(e)):this._picker&&(this._picker.config._enable=void 0,this._picker.redraw(),this._picker.updateValue(!0))})),this.on_change(o,(()=>this._picker?.set("inline",this.model.inline))),this.on_change(a,(()=>this._picker?.set("enableTime",this.model.enable_time))),this.on_change(l,(()=>this._picker?.set("enableSeconds",this.model.enable_seconds))),this.on_change(r,(()=>this._picker?.set("time_24hr",this.model.military_time))),this.on_change(c,(()=>this._picker?.set("mode",this.model.mode))),this.on_change(d,(()=>this._picker?.set("dateFormat",this.model.date_format)))}remove(){this._picker?.destroy(),super.remove()}stylesheets(){return[...super.stylesheets(),m.default]}_render_input(){return this.input_el=(0,d.input)({type:"text",class:_.input,disabled:this.model.disabled})}render(){if(null!=this._picker)return;super.render();const e={appendTo:this.group_el,positionElement:this.input_el,defaultDate:this.model.value,inline:this.model.inline,position:this._position.bind(this),enableTime:this.model.enable_time,enableSeconds:this.model.enable_seconds,time_24hr:this.model.military_time,dateFormat:this.model.date_format,mode:this.model.mode,onClose:(e,t,i)=>this._on_close(e,t,i)},{min_date:t,max_date:i,disabled_dates:s,enabled_dates:n}=this.model;null!=t&&(e.minDate=t),null!=i&&(e.maxDate=i),null!=s&&(e.disable=p(s)),null!=n&&(e.enable=p(n)),this._picker=(0,l.default)(this.input_el,e),this._picker.maxDateHasTime=!0,this._picker.minDateHasTime=!0}_clear(){this._picker?.clear(),this.model.value=null}_on_close(e,t,i){("range"!=this.model.mode||t.includes("to"))&&(this.model.value=t,this.change_input())}_position(e,t){const i=t??e._positionElement,s=[...e.calendarContainer.children].reduce(((e,t)=>e+(0,d.bounding_box)(t).height),0),n=e.calendarContainer.offsetWidth,o=this.model.position.split(" "),a=o[0],l=o.length>1?o[1]:null,r=i.offsetTop,c=i.offsetTop+i.offsetHeight,h=i.offsetLeft,_=i.offsetLeft+i.offsetWidth,m=i.offsetWidth,p=window.innerHeight-c,u="above"===a||"below"!==a&&p<s&&r>s,f=e.config.appendTo?r+(u?-s-2:i.offsetHeight+2):window.scrollY+r+(u?-s-2:i.offsetHeight+2);if(e.calendarContainer.classList.toggle("arrowTop",!u),e.calendarContainer.classList.toggle("arrowBottom",u),e.config.inline)return;let g=window.scrollX+h,b=!1,k=!1;"center"===l?(g-=(n-m)/2,b=!0):"right"===l&&(g-=n-m,k=!0),e.calendarContainer.classList.toggle("arrowLeft",!b&&!k),e.calendarContainer.classList.toggle("arrowCenter",b),e.calendarContainer.classList.toggle("arrowRight",k);const w=window.document.body.offsetWidth-(window.scrollX+_),y=g+n>window.document.body.offsetWidth,C=w+n>window.document.body.offsetWidth;if(e.calendarContainer.classList.toggle("rightMost",y),!e.config.static)if(e.calendarContainer.style.top=`${f}px`,y)if(C){const t=this.shadow_el.styleSheets[0],i=window.document.body.offsetWidth,s=Math.max(0,i/2-n/2),o=".flatpickr-calendar.centerMost:before",a=".flatpickr-calendar.centerMost:after",l=t.cssRules.length,r=`{left:${h}px;right:auto;}`;e.calendarContainer.classList.toggle("rightMost",!1),e.calendarContainer.classList.toggle("centerMost",!0),t.insertRule(`${o},${a}${r}`,l),e.calendarContainer.style.left=`${s}px`,e.calendarContainer.style.right="auto"}else e.calendarContainer.style.left="auto",e.calendarContainer.style.right=`${w}px`;else e.calendarContainer.style.left=`${g}px`,e.calendarContainer.style.right="auto"}}i.DatetimePickerView=u,u.__name__="DatetimePickerView";class f extends r.InputWidget{constructor(e){super(e)}}i.DatetimePicker=f,o=f,f.__name__="DatetimePicker",f.__module__="panel.models.datetime_picker",o.prototype.default_view=u,o.define((({Bool:e,Str:t,List:i,Tuple:s,Or:n,Nullable:o})=>{const a=i(n(t,s(t,t)));return{value:[o(t),null],min_date:[o(t),null],max_date:[o(t),null],disabled_dates:[o(a),null],enabled_dates:[o(a),null],position:[c.CalendarPosition,"auto"],inline:[e,!1],enable_time:[e,!0],enable_seconds:[e,!0],military_time:[e,!0],date_format:[t,"Y-m-d H:i:S"],mode:[t,"single"]}}))},
@@ -185,4 +185,4 @@ function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.pa
185
185
  "4797a2858f": function _(e,t,i,s,n){var r;s();const o=e("b06d05fa3e"),a=e("df9946ff52");class l extends o.AbstractVTKView{connect_signals(){super.connect_signals();const{data:e,colormap:t,shadow:i,sampling:s,edge_gradient:n,rescale:r,ambient:o,diffuse:l,camera:d,specular:_,specular_power:c,display_volume:h,display_slices:g,slice_i:p,slice_j:m,slice_k:u,render_background:v,interpolation:w,controller_expanded:y,nan_opacity:k}=this.model.properties;this.on_change(e,(()=>{this._vtk_image_data=(0,a.data2VTKImageData)(this.model.data),this.invalidate_render()})),this.on_change(t,(()=>{this.colormap_selector.value=this.model.colormap;const e=new Event("change");this.colormap_selector.dispatchEvent(e)})),this.on_change(i,(()=>{this.shadow_selector.value=this.model.shadow?"1":"0";const e=new Event("change");this.shadow_selector.dispatchEvent(e)})),this.on_change(s,(()=>{this.sampling_slider.value=this.model.sampling.toFixed(2);const e=new Event("input");this.sampling_slider.dispatchEvent(e)})),this.on_change(n,(()=>{this.edge_gradient_slider.value=this.model.edge_gradient.toFixed(2);const e=new Event("input");this.edge_gradient_slider.dispatchEvent(e)})),this.on_change(r,(()=>{this._controllerWidget.setRescaleColorMap(this.model.rescale),this._vtk_renwin.getRenderWindow().render()})),this.on_change(o,(()=>{this.volume.getProperty().setAmbient(this.model.ambient),this._vtk_renwin.getRenderWindow().render()})),this.on_change(l,(()=>{this.volume.getProperty().setDiffuse(this.model.diffuse),this._vtk_renwin.getRenderWindow().render()})),this.on_change(d,(()=>{this._setting_camera||(this._set_camera_state(),this._vtk_renwin.getRenderWindow().render())})),this.on_change(_,(()=>{this.volume.getProperty().setSpecular(this.model.specular),this._vtk_renwin.getRenderWindow().render()})),this.on_change(c,(()=>{this.volume.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderWindow().render()})),this.on_change(h,(()=>{this._set_volume_visibility(this.model.display_volume),this._vtk_renwin.getRenderWindow().render()})),this.on_change(g,(()=>{this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderWindow().render()})),this.on_change(p,(()=>{void 0!==this.image_actor_i&&(this.image_actor_i.getMapper().setISlice(this.model.slice_i),this._vtk_renwin.getRenderWindow().render())})),this.on_change(m,(()=>{void 0!==this.image_actor_j&&(this.image_actor_j.getMapper().setJSlice(this.model.slice_j),this._vtk_renwin.getRenderWindow().render())})),this.on_change(u,(()=>{void 0!==this.image_actor_k&&(this.image_actor_k.getMapper().setKSlice(this.model.slice_k),this._vtk_renwin.getRenderWindow().render())})),this.on_change(v,(()=>{this._vtk_renwin.getRenderer().setBackground(...(0,a.hexToRGB)(this.model.render_background)),this._vtk_renwin.getRenderWindow().render()})),this.on_change(w,(()=>{this._set_interpolation(this.model.interpolation),this._vtk_renwin.getRenderWindow().render()})),this.on_change(y,(()=>{null!=this._controllerWidget&&this._controllerWidget.setExpanded(this.model.controller_expanded)})),this.on_change(k,(()=>{const e=this.image_actor_i.getProperty().getScalarOpacity();e.get(["nodes"]).nodes[0].y=this.model.nan_opacity,e.modified(),this._vtk_renwin.getRenderWindow().render()}))}render(){this._vtk_renwin=null,this._orientationWidget=null,this._axes=null,super.render(),this._create_orientation_widget(),this._set_axes(),this._vtk_renwin.getRenderer().resetCamera(),Object.keys(this.model.camera).length&&this._set_camera_state(),this._get_camera_state()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=a.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this.shadow_el,container:this._vtk_container})}plot(){this._controllerWidget=a.vtkns.VolumeController.newInstance({size:[400,150],rescaleColorMap:this.model.rescale}),this._plot_volume(),this._plot_slices(),this._controllerWidget.setupContent(this._vtk_renwin.getRenderWindow(),this.volume,!0),this._controllerWidget.setContainer(this.el),this._controllerWidget.setExpanded(this.model.controller_expanded),this._connect_js_controls(),this._vtk_renwin.getRenderWindow().getInteractor(),this._vtk_renwin.getRenderWindow().getInteractor().setDesiredUpdateRate(45),this._set_volume_visibility(this.model.display_volume),this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderer().setBackground(...(0,a.hexToRGB)(this.model.render_background)),this._set_interpolation(this.model.interpolation),this._set_camera_state()}get vtk_image_data(){return this._vtk_image_data||(this._vtk_image_data=(0,a.data2VTKImageData)(this.model.data)),this._vtk_image_data}get volume(){return this._vtk_renwin.getRenderer().getVolumes()[0]}get image_actor_i(){return this._vtk_renwin.getRenderer().getActors()[0]}get image_actor_j(){return this._vtk_renwin.getRenderer().getActors()[1]}get image_actor_k(){return this._vtk_renwin.getRenderer().getActors()[2]}get shadow_selector(){return this.el.querySelector(".js-shadow")}get edge_gradient_slider(){return this.el.querySelector(".js-edge")}get sampling_slider(){return this.el.querySelector(".js-spacing")}get colormap_selector(){return this.el.querySelector(".js-color-preset")}_connect_js_controls(){const{el:e}=this._controllerWidget.get("el");if(void 0!==e){e.querySelector(".js-button").addEventListener("click",(()=>this.model.controller_expanded=this._controllerWidget.getExpanded()))}this.colormap_selector.addEventListener("change",(()=>{this.model.colormap=this.colormap_selector.value})),this.model.colormap?this.model.properties.colormap.change.emit():this.model.colormap=this.colormap_selector.value,this.shadow_selector.addEventListener("change",(()=>{this.model.shadow=!!Number(this.shadow_selector.value)})),(this.model.shadow=!!Number(this.shadow_selector.value))&&this.model.properties.shadow.change.emit(),this.sampling_slider.addEventListener("input",(()=>{const e=Number(this.sampling_slider.value);Math.abs(this.model.sampling-e)>=.005&&(this.model.sampling=e)})),Math.abs(this.model.sampling-Number(this.shadow_selector.value))>=.005&&this.model.properties.sampling.change.emit(),this.edge_gradient_slider.addEventListener("input",(()=>{const e=Number(this.edge_gradient_slider.value);Math.abs(this.model.edge_gradient-e)>=.005&&(this.model.edge_gradient=e)})),Math.abs(this.model.edge_gradient-Number(this.edge_gradient_slider.value))>=.005&&this.model.properties.edge_gradient.change.emit()}_plot_slices(){const e=this._vtk_image_data,t=a.vtkns.ImageSlice.newInstance(),i=a.vtkns.ImageSlice.newInstance(),s=a.vtkns.ImageSlice.newInstance(),n=a.vtkns.ImageMapper.newInstance(),r=a.vtkns.ImageMapper.newInstance(),o=a.vtkns.ImageMapper.newInstance();n.setInputData(e),n.setISlice(this.model.slice_i),t.setMapper(n),r.setInputData(e),r.setJSlice(this.model.slice_j),i.setMapper(r),o.setInputData(e),o.setKSlice(this.model.slice_k),s.setMapper(o);const l=a.vtkns.PiecewiseFunction.newInstance(),d=this.volume.getProperty().getRGBTransferFunction(0),_=this.volume.getMapper().getInputData().getPointData().getScalars().getRange();l.removeAllPoints(),l.addPoint(_[0]-1,this.model.nan_opacity),l.addPoint(_[0],1),l.addPoint(_[1],1);const c=t.getProperty();i.setProperty(c),s.setProperty(c),c.setRGBTransferFunction(d),c.setScalarOpacity(l);const h=this._vtk_renwin.getRenderer();h.addActor(t),h.addActor(i),h.addActor(s)}_plot_volume(){const e=this.vtk_image_data,t=a.vtkns.Volume.newInstance(),i=a.vtkns.VolumeMapper.newInstance();t.setMapper(i),i.setInputData(e);const s=(e.getPointData().getScalars()||e.getPointData().getArrays()[0]).getRange(),n=a.vtkns.ColorTransferFunction.newInstance();if(null!=this.model.colormap){const e=a.vtkns.ColorTransferFunction.vtkColorMaps.getPresetByName(this.model.colormap);n.applyColorMap(e)}n.onModified((()=>this.model.mapper=(0,a.vtkLutToMapper)(n)));const r=a.vtkns.PiecewiseFunction.newInstance(),o=.7*Math.sqrt(e.getSpacing().map((e=>e*e)).reduce(((e,t)=>e+t),0));i.setSampleDistance(o),t.getProperty().setRGBTransferFunction(0,n),t.getProperty().setScalarOpacity(0,r),t.getProperty().setInterpolationTypeToFastLinear(),t.getProperty().setScalarOpacityUnitDistance(0,a.vtkns.BoundingBox.getDiagonalLength(e.getBounds())/Math.max(...e.getDimensions())),t.getProperty().setGradientOpacityMinimumValue(0,0),t.getProperty().setGradientOpacityMaximumValue(0,.05*(s[1]-s[0])),t.getProperty().setShade(this.model.shadow),t.getProperty().setUseGradientOpacity(0,!0),t.getProperty().setGradientOpacityMinimumOpacity(0,0),t.getProperty().setGradientOpacityMaximumOpacity(0,1),t.getProperty().setAmbient(this.model.ambient),t.getProperty().setDiffuse(this.model.diffuse),t.getProperty().setSpecular(this.model.specular),t.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderer().addVolume(t)}_set_interpolation(e){"fast_linear"==e?(this.volume.getProperty().setInterpolationTypeToFastLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):"linear"==e?(this.volume.getProperty().setInterpolationTypeToLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):(this.volume.getProperty().setInterpolationTypeToNearest(),this.image_actor_i.getProperty().setInterpolationTypeToNearest())}_set_slices_visibility(e){this.image_actor_i.setVisibility(e),this.image_actor_j.setVisibility(e),this.image_actor_k.setVisibility(e)}_set_volume_visibility(e){this.volume.setVisibility(e)}}i.VTKVolumePlotView=l,l.__name__="VTKVolumePlotView";class d extends o.AbstractVTKPlot{constructor(e){super(e)}}i.VTKVolumePlot=d,r=d,d.__name__="VTKVolumePlot",r.prototype.default_view=l,r.define((({Any:e,Array:t,Boolean:i,Int:s,Number:n,String:r,Struct:o})=>({ambient:[n,.2],colormap:[r],data:[e],diffuse:[n,.7],display_slices:[i,!1],display_volume:[i,!0],edge_gradient:[n,.2],interpolation:[a.Interpolation,"fast_linear"],mapper:[o({palette:t(r),low:n,high:n}),{palette:[],low:0,high:0}],nan_opacity:[n,1],render_background:[r,"#52576e"],rescale:[i,!1],sampling:[n,.4],shadow:[i,!0],slice_i:[s,0],slice_j:[s,0],slice_k:[s,0],specular:[n,.3],specular_power:[n,8],controller_expanded:[i,!0]}))),r.override({height:300,width:300})},
186
186
  "a4e5946204": function _(e,t,n,i,r){var s;i();const _=e("@bokehjs/core/util/object"),o=e("99a25e6992"),c=e("b06d05fa3e"),a=e("5e89c7b3eb"),h=e("df9946ff52"),d="panel";class l extends c.AbstractVTKView{initialize(){super.initialize(),this._renderable=!1,this._synchronizer_context=h.vtkns.SynchronizableRenderWindow.getSynchronizerContext(`${d}-{this.model.id}`)}connect_signals(){super.connect_signals();const{arrays:e,scene:t,one_time_reset:n}=this.model.properties;this.on_change([e,t],(0,o.debounce)((()=>{this._vtk_renwin.delete(),this._vtk_renwin=null,this.invalidate_render()}),20)),this.on_change(n,(()=>{this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters()}))}init_vtk_renwin(){this._vtk_renwin=h.vtkns.FullScreenRenderWindowSynchronized.newInstance({rootContainer:this.el,container:this._vtk_container,synchronizerContext:this._synchronizer_context})}remove(){this._vtk_renwin&&this._vtk_renwin.delete(),super.remove()}plot(){this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters();const e=(0,_.clone)(this.model.scene);this._sync_plot(e,(()=>this._on_scene_ready())).then((()=>{this._set_camera_state(),this._get_camera_state()}))}_on_scene_ready(){this._renderable=!0,this._camera_callbacks.push(this._vtk_renwin.getRenderer().getActiveCamera().onModified((()=>this._vtk_render()))),this._orientationWidget||this._create_orientation_widget(),this._axes||this._set_axes(),this._vtk_renwin.resize(),this._vtk_render()}_sync_plot(e,t){this._renderable=!1,this._unsubscribe_camera_cb(),this._synchronizer_context.setFetchArrayFunction((e=>Promise.resolve(this.model.arrays[e])));const n=this._synchronizer_context.getInstance(this.model.scene.dependencies[0].id);return n&&!this._vtk_renwin.getRenderer()&&this._vtk_renwin.getRenderWindow().addRenderer(n),this._vtk_renwin.getRenderWindow().synchronize(e).then(t)}}n.VTKSynchronizedPlotView=l,l.__name__="VTKSynchronizedPlotView";class v extends c.AbstractVTKPlot{constructor(e){super(e),(0,a.initialize_fullscreen_render)(),this.outline=h.vtkns.OutlineFilter.newInstance();const t=h.vtkns.Mapper.newInstance();t.setInputConnection(this.outline.getOutputPort()),this.outline_actor=h.vtkns.Actor.newInstance(),this.outline_actor.setMapper(t)}getActors(e){let t=this.renderer_el.getRenderer().getActors();if(e){const n=this.renderer_el.getSynchronizerContext(d);t=t.filter((t=>{const i=n.getInstanceId(t);return!!i&&i.slice(-16)==e.slice(1,17)}))}return t}}n.VTKSynchronizedPlot=v,s=v,v.__name__="VTKSynchronizedPlot",v.__module__="panel.models.vtk",s.prototype.default_view=l,s.define((({Any:e,Array:t,Boolean:n,Bytes:i,Dict:r,String:s})=>({arrays:[r(i),{}],arrays_processed:[t(s),[]],enable_keybindings:[n,!1],one_time_reset:[n,!1],rebuild:[n,!1],scene:[e,{}]}))),s.override({height:300,width:300})},
187
187
  "5e89c7b3eb": function _(e,n,o,t,r){t();const i=e("df9946ff52"),l={containerStyle:null,controlPanelStyle:null,listenWindowResize:!0,resizeCallback:null,controllerVisibility:!0,synchronizerContextName:"default"},a={position:"absolute",left:"25px",top:"25px",backgroundColor:"white",borderRadius:"5px",listStyle:"none",padding:"5px 10px",margin:"0",display:"block",border:"solid 1px black",maxWidth:"calc(100vw - 70px)",maxHeight:"calc(100vh - 60px)",overflow:"auto"};o.initialize_fullscreen_render=function(){const e={newInstance:window.vtk.macro.newInstance(((e,n,o={})=>{Object.assign(n,l,o),window.vtk.macro.obj(e,n),window.vtk.macro.get(e,n,["renderWindow","openGLRenderWindow","interactor","rootContainer","container","controlContainer","synchronizerContext"]),function(e,n){n.renderWindow=i.vtkns.SynchronizableRenderWindow.newInstance({synchronizerContext:n.synchronizerContext}),n.openGLRenderWindow=i.vtkns.OpenGLRenderWindow.newInstance(),n.openGLRenderWindow.setContainer(n.container),n.renderWindow.addView(n.openGLRenderWindow),n.interactor=i.vtkns.RenderWindowInteractor.newInstance(),n.interactor.setInteractorStyle(i.vtkns.InteractorStyleTrackballCamera.newInstance()),n.interactor.setView(n.openGLRenderWindow),n.interactor.initialize(),n.interactor.bindEvents(n.container),e.getRenderer=()=>n.renderWindow.getRenderers()[0],e.removeController=()=>{const e=n.controlContainer;e&&e.parentNode.removeChild(e)},e.setControllerVisibility=e=>{n.controllerVisibility=e,n.controlContainer&&(n.controlContainer.style.display=e?"block":"none")},e.toggleControllerVisibility=()=>{e.setControllerVisibility(!n.controllerVisibility)},e.addController=o=>{n.controlContainer=document.createElement("div"),(0,i.applyStyle)(n.controlContainer,n.controlPanelStyle||a),n.rootContainer.appendChild(n.controlContainer),n.controlContainer.innerHTML=o,e.setControllerVisibility(n.controllerVisibility),n.rootContainer.addEventListener("keypress",(n=>{"c"===String.fromCharCode(n.charCode)&&e.toggleControllerVisibility()}))},e.delete=window.vtk.macro.chain(e.setContainer,n.openGLRenderWindow.delete,e.delete),e.resize=()=>{const e=n.container.getBoundingClientRect(),o=window.devicePixelRatio||1;n.openGLRenderWindow.setSize(Math.floor(e.width*o),Math.floor(e.height*o)),n.resizeCallback&&n.resizeCallback(e),n.renderWindow.render()},e.setResizeCallback=o=>{n.resizeCallback=o,e.resize()},n.listenWindowResize&&window.addEventListener("resize",e.resize),e.resize()}(e,n)}))};i.vtkns.FullScreenRenderWindowSynchronized=e}},
188
- }, "4e90918c0a", {"index":"4e90918c0a","models/index":"c463596eac","models/ace":"c780fc99fd","models/layout":"73d6aee8f5","models/audio":"fd59c985b3","models/browser":"85211a0a5b","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"17193475a8","models/card":"aaa0c51c8d","models/column":"aab20b9d6a","styles/models/card.css":"edc7ee0090","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"b99f938ce7","models/customselect":"92bbd30bd1","models/multiselect":"27b5580835","models/tabulator":"2a91633c5c","models/data":"be689f0377","models/datetime_picker":"ddf98634bb","models/deckgl":"dc03aab885","models/tooltips":"f8f8ea4284","models/echarts":"04cbffdfe0","models/event-to-object":"2cc1a33000","models/feed":"976c02c0a8","models/file_download":"3ead851ca6","models/html":"89d2d3667a","models/ipywidget":"8a8089cbf3","models/json":"7eff964d3e","models/jsoneditor":"d57683bd1f","models/katex":"f672d71a9f","models/location":"bd8e0fe48b","models/mathjax":"ec353a3d9a","models/pdf":"cf33f23f5c","models/perspective":"5e11ea757d","styles/models/perspective.css":"2e2913ea54","models/player":"f06104d237","models/plotly":"6f2064dc74","models/util":"27e2a99e99","styles/models/plotly.css":"ce7c8e2a4f","models/progress":"aded75e266","models/quill":"c72e00086f","models/radio_button_group":"25e2d7c208","models/reactive_html":"6cfc3f348e","models/singleselect":"168c4d0ebd","models/speech_to_text":"739cca6576","models/state":"92822cb73a","models/tabs":"2231cdc549","models/terminal":"121f00bd6f","models/text_to_speech":"a04eb51988","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"3584638c04","models/vega":"119dc23765","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"470ce1dcbc","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"4797a2858f","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
188
+ }, "4e90918c0a", {"index":"4e90918c0a","models/index":"c463596eac","models/ace":"c780fc99fd","models/layout":"73d6aee8f5","models/audio":"fd59c985b3","models/browser":"85211a0a5b","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"17193475a8","models/card":"aaa0c51c8d","models/column":"aab20b9d6a","styles/models/card.css":"edc7ee0090","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"d0a63056c9","models/customselect":"92bbd30bd1","models/multiselect":"27b5580835","models/tabulator":"2a91633c5c","models/data":"be689f0377","models/datetime_picker":"ddf98634bb","models/deckgl":"dc03aab885","models/tooltips":"f8f8ea4284","models/echarts":"04cbffdfe0","models/event-to-object":"2cc1a33000","models/feed":"976c02c0a8","models/file_download":"3ead851ca6","models/html":"89d2d3667a","models/ipywidget":"8a8089cbf3","models/json":"7eff964d3e","models/jsoneditor":"d57683bd1f","models/katex":"f672d71a9f","models/location":"bd8e0fe48b","models/mathjax":"ec353a3d9a","models/pdf":"cf33f23f5c","models/perspective":"5e11ea757d","styles/models/perspective.css":"2e2913ea54","models/player":"f06104d237","models/plotly":"6f2064dc74","models/util":"27e2a99e99","styles/models/plotly.css":"ce7c8e2a4f","models/progress":"aded75e266","models/quill":"c72e00086f","models/radio_button_group":"25e2d7c208","models/reactive_html":"6cfc3f348e","models/singleselect":"168c4d0ebd","models/speech_to_text":"739cca6576","models/state":"92822cb73a","models/tabs":"2231cdc549","models/terminal":"121f00bd6f","models/text_to_speech":"a04eb51988","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"3584638c04","models/vega":"119dc23765","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"470ce1dcbc","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"4797a2858f","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holoviz/panel",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "description": "The powerful data exploration & web app framework for Python.",
5
5
  "license": "BSD-3-Clause",
6
6
  "repository": {
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>A646VQN0K0KFZ0R0</RequestId><HostId>HClK4ZD1Qzw2sZYL/3mwuThcUTxdVvTntog6yTVkz6ZazT+Hja+v90DOHWCVN5d6AgAKicNaDKs=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>A646K2FPJN471JXM</RequestId><HostId>JTWREfUXswTKe6oJdIoEj7stM9i6FAGI3ycyfCnvOCniN/F6ekTv1MBshz+DBvCvbWUOK4iJkOs=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>A64EGGHKCKJFZXTP</RequestId><HostId>Srx3S0WD/UbLD6z8B/YyzvHgv2ye5NY7YwQkClvLLMKjH/3qzjVCqwWZOp1H7QPXeFToxUFLUNg=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>A6409Q7FWA7K4SKK</RequestId><HostId>fq6io/x6gHh4Fdnnum7sT6vZ51MguU+4O5IE5otcMGqwg7o9C9nVuTgf1gQgnvyuf8JByeuXmIQ=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>A642W9688M6H473Y</RequestId><HostId>Ysuc6A2s2wg+CrsBHmBIHbvPzLIE0u6IHTd2TtM468f+T9JarYQfAaMHmdp467p9nwlvKG2aadY=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>BTWQCWBB27Q59PAY</RequestId><HostId>GTVKcNSeZzl+ubMDLIDq3M1jK8vPnACcWl8bpq4/XK4MUq9q0oFy3i8zjfsbsJugc3VRu0BWCWM=</HostId></Error>