From fa09820ac04f332ec3ca65bacd61f9b11313f8ab Mon Sep 17 00:00:00 2001 From: JessamineQ Date: Wed, 10 Apr 2024 23:17:27 -0400 Subject: [PATCH 1/7] For interactive charts, changed cursor to pointer (also updated tests) --- src/compile/mark/mark.ts | 1 + test/compile/compile.test.ts | 14 ++++++++++++++ test/compile/selection/layers.test.ts | 9 +++++++++ 3 files changed, 24 insertions(+) diff --git a/src/compile/mark/mark.ts b/src/compile/mark/mark.ts index 74e241b4ff..1746bd729b 100644 --- a/src/compile/mark/mark.ts +++ b/src/compile/mark/mark.ts @@ -313,6 +313,7 @@ function getMarkGroup(model: UnitModel, opt: {fromPrefix: string} = {fromPrefix: const key = encoding.key; const sort = getSort(model); const interactive = interactiveFlag(model); + interactive ? (model.markDef.cursor ??= 'pointer') : {}; const aria = getMarkPropOrConfig('aria', markDef, config); const postEncodingTransform = markCompiler[mark].postEncodingTransform diff --git a/test/compile/compile.test.ts b/test/compile/compile.test.ts index e4667bdc07..cbd065b7da 100644 --- a/test/compile/compile.test.ts +++ b/test/compile/compile.test.ts @@ -573,3 +573,17 @@ describe('compile/compile', () => { expect(spec.autosize['resize']).toBeTruthy(); }); }); + +it('should generate right cursor', () => { + const {spec} = compile({ + data: {url: 'data/population.json'}, + params: [{name: 'select', select: 'point'}], + mark: 'bar', + encoding: { + x: {field: 'a', type: 'ordinal'}, + y: {field: 'b', type: 'quantitative'} + } + }); + + expect(spec.marks[0].encode.update.cursor).toEqual({value: 'pointer'}); +}); diff --git a/test/compile/selection/layers.test.ts b/test/compile/selection/layers.test.ts index 050b085935..1b1b81a55c 100644 --- a/test/compile/selection/layers.test.ts +++ b/test/compile/selection/layers.test.ts @@ -81,6 +81,9 @@ describe('Layered Selections', () => { ariaRoleDescription: { value: 'circle' }, + cursor: { + value: 'pointer' + }, description: { signal: '"Horsepower: " + (format(datum["Horsepower"], "")) + "; Miles_per_Gallon: " + (format(datum["Miles_per_Gallon"], "")) + "; Origin: " + (isValid(datum["Origin"]) ? datum["Origin"] : ""+datum["Origin"])' @@ -129,6 +132,9 @@ describe('Layered Selections', () => { ariaRoleDescription: { value: 'square' }, + cursor: { + value: 'pointer' + }, description: { signal: '"Horsepower: " + (format(datum["Horsepower"], "")) + "; Miles_per_Gallon: " + (format(datum["Miles_per_Gallon"], "")) + "; Origin: " + (isValid(datum["Origin"]) ? datum["Origin"] : ""+datum["Origin"])' @@ -172,6 +178,9 @@ describe('Layered Selections', () => { ariaRoleDescription: { value: 'point' }, + cursor: { + value: 'pointer' + }, description: { signal: '"Horsepower: " + (format(datum["Horsepower"], "")) + "; Miles_per_Gallon: " + (format(datum["Miles_per_Gallon"], "")) + "; Origin: " + (isValid(datum["Origin"]) ? datum["Origin"] : ""+datum["Origin"])' From 05677b34e0d5b5a75dd2c2d4fb566728247ba8f7 Mon Sep 17 00:00:00 2001 From: JessamineQ Date: Mon, 13 May 2024 23:52:32 -0500 Subject: [PATCH 2/7] updated to only change cursor to pointer for interactive charts with point selection (rather than interval) and no binding --- src/compile/mark/mark.ts | 16 ++++++++++- test/compile/compile.test.ts | 40 ++++++++++++++++++++++++++- test/compile/selection/layers.test.ts | 9 ------ 3 files changed, 54 insertions(+), 11 deletions(-) diff --git a/src/compile/mark/mark.ts b/src/compile/mark/mark.ts index 1746bd729b..aa6e69c60f 100644 --- a/src/compile/mark/mark.ts +++ b/src/compile/mark/mark.ts @@ -313,7 +313,21 @@ function getMarkGroup(model: UnitModel, opt: {fromPrefix: string} = {fromPrefix: const key = encoding.key; const sort = getSort(model); const interactive = interactiveFlag(model); - interactive ? (model.markDef.cursor ??= 'pointer') : {}; + + let isPoint = false; + let isBind = false; + if (model.component.selection) { + for (const k of keys(model.component.selection)) { + if (model.component.selection[k].bind) { + isBind = true; + } + if (model.component.selection[k].type == 'point') { + isPoint = true; + } + } + } + interactive && isPoint && !isBind ? (model.markDef.cursor ??= 'pointer') : {}; + const aria = getMarkPropOrConfig('aria', markDef, config); const postEncodingTransform = markCompiler[mark].postEncodingTransform diff --git a/test/compile/compile.test.ts b/test/compile/compile.test.ts index cbd065b7da..e589bd0ebd 100644 --- a/test/compile/compile.test.ts +++ b/test/compile/compile.test.ts @@ -574,7 +574,7 @@ describe('compile/compile', () => { }); }); -it('should generate right cursor', () => { +it('should generate right cursor for point selection', () => { const {spec} = compile({ data: {url: 'data/population.json'}, params: [{name: 'select', select: 'point'}], @@ -587,3 +587,41 @@ it('should generate right cursor', () => { expect(spec.marks[0].encode.update.cursor).toEqual({value: 'pointer'}); }); + +it('should not generate cursor for point selection with binding', () => { + const {spec} = compile({ + data: {url: 'data/population.json'}, + params: [ + { + name: 'highlight', + value: [{Cylinders: 4, Year: 1977}], + select: {type: 'point', fields: ['Cylinders', 'Year']}, + bind: { + Cylinders: {input: 'range', min: 3, max: 8, step: 1}, + Year: {input: 'range', min: 1969, max: 1981, step: 1} + } + } + ], + mark: 'bar', + encoding: { + x: {field: 'a', type: 'ordinal'}, + y: {field: 'b', type: 'quantitative'} + } + }); + + expect(spec.marks[0].encode.update.cursor).toBeUndefined(); +}); + +it('should not generate cursor for interval selection', () => { + const {spec} = compile({ + data: {url: 'data/population.json'}, + params: [{name: 'brush', select: {type: 'interval', encodings: ['x']}}], + mark: 'bar', + encoding: { + x: {field: 'a', type: 'ordinal'}, + y: {field: 'b', type: 'quantitative'} + } + }); + + expect(spec.marks[0].encode.update.cursor).toBeUndefined(); +}); diff --git a/test/compile/selection/layers.test.ts b/test/compile/selection/layers.test.ts index 1b1b81a55c..050b085935 100644 --- a/test/compile/selection/layers.test.ts +++ b/test/compile/selection/layers.test.ts @@ -81,9 +81,6 @@ describe('Layered Selections', () => { ariaRoleDescription: { value: 'circle' }, - cursor: { - value: 'pointer' - }, description: { signal: '"Horsepower: " + (format(datum["Horsepower"], "")) + "; Miles_per_Gallon: " + (format(datum["Miles_per_Gallon"], "")) + "; Origin: " + (isValid(datum["Origin"]) ? datum["Origin"] : ""+datum["Origin"])' @@ -132,9 +129,6 @@ describe('Layered Selections', () => { ariaRoleDescription: { value: 'square' }, - cursor: { - value: 'pointer' - }, description: { signal: '"Horsepower: " + (format(datum["Horsepower"], "")) + "; Miles_per_Gallon: " + (format(datum["Miles_per_Gallon"], "")) + "; Origin: " + (isValid(datum["Origin"]) ? datum["Origin"] : ""+datum["Origin"])' @@ -178,9 +172,6 @@ describe('Layered Selections', () => { ariaRoleDescription: { value: 'point' }, - cursor: { - value: 'pointer' - }, description: { signal: '"Horsepower: " + (format(datum["Horsepower"], "")) + "; Miles_per_Gallon: " + (format(datum["Miles_per_Gallon"], "")) + "; Origin: " + (isValid(datum["Origin"]) ? datum["Origin"] : ""+datum["Origin"])' From 81b3412654ff50224cfda18897592d5da02e7504 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Mon, 27 May 2024 18:05:13 -0400 Subject: [PATCH 3/7] simplify and correct code --- src/compile/mark/init.ts | 3 ++- src/compile/mark/mark.ts | 15 +++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/compile/mark/init.ts b/src/compile/mark/init.ts index 3c730e5d39..85fdb08dee 100644 --- a/src/compile/mark/init.ts +++ b/src/compile/mark/init.ts @@ -61,7 +61,8 @@ export function initMarkdef(originalMarkDef: MarkDef, encoding: Encoding markDef.opacity = opacity(markDef.type, encoding); } - // set cursor, which should be pointer if href channel is present unless otherwise specified + // Set cursor, which should be pointer if href channel is present unless otherwise specified. + // We will also set the cursor in parse via getMarkGroup since we need access to the selections. const specifiedCursor = getMarkPropOrConfig('cursor', markDef, config); if (specifiedCursor === undefined) { markDef.cursor = cursor(markDef, encoding, config); diff --git a/src/compile/mark/mark.ts b/src/compile/mark/mark.ts index aa6e69c60f..cdd2efc869 100644 --- a/src/compile/mark/mark.ts +++ b/src/compile/mark/mark.ts @@ -314,19 +314,10 @@ function getMarkGroup(model: UnitModel, opt: {fromPrefix: string} = {fromPrefix: const sort = getSort(model); const interactive = interactiveFlag(model); - let isPoint = false; - let isBind = false; - if (model.component.selection) { - for (const k of keys(model.component.selection)) { - if (model.component.selection[k].bind) { - isBind = true; - } - if (model.component.selection[k].type == 'point') { - isPoint = true; - } - } + // set pointer cursor for point selections that are not bound + if (interactive && Object.values(model.component.selection).some(s => s.type === 'point' && !s.bind)) { + model.markDef.cursor ??= 'pointer'; } - interactive && isPoint && !isBind ? (model.markDef.cursor ??= 'pointer') : {}; const aria = getMarkPropOrConfig('aria', markDef, config); From d5dc78dc2b7b5a38bbc273f7f34f0f41df632fdd Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Mon, 27 May 2024 18:07:29 -0400 Subject: [PATCH 4/7] Remove superfluous cursor. --- examples/specs/interactive_bar_select_highlight.vl.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/specs/interactive_bar_select_highlight.vl.json b/examples/specs/interactive_bar_select_highlight.vl.json index 81ad0a99c4..3030f94ed0 100644 --- a/examples/specs/interactive_bar_select_highlight.vl.json +++ b/examples/specs/interactive_bar_select_highlight.vl.json @@ -18,8 +18,7 @@ "mark": { "type": "bar", "fill": "#4C78A8", - "stroke": "black", - "cursor": "pointer" + "stroke": "black" }, "encoding": { "x": {"field": "a", "type": "ordinal"}, From c1dff5b5a81a0c45aea700c52e7cff033af2094a Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Mon, 27 May 2024 22:13:25 +0000 Subject: [PATCH 5/7] chore: update examples [CI] --- examples/compiled/airport_connections.vg.json | 1 + examples/compiled/concat_bar_layer_circle.vg.json | 1 + examples/compiled/concat_hover.vg.json | 2 ++ examples/compiled/concat_hover_filter.vg.json | 2 ++ examples/compiled/dynamic_color_legend.vg.json | 1 + examples/compiled/interactive_concat_layer.vg.json | 1 + examples/compiled/interactive_global_development.vg.json | 1 + .../compiled/interactive_histogram_full_height_hover.vg.json | 1 + examples/compiled/interactive_index_chart.vg.json | 1 + .../compiled/interactive_layered_crossfilter_discrete.vg.json | 3 +++ examples/compiled/interactive_line_hover.vg.json | 1 + examples/compiled/interactive_line_point_hover.vg.json | 1 + examples/compiled/interactive_multi_line_label.vg.json | 1 + examples/compiled/interactive_multi_line_pivot_tooltip.vg.json | 1 + examples/compiled/interactive_multi_line_tooltip.vg.json | 1 + examples/compiled/interactive_paintbrush.vg.json | 1 + examples/compiled/interactive_paintbrush_color.vg.json | 1 + examples/compiled/interactive_paintbrush_color_nearest.vg.json | 1 + examples/compiled/interactive_paintbrush_simple_false.vg.json | 1 + examples/compiled/interactive_paintbrush_simple_true.vg.json | 1 + examples/compiled/interactive_point_init.vg.json | 1 + examples/compiled/interactive_seattle_weather.vg.json | 1 + examples/compiled/interactive_stocks_nearest_index.vg.json | 1 + examples/compiled/param_expr.vg.json | 1 + examples/compiled/selection_heatmap.vg.json | 1 + examples/compiled/selection_insert.vg.json | 1 + examples/compiled/selection_multi_condition.vg.json | 1 + examples/compiled/selection_project_multi.vg.json | 1 + examples/compiled/selection_project_multi_cylinders.vg.json | 1 + .../compiled/selection_project_multi_cylinders_origin.vg.json | 1 + examples/compiled/selection_project_multi_origin.vg.json | 1 + examples/compiled/selection_project_single.vg.json | 1 + examples/compiled/selection_project_single_cylinders.vg.json | 1 + .../compiled/selection_project_single_cylinders_origin.vg.json | 1 + examples/compiled/selection_project_single_origin.vg.json | 1 + examples/compiled/selection_toggle_altKey.vg.json | 1 + examples/compiled/selection_toggle_altKey_shiftKey.vg.json | 1 + examples/compiled/selection_toggle_shiftKey.vg.json | 1 + examples/compiled/selection_type_point.vg.json | 1 + examples/compiled/selection_type_point_zorder.vg.json | 1 + examples/compiled/selection_type_single_dblclick.vg.json | 1 + examples/compiled/selection_type_single_pointerover.vg.json | 1 + examples/compiled/vconcat_flatten.vg.json | 1 + 43 files changed, 47 insertions(+) diff --git a/examples/compiled/airport_connections.vg.json b/examples/compiled/airport_connections.vg.json index 45e19c73e2..2e2950a909 100644 --- a/examples/compiled/airport_connections.vg.json +++ b/examples/compiled/airport_connections.vg.json @@ -220,6 +220,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { diff --git a/examples/compiled/concat_bar_layer_circle.vg.json b/examples/compiled/concat_bar_layer_circle.vg.json index 396de77abf..29724d6079 100644 --- a/examples/compiled/concat_bar_layer_circle.vg.json +++ b/examples/compiled/concat_bar_layer_circle.vg.json @@ -303,6 +303,7 @@ "from": {"data": "data_3"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"pts_store\")) || vlSelectionTest(\"pts_store\", datum)", diff --git a/examples/compiled/concat_hover.vg.json b/examples/compiled/concat_hover.vg.json index 56846cba0c..d2f8665741 100644 --- a/examples/compiled/concat_hover.vg.json +++ b/examples/compiled/concat_hover.vg.json @@ -111,6 +111,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { @@ -239,6 +240,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/concat_hover_filter.vg.json b/examples/compiled/concat_hover_filter.vg.json index 120ca84bc5..0ec1115412 100644 --- a/examples/compiled/concat_hover_filter.vg.json +++ b/examples/compiled/concat_hover_filter.vg.json @@ -141,6 +141,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, @@ -282,6 +283,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/dynamic_color_legend.vg.json b/examples/compiled/dynamic_color_legend.vg.json index 8fe244ec85..9b1a78e095 100644 --- a/examples/compiled/dynamic_color_legend.vg.json +++ b/examples/compiled/dynamic_color_legend.vg.json @@ -497,6 +497,7 @@ "from": {"data": "data_1"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"click_store\")) || vlSelectionTest(\"click_store\", datum)", diff --git a/examples/compiled/interactive_concat_layer.vg.json b/examples/compiled/interactive_concat_layer.vg.json index c3a2ba3a16..5954b3af6e 100644 --- a/examples/compiled/interactive_concat_layer.vg.json +++ b/examples/compiled/interactive_concat_layer.vg.json @@ -313,6 +313,7 @@ "from": {"data": "data_3"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"pts_store\")) || vlSelectionTest(\"pts_store\", datum)", diff --git a/examples/compiled/interactive_global_development.vg.json b/examples/compiled/interactive_global_development.vg.json index abfdd0571a..2042fa30ba 100644 --- a/examples/compiled/interactive_global_development.vg.json +++ b/examples/compiled/interactive_global_development.vg.json @@ -295,6 +295,7 @@ "update": { "opacity": {"value": 0.9}, "size": {"value": 100}, + "cursor": {"value": "pointer"}, "fill": {"scale": "color", "field": "name"}, "ariaRoleDescription": {"value": "circle"}, "description": { diff --git a/examples/compiled/interactive_histogram_full_height_hover.vg.json b/examples/compiled/interactive_histogram_full_height_hover.vg.json index ecb49a4857..c2eacf2bda 100644 --- a/examples/compiled/interactive_histogram_full_height_hover.vg.json +++ b/examples/compiled/interactive_histogram_full_height_hover.vg.json @@ -122,6 +122,7 @@ "from": {"data": "data_0"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "tooltip": { "signal": "{\"IMDB Rating (binned)\": !isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\"), \"Count of Records\": format(datum[\"__count\"], \"\")}" }, diff --git a/examples/compiled/interactive_index_chart.vg.json b/examples/compiled/interactive_index_chart.vg.json index d3f8508e41..d6b87b4962 100644 --- a/examples/compiled/interactive_index_chart.vg.json +++ b/examples/compiled/interactive_index_chart.vg.json @@ -166,6 +166,7 @@ "encode": { "update": { "opacity": {"value": 0}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/interactive_layered_crossfilter_discrete.vg.json b/examples/compiled/interactive_layered_crossfilter_discrete.vg.json index 3a58160721..4e3311aff2 100644 --- a/examples/compiled/interactive_layered_crossfilter_discrete.vg.json +++ b/examples/compiled/interactive_layered_crossfilter_discrete.vg.json @@ -259,6 +259,7 @@ "from": {"data": "data_6"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { @@ -414,6 +415,7 @@ "from": {"data": "data_7"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { @@ -569,6 +571,7 @@ "from": {"data": "data_2"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { diff --git a/examples/compiled/interactive_line_hover.vg.json b/examples/compiled/interactive_line_hover.vg.json index 2327e2d624..6e4a30834f 100644 --- a/examples/compiled/interactive_line_hover.vg.json +++ b/examples/compiled/interactive_line_hover.vg.json @@ -115,6 +115,7 @@ "update": { "stroke": {"value": "transparent"}, "strokeWidth": {"value": 8}, + "cursor": {"value": "pointer"}, "opacity": [ { "test": "!length(data(\"hover_store\")) || vlSelectionTest(\"hover_store\", datum)", diff --git a/examples/compiled/interactive_line_point_hover.vg.json b/examples/compiled/interactive_line_point_hover.vg.json index ca3ae2083c..8ec429bb0e 100644 --- a/examples/compiled/interactive_line_point_hover.vg.json +++ b/examples/compiled/interactive_line_point_hover.vg.json @@ -131,6 +131,7 @@ }, {"value": 0} ], + "cursor": {"value": "pointer"}, "tooltip": { "signal": "{\"date\": timeFormat(datum[\"date\"], '%b %d, %Y'), \"price\": format(datum[\"price\"], \"\"), \"symbol\": isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]}" }, diff --git a/examples/compiled/interactive_multi_line_label.vg.json b/examples/compiled/interactive_multi_line_label.vg.json index 71842ccf8c..50b546bed9 100644 --- a/examples/compiled/interactive_multi_line_label.vg.json +++ b/examples/compiled/interactive_multi_line_label.vg.json @@ -176,6 +176,7 @@ }, {"value": 0} ], + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json b/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json index 167dc357ed..25bada305b 100644 --- a/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json +++ b/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json @@ -173,6 +173,7 @@ "from": {"data": "data_1"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "stroke": {"value": "black"}, "opacity": [ { diff --git a/examples/compiled/interactive_multi_line_tooltip.vg.json b/examples/compiled/interactive_multi_line_tooltip.vg.json index 9b6c48a41e..7ae21e3e97 100644 --- a/examples/compiled/interactive_multi_line_tooltip.vg.json +++ b/examples/compiled/interactive_multi_line_tooltip.vg.json @@ -136,6 +136,7 @@ "from": {"data": "data_0"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "stroke": [ { "test": "length(data(\"hover_store\")) && vlSelectionIdTest(\"hover_store\", datum)", diff --git a/examples/compiled/interactive_paintbrush.vg.json b/examples/compiled/interactive_paintbrush.vg.json index 453313cf66..f27444a345 100644 --- a/examples/compiled/interactive_paintbrush.vg.json +++ b/examples/compiled/interactive_paintbrush.vg.json @@ -82,6 +82,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/interactive_paintbrush_color.vg.json b/examples/compiled/interactive_paintbrush_color.vg.json index c15d875689..90bbf50e15 100644 --- a/examples/compiled/interactive_paintbrush_color.vg.json +++ b/examples/compiled/interactive_paintbrush_color.vg.json @@ -78,6 +78,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/interactive_paintbrush_color_nearest.vg.json b/examples/compiled/interactive_paintbrush_color_nearest.vg.json index f7d962fa2d..73507118a0 100644 --- a/examples/compiled/interactive_paintbrush_color_nearest.vg.json +++ b/examples/compiled/interactive_paintbrush_color_nearest.vg.json @@ -82,6 +82,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/interactive_paintbrush_simple_false.vg.json b/examples/compiled/interactive_paintbrush_simple_false.vg.json index c5954a16e8..befb2efe5d 100644 --- a/examples/compiled/interactive_paintbrush_simple_false.vg.json +++ b/examples/compiled/interactive_paintbrush_simple_false.vg.json @@ -78,6 +78,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ {"test": "!!toggleOrigin", "scale": "color", "field": "Origin"}, diff --git a/examples/compiled/interactive_paintbrush_simple_true.vg.json b/examples/compiled/interactive_paintbrush_simple_true.vg.json index 6e225de8b8..85de99c71d 100644 --- a/examples/compiled/interactive_paintbrush_simple_true.vg.json +++ b/examples/compiled/interactive_paintbrush_simple_true.vg.json @@ -78,6 +78,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ {"test": "!!toggleOrigin", "scale": "color", "field": "Origin"}, diff --git a/examples/compiled/interactive_point_init.vg.json b/examples/compiled/interactive_point_init.vg.json index 7ea5d46c2c..cca3980465 100644 --- a/examples/compiled/interactive_point_init.vg.json +++ b/examples/compiled/interactive_point_init.vg.json @@ -101,6 +101,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"CylYr_store\")) || vlSelectionTest(\"CylYr_store\", datum)", diff --git a/examples/compiled/interactive_seattle_weather.vg.json b/examples/compiled/interactive_seattle_weather.vg.json index 020b67c7dc..f906ff6935 100644 --- a/examples/compiled/interactive_seattle_weather.vg.json +++ b/examples/compiled/interactive_seattle_weather.vg.json @@ -492,6 +492,7 @@ "from": {"data": "data_1"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"click_store\")) || vlSelectionTest(\"click_store\", datum)", diff --git a/examples/compiled/interactive_stocks_nearest_index.vg.json b/examples/compiled/interactive_stocks_nearest_index.vg.json index b29d81cd45..0e40a52940 100644 --- a/examples/compiled/interactive_stocks_nearest_index.vg.json +++ b/examples/compiled/interactive_stocks_nearest_index.vg.json @@ -147,6 +147,7 @@ "encode": { "update": { "opacity": {"value": 0}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/param_expr.vg.json b/examples/compiled/param_expr.vg.json index 8a5e816f5e..8e6aa64273 100644 --- a/examples/compiled/param_expr.vg.json +++ b/examples/compiled/param_expr.vg.json @@ -72,6 +72,7 @@ "update": { "opacity": {"signal": "opacityVar/100"}, "size": {"signal": "sel.Miles_per_Gallon * 10 || 75"}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/selection_heatmap.vg.json b/examples/compiled/selection_heatmap.vg.json index c3d9ddae10..27100b840f 100644 --- a/examples/compiled/selection_heatmap.vg.json +++ b/examples/compiled/selection_heatmap.vg.json @@ -95,6 +95,7 @@ "encode": { "update": { "strokeWidth": {"value": 2}, + "cursor": {"value": "pointer"}, "fill": {"scale": "fill", "field": "count"}, "stroke": [ { diff --git a/examples/compiled/selection_insert.vg.json b/examples/compiled/selection_insert.vg.json index 4fe9089c4e..954e821522 100644 --- a/examples/compiled/selection_insert.vg.json +++ b/examples/compiled/selection_insert.vg.json @@ -66,6 +66,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/selection_multi_condition.vg.json b/examples/compiled/selection_multi_condition.vg.json index 641e46c6e7..64fc4472ea 100644 --- a/examples/compiled/selection_multi_condition.vg.json +++ b/examples/compiled/selection_multi_condition.vg.json @@ -351,6 +351,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_multi.vg.json b/examples/compiled/selection_project_multi.vg.json index 88afcd2dae..5cc8334928 100644 --- a/examples/compiled/selection_project_multi.vg.json +++ b/examples/compiled/selection_project_multi.vg.json @@ -77,6 +77,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_multi_cylinders.vg.json b/examples/compiled/selection_project_multi_cylinders.vg.json index 65e4a56ba1..4799c27788 100644 --- a/examples/compiled/selection_project_multi_cylinders.vg.json +++ b/examples/compiled/selection_project_multi_cylinders.vg.json @@ -77,6 +77,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_multi_cylinders_origin.vg.json b/examples/compiled/selection_project_multi_cylinders_origin.vg.json index c2915a3315..f622afedae 100644 --- a/examples/compiled/selection_project_multi_cylinders_origin.vg.json +++ b/examples/compiled/selection_project_multi_cylinders_origin.vg.json @@ -80,6 +80,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_multi_origin.vg.json b/examples/compiled/selection_project_multi_origin.vg.json index fe2706224b..b1e54542b8 100644 --- a/examples/compiled/selection_project_multi_origin.vg.json +++ b/examples/compiled/selection_project_multi_origin.vg.json @@ -74,6 +74,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_single.vg.json b/examples/compiled/selection_project_single.vg.json index e65908bfec..7f1c46c87e 100644 --- a/examples/compiled/selection_project_single.vg.json +++ b/examples/compiled/selection_project_single.vg.json @@ -66,6 +66,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_single_cylinders.vg.json b/examples/compiled/selection_project_single_cylinders.vg.json index 45bc7d1c36..ec70e81d10 100644 --- a/examples/compiled/selection_project_single_cylinders.vg.json +++ b/examples/compiled/selection_project_single_cylinders.vg.json @@ -66,6 +66,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_single_cylinders_origin.vg.json b/examples/compiled/selection_project_single_cylinders_origin.vg.json index e057d5b625..2532c574c3 100644 --- a/examples/compiled/selection_project_single_cylinders_origin.vg.json +++ b/examples/compiled/selection_project_single_cylinders_origin.vg.json @@ -69,6 +69,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_project_single_origin.vg.json b/examples/compiled/selection_project_single_origin.vg.json index 9f6e5e4d74..156ca50fad 100644 --- a/examples/compiled/selection_project_single_origin.vg.json +++ b/examples/compiled/selection_project_single_origin.vg.json @@ -63,6 +63,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_toggle_altKey.vg.json b/examples/compiled/selection_toggle_altKey.vg.json index 02f223abcc..d8e7b32a00 100644 --- a/examples/compiled/selection_toggle_altKey.vg.json +++ b/examples/compiled/selection_toggle_altKey.vg.json @@ -77,6 +77,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/selection_toggle_altKey_shiftKey.vg.json b/examples/compiled/selection_toggle_altKey_shiftKey.vg.json index 7875b981b1..fe009373d7 100644 --- a/examples/compiled/selection_toggle_altKey_shiftKey.vg.json +++ b/examples/compiled/selection_toggle_altKey_shiftKey.vg.json @@ -77,6 +77,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/selection_toggle_shiftKey.vg.json b/examples/compiled/selection_toggle_shiftKey.vg.json index d135317d00..ea8c6bd8a9 100644 --- a/examples/compiled/selection_toggle_shiftKey.vg.json +++ b/examples/compiled/selection_toggle_shiftKey.vg.json @@ -77,6 +77,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/selection_type_point.vg.json b/examples/compiled/selection_type_point.vg.json index 77df606b03..1365255368 100644 --- a/examples/compiled/selection_type_point.vg.json +++ b/examples/compiled/selection_type_point.vg.json @@ -85,6 +85,7 @@ "from": {"data": "source_0"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"pts_store\")) || vlSelectionIdTest(\"pts_store\", datum)", diff --git a/examples/compiled/selection_type_point_zorder.vg.json b/examples/compiled/selection_type_point_zorder.vg.json index aee261c023..47ff0ad9ed 100644 --- a/examples/compiled/selection_type_point_zorder.vg.json +++ b/examples/compiled/selection_type_point_zorder.vg.json @@ -77,6 +77,7 @@ "encode": { "update": { "opacity": {"value": 1}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "length(data(\"param_122_store\")) && vlSelectionIdTest(\"param_122_store\", datum)", diff --git a/examples/compiled/selection_type_single_dblclick.vg.json b/examples/compiled/selection_type_single_dblclick.vg.json index 29abd06d18..0c50668d86 100644 --- a/examples/compiled/selection_type_single_dblclick.vg.json +++ b/examples/compiled/selection_type_single_dblclick.vg.json @@ -85,6 +85,7 @@ "from": {"data": "source_0"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"pts_store\")) || vlSelectionIdTest(\"pts_store\", datum)", diff --git a/examples/compiled/selection_type_single_pointerover.vg.json b/examples/compiled/selection_type_single_pointerover.vg.json index bacea56be8..fedc1b4fac 100644 --- a/examples/compiled/selection_type_single_pointerover.vg.json +++ b/examples/compiled/selection_type_single_pointerover.vg.json @@ -85,6 +85,7 @@ "from": {"data": "source_0"}, "encode": { "update": { + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"pts_store\")) || vlSelectionIdTest(\"pts_store\", datum)", diff --git a/examples/compiled/vconcat_flatten.vg.json b/examples/compiled/vconcat_flatten.vg.json index bb1d36a123..f1932397e8 100644 --- a/examples/compiled/vconcat_flatten.vg.json +++ b/examples/compiled/vconcat_flatten.vg.json @@ -151,6 +151,7 @@ "encode": { "update": { "opacity": {"value": 0.7}, + "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"pts_store\")) || vlSelectionTest(\"pts_store\", datum)", From 82117953016bd0ab4dbc1ab0f84c015b49e48173 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Tue, 28 May 2024 17:52:45 -0400 Subject: [PATCH 6/7] no pointer for hover --- src/compile/mark/mark.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/compile/mark/mark.ts b/src/compile/mark/mark.ts index b65bdd730e..d3f2f4f599 100644 --- a/src/compile/mark/mark.ts +++ b/src/compile/mark/mark.ts @@ -279,7 +279,16 @@ function getMarkGroup(model: UnitModel, opt: {fromPrefix: string} = {fromPrefix: const interactive = interactiveFlag(model); // set pointer cursor for point selections that are not bound - if (interactive && Object.values(model.component.selection).some(s => s.type === 'point' && !s.bind)) { + if ( + interactive && + Object.values(model.component.selection).some( + s => + s.type === 'point' && + !s.bind && + // if on is a pointerover (hover) the pointer makes less sense since the mark is not clickable. + (s as any).on !== 'pointerover' + ) + ) { model.markDef.cursor ??= 'pointer'; } From 3ff3d3a7663b6b5755d115f55320522149653230 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Tue, 28 May 2024 21:55:02 +0000 Subject: [PATCH 7/7] chore: update examples [CI] --- examples/compiled/airport_connections.vg.json | 1 - examples/compiled/concat_hover.vg.json | 2 -- examples/compiled/concat_hover_filter.vg.json | 2 -- .../compiled/interactive_histogram_full_height_hover.vg.json | 1 - examples/compiled/interactive_index_chart.vg.json | 1 - examples/compiled/interactive_line_hover.vg.json | 1 - examples/compiled/interactive_line_point_hover.vg.json | 1 - examples/compiled/interactive_multi_line_label.vg.json | 1 - examples/compiled/interactive_multi_line_pivot_tooltip.vg.json | 1 - examples/compiled/interactive_multi_line_tooltip.vg.json | 1 - examples/compiled/interactive_paintbrush.vg.json | 1 - examples/compiled/interactive_paintbrush_color.vg.json | 1 - examples/compiled/interactive_paintbrush_color_nearest.vg.json | 1 - examples/compiled/interactive_paintbrush_simple_false.vg.json | 1 - examples/compiled/interactive_paintbrush_simple_true.vg.json | 1 - examples/compiled/selection_multi_condition.vg.json | 1 - examples/compiled/selection_type_point_zorder.vg.json | 1 - examples/compiled/selection_type_single_pointerover.vg.json | 1 - 18 files changed, 20 deletions(-) diff --git a/examples/compiled/airport_connections.vg.json b/examples/compiled/airport_connections.vg.json index 2e2950a909..45e19c73e2 100644 --- a/examples/compiled/airport_connections.vg.json +++ b/examples/compiled/airport_connections.vg.json @@ -220,7 +220,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { diff --git a/examples/compiled/concat_hover.vg.json b/examples/compiled/concat_hover.vg.json index d2f8665741..56846cba0c 100644 --- a/examples/compiled/concat_hover.vg.json +++ b/examples/compiled/concat_hover.vg.json @@ -111,7 +111,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { @@ -240,7 +239,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/concat_hover_filter.vg.json b/examples/compiled/concat_hover_filter.vg.json index 0ec1115412..120ca84bc5 100644 --- a/examples/compiled/concat_hover_filter.vg.json +++ b/examples/compiled/concat_hover_filter.vg.json @@ -141,7 +141,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, @@ -283,7 +282,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/interactive_histogram_full_height_hover.vg.json b/examples/compiled/interactive_histogram_full_height_hover.vg.json index c2eacf2bda..ecb49a4857 100644 --- a/examples/compiled/interactive_histogram_full_height_hover.vg.json +++ b/examples/compiled/interactive_histogram_full_height_hover.vg.json @@ -122,7 +122,6 @@ "from": {"data": "data_0"}, "encode": { "update": { - "cursor": {"value": "pointer"}, "tooltip": { "signal": "{\"IMDB Rating (binned)\": !isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\"), \"Count of Records\": format(datum[\"__count\"], \"\")}" }, diff --git a/examples/compiled/interactive_index_chart.vg.json b/examples/compiled/interactive_index_chart.vg.json index d6b87b4962..d3f8508e41 100644 --- a/examples/compiled/interactive_index_chart.vg.json +++ b/examples/compiled/interactive_index_chart.vg.json @@ -166,7 +166,6 @@ "encode": { "update": { "opacity": {"value": 0}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/interactive_line_hover.vg.json b/examples/compiled/interactive_line_hover.vg.json index 6e4a30834f..2327e2d624 100644 --- a/examples/compiled/interactive_line_hover.vg.json +++ b/examples/compiled/interactive_line_hover.vg.json @@ -115,7 +115,6 @@ "update": { "stroke": {"value": "transparent"}, "strokeWidth": {"value": 8}, - "cursor": {"value": "pointer"}, "opacity": [ { "test": "!length(data(\"hover_store\")) || vlSelectionTest(\"hover_store\", datum)", diff --git a/examples/compiled/interactive_line_point_hover.vg.json b/examples/compiled/interactive_line_point_hover.vg.json index 8ec429bb0e..ca3ae2083c 100644 --- a/examples/compiled/interactive_line_point_hover.vg.json +++ b/examples/compiled/interactive_line_point_hover.vg.json @@ -131,7 +131,6 @@ }, {"value": 0} ], - "cursor": {"value": "pointer"}, "tooltip": { "signal": "{\"date\": timeFormat(datum[\"date\"], '%b %d, %Y'), \"price\": format(datum[\"price\"], \"\"), \"symbol\": isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]}" }, diff --git a/examples/compiled/interactive_multi_line_label.vg.json b/examples/compiled/interactive_multi_line_label.vg.json index 50b546bed9..71842ccf8c 100644 --- a/examples/compiled/interactive_multi_line_label.vg.json +++ b/examples/compiled/interactive_multi_line_label.vg.json @@ -176,7 +176,6 @@ }, {"value": 0} ], - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json b/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json index 25bada305b..167dc357ed 100644 --- a/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json +++ b/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json @@ -173,7 +173,6 @@ "from": {"data": "data_1"}, "encode": { "update": { - "cursor": {"value": "pointer"}, "stroke": {"value": "black"}, "opacity": [ { diff --git a/examples/compiled/interactive_multi_line_tooltip.vg.json b/examples/compiled/interactive_multi_line_tooltip.vg.json index 7ae21e3e97..9b6c48a41e 100644 --- a/examples/compiled/interactive_multi_line_tooltip.vg.json +++ b/examples/compiled/interactive_multi_line_tooltip.vg.json @@ -136,7 +136,6 @@ "from": {"data": "data_0"}, "encode": { "update": { - "cursor": {"value": "pointer"}, "stroke": [ { "test": "length(data(\"hover_store\")) && vlSelectionIdTest(\"hover_store\", datum)", diff --git a/examples/compiled/interactive_paintbrush.vg.json b/examples/compiled/interactive_paintbrush.vg.json index f27444a345..453313cf66 100644 --- a/examples/compiled/interactive_paintbrush.vg.json +++ b/examples/compiled/interactive_paintbrush.vg.json @@ -82,7 +82,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, diff --git a/examples/compiled/interactive_paintbrush_color.vg.json b/examples/compiled/interactive_paintbrush_color.vg.json index 90bbf50e15..c15d875689 100644 --- a/examples/compiled/interactive_paintbrush_color.vg.json +++ b/examples/compiled/interactive_paintbrush_color.vg.json @@ -78,7 +78,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/interactive_paintbrush_color_nearest.vg.json b/examples/compiled/interactive_paintbrush_color_nearest.vg.json index 73507118a0..f7d962fa2d 100644 --- a/examples/compiled/interactive_paintbrush_color_nearest.vg.json +++ b/examples/compiled/interactive_paintbrush_color_nearest.vg.json @@ -82,7 +82,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"paintbrush_store\")) || vlSelectionIdTest(\"paintbrush_store\", datum)", diff --git a/examples/compiled/interactive_paintbrush_simple_false.vg.json b/examples/compiled/interactive_paintbrush_simple_false.vg.json index befb2efe5d..c5954a16e8 100644 --- a/examples/compiled/interactive_paintbrush_simple_false.vg.json +++ b/examples/compiled/interactive_paintbrush_simple_false.vg.json @@ -78,7 +78,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ {"test": "!!toggleOrigin", "scale": "color", "field": "Origin"}, diff --git a/examples/compiled/interactive_paintbrush_simple_true.vg.json b/examples/compiled/interactive_paintbrush_simple_true.vg.json index 85de99c71d..6e225de8b8 100644 --- a/examples/compiled/interactive_paintbrush_simple_true.vg.json +++ b/examples/compiled/interactive_paintbrush_simple_true.vg.json @@ -78,7 +78,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ {"test": "!!toggleOrigin", "scale": "color", "field": "Origin"}, diff --git a/examples/compiled/selection_multi_condition.vg.json b/examples/compiled/selection_multi_condition.vg.json index 64fc4472ea..641e46c6e7 100644 --- a/examples/compiled/selection_multi_condition.vg.json +++ b/examples/compiled/selection_multi_condition.vg.json @@ -351,7 +351,6 @@ "encode": { "update": { "opacity": {"value": 0.7}, - "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": [ { diff --git a/examples/compiled/selection_type_point_zorder.vg.json b/examples/compiled/selection_type_point_zorder.vg.json index 47ff0ad9ed..aee261c023 100644 --- a/examples/compiled/selection_type_point_zorder.vg.json +++ b/examples/compiled/selection_type_point_zorder.vg.json @@ -77,7 +77,6 @@ "encode": { "update": { "opacity": {"value": 1}, - "cursor": {"value": "pointer"}, "fill": [ { "test": "length(data(\"param_122_store\")) && vlSelectionIdTest(\"param_122_store\", datum)", diff --git a/examples/compiled/selection_type_single_pointerover.vg.json b/examples/compiled/selection_type_single_pointerover.vg.json index fedc1b4fac..bacea56be8 100644 --- a/examples/compiled/selection_type_single_pointerover.vg.json +++ b/examples/compiled/selection_type_single_pointerover.vg.json @@ -85,7 +85,6 @@ "from": {"data": "source_0"}, "encode": { "update": { - "cursor": {"value": "pointer"}, "fill": [ { "test": "!length(data(\"pts_store\")) || vlSelectionIdTest(\"pts_store\", datum)",