@perspective-dev/viewer 4.5.0 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cdn/perspective-viewer.js +1 -1
  2. package/dist/cdn/perspective-viewer.js.map +2 -2
  3. package/dist/css/botanical.css +1 -1
  4. package/dist/css/dracula.css +1 -1
  5. package/dist/css/gruvbox-dark.css +1 -1
  6. package/dist/css/gruvbox.css +1 -1
  7. package/dist/css/icons.css +1 -1
  8. package/dist/css/intl/de.css +1 -1
  9. package/dist/css/intl/es.css +1 -1
  10. package/dist/css/intl/fr.css +1 -1
  11. package/dist/css/intl/ja.css +1 -1
  12. package/dist/css/intl/pt.css +1 -1
  13. package/dist/css/intl/zh.css +1 -1
  14. package/dist/css/intl.css +1 -1
  15. package/dist/css/monokai.css +1 -1
  16. package/dist/css/phosphor.css +1 -1
  17. package/dist/css/pro-dark.css +1 -1
  18. package/dist/css/pro.css +1 -1
  19. package/dist/css/solarized-dark.css +1 -1
  20. package/dist/css/solarized.css +1 -1
  21. package/dist/css/themes.css +1 -1
  22. package/dist/css/vaporwave.css +1 -1
  23. package/dist/esm/perspective-viewer.inline.js +1 -1
  24. package/dist/esm/perspective-viewer.inline.js.map +2 -2
  25. package/dist/esm/perspective-viewer.js +1 -1
  26. package/dist/esm/perspective-viewer.js.map +2 -2
  27. package/dist/wasm/perspective-viewer.d.ts +13 -13
  28. package/dist/wasm/perspective-viewer.js +87 -82
  29. package/dist/wasm/perspective-viewer.wasm +0 -0
  30. package/dist/wasm/perspective-viewer.wasm.d.ts +13 -13
  31. package/package.json +1 -1
  32. package/src/css/column-settings-panel.css +9 -3
  33. package/src/css/column-style.css +9 -1
  34. package/src/css/dom/checkbox.css +2 -2
  35. package/src/css/viewer.css +79 -1
  36. package/src/rust/components/column_selector/active_column.rs +3 -0
  37. package/src/rust/components/column_selector/inactive_column.rs +2 -1
  38. package/src/rust/components/column_settings_sidebar/style_tab/primitive_field.rs +1 -0
  39. package/src/rust/components/column_settings_sidebar.rs +1 -0
  40. package/src/rust/components/containers/dragdrop_list.rs +27 -0
  41. package/src/rust/components/editable_header.rs +15 -0
  42. package/src/rust/components/status_bar.rs +1 -1
  43. package/src/rust/components/viewer.rs +78 -2
  44. package/src/rust/renderer.rs +72 -18
  45. package/src/rust/tasks/reset_all.rs +38 -18
  46. package/src/rust/tasks/restore_and_render.rs +23 -12
  47. package/src/rust/tasks/send_column_config.rs +3 -2
  48. package/src/rust/tasks/send_plugin_config.rs +3 -2
  49. package/src/rust/tasks/update_and_render.rs +11 -4
  50. package/src/svg/checkbox-checked-icon.svg +1 -1
  51. package/src/svg/checkbox-unchecked-icon.svg +1 -1
  52. package/src/themes/icons.css +2 -0
  53. package/src/themes/intl/de.css +1 -0
  54. package/src/themes/intl/es.css +1 -0
  55. package/src/themes/intl/fr.css +1 -0
  56. package/src/themes/intl/ja.css +1 -0
  57. package/src/themes/intl/pt.css +1 -0
  58. package/src/themes/intl/zh.css +1 -0
  59. package/src/themes/intl.css +1 -0
  60. /package/dist/wasm/snippets/{perspective-viewer-39ab7da3ca157861 → perspective-viewer-3cd58f0374935772}/inline0.js +0 -0
  61. /package/dist/wasm/snippets/{perspective-viewer-39ab7da3ca157861 → perspective-viewer-3cd58f0374935772}/inline1.js +0 -0
  62. /package/dist/wasm/snippets/{perspective-viewer-39ab7da3ca157861 → perspective-viewer-3cd58f0374935772}/inline2.js +0 -0
  63. /package/dist/wasm/snippets/{perspective-viewer-39ab7da3ca157861 → perspective-viewer-3cd58f0374935772}/inline3.js +0 -0
  64. /package/dist/wasm/snippets/{perspective-viewer-39ab7da3ca157861 → perspective-viewer-3cd58f0374935772}/inline4.js +0 -0
