You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/09/02 17:19:31 UTC

[2/2] ignite git commit: IGNITE-843 Preview select changed lines.

IGNITE-843 Preview select changed lines.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6174ce34
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6174ce34
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6174ce34

Branch: refs/heads/ignite-843
Commit: 6174ce34305d6f6c997d314bf32ee525dbac924e
Parents: 0a81aea
Author: AKuznetsov <ak...@gridgain.com>
Authored: Wed Sep 2 22:19:22 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Wed Sep 2 22:19:22 2015 +0700

----------------------------------------------------------------------
 .../src/main/js/controllers/common-module.js    | 32 ++++++++++++++------
 1 file changed, 22 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6174ce34/modules/control-center-web/src/main/js/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/common-module.js b/modules/control-center-web/src/main/js/controllers/common-module.js
index c6a8e04..e04fb69 100644
--- a/modules/control-center-web/src/main/js/controllers/common-module.js
+++ b/modules/control-center-web/src/main/js/controllers/common-module.js
@@ -1006,12 +1006,17 @@ controlCenterModule.service('$preview', ['$timeout', function ($timeout) {
 
     var previewPrevContent = [];
 
+    var clearPromise = null;
+
     function previewChanged (ace) {
         var content = ace[0];
 
         if (content.action == 'remove')
             previewPrevContent = content.lines;
         else {
+            if (clearPromise)
+                $timeout.cancel(clearPromise);
+
             var previewNewContent = content.lines;
 
             var start = -1;
@@ -1019,20 +1024,23 @@ controlCenterModule.service('$preview', ['$timeout', function ($timeout) {
             var prevLen = previewPrevContent.length;
             var newLen = previewNewContent.length;
 
-            for (var i = 0; i < newLen || i < prevLen; i++) {
+            for (var i = 0; (i < newLen || i < prevLen) && start < 0; i++) {
                 if (previewNewContent[i] != previewPrevContent[i]) {
-                    if (start < 0)
-                        start = i;
-                    else {
-                        end = i;
-                        break;
-                    }
+                    start = i;
+
+                    break;
                 }
             }
 
-            previewPrevContent = [];
-
             if (start >= 0) {
+                for (i = 1; (i <= newLen || i <= prevLen) && end < 0; i++) {
+                    if (previewNewContent[newLen - i] != previewPrevContent[prevLen - i]) {
+                        end = newLen - i + 1;
+
+                        break;
+                    }
+                }
+
                 if (end < 0)
                     end = start + 1;
 
@@ -1040,10 +1048,14 @@ controlCenterModule.service('$preview', ['$timeout', function ($timeout) {
 
                 editor.selection.setSelectionRange(new Range(start, 0, end, 0), false);
 
-                $timeout(function() {
+                clearPromise = $timeout(function () {
                     editor.clearSelection();
+
+                    clearPromise = null;
                 }, 3000);
             }
+
+            previewPrevContent = [];
         }
     }