From 2122b3ef0de8057321e75814662604f681e22863 Mon Sep 17 00:00:00 2001
From: Eike Cochu <eike@cochu.com>
Date: Thu, 30 Jun 2016 12:51:20 +0200
Subject: [PATCH] fixed tm loading timing issue

---
 vipra-ui/app/index.html        |  2 +-
 vipra-ui/app/js/controllers.js | 12 ++++++++----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/vipra-ui/app/index.html b/vipra-ui/app/index.html
index 443134fe..05d2dbe8 100644
--- a/vipra-ui/app/index.html
+++ b/vipra-ui/app/index.html
@@ -54,7 +54,7 @@
         </form>
         <ul class="nav navbar-nav navbar-right">
           <li ng-class="{'text-italic active':rootModels.topicModel}">
-            <a class="active-topicmodel" tabindex="0" ng-click="chooseTopicModel()" ng-bind-template="{{rootModels.topicModel ? rootModels.topicModel.name : 'Models'}}" analytics-on analytics-event="Menu Item (Topic Models)" analytics-category="Menu actions"></a>
+            <a class="active-topicmodel" tabindex="0" ng-click="chooseTopicModel(true)" ng-bind-template="{{rootModels.topicModel ? rootModels.topicModel.name : 'Models'}}" analytics-on analytics-event="Menu Item (Topic Models)" analytics-category="Menu actions"></a>
           </li>
           <li class="menu-icon" ng-class="{disabled:!rootModels.helpEnabled}" ng-attr-title="{{ rootModels.helpEnabled ? 'Help' : 'No help available' }}">
             <a ng-click="showHelp()">
diff --git a/vipra-ui/app/js/controllers.js b/vipra-ui/app/js/controllers.js
index 9877f182..8b86823f 100644
--- a/vipra-ui/app/js/controllers.js
+++ b/vipra-ui/app/js/controllers.js
@@ -35,8 +35,8 @@
         }, function() {
           delete localStorage.tm;
           $scope.loadingScreen = false;
-          $scope.chooseTopicModel();
           prevTopicModelDefer.reject();
+          $scope.chooseTopicModel();
         });
       } else {
         prevTopicModelDefer.reject();
@@ -66,8 +66,8 @@
         });
       };
 
-      $scope.chooseTopicModel = function() {
-        $scope.rootModels.tmLoading.finally(function() {
+      $scope.chooseTopicModel = function(manual) {
+        var fn = function() {
           $scope.queryTopicModels();
           $scope.rootModels.topicModelModalOpen = true;
           $('#topicModelModal').modal();
@@ -75,7 +75,11 @@
             $('.selected-model').focus();
           else
             $('.topic-model').first().focus();
-        });
+        };
+        if(manual)
+          $scope.rootModels.tmLoading.finally(fn);
+        else
+          $scope.rootModels.tmLoading.then(null, fn);
       };
 
       $scope.changeTopicModel = function(topicModel) {
-- 
GitLab