From e6100f4b28206717233ac903f7e8f2c06d946752 Mon Sep 17 00:00:00 2001
From: alex <demeshko.alexander.v@gmail.com>
Date: Sat, 5 Mar 2016 17:31:07 +0300
Subject: [PATCH] fix(preloader): wait while amChart is loading

---
 src/app/theme/directives/zoomIn.js  |  2 +-
 src/app/theme/services/preloader.js | 16 ++++++++++++++--
 src/app/theme/theme.run.js          | 19 +++++--------------
 3 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/src/app/theme/directives/zoomIn.js b/src/app/theme/directives/zoomIn.js
index f22c7c5..59b78e3 100644
--- a/src/app/theme/directives/zoomIn.js
+++ b/src/app/theme/directives/zoomIn.js
@@ -14,7 +14,7 @@
       link: function ($scope, elem) {
         var delay = 1000;
 
-        if ($rootScope.$pageLoaded) {
+        if ($rootScope.$pageFinishedLoading) {
           delay = 100;
         }
 
diff --git a/src/app/theme/services/preloader.js b/src/app/theme/services/preloader.js
index 9f94b45..b21ba27 100644
--- a/src/app/theme/services/preloader.js
+++ b/src/app/theme/services/preloader.js
@@ -11,11 +11,23 @@
   /** @ngInject */
   function preloader($q) {
     return {
-      load: function (src) {
+      loadImg: function (src) {
         var d = $q.defer();
         var img = new Image();
         img.src = src;
-        img.onload = d.resolve;
+        img.onload = function(){
+          console.log("img " + src + " loaded");
+          d.resolve();
+        };
+        return d.promise;
+      },
+      loadAmCharts : function(){
+        var d = $q.defer();
+        console.log("amchart");
+        AmCharts.ready(function(){
+          console.log("amchart loaded");
+          d.resolve();
+        });
         return d.promise;
       }
     }
diff --git a/src/app/theme/theme.run.js b/src/app/theme/theme.run.js
index 656b3ce..b9e2ef6 100644
--- a/src/app/theme/theme.run.js
+++ b/src/app/theme/theme.run.js
@@ -12,28 +12,19 @@
   function themeRun($timeout, $rootScope, layoutSizes, layoutPaths, preloader, $q) {
 
     $q.all([
-      preloader.load(layoutPaths.images.root + 'blur-bg.jpg'),
-      preloader.load(layoutPaths.images.root + 'blur-bg-blurred.jpg')
+      preloader.loadImg(layoutPaths.images.root + 'blur-bg.jpg'),
+      preloader.loadImg(layoutPaths.images.root + 'blur-bg-blurred.jpg'),
+      preloader.loadAmCharts(),
+      $timeout(3000)
     ]).then(function(){
-      if(!$rootScope.$pageFinishedLoading){
         $rootScope.$pageFinishedLoading = true;
-      }
-      if(!$rootScope.$pageLoaded){
-        $rootScope.$pageLoaded = true;
-      }
     });
 
     $timeout(function () {
       if(!$rootScope.$pageFinishedLoading){
         $rootScope.$pageFinishedLoading = true;
       }
-    }, 2000);
-
-    $timeout(function () {
-      if(!$rootScope.$pageLoaded){
-        $rootScope.$pageLoaded = true;
-      }
-    }, 4000);
+    }, 7000);
 
     $rootScope.$isMenuCollapsed = window.innerWidth <= layoutSizes.resWidthCollapseSidebar;
   }