sync
[web.mtrack] / MTrackWeb / templates / images / js / mtrack2.js
index d2588b8..cfcfe61 100644 (file)
  * 
  */
 
-
 MTrack = {
     init : function()
     {
         
         Roo.onReady(function () {
-            MTrack.footerSetAndWait();
+            //MTrack.footerSetAndWait();
             if (authUser) {
-                setTimeout(MTrack.keepLoggedIn, 30000);
+                window.setTimeout(MTrack.keepLoggedIn, 30000);
                 
             }
             
@@ -42,7 +40,6 @@ MTrack = {
                 url : window.location.pathname + window.location.search,
                 params: { ajax_body : 1 } ,
                 success : function (data) {
-                    Roo.log(data);
                     var ab = Roo.get('ajaxbody');
                     ab.dom.innerHTML = data.responseText;
                     MTrack.addHandlers(ab);
@@ -69,14 +66,23 @@ MTrack = {
         });
     },
     
+    
     addHandlers : function (toWhat) 
     {
         // forEach? - no IE support?
         toWhat = toWhat || document.body; // 
         // run the main registry
-        MTrack.registry.forEach(function(cfg) {
-            var el = Roo.get(toWhat).select(cfg.selector,true)
-            el[cfg.method].apply(el, cfg.event ? [ cfg.event, cfg.args ] : [ cfg.args ] );  
+        Roo.each(MTrack.registry, function(cfg) {
+            //Roo.log("Add select:" + cfg.selector);
+            try { 
+                var el = Roo.get(toWhat).select(cfg.selector,true)
+                el[cfg.method].apply(el, cfg.event ? [ cfg.event, cfg.args ] : [ cfg.args ] );
+            } catch(e) {
+                Roo.log("Error applying select:" + cfg.selector);
+                Roo.log(e);
+                // do not throw any more..
+                
+            }
         });
         // any other weird crap goes here.
         
@@ -108,6 +114,7 @@ MTrack = {
     
     ajaxLoad : function(url,slideleft)
     { 
+        Roo.get(document.body).scrollTo('top',0,true);
         this.currentURL = url;
         var target = Roo.get("ajaxbody");
         var content = Roo.get("content");
@@ -116,8 +123,8 @@ MTrack = {
         Roo.select('.mask').show(); // must show first?
         Roo.select('.mask-loading').show();
         // content has a border...
-        var t = content.getBox().y - 13 ;// - Roo.get(document).getScroll().top;// - 13;
-        var l = content.getBox().x - 13;// - Roo.get(document).getScroll().left;// - 13;
+        var t = content.getBox().y  ;// - Roo.get(document).getScroll().top;// - 13;
+        var l = content.getBox().x  ;// - Roo.get(document).getScroll().left;// - 13;
         var w = content.getBox().width+ 26;
         var h = content.getBox().height + 26;
      
@@ -133,6 +140,7 @@ MTrack = {
         //    MTrack.missingHashRequest = false;
         //}
         Roo.get('loader').hide();
+        Roo.get('loader').setStyle('position', 'relative');
         Roo.Ajax.request({
             method: 'GET',
             url : baseURL + url,
@@ -148,18 +156,19 @@ MTrack = {
                 // old layer - move it away..
                 target.animate(
                     {
-                        x: slideleft ? -1 * w  : w
+                        left: { from :  0  , to : slideleft ? -1 * w  : w }
                     },
                     .5,
                     function() {
-                        target.setLocation(  0, t ); // reset it at end of animation - as it ends up with the new content.
+                        // reset it at end of animation - as it ends up with the new content.
+                        //target.setLocation(  0 , t ); 
                     },
-                    'easeIn', 'motion'
+                    'easeOut', 'motion'
                 );
                 
                 Roo.get('loader').animate(
                     {
-                            x: l+13
+                            left: { from : slideleft?  l+w : l-w , to : l  }
                     },
                     .5,
                     function () {
@@ -167,11 +176,14 @@ MTrack = {
                         Roo.get('loader').hide();
                         Roo.get('loader').update("");
                         target.show();// make sure!!
-                    
+                        target.setLocation( l ,t  );
+                        
                         MTrack.missingHashes(target,  url);
                         MTrack.addHandlers(target);
+                        // scroll up...
+                        
                     },
-                     'easeIn', 'motion'
+                     'easeOut', 'motion'
                 );
             }
             //console.log('loaded dif');
@@ -185,22 +197,24 @@ MTrack = {
     
     missingHashRequest : false,
     missingHashes: function(el,url) {
-        //console.log('finding missing hashes?');
+        console.log('finding missing hashes?');
         var hashes = [];
         el.select('.browse-missing-hash').each(function() {
             hashes.push(this.dom.id);
         });
+        
         if (!hashes.length) {
+            Roo.log("no missing hashes");
             return;
         }
-        if (MTrack.missingHashRequest) {
-            MTrack.missingHashRequest.abort();
-        }
-        MTrack.missingHashRequest = Roo.Ajax.request({
+        Roo.Ajax.abort();
+        Roo.Ajax.request({
             method : 'POST',
             url : baseURL + url,
             params : { hashes : hashes.join(',') },
-            success : function(data) {
+            success : function(res) {
+                var data = Roo.decode(res.responseText);
+                
                 //console.log(data.data);
                 if (data.data) {
                     for(var hash in data.data) {
@@ -222,6 +236,7 @@ MTrack = {
     last_wh : false,
    
     footerPosition : function (force) {
+        return;
         var ele = Roo.get('footer');
         if (!force &&
             (MTrack.last_dh != Roo.lib.Dom.getDocumentHeight() || MTrack.last_wh != Roo.lib.Dom.getViewHeight())) {
@@ -257,6 +272,26 @@ MTrack = {
         MTrack.last_wh = Roo.lib.Dom.getViewHeight();
     },
     
+    
+    keepLoggedIn: function()
+    {
+        Roo.Ajax.request({
+            url : baseURL + '/Login.html',
+            method:  'POST',
+            data : { refresh : 1 },
+            success : function() {
+                
+                window.setTimeout(MTrack.keepLoggedIn, 30000);
+                // what if it's false..currentURL = false;
+                
+                
+            }
+            
+        })
+        
+        
+        
+    },
       /*
       
        $(window)
@@ -266,10 +301,12 @@ MTrack = {
       */
         
     footerSetAndWait : function () {
-        this.footerPosition();
-        setTimeout(function () {
+        return;
+        /*this.footerPosition();
+        window.setTimeout(function () {
           MTrack.footerSetAndWait();
         }, 1500);
+        */
     }
     
     
@@ -285,7 +322,7 @@ Roo.onReady(function() {
         // ajax change project, and refresh body..
         Roo.Ajax.request({
             method: 'GET',
-            url : baseURL + '/Project.html',
+            url : baseURL + '/core_project',
             params : { active_project_id : this.value },
             success : function() {
                 // what if it's false..currentURL = false;
@@ -299,7 +336,7 @@ Roo.onReady(function() {
         
         
 });
-
+ MTrack.init();
 
 try { 
     window.onpopstate = function(ev) {
@@ -335,8 +372,12 @@ MTrack.register('a.browse-link', 'on', 'click', function(event)
   
     var href= this.dom.getAttribute('href').substring(baseURL.length);
     try { 
-        window.history.pushState( { url: href }, "Browse : " + href , this.href );
-    } catch (e) {}
+        window.history.pushState( { url: href }, "Browse : " + href , this.dom.href );
+        Roo.log("history push state");
+    } catch (e) {
+        Roo.log(e);
+        
+    }
     var slideleft = this.is('.browse-link-up')  ? 0 : 1;    
     MTrack.ajaxLoad(href,slideleft); 
 });
@@ -390,7 +431,7 @@ $(document).ready(function() {
       {separator:'---------------' },
       {name:'Quotes', openWith:'(!(> |!|>)!)'},
       {name:'Code', openWith:'{{{\\n', closeWith:'\\n}}}'},
-      {separator:'---------------' },
+      {separator:'---------------' },1
       {name:'Preview', call:'preview', className:'preview'}
     ]
   });