From 3291850c4d314d6c7f8d74f5a0463429a1200ced Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Mon, 15 Aug 2016 12:51:32 +0000
Subject: [PATCH] Task #9607: only clean mom/otdb id filter box when task found

---
 .../lib/static/app/controllers/datacontroller.js       |  6 ++++++
 .../lib/static/app/controllers/gridcontroller.js       | 10 ++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js
index 9b03ade3d06..c35c2c02f7c 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js
+++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js
@@ -822,25 +822,31 @@ dataControllerMod.controller('DataController',
     $scope.jumpToNow();
 
     $scope.loadTaskByOTDBIdSelectAndJumpIntoView = function(otdb_id) {
+        var defer = $q.defer();
         $scope.dataService.getTaskByOTDBId(otdb_id).then(function(task) {
             if(task) {
                 $scope.dataService.tasks.push(task);
                 $scope.dataService.taskDict[task.id] = task;
                 $scope.dataService.setSelectedTaskId(task.id);
                 $scope.jumpToSelectedTask();
+                defer.resolve();
             }
         });
+        return defer.promise;
     };
 
     $scope.loadTaskByMoMIdSelectAndJumpIntoView = function(mom_id) {
+        var defer = $q.defer();
         $scope.dataService.getTaskByMoMId(mom_id).then(function(task) {
             if(task) {
                 $scope.dataService.tasks.push(task);
                 $scope.dataService.taskDict[task.id] = task;
                 $scope.dataService.setSelectedTaskId(task.id);
                 $scope.jumpToSelectedTask();
+                defer.resolve();
             }
         });
+        return defer.promise;
     };
 
     $scope.selectCurrentTask = function() {
diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js
index e54e9c8b7ff..1b11c89939e 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js
+++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js
@@ -153,15 +153,17 @@ $scope.columns = [
                         var otdb_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'otdb_id'; });
                         if(otdb_col && otdb_col.filters.length && otdb_col.filters[0].hasOwnProperty('term')) {
                             var otdb_id = otdb_col.filters[0].term;
-                            $scope.$parent.$parent.loadTaskByOTDBIdSelectAndJumpIntoView(otdb_id);
-                            otdb_col.filters[0].term = null;
+                            $scope.$parent.$parent.loadTaskByOTDBIdSelectAndJumpIntoView(otdb_id).then(function() {
+                                otdb_col.filters[0].term = null;
+                            });
                         } else {
                             var mom_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'mom_id'; });
 
                             if(mom_col && mom_col.filters.length && mom_col.filters[0].hasOwnProperty('term')) {
                                 var mom_id = mom_col.filters[0].term;
-                                $scope.$parent.$parent.loadTaskByMoMIdSelectAndJumpIntoView(mom_id);
-                                mom_col.filters[0].term = null;
+                                $scope.$parent.$parent.loadTaskByMoMIdSelectAndJumpIntoView(mom_id).then(function() {
+                                    mom_col.filters[0].term = null;
+                                });
                             }
                         }
                     }
-- 
GitLab