From ab354a8e3a6557eb839ee44f987bed2caa1412da Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 9 Dec 2021 16:48:09 +0100 Subject: [PATCH 1/2] Fix index selector jumping back to 0 --- js/src/IndexSelector.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/js/src/IndexSelector.ts b/js/src/IndexSelector.ts index 4136a5e25..5336deccc 100644 --- a/js/src/IndexSelector.ts +++ b/js/src/IndexSelector.ts @@ -81,7 +81,7 @@ export class IndexSelector extends BaseXSelector { } mousemove() { - if (!this.active) { + if (!this.active || this.dirty) { return; } this.dirty = true; @@ -143,7 +143,10 @@ export class IndexSelector extends BaseXSelector { } else { const pixel = this.scale.scale(selected[0]); if (this.line !== undefined && this.line !== null) { - this.line.attr('x1', 0).attr('x2', 0).attr('visibility', 'visible'); + this.line + .attr('x1', pixel) + .attr('x2', pixel) + .attr('visibility', 'visible'); } //the selected may be called before the index selector is //active for the first time. From ed3f3bf1f6537d06e3d199c5b0da9f6711e4fe46 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Fri, 10 Dec 2021 09:32:48 +0100 Subject: [PATCH 2/2] Add test for the index selector --- ...dex-selector-update-ipynb-cell-0-linux.png | Bin 0 -> 11404 bytes ...dex-selector-update-ipynb-cell-1-linux.png | Bin 0 -> 11394 bytes ...dex-selector-update-ipynb-cell-0-linux.png | Bin 0 -> 11251 bytes ...dex-selector-update-ipynb-cell-1-linux.png | Bin 0 -> 11229 bytes .../notebooks/index_selector_update.ipynb | 74 ++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 ui-tests/tests/bqplot.test.ts-snapshots/dark-index-selector-update-ipynb-cell-0-linux.png create mode 100644 ui-tests/tests/bqplot.test.ts-snapshots/dark-index-selector-update-ipynb-cell-1-linux.png create mode 100644 ui-tests/tests/bqplot.test.ts-snapshots/light-index-selector-update-ipynb-cell-0-linux.png create mode 100644 ui-tests/tests/bqplot.test.ts-snapshots/light-index-selector-update-ipynb-cell-1-linux.png create mode 100644 ui-tests/tests/notebooks/index_selector_update.ipynb diff --git a/ui-tests/tests/bqplot.test.ts-snapshots/dark-index-selector-update-ipynb-cell-0-linux.png b/ui-tests/tests/bqplot.test.ts-snapshots/dark-index-selector-update-ipynb-cell-0-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b09dc59bba7274b02fc2c2385587cb4946ed4f68 GIT binary patch literal 11404 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�^;~qY)GuWjf*YO4l;NAcpMvihkW3c1yiw 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 literal 0 HcmV?d00001 diff --git a/ui-tests/tests/bqplot.test.ts-snapshots/dark-index-selector-update-ipynb-cell-1-linux.png b/ui-tests/tests/bqplot.test.ts-snapshots/dark-index-selector-update-ipynb-cell-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f2058c25abf473887ffbd8c2879df0cc91481b GIT binary patch literal 11394 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 literal 0 HcmV?d00001 diff --git a/ui-tests/tests/bqplot.test.ts-snapshots/light-index-selector-update-ipynb-cell-1-linux.png b/ui-tests/tests/bqplot.test.ts-snapshots/light-index-selector-update-ipynb-cell-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..70738083988b8323ffe75b3b5e729ebe16cded20 GIT binary patch literal 11229 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 F{|Cc#RKoxO literal 0 HcmV?d00001 diff --git a/ui-tests/tests/notebooks/index_selector_update.ipynb b/ui-tests/tests/notebooks/index_selector_update.ipynb new file mode 100644 index 000000000..007efd743 --- /dev/null +++ b/ui-tests/tests/notebooks/index_selector_update.ipynb @@ -0,0 +1,74 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "06ac2448-da47-4939-a22a-e4b556fba103", + "metadata": {}, + "outputs": [], + "source": [ + "from bqplot import *\n", + "from bqplot.interacts import *\n", + "\n", + "# Create Scatter\n", + "sc_x = LinearScale()\n", + "sc_y = LinearScale()\n", + "\n", + "scatt = Scatter(\n", + " x=list(range(10)), \n", + " y=[20, 3, 23, 5, 6, 12, 23, 14, 20, 3],\n", + " scales={'x': sc_x, 'y': sc_y},\n", + " selected_style={\"opacity\": \"1\"},\n", + " unselected_style={\"opacity\": \"0.2\"}\n", + ")\n", + "\n", + "sel = IndexSelector(\n", + " marks=[scatt], \n", + " scale=sc_x,\n", + " selected=3\n", + ")\n", + "\n", + "ax_x = Axis(scale=sc_x)\n", + "ax_y = Axis(scale=sc_y, orientation='vertical')\n", + "\n", + "fig = Figure(\n", + " marks=[scatt], \n", + " axes=[ax_x, ax_y],\n", + " interaction=sel\n", + ")\n", + "fig" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0600d9f-2256-4610-a14e-471c255d4924", + "metadata": {}, + "outputs": [], + "source": [ + "sel.selected = 5" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}