From c25a81a98428ecc76cded68ccfad2740f83674a9 Mon Sep 17 00:00:00 2001 From: ludwighen <40496618+ludwighen@users.noreply.github.com> Date: Tue, 23 Mar 2021 18:55:08 +0100 Subject: [PATCH 1/5] prepare script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index de29cd1..6c01594 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "transpile": "tsc", "build:prod": "cross-env NODE_ENV=production webpack --config webpack.config.prod.js", "prepublishOnly": "yarn lint && yarn clean && yarn build:prod && yarn transpile", + "prepare":"npm run clean && npm run build:prod && npm run transpile", "prettier": "prettier --write src/**/*.{ts,tsx} example/src/**/*.{ts,tsx}", "lint:basic": "tsc --pretty --noEmit && eslint --fix --format codeframe", "lint": "yarn lint:basic '{example/,}src/**/*.{ts,tsx}'", From c69c1b9473ff5cd8eac39a4af02005d65acb9ee9 Mon Sep 17 00:00:00 2001 From: ludwighen <40496618+ludwighen@users.noreply.github.com> Date: Tue, 23 Mar 2021 19:28:41 +0100 Subject: [PATCH 2/5] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6c01594..50614d7 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "transpile": "tsc", "build:prod": "cross-env NODE_ENV=production webpack --config webpack.config.prod.js", "prepublishOnly": "yarn lint && yarn clean && yarn build:prod && yarn transpile", - "prepare":"npm run clean && npm run build:prod && npm run transpile", + "prepare":"npm run clean && npm run build:prod && npm run transpile || exit 0", "prettier": "prettier --write src/**/*.{ts,tsx} example/src/**/*.{ts,tsx}", "lint:basic": "tsc --pretty --noEmit && eslint --fix --format codeframe", "lint": "yarn lint:basic '{example/,}src/**/*.{ts,tsx}'", From 7cf9bb09b3c2bb47666fb49d61c5a69265e103b1 Mon Sep 17 00:00:00 2001 From: ludwighen <40496618+ludwighen@users.noreply.github.com> Date: Tue, 23 Mar 2021 19:48:20 +0100 Subject: [PATCH 3/5] adding min select size --- package.json | 1 - src/SelectableGroup.tsx | 29 ++++++++++++++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 50614d7..c16870b 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ }, "husky": { "hooks": { - "pre-commit": "lint-staged" } }, "bugs": { diff --git a/src/SelectableGroup.tsx b/src/SelectableGroup.tsx index de4dabe..87b39f2 100644 --- a/src/SelectableGroup.tsx +++ b/src/SelectableGroup.tsx @@ -84,6 +84,7 @@ export type TSelectableGroupProps = { * @type boolean */ fixedPosition?: boolean + minSelectSize?: number } export class SelectableGroup extends Component { @@ -110,6 +111,7 @@ export class SelectableGroup extends Component { allowMetaClick: false, allowShiftClick: false, selectOnClick: true, + minSelectSize: 0 } state = { selectionMode: false } @@ -347,7 +349,6 @@ export class SelectableGroup extends Component { return } this.mouseMoveStarted = true - this.mouseMoved = true const { mouseDownData } = this const { clientX, clientY } = evt @@ -376,8 +377,17 @@ export class SelectableGroup extends Component { offsetHeight: selectboxState.height || 1, } - this.selectItems(selectboxBounds) - this.props.duringSelection!([...this.selectingItems]) + if ( + !this.props.minSelectSize || + this.props.minSelectSize < selectboxBounds.width || + this.props.minSelectSize < selectboxBounds.height + ) + { + this.mouseMoved = true + this.selectItems(selectboxBounds) + this.props.duringSelection!([...this.selectingItems]) + } + this.mouseMoveStarted = false } @@ -612,15 +622,16 @@ export class SelectableGroup extends Component { this.preventEvent(evt.target, 'click') } - this.setSelectboxState!({ - x: 0, - y: 0, - width: 0, - height: 0, - }) this.props.onSelectionFinish!([...this.selectedItems]) } + this.setSelectboxState!({ + x: 0, + y: 0, + width: 0, + height: 0, + }) + this.toggleSelectionMode() this.cleanUp() this.mouseMoved = false From 0921b35ceeacdc00a1291a06ddf2ddabb0918100 Mon Sep 17 00:00:00 2001 From: ludwighen <40496618+ludwighen@users.noreply.github.com> Date: Tue, 23 Mar 2021 19:48:30 +0100 Subject: [PATCH 4/5] Update package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index c16870b..50614d7 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ }, "husky": { "hooks": { + "pre-commit": "lint-staged" } }, "bugs": { From 75153d114201dd5c9cdcb78a0cbc088ec7eeaec7 Mon Sep 17 00:00:00 2001 From: ludwighen <40496618+ludwighen@users.noreply.github.com> Date: Tue, 23 Mar 2021 20:01:39 +0100 Subject: [PATCH 5/5] Update package.json --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 50614d7..de29cd1 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "transpile": "tsc", "build:prod": "cross-env NODE_ENV=production webpack --config webpack.config.prod.js", "prepublishOnly": "yarn lint && yarn clean && yarn build:prod && yarn transpile", - "prepare":"npm run clean && npm run build:prod && npm run transpile || exit 0", "prettier": "prettier --write src/**/*.{ts,tsx} example/src/**/*.{ts,tsx}", "lint:basic": "tsc --pretty --noEmit && eslint --fix --format codeframe", "lint": "yarn lint:basic '{example/,}src/**/*.{ts,tsx}'",