@@ -36,8 +36,9 @@ pub fn send_plugin_config(session: &Session, renderer: &Renderer, update: Column
36
36
  let plugin_config = renderer.get_plugin_config();
37
37
  let plugin_token = wasm_bindgen::JsValue::from_serde_ext(&plugin_config).unwrap();
38
38
  let view_config_snapshot = session.get_view_config().clone();
39
- let columns_configs =
40
- renderer.all_columns_configs_materialized(&view_config_snapshot, &session);
39
+ let columns_configs = renderer
40
+ .all_columns_configs_materialized(&view_config_snapshot, &session)
41
+ .await;
41
42
  renderer
42
43
  .get_active_plugin()?
43
44
  .restore(&plugin_token, Some(&columns_configs))?;
@@ -78,6 +78,13 @@ async fn update_and_render_inner(session: Session, renderer: Renderer) -> ApiRes
78
78
  }
79
79
 
80
80
  let plugin_swapped = renderer.apply_pending_plugin()?;
81
+
82
+ // Validate + create the view BEFORE the plugin-swap materialize
83
+ // so the schema query sees fresh `expression_schema` /
84
+ // `view_schema` and `resolve_abs_max` has a bound view that
85
+ // knows about any new expression columns.
86
+ let view = session.validate().await?.create_view().await?;
87
+
81
88
  if plugin_swapped {
82
89
  // `commit_plugin_idx` already restored the new plugin from its
83
90
  // raw bucket; re-run with the materialized snapshot so any
@@ -91,13 +98,13 @@ async fn update_and_render_inner(session: Session, renderer: Renderer) -> ApiRes
91
98
  let view_config_snapshot = session.get_view_config().clone();
92
99
  let plugin_token = wasm_bindgen::JsValue::from_serde_ext(&renderer.get_plugin_config())
93
100
  .unwrap_or(wasm_bindgen::JsValue::NULL);
94
- let columns_config =
95
- renderer.all_columns_configs_materialized(&view_config_snapshot, &session);
101
+ let columns_config = renderer
102
+ .all_columns_configs_materialized(&view_config_snapshot, &session)
103
+ .await;
96
104
  renderer
97
105
  .get_active_plugin()?
98
106
  .restore(&plugin_token, Some(&columns_config))?;
99
107
  }
100
108
 
101
- let view = session.validate().await?;
102
- renderer.draw(view.create_view()).await
109
+ renderer.draw(async { Ok(view) }).await
103
110
  }
@@ -2,6 +2,6 @@
2
2
  <defs></defs>
3
3
  <path
4
4
  d="M 2 0 L 12 0 C 13.105 0 14 0.895 14 2 L 14 12 C 14 13.105 13.105 14 12 14 L 2 14 C 0.895 14 0 13.105 0 12 L 0 2 C 0 0.895 0.895 0 2 0 Z M 3.646 7.354 L 5.646 9.354 L 6 9.707 L 6.354 9.354 L 10.854 4.854 L 10.146 4.146 L 6 8.293 L 4.354 6.646 Z"
5
- fill="#FFFFFF"></path>
5
+ fill="#000000"></path>
6
6
  <path d="M4 7L6 9L10.5 4.5" style="visibility: hidden;"></path>
7
7
  </svg>
@@ -1,3 +1,3 @@
1
1
  <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="0.5" y="0.5" width="13" height="13" rx="1.5" stroke="#FFFFFF" />
2
+ <rect x="0.5" y="0.5" width="13" height="13" rx="1.5" stroke="#000000" />
3
3
  </svg>
