You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by de...@apache.org on 2014/03/10 17:03:05 UTC

couchdb commit: updated refs/heads/2189-ddoc-info-on-demand to 672198e

Repository: couchdb
Updated Branches:
  refs/heads/2189-ddoc-info-on-demand [created] 672198ebe


Set the triggering of the call to poll or stop polling ddoc metadata in the tab toggling


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/672198eb
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/672198eb
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/672198eb

Branch: refs/heads/2189-ddoc-info-on-demand
Commit: 672198ebe4d714255fa88a37c73849a61ebac041
Parents: b63ff1b
Author: suelockwood <de...@apache.org>
Authored: Mon Mar 10 09:34:59 2014 -0400
Committer: suelockwood <de...@apache.org>
Committed: Mon Mar 10 12:02:53 2014 -0400

----------------------------------------------------------------------
 src/fauxton/app/addons/documents/views.js | 27 +++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/672198eb/src/fauxton/app/addons/documents/views.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/documents/views.js b/src/fauxton/app/addons/documents/views.js
index 54ec261..1807bb8 100644
--- a/src/fauxton/app/addons/documents/views.js
+++ b/src/fauxton/app/addons/documents/views.js
@@ -1274,7 +1274,8 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
       "click #db-views-tabs-nav": 'toggleIndexNav',
       "click .beautify_map":  "beautifyCode",
       "click .beautify_reduce":  "beautifyCode",
-      "click #query-options-wrapper": 'toggleIndexNav'
+      "click #query-options-wrapper": 'toggleIndexNav',
+      "click #meta-nav" : "toggleDdocInfo"
     },
 
     langTemplates: {
@@ -1577,6 +1578,8 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
       if ($targetTab.attr('id') !== $previousTab.attr('id')) {
         $previousTab.removeAttr('style');
       }
+      //stop polling
+      this.ddocInfoView.stopRefreshInterval(); 
 
       if ($targetId === 'index-nav') {
         if (this.newView) { return; }
@@ -1585,6 +1588,11 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
         $targetTab.toggle('slow', function(){
            that.showEditors();
         });
+      } else if ($targetId === "meta-nav"){
+        if ($previousTab.attr('id') !== "metadata"){
+          this.ddocInfoView.startRefreshInterval();
+        } 
+        $targetTab.toggle('slow'); 
       } else {
         $targetTab.toggle('slow');
       }
@@ -1628,7 +1636,14 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
         $('.beautify-tooltip').tooltip();
       }
     },
+    renderDdocInfo: function(){
+      if(this.ddocInfoView){
+        this.ddocInfoView.remove();
+      } 
+      this.ddocInfoView = this.setView('#ddoc-info', new Views.DdocInfo({model: this.ddocInfo }));
+      this.ddocInfoView.render();
 
+    },
     beforeRender: function () {
 
       if (this.newView) {
@@ -1643,7 +1658,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
         var ddocDecode = decodeURIComponent(this.ddocID);
         this.model = this.ddocs.get(ddocDecode).dDocModel();
         this.reduceFunStr = this.model.viewHasReduce(this.viewName);
-        this.setView('#ddoc-info', new Views.DdocInfo({model: this.ddocInfo }));
+        
       }
 
       this.designDocSelector = this.setView('.design-doc-group', new Views.DesignDocSelector({
@@ -1670,6 +1685,8 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
     },
 
     afterRender: function() {
+      this.renderDdocInfo();
+
       if (this.params && !this.newView) {
         this.advancedOptions.updateFromParams(this.params);
       }
@@ -1872,15 +1889,11 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
       };
     },
 
-    afterRender: function () {
-      this.startRefreshInterval();
-    },
-
     startRefreshInterval: function () {
       var model = this.model;
 
       // Interval already set
-      if (this.intervalId) { return ; }
+      if (this.intervalId) { this.stopRefreshInterval(); }
 
       this.intervalId = setInterval(function () {
         model.fetch();