@perspective-dev/viewer 4.5.2 → 5.1.0
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/cdn/perspective-viewer.js +20 -1
- package/dist/cdn/perspective-viewer.js.map +4 -4
- package/dist/css/botanical.css +1 -1
- package/dist/css/dracula.css +1 -1
- package/dist/css/gruvbox-dark.css +1 -1
- package/dist/css/gruvbox.css +1 -1
- package/dist/css/icons.css +1 -1
- package/dist/css/intl/de.css +1 -1
- package/dist/css/intl/es.css +1 -1
- package/dist/css/intl/fr.css +1 -1
- package/dist/css/intl/ja.css +1 -1
- package/dist/css/intl/pt.css +1 -1
- package/dist/css/intl/zh.css +1 -1
- package/dist/css/intl.css +1 -1
- package/dist/css/monokai.css +1 -1
- package/dist/css/phosphor.css +1 -1
- package/dist/css/pro-dark.css +1 -1
- package/dist/css/pro.css +1 -1
- package/dist/css/solarized-dark.css +1 -1
- package/dist/css/solarized.css +1 -1
- package/dist/css/themes.css +1 -1
- package/dist/css/vaporwave.css +1 -1
- package/dist/esm/extensions.d.ts +22 -3
- package/dist/esm/perspective-viewer.d.ts +9 -0
- package/dist/esm/perspective-viewer.inline.js +20 -1
- package/dist/esm/perspective-viewer.inline.js.map +4 -4
- package/dist/esm/perspective-viewer.js +20 -1
- package/dist/esm/perspective-viewer.js.map +4 -4
- package/dist/esm/plugin.d.ts +71 -5
- package/dist/esm/ts-rs/ClientOptions.d.ts +7 -0
- package/dist/esm/ts-rs/ExportMethod.d.ts +1 -0
- package/dist/esm/ts-rs/ExportOptions.d.ts +9 -0
- package/dist/esm/ts-rs/GetClientOptions.d.ts +8 -0
- package/dist/esm/ts-rs/GetTableOptions.d.ts +8 -0
- package/dist/esm/ts-rs/Layout.d.ts +11 -0
- package/dist/esm/ts-rs/Orientation.d.ts +4 -0
- package/dist/esm/ts-rs/PanelOptions.d.ts +7 -0
- package/dist/esm/ts-rs/PanelViewerConfig.d.ts +41 -0
- package/dist/esm/ts-rs/SplitLayout.d.ts +7 -0
- package/dist/esm/ts-rs/TabLayout.d.ts +10 -0
- package/dist/esm/ts-rs/ViewerConfig.d.ts +8 -2
- package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +9 -0
- package/dist/esm/ts-rs/WindowAggregate.d.ts +1 -0
- package/dist/esm/ts-rs/WindowSort.d.ts +7 -0
- package/dist/esm/ts-rs/WindowSortDir.d.ts +6 -0
- package/dist/esm/ts-rs/WindowSpec.d.ts +46 -0
- package/dist/esm/ts-rs/Windows.d.ts +10 -0
- package/dist/esm/ts-rs/WorkspaceConfig.d.ts +40 -0
- package/dist/esm/ts-rs/WorkspaceConfigUpdate.d.ts +28 -0
- package/dist/wasm/perspective-viewer.d.ts +299 -78
- package/dist/wasm/perspective-viewer.js +544 -186
- package/dist/wasm/perspective-viewer.wasm +0 -0
- package/dist/wasm/perspective-viewer.wasm.d.ts +34 -26
- package/dist/wasm/snippets/perspective-viewer-8a8c7d5d696b43ae/inline0.js +6 -0
- package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline3.js → perspective-viewer-8a8c7d5d696b43ae/inline4.js} +5 -0
- package/package.json +3 -2
- package/src/css/_context_menu.css +14 -0
- package/src/css/column-selector.css +1 -0
- package/src/css/column-settings-panel.css +68 -3
- package/src/css/column-style.css +4 -3
- package/src/css/config-selector.css +22 -1
- package/src/css/containers/context-menu.css +107 -0
- package/src/css/containers/tabs.css +2 -2
- package/src/css/panel-tab.css +193 -0
- package/src/css/plugin-selector.css +7 -10
- package/src/css/status-bar.css +75 -81
- package/src/css/viewer.css +188 -70
- package/src/rust/components/column_dropdown.rs +40 -30
- package/src/rust/components/column_selector/active_column.rs +28 -45
- package/src/rust/components/column_selector/aggregate_selector.rs +4 -7
- package/src/rust/components/column_selector/column_selector_column_row.rs +73 -0
- package/src/rust/components/column_selector/config_selector.rs +40 -82
- package/src/rust/components/column_selector/expr_edit_button.rs +7 -1
- package/src/rust/components/column_selector/filter_column.rs +5 -15
- package/src/rust/components/column_selector/inactive_column.rs +11 -9
- package/src/rust/components/column_selector/sort_column.rs +3 -6
- package/src/rust/components/column_selector.rs +25 -14
- package/src/rust/components/column_settings_sidebar/style_tab.rs +2 -1
- package/src/rust/components/column_settings_sidebar/window_tab.rs +34 -0
- package/src/rust/components/column_settings_sidebar.rs +163 -16
- package/src/rust/components/containers/dragdrop_list.rs +73 -3
- package/src/rust/components/containers/sidebar.rs +99 -22
- package/src/rust/components/containers/split_panel.rs +181 -62
- package/src/rust/components/context_menu.rs +130 -0
- package/src/rust/components/editable_header.rs +2 -0
- package/src/rust/components/form/debug.rs +3 -0
- package/src/rust/components/global_filter_bar.rs +76 -0
- package/src/rust/components/main_panel/frame_theme.rs +186 -0
- package/src/rust/components/main_panel/msg.rs +62 -0
- package/src/rust/components/main_panel/presize.rs +220 -0
- package/src/rust/components/main_panel/reconcile.rs +224 -0
- package/src/rust/components/main_panel/render.rs +385 -0
- package/src/rust/components/main_panel/update.rs +184 -0
- package/src/rust/components/main_panel.rs +316 -71
- package/src/rust/components/mod.rs +5 -0
- package/src/rust/components/panel_menu.rs +493 -0
- package/src/rust/components/panel_tab.rs +510 -0
- package/src/rust/components/plugin_tab.rs +1 -1
- package/src/rust/components/portal.rs +7 -0
- package/src/rust/components/settings_panel.rs +13 -5
- package/src/rust/components/status_bar.rs +110 -178
- package/src/rust/components/status_indicator.rs +6 -9
- package/src/rust/components/style/mod.rs +5 -0
- package/src/rust/components/style/style_provider.rs +2 -0
- package/src/rust/components/viewer/filters.rs +133 -0
- package/src/rust/components/viewer/msg.rs +182 -0
- package/src/rust/components/viewer/panels.rs +326 -0
- package/src/rust/components/viewer/render.rs +255 -0
- package/src/rust/components/viewer/settings.rs +434 -0
- package/src/rust/components/viewer/snapshots.rs +134 -0
- package/src/rust/components/viewer/wiring.rs +505 -0
- package/src/rust/components/viewer.rs +245 -756
- package/src/rust/components/window_editor.rs +1013 -0
- package/src/rust/config/export_method.rs +1 -1
- package/src/rust/config/mod.rs +4 -0
- package/src/rust/config/options.rs +71 -0
- package/src/rust/config/viewer_config.rs +24 -2
- package/src/rust/config/workspace_config.rs +92 -0
- package/src/rust/custom_elements/copy_dropdown.rs +3 -1
- package/src/rust/custom_elements/debug_plugin.rs +20 -1
- package/src/rust/custom_elements/export_dropdown.rs +3 -1
- package/src/rust/custom_elements/viewer.rs +1015 -286
- package/src/rust/custom_events.rs +212 -61
- package/src/rust/js/mod.rs +2 -0
- package/src/rust/js/plugin.rs +297 -10
- package/src/rust/js/regular_layout.rs +258 -0
- package/src/rust/lib.rs +24 -2
- package/src/rust/presentation/column_locator.rs +16 -1
- package/src/rust/presentation.rs +66 -33
- package/src/rust/queries/columns_iter_set.rs +7 -1
- package/src/rust/queries/get_viewer_config.rs +29 -11
- package/src/rust/queries/plugin_column_styles.rs +2 -2
- package/src/rust/renderer/activate.rs +41 -14
- package/src/rust/renderer/dispatch.rs +463 -0
- package/src/rust/renderer/plugin_config.rs +495 -0
- package/src/rust/renderer/registry.rs +18 -6
- package/src/rust/renderer/render_timer.rs +29 -10
- package/src/rust/renderer.rs +384 -838
- package/src/rust/session/column_defaults_update.rs +26 -8
- package/src/rust/session/drag_drop_update.rs +18 -0
- package/src/rust/session/metadata.rs +66 -9
- package/src/rust/session/replace_expression_update.rs +1 -0
- package/src/rust/session/view_subscription.rs +30 -15
- package/src/rust/session.rs +755 -264
- package/src/rust/tasks/apply_global_filters.rs +89 -0
- package/src/rust/tasks/auto_pause.rs +171 -0
- package/src/rust/tasks/copy_export.rs +29 -19
- package/src/rust/tasks/create_panel.rs +243 -0
- package/src/rust/tasks/dismiss_render_warning.rs +3 -1
- package/src/rust/tasks/edit_expression.rs +4 -4
- package/src/rust/tasks/edit_window.rs +155 -0
- package/src/rust/tasks/eject.rs +64 -23
- package/src/rust/tasks/mod.rs +30 -4
- package/src/rust/tasks/pipeline.rs +411 -0
- package/src/rust/tasks/presize_panels.rs +324 -0
- package/src/rust/tasks/reset_all.rs +22 -12
- package/src/rust/tasks/resize_observer.rs +124 -87
- package/src/rust/tasks/restore_and_render.rs +80 -86
- package/src/rust/tasks/restore_panel.rs +145 -0
- package/src/rust/tasks/send_column_config.rs +5 -2
- package/src/rust/tasks/send_plugin_config.rs +5 -2
- package/src/rust/tasks/set_edit_mode.rs +59 -0
- package/src/rust/tasks/sync_update_panels.rs +152 -0
- package/src/rust/tasks/table_lifecycle.rs +158 -0
- package/src/rust/tasks/update_theme.rs +56 -12
- package/src/rust/utils/browser/dragdrop.rs +12 -0
- package/src/rust/utils/browser/tests/debounce.rs +49 -0
- package/src/rust/utils/completion.rs +56 -0
- package/src/rust/utils/custom_element.rs +5 -0
- package/src/rust/utils/debounce.rs +189 -17
- package/src/rust/utils/mod.rs +6 -0
- package/src/rust/utils/pending_effects.rs +62 -0
- package/src/rust/utils/spawn.rs +33 -0
- package/src/rust/utils/weak_scope.rs +0 -10
- package/src/rust/workspace.rs +846 -0
- package/src/svg/active-indicator.svg +3 -0
- package/src/svg/pin-icon.svg +5 -0
- package/src/themes/botanical.css +5 -2
- package/src/themes/defaults.css +54 -2
- package/src/themes/dracula.css +6 -3
- package/src/themes/gruvbox-dark.css +5 -2
- package/src/themes/gruvbox.css +5 -2
- package/src/themes/icons.css +5 -2
- package/src/themes/intl/de.css +7 -0
- package/src/themes/intl/es.css +7 -0
- package/src/themes/intl/fr.css +7 -0
- package/src/themes/intl/ja.css +7 -0
- package/src/themes/intl/pt.css +7 -0
- package/src/themes/intl/zh.css +7 -0
- package/src/themes/intl.css +10 -1
- package/src/themes/monokai.css +5 -2
- package/src/themes/phosphor.css +5 -2
- package/src/themes/pro-dark.css +5 -2
- package/src/themes/pro.css +2 -1
- package/src/themes/solarized-dark.css +5 -2
- package/src/themes/solarized.css +5 -2
- package/src/themes/vaporwave.css +5 -2
- package/src/ts/bootstrap.ts +8 -7
- package/src/ts/extensions.ts +30 -2
- package/src/ts/perspective-viewer.ts +10 -0
- package/src/ts/plugin.ts +72 -5
- package/src/ts/ts-rs/ClientOptions.ts +7 -0
- package/src/ts/ts-rs/ExportMethod.ts +3 -0
- package/src/ts/ts-rs/ExportOptions.ts +8 -0
- package/src/ts/ts-rs/GetClientOptions.ts +7 -0
- package/src/ts/ts-rs/GetTableOptions.ts +7 -0
- package/src/ts/ts-rs/Layout.ts +9 -0
- package/src/ts/ts-rs/Orientation.ts +6 -0
- package/src/ts/ts-rs/PanelOptions.ts +7 -0
- package/src/ts/ts-rs/PanelViewerConfig.ts +16 -0
- package/src/ts/ts-rs/SplitLayout.ts +5 -0
- package/src/ts/ts-rs/TabLayout.ts +11 -0
- package/src/ts/ts-rs/ViewerConfig.ts +7 -2
- package/src/ts/ts-rs/ViewerConfigUpdate.ts +9 -0
- package/src/ts/ts-rs/WindowAggregate.ts +3 -0
- package/src/ts/ts-rs/WindowSort.ts +9 -0
- package/src/ts/ts-rs/WindowSortDir.ts +8 -0
- package/src/ts/ts-rs/WindowSpec.ts +46 -0
- package/src/ts/ts-rs/Windows.ts +10 -0
- package/src/ts/ts-rs/WorkspaceConfig.ts +36 -0
- package/src/ts/ts-rs/WorkspaceConfigUpdate.ts +24 -0
- package/src/rust/tasks/intersection_observer.rs +0 -98
- package/src/rust/tasks/update_and_render.rs +0 -110
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline0.js → perspective-viewer-8a8c7d5d696b43ae/inline1.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline1.js → perspective-viewer-8a8c7d5d696b43ae/inline2.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline2.js → perspective-viewer-8a8c7d5d696b43ae/inline3.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline4.js → perspective-viewer-8a8c7d5d696b43ae/inline5.js} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="12" height="12" viewBox="0 -0.5 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M15.1593 1.64958L10.3424 7.71878V7.81838L18 6.84731V10.1465L10.3424 9.27499V9.37459L15.2113 15.201L12.0195 16.9502L8.97725 10.1527H8.87974L5.58397 17L2.69772 15.2508L7.50813 9.33101V9.23142L0 10.1402L0 6.84108L7.44962 7.76858V7.66899L2.68472 1.74918L5.77898 0.0497986L8.91874 6.79751H9.02275L12.117 0L15.1593 1.64958Z" fill="#042121"/>
|
|
3
|
+
</svg>
|
package/src/themes/botanical.css
CHANGED
|
@@ -14,11 +14,13 @@
|
|
|
14
14
|
|
|
15
15
|
/* Register theme for auto-detection */
|
|
16
16
|
perspective-viewer,
|
|
17
|
-
perspective-viewer[theme="Botanical"]
|
|
17
|
+
perspective-viewer[theme="Botanical"],
|
|
18
|
+
perspective-viewer [theme="Botanical"] {
|
|
18
19
|
--psp-theme-name: "Botanical";
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
perspective-viewer[theme="Botanical"]
|
|
22
|
+
perspective-viewer[theme="Botanical"],
|
|
23
|
+
perspective-viewer [theme="Botanical"] {
|
|
22
24
|
/* perspective-viewer-botanical--colors */
|
|
23
25
|
background-color: #1a2e1a;
|
|
24
26
|
color: #e0ead8;
|
|
@@ -90,6 +92,7 @@ perspective-viewer[theme="Botanical"] {
|
|
|
90
92
|
--psp-charts--map-tiles--attribution-: "I <3 Open Source";
|
|
91
93
|
}
|
|
92
94
|
|
|
95
|
+
perspective-context-menu[theme="Botanical"],
|
|
93
96
|
perspective-copy-menu[theme="Botanical"],
|
|
94
97
|
perspective-export-menu[theme="Botanical"],
|
|
95
98
|
perspective-dropdown[theme="Botanical"],
|
package/src/themes/defaults.css
CHANGED
|
@@ -14,7 +14,21 @@
|
|
|
14
14
|
@import "./intl.css";
|
|
15
15
|
|
|
16
16
|
perspective-viewer,
|
|
17
|
-
|
|
17
|
+
/* Per-panel light-DOM descendants (the plugin + `<PanelTab>`, both carrying a
|
|
18
|
+
`theme` attribute) get the complete base too — so each panel resolves real
|
|
19
|
+
`color`/`font-family` and every `--psp-*` from its OWN theme instead of
|
|
20
|
+
inheriting the active panel's. Theme overrides refine this via the matching
|
|
21
|
+
`perspective-viewer [theme="X"]` rule.
|
|
22
|
+
|
|
23
|
+
`:where()` gives this clause ZERO specificity, so the panel's own
|
|
24
|
+
`[theme="X"]` override (specificity 0,1,1) ALWAYS wins over this default base.
|
|
25
|
+
Without it the two would tie at (0,1,1) and import order would decide — and
|
|
26
|
+
because every theme file `@import`s `defaults.css`, the base is inlined after
|
|
27
|
+
later overrides and the default would leak over the panel's theme. A
|
|
28
|
+
zero-specificity rule still beats inheritance, so the base values apply where
|
|
29
|
+
the override is silent. */
|
|
30
|
+
:where(perspective-viewer [theme]),
|
|
31
|
+
perspective-context-menu,
|
|
18
32
|
perspective-copy-menu,
|
|
19
33
|
perspective-export-menu,
|
|
20
34
|
perspective-dropdown,
|
|
@@ -26,7 +40,6 @@ perspective-string-column-style {
|
|
|
26
40
|
--psp--color: #161616;
|
|
27
41
|
|
|
28
42
|
color: var(--psp--color);
|
|
29
|
-
background-color: transparent;
|
|
30
43
|
|
|
31
44
|
--psp-inactive--color: #ababab;
|
|
32
45
|
--psp-inactive--border-color: #dadada;
|
|
@@ -127,9 +140,48 @@ perspective-string-column-style {
|
|
|
127
140
|
#42b3d5 67.5%,
|
|
128
141
|
#1a237e 100%
|
|
129
142
|
);
|
|
143
|
+
|
|
144
|
+
/* Completeness anchors for per-panel theming. These are color/appearance
|
|
145
|
+
vars that some themes (e.g. Pro Dark) set but the light default does not
|
|
146
|
+
— so without a base value an unthemed/light panel would *inherit* them
|
|
147
|
+
from a differently-themed (active) panel, mixing themes. `initial` makes
|
|
148
|
+
the custom property the guaranteed-invalid value: consumers fall back to
|
|
149
|
+
their own default (identical to the current unthemed rendering) AND the
|
|
150
|
+
element no longer inherits a neighboring panel's value. A theme that
|
|
151
|
+
wants a real value overrides it in its `[theme="X"]` block as usual. */
|
|
152
|
+
--psp-active--background: initial;
|
|
153
|
+
--psp-calendar--filter: initial;
|
|
154
|
+
--psp-charts--legend--color: initial;
|
|
155
|
+
--psp-charts--tooltip--background: initial;
|
|
156
|
+
--psp-charts--treemap--hover-highlight: initial;
|
|
157
|
+
--psp-charts--treemap--labels: initial;
|
|
158
|
+
--psp-code-editor--column--color: initial;
|
|
159
|
+
--psp-code-editor--comment--color: initial;
|
|
160
|
+
--psp-code-editor--literal--color: initial;
|
|
161
|
+
--psp-code-editor--operator--color: initial;
|
|
162
|
+
--psp-code-editor--symbol--color: initial;
|
|
163
|
+
--psp-expression--error--color: initial;
|
|
164
|
+
--psp-expression--function--color: initial;
|
|
165
|
+
--psp-expression--operator--color: initial;
|
|
166
|
+
--psp-input--filter: initial;
|
|
167
|
+
--psp-openlayers--attribution--filter: initial;
|
|
168
|
+
--psp-charts--series-11--color: initial;
|
|
169
|
+
--psp-charts--series-12--color: initial;
|
|
170
|
+
--psp-charts--map-tiles--url: initial;
|
|
171
|
+
--psp-column-type--boolean--color: initial;
|
|
172
|
+
--psp-column-type--date--color: initial;
|
|
173
|
+
--psp-column-type--float--color: initial;
|
|
174
|
+
--psp-column-type--string--color: initial;
|
|
175
|
+
--psp-datagrid--border-color: initial;
|
|
176
|
+
--psp-datagrid--hover--border-color: initial;
|
|
177
|
+
--psp-expression--psp-error--color: initial;
|
|
178
|
+
--psp-status-icon--connected--color: initial;
|
|
179
|
+
--psp-status-icon--initializing--color: initial;
|
|
180
|
+
--psp-status-icon--psp-error--color: initial;
|
|
130
181
|
}
|
|
131
182
|
|
|
132
183
|
/* Modal defaults */
|
|
184
|
+
perspective-context-menu,
|
|
133
185
|
perspective-copy-menu,
|
|
134
186
|
perspective-export-menu,
|
|
135
187
|
perspective-dropdown,
|
package/src/themes/dracula.css
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Dracula"]
|
|
16
|
+
perspective-viewer[theme="Dracula"],
|
|
17
|
+
perspective-viewer [theme="Dracula"] {
|
|
17
18
|
--psp-theme-name: "Dracula";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Dracula"]
|
|
21
|
+
perspective-viewer[theme="Dracula"],
|
|
22
|
+
perspective-viewer [theme="Dracula"] {
|
|
21
23
|
/* perspective-viewer-pro-dark--colors (overrides) */
|
|
22
24
|
background-color: #242526;
|
|
23
25
|
color: white;
|
|
@@ -122,7 +124,7 @@ perspective-viewer[theme="Dracula"] {
|
|
|
122
124
|
--theme-pink: #ff79c6;
|
|
123
125
|
|
|
124
126
|
color: var(--theme-fg0);
|
|
125
|
-
background-color: var(--theme-
|
|
127
|
+
background-color: var(--theme-bg1);
|
|
126
128
|
--psp--color: var(--theme-fg1);
|
|
127
129
|
--psp-inactive--color: var(--theme-fg2);
|
|
128
130
|
--psp-inactive--border-color: var(--theme-bg2);
|
|
@@ -154,6 +156,7 @@ perspective-viewer[theme="Dracula"] {
|
|
|
154
156
|
) !important;
|
|
155
157
|
}
|
|
156
158
|
|
|
159
|
+
perspective-context-menu[theme="Dracula"],
|
|
157
160
|
perspective-copy-menu[theme="Dracula"],
|
|
158
161
|
perspective-export-menu[theme="Dracula"],
|
|
159
162
|
perspective-dropdown[theme="Dracula"] {
|
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Gruvbox Dark"]
|
|
16
|
+
perspective-viewer[theme="Gruvbox Dark"],
|
|
17
|
+
perspective-viewer [theme="Gruvbox Dark"] {
|
|
17
18
|
--psp-theme-name: "Gruvbox Dark";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Gruvbox Dark"]
|
|
21
|
+
perspective-viewer[theme="Gruvbox Dark"],
|
|
22
|
+
perspective-viewer [theme="Gruvbox Dark"] {
|
|
21
23
|
/* perspective-viewer-pro-dark--colors (overrides) */
|
|
22
24
|
background-color: #242526;
|
|
23
25
|
color: white;
|
|
@@ -167,6 +169,7 @@ perspective-viewer[theme="Gruvbox Dark"] {
|
|
|
167
169
|
) !important;
|
|
168
170
|
}
|
|
169
171
|
|
|
172
|
+
perspective-context-menu[theme="Gruvbox Dark"],
|
|
170
173
|
perspective-copy-menu[theme="Gruvbox Dark"],
|
|
171
174
|
perspective-export-menu[theme="Gruvbox Dark"],
|
|
172
175
|
perspective-dropdown[theme="Gruvbox Dark"] {
|
package/src/themes/gruvbox.css
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Gruvbox Light"]
|
|
16
|
+
perspective-viewer[theme="Gruvbox Light"],
|
|
17
|
+
perspective-viewer [theme="Gruvbox Light"] {
|
|
17
18
|
--psp-theme-name: "Gruvbox Light";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Gruvbox Light"]
|
|
21
|
+
perspective-viewer[theme="Gruvbox Light"],
|
|
22
|
+
perspective-viewer [theme="Gruvbox Light"] {
|
|
21
23
|
/* perspective-viewer-gruvbox-light--colors */
|
|
22
24
|
--theme-fg0: #282828;
|
|
23
25
|
--theme-fg1: #3c3836;
|
|
@@ -83,6 +85,7 @@ perspective-viewer[theme="Gruvbox Light"] {
|
|
|
83
85
|
) !important;
|
|
84
86
|
}
|
|
85
87
|
|
|
88
|
+
perspective-context-menu[theme="Gruvbox Light"],
|
|
86
89
|
perspective-copy-menu[theme="Gruvbox Light"],
|
|
87
90
|
perspective-export-menu[theme="Gruvbox Light"],
|
|
88
91
|
perspective-dropdown[theme="Gruvbox Light"] {
|
package/src/themes/icons.css
CHANGED
|
@@ -11,14 +11,15 @@
|
|
|
11
11
|
* ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ */
|
|
12
12
|
|
|
13
13
|
perspective-viewer,
|
|
14
|
-
perspective-
|
|
14
|
+
perspective-context-menu,
|
|
15
15
|
perspective-copy-menu,
|
|
16
16
|
perspective-export-menu,
|
|
17
17
|
perspective-dropdown,
|
|
18
18
|
perspective-date-column-style,
|
|
19
19
|
perspective-datetime-column-style,
|
|
20
20
|
perspective-number-column-style,
|
|
21
|
-
perspective-string-column-style
|
|
21
|
+
perspective-string-column-style,
|
|
22
|
+
perspective-viewer-tab {
|
|
22
23
|
/* Icons */
|
|
23
24
|
--psp-column-type--integer--mask-image: url("../svg/number-type.svg");
|
|
24
25
|
--psp-column-type--float--mask-image: var(
|
|
@@ -51,10 +52,12 @@ perspective-string-column-style {
|
|
|
51
52
|
--psp-icon--sort-none--mask-image: url("../svg/sort-none-icon.svg");
|
|
52
53
|
--psp-icon--add-expression--mask-image: url("../svg/expression.svg");
|
|
53
54
|
--psp-icon--close--mask-image: url("../svg/close-icon.svg");
|
|
55
|
+
--psp-icon--pin--mask-image: url("../svg/pin-icon.svg");
|
|
54
56
|
--psp-label--inactive-column-selector--content: url("../svg/checkbox-unchecked-icon.svg");
|
|
55
57
|
--psp-label--active-column-selector--content: url("../svg/checkbox-checked-icon.svg");
|
|
56
58
|
--psp-icon--select-arrow-light--mask-image: url("../svg/dropdown-selector-light.svg");
|
|
57
59
|
--psp-icon--select-arrow-dark--mask-image: url("../svg/dropdown-selector.svg");
|
|
60
|
+
--psp-icon--active-indicator--mask-image: url("../svg/active-indicator.svg");
|
|
58
61
|
--psp-icon-overflow-hint--content: "!";
|
|
59
62
|
--psp-label--reset-button-icon--content: "refresh";
|
|
60
63
|
--psp-label--save-button-icon--content: "save";
|
package/src/themes/intl/de.css
CHANGED
|
@@ -108,6 +108,13 @@ perspective-dropdown {
|
|
|
108
108
|
/* Tabs */
|
|
109
109
|
--psp-label--style-tab--content: "Stil";
|
|
110
110
|
--psp-label--attributes-tab--content: "Attribute";
|
|
111
|
+
--psp-label--window-tab--content: "Fenster";
|
|
112
|
+
--psp-label--window-source--content: "Spalte";
|
|
113
|
+
--psp-label--window-order-by--content: "Sortieren nach";
|
|
114
|
+
--psp-label--window-partition-by--content: "Partitionieren nach";
|
|
115
|
+
--psp-label--window-frame--content: "Rahmen";
|
|
116
|
+
--psp-label--window-offset--content: "Versatz";
|
|
117
|
+
--psp-label--window-alpha--content: "Alpha";
|
|
111
118
|
--psp-label--query-tab--content: "Abfrage";
|
|
112
119
|
--psp-label--plugin-tab--content: "Plugin";
|
|
113
120
|
--psp-label--debug-tab--content: "JSON";
|
package/src/themes/intl/es.css
CHANGED
|
@@ -108,6 +108,13 @@ perspective-dropdown {
|
|
|
108
108
|
/* Tabs */
|
|
109
109
|
--psp-label--style-tab--content: "Estilo";
|
|
110
110
|
--psp-label--attributes-tab--content: "Atributos";
|
|
111
|
+
--psp-label--window-tab--content: "Ventana";
|
|
112
|
+
--psp-label--window-source--content: "Columna";
|
|
113
|
+
--psp-label--window-order-by--content: "Ordenar por";
|
|
114
|
+
--psp-label--window-partition-by--content: "Particionar por";
|
|
115
|
+
--psp-label--window-frame--content: "Marco";
|
|
116
|
+
--psp-label--window-offset--content: "Desplazamiento";
|
|
117
|
+
--psp-label--window-alpha--content: "Alfa";
|
|
111
118
|
--psp-label--query-tab--content: "Consulta";
|
|
112
119
|
--psp-label--plugin-tab--content: "Plugin";
|
|
113
120
|
--psp-label--debug-tab--content: "JSON";
|
package/src/themes/intl/fr.css
CHANGED
|
@@ -108,6 +108,13 @@ perspective-dropdown {
|
|
|
108
108
|
/* Tabs */
|
|
109
109
|
--psp-label--style-tab--content: "Style";
|
|
110
110
|
--psp-label--attributes-tab--content: "Les attributs";
|
|
111
|
+
--psp-label--window-tab--content: "Fenêtre";
|
|
112
|
+
--psp-label--window-source--content: "Colonne";
|
|
113
|
+
--psp-label--window-order-by--content: "Commandé par";
|
|
114
|
+
--psp-label--window-partition-by--content: "Partitionner par";
|
|
115
|
+
--psp-label--window-frame--content: "Cadre";
|
|
116
|
+
--psp-label--window-offset--content: "Décalage";
|
|
117
|
+
--psp-label--window-alpha--content: "Alpha";
|
|
111
118
|
--psp-label--query-tab--content: "Requête";
|
|
112
119
|
--psp-label--plugin-tab--content: "Plugin";
|
|
113
120
|
--psp-label--debug-tab--content: "JSON";
|
package/src/themes/intl/ja.css
CHANGED
|
@@ -108,6 +108,13 @@ perspective-dropdown {
|
|
|
108
108
|
/* Tabs */
|
|
109
109
|
--psp-label--style-tab--content: "スタイル";
|
|
110
110
|
--psp-label--attributes-tab--content: "属性";
|
|
111
|
+
--psp-label--window-tab--content: "ウィンドウ";
|
|
112
|
+
--psp-label--window-source--content: "列";
|
|
113
|
+
--psp-label--window-order-by--content: "注文方法";
|
|
114
|
+
--psp-label--window-partition-by--content: "パーティション";
|
|
115
|
+
--psp-label--window-frame--content: "フレーム";
|
|
116
|
+
--psp-label--window-offset--content: "オフセット";
|
|
117
|
+
--psp-label--window-alpha--content: "アルファ";
|
|
111
118
|
--psp-label--query-tab--content: "クエリ";
|
|
112
119
|
--psp-label--plugin-tab--content: "プラグイン";
|
|
113
120
|
--psp-label--debug-tab--content: "JSON";
|
package/src/themes/intl/pt.css
CHANGED
|
@@ -108,6 +108,13 @@ perspective-dropdown {
|
|
|
108
108
|
/* Tabs */
|
|
109
109
|
--psp-label--style-tab--content: "Estilo";
|
|
110
110
|
--psp-label--attributes-tab--content: "Atributos";
|
|
111
|
+
--psp-label--window-tab--content: "Janela";
|
|
112
|
+
--psp-label--window-source--content: "Coluna";
|
|
113
|
+
--psp-label--window-order-by--content: "Ordenar por";
|
|
114
|
+
--psp-label--window-partition-by--content: "Particionar por";
|
|
115
|
+
--psp-label--window-frame--content: "Quadro";
|
|
116
|
+
--psp-label--window-offset--content: "Deslocamento";
|
|
117
|
+
--psp-label--window-alpha--content: "Alfa";
|
|
111
118
|
--psp-label--query-tab--content: "Consulta";
|
|
112
119
|
--psp-label--plugin-tab--content: "Plugin";
|
|
113
120
|
--psp-label--debug-tab--content: "JSON";
|
package/src/themes/intl/zh.css
CHANGED
|
@@ -108,6 +108,13 @@ perspective-dropdown {
|
|
|
108
108
|
/* Tabs */
|
|
109
109
|
--psp-label--style-tab--content: "风格";
|
|
110
110
|
--psp-label--attributes-tab--content: "属性";
|
|
111
|
+
--psp-label--window-tab--content: "窗口";
|
|
112
|
+
--psp-label--window-source--content: "列";
|
|
113
|
+
--psp-label--window-order-by--content: "订购依据";
|
|
114
|
+
--psp-label--window-partition-by--content: "分区依据";
|
|
115
|
+
--psp-label--window-frame--content: "框架";
|
|
116
|
+
--psp-label--window-offset--content: "偏移";
|
|
117
|
+
--psp-label--window-alpha--content: "Alpha";
|
|
111
118
|
--psp-label--query-tab--content: "查询";
|
|
112
119
|
--psp-label--plugin-tab--content: "插件";
|
|
113
120
|
--psp-label--debug-tab--content: "JSON";
|
package/src/themes/intl.css
CHANGED
|
@@ -103,11 +103,20 @@ perspective-dropdown {
|
|
|
103
103
|
|
|
104
104
|
/* Tabs */
|
|
105
105
|
--psp-label--style-tab--content: "Style";
|
|
106
|
-
--psp-label--attributes-tab--content: "
|
|
106
|
+
--psp-label--attributes-tab--content: "Expression";
|
|
107
|
+
--psp-label--window-tab--content: "Window";
|
|
107
108
|
--psp-label--query-tab--content: "Query";
|
|
108
109
|
--psp-label--plugin-tab--content: "Plugin";
|
|
109
110
|
--psp-label--debug-tab--content: "JSON";
|
|
110
111
|
|
|
112
|
+
/* Window editor */
|
|
113
|
+
--psp-label--window-source--content: "Column";
|
|
114
|
+
--psp-label--window-order-by--content: "Order By";
|
|
115
|
+
--psp-label--window-partition-by--content: "Partition By";
|
|
116
|
+
--psp-label--window-frame--content: "Frame";
|
|
117
|
+
--psp-label--window-offset--content: "Offset";
|
|
118
|
+
--psp-label--window-alpha--content: "Alpha";
|
|
119
|
+
|
|
111
120
|
/* Plugin settings */
|
|
112
121
|
--psp-label--edit-mode--content: "Edit mode";
|
|
113
122
|
--psp-label--scroll-lock--content: "Scroll lock";
|
package/src/themes/monokai.css
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Monokai"]
|
|
16
|
+
perspective-viewer[theme="Monokai"],
|
|
17
|
+
perspective-viewer [theme="Monokai"] {
|
|
17
18
|
--psp-theme-name: "Monokai";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Monokai"]
|
|
21
|
+
perspective-viewer[theme="Monokai"],
|
|
22
|
+
perspective-viewer [theme="Monokai"] {
|
|
21
23
|
/* perspective-viewer-pro-dark--colors (overrides) */
|
|
22
24
|
background-color: #242526;
|
|
23
25
|
color: white;
|
|
@@ -163,6 +165,7 @@ perspective-viewer[theme="Monokai"] {
|
|
|
163
165
|
);
|
|
164
166
|
}
|
|
165
167
|
|
|
168
|
+
perspective-context-menu[theme="Monokai"],
|
|
166
169
|
perspective-copy-menu[theme="Monokai"],
|
|
167
170
|
perspective-export-menu[theme="Monokai"],
|
|
168
171
|
perspective-dropdown[theme="Monokai"],
|
package/src/themes/phosphor.css
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Phosphor"]
|
|
16
|
+
perspective-viewer[theme="Phosphor"],
|
|
17
|
+
perspective-viewer [theme="Phosphor"] {
|
|
17
18
|
--psp-theme-name: "Phosphor";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Phosphor"]
|
|
21
|
+
perspective-viewer[theme="Phosphor"],
|
|
22
|
+
perspective-viewer [theme="Phosphor"] {
|
|
21
23
|
/* perspective-viewer-phosphor--colors */
|
|
22
24
|
--theme-bg0: #0a0a0a;
|
|
23
25
|
--theme-bg1: #0d0d0d;
|
|
@@ -124,6 +126,7 @@ perspective-viewer[theme="Phosphor"] {
|
|
|
124
126
|
);
|
|
125
127
|
}
|
|
126
128
|
|
|
129
|
+
perspective-context-menu[theme="Phosphor"],
|
|
127
130
|
perspective-copy-menu[theme="Phosphor"],
|
|
128
131
|
perspective-export-menu[theme="Phosphor"],
|
|
129
132
|
perspective-dropdown[theme="Phosphor"],
|
package/src/themes/pro-dark.css
CHANGED
|
@@ -14,11 +14,13 @@
|
|
|
14
14
|
|
|
15
15
|
/* Register theme for auto-detection */
|
|
16
16
|
perspective-viewer,
|
|
17
|
-
perspective-viewer[theme="Pro Dark"]
|
|
17
|
+
perspective-viewer[theme="Pro Dark"],
|
|
18
|
+
perspective-viewer [theme="Pro Dark"] {
|
|
18
19
|
--psp-theme-name: "Pro Dark";
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
perspective-viewer[theme="Pro Dark"]
|
|
22
|
+
perspective-viewer[theme="Pro Dark"],
|
|
23
|
+
perspective-viewer [theme="Pro Dark"] {
|
|
22
24
|
/* perspective-viewer-pro-dark--colors (overrides) */
|
|
23
25
|
background-color: #242526;
|
|
24
26
|
color: white;
|
|
@@ -107,6 +109,7 @@ perspective-viewer[theme="Pro Dark"] {
|
|
|
107
109
|
);
|
|
108
110
|
}
|
|
109
111
|
|
|
112
|
+
perspective-context-menu[theme="Pro Dark"],
|
|
110
113
|
perspective-copy-menu[theme="Pro Dark"],
|
|
111
114
|
perspective-export-menu[theme="Pro Dark"],
|
|
112
115
|
perspective-dropdown[theme="Pro Dark"],
|
package/src/themes/pro.css
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Solarized Dark"]
|
|
16
|
+
perspective-viewer[theme="Solarized Dark"],
|
|
17
|
+
perspective-viewer [theme="Solarized Dark"] {
|
|
17
18
|
--psp-theme-name: "Solarized Dark";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Solarized Dark"]
|
|
21
|
+
perspective-viewer[theme="Solarized Dark"],
|
|
22
|
+
perspective-viewer [theme="Solarized Dark"] {
|
|
21
23
|
/* perspective-viewer-solarized--colors */
|
|
22
24
|
color: #586e75;
|
|
23
25
|
background-color: #eee8d5;
|
|
@@ -82,6 +84,7 @@ perspective-viewer[theme="Solarized Dark"] {
|
|
|
82
84
|
);
|
|
83
85
|
}
|
|
84
86
|
|
|
87
|
+
perspective-context-menu[theme="Solarized Dark"],
|
|
85
88
|
perspective-copy-menu[theme="Solarized Dark"],
|
|
86
89
|
perspective-export-menu[theme="Solarized Dark"],
|
|
87
90
|
perspective-dropdown[theme="Solarized Dark"],
|
package/src/themes/solarized.css
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Solarized"]
|
|
16
|
+
perspective-viewer[theme="Solarized"],
|
|
17
|
+
perspective-viewer [theme="Solarized"] {
|
|
17
18
|
--psp-theme-name: "Solarized";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Solarized"]
|
|
21
|
+
perspective-viewer[theme="Solarized"],
|
|
22
|
+
perspective-viewer [theme="Solarized"] {
|
|
21
23
|
/* perspective-viewer-solarized--colors */
|
|
22
24
|
color: #586e75;
|
|
23
25
|
background-color: #eee8d5;
|
|
@@ -61,6 +63,7 @@ x {
|
|
|
61
63
|
color: #cb4b16;
|
|
62
64
|
}
|
|
63
65
|
|
|
66
|
+
perspective-context-menu[theme="Solarized"],
|
|
64
67
|
perspective-copy-menu[theme="Solarized"],
|
|
65
68
|
perspective-export-menu[theme="Solarized"],
|
|
66
69
|
perspective-dropdown[theme="Solarized"],
|
package/src/themes/vaporwave.css
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
@import "./defaults.css";
|
|
14
14
|
|
|
15
15
|
perspective-viewer,
|
|
16
|
-
perspective-viewer[theme="Vaporwave"]
|
|
16
|
+
perspective-viewer[theme="Vaporwave"],
|
|
17
|
+
perspective-viewer [theme="Vaporwave"] {
|
|
17
18
|
--psp-theme-name: "Vaporwave";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
perspective-viewer[theme="Vaporwave"]
|
|
21
|
+
perspective-viewer[theme="Vaporwave"],
|
|
22
|
+
perspective-viewer [theme="Vaporwave"] {
|
|
21
23
|
/* perspective-viewer-pro-dark--colors (overrides) */
|
|
22
24
|
background-color: #242526;
|
|
23
25
|
color: white;
|
|
@@ -175,6 +177,7 @@ perspective-viewer[theme="Vaporwave"] {
|
|
|
175
177
|
) !important;
|
|
176
178
|
}
|
|
177
179
|
|
|
180
|
+
perspective-context-menu[theme="Vaporwave"],
|
|
178
181
|
perspective-copy-menu[theme="Vaporwave"],
|
|
179
182
|
perspective-export-menu[theme="Vaporwave"],
|
|
180
183
|
perspective-dropdown[theme="Vaporwave"],
|
package/src/ts/bootstrap.ts
CHANGED
|
@@ -26,12 +26,13 @@ export async function init_client(
|
|
|
26
26
|
) {
|
|
27
27
|
// @ts-ignore
|
|
28
28
|
const url = await worker_url.getWorkerURL();
|
|
29
|
-
|
|
30
|
-
wasm_module
|
|
31
|
-
|
|
29
|
+
const [wasm_module2, module_or_path] = await Promise.all([
|
|
30
|
+
wasm_module === undefined ? import(url) : wasm_module,
|
|
31
|
+
load_wasm_stage_0(wasm_binary).then((unzipped) =>
|
|
32
|
+
WebAssembly.compile(unzipped as BufferSource),
|
|
33
|
+
),
|
|
34
|
+
]);
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
await wasm_module.default({ module_or_path });
|
|
36
|
-
await wasm_module.init(module_or_path, url);
|
|
36
|
+
await wasm_module2.default({ module_or_path });
|
|
37
|
+
await wasm_module2.init(module_or_path, url);
|
|
37
38
|
}
|
package/src/ts/extensions.ts
CHANGED
|
@@ -26,18 +26,21 @@ export class PerspectiveSelectDetail {
|
|
|
26
26
|
column_names?: string[];
|
|
27
27
|
removeConfigs: ViewConfigUpdate[];
|
|
28
28
|
insertConfigs: ViewConfigUpdate[];
|
|
29
|
+
panel?: string;
|
|
29
30
|
constructor(
|
|
30
31
|
selected: boolean,
|
|
31
32
|
row: Record<string, unknown>,
|
|
32
33
|
column_names: string[],
|
|
33
34
|
removeConfigs: ViewConfigUpdate[],
|
|
34
35
|
insertConfigs: ViewConfigUpdate[],
|
|
36
|
+
panel?: string,
|
|
35
37
|
) {
|
|
36
38
|
this.selected = selected;
|
|
37
39
|
this.row = row;
|
|
38
40
|
this.column_names = column_names;
|
|
39
41
|
this.removeConfigs = removeConfigs;
|
|
40
42
|
this.insertConfigs = insertConfigs;
|
|
43
|
+
this.panel = panel;
|
|
41
44
|
}
|
|
42
45
|
|
|
43
46
|
get removeFilters(): Filter[] {
|
|
@@ -72,12 +75,27 @@ export type PerspectiveClickEventDetail = {
|
|
|
72
75
|
config: ViewerConfigUpdate;
|
|
73
76
|
row: Record<string, any>;
|
|
74
77
|
column_names: Array<string | Array<string>>;
|
|
78
|
+
panel?: string;
|
|
75
79
|
};
|
|
76
80
|
|
|
77
81
|
export type PerspectiveSelectEventDetail = {
|
|
78
82
|
view_window: ViewWindow;
|
|
79
83
|
};
|
|
80
84
|
|
|
85
|
+
export type PerspectiveConfigUpdateEventDetail = {
|
|
86
|
+
/**
|
|
87
|
+
* Serialize the panel config that triggered this event, ON DEMAND. The
|
|
88
|
+
* serialization is deferred so a config change with no interested listener
|
|
89
|
+
* costs nothing; call `getConfig()` only if you need the config.
|
|
90
|
+
*
|
|
91
|
+
* Valid ONLY synchronously within the event callback — the backing closure
|
|
92
|
+
* is released immediately after dispatch, so stashing `getConfig` and
|
|
93
|
+
* calling it later throws. To read config outside the callback, use
|
|
94
|
+
* `viewer.save()` / `viewer.saveWorkspace()`.
|
|
95
|
+
*/
|
|
96
|
+
getConfig(): ViewerConfigUpdate;
|
|
97
|
+
};
|
|
98
|
+
|
|
81
99
|
// JSX / React extensions
|
|
82
100
|
|
|
83
101
|
type ReactPerspectiveViewerAttributes<T> = React.HTMLAttributes<T>;
|
|
@@ -196,7 +214,13 @@ export interface PerspectiveViewerElementExt {
|
|
|
196
214
|
|
|
197
215
|
addEventListener(
|
|
198
216
|
name: "perspective-global-filter",
|
|
199
|
-
cb: (e: CustomEvent<
|
|
217
|
+
cb: (e: CustomEvent<PerspectiveSelectDetail>) => void,
|
|
218
|
+
options?: { signal: AbortSignal },
|
|
219
|
+
): void;
|
|
220
|
+
|
|
221
|
+
addEventListener(
|
|
222
|
+
name: "perspective-global-filter-update",
|
|
223
|
+
cb: (e: CustomEvent<Filter[]>) => void,
|
|
200
224
|
options?: { signal: AbortSignal },
|
|
201
225
|
): void;
|
|
202
226
|
|
|
@@ -214,7 +238,7 @@ export interface PerspectiveViewerElementExt {
|
|
|
214
238
|
|
|
215
239
|
addEventListener(
|
|
216
240
|
name: "perspective-config-update",
|
|
217
|
-
cb: (e: CustomEvent) => void,
|
|
241
|
+
cb: (e: CustomEvent<PerspectiveConfigUpdateEventDetail>) => void,
|
|
218
242
|
options?: { signal: AbortSignal },
|
|
219
243
|
): void;
|
|
220
244
|
|
|
@@ -239,6 +263,10 @@ export interface PerspectiveViewerElementExt {
|
|
|
239
263
|
removeEventListener(name: "perspective-click", cb: any): void;
|
|
240
264
|
removeEventListener(name: "perspective-select", cb: any): void;
|
|
241
265
|
removeEventListener(name: "perspective-global-filter", cb: any): void;
|
|
266
|
+
removeEventListener(
|
|
267
|
+
name: "perspective-global-filter-update",
|
|
268
|
+
cb: any,
|
|
269
|
+
): void;
|
|
242
270
|
removeEventListener(name: "perspective-toggle-settings", cb: any): void;
|
|
243
271
|
removeEventListener(
|
|
244
272
|
name: "perspective-toggle-settings-before",
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
* @module perspective-viewer
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
+
import "regular-layout";
|
|
35
|
+
|
|
34
36
|
export { IPerspectiveViewerPlugin } from "./plugin";
|
|
35
37
|
export { HTMLPerspectiveViewerPluginElement } from "./plugin";
|
|
36
38
|
|
|
@@ -46,10 +48,18 @@ export type * from "./extensions.ts";
|
|
|
46
48
|
export { PerspectiveSelectDetail } from "./extensions.ts";
|
|
47
49
|
export type * from "./ts-rs/ViewerConfigUpdate.d.ts";
|
|
48
50
|
export type * from "./ts-rs/ViewerConfig.d.ts";
|
|
51
|
+
export type * from "./ts-rs/WorkspaceConfigUpdate.d.ts";
|
|
52
|
+
export type * from "./ts-rs/WorkspaceConfig.d.ts";
|
|
49
53
|
export type * from "./ts-rs/Filter.d.ts";
|
|
50
54
|
export type * from "./ts-rs/FilterTerm.d.ts";
|
|
51
55
|
export type * from "./ts-rs/FilterReducer.d.ts";
|
|
52
56
|
export type * from "./ts-rs/PluginStaticConfig.ts";
|
|
57
|
+
export type * from "./ts-rs/ExportMethod.d.ts";
|
|
58
|
+
export type * from "./ts-rs/PanelOptions.d.ts";
|
|
59
|
+
export type * from "./ts-rs/ClientOptions.d.ts";
|
|
60
|
+
export type * from "./ts-rs/ExportOptions.d.ts";
|
|
61
|
+
export type * from "./ts-rs/GetTableOptions.d.ts";
|
|
62
|
+
export type * from "./ts-rs/GetClientOptions.d.ts";
|
|
53
63
|
|
|
54
64
|
export { init_client } from "./bootstrap";
|
|
55
65
|
import { init_client } from "./bootstrap";
|