@@ -34,6 +34,8 @@ perspective-string-column-style {
34
34
  --psp-icon--radio-on--mask-image: url("../svg/radio-on.svg");
35
35
  --psp-icon--radio-hover--mask-image: url("../svg/radio-hover.svg");
36
36
  --psp-icon--radio-off--mask-image: url("../svg/radio-off.svg");
37
+ /* --psp-icon--checkbox-checked--mask-image: url("../svg/checkbox-checked-icon.svg");
38
+ --psp-icon--checkbox-unchecked--mask-image: url("../svg/checkbox-unchecked-icon.svg"); */
37
39
  --psp-icon--checkbox-on--mask-image: url("../svg/checkbox-on.svg");
38
40
  --psp-icon--checkbox-hover--mask-image: url("../svg/checkbox-hover.svg");
39
41
  --psp-icon--checkbox-off--mask-image: url("../svg/checkbox-off.svg");
@@ -80,6 +80,7 @@ perspective-dropdown {
80
80
  --psp-label--style--content: "Stil";
81
81
  --psp-label--stack--content: "Stapel";
82
82
  --psp-label--alt-axis--content: "Zweite Achse";
83
+ --psp-label--interpolate--content: "Interpolieren";
83
84
  --psp-label--minimum-integer-digits--content: "Mindestanzahl ganzzahliger Ziffern";
84
85
  --psp-label--rounding-increment--content: "Rundungsinkrement";
85
86
  --psp-label--notation--content: "Notation";
@@ -80,6 +80,7 @@ perspective-dropdown {
80
80
  --psp-label--style--content: "Estilo";
81
81
  --psp-label--stack--content: "Apilar";
82
82
  --psp-label--alt-axis--content: "Eje Alterno";
83
+ --psp-label--interpolate--content: "Interpolar";
83
84
  --psp-label--minimum-integer-digits--content: "Dígitos enteros mínimos";
84
85
  --psp-label--rounding-increment--content: "Incremento de redondeo";
85
86
  --psp-label--notation--content: "Notación";
@@ -80,6 +80,7 @@ perspective-dropdown {
80
80
  --psp-label--style--content: "Style";
81
81
  --psp-label--stack--content: "Empiler";
82
82
  --psp-label--alt-axis--content: "Axe alternatif";
83
+ --psp-label--interpolate--content: "Interpoler";
83
84
  --psp-label--minimum-integer-digits--content: "Chiffres entiers minimaux";
84
85
  --psp-label--rounding-increment--content: "Incrément d'arrondi";
85
86
  --psp-label--notation--content: "Notation";
@@ -81,6 +81,7 @@ perspective-dropdown {
81
81
  --psp-label--style--content: "スタイル";
82
82
  --psp-label--stack--content: "スタック";
83
83
  --psp-label--alt-axis--content: "副軸";
84
+ --psp-label--interpolate--content: "補間";
84
85
  --psp-label--minimum-integer-digits--content: "整数の最小桁数";
85
86
  --psp-label--rounding-increment--content: "丸め増分";
86
87
  --psp-label--notation--content: "表記";
@@ -80,6 +80,7 @@ perspective-dropdown {
80
80
  --psp-label--style--content: "Estilo";
81
81
  --psp-label--stack--content: "Empilhar";
82
82
  --psp-label--alt-axis--content: "Eixo Alternativo";
83
+ --psp-label--interpolate--content: "Interpolar";
83
84
  --psp-label--minimum-integer-digits--content: "Dígitos inteiros mínimos";
84
85
  --psp-label--rounding-increment--content: "Incremento de arredondamento";
85
86
  --psp-label--notation--content: "Notação";
@@ -80,6 +80,7 @@ perspective-dropdown {
80
80
  --psp-label--style--content: "风格";
81
81
  --psp-label--stack--content: "堆叠";
82
82
  --psp-label--alt-axis--content: "副轴";
83
+ --psp-label--interpolate--content: "插值";
83
84
  --psp-label--minimum-integer-digits--content: "最小整数位数";
84
85
  --psp-label--rounding-increment--content: "舍入增量";
85
86
  --psp-label--notation--content: "符号";
@@ -132,4 +132,5 @@ perspective-dropdown {
132
132
  --psp-label--gradient-heat-max--content: "Heat max";
133
133
  --psp-label--map-tile-provider--content: "Map provider";
134
134
  --psp-label--map-tile-alpha--content: "Map opacity";
135
+ --psp-label--interpolate--content: "Interpolate null";
135
136
  }