@perspective-dev/viewer 4.0.0 → 4.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 +2 -2
- package/dist/cdn/perspective-viewer.js.map +4 -4
- 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/monokai.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 +23 -2
- package/dist/esm/perspective-viewer.d.ts +2 -7
- package/dist/esm/perspective-viewer.inline.js +2 -2
- package/dist/esm/perspective-viewer.inline.js.map +4 -4
- package/dist/esm/perspective-viewer.js +2 -2
- package/dist/esm/perspective-viewer.js.map +4 -4
- package/dist/esm/plugin.d.ts +1 -1
- package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +1 -0
- package/dist/wasm/perspective-viewer.d.ts +218 -46
- package/dist/wasm/perspective-viewer.js +1251 -762
- package/dist/wasm/perspective-viewer.wasm +0 -0
- package/dist/wasm/perspective-viewer.wasm.d.ts +38 -19
- package/package.json +1 -1
- package/src/less/containers/scroll-panel.less +0 -1
- package/src/less/plugin-selector.less +15 -5
- package/src/less/status-bar.less +75 -27
- package/src/less/viewer.less +140 -58
- package/src/rust/components/column_dropdown.rs +21 -21
- package/src/rust/components/column_selector/active_column.rs +131 -120
- package/src/rust/components/column_selector/add_expression_button.rs +5 -0
- package/src/rust/components/column_selector/aggregate_selector.rs +8 -4
- package/src/rust/components/column_selector/config_selector.rs +170 -161
- package/src/rust/components/column_selector/empty_column.rs +16 -11
- package/src/rust/components/column_selector/{expression_toolbar.rs → expr_edit_button.rs} +7 -0
- package/src/rust/components/column_selector/filter_column.rs +195 -194
- package/src/rust/components/column_selector/inactive_column.rs +82 -67
- package/src/rust/components/column_selector/pivot_column.rs +16 -11
- package/src/rust/components/column_selector/sort_column.rs +9 -7
- package/src/rust/components/column_selector.rs +42 -37
- package/src/rust/components/column_settings_sidebar/save_settings.rs +3 -1
- package/src/rust/components/column_settings_sidebar/style_tab/agg_depth_selector.rs +58 -0
- package/src/rust/components/column_settings_sidebar/style_tab/symbol/row_selector.rs +6 -6
- package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs.rs +2 -94
- package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs_item.rs +111 -0
- package/src/rust/components/column_settings_sidebar/style_tab/symbol.rs +3 -3
- package/src/rust/components/column_settings_sidebar/style_tab.rs +23 -83
- package/src/rust/components/{column_settings_sidebar/sidebar.rs → column_settings_sidebar.rs} +198 -171
- package/src/rust/components/containers/dragdrop_list.rs +20 -20
- package/src/rust/components/containers/dropdown_menu.rs +4 -6
- package/src/rust/components/containers/mod.rs +1 -4
- package/src/rust/components/containers/scroll_panel.rs +80 -80
- package/src/rust/components/containers/scroll_panel_item.rs +36 -36
- package/src/rust/components/containers/select.rs +46 -44
- package/src/rust/components/containers/sidebar.rs +3 -19
- package/src/rust/components/{column_settings_sidebar/style_tab/symbol/symbol_config.rs → containers/sidebar_close_button.rs} +15 -9
- package/src/rust/components/containers/split_panel.rs +212 -200
- package/src/rust/components/containers/tab_list.rs +11 -11
- package/src/rust/components/copy_dropdown.rs +22 -25
- package/src/rust/components/datetime_column_style/custom.rs +19 -19
- package/src/rust/components/datetime_column_style/simple.rs +13 -14
- package/src/rust/components/datetime_column_style.rs +75 -76
- package/src/rust/components/editable_header.rs +18 -14
- package/src/rust/components/empty_row.rs +5 -5
- package/src/rust/components/export_dropdown.rs +42 -42
- package/src/rust/components/expression_editor.rs +25 -19
- package/src/rust/components/filter_dropdown.rs +22 -22
- package/src/rust/components/font_loader.rs +11 -9
- package/src/rust/components/form/code_editor.rs +106 -105
- package/src/rust/components/form/color_range_selector.rs +14 -12
- package/src/rust/components/form/color_selector.rs +3 -1
- package/src/rust/components/form/debug.rs +95 -94
- package/src/rust/components/form/highlight.rs +5 -3
- package/src/rust/components/form/mod.rs +3 -2
- package/src/rust/components/form/optional_field.rs +2 -2
- package/src/rust/components/form/{select_field.rs → select_enum_field.rs} +1 -46
- package/src/rust/components/form/select_value_field.rs +64 -0
- package/src/rust/components/function_dropdown.rs +21 -21
- package/src/rust/components/main_panel.rs +219 -0
- package/src/rust/components/mod.rs +6 -6
- package/src/rust/components/modal.rs +42 -42
- package/src/rust/components/number_column_style.rs +34 -88
- package/src/rust/components/plugin_selector.rs +22 -25
- package/src/rust/components/render_warning.rs +9 -6
- package/src/rust/components/settings_panel.rs +82 -0
- package/src/rust/components/status_bar.rs +250 -146
- package/src/rust/components/status_bar_counter.rs +26 -119
- package/src/rust/components/status_indicator.rs +95 -79
- package/src/rust/components/string_column_style.rs +45 -45
- package/src/rust/components/style/style_provider.rs +1 -15
- package/src/rust/components/style_controls/number_string_format/digits_section.rs +1 -1
- package/src/rust/components/style_controls/number_string_format/misc_section.rs +1 -1
- package/src/rust/components/style_controls/number_string_format/style_section.rs +1 -1
- package/src/rust/components/style_controls/number_string_format.rs +45 -46
- package/src/rust/components/type_icon.rs +14 -11
- package/src/rust/components/viewer.rs +241 -384
- package/src/rust/config/columns_config.rs +2 -2
- package/src/rust/config/datetime_column_style.rs +1 -6
- package/src/rust/config/mod.rs +1 -0
- package/src/rust/config/number_column_style.rs +0 -6
- package/src/rust/config/number_string_format.rs +27 -4
- package/src/rust/config/viewer_config.rs +27 -167
- package/src/rust/custom_elements/copy_dropdown.rs +14 -6
- package/src/rust/custom_elements/export_dropdown.rs +15 -7
- package/src/rust/custom_elements/filter_dropdown.rs +4 -4
- package/src/rust/custom_elements/mod.rs +3 -0
- package/src/rust/custom_elements/viewer.rs +353 -161
- package/src/rust/custom_events.rs +55 -32
- package/src/rust/dragdrop.rs +4 -24
- package/src/rust/exprtk/cursor.rs +10 -1
- package/src/rust/exprtk/mod.rs +2 -0
- package/src/rust/exprtk/tokenize.rs +20 -3
- package/src/rust/js/clipboard.rs +2 -2
- package/src/rust/js/mimetype.rs +2 -7
- package/src/rust/js/mod.rs +0 -1
- package/src/rust/js/plugin.rs +7 -0
- package/src/rust/lib.rs +18 -5
- package/src/rust/model/column_locator.rs +82 -0
- package/src/rust/model/columns_iter_set.rs +1 -0
- package/src/rust/model/copy_export.rs +50 -14
- package/src/rust/model/edit_expression.rs +2 -5
- package/src/rust/model/eject.rs +41 -0
- package/src/rust/model/export_app.rs +3 -2
- package/src/rust/model/get_viewer_config.rs +4 -28
- package/src/rust/model/intersection_observer.rs +20 -8
- package/src/rust/model/mod.rs +11 -4
- package/src/rust/model/plugin_column_styles.rs +0 -31
- package/src/rust/model/reset_all.rs +38 -0
- package/src/rust/model/resize_observer.rs +34 -7
- package/src/rust/model/restore_and_render.rs +12 -7
- package/src/rust/{utils/scope.rs → model/send_plugin_config.rs} +32 -35
- package/src/rust/model/structural.rs +194 -23
- package/src/rust/model/update_and_render.rs +14 -4
- package/src/rust/{model/create_col.rs → presentation/column_locator.rs} +73 -42
- package/src/rust/{utils/wasm_abi.rs → presentation/sheets.rs} +54 -40
- package/src/rust/presentation.rs +60 -119
- package/src/rust/renderer/activate.rs +20 -5
- package/src/rust/renderer/limits.rs +0 -149
- package/src/rust/renderer/render_timer.rs +1 -1
- package/src/rust/renderer.rs +34 -18
- package/src/rust/root.rs +50 -0
- package/src/rust/session/column_defaults_update.rs +4 -4
- package/src/rust/session/drag_drop_update.rs +1 -1
- package/src/rust/session/metadata.rs +3 -17
- package/src/rust/session/replace_expression_update.rs +1 -2
- package/src/rust/session.rs +162 -82
- package/src/rust/utils/browser/blob.rs +16 -2
- package/src/rust/utils/browser/download.rs +1 -0
- package/src/rust/{components/column_settings_sidebar/mod.rs → utils/browser/dragdrop.rs} +14 -5
- package/src/rust/utils/browser/mod.rs +8 -4
- package/src/rust/utils/browser/selection.rs +5 -0
- package/src/rust/utils/custom_element.rs +28 -13
- package/src/rust/utils/datetime.rs +5 -0
- package/src/rust/utils/debounce.rs +7 -1
- package/src/rust/utils/hooks/use_async_callback.rs +7 -17
- package/src/rust/utils/mod.rs +28 -40
- package/src/rust/utils/number_format.rs +6 -5
- package/src/rust/utils/pubsub.rs +15 -10
- package/src/rust/utils/weak_scope.rs +11 -1
- package/src/svg/bookmark-icon.svg +4 -0
- package/src/svg/drag-handle copy.svg +10 -0
- package/src/svg/drawer-tab-hover.svg +5 -7
- package/src/svg/drawer-tab-invert-hover.svg +4 -8
- package/src/svg/drawer-tab-invert.svg +4 -7
- package/src/svg/drawer-tab.svg +4 -6
- package/src/svg/status_ok.svg +24 -24
- package/src/ts/extensions.ts +51 -3
- package/src/ts/perspective-viewer.ts +2 -14
- package/src/ts/plugin.ts +1 -1
- package/src/ts/ts-rs/ViewerConfigUpdate.ts +1 -1
- package/src/rust/components/column_settings_sidebar/style_tab/column_style.rs +0 -177
- package/src/rust/components/containers/tests/mod.rs +0 -11
- package/src/rust/components/containers/tests/split_panel.rs +0 -91
- package/src/rust/js/testing.rs +0 -149
- package/src/rust/utils/tee.rs +0 -88
- /package/dist/wasm/snippets/{perspective-viewer-c69283f6f62a5f14 → perspective-viewer-0d326a25c1022412}/inline0.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-c69283f6f62a5f14 → perspective-viewer-0d326a25c1022412}/inline1.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-c69283f6f62a5f14 → perspective-viewer-0d326a25c1022412}/inline2.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-c69283f6f62a5f14 → perspective-viewer-0d326a25c1022412}/inline3.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-c69283f6f62a5f14 → perspective-viewer-0d326a25c1022412}/inline4.js +0 -0
- /package/src/rust/components/{style_controls.rs → style_controls/mod.rs} +0 -0
- /package/src/rust/{components/containers → config}/kvpair.rs +0 -0
package/dist/esm/plugin.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type ViewerConfigUpdate = {
|
|
|
10
10
|
version?: OptionalUpdate<string>;
|
|
11
11
|
plugin?: OptionalUpdate<string>;
|
|
12
12
|
title?: OptionalUpdate<string>;
|
|
13
|
+
table?: OptionalUpdate<string>;
|
|
13
14
|
theme?: OptionalUpdate<string>;
|
|
14
15
|
settings?: OptionalUpdate<boolean>;
|
|
15
16
|
plugin_config?: PluginConfig | null;
|
|
@@ -15,6 +15,7 @@ export function registerPlugin(name: string): void;
|
|
|
15
15
|
export function init(): void;
|
|
16
16
|
|
|
17
17
|
import type {
|
|
18
|
+
ColumnType,
|
|
18
19
|
TableInitOptions,
|
|
19
20
|
ColumnWindow,
|
|
20
21
|
ViewWindow,
|
|
@@ -66,6 +67,7 @@ import type {
|
|
|
66
67
|
*/
|
|
67
68
|
export class Client {
|
|
68
69
|
free(): void;
|
|
70
|
+
[Symbol.dispose](): void;
|
|
69
71
|
__getClassname(): string;
|
|
70
72
|
constructor(send_request: Function, close?: Function | null);
|
|
71
73
|
new_proxy_session(on_response: Function): ProxySession;
|
|
@@ -147,7 +149,7 @@ export class Client {
|
|
|
147
149
|
* const table = await client.table(data, { index: "Row ID" });
|
|
148
150
|
* ```
|
|
149
151
|
*/
|
|
150
|
-
table(value: string | ArrayBuffer | Record<string, unknown[]> | Record<string, unknown>[], options?: TableInitOptions | null): Promise<Table>;
|
|
152
|
+
table(value: string | ArrayBuffer | Record<string, unknown[]> | Record<string, unknown>[] | Record<string, ColumnType>, options?: TableInitOptions | null): Promise<Table>;
|
|
151
153
|
/**
|
|
152
154
|
* Terminates this [`Client`], cleaning up any [`crate::View`] handles the
|
|
153
155
|
* [`Client`] has open as well as its callbacks.
|
|
@@ -184,7 +186,7 @@ export class Client {
|
|
|
184
186
|
* const tables = await client.get_hosted_table_names();
|
|
185
187
|
* ```
|
|
186
188
|
*/
|
|
187
|
-
get_hosted_table_names(): Promise<
|
|
189
|
+
get_hosted_table_names(): Promise<string[]>;
|
|
188
190
|
/**
|
|
189
191
|
* Register a callback which is invoked whenever [`Client::table`] (on this
|
|
190
192
|
* [`Client`]) or [`Table::delete`] (on a [`Table`] belinging to this
|
|
@@ -214,9 +216,11 @@ export class Client {
|
|
|
214
216
|
export class ColumnDropDownElement {
|
|
215
217
|
private constructor();
|
|
216
218
|
free(): void;
|
|
219
|
+
[Symbol.dispose](): void;
|
|
217
220
|
}
|
|
218
221
|
export class CopyDropDownMenuElement {
|
|
219
222
|
free(): void;
|
|
223
|
+
[Symbol.dispose](): void;
|
|
220
224
|
constructor(elem: HTMLElement);
|
|
221
225
|
open(target: HTMLElement): void;
|
|
222
226
|
hide(): void;
|
|
@@ -225,11 +229,12 @@ export class CopyDropDownMenuElement {
|
|
|
225
229
|
*
|
|
226
230
|
* Set this custom element model's raw pointer.
|
|
227
231
|
*/
|
|
228
|
-
|
|
232
|
+
__set_model(parent: PerspectiveViewerElement): void;
|
|
229
233
|
connected_callback(): void;
|
|
230
234
|
}
|
|
231
235
|
export class ExportDropDownMenuElement {
|
|
232
236
|
free(): void;
|
|
237
|
+
[Symbol.dispose](): void;
|
|
233
238
|
constructor(elem: HTMLElement);
|
|
234
239
|
open(target: HTMLElement): void;
|
|
235
240
|
hide(): void;
|
|
@@ -238,16 +243,35 @@ export class ExportDropDownMenuElement {
|
|
|
238
243
|
*
|
|
239
244
|
* Set this custom element model's raw pointer.
|
|
240
245
|
*/
|
|
241
|
-
|
|
246
|
+
__set_model(parent: PerspectiveViewerElement): void;
|
|
242
247
|
connected_callback(): void;
|
|
243
248
|
}
|
|
244
249
|
export class FilterDropDownElement {
|
|
245
250
|
private constructor();
|
|
246
251
|
free(): void;
|
|
252
|
+
[Symbol.dispose](): void;
|
|
247
253
|
}
|
|
248
254
|
export class FunctionDropDownElement {
|
|
249
255
|
private constructor();
|
|
250
256
|
free(): void;
|
|
257
|
+
[Symbol.dispose](): void;
|
|
258
|
+
}
|
|
259
|
+
export class JsVirtualDataSlice {
|
|
260
|
+
free(): void;
|
|
261
|
+
[Symbol.dispose](): void;
|
|
262
|
+
constructor();
|
|
263
|
+
setCol(dtype: string, name: string, index: number, val: any, group_by_index?: number | null): void;
|
|
264
|
+
setStringCol(name: string, index: number, val: any, group_by_index?: number | null): void;
|
|
265
|
+
setIntegerCol(name: string, index: number, val: any, group_by_index?: number | null): void;
|
|
266
|
+
setFloatCol(name: string, index: number, val: any, group_by_index?: number | null): void;
|
|
267
|
+
setBooleanCol(name: string, index: number, val: any, group_by_index?: number | null): void;
|
|
268
|
+
setDatetimeCol(name: string, index: number, val: any, group_by_index?: number | null): void;
|
|
269
|
+
}
|
|
270
|
+
export class JsVirtualServer {
|
|
271
|
+
free(): void;
|
|
272
|
+
[Symbol.dispose](): void;
|
|
273
|
+
constructor(handler: object);
|
|
274
|
+
handleRequest(bytes: Uint8Array): Promise<any>;
|
|
251
275
|
}
|
|
252
276
|
/**
|
|
253
277
|
* The `<perspective-viewer-plugin>` element.
|
|
@@ -267,6 +291,7 @@ export class FunctionDropDownElement {
|
|
|
267
291
|
*/
|
|
268
292
|
export class PerspectiveDebugPluginElement {
|
|
269
293
|
free(): void;
|
|
294
|
+
[Symbol.dispose](): void;
|
|
270
295
|
constructor(elem: HTMLElement);
|
|
271
296
|
update(view: View): Promise<any>;
|
|
272
297
|
/**
|
|
@@ -300,21 +325,61 @@ export class PerspectiveDebugPluginElement {
|
|
|
300
325
|
* const viewer = document.createElement("perspective-viewer");
|
|
301
326
|
* window.body.appendChild(viewer);
|
|
302
327
|
* ```
|
|
328
|
+
*
|
|
329
|
+
* Complete example including loading and restoring the [`Table`]:
|
|
330
|
+
*
|
|
331
|
+
* ```javascript
|
|
332
|
+
* import perspective from "@perspective-dev/viewer";
|
|
333
|
+
* import perspective from "@perspective-dev/client";
|
|
334
|
+
*
|
|
335
|
+
* const viewer = document.createElement("perspective-viewer");
|
|
336
|
+
* const worker = await perspective.worker();
|
|
337
|
+
*
|
|
338
|
+
* await worker.table("x\n1", {name: "table_one"});
|
|
339
|
+
* await viewer.load(worker);
|
|
340
|
+
* await viewer.restore({table: "table_one"});
|
|
341
|
+
* ```
|
|
303
342
|
*/
|
|
304
343
|
export class PerspectiveViewerElement {
|
|
305
344
|
free(): void;
|
|
345
|
+
[Symbol.dispose](): void;
|
|
306
346
|
constructor(elem: HTMLElement);
|
|
307
347
|
connectedCallback(): void;
|
|
308
348
|
/**
|
|
309
|
-
* Loads a [`
|
|
310
|
-
* [`Table`]
|
|
349
|
+
* Loads a [`Client`], or optionally [`Table`], or optionally a Javascript
|
|
350
|
+
* `Promise` which returns a [`Client`] or [`Table`], in this viewer.
|
|
351
|
+
*
|
|
352
|
+
* Loading a [`Client`] does not render, but subsequent calls to
|
|
353
|
+
* [`PerspectiveViewerElement::restore`] will use this [`Client`] to look
|
|
354
|
+
* up the proviced `table` name field for the provided
|
|
355
|
+
* [`ViewerConfigUpdate`].
|
|
356
|
+
*
|
|
357
|
+
* Loading a [`Table`] is equivalent to subsequently calling
|
|
358
|
+
* [`Self::restore`] with the `table` field set to [`Table::get_name`], and
|
|
359
|
+
* will render the UI in its default state when [`Self::load`] resolves.
|
|
360
|
+
* If you plan to call [`Self::restore`] anyway, prefer passing a
|
|
361
|
+
* [`Client`] argument to [`Self::load`] as it will conserve one render.
|
|
311
362
|
*
|
|
312
363
|
* When [`PerspectiveViewerElement::load`] resolves, the first frame of the
|
|
313
364
|
* UI + visualization is guaranteed to have been drawn. Awaiting the result
|
|
314
365
|
* of this method in a `try`/`catch` block will capture any errors
|
|
315
|
-
* thrown during the loading process, or from the [`
|
|
366
|
+
* thrown during the loading process, or from the [`Client`] `Promise`
|
|
316
367
|
* itself.
|
|
317
368
|
*
|
|
369
|
+
* [`PerspectiveViewerElement::load`] may also be called with a [`Table`],
|
|
370
|
+
* which is equivalent to:
|
|
371
|
+
*
|
|
372
|
+
* ```javascript
|
|
373
|
+
* await viewer.load(await table.get_client());
|
|
374
|
+
* await viewer.restore({name: await table.get_name()})
|
|
375
|
+
* ```
|
|
376
|
+
*
|
|
377
|
+
* If you plan to call [`PerspectiveViewerElement::restore`] immediately
|
|
378
|
+
* after [`PerspectiveViewerElement::load`] yourself, as is commonly
|
|
379
|
+
* done when loading and configuring a new `<perspective-viewer>`, you
|
|
380
|
+
* should use a [`Client`] as an argument and set the `table` field in the
|
|
381
|
+
* restore call as
|
|
382
|
+
*
|
|
318
383
|
* A [`Table`] can be created using the
|
|
319
384
|
* [`@perspective-dev/client`](https://www.npmjs.com/package/@perspective-dev/client)
|
|
320
385
|
* library from NPM (see [`perspective_js`] documentation for details).
|
|
@@ -325,7 +390,35 @@ export class PerspectiveViewerElement {
|
|
|
325
390
|
* import perspective from "@perspective-dev/client";
|
|
326
391
|
*
|
|
327
392
|
* const worker = await perspective.worker();
|
|
328
|
-
* viewer.load(worker
|
|
393
|
+
* viewer.load(worker);
|
|
394
|
+
* ```
|
|
395
|
+
*
|
|
396
|
+
* ... or
|
|
397
|
+
*
|
|
398
|
+
* ```javascript
|
|
399
|
+
* const table = await worker.table(data, {name: "superstore"});
|
|
400
|
+
* viewer.load(table);
|
|
401
|
+
* ```
|
|
402
|
+
*
|
|
403
|
+
* Complete example:
|
|
404
|
+
*
|
|
405
|
+
* ```javascript
|
|
406
|
+
* const viewer = document.createElement("perspective-viewer");
|
|
407
|
+
* const worker = await perspective.worker();
|
|
408
|
+
*
|
|
409
|
+
* await worker.table("x\n1", {name: "table_one"});
|
|
410
|
+
* await viewer.load(worker);
|
|
411
|
+
* await viewer.restore({table: "table_one", columns: ["x"]});
|
|
412
|
+
* ```
|
|
413
|
+
*
|
|
414
|
+
* ... or, if you don't want to pass your own arguments to `restore`:
|
|
415
|
+
*
|
|
416
|
+
* ```javascript
|
|
417
|
+
* const viewer = document.createElement("perspective-viewer");
|
|
418
|
+
* const worker = await perspective.worker();
|
|
419
|
+
*
|
|
420
|
+
* const table = await worker.table("x\n1", {name: "table_one"});
|
|
421
|
+
* await viewer.load(table);
|
|
329
422
|
* ```
|
|
330
423
|
*/
|
|
331
424
|
load(table: any): Promise<any>;
|
|
@@ -384,9 +477,18 @@ export class PerspectiveViewerElement {
|
|
|
384
477
|
* ```
|
|
385
478
|
*/
|
|
386
479
|
getView(): Promise<any>;
|
|
480
|
+
/**
|
|
481
|
+
* Get a copy of the [`ViewConfig`] for the current [`View`]. This is
|
|
482
|
+
* non-blocking as it does not need to access the plugin (unlike
|
|
483
|
+
* [`PerspectiveViewerElement::save`]), and also makes no API calls to the
|
|
484
|
+
* server (unlike [`PerspectiveViewerElement::getView`] followed by
|
|
485
|
+
* [`View::get_config`])
|
|
486
|
+
*/
|
|
487
|
+
getViewConfig(): Promise<any>;
|
|
387
488
|
/**
|
|
388
489
|
* Get the underlying [`Table`] for this viewer (as passed to
|
|
389
|
-
* [`PerspectiveViewerElement::load`]
|
|
490
|
+
* [`PerspectiveViewerElement::load`] or as the `table` field to
|
|
491
|
+
* [`PerspectiveViewerElement::restore`]).
|
|
390
492
|
*
|
|
391
493
|
* # Arguments
|
|
392
494
|
*
|
|
@@ -401,6 +503,24 @@ export class PerspectiveViewerElement {
|
|
|
401
503
|
* ```
|
|
402
504
|
*/
|
|
403
505
|
getTable(wait_for_table?: boolean | null): Promise<any>;
|
|
506
|
+
/**
|
|
507
|
+
* Get the underlying [`Client`] for this viewer (as passed to, or
|
|
508
|
+
* associated with the [`Table`] passed to,
|
|
509
|
+
* [`PerspectiveViewerElement::load`]).
|
|
510
|
+
*
|
|
511
|
+
* # Arguments
|
|
512
|
+
*
|
|
513
|
+
* - `wait_for_client` - whether to wait for
|
|
514
|
+
* [`PerspectiveViewerElement::load`] to be called, or fail immediately
|
|
515
|
+
* if [`PerspectiveViewerElement::load`] has not yet been called.
|
|
516
|
+
*
|
|
517
|
+
* # JavaScript Examples
|
|
518
|
+
*
|
|
519
|
+
* ```javascript
|
|
520
|
+
* const client = await viewer.getClient();
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
523
|
+
getClient(wait_for_client?: boolean | null): Promise<any>;
|
|
404
524
|
/**
|
|
405
525
|
* Get render statistics. Some fields of the returned stats object are
|
|
406
526
|
* relative to the last time [`PerspectiveViewerElement::getRenderStats`]
|
|
@@ -436,7 +556,8 @@ export class PerspectiveViewerElement {
|
|
|
436
556
|
flush(): Promise<any>;
|
|
437
557
|
/**
|
|
438
558
|
* Restores this element from a full/partial
|
|
439
|
-
* [`perspective_js::JsViewConfig`]
|
|
559
|
+
* [`perspective_js::JsViewConfig`] (this element's user-configurable
|
|
560
|
+
* state, including the `Table` name).
|
|
440
561
|
*
|
|
441
562
|
* One of the best ways to use [`Self::restore`] is by first configuring
|
|
442
563
|
* a `<perspective-viewer>` as you wish, then using either the `Debug`
|
|
@@ -450,22 +571,30 @@ export class PerspectiveViewerElement {
|
|
|
450
571
|
*
|
|
451
572
|
* # JavaScript Examples
|
|
452
573
|
*
|
|
453
|
-
*
|
|
454
|
-
*
|
|
574
|
+
* Loads a default plugin for the table named `"superstore"`:
|
|
575
|
+
*
|
|
576
|
+
* ```javascript
|
|
577
|
+
* await viewer.restore({table: "superstore"});
|
|
578
|
+
* ```
|
|
579
|
+
*
|
|
580
|
+
* Apply a `group_by` to the same `viewer` element, without
|
|
581
|
+
* modifying/resetting other fields - you can omit the `table` field,
|
|
582
|
+
* this has already been set once and is not modified:
|
|
455
583
|
*
|
|
456
584
|
* ```javascript
|
|
457
585
|
* await viewer.restore({group_by: ["State"]});
|
|
458
586
|
* ```
|
|
459
587
|
*/
|
|
460
588
|
restore(update: any): Promise<any>;
|
|
589
|
+
/**
|
|
590
|
+
* If this element is in an _errored_ state, this method will clear it and
|
|
591
|
+
* re-render. Calling this method is equivalent to clicking the error reset
|
|
592
|
+
* button in the UI.
|
|
593
|
+
*/
|
|
461
594
|
resetError(): Promise<any>;
|
|
462
595
|
/**
|
|
463
|
-
* Save this element
|
|
464
|
-
* via the [`Self::restore`] method.
|
|
465
|
-
*
|
|
466
|
-
* # Arguments
|
|
467
|
-
*
|
|
468
|
-
* - `format` - Supports "json" (default), "arraybuffer" or "string".
|
|
596
|
+
* Save this element's user-configurable state to a serialized state
|
|
597
|
+
* object, one which can be restored via the [`Self::restore`] method.
|
|
469
598
|
*
|
|
470
599
|
* # JavaScript Examples
|
|
471
600
|
*
|
|
@@ -484,14 +613,14 @@ export class PerspectiveViewerElement {
|
|
|
484
613
|
* });
|
|
485
614
|
* ```
|
|
486
615
|
*/
|
|
487
|
-
save(
|
|
616
|
+
save(): Promise<any>;
|
|
488
617
|
/**
|
|
489
|
-
* Download this viewer's internal [`View`] data
|
|
618
|
+
* Download this viewer's internal [`View`] data via a browser download
|
|
619
|
+
* event.
|
|
490
620
|
*
|
|
491
621
|
* # Arguments
|
|
492
622
|
*
|
|
493
|
-
* - `
|
|
494
|
-
* to generate this data, or use the default.
|
|
623
|
+
* - `method` - The `ExportMethod` to use to render the data to download.
|
|
495
624
|
*
|
|
496
625
|
* # JavaScript Examples
|
|
497
626
|
*
|
|
@@ -501,7 +630,28 @@ export class PerspectiveViewerElement {
|
|
|
501
630
|
* })
|
|
502
631
|
* ```
|
|
503
632
|
*/
|
|
504
|
-
download(
|
|
633
|
+
download(method?: string | null): Promise<any>;
|
|
634
|
+
/**
|
|
635
|
+
* Exports this viewer's internal [`View`] as a JavaSript data, the
|
|
636
|
+
* exact type of which depends on the `method` but defaults to `String`
|
|
637
|
+
* in CSV format.
|
|
638
|
+
*
|
|
639
|
+
* This method is only really useful for the `"plugin"` method, which
|
|
640
|
+
* will use the configured plugin's export (e.g. PNG for
|
|
641
|
+
* `@perspective-dev/viewer-d3fc`). Otherwise, prefer to call the
|
|
642
|
+
* equivalent method on the underlying [`View`] directly.
|
|
643
|
+
*
|
|
644
|
+
* # Arguments
|
|
645
|
+
*
|
|
646
|
+
* - `method` - The `ExportMethod` to use to render the data to download.
|
|
647
|
+
*
|
|
648
|
+
* # JavaScript Examples
|
|
649
|
+
*
|
|
650
|
+
* ```javascript
|
|
651
|
+
* const data = await viewer.export("plugin");
|
|
652
|
+
* ```
|
|
653
|
+
*/
|
|
654
|
+
export(method?: string | null): Promise<any>;
|
|
505
655
|
/**
|
|
506
656
|
* Copy this viewer's `View` or `Table` data as CSV to the system
|
|
507
657
|
* clipboard.
|
|
@@ -704,7 +854,7 @@ export class PerspectiveViewerElement {
|
|
|
704
854
|
/**
|
|
705
855
|
* Create a new JavaScript Heap reference for this model instance.
|
|
706
856
|
*/
|
|
707
|
-
|
|
857
|
+
__get_model(): PerspectiveViewerElement;
|
|
708
858
|
/**
|
|
709
859
|
* Asynchronously opens the column settings for a specific column.
|
|
710
860
|
* When finished, the `<perspective-viewer>` element will emit a
|
|
@@ -722,6 +872,7 @@ export class PerspectiveViewerElement {
|
|
|
722
872
|
}
|
|
723
873
|
export class ProxySession {
|
|
724
874
|
free(): void;
|
|
875
|
+
[Symbol.dispose](): void;
|
|
725
876
|
constructor(client: Client, on_response: Function);
|
|
726
877
|
handle_request(value: any): Promise<void>;
|
|
727
878
|
close(): Promise<void>;
|
|
@@ -729,6 +880,7 @@ export class ProxySession {
|
|
|
729
880
|
export class Table {
|
|
730
881
|
private constructor();
|
|
731
882
|
free(): void;
|
|
883
|
+
[Symbol.dispose](): void;
|
|
732
884
|
__getClassname(): string;
|
|
733
885
|
/**
|
|
734
886
|
* Returns the name of the index column for the table.
|
|
@@ -740,7 +892,7 @@ export class Table {
|
|
|
740
892
|
* const index = table.get_index(); // "x"
|
|
741
893
|
* ```
|
|
742
894
|
*/
|
|
743
|
-
get_index(): Promise<string
|
|
895
|
+
get_index(): Promise<string>;
|
|
744
896
|
/**
|
|
745
897
|
* Get a copy of the [`Client`] this [`Table`] came from.
|
|
746
898
|
*/
|
|
@@ -816,7 +968,7 @@ export class Table {
|
|
|
816
968
|
* Note that all [`Table`] columns are _nullable_, regardless of the data
|
|
817
969
|
* type.
|
|
818
970
|
*/
|
|
819
|
-
schema(): Promise<
|
|
971
|
+
schema(): Promise<Record<string, ColumnType>>;
|
|
820
972
|
/**
|
|
821
973
|
* Returns the column names of this [`Table`] in "natural" order (the
|
|
822
974
|
* ordering implied by the input format).
|
|
@@ -905,7 +1057,7 @@ export class Table {
|
|
|
905
1057
|
* await table.update("x,y\n1,2");
|
|
906
1058
|
* ```
|
|
907
1059
|
*/
|
|
908
|
-
update(input: string | ArrayBuffer | Record<string, unknown[]> | Record<string, unknown>[], options?: UpdateOptions | null): Promise<any>;
|
|
1060
|
+
update(input: string | ArrayBuffer | Record<string, unknown[]> | Record<string, unknown>[] | Record<string, ColumnType>, options?: UpdateOptions | null): Promise<any>;
|
|
909
1061
|
/**
|
|
910
1062
|
* Create a new [`View`] from this table with a specified
|
|
911
1063
|
* [`ViewConfigUpdate`].
|
|
@@ -947,6 +1099,7 @@ export class Table {
|
|
|
947
1099
|
export class View {
|
|
948
1100
|
private constructor();
|
|
949
1101
|
free(): void;
|
|
1102
|
+
[Symbol.dispose](): void;
|
|
950
1103
|
__get_model(): View;
|
|
951
1104
|
/**
|
|
952
1105
|
* Returns an array of strings containing the column paths of the [`View`]
|
|
@@ -1133,7 +1286,7 @@ export interface InitOutput {
|
|
|
1133
1286
|
readonly copydropdownmenuelement_new: (a: number) => number;
|
|
1134
1287
|
readonly copydropdownmenuelement_open: (a: number, b: number) => void;
|
|
1135
1288
|
readonly copydropdownmenuelement_hide: (a: number, b: number) => void;
|
|
1136
|
-
readonly
|
|
1289
|
+
readonly copydropdownmenuelement___set_model: (a: number, b: number) => void;
|
|
1137
1290
|
readonly copydropdownmenuelement_connected_callback: (a: number) => void;
|
|
1138
1291
|
readonly __wbg_perspectivedebugpluginelement_free: (a: number, b: number) => void;
|
|
1139
1292
|
readonly perspectivedebugpluginelement_new: (a: number) => number;
|
|
@@ -1145,23 +1298,26 @@ export interface InitOutput {
|
|
|
1145
1298
|
readonly perspectivedebugpluginelement_connectedCallback: (a: number) => void;
|
|
1146
1299
|
readonly exportdropdownmenuelement_open: (a: number, b: number) => void;
|
|
1147
1300
|
readonly exportdropdownmenuelement_hide: (a: number, b: number) => void;
|
|
1148
|
-
readonly
|
|
1301
|
+
readonly exportdropdownmenuelement___set_model: (a: number, b: number) => void;
|
|
1149
1302
|
readonly __wbg_filterdropdownelement_free: (a: number, b: number) => void;
|
|
1150
1303
|
readonly __wbg_functiondropdownelement_free: (a: number, b: number) => void;
|
|
1151
1304
|
readonly __wbg_perspectiveviewerelement_free: (a: number, b: number) => void;
|
|
1152
1305
|
readonly perspectiveviewerelement_new: (a: number) => number;
|
|
1153
|
-
readonly perspectiveviewerelement_connectedCallback: (a: number) => void;
|
|
1154
|
-
readonly perspectiveviewerelement_load: (a: number, b: number) =>
|
|
1306
|
+
readonly perspectiveviewerelement_connectedCallback: (a: number, b: number) => void;
|
|
1307
|
+
readonly perspectiveviewerelement_load: (a: number, b: number, c: number) => void;
|
|
1155
1308
|
readonly perspectiveviewerelement_delete: (a: number) => number;
|
|
1156
1309
|
readonly perspectiveviewerelement_eject: (a: number) => number;
|
|
1157
1310
|
readonly perspectiveviewerelement_getView: (a: number) => number;
|
|
1311
|
+
readonly perspectiveviewerelement_getViewConfig: (a: number) => number;
|
|
1158
1312
|
readonly perspectiveviewerelement_getTable: (a: number, b: number) => number;
|
|
1313
|
+
readonly perspectiveviewerelement_getClient: (a: number, b: number) => number;
|
|
1159
1314
|
readonly perspectiveviewerelement_getRenderStats: (a: number, b: number) => void;
|
|
1160
1315
|
readonly perspectiveviewerelement_flush: (a: number) => number;
|
|
1161
1316
|
readonly perspectiveviewerelement_restore: (a: number, b: number) => number;
|
|
1162
1317
|
readonly perspectiveviewerelement_resetError: (a: number) => number;
|
|
1163
|
-
readonly perspectiveviewerelement_save: (a: number
|
|
1318
|
+
readonly perspectiveviewerelement_save: (a: number) => number;
|
|
1164
1319
|
readonly perspectiveviewerelement_download: (a: number, b: number) => number;
|
|
1320
|
+
readonly perspectiveviewerelement_export: (a: number, b: number) => number;
|
|
1165
1321
|
readonly perspectiveviewerelement_copy: (a: number, b: number) => number;
|
|
1166
1322
|
readonly perspectiveviewerelement_reset: (a: number, b: number) => number;
|
|
1167
1323
|
readonly perspectiveviewerelement_resize: (a: number, b: number) => number;
|
|
@@ -1176,7 +1332,7 @@ export interface InitOutput {
|
|
|
1176
1332
|
readonly perspectiveviewerelement_toggleConfig: (a: number, b: number) => number;
|
|
1177
1333
|
readonly perspectiveviewerelement_getAllPlugins: (a: number) => number;
|
|
1178
1334
|
readonly perspectiveviewerelement_getPlugin: (a: number, b: number, c: number, d: number) => void;
|
|
1179
|
-
readonly
|
|
1335
|
+
readonly perspectiveviewerelement___get_model: (a: number) => number;
|
|
1180
1336
|
readonly perspectiveviewerelement_toggleColumnSettings: (a: number, b: number, c: number) => number;
|
|
1181
1337
|
readonly perspectiveviewerelement_openColumnSettings: (a: number, b: number, c: number, d: number) => number;
|
|
1182
1338
|
readonly registerPlugin: (a: number, b: number) => void;
|
|
@@ -1252,21 +1408,37 @@ export interface InitOutput {
|
|
|
1252
1408
|
readonly view_collapse: (a: number, b: number) => number;
|
|
1253
1409
|
readonly view_expand: (a: number, b: number) => number;
|
|
1254
1410
|
readonly view_set_depth: (a: number, b: number) => number;
|
|
1411
|
+
readonly __wbg_jsvirtualdataslice_free: (a: number, b: number) => void;
|
|
1412
|
+
readonly jsvirtualdataslice_new: () => number;
|
|
1413
|
+
readonly jsvirtualdataslice_setCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
1414
|
+
readonly jsvirtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1415
|
+
readonly jsvirtualdataslice_setIntegerCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1416
|
+
readonly jsvirtualdataslice_setFloatCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1417
|
+
readonly jsvirtualdataslice_setBooleanCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1418
|
+
readonly jsvirtualdataslice_setDatetimeCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1419
|
+
readonly __wbg_jsvirtualserver_free: (a: number, b: number) => void;
|
|
1420
|
+
readonly jsvirtualserver_new: (a: number, b: number) => void;
|
|
1421
|
+
readonly jsvirtualserver_handleRequest: (a: number, b: number, c: number) => number;
|
|
1255
1422
|
readonly proxysession_new: (a: number, b: number) => number;
|
|
1256
|
-
readonly
|
|
1257
|
-
readonly
|
|
1258
|
-
readonly
|
|
1259
|
-
readonly
|
|
1260
|
-
readonly
|
|
1423
|
+
readonly __wasm_bindgen_func_elem_5617: (a: number, b: number, c: number) => void;
|
|
1424
|
+
readonly __wasm_bindgen_func_elem_457: (a: number, b: number) => void;
|
|
1425
|
+
readonly __wasm_bindgen_func_elem_18124: (a: number, b: number) => void;
|
|
1426
|
+
readonly __wasm_bindgen_func_elem_18117: (a: number, b: number) => void;
|
|
1427
|
+
readonly __wasm_bindgen_func_elem_17201: (a: number, b: number, c: number) => void;
|
|
1428
|
+
readonly __wasm_bindgen_func_elem_17129: (a: number, b: number) => void;
|
|
1429
|
+
readonly __wasm_bindgen_func_elem_5616: (a: number, b: number, c: number) => void;
|
|
1430
|
+
readonly __wasm_bindgen_func_elem_452: (a: number, b: number) => void;
|
|
1431
|
+
readonly __wasm_bindgen_func_elem_18145: (a: number, b: number, c: number) => void;
|
|
1432
|
+
readonly __wasm_bindgen_func_elem_18130: (a: number, b: number) => void;
|
|
1433
|
+
readonly __wasm_bindgen_func_elem_5618: (a: number, b: number, c: number) => void;
|
|
1434
|
+
readonly __wasm_bindgen_func_elem_13043: (a: number, b: number) => number;
|
|
1435
|
+
readonly __wasm_bindgen_func_elem_12575: (a: number, b: number) => void;
|
|
1436
|
+
readonly __wasm_bindgen_func_elem_19812: (a: number, b: number, c: number, d: number) => void;
|
|
1437
|
+
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
1438
|
+
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
1439
|
+
readonly __wbindgen_export3: (a: number) => void;
|
|
1440
|
+
readonly __wbindgen_export4: (a: number, b: number, c: number) => void;
|
|
1261
1441
|
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
1262
|
-
readonly __wbindgen_export_5: (a: number, b: number, c: number) => void;
|
|
1263
|
-
readonly __wbindgen_export_6: (a: number, b: number, c: number) => void;
|
|
1264
|
-
readonly __wbindgen_export_7: (a: number, b: number, c: number) => void;
|
|
1265
|
-
readonly __wbindgen_export_8: (a: number, b: number) => number;
|
|
1266
|
-
readonly __wbindgen_export_9: (a: number, b: number, c: number) => void;
|
|
1267
|
-
readonly __wbindgen_export_10: (a: number, b: number) => void;
|
|
1268
|
-
readonly __wbindgen_export_11: (a: number, b: number, c: number) => void;
|
|
1269
|
-
readonly __wbindgen_export_12: (a: number, b: number, c: number, d: number) => void;
|
|
1270
1442
|
}
|
|
1271
1443
|
|
|
1272
1444
|
export type SyncInitInput = BufferSource | WebAssembly.Module;
|