From 711766bdf9e70faf87b0f1c4dfa3f36932f9955c Mon Sep 17 00:00:00 2001 From: pah100 Date: Wed, 29 Jun 2016 21:39:20 +0800 Subject: [PATCH] brush: only some cover cleared, action triggered. --- src/component/helper/BrushController.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/component/helper/BrushController.js b/src/component/helper/BrushController.js index 93a434888..42ccded25 100644 --- a/src/component/helper/BrushController.js +++ b/src/component/helper/BrushController.js @@ -434,10 +434,14 @@ define(function (require) { } function clearCovers(controller) { - each(controller._covers, function (cover) { + var covers = controller._covers; + var originalLength = covers.length; + each(covers, function (cover) { controller.group.remove(cover); }, controller); - controller._covers.length = 0; + covers.length = 0; + + return !!originalLength; } function trigger(controller, opt) { @@ -770,8 +774,10 @@ define(function (require) { // But a single click do not clear covers, because user may have casual // clicks (for example, click on other component and do not expect covers // disappear). - clearCovers(controller); - trigger(controller, {isEnd: isEnd, removeOnClick: true}); + // Only some cover removed, trigger action, but not every click trigger action. + clearCovers(controller) && trigger( + controller, {isEnd: isEnd, removeOnClick: true} + ); } } -- GitLab