@holoviz/panel 1.9.0 → 1.9.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/panel.js CHANGED
@@ -130,11 +130,11 @@
130
130
  __esExport("QuillInput", quill_1.QuillInput);
131
131
  var radio_button_group_1 = require("25e2d7c208") /* ./radio_button_group */;
132
132
  __esExport("RadioButtonGroup", radio_button_group_1.RadioButtonGroup);
133
- var react_component_1 = require("529fb470ea") /* ./react_component */;
133
+ var react_component_1 = require("d89e70455a") /* ./react_component */;
134
134
  __esExport("ReactComponent", react_component_1.ReactComponent);
135
135
  var reactive_html_1 = require("d5752cda5a") /* ./reactive_html */;
136
136
  __esExport("ReactiveHTML", reactive_html_1.ReactiveHTML);
137
- var reactive_esm_1 = require("a5f4225d5f") /* ./reactive_esm */;
137
+ var reactive_esm_1 = require("5cb5357866") /* ./reactive_esm */;
138
138
  __esExport("ReactiveESM", reactive_esm_1.ReactiveESM);
139
139
  var singleselect_1 = require("4155401209") /* ./singleselect */;
140
140
  __esExport("SingleSelect", singleselect_1.SingleSelect);
@@ -778,7 +778,7 @@
778
778
  "1f663ffe94": /* models/anywidget_component.js */ function _(require, module, exports, __esModule, __esExport) {
779
779
  var _a;
780
780
  __esModule();
781
- const reactive_esm_1 = require("a5f4225d5f") /* ./reactive_esm */;
781
+ const reactive_esm_1 = require("5cb5357866") /* ./reactive_esm */;
782
782
  class AnyWidgetModelAdapter {
783
783
  constructor(model) {
784
784
  this.view = null;
@@ -942,7 +942,7 @@ export default {render}`;
942
942
  _a.prototype.default_view = AnyWidgetComponentView;
943
943
  })();
944
944
  },
945
- "a5f4225d5f": /* models/reactive_esm.js */ function _(require, module, exports, __esModule, __esExport) {
945
+ "5cb5357866": /* models/reactive_esm.js */ function _(require, module, exports, __esModule, __esExport) {
946
946
  var _a, _b, _c;
947
947
  __esModule();
948
948
  exports.model_getter = model_getter;
@@ -1135,7 +1135,6 @@ export default {render}`;
1135
1135
  this.accessed_properties = [];
1136
1136
  this.accessed_children = [];
1137
1137
  this.compiled_module = null;
1138
- this._changing = false;
1139
1138
  this._child_rendered = new Map();
1140
1139
  this._event_handlers = [];
1141
1140
  this._lifecycle_handlers = new Map([
@@ -1188,7 +1187,7 @@ export default {render}`;
1188
1187
  });
1189
1188
  const child_props = this.model.children.map((child) => this.model.data.properties[child]);
1190
1189
  for (const cp of child_props) {
1191
- cp.change.connect(() => this.update_children());
1190
+ this.connect(cp.change, () => this.update_children());
1192
1191
  }
1193
1192
  this.on_change([], () => {
1194
1193
  if (this.model.render_policy !== "manual") {
@@ -1359,7 +1358,8 @@ export default {render}`;
1359
1358
  (this._lifecycle_handlers.get(lf) || []).splice(0);
1360
1359
  }
1361
1360
  this.model.disconnect_watchers(this);
1362
- this.model.render_module.then((mod) => mod.default.render(this.model.id));
1361
+ const render_promise = this.model.render_module.then((mod) => mod.default.render(this.model.id));
1362
+ this._await_ready(render_promise);
1363
1363
  }
1364
1364
  render_children() {
1365
1365
  for (const child of this.accessed_children) {
@@ -1412,7 +1412,7 @@ export default {render}`;
1412
1412
  this._mounted.clear();
1413
1413
  }
1414
1414
  after_resize() {
1415
- if (this._rendered && !this._changing) {
1415
+ if (this._rendered) {
1416
1416
  super.after_resize();
1417
1417
  for (const cb of (this._lifecycle_handlers.get("resize") || [])) {
1418
1418
  cb();
@@ -1421,7 +1421,7 @@ export default {render}`;
1421
1421
  }
1422
1422
  after_layout() {
1423
1423
  super.after_layout();
1424
- if (this._rendered && !this._changing) {
1424
+ if (this._rendered) {
1425
1425
  for (const cb of (this._lifecycle_handlers.get("after_layout") || [])) {
1426
1426
  cb();
1427
1427
  }
@@ -1580,11 +1580,34 @@ export default {render}`;
1580
1580
  check();
1581
1581
  });
1582
1582
  }
1583
- orig_cb();
1584
1583
  if (view && this.render_policy === "manual") {
1584
+ let resolve_ready;
1585
+ view.root._await_ready(new Promise((r) => { resolve_ready = r; }));
1586
+ orig_cb();
1585
1587
  view.render_children();
1586
1588
  view._update_children();
1587
1589
  view.invalidate_layout();
1590
+ // Collect ready promises from all newly rendered descendants
1591
+ const collect_ready = (v) => {
1592
+ const promises = [v.ready];
1593
+ for (const child of v.child_views || []) {
1594
+ promises.push(...collect_ready(child));
1595
+ }
1596
+ return promises;
1597
+ };
1598
+ const all_ready = [];
1599
+ for (const child_view of view.child_views) {
1600
+ all_ready.push(...collect_ready(child_view));
1601
+ }
1602
+ if (all_ready.length > 0) {
1603
+ Promise.all(all_ready).then(() => resolve_ready());
1604
+ }
1605
+ else {
1606
+ resolve_ready();
1607
+ }
1608
+ }
1609
+ else {
1610
+ orig_cb();
1588
1611
  }
1589
1612
  };
1590
1613
  }
@@ -29501,7 +29524,7 @@ ${namesToRegister
29501
29524
  }));
29502
29525
  })();
29503
29526
  },
29504
- "529fb470ea": /* models/react_component.js */ function _(require, module, exports, __esModule, __esExport) {
29527
+ "d89e70455a": /* models/react_component.js */ function _(require, module, exports, __esModule, __esExport) {
29505
29528
  var _a;
29506
29529
  __esModule();
29507
29530
  const build_views_1 = require("@bokehjs/core/build_views");
@@ -29509,7 +29532,7 @@ ${namesToRegister
29509
29532
  const array_1 = require("@bokehjs/core/util/array");
29510
29533
  const assert_1 = require("@bokehjs/core/util/assert");
29511
29534
  const types_1 = require("@bokehjs/core/util/types");
29512
- const reactive_esm_1 = require("a5f4225d5f") /* ./reactive_esm */;
29535
+ const reactive_esm_1 = require("5cb5357866") /* ./reactive_esm */;
29513
29536
  class HostedStyleSheet extends dom_1.InlineStyleSheet {
29514
29537
  constructor(css, id, persistent = false, host_id = "") {
29515
29538
  super(css, id, persistent);
@@ -29570,7 +29593,9 @@ ${namesToRegister
29570
29593
  this.model_getter = reactive_esm_1.model_getter;
29571
29594
  this.model_setter = reactive_esm_1.model_setter;
29572
29595
  this.react_root = null;
29596
+ this.mounted = false;
29573
29597
  this._force_update_callbacks = [];
29598
+ this._mounted_resolve = null;
29574
29599
  this._scheduled_removals = [];
29575
29600
  }
29576
29601
  initialize() {
@@ -29588,6 +29613,7 @@ ${namesToRegister
29588
29613
  if (this.model.compiled === null || this.model.render_module === null) {
29589
29614
  return;
29590
29615
  }
29616
+ this._rendered = false;
29591
29617
  if (this.model.usesMui) {
29592
29618
  if (this.model.root_node) {
29593
29619
  this.style_cache = document.head;
@@ -29602,9 +29628,13 @@ ${namesToRegister
29602
29628
  (this._lifecycle_handlers.get(lf) || []).splice(0);
29603
29629
  }
29604
29630
  this.model.disconnect_watchers(this);
29631
+ const mounted_promise = new Promise((resolve) => {
29632
+ this._mounted_resolve = resolve;
29633
+ });
29605
29634
  this.model.render_module.then((mod) => {
29606
29635
  this.react_root = mod.default.render(this.model.id);
29607
29636
  });
29637
+ this._await_ready(mounted_promise);
29608
29638
  }
29609
29639
  on_force_update(cb) {
29610
29640
  this._force_update_callbacks.push(cb);
@@ -29616,6 +29646,7 @@ ${namesToRegister
29616
29646
  }
29617
29647
  remove() {
29618
29648
  this._force_update_callbacks = [];
29649
+ this.mounted = false;
29619
29650
  if (this.react_root && this.use_shadow_dom) {
29620
29651
  super.remove();
29621
29652
  this.react_root.then((root) => root && root.unmount());
@@ -29668,6 +29699,7 @@ ${namesToRegister
29668
29699
  this.react_root.then((root) => root.unmount());
29669
29700
  }
29670
29701
  this._force_update_callbacks = [];
29702
+ this.mounted = false;
29671
29703
  super.render();
29672
29704
  }
29673
29705
  r_after_render() {
@@ -29741,6 +29773,10 @@ ${namesToRegister
29741
29773
  }
29742
29774
  _on_mounted() {
29743
29775
  this.invalidate_layout();
29776
+ this.mounted = true;
29777
+ }
29778
+ has_finished() {
29779
+ return super.has_finished() && this._rendered;
29744
29780
  }
29745
29781
  patch_container(container) {
29746
29782
  this.el = this.container = container;
@@ -29759,6 +29795,21 @@ ${namesToRegister
29759
29795
  }
29760
29796
  }
29761
29797
  this._rendered = true;
29798
+ if (this._mounted_resolve) {
29799
+ const resolve = this._mounted_resolve;
29800
+ this._mounted_resolve = null;
29801
+ const child_ready = [];
29802
+ for (const child_view of this.child_views) {
29803
+ child_ready.push(child_view.ready);
29804
+ }
29805
+ if (child_ready.length > 0) {
29806
+ Promise.all(child_ready).then(() => resolve());
29807
+ }
29808
+ else {
29809
+ resolve();
29810
+ }
29811
+ }
29812
+ this.finish();
29762
29813
  }
29763
29814
  }
29764
29815
  exports.ReactComponentView = ReactComponentView;
@@ -29864,31 +29915,29 @@ async function render(id) {
29864
29915
  const view = this.view
29865
29916
  this.render_callback = (new_views) => {
29866
29917
  const view = this.view
29867
- if (!view) {
29918
+ if (!view || !new_views.includes(view)) {
29868
29919
  return
29869
29920
  }
29870
29921
  this.updateElement()
29871
- if (new_views.includes(view)) {
29872
- if (this.use_shadow_dom) {
29922
+ if (this.use_shadow_dom) {
29923
+ for (const view of this.props.parent._scheduled_removals) { view.remove() }
29924
+ this.props.parent._scheduled_removals = []
29925
+ this.props.parent.rerender_(view)
29926
+ this.props.parent._child_rendered.set(view, true)
29927
+ } else {
29928
+ view.patch_container(this.containerRef.current)
29929
+ view.model.render_module.then(async (mod) => {
29873
29930
  for (const view of this.props.parent._scheduled_removals) { view.remove() }
29874
29931
  this.props.parent._scheduled_removals = []
29875
- this.props.parent.rerender_(view)
29876
- this.props.parent._child_rendered.set(view, true)
29877
- } else {
29878
- view.patch_container(this.containerRef.current)
29879
- view.model.render_module.then(async (mod) => {
29880
- for (const view of this.props.parent._scheduled_removals) { view.remove() }
29881
- this.props.parent._scheduled_removals = []
29882
- this.setState(
29883
- {rendered: await mod.default.render(view.model.id)},
29884
- () => {
29885
- this.props.parent.notify_mount(this.props.name, view.model.id)
29886
- this.view.r_after_render()
29887
- this.view.after_rendered()
29888
- }
29889
- )
29890
- })
29891
- }
29932
+ this.setState(
29933
+ {rendered: await mod.default.render(view.model.id)},
29934
+ () => {
29935
+ this.props.parent.notify_mount(this.props.name, view.model.id)
29936
+ this.view.r_after_render()
29937
+ this.view.after_rendered()
29938
+ }
29939
+ )
29940
+ })
29892
29941
  }
29893
29942
  }
29894
29943
  this.props.parent.on_child_render(this.props.name, this.render_callback)
@@ -30024,27 +30073,27 @@ async function render(id) {
30024
30073
  })
30025
30074
 
30026
30075
  class ErrorBoundary extends React.Component {
30027
- constructor(props) {
30028
- super(props)
30029
- // initialize the error state
30030
- this.state = { hasError: false }
30031
- }
30076
+ constructor(props) {
30077
+ super(props)
30078
+ // initialize the error state
30079
+ this.state = { hasError: false }
30080
+ }
30032
30081
 
30033
- // if an error happened, set the state to true
30034
- static getDerivedStateFromError(error) {
30035
- return { hasError: true }
30036
- }
30082
+ // if an error happened, set the state to true
30083
+ static getDerivedStateFromError(error) {
30084
+ return { hasError: true }
30085
+ }
30037
30086
 
30038
- componentDidCatch(error) {
30039
- this.props.view.render_error(error)
30040
- }
30087
+ componentDidCatch(error) {
30088
+ this.props.view.render_error(error)
30089
+ }
30041
30090
 
30042
- render() {
30043
- if (this.state.hasError) {
30044
- return React.createElement('div')
30091
+ render() {
30092
+ if (this.state.hasError) {
30093
+ return React.createElement('div')
30094
+ }
30095
+ return React.createElement('div', {className: "error-wrapper"}, this.props.children)
30045
30096
  }
30046
- return React.createElement('div', {className: "error-wrapper"}, this.props.children)
30047
- }
30048
30097
  }
30049
30098
 
30050
30099
  class Component extends React.Component {
@@ -30060,7 +30109,6 @@ async function render(id) {
30060
30109
  ${init_code}
30061
30110
  this.forceUpdate()
30062
30111
  })
30063
- this.props.view._changing = false
30064
30112
  this.props.view.after_rendered()
30065
30113
  }
30066
30114
 
@@ -30080,7 +30128,6 @@ async function render(id) {
30080
30128
  return rendered
30081
30129
  }
30082
30130
  if (rendered) {
30083
- view._changing = true
30084
30131
  let container
30085
30132
  if (view.model.root_node) {
30086
30133
  container = document.querySelector(view.model.root_node)
@@ -41321,5 +41368,5 @@ ${compiled}`;
41321
41368
  util_1.vtkns.FullScreenRenderWindowSynchronized = FullScreenRenderWindowSynchronized;
41322
41369
  }
41323
41370
  },
41324
- }, "4e90918c0a", {"index":"4e90918c0a","models/index":"2fe1822b2b","models/ace":"5fa2fb81b3","models/layout":"dab42e6dad","models/util":"aa07eb54cc","models/anywidget_component":"1f663ffe94","models/reactive_esm":"a5f4225d5f","models/event-to-object":"a572dba9cd","models/html":"4c04683fdc","styles/models/html.css":"9b8139e439","styles/models/esm.css":"727a14f76b","models/audio":"fd59c985b3","models/browser":"5a16cc23e6","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"6c7fbea0ef","models/card":"31556103c8","models/column":"b273e5b2fb","styles/models/card.css":"6342ac8e26","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"1bec1b1fcc","models/customselect":"92bbd30bd1","models/multiselect":"27b5580835","models/tabulator":"b90fc40725","models/data":"be689f0377","styles/models/tabulator.css":"3d732ff91f","models/datetime_picker":"100965d6f3","models/datetime_slider":"c97cc0eade","models/deckgl":"d58ba73420","models/lumagl":"16d69e2b49","models/tooltips":"f8f8ea4284","models/discrete_player":"0dca2cd4f6","models/player":"96e805ccb5","models/echarts":"ec1ecef6a0","models/feed":"f9c84aaf3d","models/file_download":"84a13dddfb","models/file_dropper":"8531319d94","styles/models/filedropper.css":"c03dd3c931","models/ipywidget":"8a8089cbf3","models/json":"245cd3cfde","models/jsoneditor":"33e664043e","styles/models/jsoneditor.css":"317a12d360","models/katex":"f672d71a9f","models/location":"9012b81346","models/mathjax":"d889a68424","models/modal":"9a342a6757","styles/models/modal.css":"be4b4352c6","models/pdf":"f87ad1873c","models/perspective":"29a0b0da9a","styles/models/perspective.css":"2e2913ea54","models/plotly":"59dbae0a77","styles/models/plotly.css":"3d56c75186","models/progress":"b1f4d68596","models/quill":"a8f2a01dfe","models/radio_button_group":"25e2d7c208","models/react_component":"529fb470ea","models/reactive_html":"d5752cda5a","models/singleselect":"4155401209","models/speech_to_text":"5ac2cab0ab","models/state":"92822cb73a","models/tabs":"fffb4344f7","models/terminal":"a961b5ae5e","models/text_input":"8be416b160","models/text_to_speech":"a04eb51988","models/time_picker":"1afcab4e45","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"29d55a28a9","models/vega":"22dbf7c070","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"1f7bc1f95b","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"18592eecef","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
41371
+ }, "4e90918c0a", {"index":"4e90918c0a","models/index":"2fe1822b2b","models/ace":"5fa2fb81b3","models/layout":"dab42e6dad","models/util":"aa07eb54cc","models/anywidget_component":"1f663ffe94","models/reactive_esm":"5cb5357866","models/event-to-object":"a572dba9cd","models/html":"4c04683fdc","styles/models/html.css":"9b8139e439","styles/models/esm.css":"727a14f76b","models/audio":"fd59c985b3","models/browser":"5a16cc23e6","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"6c7fbea0ef","models/card":"31556103c8","models/column":"b273e5b2fb","styles/models/card.css":"6342ac8e26","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"1bec1b1fcc","models/customselect":"92bbd30bd1","models/multiselect":"27b5580835","models/tabulator":"b90fc40725","models/data":"be689f0377","styles/models/tabulator.css":"3d732ff91f","models/datetime_picker":"100965d6f3","models/datetime_slider":"c97cc0eade","models/deckgl":"d58ba73420","models/lumagl":"16d69e2b49","models/tooltips":"f8f8ea4284","models/discrete_player":"0dca2cd4f6","models/player":"96e805ccb5","models/echarts":"ec1ecef6a0","models/feed":"f9c84aaf3d","models/file_download":"84a13dddfb","models/file_dropper":"8531319d94","styles/models/filedropper.css":"c03dd3c931","models/ipywidget":"8a8089cbf3","models/json":"245cd3cfde","models/jsoneditor":"33e664043e","styles/models/jsoneditor.css":"317a12d360","models/katex":"f672d71a9f","models/location":"9012b81346","models/mathjax":"d889a68424","models/modal":"9a342a6757","styles/models/modal.css":"be4b4352c6","models/pdf":"f87ad1873c","models/perspective":"29a0b0da9a","styles/models/perspective.css":"2e2913ea54","models/plotly":"59dbae0a77","styles/models/plotly.css":"3d56c75186","models/progress":"b1f4d68596","models/quill":"a8f2a01dfe","models/radio_button_group":"25e2d7c208","models/react_component":"d89e70455a","models/reactive_html":"d5752cda5a","models/singleselect":"4155401209","models/speech_to_text":"5ac2cab0ab","models/state":"92822cb73a","models/tabs":"fffb4344f7","models/terminal":"a961b5ae5e","models/text_input":"8be416b160","models/text_to_speech":"a04eb51988","models/time_picker":"1afcab4e45","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"29d55a28a9","models/vega":"22dbf7c070","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"1f7bc1f95b","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"18592eecef","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
41325
41372
  //# sourceMappingURL=panel.js.map