@perspective-dev/viewer 4.1.1 → 4.3.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/botanical.css +1 -0
- 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/solarized.css +1 -1
- package/dist/css/themes.css +1 -1
- package/dist/css/vaporwave.css +1 -1
- package/dist/esm/extensions.d.ts +32 -1
- package/dist/esm/perspective-viewer.d.ts +1 -0
- 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/ts-rs/GroupRollupMode.d.ts +1 -0
- package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +2 -0
- package/dist/wasm/perspective-viewer.d.ts +1403 -1319
- package/dist/wasm/perspective-viewer.js +3531 -3268
- package/dist/wasm/perspective-viewer.wasm +0 -0
- package/dist/wasm/perspective-viewer.wasm.d.ts +111 -99
- package/package.json +4 -3
- package/src/less/column-selector.less +2 -2
- package/src/less/config-selector.less +66 -4
- package/src/rust/components/column_dropdown.rs +8 -8
- package/src/rust/components/column_selector/config_selector.rs +102 -29
- package/src/rust/components/column_selector/filter_column.rs +12 -12
- package/src/rust/components/column_selector/pivot_column.rs +12 -7
- package/src/rust/components/column_selector.rs +27 -17
- package/src/rust/components/column_settings_sidebar/style_tab/symbol/row_selector.rs +5 -5
- package/src/rust/components/column_settings_sidebar.rs +2 -4
- package/src/rust/components/containers/dragdrop_list.rs +32 -10
- package/src/rust/components/containers/scroll_panel.rs +8 -1
- package/src/rust/components/containers/select.rs +9 -9
- package/src/rust/components/containers/split_panel.rs +2 -2
- package/src/rust/components/filter_dropdown.rs +8 -8
- package/src/rust/components/function_dropdown.rs +8 -8
- package/src/rust/components/modal.rs +4 -4
- package/src/rust/components/plugin_selector.rs +15 -5
- package/src/rust/components/status_indicator.rs +3 -0
- package/src/rust/custom_elements/filter_dropdown.rs +4 -4
- package/src/rust/custom_elements/viewer.rs +2 -7
- package/src/rust/js/plugin.rs +19 -0
- package/src/rust/model/copy_export.rs +2 -1
- package/src/rust/model/intersection_observer.rs +3 -1
- package/src/rust/presentation/sheets.rs +4 -1
- package/src/rust/presentation.rs +4 -4
- package/src/rust/renderer/registry.rs +8 -1
- package/src/rust/session/column_defaults_update.rs +18 -0
- package/src/rust/session/replace_expression_update.rs +1 -0
- package/src/themes/botanical.less +142 -0
- package/src/themes/themes.less +2 -1
- package/src/ts/extensions.ts +73 -2
- package/src/ts/perspective-viewer.ts +1 -0
- package/src/ts/ts-rs/GroupRollupMode.ts +3 -0
- package/src/ts/ts-rs/ViewerConfigUpdate.ts +2 -1
- package/tsconfig.json +1 -0
- /package/dist/wasm/snippets/{perspective-viewer-11a3c51b6310ee99 → perspective-viewer-d729f682ba5c19df}/inline0.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-11a3c51b6310ee99/inline2.js → perspective-viewer-d729f682ba5c19df/inline1.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-11a3c51b6310ee99/inline1.js → perspective-viewer-d729f682ba5c19df/inline2.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-11a3c51b6310ee99 → perspective-viewer-d729f682ba5c19df}/inline3.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-11a3c51b6310ee99 → perspective-viewer-d729f682ba5c19df}/inline4.js +0 -0
|
Binary file
|
|
@@ -3,157 +3,169 @@
|
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const __wbg_columndropdownelement_free: (a: number, b: number) => void;
|
|
5
5
|
export const __wbg_copydropdownmenuelement_free: (a: number, b: number) => void;
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
6
|
+
export const __wbg_filterdropdownelement_free: (a: number, b: number) => void;
|
|
7
|
+
export const __wbg_functiondropdownelement_free: (a: number, b: number) => void;
|
|
8
|
+
export const __wbg_perspectivedebugpluginelement_free: (a: number, b: number) => void;
|
|
9
|
+
export const __wbg_perspectiveviewerelement_free: (a: number, b: number) => void;
|
|
9
10
|
export const copydropdownmenuelement___set_model: (a: number, b: number) => void;
|
|
10
11
|
export const copydropdownmenuelement_connected_callback: (a: number) => void;
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
16
|
-
export const
|
|
12
|
+
export const copydropdownmenuelement_hide: (a: number, b: number) => void;
|
|
13
|
+
export const copydropdownmenuelement_new: (a: number) => number;
|
|
14
|
+
export const copydropdownmenuelement_open: (a: number, b: number) => void;
|
|
15
|
+
export const exportdropdownmenuelement___set_model: (a: number, b: number) => void;
|
|
16
|
+
export const exportdropdownmenuelement_hide: (a: number, b: number) => void;
|
|
17
|
+
export const exportdropdownmenuelement_open: (a: number, b: number) => void;
|
|
18
|
+
export const init: () => void;
|
|
17
19
|
export const perspectivedebugpluginelement_clear: (a: number) => number;
|
|
20
|
+
export const perspectivedebugpluginelement_config_column_names: (a: number) => number;
|
|
18
21
|
export const perspectivedebugpluginelement_connectedCallback: (a: number) => void;
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
23
|
-
export const
|
|
24
|
-
export const __wbg_perspectiveviewerelement_free: (a: number, b: number) => void;
|
|
25
|
-
export const perspectiveviewerelement_new: (a: number) => number;
|
|
22
|
+
export const perspectivedebugpluginelement_draw: (a: number, b: number) => number;
|
|
23
|
+
export const perspectivedebugpluginelement_name: (a: number, b: number) => void;
|
|
24
|
+
export const perspectivedebugpluginelement_new: (a: number) => number;
|
|
25
|
+
export const perspectivedebugpluginelement_select_mode: (a: number, b: number) => void;
|
|
26
|
+
export const perspectiveviewerelement___get_model: (a: number) => number;
|
|
26
27
|
export const perspectiveviewerelement_connectedCallback: (a: number, b: number) => void;
|
|
27
|
-
export const
|
|
28
|
+
export const perspectiveviewerelement_copy: (a: number, b: number) => number;
|
|
28
29
|
export const perspectiveviewerelement_delete: (a: number) => number;
|
|
30
|
+
export const perspectiveviewerelement_download: (a: number, b: number) => number;
|
|
29
31
|
export const perspectiveviewerelement_eject: (a: number) => number;
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
32
|
-
export const
|
|
32
|
+
export const perspectiveviewerelement_export: (a: number, b: number) => number;
|
|
33
|
+
export const perspectiveviewerelement_flush: (a: number) => number;
|
|
34
|
+
export const perspectiveviewerelement_getAllPlugins: (a: number) => number;
|
|
33
35
|
export const perspectiveviewerelement_getClient: (a: number, b: number) => number;
|
|
36
|
+
export const perspectiveviewerelement_getEditPort: (a: number, b: number) => void;
|
|
37
|
+
export const perspectiveviewerelement_getPlugin: (a: number, b: number, c: number, d: number) => void;
|
|
34
38
|
export const perspectiveviewerelement_getRenderStats: (a: number, b: number) => void;
|
|
35
|
-
export const
|
|
36
|
-
export const
|
|
37
|
-
export const
|
|
38
|
-
export const
|
|
39
|
-
export const
|
|
40
|
-
export const
|
|
41
|
-
export const
|
|
39
|
+
export const perspectiveviewerelement_getSelection: (a: number) => number;
|
|
40
|
+
export const perspectiveviewerelement_getTable: (a: number, b: number) => number;
|
|
41
|
+
export const perspectiveviewerelement_getView: (a: number) => number;
|
|
42
|
+
export const perspectiveviewerelement_getViewConfig: (a: number) => number;
|
|
43
|
+
export const perspectiveviewerelement_load: (a: number, b: number, c: number) => void;
|
|
44
|
+
export const perspectiveviewerelement_new: (a: number) => number;
|
|
45
|
+
export const perspectiveviewerelement_openColumnSettings: (a: number, b: number, c: number, d: number) => number;
|
|
42
46
|
export const perspectiveviewerelement_reset: (a: number, b: number) => number;
|
|
47
|
+
export const perspectiveviewerelement_resetError: (a: number) => number;
|
|
48
|
+
export const perspectiveviewerelement_resetThemes: (a: number, b: number, c: number) => number;
|
|
43
49
|
export const perspectiveviewerelement_resize: (a: number, b: number) => number;
|
|
44
|
-
export const
|
|
50
|
+
export const perspectiveviewerelement_restore: (a: number, b: number) => number;
|
|
51
|
+
export const perspectiveviewerelement_restyleElement: (a: number) => number;
|
|
52
|
+
export const perspectiveviewerelement_save: (a: number) => number;
|
|
45
53
|
export const perspectiveviewerelement_setAutoPause: (a: number, b: number) => void;
|
|
46
|
-
export const
|
|
54
|
+
export const perspectiveviewerelement_setAutoSize: (a: number, b: number) => void;
|
|
47
55
|
export const perspectiveviewerelement_setSelection: (a: number, b: number, c: number) => void;
|
|
48
|
-
export const perspectiveviewerelement_getEditPort: (a: number, b: number) => void;
|
|
49
|
-
export const perspectiveviewerelement_restyleElement: (a: number) => number;
|
|
50
|
-
export const perspectiveviewerelement_resetThemes: (a: number, b: number, c: number) => number;
|
|
51
56
|
export const perspectiveviewerelement_setThrottle: (a: number, b: number, c: number) => void;
|
|
52
|
-
export const perspectiveviewerelement_toggleConfig: (a: number, b: number) => number;
|
|
53
|
-
export const perspectiveviewerelement_getAllPlugins: (a: number) => number;
|
|
54
|
-
export const perspectiveviewerelement_getPlugin: (a: number, b: number, c: number, d: number) => void;
|
|
55
|
-
export const perspectiveviewerelement___get_model: (a: number) => number;
|
|
56
57
|
export const perspectiveviewerelement_toggleColumnSettings: (a: number, b: number, c: number) => number;
|
|
57
|
-
export const
|
|
58
|
+
export const perspectiveviewerelement_toggleConfig: (a: number, b: number) => number;
|
|
58
59
|
export const registerPlugin: (a: number, b: number) => void;
|
|
59
|
-
export const init: () => void;
|
|
60
|
-
export const perspectivedebugpluginelement_min_config_columns: (a: number) => number;
|
|
61
60
|
export const perspectivedebugpluginelement_update: (a: number, b: number) => number;
|
|
62
|
-
export const
|
|
63
|
-
export const perspectivedebugpluginelement_restyle: (a: number) => number;
|
|
61
|
+
export const perspectivedebugpluginelement_min_config_columns: (a: number) => number;
|
|
64
62
|
export const perspectivedebugpluginelement_save: (a: number) => number;
|
|
65
|
-
export const perspectivedebugpluginelement_restore: (a: number) => number;
|
|
66
63
|
export const perspectivedebugpluginelement_delete: (a: number) => number;
|
|
64
|
+
export const perspectivedebugpluginelement_resize: (a: number) => number;
|
|
65
|
+
export const perspectivedebugpluginelement_restore: (a: number) => number;
|
|
66
|
+
export const perspectivedebugpluginelement_restyle: (a: number) => number;
|
|
67
67
|
export const exportdropdownmenuelement_new: (a: number) => number;
|
|
68
68
|
export const __wbg_exportdropdownmenuelement_free: (a: number, b: number) => void;
|
|
69
69
|
export const exportdropdownmenuelement_connected_callback: (a: number) => void;
|
|
70
|
-
export const __wbg_proxysession_free: (a: number, b: number) => void;
|
|
71
|
-
export const proxysession_handle_request: (a: number, b: number) => number;
|
|
72
|
-
export const proxysession_close: (a: number) => number;
|
|
73
70
|
export const __wbg_client_free: (a: number, b: number) => void;
|
|
71
|
+
export const __wbg_genericsqlvirtualservermodel_free: (a: number, b: number) => void;
|
|
72
|
+
export const __wbg_proxysession_free: (a: number, b: number) => void;
|
|
73
|
+
export const __wbg_table_free: (a: number, b: number) => void;
|
|
74
|
+
export const __wbg_view_free: (a: number, b: number) => void;
|
|
75
|
+
export const __wbg_virtualdataslice_free: (a: number, b: number) => void;
|
|
76
|
+
export const __wbg_virtualserver_free: (a: number, b: number) => void;
|
|
74
77
|
export const client___getClassname: (a: number, b: number) => void;
|
|
78
|
+
export const client_get_hosted_table_names: (a: number) => number;
|
|
79
|
+
export const client_handle_error: (a: number, b: number, c: number, d: number) => number;
|
|
80
|
+
export const client_handle_response: (a: number, b: number) => number;
|
|
75
81
|
export const client_new: (a: number, b: number, c: number) => void;
|
|
76
82
|
export const client_new_proxy_session: (a: number, b: number) => number;
|
|
77
|
-
export const client_handle_response: (a: number, b: number) => number;
|
|
78
|
-
export const client_handle_error: (a: number, b: number, c: number, d: number) => number;
|
|
79
83
|
export const client_on_error: (a: number, b: number) => number;
|
|
80
|
-
export const client_table: (a: number, b: number, c: number) => number;
|
|
81
|
-
export const client_terminate: (a: number, b: number) => void;
|
|
82
|
-
export const client_open_table: (a: number, b: number, c: number) => number;
|
|
83
|
-
export const client_get_hosted_table_names: (a: number) => number;
|
|
84
84
|
export const client_on_hosted_tables_update: (a: number, b: number) => number;
|
|
85
|
+
export const client_open_table: (a: number, b: number, c: number) => number;
|
|
85
86
|
export const client_remove_hosted_tables_update: (a: number, b: number) => number;
|
|
86
87
|
export const client_system_info: (a: number) => number;
|
|
88
|
+
export const client_table: (a: number, b: number, c: number) => number;
|
|
89
|
+
export const client_terminate: (a: number, b: number) => void;
|
|
90
|
+
export const genericsqlvirtualservermodel_getHostedTables: (a: number, b: number) => void;
|
|
91
|
+
export const genericsqlvirtualservermodel_new: (a: number, b: number) => void;
|
|
92
|
+
export const genericsqlvirtualservermodel_tableMakeView: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
93
|
+
export const genericsqlvirtualservermodel_tableSchema: (a: number, b: number, c: number, d: number) => void;
|
|
94
|
+
export const genericsqlvirtualservermodel_tableSize: (a: number, b: number, c: number, d: number) => void;
|
|
95
|
+
export const genericsqlvirtualservermodel_tableValidateExpression: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
96
|
+
export const genericsqlvirtualservermodel_viewColumnSize: (a: number, b: number, c: number, d: number) => void;
|
|
97
|
+
export const genericsqlvirtualservermodel_viewDelete: (a: number, b: number, c: number, d: number) => void;
|
|
98
|
+
export const genericsqlvirtualservermodel_viewGetData: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
99
|
+
export const genericsqlvirtualservermodel_viewSchema: (a: number, b: number, c: number, d: number) => void;
|
|
100
|
+
export const genericsqlvirtualservermodel_viewSize: (a: number, b: number, c: number, d: number) => void;
|
|
101
|
+
export const proxysession_close: (a: number) => number;
|
|
102
|
+
export const proxysession_handle_request: (a: number, b: number) => number;
|
|
103
|
+
export const proxysession_new: (a: number, b: number) => number;
|
|
87
104
|
export const table___getClassname: (a: number, b: number) => void;
|
|
88
|
-
export const __wbg_table_free: (a: number, b: number) => void;
|
|
89
|
-
export const table_get_index: (a: number) => number;
|
|
90
|
-
export const table_get_client: (a: number) => number;
|
|
91
|
-
export const table_get_name: (a: number) => number;
|
|
92
|
-
export const table_get_limit: (a: number) => number;
|
|
93
105
|
export const table_clear: (a: number) => number;
|
|
94
|
-
export const table_delete: (a: number, b: number) => number;
|
|
95
|
-
export const table_size: (a: number) => number;
|
|
96
|
-
export const table_schema: (a: number) => number;
|
|
97
106
|
export const table_columns: (a: number) => number;
|
|
107
|
+
export const table_delete: (a: number, b: number) => number;
|
|
108
|
+
export const table_get_client: (a: number) => number;
|
|
109
|
+
export const table_get_index: (a: number) => number;
|
|
110
|
+
export const table_get_limit: (a: number) => number;
|
|
111
|
+
export const table_get_name: (a: number) => number;
|
|
98
112
|
export const table_make_port: (a: number) => number;
|
|
99
113
|
export const table_on_delete: (a: number, b: number) => number;
|
|
100
|
-
export const table_remove_delete: (a: number, b: number) => number;
|
|
101
114
|
export const table_remove: (a: number, b: number, c: number) => number;
|
|
115
|
+
export const table_remove_delete: (a: number, b: number) => number;
|
|
102
116
|
export const table_replace: (a: number, b: number, c: number) => number;
|
|
117
|
+
export const table_schema: (a: number) => number;
|
|
118
|
+
export const table_size: (a: number) => number;
|
|
103
119
|
export const table_update: (a: number, b: number, c: number) => number;
|
|
104
|
-
export const table_view: (a: number, b: number) => number;
|
|
105
120
|
export const table_validate_expressions: (a: number, b: number) => number;
|
|
106
|
-
export const
|
|
121
|
+
export const table_view: (a: number, b: number) => number;
|
|
107
122
|
export const view___get_model: (a: number) => number;
|
|
123
|
+
export const view_collapse: (a: number, b: number) => number;
|
|
108
124
|
export const view_column_paths: (a: number, b: number) => number;
|
|
109
125
|
export const view_delete: (a: number) => number;
|
|
110
126
|
export const view_dimensions: (a: number) => number;
|
|
127
|
+
export const view_expand: (a: number, b: number) => number;
|
|
111
128
|
export const view_expression_schema: (a: number) => number;
|
|
112
129
|
export const view_get_config: (a: number) => number;
|
|
113
130
|
export const view_get_min_max: (a: number, b: number, c: number) => number;
|
|
131
|
+
export const view_num_columns: (a: number) => number;
|
|
114
132
|
export const view_num_rows: (a: number) => number;
|
|
133
|
+
export const view_on_delete: (a: number, b: number) => number;
|
|
134
|
+
export const view_on_update: (a: number, b: number, c: number) => number;
|
|
135
|
+
export const view_remove_delete: (a: number, b: number) => number;
|
|
136
|
+
export const view_remove_update: (a: number, b: number) => number;
|
|
115
137
|
export const view_schema: (a: number) => number;
|
|
138
|
+
export const view_set_depth: (a: number, b: number) => number;
|
|
116
139
|
export const view_to_arrow: (a: number, b: number) => number;
|
|
117
|
-
export const view_to_columns_string: (a: number, b: number) => number;
|
|
118
140
|
export const view_to_columns: (a: number, b: number) => number;
|
|
119
|
-
export const
|
|
141
|
+
export const view_to_columns_string: (a: number, b: number) => number;
|
|
142
|
+
export const view_to_csv: (a: number, b: number) => number;
|
|
120
143
|
export const view_to_json: (a: number, b: number) => number;
|
|
144
|
+
export const view_to_json_string: (a: number, b: number) => number;
|
|
121
145
|
export const view_to_ndjson: (a: number, b: number) => number;
|
|
122
|
-
export const
|
|
123
|
-
export const
|
|
124
|
-
export const
|
|
125
|
-
export const
|
|
126
|
-
export const
|
|
127
|
-
export const
|
|
128
|
-
export const
|
|
129
|
-
export const
|
|
130
|
-
export const
|
|
131
|
-
export const
|
|
132
|
-
export const
|
|
133
|
-
export const
|
|
134
|
-
export const
|
|
135
|
-
export const
|
|
136
|
-
export const
|
|
137
|
-
export const
|
|
138
|
-
export const
|
|
139
|
-
export const
|
|
140
|
-
export const
|
|
141
|
-
export const
|
|
142
|
-
export const
|
|
143
|
-
export const
|
|
144
|
-
export const
|
|
145
|
-
export const __wasm_bindgen_func_elem_18148: (a: number, b: number) => void;
|
|
146
|
-
export const __wasm_bindgen_func_elem_18140: (a: number, b: number) => void;
|
|
147
|
-
export const __wasm_bindgen_func_elem_5616: (a: number, b: number, c: number) => void;
|
|
148
|
-
export const __wasm_bindgen_func_elem_5617: (a: number, b: number, c: number) => void;
|
|
149
|
-
export const __wasm_bindgen_func_elem_13059: (a: number, b: number) => number;
|
|
150
|
-
export const __wasm_bindgen_func_elem_12591: (a: number, b: number) => void;
|
|
151
|
-
export const __wasm_bindgen_func_elem_18169: (a: number, b: number, c: number) => void;
|
|
152
|
-
export const __wasm_bindgen_func_elem_18154: (a: number, b: number) => void;
|
|
153
|
-
export const __wasm_bindgen_func_elem_452: (a: number, b: number) => void;
|
|
154
|
-
export const __wasm_bindgen_func_elem_17223: (a: number, b: number, c: number) => void;
|
|
155
|
-
export const __wasm_bindgen_func_elem_17151: (a: number, b: number) => void;
|
|
156
|
-
export const __wasm_bindgen_func_elem_19856: (a: number, b: number, c: number, d: number) => void;
|
|
146
|
+
export const virtualdataslice_new: (a: number) => number;
|
|
147
|
+
export const virtualdataslice_setBooleanCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
148
|
+
export const virtualdataslice_setCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
149
|
+
export const virtualdataslice_setDatetimeCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
150
|
+
export const virtualdataslice_setFloatCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
151
|
+
export const virtualdataslice_setIntegerCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
152
|
+
export const virtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
153
|
+
export const virtualserver_handleRequest: (a: number, b: number, c: number) => number;
|
|
154
|
+
export const virtualserver_new: (a: number, b: number) => void;
|
|
155
|
+
export const __wasm_bindgen_func_elem_13482: (a: number, b: number) => void;
|
|
156
|
+
export const __wasm_bindgen_func_elem_3123: (a: number, b: number) => void;
|
|
157
|
+
export const __wasm_bindgen_func_elem_3124: (a: number, b: number) => void;
|
|
158
|
+
export const __wasm_bindgen_func_elem_18167: (a: number, b: number) => void;
|
|
159
|
+
export const __wasm_bindgen_func_elem_18937: (a: number, b: number) => void;
|
|
160
|
+
export const __wasm_bindgen_func_elem_18961: (a: number, b: number) => void;
|
|
161
|
+
export const __wasm_bindgen_func_elem_20888: (a: number, b: number, c: number, d: number) => void;
|
|
162
|
+
export const __wasm_bindgen_func_elem_5237: (a: number, b: number, c: number) => void;
|
|
163
|
+
export const __wasm_bindgen_func_elem_5238: (a: number, b: number, c: number) => void;
|
|
164
|
+
export const __wasm_bindgen_func_elem_5235: (a: number, b: number, c: number) => void;
|
|
165
|
+
export const __wasm_bindgen_func_elem_18286: (a: number, b: number, c: number) => void;
|
|
166
|
+
export const __wasm_bindgen_func_elem_18978: (a: number, b: number, c: number) => void;
|
|
167
|
+
export const __wasm_bindgen_func_elem_14371: (a: number, b: number) => number;
|
|
168
|
+
export const __wasm_bindgen_func_elem_18940: (a: number, b: number) => void;
|
|
157
169
|
export const __wbindgen_export: (a: number, b: number) => number;
|
|
158
170
|
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
159
171
|
export const __wbindgen_export3: (a: number) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@perspective-dev/viewer",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "The `<perspective-viewer>` Custom Element, frontend for Perspective.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -38,10 +38,11 @@
|
|
|
38
38
|
"@perspective-dev/esbuild-plugin": "",
|
|
39
39
|
"@perspective-dev/test": "",
|
|
40
40
|
"@perspective-dev/metadata": "",
|
|
41
|
-
"@prospective.co/procss": "0.1.
|
|
41
|
+
"@prospective.co/procss": "0.1.18",
|
|
42
42
|
"@playwright/test": "=1.52.0",
|
|
43
43
|
"@playwright/experimental-ct-react": "=1.52.0",
|
|
44
|
-
"@types/react": "
|
|
44
|
+
"@types/react": ">17 <20",
|
|
45
|
+
"@types/react-dom": ">17 <20",
|
|
45
46
|
"prettier": ">=3 <4",
|
|
46
47
|
"typedoc": "^0.28.7",
|
|
47
48
|
"typescript": ">=5 <6",
|
|
@@ -317,11 +317,11 @@
|
|
|
317
317
|
@include scrollbar;
|
|
318
318
|
}
|
|
319
319
|
|
|
320
|
-
#sub-columns:before {
|
|
320
|
+
#sub-columns .scroll-panel-container:before {
|
|
321
321
|
font-size: var(--label--font-size, 0.75em);
|
|
322
322
|
padding: var(--column_type--padding, 0px 0px 0px 0px);
|
|
323
323
|
position: absolute;
|
|
324
|
-
margin-top:
|
|
324
|
+
margin-top: -13px;
|
|
325
325
|
top: 0;
|
|
326
326
|
content: var(--all-columns-label--content, "All Columns");
|
|
327
327
|
}
|
|
@@ -30,6 +30,44 @@
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
#top_panel.group-rollup-mode-total {
|
|
34
|
+
#group_by {
|
|
35
|
+
width: 100%;
|
|
36
|
+
// height: 26px;
|
|
37
|
+
.pivot-column {
|
|
38
|
+
.pivot-column-total {
|
|
39
|
+
min-height: 24px;
|
|
40
|
+
margin-bottom: 4px;
|
|
41
|
+
&:before {
|
|
42
|
+
background-color: var(--plugin--background);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.column_name {
|
|
47
|
+
color: var(--inactive--color);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.type-icon {
|
|
51
|
+
background-color: var(--inactive--color);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&:hover .pivot-column-border {
|
|
55
|
+
border-color: var(--inactive--color, #ababab);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// input {
|
|
59
|
+
// background-color: var(--plugin--background);
|
|
60
|
+
// pointer-events: none;
|
|
61
|
+
// border: 1px solid var(--inactive--color);
|
|
62
|
+
// color: var(--inactive--color) !important;
|
|
63
|
+
// // &:placeholder {
|
|
64
|
+
|
|
65
|
+
// // }
|
|
66
|
+
// }
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
33
71
|
#top_panel {
|
|
34
72
|
display: flex;
|
|
35
73
|
flex-direction: column;
|
|
@@ -270,6 +308,30 @@
|
|
|
270
308
|
display: inline-block;
|
|
271
309
|
}
|
|
272
310
|
|
|
311
|
+
.pivot_controls {
|
|
312
|
+
display: flex;
|
|
313
|
+
justify-content: flex-end;
|
|
314
|
+
height: 15px;
|
|
315
|
+
margin-bottom: -24px;
|
|
316
|
+
margin-right: 28px;
|
|
317
|
+
margin-top: 9px;
|
|
318
|
+
select:hover {
|
|
319
|
+
color: var(--icon--color, inherit);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.group_rollup_wrapper {
|
|
324
|
+
width: 48px;
|
|
325
|
+
margin-bottom: -30px;
|
|
326
|
+
flex: 0 1 auto;
|
|
327
|
+
color: var(--inactive--color);
|
|
328
|
+
padding-top: 15px;
|
|
329
|
+
font-size: 9px;
|
|
330
|
+
select {
|
|
331
|
+
font-size: 9px !important;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
273
335
|
#transpose_button {
|
|
274
336
|
cursor: pointer;
|
|
275
337
|
flex-grow: 0;
|
|
@@ -278,12 +340,12 @@
|
|
|
278
340
|
user-select: none;
|
|
279
341
|
padding: 0;
|
|
280
342
|
align-self: center;
|
|
281
|
-
margin-bottom: -23px;
|
|
282
|
-
margin-top: 11.5px;
|
|
283
|
-
align-self: flex-end;
|
|
343
|
+
// margin-bottom: -23px;
|
|
344
|
+
// margin-top: 11.5px;
|
|
345
|
+
// align-self: flex-end;
|
|
284
346
|
z-index: 1;
|
|
285
347
|
min-height: 0px;
|
|
286
|
-
margin-right: 30px;
|
|
348
|
+
// margin-right: 30px;
|
|
287
349
|
|
|
288
350
|
&:hover:before {
|
|
289
351
|
color: var(--icon--color, inherit);
|
|
@@ -91,19 +91,19 @@ impl Component for ColumnDropDown {
|
|
|
91
91
|
},
|
|
92
92
|
ColumnDropDownMsg::ItemDown => {
|
|
93
93
|
self.selected += 1;
|
|
94
|
-
if let Some(ref values) = self.values
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
if let Some(ref values) = self.values
|
|
95
|
+
&& self.selected >= values.len()
|
|
96
|
+
{
|
|
97
|
+
self.selected = 0;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
true
|
|
101
101
|
},
|
|
102
102
|
ColumnDropDownMsg::ItemUp => {
|
|
103
|
-
if let Some(ref values) = self.values
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
if let Some(ref values) = self.values
|
|
104
|
+
&& self.selected < 1
|
|
105
|
+
{
|
|
106
|
+
self.selected = values.len();
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
self.selected -= 1;
|
|
@@ -23,6 +23,7 @@ use super::filter_column::*;
|
|
|
23
23
|
use super::pivot_column::*;
|
|
24
24
|
use super::sort_column::*;
|
|
25
25
|
use crate::components::containers::dragdrop_list::*;
|
|
26
|
+
use crate::components::containers::select::{Select, SelectItem};
|
|
26
27
|
use crate::components::style::LocalStyle;
|
|
27
28
|
use crate::custom_elements::{ColumnDropDownElement, FilterDropDownElement};
|
|
28
29
|
use crate::dragdrop::*;
|
|
@@ -32,7 +33,7 @@ use crate::session::*;
|
|
|
32
33
|
use crate::utils::*;
|
|
33
34
|
use crate::{PerspectiveProperties, css};
|
|
34
35
|
|
|
35
|
-
#[derive(Properties, PerspectiveProperties!)]
|
|
36
|
+
#[derive(Clone, Properties, PerspectiveProperties!)]
|
|
36
37
|
pub struct ConfigSelectorProps {
|
|
37
38
|
pub onselect: Callback<()>,
|
|
38
39
|
|
|
@@ -63,6 +64,7 @@ pub enum ConfigSelectorMsg {
|
|
|
63
64
|
TransposePivots,
|
|
64
65
|
ViewCreated,
|
|
65
66
|
New(DragTarget, InPlaceColumn),
|
|
67
|
+
UpdateGroupRollupMode(GroupRollupMode),
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
#[derive(Clone)]
|
|
@@ -135,11 +137,9 @@ impl Component for ConfigSelector {
|
|
|
135
137
|
ctx.props().onselect.emit(());
|
|
136
138
|
false
|
|
137
139
|
},
|
|
138
|
-
ConfigSelectorMsg::
|
|
139
|
-
let mut group_by = ctx.props().session.get_view_config().group_by.clone();
|
|
140
|
-
group_by.remove(index);
|
|
140
|
+
ConfigSelectorMsg::UpdateGroupRollupMode(mode) => {
|
|
141
141
|
let config = ViewConfigUpdate {
|
|
142
|
-
|
|
142
|
+
group_rollup_mode: Some(mode),
|
|
143
143
|
..ViewConfigUpdate::default()
|
|
144
144
|
};
|
|
145
145
|
|
|
@@ -148,9 +148,45 @@ impl Component for ConfigSelector {
|
|
|
148
148
|
.map(ApiFuture::spawn)
|
|
149
149
|
.unwrap_or_log();
|
|
150
150
|
|
|
151
|
-
ctx.props().onselect.emit(());
|
|
152
151
|
false
|
|
153
152
|
},
|
|
153
|
+
ConfigSelectorMsg::Close(index, DragTarget::GroupBy) => {
|
|
154
|
+
if ctx.props().session.get_view_config().group_rollup_mode == GroupRollupMode::Total
|
|
155
|
+
{
|
|
156
|
+
let requirements = ctx.props().renderer.metadata();
|
|
157
|
+
|
|
158
|
+
let rollup_features = ctx
|
|
159
|
+
.props()
|
|
160
|
+
.session
|
|
161
|
+
.metadata()
|
|
162
|
+
.get_features()
|
|
163
|
+
.map(|x| x.get_group_rollup_modes())
|
|
164
|
+
.unwrap();
|
|
165
|
+
|
|
166
|
+
let group_rollups = requirements.get_group_rollups(&rollup_features);
|
|
167
|
+
|
|
168
|
+
ctx.link()
|
|
169
|
+
.send_message(ConfigSelectorMsg::UpdateGroupRollupMode(
|
|
170
|
+
group_rollups.first().cloned().unwrap(),
|
|
171
|
+
));
|
|
172
|
+
false
|
|
173
|
+
} else {
|
|
174
|
+
let mut group_by = ctx.props().session.get_view_config().group_by.clone();
|
|
175
|
+
group_by.remove(index);
|
|
176
|
+
let config = ViewConfigUpdate {
|
|
177
|
+
group_by: Some(group_by),
|
|
178
|
+
..ViewConfigUpdate::default()
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
ctx.props()
|
|
182
|
+
.update_and_render(config)
|
|
183
|
+
.map(ApiFuture::spawn)
|
|
184
|
+
.unwrap_or_log();
|
|
185
|
+
|
|
186
|
+
ctx.props().onselect.emit(());
|
|
187
|
+
false
|
|
188
|
+
}
|
|
189
|
+
},
|
|
154
190
|
ConfigSelectorMsg::Close(index, DragTarget::SplitBy) => {
|
|
155
191
|
let mut split_by = ctx.props().session.get_view_config().split_by.clone();
|
|
156
192
|
split_by.remove(index);
|
|
@@ -227,6 +263,7 @@ impl Component for ConfigSelector {
|
|
|
227
263
|
ctx.props().onselect.emit(());
|
|
228
264
|
false
|
|
229
265
|
},
|
|
266
|
+
|
|
230
267
|
ConfigSelectorMsg::SetFilterValue(index, input) => {
|
|
231
268
|
let mut filter = ctx.props().session.get_view_config().filter.clone();
|
|
232
269
|
|
|
@@ -437,11 +474,15 @@ impl Component for ConfigSelector {
|
|
|
437
474
|
let config = session.get_view_config();
|
|
438
475
|
let transpose = ctx.link().callback(|_| ConfigSelectorMsg::TransposePivots);
|
|
439
476
|
let column_dropdown = self.column_dropdown.clone();
|
|
440
|
-
let class =
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
""
|
|
444
|
-
}
|
|
477
|
+
let mut class = classes!();
|
|
478
|
+
|
|
479
|
+
if dragdrop.get_drag_column().is_some() {
|
|
480
|
+
class.push("dragdrop-highlight");
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
if config.group_rollup_mode == GroupRollupMode::Total {
|
|
484
|
+
class.push("group-rollup-mode-total");
|
|
485
|
+
}
|
|
445
486
|
|
|
446
487
|
let dragend = Callback::from({
|
|
447
488
|
let dragdrop = dragdrop.clone();
|
|
@@ -450,21 +491,52 @@ impl Component for ConfigSelector {
|
|
|
450
491
|
|
|
451
492
|
let metadata = session.metadata();
|
|
452
493
|
let features = metadata.get_features().unwrap();
|
|
494
|
+
let requirements = renderer.metadata();
|
|
495
|
+
let on_group_rollup_mode = ctx
|
|
496
|
+
.link()
|
|
497
|
+
.callback(ConfigSelectorMsg::UpdateGroupRollupMode);
|
|
498
|
+
|
|
499
|
+
let rollup_features = ctx
|
|
500
|
+
.props()
|
|
501
|
+
.session
|
|
502
|
+
.metadata()
|
|
503
|
+
.get_features()
|
|
504
|
+
.map(|x| x.get_group_rollup_modes())
|
|
505
|
+
.unwrap();
|
|
506
|
+
|
|
507
|
+
let group_rollups = requirements.get_group_rollups(&rollup_features);
|
|
453
508
|
|
|
454
509
|
html! {
|
|
455
510
|
<div slot="top_panel" id="top_panel" {class} ondragend={dragend}>
|
|
456
511
|
<LocalStyle href={css!("config-selector")} />
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
512
|
+
<div class="pivot_controls">
|
|
513
|
+
if group_rollups.len() > 1 {
|
|
514
|
+
<Select<GroupRollupMode>
|
|
515
|
+
id="group_rollup_mode_selector"
|
|
516
|
+
wrapper_class="group_rollup_wrapper"
|
|
517
|
+
values={Rc::new(
|
|
518
|
+
group_rollups
|
|
519
|
+
.iter()
|
|
520
|
+
.map(|x| SelectItem::Option(*x))
|
|
521
|
+
.collect(),
|
|
522
|
+
)}
|
|
523
|
+
selected={config.group_rollup_mode}
|
|
524
|
+
on_select={on_group_rollup_mode}
|
|
525
|
+
/>
|
|
526
|
+
}
|
|
527
|
+
if !config.group_by.is_empty() && config.split_by.is_empty() {
|
|
528
|
+
<span
|
|
529
|
+
id="transpose_button"
|
|
530
|
+
class="rrow centered"
|
|
531
|
+
title="Transpose Pivots"
|
|
532
|
+
onmousedown={transpose.clone()}
|
|
533
|
+
/>
|
|
534
|
+
}
|
|
535
|
+
</div>
|
|
465
536
|
if features.group_by {
|
|
466
537
|
<GroupBySelector
|
|
467
538
|
name="group_by"
|
|
539
|
+
disabled={config.group_rollup_mode == GroupRollupMode::Total}
|
|
468
540
|
parent={ctx.link().clone()}
|
|
469
541
|
column_dropdown={column_dropdown.clone()}
|
|
470
542
|
exclude={config.group_by.iter().cloned().collect::<HashSet<_>>()}
|
|
@@ -477,7 +549,7 @@ impl Component for ConfigSelector {
|
|
|
477
549
|
action={DragTarget::GroupBy}
|
|
478
550
|
column={group_by.clone()}
|
|
479
551
|
{dragdrop}
|
|
480
|
-
{session}
|
|
552
|
+
opt_session={session}
|
|
481
553
|
>
|
|
482
554
|
</PivotColumn>
|
|
483
555
|
}
|
|
@@ -486,12 +558,14 @@ impl Component for ConfigSelector {
|
|
|
486
558
|
}
|
|
487
559
|
if features.split_by {
|
|
488
560
|
if !config.split_by.is_empty() {
|
|
489
|
-
<
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
561
|
+
<div class="pivot_controls">
|
|
562
|
+
<span
|
|
563
|
+
id="transpose_button"
|
|
564
|
+
class="rrow centered"
|
|
565
|
+
title="Transpose Pivots"
|
|
566
|
+
onmousedown={transpose}
|
|
567
|
+
/>
|
|
568
|
+
</div>
|
|
495
569
|
}
|
|
496
570
|
<SplitBySelector
|
|
497
571
|
name="split_by"
|
|
@@ -506,9 +580,8 @@ impl Component for ConfigSelector {
|
|
|
506
580
|
<PivotColumn
|
|
507
581
|
action={ DragTarget::SplitBy }
|
|
508
582
|
column={ split_by.clone() }
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
{session}>
|
|
583
|
+
{dragdrop}
|
|
584
|
+
opt_session={session}>
|
|
512
585
|
</PivotColumn>
|
|
513
586
|
}
|
|
514
587
|
}) }
|