Quellcode durchsuchen

gui: Load modals before calling initController() (fixes #3301)

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3319
Daniel Harte vor 9 Jahren
Ursprung
Commit
55fc3cb2c5

+ 3 - 0
gui/default/syncthing/core/modalDirective.js

@@ -67,6 +67,9 @@ angular.module('syncthing.core')
                     }
 
                 });
+
+                // inform syncthingContoller that a modal is ready
+                scope.$parent.modalLoaded();
             }
         };
     });

+ 11 - 5
gui/default/syncthing/core/syncthingController.js

@@ -221,9 +221,7 @@ angular.module('syncthing.core')
                     document.cookie = "firstVisit=" + Date.now() + ";max-age=" + 30 * 24 * 3600;
                 } else {
                     if (+firstVisit < Date.now() - 4 * 3600 * 1000) {
-                        setTimeout(function () {
-                            $('#ur').modal();
-                        }, 2500);
+                        $('#ur').modal();
                     }
                 }
             }
@@ -1623,6 +1621,14 @@ angular.module('syncthing.core')
             });
         };
 
-        // pseudo main. called on all definitions assigned
-        initController();
+        $scope.modalLoaded = function () {
+
+            // once all modal elements have been processed
+            if ($('modal').length === 0) {
+
+                // pseudo main. called on all definitions assigned
+                initController();
+            }
+        }
+
     });