@holoviz/panel 1.3.6 → 1.3.7-rc.2
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/bundled/datatabulator/tabulator-tables@5.5.0/dist/css/tabulator_fast.min.css +6 -0
- package/dist/bundled/notificationarea/panel/1.3.7-rc.2/dist/bundled/font-awesome/css/all.min.css +2 -0
- package/dist/bundled/panel/1.3.7-rc.2/dist/bundled/bootstrap5/css/bootstrap.min.css +2 -0
- package/dist/bundled/panel/1.3.7-rc.2/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +2 -0
- package/dist/bundled/panel/1.3.7-rc.2/dist/bundled/font-awesome/css/all.min.css +2 -0
- package/dist/bundled/panel/1.3.7-rc.2/dist/bundled/jquery/jquery.slim.min.js +2 -0
- package/dist/bundled/plotlyplot/panel/1.3.7-rc.2/dist/bundled/jquery/jquery.slim.min.js +2 -0
- package/dist/bundled/plotlyplot/plotly-2.25.2.min.js +8 -0
- package/dist/css/button.css +1 -1
- package/dist/css/chat_message.css +30 -2
- package/dist/css/loading.css +2 -0
- package/dist/css/widgetbox.css +0 -2
- package/dist/lib/models/card.js +1 -2
- package/dist/lib/models/card.js.map +1 -1
- package/dist/lib/models/file_download.js +1 -2
- package/dist/lib/models/file_download.js.map +1 -1
- package/dist/lib/models/icon.d.ts +6 -2
- package/dist/lib/models/icon.js +38 -6
- package/dist/lib/models/icon.js.map +1 -1
- package/dist/lib/models/perspective.js +7 -2
- package/dist/lib/models/perspective.js.map +1 -1
- package/dist/lib/models/plotly.js +2 -7
- package/dist/lib/models/plotly.js.map +1 -1
- package/dist/lib/models/quill.js +79 -42
- package/dist/lib/models/quill.js.map +1 -1
- package/dist/lib/models/tabulator.js +2 -0
- package/dist/lib/models/tabulator.js.map +1 -1
- package/dist/lib/models/util.d.ts +1 -0
- package/dist/lib/models/util.js +20 -0
- package/dist/lib/models/util.js.map +1 -1
- package/dist/lib/styles/button.css.js +1 -1
- package/dist/lib/styles/chat_message.css.js +2 -2
- package/dist/lib/styles/loading.css.js +1 -1
- package/dist/lib/styles/widgetbox.css.js +1 -1
- package/dist/panel.js +168 -79
- package/dist/panel.js.map +1 -1
- package/dist/panel.json +1 -1
- package/dist/panel.min.js +11 -11
- package/package.json +2 -2
- package/dist/bundled/notificationarea/panel/1.3.6/dist/bundled/font-awesome/css/all.min.css +0 -2
- package/dist/bundled/panel/1.3.6/dist/bundled/bootstrap5/css/bootstrap.min.css +0 -2
- package/dist/bundled/panel/1.3.6/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +0 -2
- package/dist/bundled/panel/1.3.6/dist/bundled/font-awesome/css/all.min.css +0 -2
- package/dist/bundled/panel/1.3.6/dist/bundled/jquery/jquery.slim.min.js +0 -2
- package/dist/bundled/plotlyplot/panel/1.3.6/dist/bundled/jquery/jquery.slim.min.js +0 -2
- package/dist/bundled/plotlyplot/plotly-2.18.0.min.js +0 -8
package/dist/panel.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Copyright (c) 2012 -
|
|
2
|
+
* Copyright (c) 2012 - 2024, Anaconda, Inc., and Bokeh Contributors
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* Redistribution and use in source and binary forms, with or without modification,
|
|
@@ -42,18 +42,18 @@
|
|
|
42
42
|
})
|
|
43
43
|
({
|
|
44
44
|
"4e90918c0a": function _(e,s,t,o,a){o();const i=e("tslib").__importStar(e("e678554eae"));t.Panel=i;(0,e("@bokehjs/base").register_models)(i)},
|
|
45
|
-
"e678554eae": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("464e3dc85c").AcePlot),c("Audio",e("cfb5b1a85b").Audio),c("BrowserInfo",e("af84f1061d").BrowserInfo),c("Button",e("0e384ee9c4").Button),c("Card",e("
|
|
45
|
+
"e678554eae": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("464e3dc85c").AcePlot),c("Audio",e("cfb5b1a85b").Audio),c("BrowserInfo",e("af84f1061d").BrowserInfo),c("Button",e("0e384ee9c4").Button),c("Card",e("5356bf07b1").Card),c("CheckboxButtonGroup",e("820473477c").CheckboxButtonGroup),c("Column",e("991bd33955").Column),c("CommManager",e("eca6f2cacb").CommManager),c("CustomSelect",e("e258e515be").CustomSelect),c("DataTabulator",e("f7b17ce11c").DataTabulator),c("DatetimePicker",e("5fd6501095").DatetimePicker),c("DeckGLPlot",e("19b5a68a40").DeckGLPlot),c("ECharts",e("7bc4e47bd5").ECharts),c("FileDownload",e("ab30c7afd7").FileDownload),c("HTML",e("3db2e41978").HTML),c("IPyWidget",e("4dfd782539").IPyWidget),c("JSON",e("e954d48822").JSON),c("JSONEditor",e("3c56a75fcf").JSONEditor),c("KaTeX",e("001dfd2dde").KaTeX),c("Location",e("a85ed38ee9").Location),c("MathJax",e("ca760ebc92").MathJax),c("PDF",e("46cccf2270").PDF),c("Perspective",e("8349fbd43e").Perspective),c("Player",e("9148c6a6f9").Player),c("PlotlyPlot",e("dd1700da9e").PlotlyPlot),c("Progress",e("e6caa5bc95").Progress),c("QuillInput",e("361033d351").QuillInput),c("RadioButtonGroup",e("81e6ca704a").RadioButtonGroup),c("ReactiveHTML",e("0590cf2a27").ReactiveHTML),c("SingleSelect",e("665213fba5").SingleSelect),c("SpeechToText",e("7651136c44").SpeechToText),c("State",e("1bb5a1aca6").State),c("Tabs",e("8013e805da").Tabs),c("Terminal",e("4a0674b147").Terminal),c("TextAreaInput",e("59f46adc8c").TextAreaInput),c("TextToSpeech",e("a44f0bd49f").TextToSpeech),c("ToggleIcon",e("81d14820f0").ToggleIcon),c("TooltipIcon",e("74000df4a0").TooltipIcon),c("TrendIndicator",e("c2c4524e04").TrendIndicator),c("VegaPlot",e("b396729d22").VegaPlot),c("Video",e("e6e8c94f32").Video),c("VideoStream",e("2dfabe6882").VideoStream),c("VizzuChart",e("dfe3c4a2a9").VizzuChart),d.__exportStar(e("c51f25e2a7"),t)},
|
|
46
46
|
"464e3dc85c": function _(e,t,i,o,n){var s;o();const a=e("@bokehjs/core/dom"),d=e("cac5f3ed28");class h extends d.HTMLBoxView{initialize(){super.initialize(),this._container=(0,a.div)({id:"_"+Math.random().toString(36).substr(2,9),style:{width:"100%",height:"100%",zIndex:0}})}connect_signals(){super.connect_signals(),this.connect(this.model.properties.code.change,(()=>this._update_code_from_model())),this.connect(this.model.properties.theme.change,(()=>this._update_theme())),this.connect(this.model.properties.language.change,(()=>this._update_language())),this.connect(this.model.properties.filename.change,(()=>this._update_filename())),this.connect(this.model.properties.print_margin.change,(()=>this._update_print_margin())),this.connect(this.model.properties.annotations.change,(()=>this._add_annotations())),this.connect(this.model.properties.readonly.change,(()=>{this._editor.setReadOnly(this.model.readonly)}))}render(){super.render(),this._container!==this.shadow_el.childNodes[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(),this._editor.resize()}}i.AcePlotView=h,h.__name__="AcePlotView";class r extends d.HTMLBox{constructor(e){super(e)}}i.AcePlot=r,s=r,r.__name__="AcePlot",r.__module__="panel.models.ace",s.prototype.default_view=h,s.define((({Any:e,Array:t,Boolean:i,String:o,Nullable:n})=>({code:[o,""],filename:[n(o),null],language:[o,""],theme:[o,"chrome"],annotations:[t(e),[]],readonly:[i,!1],print_margin:[i,!1]}))),s.override({height:300,width:300})},
|
|
47
47
|
"cac5f3ed28": 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],(()=>{r(this.el,this.model),r(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()})))}}style_redraw(){}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string(this.model.text)}render(){super.render(),r(this.el,this.model),this.container=(0,l.div)(),r(this.container,this.model,!1),this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0)}}function r(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=r;class _ 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],(()=>{r(this.el,this.model)}))}render(){super.render(),r(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=_,_.__name__="HTMLBoxView";class c extends d.LayoutDOM{constructor(e){super(e)}}i.HTMLBox=c,c.__name__="HTMLBox"},
|
|
48
48
|
"cfb5b1a85b": function _(e,t,i,o,s){var l;o();const d=e("cac5f3ed28");class u extends d.HTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.loop.change,(()=>this.set_loop())),this.connect(this.model.properties.paused.change,(()=>this.set_paused())),this.connect(this.model.properties.time.change,(()=>this.set_time())),this.connect(this.model.properties.value.change,(()=>this.set_value())),this.connect(this.model.properties.volume.change,(()=>this.set_volume())),this.connect(this.model.properties.muted.change,(()=>this.set_muted())),this.connect(this.model.properties.autoplay.change,(()=>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,d.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=u,u.__name__="AudioView";class a extends d.HTMLBox{constructor(e){super(e)}}i.Audio=a,l=a,a.__name__="Audio",a.__module__="panel.models.widgets",l.prototype.default_view=u,l.define((({Any:e,Boolean:t,Number: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]})))},
|
|
49
49
|
"af84f1061d": function _(e,i,o,n,l){var t;n();const s=e("@bokehjs/core/view"),a=e("@bokehjs/model");class r extends s.View{initialize(){super.initialize(),null!=window.matchMedia&&(this.model.dark_mode=window.matchMedia("(prefers-color-scheme: dark)").matches),this.model.device_pixel_ratio=window.devicePixelRatio,null!=navigator&&(this.model.language=navigator.language,this.model.webdriver=navigator.webdriver);const e=Intl.DateTimeFormat().resolvedOptions().timeZone;null!=e&&(this.model.timezone=e);const i=(new Date).getTimezoneOffset();null!=i&&(this.model.timezone_offset=i),this._has_finished=!0,this.notify_finished()}}o.BrowserInfoView=r,r.__name__="BrowserInfoView";class d extends a.Model{constructor(e){super(e)}}o.BrowserInfo=d,t=d,d.__name__="BrowserInfo",d.__module__="panel.models.browser",t.prototype.default_view=r,t.define((({Boolean:e,Nullable:i,Number:o,String:n})=>({dark_mode:[i(e),null],device_pixel_ratio:[i(o),null],language:[i(n),null],timezone:[i(n),null],timezone_offset:[i(o),null],webdriver:[i(e),null]})))},
|
|
50
50
|
"0e384ee9c4": function _(e,t,o,i,l){var s;i();const n=e("@bokehjs/models/ui/tooltip"),u=e("@bokehjs/core/build_views"),d=e("@bokehjs/models/widgets/button");class r extends d.ButtonView{*children(){yield*super.children(),null!=this.tooltip&&(yield this.tooltip)}async lazy_initialize(){await super.lazy_initialize();const{tooltip:e}=this.model;null!=e&&(this.tooltip=await(0,u.build_view)(e,{parent:this}))}remove(){var e;null===(e=this.tooltip)||void 0===e||e.remove(),super.remove()}render(){super.render();const e=e=>{var t;null===(t=this.tooltip)||void 0===t||t.model.setv({visible:e})};let t;this.el.addEventListener("mouseenter",(()=>{t=setTimeout((()=>e(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(t),e(!1)}))}}o.ButtonView=r,r.__name__="ButtonView";class a extends d.Button{constructor(e){super(e)}}o.Button=a,s=a,a.__name__="Button",a.__module__="panel.models.widgets",s.prototype.default_view=r,s.define((({Nullable:e,Ref:t,Number:o})=>({tooltip:[e(t(n.Tooltip)),null],tooltip_delay:[o,500]})))},
|
|
51
|
-
"
|
|
51
|
+
"5356bf07b1": function _(e,l,s,t,o){t();const a=e("tslib");var d;const i=e("991bd33955"),h=a.__importStar(e("@bokehjs/core/dom"));class n extends i.ColumnView{constructor(){super(...arguments),this.collapsed_style=new h.InlineStyleSheet}connect_signals(){super.connect_signals();const{active_header_background:e,collapsed:l,header_background:s,header_color:t,hide_header:o}=this.model.properties;this.on_change(l,(()=>this._collapse())),this.on_change([t,o],(()=>this.render())),this.on_change([e,l,s],(()=>{const e=this.header_background;null!=e&&(this.child_views[0].el.style.backgroundColor=e,this.header_el.style.backgroundColor=e)}))}*_stylesheets(){yield*super._stylesheets(),yield this.collapsed_style}get header_background(){let e=this.model.header_background;return!this.model.collapsed&&this.model.active_header_background&&(e=this.model.active_header_background),e}render(){this.empty(),this.model.collapsed&&this.collapsed_style.replace(":host",{height:"fit-content",flex:"none"}),this._update_stylesheets(),this._update_css_classes(),this._apply_styles(),this._apply_visible(),this.class_list.add(...this.css_classes());const{button_css_classes:e,header_color:l,header_tag:s,header_css_classes:t}=this.model,o=this.header_background,a=this.child_views[0];let d;if(this.model.collapsible){this.button_el=h.createElement("button",{type:"button",class:t});const l=h.createElement("div",{class:e});l.innerHTML=this.model.collapsed?"\u25ba":"\u25bc",this.button_el.appendChild(l),this.button_el.style.backgroundColor=null!=o?o:"",a.el.style.backgroundColor=null!=o?o:"",this.button_el.appendChild(a.el),this.button_el.onclick=()=>this._toggle_button(),d=this.button_el}else d=h.createElement(s,{class:t}),d.style.backgroundColor=null!=o?o:"",d.appendChild(a.el);if(this.header_el=d,this.model.hide_header||(d.style.color=null!=l?l:"",this.shadow_el.appendChild(d),a.render(),a.after_render()),!this.model.collapsed)for(const e of this.child_views.slice(1))this.shadow_el.appendChild(e.el),e.render(),e.after_render()}async update_children(){await this.build_child_views(),this.render(),this.invalidate_layout()}_toggle_button(){this.model.collapsed=!this.model.collapsed}_collapse(){for(const e of this.child_views.slice(1))this.model.collapsed?(this.shadow_el.removeChild(e.el),e.model.visible=!1):(e.render(),e.after_render(),this.shadow_el.appendChild(e.el),e.model.visible=!0);this.model.collapsed?this.collapsed_style.replace(":host",{height:"fit-content",flex:"none"}):this.collapsed_style.clear(),this.button_el.children[0].innerHTML=this.model.collapsed?"\u25ba":"\u25bc",this.invalidate_layout()}_createElement(){return h.createElement(this.model.tag,{class:this.css_classes()})}}s.CardView=n,n.__name__="CardView";class r extends i.Column{constructor(e){super(e)}}s.Card=r,d=r,r.__name__="Card",r.__module__="panel.models.layout",d.prototype.default_view=n,d.define((({Array:e,Boolean:l,Nullable:s,String:t})=>({active_header_background:[s(t),null],button_css_classes:[e(t),[]],collapsed:[l,!0],collapsible:[l,!0],header_background:[s(t),null],header_color:[s(t),null],header_css_classes:[e(t),[]],header_tag:[t,"div"],hide_header:[l,!1],tag:[t,"div"]})))},
|
|
52
52
|
"991bd33955": function _(t,o,l,s,e){s();const i=t("tslib");var _;const r=t("@bokehjs/models/layouts/column"),n=i.__importStar(t("@bokehjs/core/dom"));class c extends r.ColumnView{connect_signals(){super.connect_signals();const{children:t,scroll_position:o,scroll_button_threshold:l}=this.model.properties;this.on_change(t,(()=>this.trigger_auto_scroll())),this.on_change(o,(()=>this.scroll_to_position())),this.on_change(l,(()=>this.toggle_scroll_button()))}get distance_from_latest(){return this.el.scrollHeight-this.el.scrollTop-this.el.clientHeight}scroll_to_position(){requestAnimationFrame((()=>{this.el.scrollTo({top:this.model.scroll_position})}))}scroll_to_latest(){requestAnimationFrame((()=>{this.el.scrollTo({top:this.el.scrollHeight})}))}trigger_auto_scroll(){const t=this.model.auto_scroll_limit,o=this.distance_from_latest<=t;0!=t&&o&&this.scroll_to_latest()}record_scroll_position(){this.model.scroll_position=Math.round(this.el.scrollTop)}toggle_scroll_button(){const t=this.model.scroll_button_threshold,o=this.distance_from_latest>=t;this.scroll_down_button_el&&this.scroll_down_button_el.classList.toggle("visible",0!==t&&o)}render(){super.render(),this.scroll_down_button_el=n.createElement("div",{class:"scroll-button"}),this.shadow_el.appendChild(this.scroll_down_button_el),this.el.addEventListener("scroll",(()=>{this.record_scroll_position(),this.toggle_scroll_button()})),this.scroll_down_button_el.addEventListener("click",(()=>{this.scroll_to_latest()}))}after_render(){super.after_render(),requestAnimationFrame((()=>{this.model.scroll_position&&this.scroll_to_position(),this.model.view_latest&&this.scroll_to_latest(),this.toggle_scroll_button()}))}}l.ColumnView=c,c.__name__="ColumnView";class h extends r.Column{constructor(t){super(t)}}l.Column=h,_=h,h.__name__="Column",h.__module__="panel.models.layout",_.prototype.default_view=c,_.define((({Int:t,Boolean:o})=>({scroll_position:[t,0],auto_scroll_limit:[t,0],scroll_button_threshold:[t,0],view_latest:[o,!1]})))},
|
|
53
53
|
"820473477c": function _(e,t,o,i,l){var s;i();const n=e("@bokehjs/models/ui/tooltip"),u=e("@bokehjs/core/build_views"),r=e("@bokehjs/models/widgets/checkbox_button_group");class d extends r.CheckboxButtonGroupView{*children(){yield*super.children(),null!=this.tooltip&&(yield this.tooltip)}async lazy_initialize(){await super.lazy_initialize();const{tooltip:e}=this.model;null!=e&&(this.tooltip=await(0,u.build_view)(e,{parent:this}))}remove(){var e;null===(e=this.tooltip)||void 0===e||e.remove(),super.remove()}render(){super.render();const e=e=>{var t;null===(t=this.tooltip)||void 0===t||t.model.setv({visible:e})};let t;this.el.addEventListener("mouseenter",(()=>{t=setTimeout((()=>e(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(t),e(!1)}))}}o.CheckboxButtonGroupView=d,d.__name__="CheckboxButtonGroupView";class p extends r.CheckboxButtonGroup{constructor(e){super(e)}}o.CheckboxButtonGroup=p,s=p,p.__name__="CheckboxButtonGroup",p.__module__="panel.models.widgets",s.prototype.default_view=d,s.define((({Nullable:e,Ref:t,Number:o})=>({tooltip:[e(t(n.Tooltip)),null],tooltip_delay:[o,500]})))},
|
|
54
54
|
"eca6f2cacb": function _(e,t,s,n,i){var o;n();const c=e("@bokehjs/document"),l=e("@bokehjs/core/view"),_=e("@bokehjs/model"),h=e("@bokehjs/protocol/message"),r=e("@bokehjs/protocol/receiver");s.comm_settings={debounce:!0};class a extends l.View{}s.CommManagerView=a,a.__name__="CommManagerView";class d 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){let s;if(e instanceof Array){s=[];for(const n of e)s.push(this._extract_buffers(n,t))}else if(e instanceof Object){s={};for(const n in e){if("buffer"===n&&e[n]instanceof ArrayBuffer){s={id:Object.keys(t).length},t.push(e[n]);break}s[n]=this._extract_buffers(e[n],t)}}else s=e;return s}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=Object.assign({},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?(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,i=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!=i){let e=null;if(i in this.ns.plot_index&&null!=this.ns.plot_index[i]?e=this.ns.plot_index[i]:void 0!==window.Bokeh&&i in window.Bokeh.index&&(e=window.Bokeh.index[i]),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=d,o=d,d.__name__="CommManager",d.__module__="panel.models.comm_manager",o.prototype.default_view=a,o.define((({Int:e,String: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]})))},
|
|
55
55
|
"e258e515be": function _(e,t,s,o,i){var l;o();const d=e("@bokehjs/models/widgets/selectbox");class n extends d.SelectView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.disabled_options.change,(()=>this._update_disabled_options()))}options_el(){let e=super.options_el();return e.forEach((e=>{this.model.disabled_options.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=n,n.__name__="CustomSelectView";class _ extends d.Select{constructor(e){super(e)}}s.CustomSelect=_,l=_,_.__name__="CustomSelect",_.__module__="panel.models.widgets",l.prototype.default_view=n,l.define((({Array:e,String:t})=>({disabled_options:[e(t),[]]})))},
|
|
56
|
-
"02603bce3a": 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"),m=t("@bokehjs/core/kinds"),g=t("@bokehjs/models/sources/column_data_source"),_=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("eca6f2cacb"),b=t("4e27eda472"),w=t("cac5f3ed28");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 v 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=v,n=v,v.__name__="CellClickEvent",n.prototype.event_name="cell-click";class x 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=x,a=x,x.__name__="SelectionEvent",a.prototype.event_name="selection-change";const M=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},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");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},z=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._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._applied_styles=!1,this._building=!1}connect_signals(){super.connect_signals();const t=this.model.properties,{configuration:e,layout:i,columns:s,groupby:o}=t;this.on_change([e,i,o],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.connect(this.model.properties.visible.change,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change([s],(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.connect(t.download.change,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.connect(t.children.change,(()=>this.renderChildren())),this.connect(t.expanded.change,(()=>{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.connect(t.cell_styles.change,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.connect(t.hidden_columns.change,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.connect(t.page_size.change,(()=>this.setPageSize())),this.connect(t.page.change,(()=>{this._updating_page||this.setPage()})),this.connect(t.visible.change,(()=>this.setVisibility())),this.connect(t.max_page.change,(()=>this.setMaxPage())),this.connect(t.frozen_rows.change,(()=>this.setFrozen())),this.connect(t.sorters.change,(()=>this.setSorters())),this.connect(t.theme_classes.change,(()=>this.setCSSClasses(this.tabulator.element))),this.connect(this.model.source.properties.data.change,(()=>{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.tabulator.rowManager.element.scrollTop=this._lastVerticalScrollbarTopPosition,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&&(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&&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(){this._building||(null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()))}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}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.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);let 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.setStyles()}),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.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(){let t="toggle"===this.model.select_mode||NaN,e=Object.assign(Object.assign({},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&&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)),Object.assign(Object.assign({},e),{data:s})}get child_models(){var t,e;const i=[];for(const s of this.model.expanded){const o=null===(e=(t=this.model.children).get)||void 0===e?void 0:e.call(t,s);null!=o&&i.push(o)}return i}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){var i;const s=null===(i=t._row)||void 0===i?void 0:i.data._index;if(!this.model.expanded.includes(s)||null==this.model.children.get(s))return;const o=this.model.children.get(s),l=null==o?null:this._child_views.get(o);if(null==l)return;const n=t.getElement(),a=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,r=n.style.paddingLeft?"-"+n.style.paddingLeft:"0",d=(0,u.div)({style:"background-color: "+a+"; margin-left:"+r+"; max-width: 100%; overflow-x: hidden;"});d.appendChild(l.el),n.appendChild(d),l.has_finished()||(l.render(),l.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){var e,i,s,o;const l=t._cell.row.data._index,n=[...this.model.expanded],a=n.indexOf(l);if(a<0)n.push(l);else{const t=n.splice(a,1)[0],s=null===(i=(e=this.model.children).get)||void 0===i?void 0:i.call(e,t);if(null!=s){const t=this._child_views.get(s);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=n,n.indexOf(l)<0)return;let r=!0;for(const t of this.model.expanded)if(null==(null===(o=(s=this.model.children).get)||void 0===o?void 0:o.call(s,t))){r=!1;break}r&&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(){var t;this.columns=new Map;const e=null===(t=this.model.configuration)||void 0===t?void 0:t.columns;let i=[];if(i.push({field:"_index",frozen:!0,visible:!1}),null!=e)for(const t of e)if(null!=t.columns){const e=[];for(const i of t.columns)e.push(Object.assign({},i));i.push(Object.assign(Object.assign({},t),{columns:e}))}else if("expand"===t.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};i.push(t)}else{const e=Object.assign({},t);"rowSelection"===e.formatter&&(e.cellClick=(t,e)=>{e.getRow().toggleSelect()}),i.push(e)}for(const t of this.model.columns){let s=null;if(null!=e)for(const e of i)if(null!=e.columns){for(const i of e.columns)if(t.field===i.field){s=i;break}if(null!=s)break}else if(t.field===e.field){s=e;break}if(null==s&&(s={field:t.field}),this.columns.set(t.field,s),null==s.title&&(s.title=t.title),null==s.width&&null!=t.width&&0!=t.width&&(s.width=t.width),null==s.formatter&&null!=t.formatter){const e=t.formatter.type;s.formatter="BooleanFormatter"===e?"tickCross":e=>{const i=t.formatter.doFormat(e.getRow(),e,e.getValue(),null,null);if("HTMLTemplateFormatter"===t.formatter.type)return i;const s=(0,u.div)();s.innerHTML=i;const o=s.children[0];return"function(){return c.convert(arguments)}"===o.innerHTML?"":o}}"timestamp"==s.sorter&&(s.sorter=M),void 0===s.sorter&&(s.sorter="string");const o=t.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=E:"datetime"===s.editor&&(s.editor=z):"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=E:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(e,i,s,o)=>{this.renderEditor(t,e,i,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(t.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&"boolean"==typeof s.headerFilter&&"string"==typeof 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=(e,i)=>{const s=i.getData()._index,o=new v(t.field,s);this.model.trigger_event(o)},null==e&&i.push(s)}for(const t in this.model.buttons){const e={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new v(t,s);this.model.trigger_event(o)}};i.push(e)}return i}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=(null==e?void 0:e.data._index)||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles()}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=this.tabulator.element.offsetHeight+"px";let 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}}rowClicked(t,e){var i;if(this._selection_updating||this._initializing||"string"==typeof this.model.select_mode||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===(null===(i=t.srcElement)||void 0===i?void 0:i.innerText))return;let s=[];const o=this.model.source.selected,l=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(l),i=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&o.indices.length){const t=o.indices[o.indices.length-1];if(l>t)for(let e=t;e<=l;e++)s.push(e);else for(let e=t;e>=l;e--)s.push(e)}else s.push(l);return this._selection_updating=!0,this.model.trigger_event(new x(s,e,i)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)s=[...this.model.source.selected.indices];else if(t.shiftKey&&o.indices.length){const t=o.indices[o.indices.length-1];if(l>t)for(let e=t;e<l;e++)s.push(e);else for(let e=t;e>l;e--)s.push(e)}if(s.indexOf(l)<0?s.push(l):s.splice(s.indexOf(l),1),"number"==typeof this.model.select_mode)for(;s.length>this.model.select_mode;)s.shift();const n=this._filter_selected(s);this.tabulator.deselectRow(),this.tabulator.selectRow(n),this._selection_updating=!0,o.indices=n,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||"boolean"==typeof this.model.select_mode||"number"==typeof this.model.select_mode||this.model.configuration.dataTree)){if("remote"===this.model.pagination){let 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 x(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new x(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,m.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,Array:e,Boolean:s,Nullable:o,Number:l,Ref:n,String:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(_.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(g.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
|
|
56
|
+
"f7b17ce11c": 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"),m=t("@bokehjs/core/kinds"),g=t("@bokehjs/models/sources/column_data_source"),_=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("eca6f2cacb"),b=t("4e27eda472"),w=t("cac5f3ed28");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 v 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=v,n=v,v.__name__="CellClickEvent",n.prototype.event_name="cell-click";class x 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=x,a=x,x.__name__="SelectionEvent",a.prototype.event_name="selection-change";const M=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},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");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},z=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._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._applied_styles=!1,this._building=!1}connect_signals(){super.connect_signals();const t=this.model.properties,{configuration:e,layout:i,columns:s,groupby:o}=t;this.on_change([e,i,o],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.connect(this.model.properties.visible.change,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change([s],(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.connect(t.download.change,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.connect(t.children.change,(()=>this.renderChildren())),this.connect(t.expanded.change,(()=>{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.connect(t.cell_styles.change,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.connect(t.hidden_columns.change,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.connect(t.page_size.change,(()=>this.setPageSize())),this.connect(t.page.change,(()=>{this._updating_page||this.setPage()})),this.connect(t.visible.change,(()=>this.setVisibility())),this.connect(t.max_page.change,(()=>this.setMaxPage())),this.connect(t.frozen_rows.change,(()=>this.setFrozen())),this.connect(t.sorters.change,(()=>this.setSorters())),this.connect(t.theme_classes.change,(()=>this.setCSSClasses(this.tabulator.element))),this.connect(this.model.source.properties.data.change,(()=>{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.tabulator.rowManager.element.scrollTop=this._lastVerticalScrollbarTopPosition,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&&(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&&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(){this._building||(null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()))}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}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.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);let 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.setStyles()}),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.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(){let t="toggle"===this.model.select_mode||NaN,e=Object.assign(Object.assign({},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&&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)),Object.assign(Object.assign({},e),{data:s})}get child_models(){var t,e;const i=[];for(const s of this.model.expanded){const o=null===(e=(t=this.model.children).get)||void 0===e?void 0:e.call(t,s);null!=o&&i.push(o)}return i}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){var i;const s=null===(i=t._row)||void 0===i?void 0:i.data._index;if(!this.model.expanded.includes(s)||null==this.model.children.get(s))return;const o=this.model.children.get(s),l=null==o?null:this._child_views.get(o);if(null==l)return;const n=t.getElement(),a=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,r=n.style.paddingLeft?"-"+n.style.paddingLeft:"0",d=(0,u.div)({style:"background-color: "+a+"; margin-left:"+r+"; max-width: 100%; overflow-x: hidden;"});d.appendChild(l.el),n.appendChild(d),l.has_finished()||(l.render(),l.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){var e,i,s,o;const l=t._cell.row.data._index,n=[...this.model.expanded],a=n.indexOf(l);if(a<0)n.push(l);else{const t=n.splice(a,1)[0],s=null===(i=(e=this.model.children).get)||void 0===i?void 0:i.call(e,t);if(null!=s){const t=this._child_views.get(s);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=n,n.indexOf(l)<0)return;let r=!0;for(const t of this.model.expanded)if(null==(null===(o=(s=this.model.children).get)||void 0===o?void 0:o.call(s,t))){r=!1;break}r&&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(){var t;this.columns=new Map;const e=null===(t=this.model.configuration)||void 0===t?void 0:t.columns;let i=[];if(i.push({field:"_index",frozen:!0,visible:!1}),null!=e)for(const t of e)if(null!=t.columns){const e=[];for(const i of t.columns)e.push(Object.assign({},i));i.push(Object.assign(Object.assign({},t),{columns:e}))}else if("expand"===t.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};i.push(t)}else{const e=Object.assign({},t);"rowSelection"===e.formatter&&(e.cellClick=(t,e)=>{e.getRow().toggleSelect()}),i.push(e)}for(const t of this.model.columns){let s=null;if(null!=e)for(const e of i)if(null!=e.columns){for(const i of e.columns)if(t.field===i.field){s=i;break}if(null!=s)break}else if(t.field===e.field){s=e;break}if(null==s&&(s={field:t.field}),this.columns.set(t.field,s),null==s.title&&(s.title=t.title),null==s.width&&null!=t.width&&0!=t.width&&(s.width=t.width),null==s.formatter&&null!=t.formatter){const e=t.formatter.type;s.formatter="BooleanFormatter"===e?"tickCross":e=>{const i=t.formatter.doFormat(e.getRow(),e,e.getValue(),null,null);if("HTMLTemplateFormatter"===t.formatter.type)return i;const s=(0,u.div)();s.innerHTML=i;const o=s.children[0];return"function(){return c.convert(arguments)}"===o.innerHTML?"":o}}"timestamp"==s.sorter&&(s.sorter=M),void 0===s.sorter&&(s.sorter="string");const o=t.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=E:"datetime"===s.editor&&(s.editor=z):"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=E:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(e,i,s,o)=>{this.renderEditor(t,e,i,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(t.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&"boolean"==typeof s.headerFilter&&"string"==typeof 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=(e,i)=>{const s=i.getData()._index,o=new v(t.field,s);this.model.trigger_event(o)},null==e&&i.push(s)}for(const t in this.model.buttons){const e={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new v(t,s);this.model.trigger_event(o)}};i.push(e)}return i}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=(null==e?void 0:e.data._index)||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles()}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=this.tabulator.element.offsetHeight+"px";let 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}}rowClicked(t,e){var i;if(this._selection_updating||this._initializing||"string"==typeof this.model.select_mode||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===(null===(i=t.srcElement)||void 0===i?void 0:i.innerText))return;let s=[];const o=this.model.source.selected,l=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(l),i=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&o.indices.length){const t=o.indices[o.indices.length-1];if(l>t)for(let e=t;e<=l;e++)s.push(e);else for(let e=t;e>=l;e--)s.push(e)}else s.push(l);return this._selection_updating=!0,this.model.trigger_event(new x(s,e,i)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)s=[...this.model.source.selected.indices];else if(t.shiftKey&&o.indices.length){const t=o.indices[o.indices.length-1];if(l>t)for(let e=t;e<l;e++)s.push(e);else for(let e=t;e>l;e--)s.push(e)}if(s.indexOf(l)<0?s.push(l):s.splice(s.indexOf(l),1),"number"==typeof this.model.select_mode)for(;s.length>this.model.select_mode;)s.shift();const n=this._filter_selected(s);this.tabulator.deselectRow(),this.tabulator.selectRow(n),this._selection_updating=!0,o.indices=n,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||"boolean"==typeof this.model.select_mode||"number"==typeof this.model.select_mode||this.model.configuration.dataTree)){if("remote"===this.model.pagination){let 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 x(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new x(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,m.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,Array:e,Boolean:s,Nullable:o,Number:l,Ref:n,String:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(_.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(g.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
|
|
57
57
|
"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},
|
|
58
58
|
"4e27eda472": function _(n,e,t,l,o){l(),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 s=t;s<r;s++){const t={};for(const e of o){let l=n.get_array(e);const o=null==l[0]||null==l[0].shape?null:l[0].shape;if(null!=o&&o.length>1&&"number"==typeof o[0])t[e]=l.slice(s*o[1],s*o[1]+o[1]);else if(l.length!=r&&l.length%r==0){const n=l.length/r;t[e]=l.slice(s*n,s*n+n)}else t[e]=l[s]}e&&(t._index=s),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[]}},
|
|
59
59
|
"5fd6501095": function _(e,t,i,n,s){n();const o=e("tslib");var l;const a=o.__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"),u=o.__importStar(e("@bokehjs/styles/widgets/inputs.css")),m=o.__importDefault(e("@bokehjs/styles/widgets/flatpickr.css"));function _(e){const t=[];for(const i of e)if((0,h.isString)(i))t.push(i);else{const[e,n]=i;t.push({from:e,to:n})}return t}class p extends r.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:n,enabled_dates:s,inline:o,enable_time:l,enable_seconds:a,military_time:r,date_format:d,mode:c}=this.model.properties;this.connect(e.change,(()=>{var e;return this.model.value?null===(e=this._picker)||void 0===e?void 0:e.setDate(this.model.value):this._clear()})),this.connect(t.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("minDate",this.model.min_date)})),this.connect(i.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("maxDate",this.model.max_date)})),this.connect(n.change,(()=>{var e;const{disabled_dates:t}=this.model;null===(e=this._picker)||void 0===e||e.set("disable",null!=t?_(t):[])})),this.connect(s.change,(()=>{var e;const{enabled_dates:t}=this.model;null!=t?null===(e=this._picker)||void 0===e||e.set("enable",_(t)):this._picker&&(this._picker.config._enable=void 0,this._picker.redraw(),this._picker.updateValue(!0))})),this.connect(o.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("inline",this.model.inline)})),this.connect(l.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("enableTime",this.model.enable_time)})),this.connect(a.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("enableSeconds",this.model.enable_seconds)})),this.connect(r.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("time_24hr",this.model.military_time)})),this.connect(c.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("mode",this.model.mode)})),this.connect(d.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set("dateFormat",this.model.date_format)}))}remove(){var e;null===(e=this._picker)||void 0===e||e.destroy(),super.remove()}stylesheets(){return[...super.stylesheets(),m.default]}render(){if(null!=this._picker)return;super.render(),this.input_el=(0,d.input)({type:"text",class:u.input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el);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:n,enabled_dates:s}=this.model;null!=t&&(e.minDate=t),null!=i&&(e.maxDate=i),null!=n&&(e.disable=_(n)),null!=s&&(e.enable=_(s)),this._picker=(0,a.default)(this.input_el,e),this._picker.maxDateHasTime=!0,this._picker.minDateHasTime=!0}_clear(){var e;null===(e=this._picker)||void 0===e||e.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=null!=t?t:e._positionElement,n=[...e.calendarContainer.children].reduce(((e,t)=>e+(0,d.bounding_box)(t).height),0),s=e.calendarContainer.offsetWidth,o=this.model.position.split(" "),l=o[0],a=o.length>1?o[1]:null,r=i.offsetTop,c=i.offsetTop+i.offsetHeight,h=i.offsetLeft,u=i.offsetLeft+i.offsetWidth,m=i.offsetWidth,_=window.innerHeight-c,p="above"===l||"below"!==l&&_<n&&r>n,f=e.config.appendTo?r+(p?-n-2:i.offsetHeight+2):window.scrollY+r+(p?-n-2:i.offsetHeight+2);if(e.calendarContainer.classList.toggle("arrowTop",!p),e.calendarContainer.classList.toggle("arrowBottom",p),e.config.inline)return;let g=window.scrollX+h,v=!1,b=!1;"center"===a?(g-=(s-m)/2,v=!0):"right"===a&&(g-=s-m,b=!0),e.calendarContainer.classList.toggle("arrowLeft",!v&&!b),e.calendarContainer.classList.toggle("arrowCenter",v),e.calendarContainer.classList.toggle("arrowRight",b);const k=window.document.body.offsetWidth-(window.scrollX+u),w=g+s>window.document.body.offsetWidth,y=k+s>window.document.body.offsetWidth;if(e.calendarContainer.classList.toggle("rightMost",w),!e.config.static)if(e.calendarContainer.style.top=`${f}px`,w)if(y){const t=this.shadow_el.styleSheets[0],i=window.document.body.offsetWidth,n=Math.max(0,i/2-s/2),o=".flatpickr-calendar.centerMost:before",l=".flatpickr-calendar.centerMost:after",a=t.cssRules.length,r=`{left:${h}px;right:auto;}`;e.calendarContainer.classList.toggle("rightMost",!1),e.calendarContainer.classList.toggle("centerMost",!0),t.insertRule(`${o},${l}${r}`,a),e.calendarContainer.style.left=`${n}px`,e.calendarContainer.style.right="auto"}else e.calendarContainer.style.left="auto",e.calendarContainer.style.right=`${k}px`;else e.calendarContainer.style.left=`${g}px`,e.calendarContainer.style.right="auto"}}i.DatetimePickerView=p,p.__name__="DatetimePickerView";class f extends r.InputWidget{constructor(e){super(e)}}i.DatetimePicker=f,l=f,f.__name__="DatetimePicker",f.__module__="panel.models.datetime_picker",l.prototype.default_view=p,l.define((({Boolean:e,String:t,Array:i,Tuple:n,Or:s,Nullable:o})=>{const l=i(s(t,n(t,t)));return{value:[o(t),null],min_date:[o(t),null],max_date:[o(t),null],disabled_dates:[o(l),null],enabled_dates:[o(l),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"]}}))},
|
|
@@ -119,7 +119,7 @@ let o,r;i();const c={fontFamily:'"Helvetica Neue", Helvetica, Arial, sans-serif'
|
|
|
119
119
|
SOFTWARE.
|
|
120
120
|
*/
|
|
121
121
|
function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.parse(JSON.stringify(e.detail))}),e.type in d&&Object.assign(t,d[e.type](e)),t.target=i(e.target),t.currentTarget=e.target===e.currentTarget?t.target:i(e.currentTarget),t.relatedTarget=i(e.relatedTarget),t};const o={hasValue:e=>({value:e.value}),hasCurrentTime:e=>({currentTime:e.currentTime}),hasFiles:e=>"file"===(null==e?void 0:e.type)?{files:Array.from(e.files).map((e=>({lastModified:e.lastModified,name:e.name,size:e.size,type:e.type})))}:{}};const s={hasValue:["BUTTON","INPUT","OPTION","LI","METER","PROGRESS","PARAM","SELECT","TEXTAREA"],hasCurrentTime:["AUDIO","VIDEO"],hasFiles:["INPUT"]},l={};Object.keys(s).forEach((e=>{s[e].forEach((t=>{(l[t]||(l[t]=[])).push(o[e])}))}));class c{clipboard(e){return{clipboardData:e.clipboardData}}composition(e){return{data:e.data}}keyboard(e){return{altKey:e.altKey,charCode:e.charCode,ctrlKey:e.ctrlKey,key:e.key,keyCode:e.keyCode,locale:e.locale,location:e.location,metaKey:e.metaKey,repeat:e.repeat,shiftKey:e.shiftKey,which:e.which}}mouse(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,metaKey:e.metaKey,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey}}pointer(e){return Object.assign(Object.assign({},this.mouse(e)),{pointerId:e.pointerId,width:e.width,height:e.height,pressure:e.pressure,tiltX:e.tiltX,tiltY:e.tiltY,pointerType:e.pointerType,isPrimary:e.isPrimary})}selection(){return{selectedText:window.getSelection().toString()}}touch(e){return{altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey}}ui(e){return{detail:e.detail}}wheel(e){return{deltaMode:e.deltaMode,deltaX:e.deltaX,deltaY:e.deltaY,deltaZ:e.deltaZ}}animation(e){return{animationName:e.animationName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime}}transition(e){return{propertyName:e.propertyName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime}}}c.__name__="EventTransformCategories";const u={clipboard:["copy","cut","paste"],composition:["compositionend","compositionstart","compositionupdate"],keyboard:["keydown","keypress","keyup"],mouse:["click","contextmenu","doubleclick","drag","dragend","dragenter","dragexit","dragleave","dragover","dragstart","drop","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup"],pointer:["pointerdown","pointermove","pointerup","pointercancel","gotpointercapture","lostpointercapture","pointerenter","pointerleave","pointerover","pointerout"],selection:["select"],touch:["touchcancel","touchend","touchmove","touchstart"],ui:["scroll"],wheel:["wheel"],animation:["animationstart","animationend","animationiteration"],transition:["transitionend"]},d={},p=new c;Object.keys(u).forEach((e=>{u[e].forEach((t=>{d[t]=p[e]}))}))},
|
|
122
|
-
"
|
|
122
|
+
"ab30c7afd7": function _(e,t,i,l,s){l();const o=e("tslib");var n;const h=e("@bokehjs/core/build_views"),a=e("@bokehjs/core/enums"),d=e("@bokehjs/models/widgets/input_widget"),_=e("@bokehjs/models/ui/icons/icon"),r=o.__importStar(e("@bokehjs/styles/buttons.css")),c=r,u=e("@bokehjs/core/dom");class b extends d.InputWidgetView{constructor(){super(...arguments),this._downloadable=!1,this._prev_href="",this._prev_download=""}*children(){yield*super.children(),null!=this.icon_view&&(yield this.icon_view)}*controls(){yield this.anchor_el,yield this.button_el}connect_signals(){super.connect_signals(),this.connect(this.model.properties.button_type.change,(()=>this._update_button_style())),this.connect(this.model.properties.filename.change,(()=>this._update_download())),this.connect(this.model.properties._transfers.change,(()=>this._handle_click())),this.connect(this.model.properties.label.change,(()=>this._update_label()))}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}async lazy_initialize(){await super.lazy_initialize();const{icon:e}=this.model;null!=e&&(this.icon_view=await(0,h.build_view)(e,{parent:this}))}render(){if(super.render(),this.group_el.style.display="flex",this.group_el.style.alignItems="stretch",this.anchor_el=document.createElement("a"),this.button_el=(0,u.button)({disabled:this.model.disabled}),null!=this.icon_view){const e=""!=this.model.label?(0,u.nbsp)():(0,u.text)("");(0,u.prepend)(this.button_el,this.icon_view.el,e),this.icon_view.render()}this._update_button_style(),this._update_label(),this.model.disabled?(this.anchor_el.setAttribute("disabled",""),this._downloadable=!1):(this.anchor_el.removeAttribute("disabled"),this._prev_download&&(this.anchor_el.download=this._prev_download),this._prev_href&&(this.anchor_el.href=this._prev_href),this.anchor_el.download&&this.anchor_el.download&&(this._downloadable=!0)),this.model.embed?this._make_link_downloadable():(this._click_listener=this._increment_clicks.bind(this),this.anchor_el.addEventListener("click",this._click_listener)),this.button_el.appendChild(this.anchor_el),this.group_el.appendChild(this.button_el)}stylesheets(){return[...super.stylesheets(),r.default]}_increment_clicks(){this.model.clicks=this.model.clicks+1}_handle_click(){!this.model.auto&&this._downloadable||this.anchor_el.hasAttribute("disabled")||(this._make_link_downloadable(),!this.model.embed&&this.model.auto&&(this.anchor_el.removeEventListener("click",this._click_listener),this.anchor_el.click(),this.anchor_el.removeAttribute("href"),this.anchor_el.removeAttribute("download"),this.anchor_el.addEventListener("click",this._click_listener)),this._prev_href=this.anchor_el.getAttribute("href"),this._prev_download=this.anchor_el.getAttribute("download"))}_make_link_downloadable(){this._update_href(),this._update_download(),this.anchor_el.download&&this.anchor_el.href&&(this._downloadable=!0)}_update_href(){if(this.model.data){const e=function(e){const t=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],l=new ArrayBuffer(t.length),s=new Uint8Array(l);for(let e=0;e<t.length;e++)s[e]=t.charCodeAt(e);return new Blob([l],{type:i})}(this.model.data);this.anchor_el.href=URL.createObjectURL(e)}}_update_download(){this.model.filename&&(this.anchor_el.download=this.model.filename)}_update_label(){this.anchor_el.textContent=this.model.label}_update_button_style(){const e=c[`btn_${this.model.button_type}`];if(this.button_el.hasAttribute("class")){const t=this.anchor_el.classList.item(1);t&&this.button_el.classList.replace(t,e)}else this.button_el.classList.add(c.btn),this.button_el.classList.add(e)}}i.FileDownloadView=b,b.__name__="FileDownloadView";class p extends d.InputWidget{constructor(e){super(e)}}i.FileDownload=p,n=p,p.__name__="FileDownload",p.__module__="panel.models.widgets",n.prototype.default_view=b,n.define((({Boolean:e,Int:t,Nullable:i,Ref:l,String:s})=>({auto:[e,!1],clicks:[t,0],data:[i(s),null],embed:[e,!1],icon:[i(l(_.Icon)),null],label:[s,"Download"],filename:[i(s),null],button_type:[a.ButtonType,"default"],_transfers:[t,0]}))),n.override({title:""})},
|
|
123
123
|
"3db2e41978": function _(e,t,s,n,i){var r,o;n();const l=e("@bokehjs/core/bokeh_events"),h=e("@bokehjs/models/widgets/markup"),a=e("cac5f3ed28"),d=e("490942d778");class c extends l.ModelEvent{constructor(e,t){super(),this.node=e,this.data=t}get event_values(){return{model:this.origin,node:this.node,data:this.data}}}function _(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}function u(e){Array.from(e.querySelectorAll("script")).forEach((e=>{const t=document.createElement("script");Array.from(e.attributes).forEach((e=>t.setAttribute(e.name,e.value))),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode&&e.parentNode.replaceChild(t,e)}))}s.DOMEvent=c,r=c,c.__name__="DOMEvent",r.prototype.event_name="dom_event",s.htmlDecode=_,s.runScripts=u;class v extends a.PanelMarkupView{constructor(){super(...arguments),this._event_listeners={}}connect_signals(){super.connect_signals(),this.connect(this.model.properties.text.change,(()=>{const e=this.process_tex();this.set_html(e)})),this.connect(this.model.properties.visible.change,(()=>{this.model.visible&&(this.container.style.visibility="visible")})),this.connect(this.model.properties.events.change,(()=>{this._remove_event_listeners(),this._setup_event_listeners()}))}rerender(){this.render(),this.invalidate_layout()}set_html(e){e&&(this.container.innerHTML=e,this.model.run_scripts&&u(this.container),this._setup_event_listeners())}render(){super.render(),this.container.style.visibility="hidden",this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0);const e=this.process_tex();this.watch_stylesheets(),this.set_html(e)}style_redraw(){this.model.visible&&(this.container.style.visibility="visible")}process_tex(){const e=_(this.model.text)||this.model.text;if(this.model.disable_math||!this.contains_tex(e))return e;const t=this.provider.MathJax.find_tex(e),s=[];let n=0;for(const i of t)s.push(e.slice(n,i.start.n)),s.push(this.provider.MathJax.tex2svg(i.math,{display:i.display}).outerHTML),n=i.end.n;return n<e.length&&s.push(e.slice(n)),s.join("")}contains_tex(e){return!!this.provider.MathJax&&this.provider.MathJax.find_tex(e).length>0}_remove_event_listeners(){for(const e in this._event_listeners){const t=document.getElementById(e);if(null!=t)for(const s in this._event_listeners[e]){const n=this._event_listeners[e][s];t.removeEventListener(s,n)}else console.warn(`DOM node '${e}' could not be found. Cannot subscribe to DOM events.`)}this._event_listeners={}}_setup_event_listeners(){for(const e in this.model.events){const t=document.getElementById(e);if(null!=t)for(const s of this.model.events[e]){const n=t=>{this.model.trigger_event(new c(e,(0,d.serializeEvent)(t)))};t.addEventListener(s,n),e in this._event_listeners||(this._event_listeners[e]={}),this._event_listeners[e][s]=n}else console.warn(`DOM node '${e}' could not be found. Cannot subscribe to DOM events.`)}}}s.HTMLView=v,v.__name__="HTMLView";class p extends h.Markup{constructor(e){super(e)}}s.HTML=p,o=p,p.__name__="HTML",p.__module__="panel.models.markup",o.prototype.default_view=v,o.define((({Any:e,Boolean:t})=>({events:[e,{}],run_scripts:[t,!0]})))},
|
|
124
124
|
"4dfd782539": function _(e,i,t,n,s){var o;n();const l=e("@bokehjs/core/dom"),d=e("cac5f3ed28"),r=window.Jupyter;class a extends d.HTMLBoxView{initialize(){let e;if(super.initialize(),null!=r&&null!=r.notebook)e=r.notebook.kernel.widget_manager;else{if(null==window.PyViz.widget_manager)return void console.warn("Panel IPyWidget model could not find a WidgetManager");e=window.PyViz.widget_manager}this.manager=e,this.ipychildren=[]}remove(){this.ipyview.remove(),super.remove()}_ipy_stylesheets(){const e=[];for(const i of document.head.children)if(i instanceof HTMLStyleElement){const t=i.textContent;if(null!=t){const i=t.replace(/:root/g,":host");e.push(new l.InlineStyleSheet(i))}}return e}stylesheets(){return[...super.stylesheets(),...this._ipy_stylesheets()]}render(){super.render();const{spec:e,state:i}=this.model.bundle;this.manager.set_state(i).then((async i=>{const t=i.find((i=>i.model_id==e.model_id));if(null==t)return;const n=await this.manager.create_view(t,{el:this.el});if(this.ipyview=n,this.ipychildren=[],n.children_views)for(const e of n.children_views.views)this.ipychildren.push(await e);this.shadow_el.appendChild(this.ipyview.el),this.ipyview.trigger("displayed",this.ipyview);for(const e of this.ipychildren)e.trigger("displayed",e);this.invalidate_layout()}))}}t.IPyWidgetView=a,a.__name__="IPyWidgetView";class h extends d.HTMLBox{constructor(e){super(e)}}t.IPyWidget=h,o=h,h.__name__="IPyWidget",h.__module__="panel.models.ipywidget",o.prototype.default_view=a,o.define((({Any:e})=>({bundle:[e,{}]})))},
|
|
125
125
|
"e954d48822": function _(e,t,r,n,s){n();const o=e("tslib");var i;const d=e("@bokehjs/core/kinds"),a=e("@bokehjs/models/widgets/markup"),l=o.__importDefault(e("18bba7b7e1")),h=e("cac5f3ed28");class c extends h.PanelMarkupView{connect_signals(){super.connect_signals();const{depth:e,hover_preview:t,text:r,theme:n}=this.model.properties;this.on_change([e,t,r,n],(()=>this.render()))}render(){super.render();const e=this.model.text.replace(/(\r\n|\n|\r)/gm,"");let t;try{t=window.JSON.parse(e)}catch(e){return void(this.container.innerHTML="<b>Invalid JSON:</b> "+e.toString())}const r={hoverPreviewEnabled:this.model.hover_preview,theme:this.model.theme},n=null==this.model.depth?1/0:this.model.depth,s=new l.default(t,n,r).render();let o="border-radius: 5px; padding: 10px; width: 100%; height: 100%;";"dark"==this.model.theme?s.style.cssText="background-color: rgb(30, 30, 30);"+o:s.style.cssText=o,this.container.append(s)}}r.JSONView=c,c.__name__="JSONView",r.JSONTheme=(0,d.Enum)("dark","light");class p extends a.Markup{constructor(e){super(e)}}r.JSON=p,i=p,p.__name__="JSON",p.__module__="panel.models.markup",i.prototype.default_view=c,i.define((({Array:e,Boolean:t,Int:n,Nullable:s,String:o})=>({css:[e(o),[]],depth:[s(n),1],hover_preview:[t,!1],theme:[r.JSONTheme,"dark"]})))},
|
|
@@ -129,12 +129,12 @@ function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.pa
|
|
|
129
129
|
"a85ed38ee9": function _(e,o,t,h,i){var a;h();const s=e("@bokehjs/core/view"),n=e("@bokehjs/model");class d extends s.View{initialize(){super.initialize(),this.model.pathname=window.location.pathname,this.model.search=window.location.search,this.model.hash=window.location.hash,this.model.href=window.location.href,this.model.hostname=window.location.hostname,this.model.protocol=window.location.protocol,this.model.port=window.location.port,this._hash_listener=()=>{this.model.hash=window.location.hash},window.addEventListener("hashchange",this._hash_listener),this._has_finished=!0,this.notify_finished()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.pathname.change,(()=>this.update("pathname"))),this.connect(this.model.properties.search.change,(()=>this.update("search"))),this.connect(this.model.properties.hash.change,(()=>this.update("hash"))),this.connect(this.model.properties.reload.change,(()=>this.update("reload")))}remove(){super.remove(),window.removeEventListener("hashchange",this._hash_listener)}update(e){this.model.reload&&"reload"!==e?("pathname"==e&&(window.location.pathname=this.model.pathname),"search"==e&&(window.location.search=this.model.search),"hash"==e&&(window.location.hash=this.model.hash)):(window.history.pushState({},"",`${this.model.pathname}${this.model.search}${this.model.hash}`),this.model.href=window.location.href,"reload"===e&&window.location.reload())}}t.LocationView=d,d.__name__="LocationView";class l extends n.Model{constructor(e){super(e)}}t.Location=l,a=l,l.__name__="Location",l.__module__="panel.models.location",a.prototype.default_view=d,a.define((({Boolean:e,String:o})=>({href:[o,""],hostname:[o,""],pathname:[o,""],protocol:[o,""],port:[o,""],search:[o,""],hash:[o,""],reload:[e,!1]})))},
|
|
130
130
|
"ca760ebc92": function _(e,t,s,a,n){var r;a();const i=e("@bokehjs/models/widgets/markup"),o=e("cac5f3ed28");class _ extends o.PanelMarkupView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.text.change,(()=>this.render()))}render(){super.render(),this.container.innerHTML=this.has_math_disabled()?this.model.text:this.process_tex(this.model.text)}}s.MathJaxView=_,_.__name__="MathJaxView";class c extends i.Markup{constructor(e){super(e)}}s.MathJax=c,r=c,c.__name__="MathJax",c.__module__="panel.models.mathjax",r.prototype.default_view=_},
|
|
131
131
|
"46cccf2270": function _(e,t,s,n,o){var a;n();const i=e("@bokehjs/models/widgets/markup"),r=e("cac5f3ed28"),d=e("3db2e41978");class l extends r.PanelMarkupView{connect_signals(){super.connect_signals();const e=this.model.properties,{text:t,width:s,height:n,embed:o,start_page:a}=e;this.on_change([t,s,n,o,a],(()=>{this.update()}))}render(){super.render(),this.update()}update(){if(this.model.embed){const e=this.convert_base64_to_blob(),t=URL.createObjectURL(e),s=this.model.width||"100%",n=this.model.height||"100%";this.container.innerHTML=`<embed src="${t}#page=${this.model.start_page}" type="application/pdf" width="${s}" height="${n}"></embed>`}else{const e=(0,d.htmlDecode)(this.model.text);this.container.innerHTML=e||""}}convert_base64_to_blob(){const e=atob(this.model.text);var t=[];for(let s=0;s<e.length;s+=512){const n=e.slice(s,s+512),o=new Uint8Array(n.length);for(let e=0;e<n.length;e++)o[e]=n.charCodeAt(e);t.push(o)}return new Blob(t,{type:"application/pdf"})}}s.PDFView=l,l.__name__="PDFView";class c extends i.Markup{constructor(e){super(e)}}s.PDF=c,a=c,c.__name__="PDF",c.__module__="panel.models.markup",a.prototype.default_view=l,a.define((({Number:e,Boolean:t})=>({embed:[t,!0],start_page:[e,1]})))},
|
|
132
|
-
"
|
|
132
|
+
"8349fbd43e": function _(e,t,s,i,n){var r,o;i();const l=e("@bokehjs/core/bokeh_events"),c=e("@bokehjs/core/dom"),a=e("@bokehjs/models/sources/column_data_source"),h=e("cac5f3ed28"),p={"material-dark":"Material Dark",material:"Material Light",vaporwave:"Vaporwave",solarized:"Solarized","solarized-dark":"Solarized Dark",monokai:"Monokai"},d={datagrid:"Datagrid",d3_x_bar:"X Bar",d3_y_bar:"Y Bar",d3_xy_line:"X/Y Line",d3_y_line:"Y Line",d3_y_area:"Y Area",d3_y_scatter:"Y Scatter",d3_xy_scatter:"X/Y Scatter",d3_treemap:"Treemap",d3_candlestick:"Candlestick",d3_sunburst:"Sunburst",d3_heatmap:"Heatmap",d3_ohlc:"OHLC"};function _(e){const t={};return Object.keys(e).forEach((s=>{t[e[s]]=s})),t}const m=_(d),g=_(p);class u extends l.ModelEvent{constructor(e,t,s){super(),this.config=e,this.column_names=t,this.row=s}get event_values(){return{model:this.origin,config:this.config,column_names:this.column_names,row:this.row}}}s.PerspectiveClickEvent=u,r=u,u.__name__="PerspectiveClickEvent",r.prototype.event_name="perspective-click";class v extends h.HTMLBoxView{constructor(){super(...arguments),this._updating=!1,this._config_listener=null,this._current_config=null,this._loaded=!1}connect_signals(){super.connect_signals(),this.connect(this.model.source.properties.data.change,(()=>this.setData())),this.connect(this.model.source.streaming,(()=>this.stream())),this.connect(this.model.source.patching,(()=>this.patch())),this.connect(this.model.properties.schema.change,(()=>{this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table)}))})),this.connect(this.model.properties.toggle_config.change,(()=>{this.perspective_element.toggleConfig()})),this.connect(this.model.properties.columns.change,(()=>{this._updating||this.perspective_element.restore({columns:this.model.columns})})),this.connect(this.model.properties.expressions.change,(()=>{this._updating||this.perspective_element.restore({expressions:this.model.expressions})})),this.connect(this.model.properties.split_by.change,(()=>{this._updating||this.perspective_element.restore({split_by:this.model.split_by})})),this.connect(this.model.properties.group_by.change,(()=>{this._updating||this.perspective_element.restore({group_by:this.model.group_by})})),this.connect(this.model.properties.aggregates.change,(()=>{this._updating||this.perspective_element.restore({aggregates:this.model.aggregates})})),this.connect(this.model.properties.filters.change,(()=>{this._updating||this.perspective_element.restore({filter:this.model.filters})})),this.connect(this.model.properties.sort.change,(()=>{this._updating||this.perspective_element.restore({sort:this.model.sort})})),this.connect(this.model.properties.plugin.change,(()=>{this._updating||this.perspective_element.restore({plugin:d[this.model.plugin]})})),this.connect(this.model.properties.selectable.change,(()=>{this._updating||this.perspective_element.restore({plugin_config:Object.assign(Object.assign({},this._current_config),{selectable:this.model.selectable})})})),this.connect(this.model.properties.editable.change,(()=>{this._updating||this.perspective_element.restore({plugin_config:Object.assign(Object.assign({},this._current_config),{editable:this.model.editable})})})),this.connect(this.model.properties.theme.change,(()=>{this._updating||this.perspective_element.restore({theme:p[this.model.theme]}).catch((()=>{}))}))}disconnect_signals(){null!=this._config_listener&&this.perspective_element.removeEventListener("perspective-config-update",this._config_listener),this._config_listener=null,super.disconnect_signals()}remove(){this.perspective_element.delete((()=>this.worker.terminate())),super.remove()}render(){super.render(),this.worker=window.perspective.worker();const e=(0,c.div)({class:"pnx-perspective-viewer",style:{zIndex:0}});e.innerHTML="<perspective-viewer style='height:100%; width:100%;'></perspective-viewer>",this.perspective_element=e.children[0],this.perspective_element.resetThemes([...Object.values(p)]).catch((()=>{})),this.model.toggle_config&&this.perspective_element.toggleConfig(),(0,h.set_size)(e,this.model),this.shadow_el.appendChild(e),this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table);const t=Object.assign(Object.assign({},this.model.plugin_config),{editable:this.model.editable,selectable:this.model.selectable});this.perspective_element.restore({aggregates:this.model.aggregates,columns:this.model.columns,expressions:this.model.expressions,filter:this.model.filters,split_by:this.model.split_by,group_by:this.model.group_by,plugin:d[this.model.plugin],plugin_config:t,sort:this.model.sort,theme:p[this.model.theme]}).catch((()=>{})),this.perspective_element.save().then((e=>{this._current_config=e})),this._config_listener=()=>this.sync_config(),this.perspective_element.addEventListener("perspective-config-update",this._config_listener),this.perspective_element.addEventListener("perspective-click",(e=>{this.model.trigger_event(new u(e.detail.config,e.detail.column_names,e.detail.row))})),this._loaded=!0}))}sync_config(){return this._updating||this.perspective_element.save().then((e=>{this._current_config=e;const t={};for(let s in e){let i=e[s];void 0===i||"plugin"==s&&"debug"===i||"settings"===s||("filter"===s?s="filters":"plugin"===s?i=m[i]:"theme"===s&&(i=g[i]),t[s]=i)}this._updating=!0,this.model.setv(t),this._updating=!1})),!0}get data(){const e={};for(const t of this.model.source.columns()){let s=this.model.source.get_array(t);"datetime"==this.model.schema[t]&&s.includes(-9223372036854776)&&(s=s.map((e=>-9223372036854776===e?null:e))),e[t]=s}return e}setData(){if(this._loaded){for(const e of this.model.source.columns())if(!(e in this.model.schema))return;this.table.replace(this.data)}}stream(){this._loaded&&this.table.replace(this.data)}patch(){this._loaded&&this.table.replace(this.data)}}s.PerspectiveView=v,v.__name__="PerspectiveView";class b extends h.HTMLBox{constructor(e){super(e)}}s.Perspective=b,o=b,b.__name__="Perspective",b.__module__="panel.models.perspective",o.prototype.default_view=v,o.define((({Any:e,Array:t,Boolean:s,Ref:i,Nullable:n,String:r})=>({aggregates:[e,{}],columns:[t(n(r)),[]],expressions:[n(t(r)),null],split_by:[n(t(r)),null],editable:[s,!0],filters:[n(t(e)),null],group_by:[n(t(r)),null],plugin:[r],plugin_config:[e,{}],selectable:[s,!0],schema:[e,{}],toggle_config:[s,!0],sort:[n(t(t(r))),null],source:[i(a.ColumnDataSource)],theme:[r,"material"]})))},
|
|
133
133
|
"9148c6a6f9": function _(e,t,i,o,s){var l;o();const n=e("@bokehjs/core/kinds"),r=e("@bokehjs/core/dom"),a=e("@bokehjs/models/widgets/widget"),h='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-minus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l14 0" /></svg>',d='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-track-prev-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M20.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" stroke-width="0" fill="currentColor" /><path d="M9.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" stroke-width="0" fill="currentColor" /></svg>',c='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-skip-back-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M19.496 4.136l-12 7a1 1 0 0 0 0 1.728l12 7a1 1 0 0 0 1.504 -.864v-14a1 1 0 0 0 -1.504 -.864z" stroke-width="0" fill="currentColor" /><path d="M4 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z" stroke-width="0" fill="currentColor" /></svg>',p='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-play-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" style="transform: scaleX(-1);"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" stroke-width="0" fill="currentColor" /></svg>',m='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-pause-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" stroke-width="0" fill="currentColor" /><path d="M17 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" stroke-width="0" fill="currentColor" /></svg>',u='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-play-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" stroke-width="0" fill="currentColor" /></svg>',_='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-skip-forward-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M3 5v14a1 1 0 0 0 1.504 .864l12 -7a1 1 0 0 0 0 -1.728l-12 -7a1 1 0 0 0 -1.504 .864z" stroke-width="0" fill="currentColor" /><path d="M20 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z" stroke-width="0" fill="currentColor" /></svg>',g='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-track-next-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M2 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" stroke-width="0" fill="currentColor" /><path d="M13 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" stroke-width="0" fill="currentColor" /></svg>',v='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 5l0 14" /><path d="M5 12l14 0" /></svg>';function f(e){e.forEach((e=>e.style.borderStyle="inset"))}function w(e){e.forEach((e=>e.style.borderStyle="outset"))}class k extends a.WidgetView{constructor(){super(...arguments),this._changing=!1}connect_signals(){super.connect_signals(),this.connect(this.model.properties.direction.change,(()=>this.set_direction())),this.connect(this.model.properties.value.change,(()=>this.render())),this.connect(this.model.properties.loop_policy.change,(()=>this.set_loop_state(this.model.loop_policy))),this.connect(this.model.properties.disabled.change,(()=>this.toggle_disable())),this.connect(this.model.properties.show_loop_controls.change,(()=>{this.model.show_loop_controls&&this.loop_state.parentNode!=this.groupEl?this.groupEl.appendChild(this.loop_state):this.model.show_loop_controls||this.loop_state.parentNode!=this.groupEl||this.groupEl.removeChild(this.loop_state)}))}toggle_disable(){this.sliderEl.disabled=this.model.disabled;for(const e of this.buttonEl.children){e.disabled=this.model.disabled}for(const e of this.loop_state.children)if("input"==e.tagName){e.disabled=this.model.disabled}}get_height(){return 250}render(){if(null!=this.sliderEl)return this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),void(this.sliderEl.value=String(this.model.value));super.render(),this.groupEl=(0,r.div)(),this.groupEl.style.display="flex",this.groupEl.style.flexDirection="column",this.groupEl.style.alignItems="center",this.sliderEl=document.createElement("input"),this.sliderEl.style.width="100%",this.sliderEl.setAttribute("type","range"),this.sliderEl.value=String(this.model.value),this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),this.sliderEl.addEventListener("input",(e=>{this.set_frame(parseInt(e.target.value),!1)})),this.sliderEl.addEventListener("change",(e=>{this.set_frame(parseInt(e.target.value))}));const e=(0,r.div)();this.buttonEl=e,e.style.cssText="margin: 0 auto; display: flex; padding: 5px; align-items: stretch; width: 100%;";const t="text-align: center; min-width: 20px; flex-grow: 1; margin: 2px",i="text-align: center; min-width: 40px; flex-grow: 2; margin: 2px",o=document.createElement("button");o.style.cssText=t,o.innerHTML=h,o.onclick=()=>this.slower(),e.appendChild(o);const s=document.createElement("button");s.style.cssText=i,s.innerHTML=d,s.onclick=()=>this.first_frame(),e.appendChild(s);const l=document.createElement("button");l.style.cssText=i,l.innerHTML=c,l.onclick=()=>this.previous_frame(),e.appendChild(l);const n=document.createElement("button");n.style.cssText=i,n.innerHTML=p,n.onclick=()=>this.reverse_animation(),e.appendChild(n);const a=document.createElement("button");a.style.cssText=i,a.innerHTML=m,a.onclick=()=>this.pause_animation(),e.appendChild(a);const k=document.createElement("button");k.style.cssText=i,k.innerHTML=u,k.onclick=()=>this.play_animation(),e.appendChild(k);const x=document.createElement("button");x.style.cssText=i,x.innerHTML=_,x.onclick=()=>this.next_frame(),e.appendChild(x);const y=document.createElement("button");y.style.cssText=i,y.innerHTML=g,y.onclick=()=>this.last_frame(),e.appendChild(y);const b=document.createElement("button");b.style.cssText=t,b.innerHTML=v,b.onclick=()=>this.faster(),e.appendChild(b),this._toggle_reverse=()=>{w([a,k]),f([n])},this._toogle_pause=()=>{w([n,k]),f([a])},this._toggle_play=()=>{w([n,a]),f([k])},this.loop_state=document.createElement("form"),this.loop_state.style.cssText="margin: 0 auto; display: table";const E=document.createElement("input");E.type="radio",E.value="once",E.name="state";const C=document.createElement("label");C.innerHTML="Once",C.style.cssText="padding: 0 10px 0 5px; user-select:none;";const M=document.createElement("input");M.setAttribute("type","radio"),M.setAttribute("value","loop"),M.setAttribute("name","state");const T=document.createElement("label");T.innerHTML="Loop",T.style.cssText="padding: 0 10px 0 5px; user-select:none;";const z=document.createElement("input");z.setAttribute("type","radio"),z.setAttribute("value","reflect"),z.setAttribute("name","state");const H=document.createElement("label");H.innerHTML="Reflect",H.style.cssText="padding: 0 10px 0 5px; user-select:none;","once"==this.model.loop_policy?E.checked=!0:"loop"==this.model.loop_policy?M.checked=!0:z.checked=!0,this.loop_state.appendChild(E),this.loop_state.appendChild(C),this.loop_state.appendChild(M),this.loop_state.appendChild(T),this.loop_state.appendChild(z),this.loop_state.appendChild(H),this.groupEl.appendChild(this.sliderEl),this.groupEl.appendChild(e),this.model.show_loop_controls&&this.groupEl.appendChild(this.loop_state),this.toggle_disable(),this.shadow_el.appendChild(this.groupEl)}set_frame(e,t=!0){this.model.value=e,t&&(this.model.value_throttled=e),this.sliderEl.value!=String(e)&&(this.sliderEl.value=String(e))}get_loop_state(){for(var e=this.loop_state.state,t=0;t<e.length;t++){var i=e[t];if(i.checked)return i.value}return"once"}set_loop_state(e){for(var t=this.loop_state.state,i=0;i<t.length;i++){var o=t[i];o.value==e&&(o.checked=!0)}}next_frame(){this.set_frame(Math.min(this.model.end,this.model.value+this.model.step))}previous_frame(){this.set_frame(Math.max(this.model.start,this.model.value-this.model.step))}first_frame(){this.set_frame(this.model.start)}last_frame(){this.set_frame(this.model.end)}slower(){this.model.interval=Math.round(this.model.interval/.7),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}faster(){this.model.interval=Math.round(.7*this.model.interval),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}anim_step_forward(){if(this.model.value<this.model.end)this.next_frame();else{var e=this.get_loop_state();"loop"==e?this.first_frame():"reflect"==e?(this.last_frame(),this.reverse_animation()):(this.pause_animation(),this.last_frame())}}anim_step_reverse(){if(this.model.value>this.model.start)this.previous_frame();else{var e=this.get_loop_state();"loop"==e?this.last_frame():"reflect"==e?(this.first_frame(),this.play_animation()):(this.pause_animation(),this.first_frame())}}set_direction(){this._changing||(0===this.model.direction?this.pause_animation():1===this.model.direction?this.play_animation():-1===this.model.direction&&this.reverse_animation())}pause_animation(){this._toogle_pause(),this._changing=!0,this.model.direction=0,this._changing=!1,this.timer&&(clearInterval(this.timer),this.timer=null)}play_animation(){this.pause_animation(),this._toggle_play(),this._changing=!0,this.model.direction=1,this._changing=!1,this.timer||(this.timer=setInterval((()=>this.anim_step_forward()),this.model.interval))}reverse_animation(){this.pause_animation(),this._toggle_reverse(),this._changing=!0,this.model.direction=-1,this._changing=!1,this.timer||(this.timer=setInterval((()=>this.anim_step_reverse()),this.model.interval))}}i.PlayerView=k,k.__name__="PlayerView",i.LoopPolicy=(0,n.Enum)("once","loop","reflect");class x extends a.Widget{constructor(e){super(e)}}i.Player=x,l=x,x.__name__="Player",x.__module__="panel.models.widgets",l.prototype.default_view=k,l.define((({Boolean:e,Int:t})=>({direction:[t,0],interval:[t,500],start:[t,0],end:[t,10],step:[t,1],loop_policy:[i.LoopPolicy,"once"],value:[t,0],value_throttled:[t,0],show_loop_controls:[e,!0]}))),l.override({width:400})},
|
|
134
|
-
"
|
|
135
|
-
"
|
|
134
|
+
"dd1700da9e": function _(t,e,o,i,r){var s;i();const n=t("@bokehjs/core/dom"),l=t("@bokehjs/core/util/object"),a=t("@bokehjs/core/util/eq"),h=t("@bokehjs/models/sources/column_data_source"),d=t("99a25e6992"),c=t("9f4006d93a"),p=t("cac5f3ed28");function _(t){return Object.entries(t).forEach((([e,o])=>{o&&"object"==typeof o?_(o):void 0===o&&(t[e]=null)})),t}const u=(t,e,o)=>{let i=Array.isArray(e)?[]:{};if("click"===o||"hover"===o||"selected"===o){const o=[];if(null==e)return null;const r=t.data;for(let t=0;t<e.points.length;t++){const i=e.points[t];let s={};for(let t in i){const e=i[t];!i.hasOwnProperty(t)||Array.isArray(e)||(0,c.isPlainObject)(e)||void 0===e||(s[t]=e)}null!=i&&(i.hasOwnProperty("curveNumber")&&i.hasOwnProperty("pointNumber")&&r[i.curveNumber].hasOwnProperty("customdata")&&(s.customdata=r[i.curveNumber].customdata[i.pointNumber]),i.hasOwnProperty("pointNumbers")&&(s.pointNumbers=i.pointNumbers)),o[t]=s}i.points=o}else if("relayout"===o||"restyle"===o)for(let t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return e.hasOwnProperty("range")&&(i.range=e.range),e.hasOwnProperty("lassoPoints")&&(i.lassoPoints=e.lassoPoints),_(i)};class y extends p.HTMLBoxView{constructor(){super(...arguments),this._settingViewport=!1,this._plotInitialized=!1,this._rendered=!1,this._reacting=!1,this._relayouting=!1,this._end_relayouting=(0,d.debounce)((()=>{this._relayouting=!1}),2e3,!1)}connect_signals(){super.connect_signals();const{data:t,data_sources:e,layout:o,relayout:i,restyle:r}=this.model.properties;this.on_change([t,e,o],(()=>{const t=this.model._render_count;setTimeout((()=>{this.model._render_count===t&&(this.model._render_count+=1)}),250)})),this.on_change([i],(()=>{null!=this.model.relayout&&(window.Plotly.relayout(this.container,this.model.relayout),this.model.relayout=null)})),this.on_change([r],(()=>{null!=this.model.restyle&&(window.Plotly.restyle(this.container,this.model.restyle.data,this.model.restyle.traces),this.model.restyle=null)})),this.connect(this.model.properties.viewport_update_policy.change,(()=>{this._updateSetViewportFunction()})),this.connect(this.model.properties.viewport_update_throttle.change,(()=>{this._updateSetViewportFunction()})),this.connect(this.model.properties._render_count.change,(()=>{this.plot()})),this.connect(this.model.properties.frames.change,(()=>{this.plot(!0)})),this.connect(this.model.properties.viewport.change,(()=>this._updateViewportFromProperty()))}remove(){window.Plotly.purge(this.container),super.remove()}render(){super.render(),this.container=(0,n.div)(),(0,p.set_size)(this.container,this.model),this._rendered=!1,this.shadow_el.appendChild(this.container),this.watch_stylesheets(),this.plot().then((()=>{this._rendered=!0,null!=this.model.relayout&&window.Plotly.relayout(this.container,this.model.relayout),window.Plotly.Plots.resize(this.container)}))}style_redraw(){this._rendered&&window.Plotly.Plots.resize(this.container)}after_layout(){super.after_layout(),this._rendered&&window.Plotly.Plots.resize(this.container)}_trace_data(){const t=[];for(let e=0;e<this.model.data.length;e++)t.push(this._get_trace(e,!1));return t}_layout_data(){const t=(0,c.deepCopy)(this.model.layout);if(this._relayouting){const{layout:e}=this.container;Object.keys(e).reduce(((e,o)=>{"axis"===o.slice(1,5)&&"range"in e&&(t[o].range=e.range)}),{})}return t}_install_callbacks(){this.container.on("plotly_relayout",(t=>{!0!==t._update_from_property&&(this.model.relayout_data=u(this.container,t,"relayout"),this._updateViewportProperty(),this._end_relayouting())})),this.container.on("plotly_relayouting",(()=>{"mouseup"!==this.model.viewport_update_policy&&(this._relayouting=!0,this._updateViewportProperty())})),this.container.on("plotly_restyle",(t=>{this.model.restyle_data=u(this.container,t,"restyle"),this._updateViewportProperty()})),this.container.on("plotly_click",(t=>{this.model.click_data=u(this.container,t,"click")})),this.container.on("plotly_hover",(t=>{this.model.hover_data=u(this.container,t,"hover")})),this.container.on("plotly_selected",(t=>{this.model.selected_data=u(this.container,t,"selected")})),this.container.on("plotly_clickannotation",(t=>{delete t.event,delete t.fullAnnotation,this.model.clickannotation_data=t})),this.container.on("plotly_deselect",(()=>{this.model.selected_data=null})),this.container.on("plotly_unhover",(()=>{this.model.hover_data=null}))}async plot(t=!1){if(!window.Plotly)return;const e=this._trace_data(),o=this._layout_data();if(this._reacting=!0,t){const t={data:e,layout:o,config:this.model.config,frames:this.model.frames};await window.Plotly.newPlot(this.container,t)}else await window.Plotly.react(this.container,e,o,this.model.config),null!=this.model.frames&&await window.Plotly.addFrames(this.container,this.model.frames);var i,r;this._updateSetViewportFunction(),this._updateViewportProperty(),this._plotInitialized?(i=this.container,(r=window.getComputedStyle(i).display)&&"none"!==r&&window.Plotly.Plots.resize(this.container)):this._install_callbacks(),this._reacting=!1,this._plotInitialized=!0}_get_trace(t,e){const o=(0,l.clone)(this.model.data[t]),i=this.model.data_sources[t];for(const t of i.columns()){let r=i.get_array(t)[0];null!=r.shape&&r.shape.length>1&&(r=(0,c.reshape)(r,r.shape));let s=t.split("."),n=s[s.length-1],l=o;for(let t of s.slice(0,-1))l=l[t];e&&1==s.length?l[n]=[r]:l[n]=r}return o}_updateViewportFromProperty(){if(!window.Plotly||this._settingViewport||this._reacting||!this.model.viewport)return;const t=this.container._fullLayout;Object.keys(this.model.viewport).reduce(((e,o)=>{if((0,a.is_equal)((0,c.get)(t,o),e))return!0;{let t=(0,c.deepCopy)(this.model.viewport);return t._update_from_property=!0,this._settingViewport=!0,window.Plotly.relayout(this.el,t).then((()=>{this._settingViewport=!1})),!1}}),{})}_updateViewportProperty(){const t=this.container._fullLayout;let e={};for(let o in t){if(!t.hasOwnProperty(o))continue;let i=o.slice(0,5);"xaxis"!==i&&"yaxis"!==i||(e[o+".range"]=(0,c.deepCopy)(t[o].range))}(0,a.is_equal)(e,this.model.viewport)||this._setViewport(e)}_updateSetViewportFunction(){"continuous"===this.model.viewport_update_policy||"mouseup"===this.model.viewport_update_policy?this._setViewport=t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}:this._setViewport=(0,c.throttle)((t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}),this.model.viewport_update_throttle)}}o.PlotlyPlotView=y,y.__name__="PlotlyPlotView";class w extends p.HTMLBox{constructor(t){super(t)}}o.PlotlyPlot=w,s=w,w.__name__="PlotlyPlot",w.__module__="panel.models.plotly",s.prototype.default_view=y,s.define((({Array:t,Any:e,Nullable:o,Number:i,Ref:r,String:s})=>({data:[t(e),[]],layout:[e,{}],config:[e,{}],frames:[o(t(e)),null],data_sources:[t(r(h.ColumnDataSource)),[]],relayout:[o(e),{}],restyle:[o(e),{}],relayout_data:[e,{}],restyle_data:[t(e),[]],click_data:[e,{}],hover_data:[e,{}],clickannotation_data:[e,{}],selected_data:[e,{}],viewport:[e,{}],viewport_update_policy:[s,"mouseup"],viewport_update_throttle:[i,200],_render_count:[i,0]})))},
|
|
135
|
+
"9f4006d93a": function _(t,e,n,r,o){r();const c=t("@bokehjs/core/util/array");n.get=(t,e,n=void 0)=>{const r=n=>String.prototype.split.call(e,n).filter(Boolean).reduce(((t,e)=>null!=t?t[e]:t),t),o=r(/[,[\]]+?/)||r(/[,[\].]+?/);return void 0===o||o===t?n:o},n.throttle=function(t,e){var n=0;return function(){var r=Number(new Date);r-n>=e&&(t(),n=r)}},n.deepCopy=function t(e){var n;if(null==e||"object"!=typeof e)return e;if(e instanceof Array){n=[];for(var r=0,o=e.length;r<o;r++)n[r]=t(e[r]);return n}if(e instanceof Object){const n={};for(const r in e){const o=r;e.hasOwnProperty(o)&&(n[o]=t(e[o]))}return n}throw new Error("Unable to copy obj! Its type isn't supported.")},n.isPlainObject=function(t){return"[object Object]"===Object.prototype.toString.call(t)},n.reshape=function(t,e){let n=0;return e&&t?function r(o){let i=[];if(o===e.length-1)i=(0,c.concat)(t.slice(n,n+e[o])),n+=e[o];else for(let t=0;t<e[o];t++)i.push(r(o+1));return i}(0):[]}},
|
|
136
136
|
"e6caa5bc95": function _(e,s,t,o,i){var r;o();const l=e("@bokehjs/core/dom"),h=e("cac5f3ed28");class n extends h.HTMLBoxView{connect_signals(){super.connect_signals();const e=()=>this.render();this.connect(this.model.properties.height.change,e),this.connect(this.model.properties.width.change,e),this.connect(this.model.properties.height_policy.change,e),this.connect(this.model.properties.width_policy.change,e),this.connect(this.model.properties.sizing_mode.change,e),this.connect(this.model.properties.active.change,(()=>this.setCSS())),this.connect(this.model.properties.bar_color.change,(()=>this.setCSS())),this.connect(this.model.properties.css_classes.change,(()=>this.setCSS())),this.connect(this.model.properties.value.change,(()=>this.setValue())),this.connect(this.model.properties.max.change,(()=>this.setMax()))}render(){super.render();const e=Object.assign(Object.assign({},this.model.styles),{display:"inline-block"});this.progressEl=document.createElement("progress"),this.setValue(),this.setMax(),this.setCSS();for(const s in e)this.progressEl.style.setProperty(s,e[s]);this.shadow_el.appendChild(this.progressEl)}stylesheets(){const e=super.stylesheets();for(const s of this.model.css)e.push(new l.ImportedStyleSheet(s));return e}setCSS(){let e=this.model.css_classes.join(" ")+" "+this.model.bar_color;this.model.active&&(e+=" active"),this.progressEl.className=e}setValue(){null==this.model.value?this.progressEl.value=0:this.model.value>=0?this.progressEl.value=this.model.value:this.model.value<0&&this.progressEl.removeAttribute("value")}setMax(){null!=this.model.max&&(this.progressEl.max=this.model.max)}}t.ProgressView=n,n.__name__="ProgressView";class c extends h.HTMLBox{constructor(e){super(e)}}t.Progress=c,r=c,c.__name__="Progress",c.__module__="panel.models.widgets",r.prototype.default_view=n,r.define((({Any:e,Array:s,Boolean:t,Number:o,String:i})=>({active:[t,!0],bar_color:[i,"primary"],css:[s(i),[]],max:[o,100],value:[e,null]})))},
|
|
137
|
-
"
|
|
137
|
+
"361033d351": function _(e,t,i,l,o){var s;l();const n=e("@bokehjs/core/dom"),a=e("cac5f3ed28");class d extends a.HTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.disabled.change,(()=>this.quill.enable(!this.model.disabled))),this.connect(this.model.properties.visible.change,(()=>{this.model.visible&&(this.container.style.visibility="visible")})),this.connect(this.model.properties.text.change,(()=>{this._editing||(this._editing=!0,this.quill.enable(!1),this.quill.setContents([]),this.quill.clipboard.dangerouslyPasteHTML(this.model.text),this.quill.enable(!this.model.disabled),this._editing=!1)}));const{mode:e,toolbar:t,placeholder:i}=this.model.properties;this.on_change([i],(()=>{this.quill.root.setAttribute("data-placeholder",this.model.placeholder)})),this.on_change([e,t],(()=>{this.render(),this._layout_toolbar()}))}_layout_toolbar(){if(null==this._toolbar)this.el.style.removeProperty("padding-top");else{const e=this._toolbar.getBoundingClientRect().height+1;this.el.style.paddingTop=e+"px",this._toolbar.style.marginTop=-e+"px"}}render(){super.render(),this.container=(0,n.div)({style:"visibility: hidden;"}),this.shadow_el.appendChild(this.container);const e="bubble"===this.model.mode?"bubble":"snow";this.watch_stylesheets(),this.quill=new window.Quill(this.container,{modules:{toolbar:this.model.toolbar},readOnly:!0,placeholder:this.model.placeholder,theme:e});const t=!!document.createElement("div").attachShadow({mode:"open"}).getSelection;this.quill.selection.hasFocus=()=>this.quill.root.getRootNode().activeElement===this.quill.root,this.quill.selection.getNativeRange=()=>{const e=(e=>{try{if(t)return e.getSelection().getRangeAt(0);{const t=window.getSelection();return t.getComposedRanges?t.getComposedRanges(e)[0]:t.getRangeAt(0)}}catch(e){return null}})(this.quill.root.getRootNode());return e?this.quill.selection.normalizeNative(e):null},this.quill.selection.setNativeRange=(e,t)=>{var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(null==e||null!=this.quill.selection.root.parentNode&&null!=e.parentNode&&null!=i.parentNode){var s=document.getSelection();if(null!=s)if(null!=e){this.quill.selection.hasFocus()||this.quill.selection.root.focus();var n=(this.quill.selection.getNativeRange()||{}).native;(null==n||o||e!==n.startContainer||t!==n.startOffset||i!==n.endContainer||l!==n.endOffset)&&("BR"==e.tagName&&(t=[].indexOf.call(e.parentNode.childNodes,e),e=e.parentNode),"BR"==i.tagName&&(l=[].indexOf.call(i.parentNode.childNodes,i),i=i.parentNode),s.setBaseAndExtent(e,t,i,l))}else s.removeAllRanges(),this.quill.selection.root.blur(),document.body.focus()}},this._editor=this.shadow_el.querySelector(".ql-editor"),this._toolbar=this.shadow_el.querySelector(".ql-toolbar");const i=this.quill.clipboard.convert(this.model.text);this.quill.setContents(i),this.quill.on("text-change",(()=>{this._editing||(this._editing=!0,this.model.text=this._editor.innerHTML,this._editing=!1)})),this.model.disabled||this.quill.enable(!this.model.disabled),document.addEventListener("selectionchange",((...e)=>{this.quill.selection.update()}))}style_redraw(){this.model.visible&&(this.container.style.visibility="visible");const e=this.quill.clipboard.convert(this.model.text);this.quill.setContents(e),this.invalidate_layout()}after_layout(){super.after_layout(),this._layout_toolbar()}}i.QuillInputView=d,d.__name__="QuillInputView";class h extends a.HTMLBox{constructor(e){super(e)}}i.QuillInput=h,s=h,h.__name__="QuillInput",h.__module__="panel.models.quill",s.prototype.default_view=d,s.define((({Any:e,String:t})=>({mode:[t,"toolbar"],placeholder:[t,""],text:[t,""],toolbar:[e,null]}))),s.override({height:300})},
|
|
138
138
|
"81e6ca704a": function _(e,t,o,i,l){var s;i();const n=e("@bokehjs/models/ui/tooltip"),u=e("@bokehjs/core/build_views"),d=e("@bokehjs/models/widgets/radio_button_group");class r extends d.RadioButtonGroupView{*children(){yield*super.children(),null!=this.tooltip&&(yield this.tooltip)}async lazy_initialize(){await super.lazy_initialize();const{tooltip:e}=this.model;null!=e&&(this.tooltip=await(0,u.build_view)(e,{parent:this}))}remove(){var e;null===(e=this.tooltip)||void 0===e||e.remove(),super.remove()}render(){super.render();const e=e=>{var t;null===(t=this.tooltip)||void 0===t||t.model.setv({visible:e})};let t;this.el.addEventListener("mouseenter",(()=>{t=setTimeout((()=>e(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(t),e(!1)}))}}o.RadioButtonGroupView=r,r.__name__="RadioButtonGroupView";class a extends d.RadioButtonGroup{constructor(e){super(e)}}o.RadioButtonGroup=a,s=a,a.__name__="RadioButtonGroup",a.__module__="panel.models.widgets",s.prototype.default_view=r,s.define((({Nullable:e,Ref:t,Number:o})=>({tooltip:[e(t(n.Tooltip)),null],tooltip_delay:[o,500]})))},
|
|
139
139
|
"0590cf2a27": function _(e,t,n,s,i){var o;s();const r=e("1b70f5b1d3"),l=e("283ce7811c"),c=e("b3f51db71c"),d=e("@bokehjs/core/dom"),h=e("@bokehjs/core/util/types"),a=e("4e27eda472"),_=e("490942d778"),u=e("3db2e41978"),p=e("cac5f3ed28");function m(e,t,n){const s={};for(const e of n)s[`{${e}}`]="(.*)";const i=[];let o="^"+(e.replace(/[-\/\\^$*+?.()|[\]]/g,"\\$&")+"$");let r,l,c;for(const t in s)if(l=e.indexOf(t),l>-1){for(o=o.replace(t,s[t]),c={index:l,token:t},r=0;r<i.length&&i[r].index<l;r++);r<i.length?i.splice(r,0,c):i.push(c)}o=o.replace(/\{[^{}]+\}/g,".*");var d=new RegExp(o).exec(t);let h=null;if(d)for(h={},r=0;r<i.length;r++)h[i[r].token.slice(1,-1)]=d[r+1];return h}function f(e,t){let n=e.getElementById(t);return null==n&&(n=document.getElementById(t)),n}class v extends p.HTMLBoxView{constructor(){super(...arguments),this._parent=null,this._changing=!1,this._event_listeners={},this._mutation_observers=[],this._script_fns={},this._state={}}initialize(){super.initialize(),this.html=(0,u.htmlDecode)(this.model.html)||this.model.html}_recursive_connect(e,t,n){for(const s in e.properties){let i;i=n.length?`${n}.${s}`:s;const o=e[s];null!=o&&(null!=o.properties&&this._recursive_connect(o,!0,i),this.connect(e.properties[s].change,(()=>{if(t)for(const t in this.model.children)if(this.model.children[t]==s){let n=e[s];return(0,h.isArray)(n)||(n=[n]),void this._render_node(t,n)}this._changing||this._update(i)})))}}connect_signals(){super.connect_signals(),this.connect(this.model.properties.children.change,(async()=>{this.html=(0,u.htmlDecode)(this.model.html)||this.model.html,await this.rebuild()})),this._recursive_connect(this.model.data,!0,""),this.connect(this.model.properties.events.change,(()=>{this._remove_event_listeners(),this._setup_event_listeners()})),this.connect_scripts()}connect_scripts(){const e=this.model.data.id;for(let t in this.model.scripts){const n=this.model.scripts[t];let s,i=this.model.data;if(t.indexOf(".")>=0){const e=t.split(".");s=e[e.length-1];for(const t of e.slice(0,-1))i=i[t]}else s=t;for(const o of n){const n=(0,u.htmlDecode)(o)||o,r=this._render_script(n,e);this._script_fns[t]=r;const l=i.properties[s];null!=l&&this.connect(l.change,(()=>{this._changing||this.run_script(t)}))}}}run_script(e,t=!1){const n=this._script_fns[e];if(void 0===n)return void(t||console.log(`Script '${e}' could not be found.`));const s={get_records:(e,t)=>this.get_records(e,t)};for(const e in this._script_fns)s[e]=()=>this.run_script(e);return n(this.model,this.model.data,this._state,this,(e=>this.run_script(e)),s)}get_records(e,t=!0){return(0,a.dict_to_records)(this.model.data[e],t)}disconnect_signals(){super.disconnect_signals(),this._remove_event_listeners(),this._remove_mutation_observers()}remove(){this.run_script("remove",!0),super.remove()}get child_models(){const e=[];for(const t in this.model.children)for(const n of this.model.children[t])"string"!=typeof n&&e.push(n);return e}_after_layout(){this.run_script("after_layout",!0)}render(){this.empty(),this._update_stylesheets(),this._update_css_classes(),this._apply_styles(),this._apply_visible(),this.container=(0,d.div)({style:"display: contents;"}),this.shadow_el.append(this.container),this._update(),this._render_children(),this._setup_mutation_observers(),this._setup_event_listeners(),this.run_script("render",!0)}_send_event(e,t,n){let s=(0,_.serializeEvent)(n);s.type=t;for(const e in s)void 0===s[e]&&delete s[e];this.model.trigger_event(new u.DOMEvent(e,s))}_render_child(e,t){const n=this._child_views.get(e);null==n?t.innerHTML=(0,u.htmlDecode)(e)||e:(t.appendChild(n.el),n.render(),n.after_render())}_render_node(e,t){const n=this.model.data.id;if(this.model.looped.indexOf(e)>-1)for(let s=0;s<t.length;s++){const i=f(this.shadow_el,`${e}-${s}-${n}`);null!=i?this._render_child(t[s],i):console.warn(`DOM node '${e}-${s}-${n}' could not be found. Cannot render children.`)}else{const s=f(this.shadow_el,`${e}-${n}`);if(null==s)return void console.warn(`DOM node '${e}-${n}' could not be found. Cannot render children.`);for(const e of t)this._render_child(e,s)}}_render_children(){for(const e in this.model.children){let t=this.model.children[e];"string"==typeof t&&(t=this.model.data[t],(0,h.isArray)(t)||(t=[t])),this._render_node(e,t)}}_render_html(e,t={}){let n=e.replace(/[`]/g,"\\$&"),s="";const i=[];for(const e in this.model.callbacks)for(const t of this.model.callbacks[e]){const[o,r]=t;let l;if(n=n.replaceAll("${"+r+"}","$--{"+r+"}"),r.startsWith("script(")){const e=r.replace("('","_").replace("')","").replace('("',"_").replace('")',"").replace("-","_"),t=e.replaceAll("script_","");n=n.replaceAll(r,e),l=`\n const ${e} = (event) => {\n view._state.event = event\n view.run_script("${t}")\n delete view._state.event\n }\n `}else l=`\n const ${r} = (event) => {\n let elname = "${e}"\n if (RegExp("{{.*loop.index.*}}").test(elname)) {\n const pattern = RegExp(elname.replace(/{{(.+?)}}/g, String.fromCharCode(92) + "d+"))\n for (const p of event.path) {\n if (pattern.exec(p.id) != null) {\n elname = p.id.split("-").slice(null, -1).join("-")\n break\n }\n }\n }\n view._send_event(elname, "${o}", event)\n }\n `;i.indexOf(r)>-1||(i.push(r),s+=l)}return n=n.replaceAll("${model.","$-{model.").replaceAll("${","${data.").replaceAll("$-{model.","${model.").replaceAll("$--{","${"),new Function("view, model, data, state, html, useCallback",s+"return html`"+n+"`;")(this,this.model,this.model.data,t,c.html,l.useCallback)}_render_script(e,t){const n=[];for(const s of this.model.nodes){const i=s.replace("-","_");if(-1===e.indexOf(i))continue;const o=`\n let ${i} = view.shadow_el.getElementById('${s}-${t}')\n if (${i} == null)\n ${i} = document.getElementById('${s}-${t}')\n if (${i} == null) {\n console.warn("DOM node '${s}' could not be found. Cannot execute callback.")\n return\n }\n `;n.push(o)}return n.push("\n let event = null\n if (state.event !== undefined) {\n event = state.event\n }\n "),n.push(e),new Function("model, data, state, view, script, self",n.join("\n"))}_remove_mutation_observers(){for(const e of this._mutation_observers)e.disconnect();this._mutation_observers=[]}_setup_mutation_observers(){const e=this.model.data.id;for(const t in this.model.attrs){const n=f(this.shadow_el,`${t}-${e}`);if(null==n){console.warn(`DOM node '${t}-${e}' could not be found. Cannot set up MutationObserver.`);continue}const s=new MutationObserver((()=>{this._update_model(n,t)}));s.observe(n,{attributes:!0}),this._mutation_observers.push(s)}}_remove_event_listeners(){const e=this.model.data.id;for(const t in this._event_listeners){const n=f(this.shadow_el,`${t}-${e}`);if(null!=n)for(const e in this._event_listeners[t]){const s=this._event_listeners[t][e];n.removeEventListener(e,s)}}this._event_listeners={}}_setup_event_listeners(){const e=this.model.data.id;for(const t in this.model.events){const n=f(this.shadow_el,`${t}-${e}`);if(null==n){console.warn(`DOM node '${t}-${e}' could not be found. Cannot subscribe to DOM events.`);continue}const s=this.model.events[t];for(const e in s){const i=i=>{this._send_event(t,e,i),t in this.model.attrs&&s[e]&&this._update_model(n,t)};n.addEventListener(e,i),t in this._event_listeners||(this._event_listeners[t]={}),this._event_listeners[t][e]=i}}}_update(e=null){if(null==e||this.html.indexOf(`\${${e}}`)>-1){const e=this._render_html(this.html);if(null==e)return;try{this._changing=!0,(0,r.render)(e,this.container)}finally{this._changing=!1}}}_update_model(e,t){if(this._changing)return;const n={};for(const s of this.model.attrs[t]){const[i,o,r]=s;let l="children"===i?e.innerHTML:e[i];if(1===o.length&&`{${o[0]}}`===r)n[o[0]]=l;else if("string"==typeof l)if(l=m(r,l,o),null==l)console.warn(`Could not resolve parameters in ${t} element ${i} attribute value ${l}.`);else for(const e in l)void 0===l[e]?console.warn(`Could not resolve ${e} in ${t} element ${i} attribute value ${l}.`):n[e]=l[e]}try{this._changing=!0,this.model.data.setv(function(e){const t={};for(const n in e){let s=e[n];"string"!=typeof s||(""===s||"NaN"!==s&&isNaN(Number(s))?"false"!==s&&"true"!==s||(s="true"===s):s=Number(s)),t[n]=s}return t}(n))}catch(e){console.log("Could not serialize",n)}finally{this._changing=!1}}}n.ReactiveHTMLView=v,v.__name__="ReactiveHTMLView";class $ extends p.HTMLBox{constructor(e){super(e)}}n.ReactiveHTML=$,o=$,$.__name__="ReactiveHTML",$.__module__="panel.models.reactive_html",o.prototype.default_view=v,o.define((({Array:e,Any:t,String:n})=>({attrs:[t,{}],callbacks:[t,{}],children:[t,{}],data:[t],events:[t,{}],html:[n,""],looped:[e(n),[]],nodes:[e(n),[]],scripts:[t,{}]})))},
|
|
140
140
|
"1b70f5b1d3": function _(e,n,t,_,l){_();var o,r,i,u,s,c,f,p={},a=[],d=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(e,n){for(var t in n)e[t]=n[t];return e}function v(e){var n=e.parentNode;n&&n.removeChild(e)}function y(e,n,t){var _,l,r,i={};for(r in n)"key"==r?_=n[r]:"ref"==r?l=n[r]:i[r]=n[r];if(arguments.length>2&&(i.children=arguments.length>3?o.call(arguments,2):t),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===i[r]&&(i[r]=e.defaultProps[r]);return m(e,i,_,l,null)}function m(e,n,t,_,l){var o={type:e,props:n,key:t,ref:_,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==l?++i:l};return null==l&&null!=r.vnode&&r.vnode(o),o}function g(e){return e.children}function k(e,n){this.props=e,this.context=n}function b(e,n){if(null==n)return e.__?b(e.__,e.__.__k.indexOf(e)+1):null;for(var t;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e)return t.__e;return"function"==typeof e.type?b(e):null}function x(e){var n,t;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,n=0;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e){e.__e=e.__c.base=t.__e;break}return x(e)}}function C(e){(!e.__d&&(e.__d=!0)&&u.push(e)&&!S.__r++||s!==r.debounceRendering)&&((s=r.debounceRendering)||c)(S)}function S(){var e,n,t,_,l,o,r,i;for(u.sort((function(e,n){return e.__v.__b-n.__v.__b}));e=u.shift();)e.__d&&(n=u.length,_=void 0,l=void 0,r=(o=(t=e).__v).__e,(i=t.__P)&&(_=[],(l=h({},o)).__v=o.__v+1,W(i,o,l,t.__n,void 0!==i.ownerSVGElement,null!=o.__h?[r]:null,_,null==r?b(o):r,o.__h),L(_,o),o.__e!=r&&x(o)),u.length>n&&u.sort((function(e,n){return e.__v.__b-n.__v.__b})));S.__r=0}function P(e,n,t,_,l,o,r,i,u,s){var c,f,d,h,v,y,k,x=_&&_.__k||a,C=x.length;for(t.__k=[],c=0;c<n.length;c++)if(null!=(h=t.__k[c]=null==(h=n[c])||"boolean"==typeof h?null:"string"==typeof h||"number"==typeof h||"bigint"==typeof h?m(null,h,null,null,h):Array.isArray(h)?m(g,{children:h},null,null,null):h.__b>0?m(h.type,h.props,h.key,h.ref?h.ref:null,h.__v):h)){if(h.__=t,h.__b=t.__b+1,null===(d=x[c])||d&&h.key==d.key&&h.type===d.type)x[c]=void 0;else for(f=0;f<C;f++){if((d=x[f])&&h.key==d.key&&h.type===d.type){x[f]=void 0;break}d=null}W(e,h,d=d||p,l,o,r,i,u,s),v=h.__e,(f=h.ref)&&d.ref!=f&&(k||(k=[]),d.ref&&k.push(d.ref,null,h),k.push(f,h.__c||v,h)),null!=v?(null==y&&(y=v),"function"==typeof h.type&&h.__k===d.__k?h.__d=u=w(h,u,e):u=E(e,h,d,x,v,u),"function"==typeof t.type&&(t.__d=u)):u&&d.__e==u&&u.parentNode!=e&&(u=b(d))}for(t.__e=y,c=C;c--;)null!=x[c]&&("function"==typeof t.type&&null!=x[c].__e&&x[c].__e==t.__d&&(t.__d=U(_).nextSibling),H(x[c],x[c]));if(k)for(c=0;c<k.length;c++)F(k[c],k[++c],k[++c])}function w(e,n,t){for(var _,l=e.__k,o=0;l&&o<l.length;o++)(_=l[o])&&(_.__=e,n="function"==typeof _.type?w(_,n,t):E(t,_,_,l,_.__e,n));return n}function E(e,n,t,_,l,o){var r,i,u;if(void 0!==n.__d)r=n.__d,n.__d=void 0;else if(null==t||l!=o||null==l.parentNode)e:if(null==o||o.parentNode!==e)e.appendChild(l),r=null;else{for(i=o,u=0;(i=i.nextSibling)&&u<_.length;u+=1)if(i==l)break e;e.insertBefore(l,o),r=o}return void 0!==r?r:l.nextSibling}function U(e){var n,t,_;if(null==e.type||"string"==typeof e.type)return e.__e;if(e.__k)for(n=e.__k.length-1;n>=0;n--)if((t=e.__k[n])&&(_=U(t)))return _;return null}function A(e,n,t){"-"===n[0]?e.setProperty(n,null==t?"":t):e[n]=null==t?"":"number"!=typeof t||d.test(n)?t:t+"px"}function D(e,n,t,_,l){var o;e:if("style"===n)if("string"==typeof t)e.style.cssText=t;else{if("string"==typeof _&&(e.style.cssText=_=""),_)for(n in _)t&&n in t||A(e.style,n,"");if(t)for(n in t)_&&t[n]===_[n]||A(e.style,n,t[n])}else if("o"===n[0]&&"n"===n[1])o=n!==(n=n.replace(/Capture$/,"")),n=n.toLowerCase()in e?n.toLowerCase().slice(2):n.slice(2),e.l||(e.l={}),e.l[n+o]=t,t?_||e.addEventListener(n,o?N:T,o):e.removeEventListener(n,o?N:T,o);else if("dangerouslySetInnerHTML"!==n){if(l)n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==n&&"height"!==n&&"href"!==n&&"list"!==n&&"form"!==n&&"tabIndex"!==n&&"download"!==n&&n in e)try{e[n]=null==t?"":t;break e}catch(e){}"function"==typeof t||(null==t||!1===t&&-1==n.indexOf("-")?e.removeAttribute(n):e.setAttribute(n,t))}}function T(e){return this.l[e.type+!1](r.event?r.event(e):e)}function N(e){return this.l[e.type+!0](r.event?r.event(e):e)}function W(e,n,t,_,l,o,i,u,s){var c,f,p,a,d,v,y,m,b,x,C,S,w,E,U,A=n.type;if(void 0!==n.constructor)return null;null!=t.__h&&(s=t.__h,u=n.__e=t.__e,n.__h=null,o=[u]),(c=r.__b)&&c(n);try{e:if("function"==typeof A){if(m=n.props,b=(c=A.contextType)&&_[c.__c],x=c?b?b.props.value:c.__:_,t.__c?y=(f=n.__c=t.__c).__=f.__E:("prototype"in A&&A.prototype.render?n.__c=f=new A(m,x):(n.__c=f=new k(m,x),f.constructor=A,f.render=O),b&&b.sub(f),f.props=m,f.state||(f.state={}),f.context=x,f.__n=_,p=f.__d=!0,f.__h=[],f._sb=[]),null==f.__s&&(f.__s=f.state),null!=A.getDerivedStateFromProps&&(f.__s==f.state&&(f.__s=h({},f.__s)),h(f.__s,A.getDerivedStateFromProps(m,f.__s))),a=f.props,d=f.state,f.__v=n,p)null==A.getDerivedStateFromProps&&null!=f.componentWillMount&&f.componentWillMount(),null!=f.componentDidMount&&f.__h.push(f.componentDidMount);else{if(null==A.getDerivedStateFromProps&&m!==a&&null!=f.componentWillReceiveProps&&f.componentWillReceiveProps(m,x),!f.__e&&null!=f.shouldComponentUpdate&&!1===f.shouldComponentUpdate(m,f.__s,x)||n.__v===t.__v){for(n.__v!==t.__v&&(f.props=m,f.state=f.__s,f.__d=!1),f.__e=!1,n.__e=t.__e,n.__k=t.__k,n.__k.forEach((function(e){e&&(e.__=n)})),C=0;C<f._sb.length;C++)f.__h.push(f._sb[C]);f._sb=[],f.__h.length&&i.push(f);break e}null!=f.componentWillUpdate&&f.componentWillUpdate(m,f.__s,x),null!=f.componentDidUpdate&&f.__h.push((function(){f.componentDidUpdate(a,d,v)}))}if(f.context=x,f.props=m,f.__P=e,S=r.__r,w=0,"prototype"in A&&A.prototype.render){for(f.state=f.__s,f.__d=!1,S&&S(n),c=f.render(f.props,f.state,f.context),E=0;E<f._sb.length;E++)f.__h.push(f._sb[E]);f._sb=[]}else do{f.__d=!1,S&&S(n),c=f.render(f.props,f.state,f.context),f.state=f.__s}while(f.__d&&++w<25);f.state=f.__s,null!=f.getChildContext&&(_=h(h({},_),f.getChildContext())),p||null==f.getSnapshotBeforeUpdate||(v=f.getSnapshotBeforeUpdate(a,d)),U=null!=c&&c.type===g&&null==c.key?c.props.children:c,P(e,Array.isArray(U)?U:[U],n,t,_,l,o,i,u,s),f.base=n.__e,n.__h=null,f.__h.length&&i.push(f),y&&(f.__E=f.__=null),f.__e=!1}else null==o&&n.__v===t.__v?(n.__k=t.__k,n.__e=t.__e):n.__e=M(t.__e,n,t,_,l,o,i,s);(c=r.diffed)&&c(n)}catch(e){n.__v=null,(s||null!=o)&&(n.__e=u,n.__h=!!s,o[o.indexOf(u)]=null),r.__e(e,n,t)}}function L(e,n){r.__c&&r.__c(n,e),e.some((function(n){try{e=n.__h,n.__h=[],e.some((function(e){e.call(n)}))}catch(e){r.__e(e,n.__v)}}))}function M(e,n,t,_,l,r,i,u){var s,c,f,a=t.props,d=n.props,h=n.type,y=0;if("svg"===h&&(l=!0),null!=r)for(;y<r.length;y++)if((s=r[y])&&"setAttribute"in s==!!h&&(h?s.localName===h:3===s.nodeType)){e=s,r[y]=null;break}if(null==e){if(null===h)return document.createTextNode(d);e=l?document.createElementNS("http://www.w3.org/2000/svg",h):document.createElement(h,d.is&&d),r=null,u=!1}if(null===h)a===d||u&&e.data===d||(e.data=d);else{if(r=r&&o.call(e.childNodes),c=(a=t.props||p).dangerouslySetInnerHTML,f=d.dangerouslySetInnerHTML,!u){if(null!=r)for(a={},y=0;y<e.attributes.length;y++)a[e.attributes[y].name]=e.attributes[y].value;(f||c)&&(f&&(c&&f.__html==c.__html||f.__html===e.innerHTML)||(e.innerHTML=f&&f.__html||""))}if(function(e,n,t,_,l){var o;for(o in t)"children"===o||"key"===o||o in n||D(e,o,null,t[o],_);for(o in n)l&&"function"!=typeof n[o]||"children"===o||"key"===o||"value"===o||"checked"===o||t[o]===n[o]||D(e,o,n[o],t[o],_)}(e,d,a,l,u),f)n.__k=[];else if(y=n.props.children,P(e,Array.isArray(y)?y:[y],n,t,_,l&&"foreignObject"!==h,r,i,r?r[0]:t.__k&&b(t,0),u),null!=r)for(y=r.length;y--;)null!=r[y]&&v(r[y]);u||("value"in d&&void 0!==(y=d.value)&&(y!==e.value||"progress"===h&&!y||"option"===h&&y!==a.value)&&D(e,"value",y,a.value,!1),"checked"in d&&void 0!==(y=d.checked)&&y!==e.checked&&D(e,"checked",y,a.checked,!1))}return e}function F(e,n,t){try{"function"==typeof e?e(n):e.current=n}catch(e){r.__e(e,t)}}function H(e,n,t){var _,l;if(r.unmount&&r.unmount(e),(_=e.ref)&&(_.current&&_.current!==e.__e||F(_,null,n)),null!=(_=e.__c)){if(_.componentWillUnmount)try{_.componentWillUnmount()}catch(e){r.__e(e,n)}_.base=_.__P=null,e.__c=void 0}if(_=e.__k)for(l=0;l<_.length;l++)_[l]&&H(_[l],n,t||"function"!=typeof e.type);t||null==e.__e||v(e.__e),e.__=e.__e=e.__d=void 0}function O(e,n,t){return this.constructor(e,t)}function R(e,n,t){var _,l,i;r.__&&r.__(e,n),l=(_="function"==typeof t)?null:t&&t.__k||n.__k,i=[],W(n,e=(!_&&t||n).__k=y(g,null,[e]),l||p,p,void 0!==n.ownerSVGElement,!_&&t?[t]:l?null:n.firstChild?o.call(n.childNodes):null,i,!_&&t?t:l?l.__e:n.firstChild,_),L(i,e)}t.createElement=y,t.h=y,t.createRef=function(){return{current:null}},t.Fragment=g,t.Component=k,t.toChildArray=function e(n,t){return t=t||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some((function(n){e(n,t)})):t.push(n)),t},t.render=R,t.hydrate=function e(n,t){R(n,t,e)},t.cloneElement=function(e,n,t){var _,l,r,i=h({},e.props);for(r in n)"key"==r?_=n[r]:"ref"==r?l=n[r]:i[r]=n[r];return arguments.length>2&&(i.children=arguments.length>3?o.call(arguments,2):t),m(e.type,i,_||e.key,l||e.ref,null)},t.createContext=function(e,n){var t={__c:n="__cC"+f++,__:e,Consumer:function(e,n){return e.children(n)},Provider:function(e){var t,_;return this.getChildContext||(t=[],(_={})[n]=this,this.getChildContext=function(){return _},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&t.some((function(e){e.__e=!0,C(e)}))},this.sub=function(e){t.push(e);var n=e.componentWillUnmount;e.componentWillUnmount=function(){t.splice(t.indexOf(e),1),n&&n.call(e)}}),e.children}};return t.Provider.__=t.Consumer.contextType=t},o=a.slice,t.options=r={__e:function(e,n,t,_){for(var l,o,r;n=n.__;)if((l=n.__c)&&!l.__)try{if((o=l.constructor)&&null!=o.getDerivedStateFromError&&(l.setState(o.getDerivedStateFromError(e)),r=l.__d),null!=l.componentDidCatch&&(l.componentDidCatch(e,_||{}),r=l.__d),r)return l.__E=l}catch(n){e=n}throw e}},i=0,t.isValidElement=function(e){return null!=e&&void 0===e.constructor},k.prototype.setState=function(e,n){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),"function"==typeof e&&(e=e(h({},t),this.props)),e&&h(t,e),null!=e&&this.__v&&(n&&this._sb.push(n),C(this))},k.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),C(this))},k.prototype.render=g,u=[],c="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,S.__r=0,f=0},
|
|
@@ -148,7 +148,7 @@ function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.pa
|
|
|
148
148
|
"4a0674b147": function _(e,t,n,s,i){var r,o;s();const a=e("@bokehjs/core/dom"),l=e("@bokehjs/core/bokeh_events"),h=e("cac5f3ed28");class d extends l.ModelEvent{constructor(e){super(),this.key=e}get event_values(){return{model:this.origin,key:this.key}}}n.KeystrokeEvent=d,r=d,d.__name__="KeystrokeEvent",r.prototype.event_name="keystroke";class c extends h.HTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.output.change,this.write),this.connect(this.model.properties._clears.change,this.clear)}render(){super.render(),this.container=(0,a.div)({class:"terminal-container"}),(0,h.set_size)(this.container,this.model),this.term=this.getNewTerminal(),this.term.onData((e=>{this.handleOnData(e)})),this.webLinksAddon=this.getNewWebLinksAddon(),this.term.loadAddon(this.webLinksAddon),this.term.open(this.container),this.term.onRender((()=>{this._rendered||this.fit()})),this.write(),this.shadow_el.appendChild(this.container)}getNewTerminal(){const e=window;return e.Terminal?new e.Terminal(this.model.options):new e.xtermjs.Terminal(this.model.options)}getNewWebLinksAddon(){return new window.WebLinksAddon.WebLinksAddon}handleOnData(e){this.model.trigger_event(new d(e))}write(){const e=this.model.output;if(null==e||!e.length)return;const t=e.replace(/\r?\n/g,"\r\n");this.term.write(t)}clear(){this.term.clear()}fit(){const e=this.container.offsetWidth,t=this.container.offsetHeight,n=this.term._core._renderService,s=n.dimensions.actualCellWidth||9,i=n.dimensions.actualCellHeight||18;if(null==e||null==t||e<=0||t<=0)return;const r=Math.max(2,Math.floor(e/s)),o=Math.max(1,Math.floor(t/i));this.term.rows===o&&this.term.cols===r||this.term.resize(r,o),this.model.ncols=r,this.model.nrows=o,this._rendered=!0}after_layout(){super.after_layout(),this.fit()}}n.TerminalView=c,c.__name__="TerminalView";class m extends h.HTMLBox{constructor(e){super(e)}}n.Terminal=m,o=m,m.__name__="Terminal",m.__module__="panel.models.terminal",o.prototype.default_view=c,o.define((({Any:e,Int:t,String:n})=>({_clears:[t,0],options:[e,{}],output:[n,""],ncols:[t,0],nrows:[t,0]})))},
|
|
149
149
|
"59f46adc8c": function _(e,t,s,n,a){var o;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=_,o=_,_.__name__="TextAreaInput",_.__module__="panel.models.widgets",o.prototype.default_view=i,o.define((({Boolean:e,Int:t,Nullable:s})=>({auto_grow:[e,!1],max_rows:[s(t),null]})))},
|
|
150
150
|
"a44f0bd49f": function _(e,s,i,t,n){var h;t();const o=e("cac5f3ed28");function c(e){var s=[];for(let t of e){var i={default:t.default,lang:t.lang,local_service:t.localService,name:t.name,voice_uri:t.voiceURI};s.push(i)}return s}class p extends o.HTMLBoxView{initialize(){super.initialize(),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending,this.model.speaking=speechSynthesis.speaking,this._callback=window.setInterval((function(){!speechSynthesis.paused&&speechSynthesis.speaking&&window.speechSynthesis.resume()}),1e4);const e=()=>{"undefined"!=typeof speechSynthesis&&(this.voices=speechSynthesis.getVoices(),this.voices&&(this.model.voices=c(this.voices)))};e(),"undefined"!=typeof speechSynthesis&&void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=e)}remove(){null!=this._callback&&clearInterval(this._callback),speechSynthesis.cancel(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.speak.change,(()=>{this.speak()})),this.connect(this.model.properties.pause.change,(()=>{this.model.pause=!1,speechSynthesis.pause()})),this.connect(this.model.properties.resume.change,(()=>{this.model.resume=!1,speechSynthesis.resume()})),this.connect(this.model.properties.cancel.change,(()=>{this.model.cancel=!1,speechSynthesis.cancel()}))}speak(){let e=new SpeechSynthesisUtterance(this.model.speak.text);if(e.pitch=this.model.speak.pitch,e.volume=this.model.speak.volume,e.rate=this.model.speak.rate,this.model.voices)for(let s of this.voices)s.name===this.model.speak.voice&&(e.voice=s);e.onpause=()=>this.model.paused=!0,e.onstart=()=>{this.model.speaking=!0,this.model.paused=!1,this.model.pending=speechSynthesis.pending},e.onresume=()=>this.model.paused=!1,e.onend=()=>{this.model.speaking=!1,this.model.paused=!1,this.model.pending=speechSynthesis.pending},speechSynthesis.speak(e),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending}render(){super.render(),this.model.voices||(this.model.voices=c(this.voices)),null!=this.model.speak&&this.model.speak.text&&this.speak()}}i.TextToSpeechView=p,p.__name__="TextToSpeechView";class a extends o.HTMLBox{constructor(e){super(e)}}i.TextToSpeech=a,h=a,a.__name__="TextToSpeech",a.__module__="panel.models.text_to_speech",h.prototype.default_view=p,h.define((({Any:e,Array:s,Boolean:i})=>({paused:[i,!1],pending:[i,!1],speaking:[i,!1],voices:[s(e),[]],cancel:[i,!1],pause:[i,!1],resume:[i,!1],speak:[e,{}]})))},
|
|
151
|
-
"
|
|
151
|
+
"81d14820f0": function _(i,e,o,s,t){var n;s();const l=i("@bokehjs/models/ui/icons/tabler_icon"),c=i("@bokehjs/models/ui/icons/svg_icon"),_=i("@bokehjs/models/widgets/control"),a=i("@bokehjs/core/build_views");class d extends _.ControlView{*controls(){}remove(){var i;null===(i=this.icon_view)||void 0===i||i.remove(),super.remove()}async lazy_initialize(){await super.lazy_initialize(),this.was_svg_icon=this.is_svg_icon(this.model.icon),this.icon_view=await this.build_icon_model(this.model.icon,this.was_svg_icon)}*children(){yield*super.children(),yield this.icon_view}is_svg_icon(i){return i.trim().startsWith("<svg")}toggle_value(){this.model.disabled||(this.model.value=!this.model.value,this.update_icon())}connect_signals(){super.connect_signals();const{icon:i,active_icon:e,value:o,disabled:s}=this.model.properties;this.on_change([e,i,o],(()=>this.update_icon())),this.on_change(s,(()=>this.update_cursor()))}render(){super.render(),this.icon_view.render(),this.update_icon(),this.update_cursor(),this.shadow_el.appendChild(this.icon_view.el)}update_cursor(){this.icon_view.el.style.cursor=this.model.disabled?"not-allowed":"pointer"}async build_icon_model(i,e){const o=this.calculate_size();let s;s=e?new c.SVGIcon({svg:i,size:o}):new l.TablerIcon({icon_name:i,size:o});const t=await(0,a.build_view)(s,{parent:this});return t.el.addEventListener("click",(()=>this.toggle_value())),t}async update_icon(){const i=this.model.value?this.get_active_icon():this.model.icon,e=this.is_svg_icon(i);if(this.was_svg_icon!==e){const o=await this.build_icon_model(i,e);o.render(),this.icon_view.remove(),this.icon_view=o,this.was_svg_icon=e,this.update_cursor(),this.shadow_el.appendChild(this.icon_view.el)}else e?this.icon_view.model.svg=i:this.icon_view.model.icon_name=i;this.icon_view.el.style.lineHeight="0"}get_active_icon(){return""!==this.model.active_icon?this.model.active_icon:`${this.model.icon}-filled`}calculate_size(){var i,e;if(null!==this.model.size)return this.model.size;const o=null!==(i=this.model.width)&&void 0!==i?i:15,s=null!==(e=this.model.height)&&void 0!==e?e:15;return`${Math.max(o,s)}px`}}o.ToggleIconView=d,d.__name__="ToggleIconView";class h extends _.Control{constructor(i){super(i)}}o.ToggleIcon=h,n=h,h.__name__="ToggleIcon",h.__module__="panel.models.icon",n.prototype.default_view=d,n.define((({Boolean:i,Nullable:e,String:o})=>({active_icon:[o,""],icon:[o,"heart"],size:[e(o),null],value:[i,!1]})))},
|
|
152
152
|
"74000df4a0": function _(e,s,t,o,i){o();const l=e("tslib");var d;const n=e("@bokehjs/models/ui/tooltip"),c=e("@bokehjs/models/layouts/layout_dom"),r=e("@bokehjs/core/dom"),p=l.__importStar(e("@bokehjs/styles/widgets/inputs.css")),a=p,h=l.__importDefault(e("@bokehjs/styles/icons.css"));class _ extends c.LayoutDOMView{get child_models(){return null==this.model.description?[]:[this.model.description]}connect_signals(){super.connect_signals();const{description:e}=this.model.properties;this.on_change(e,(()=>this.update_children()))}stylesheets(){return[...super.stylesheets(),p.default,h.default]}render(){super.render();const e=(0,r.div)({class:a.icon});this.desc_el=(0,r.div)({class:a.description},e),this.model.description.target=this.desc_el;let s=!1;const t=t=>{this.model.description.setv({visible:t,closable:s}),e.classList.toggle(a.opaque,t&&s)};this.on_change(this.model.description.properties.visible,(()=>{const{visible:e}=this.model.description;e||(s=!1),t(e)})),this.desc_el.addEventListener("mouseenter",(()=>{t(!0)})),this.desc_el.addEventListener("mouseleave",(()=>{s||t(!1)})),document.addEventListener("mousedown",(e=>{const o=e.composedPath(),i=this._child_views.get(this.model.description);void 0!==i&&o.includes(i.el)||(o.includes(this.desc_el)?(s=!s,t(s)):(s=!1,t(!1)))})),window.addEventListener("blur",(()=>{s=!1,t(!1)})),this.shadow_el.appendChild((0,r.label)(this.desc_el))}}t.TooltipIconView=_,_.__name__="TooltipIconView";class u extends c.LayoutDOM{constructor(e){super(e)}}t.TooltipIcon=u,d=u,u.__name__="TooltipIcon",u.__module__="panel.models.widgets",d.prototype.default_view=_,d.define((({Ref:e})=>({description:[e(n.Tooltip),new n.Tooltip]})))},
|
|
153
153
|
"c2c4524e04": function _(t,e,i,l,o){var s;l();const h=t("cac5f3ed28"),a=t("@bokehjs/core/build_views"),n=t("@bokehjs/models/plots"),d=t("@bokehjs/models/glyphs"),r=t("@bokehjs/core/dom"),c=t("@bokehjs/models/sources/column_data_source"),p=t("@bokehjs/models/formatters");class _ extends h.HTMLBoxView{initialize(){super.initialize(),this.containerDiv=(0,r.div)({style:"height:100%; width:100%;"}),this.titleDiv=(0,r.div)({style:"font-size: 1em; word-wrap: break-word;"}),this.valueDiv=(0,r.div)({style:"font-size: 2em"}),this.value2Div=(0,r.div)({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.changeDiv=(0,r.div)({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.textDiv=(0,r.div)({},this.titleDiv,this.valueDiv,(0,r.div)({},this.changeDiv,this.value2Div)),this.updateTitle(),this.updateValue(),this.updateValue2(),this.updateValueChange(),this.updateTextFontSize(),this.plotDiv=(0,r.div)({}),this.containerDiv=(0,r.div)({style:"height:100%; width:100%"},this.textDiv,this.plotDiv),this.updateLayout()}connect_signals(){super.connect_signals();const{pos_color:t,neg_color:e}=this.model.properties;this.on_change([t,e],(()=>this.updateValueChange()));const{plot_color:i,plot_type:l,width:o,height:s,sizing_mode:h}=this.model.properties;this.on_change([i,l,o,s,h],(()=>this.render())),this.connect(this.model.properties.title.change,(()=>this.updateTitle(!0))),this.connect(this.model.properties.value.change,(()=>this.updateValue(!0))),this.connect(this.model.properties.value_change.change,(()=>this.updateValue2(!0))),this.connect(this.model.properties.layout.change,(()=>this.updateLayout()))}async render(){super.render(),this.shadow_el.appendChild(this.containerDiv),await this.setPlot()}async setPlot(){this.plot=new n.Plot({background_fill_color:null,border_fill_color:null,outline_line_color:null,min_border:0,sizing_mode:"stretch_both",toolbar_location:null});var t=this.model.source;if("line"===this.model.plot_type){var e=new d.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:4,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else if("step"===this.model.plot_type){var i=new d.Step({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(i,t)}else if("area"===this.model.plot_type){var l=new d.VArea({x:{field:this.model.plot_x},y1:{field:this.model.plot_y},y2:0,fill_color:this.model.plot_color,fill_alpha:.5});this.plot.add_glyph(l,t);e=new d.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else{var o=new d.VBar({x:{field:this.model.plot_x},top:{field:this.model.plot_y},width:.9,line_color:null,fill_color:this.model.plot_color});this.plot.add_glyph(o,t)}const s=await(0,a.build_view)(this.plot);this.plotDiv.innerHTML="",s.render_to(this.plotDiv)}after_layout(){super.after_layout(),this.updateTextFontSize()}updateTextFontSize(){this.updateTextFontSizeColumn()}updateTextFontSizeColumn(){let t=this.containerDiv.clientWidth,e=this.containerDiv.clientHeight;"column"===this.model.layout?e=Math.round(e/2):t=Math.round(t/2);const i=t/this.model.title.length*2,l=t/(2*this._value_format.length)*1.8,o=t/(this._value_change_format.length+1)*2,s=e/6,h=Math.min(i,l,o,s);this.textDiv.style.fontSize=Math.trunc(h)+"px",this.textDiv.style.lineHeight="1.3"}updateTitle(t=!1){this.titleDiv.innerText=this.model.title,t&&this.updateTextFontSize()}updateValue(t=!1){this._value_format=this.model.formatter.doFormat([this.model.value],{loc:0})[0],this.valueDiv.innerText=this._value_format,t&&this.updateTextFontSize()}updateValue2(t=!1){this._value_change_format=this.model.change_formatter.doFormat([this.model.value_change],{loc:0})[0],this.value2Div.innerText=this._value_change_format,this.updateValueChange(),t&&this.updateTextFontSize()}updateValueChange(){this.model.value_change>0?(this.changeDiv.innerHTML="▲",this.changeDiv.style.color=this.model.pos_color):this.model.value_change<0?(this.changeDiv.innerHTML="▼",this.changeDiv.style.color=this.model.neg_color):(this.changeDiv.innerHTML=" ",this.changeDiv.style.color="inherit")}updateLayout(){"column"===this.model.layout?(this.containerDiv.style.display="block",this.textDiv.style.height="50%",this.textDiv.style.width="100%",this.plotDiv.style.height="50%",this.plotDiv.style.width="100%"):(this.containerDiv.style.display="flex",this.textDiv.style.height="100%",this.textDiv.style.width="",this.plotDiv.style.height="100%",this.plotDiv.style.width="",this.textDiv.style.flex="1",this.plotDiv.style.flex="1"),this._has_finished&&this.invalidate_layout()}}i.TrendIndicatorView=_,_.__name__="TrendIndicatorView";class u extends h.HTMLBox{constructor(t){super(t)}}i.TrendIndicator=u,s=u,u.__name__="TrendIndicator",u.__module__="panel.models.trend",s.prototype.default_view=_,s.define((({Number:t,String:e,Ref:i})=>({description:[e,""],formatter:[i(p.TickFormatter),()=>new p.BasicTickFormatter],change_formatter:[i(p.TickFormatter),()=>new p.NumeralTickFormatter],layout:[e,"column"],source:[i(c.ColumnDataSource)],plot_x:[e,"x"],plot_y:[e,"y"],plot_color:[e,"#428bca"],plot_type:[e,"bar"],pos_color:[e,"#5cb85c"],neg_color:[e,"#d9534f"],title:[e,""],value:[t,0],value_change:[t,0]})))},
|
|
154
154
|
"b396729d22": function _(e,t,s,o,n){var a,i;o();const r=e("@bokehjs/core/dom"),c=e("@bokehjs/core/bokeh_events"),d=e("@bokehjs/core/util/types"),h=e("@bokehjs/models/layouts/layout_dom"),l=e("cac5f3ed28"),_=e("99a25e6992");class u extends c.ModelEvent{constructor(e){super(),this.data=e}get event_values(){return{model:this.origin,data:this.data}}}s.VegaEvent=u,a=u,u.__name__="VegaEvent",a.prototype.event_name="vega_event";class v extends h.LayoutDOMView{constructor(){super(...arguments),this._rendered=!1}connect_signals(){super.connect_signals();const{data:e,show_actions:t,theme:s}=this.model.properties;this._replot=(0,_.debounce)((()=>this._plot()),20),this.on_change([e,t,s],(()=>{this._replot()})),this.connect(this.model.properties.data_sources.change,(()=>this._connect_sources())),this.connect(this.model.properties.events.change,(()=>{for(const e of this.model.events){if(this._callbacks.indexOf(e)>-1)continue;this._callbacks.push(e);const t=(e,t)=>this._dispatch_event(e,t),s=this.model.throttle[e]||20;this.vega_view.addSignalListener(e,(0,_.debounce)(t,s,!1))}})),this._connected=[],this._connect_sources()}_connect_sources(){for(const e in this.model.data_sources){const t=this.model.data_sources[e];this._connected.indexOf(e)<0&&(this.connect(t.properties.data.change,(()=>this._replot())),this._connected.push(e))}}remove(){this.vega_view&&this.vega_view.finalize(),super.remove()}_dispatch_event(e,t){if("vlPoint"in t&&null!=t.vlPoint.or){const e=[];for(const s of t.vlPoint.or)if(void 0!==s._vgsid_)e.push(s._vgsid_);else for(const t in s)s.hasOwnProperty(t)&&e.push({[t]:s[t]});t=e}this.model.trigger_event(new u({type:e,value:t}))}_fetch_datasets(){const e={};for(const t in this.model.data_sources){const s=this.model.data_sources[t],o=[],n=s.columns();for(let e=0;e<s.get_length();e++){const t={};for(const o of n)t[o]=s.data[o][e];o.push(t)}e[t]=o}return e}get child_models(){return[]}render(){super.render(),this._rendered=!1,this.container=(0,r.div)(),(0,l.set_size)(this.container,this.model),this._callbacks=[],this._plot(),this.shadow_el.append(this.container)}_plot(){const e=this.model.data;if(null==e||!window.vegaEmbed)return;if(this.model.data_sources&&Object.keys(this.model.data_sources).length>0){const t=this._fetch_datasets();if("data"in t&&(e.data.values=t.data,delete t.data),null!=e.data){const s=(0,d.isArray)(e.data)?e.data:[e.data];for(const e of s)e.name in t&&(e.values=t[e.name],delete t[e.name])}this.model.data.datasets=t}const t={actions:this.model.show_actions,theme:this.model.theme};window.vegaEmbed(this.container,this.model.data,t).then((e=>{this.vega_view=e.view,this._resize=(0,_.debounce)((()=>this.resize_view(e.view)),50);const t=(e,t)=>this._dispatch_event(e,t);for(const e of this.model.events){this._callbacks.push(e);const s=this.model.throttle[e]||20;this.vega_view.addSignalListener(e,(0,_.debounce)(t,s,!1))}}))}after_layout(){super.after_layout(),null!=this.vega_view&&this._resize()}resize_view(e){const t=e._renderer.canvas();if(!this._rendered&&null!==t){for(const t of e._eventListeners)"resize"===t.type&&t.handler(new Event("resize"));this._rendered=!0}}}s.VegaPlotView=v,v.__name__="VegaPlotView";class m extends h.LayoutDOM{constructor(e){super(e)}}s.VegaPlot=m,i=m,m.__name__="VegaPlot",m.__module__="panel.models.vega",i.prototype.default_view=v,i.define((({Any:e,Array:t,Boolean:s,Nullable:o,String:n})=>({data:[e,{}],data_sources:[e,{}],events:[t(n),[]],show_actions:[s,!1],theme:[o(n),null],throttle:[e,{}]})))},
|
|
@@ -175,4 +175,4 @@ function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.pa
|
|
|
175
175
|
"9cb70c6ab6": function _(e,t,i,s,n){var r;s();const o=e("1de1ccb7ff"),a=e("a76a9b7c23");class l extends o.AbstractVTKView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,(()=>{this._vtk_image_data=(0,a.data2VTKImageData)(this.model.data),this.invalidate_render()})),this.connect(this.model.properties.colormap.change,(()=>{this.colormap_selector.value=this.model.colormap;const e=new Event("change");this.colormap_selector.dispatchEvent(e)})),this.connect(this.model.properties.shadow.change,(()=>{this.shadow_selector.value=this.model.shadow?"1":"0";const e=new Event("change");this.shadow_selector.dispatchEvent(e)})),this.connect(this.model.properties.sampling.change,(()=>{this.sampling_slider.value=this.model.sampling.toFixed(2);const e=new Event("input");this.sampling_slider.dispatchEvent(e)})),this.connect(this.model.properties.edge_gradient.change,(()=>{this.edge_gradient_slider.value=this.model.edge_gradient.toFixed(2);const e=new Event("input");this.edge_gradient_slider.dispatchEvent(e)})),this.connect(this.model.properties.rescale.change,(()=>{this._controllerWidget.setRescaleColorMap(this.model.rescale),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.ambient.change,(()=>{this.volume.getProperty().setAmbient(this.model.ambient),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.diffuse.change,(()=>{this.volume.getProperty().setDiffuse(this.model.diffuse),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.camera.change,(()=>{this._setting_camera||(this._set_camera_state(),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.specular.change,(()=>{this.volume.getProperty().setSpecular(this.model.specular),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.specular_power.change,(()=>{this.volume.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.display_volume.change,(()=>{this._set_volume_visibility(this.model.display_volume),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.display_slices.change,(()=>{this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.slice_i.change,(()=>{void 0!==this.image_actor_i&&(this.image_actor_i.getMapper().setISlice(this.model.slice_i),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.slice_j.change,(()=>{void 0!==this.image_actor_j&&(this.image_actor_j.getMapper().setJSlice(this.model.slice_j),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.slice_k.change,(()=>{void 0!==this.image_actor_k&&(this.image_actor_k.getMapper().setKSlice(this.model.slice_k),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.render_background.change,(()=>{this._vtk_renwin.getRenderer().setBackground(...(0,a.hexToRGB)(this.model.render_background)),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.interpolation.change,(()=>{this._set_interpolation(this.model.interpolation),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.controller_expanded.change,(()=>{null!=this._controllerWidget&&this._controllerWidget.setExpanded(this.model.controller_expanded)})),this.connect(this.model.properties.nan_opacity.change,(()=>{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),c=this.volume.getMapper().getInputData().getPointData().getScalars().getRange();l.removeAllPoints(),l.addPoint(c[0]-1,this.model.nan_opacity),l.addPoint(c[0],1),l.addPoint(c[1],1);const h=t.getProperty();i.setProperty(h),s.setProperty(h),h.setRGBTransferFunction(d),h.setScalarOpacity(l);const _=this._vtk_renwin.getRenderer();_.addActor(t),_.addActor(i),_.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})},
|
|
176
176
|
"66775d6392": function _(e,t,n,i,r){var s;i();const o=e("@bokehjs/core/util/object"),_=e("99a25e6992"),c=e("1de1ccb7ff"),a=e("877619fe71"),h=e("a76a9b7c23"),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 e=(0,_.debounce)((()=>{this._vtk_renwin.delete(),this._vtk_renwin=null,this.invalidate_render()}),20);this.connect(this.model.properties.arrays.change,e),this.connect(this.model.properties.scene.change,e),this.connect(this.model.properties.one_time_reset.change,(()=>{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,o.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})},
|
|
177
177
|
"877619fe71": function _(e,n,o,t,r){t();const i=e("a76a9b7c23"),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(){let 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}},
|
|
178
|
-
}, "4e90918c0a", {"index":"4e90918c0a","models/index":"e678554eae","models/ace":"464e3dc85c","models/layout":"cac5f3ed28","models/audio":"cfb5b1a85b","models/browser":"af84f1061d","models/button":"0e384ee9c4","models/card":"
|
|
178
|
+
}, "4e90918c0a", {"index":"4e90918c0a","models/index":"e678554eae","models/ace":"464e3dc85c","models/layout":"cac5f3ed28","models/audio":"cfb5b1a85b","models/browser":"af84f1061d","models/button":"0e384ee9c4","models/card":"5356bf07b1","models/column":"991bd33955","models/checkbox_button_group":"820473477c","models/comm_manager":"eca6f2cacb","models/customselect":"e258e515be","models/tabulator":"f7b17ce11c","models/data":"4e27eda472","models/datetime_picker":"5fd6501095","models/deckgl":"19b5a68a40","models/tooltips":"9588ab7c9e","models/echarts":"7bc4e47bd5","models/event-to-object":"490942d778","models/file_download":"ab30c7afd7","models/html":"3db2e41978","models/ipywidget":"4dfd782539","models/json":"e954d48822","models/jsoneditor":"3c56a75fcf","models/katex":"001dfd2dde","models/location":"a85ed38ee9","models/mathjax":"ca760ebc92","models/pdf":"46cccf2270","models/perspective":"8349fbd43e","models/player":"9148c6a6f9","models/plotly":"dd1700da9e","models/util":"9f4006d93a","models/progress":"e6caa5bc95","models/quill":"361033d351","models/radio_button_group":"81e6ca704a","models/reactive_html":"0590cf2a27","models/singleselect":"665213fba5","models/speech_to_text":"7651136c44","models/state":"1bb5a1aca6","models/tabs":"8013e805da","models/terminal":"4a0674b147","models/textarea_input":"59f46adc8c","models/text_to_speech":"a44f0bd49f","models/icon":"81d14820f0","models/tooltip_icon":"74000df4a0","models/trend":"c2c4524e04","models/vega":"b396729d22","models/video":"e6e8c94f32","models/videostream":"2dfabe6882","models/vizzu":"dfe3c4a2a9","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"173e6cb054","models/vtk/vtklayout":"1de1ccb7ff","models/vtk/util":"a76a9b7c23","models/vtk/vtkcolorbar":"c010237f8b","models/vtk/vtkaxes":"5a606f3f35","models/vtk/vtkvolume":"9cb70c6ab6","models/vtk/vtksynchronized":"66775d6392","models/vtk/panel_fullscreen_renwin_sync":"877619fe71"}, {});});
|