couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gar...@apache.org
Subject [6/8] fauxton commit: updated refs/heads/continue-secondary-index to 16049ba
Date Tue, 26 Aug 2014 10:41:56 GMT
Secondary Index work:
fix semi colon and alldocs select in header
Moved the Header styles into the global header styles
Changes header, updating the view headers and adding the link icons
Hook up delete dropdown on views
Pagination footer
Colors!!!!
Working on alert styling
footer css updates and alert styling
Design doc selector fix
pagination fix
Fixed pagination on indexes
adding back some route events
comment out remove crumbs
remove useless forcerenders for the breadcrumbs
Fix styling the select toggle show
Change the all docs select header to be it's own view
Fix for the header on view save


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

Branch: refs/heads/continue-secondary-index
Commit: e196a738646e9e8f575a16e2720cafe0d5f84b95
Parents: fce5dfe
Author: deathbearbrown <deathbearbrown@gmail.com>
Authored: Mon Aug 11 15:18:50 2014 -0400
Committer: Garren Smith <garren.smith@gmail.com>
Committed: Tue Aug 26 12:40:46 2014 +0200

----------------------------------------------------------------------
 app/addons/documents/assets/less/documents.less |  14 +--
 app/addons/documents/assets/less/headers.less   |  56 -----------
 app/addons/documents/routes.js                  |  46 ++++++---
 .../documents/templates/all_docs_item.html      |   4 +-
 .../documents/templates/all_docs_list.html      |   6 +-
 .../documents/templates/all_docs_number.html    |   5 +-
 .../documents/templates/header_alldocs.html     |   1 +
 .../documents/templates/header_changes.html     |  20 ++++
 .../documents/templates/select-doc-menu.html    |  25 +++--
 app/addons/documents/views-changes.js           |   3 +-
 app/addons/documents/views-sidebar.js           |   2 +-
 app/addons/documents/views.js                   |  56 ++++-------
 app/addons/fauxton/base.js                      |   2 +-
 app/addons/fauxton/components.js                |   4 +-
 app/addons/fauxton/resizeColumns.js             |   2 +-
 app/addons/fauxton/templates/api_bar.html       |   2 +-
 .../fauxton/templates/index_pagination.html     |  14 +--
 app/addons/fauxton/templates/pagination.html    |  29 +++---
 app/addons/indexes/assets/less/doc-item.less    |  24 +++--
 app/addons/indexes/routes-core.js               | 100 ++++++++++++++++++-
 app/addons/indexes/routes-viewindexes.js        |  19 +---
 .../indexes/templates/design_doc_selector.html  |  16 ++-
 app/addons/indexes/templates/header_right.html  |  15 ++-
 app/addons/indexes/templates/show_editor.html   |   2 +-
 app/addons/indexes/templates/view_editor.html   |   2 +-
 app/addons/indexes/views.js                     |  24 ++---
 app/templates/layouts/one_pane.html             |   1 +
 app/templates/layouts/two_pane.html             |   4 +-
 app/templates/layouts/with_sidebar.html         |   1 +
 app/templates/layouts/with_tabs.html            |   2 +-
 app/templates/layouts/with_tabs_sidebar.html    |   2 +-
 assets/index.underscore                         |   1 -
 assets/less/bootstrap/alerts.less               |   4 +-
 assets/less/bootstrap/pagination.less           |  66 ++++++------
 assets/less/bootstrap/variables.less            |  12 +--
 assets/less/headers.less                        |  85 +++++++++++++++-
 assets/less/pagination.less                     |  32 +++++-
 assets/less/templates.less                      |  18 +++-
 index.html                                      |   2 +-
 39 files changed, 454 insertions(+), 269 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/assets/less/documents.less
----------------------------------------------------------------------
diff --git a/app/addons/documents/assets/less/documents.less b/app/addons/documents/assets/less/documents.less
index 26e3ffa..0f9836a 100644
--- a/app/addons/documents/assets/less/documents.less
+++ b/app/addons/documents/assets/less/documents.less
@@ -19,10 +19,7 @@
 @import "sidenav.less";
 @import "headers.less";
 
-tr.all-docs-item {
-  border: none;
-  background: transparent;
-}
+
 button.beautify {
   margin-top: 20px;
 }
@@ -33,15 +30,6 @@ button.beautify {
     }
 }
 
-#per-page {
-  float: right;
-
-  #select-per-page {
-    margin-top: 10px;
-  }
-
-}
-
 
 /** used in all_docs_list.html **/
 .view {

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/assets/less/headers.less
----------------------------------------------------------------------
diff --git a/app/addons/documents/assets/less/headers.less b/app/addons/documents/assets/less/headers.less
deleted file mode 100644
index ce5a27d..0000000
--- a/app/addons/documents/assets/less/headers.less
+++ /dev/null
@@ -1,56 +0,0 @@
-.header-right {
-  .add-on {
-    font-size: 16px;
-  }
-  .well {
-    padding: 0;
-    margin: 0;
-  }
-  .searchbox-container {
-    position: relative;
-    right: inherit;
-    input[type="text"] {
-      .border-radius(5px);
-      font-size: 13px;
-      padding: 8px 35px 8px 10px;
-      width: 275px;
-    }
-    .btn-primary {
-      background: none repeat scroll 0% 0% transparent;
-      border: none;
-      position: absolute;
-      right: 12px;
-      top: 8px;
-      z-index: 2;
-      color: #999;
-    }
-  }
-  > .btn {
-    padding: 0;
-    margin: 0;
-  }
-  > .button,
-  > .button a,
-  .api-url-btn > button {
-    color: #666;
-    font-size: 13px;
-    line-height: 3em;
-  }
-  > div {
-    float: right;
-    height: 60px;
-    border-left: 1px solid #ccc;
-    margin: 0;   
-    padding: 10px 15px;
-    line-height: 40px; 
-  }
-  > div:last-child {
-    border-left: none;
-  }
-  .api-url-btn {
-    background: none;
-    border: none;
-    padding: 0;
-    margin: 0;
-  }
-}

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/routes.js
----------------------------------------------------------------------
diff --git a/app/addons/documents/routes.js b/app/addons/documents/routes.js
index 994ca5c..46fbc51 100644
--- a/app/addons/documents/routes.js
+++ b/app/addons/documents/routes.js
@@ -158,7 +158,8 @@ function(app, FauxtonAPI, Components, Documents, Changes, DocEditor, Databases,
       "route:paginate": "paginate",
       "route:perPageChange": "perPageChange",
       "route:changesFilterAdd": "addFilter",
-      "route:changesFilterRemove": "removeFilter"
+      "route:changesFilterRemove": "removeFilter",
+      "route:toggleSelectHeader": "toggleSelectheader"
     },
 
     initialize: function (route, masterLayout, options) {
@@ -202,7 +203,7 @@ function(app, FauxtonAPI, Components, Documents, Changes, DocEditor, Databases,
         Show right header for all docs that includes:
         query options, api bar, search and select
       ----------------------------------------------------*/
-      this.changesHeader = true;
+      this.allDocsHeader = false;
       this.resetAllDocsHeader();
 
       /* --------------------------------------------------
@@ -263,12 +264,26 @@ function(app, FauxtonAPI, Components, Documents, Changes, DocEditor, Databases,
 
     },
 
+    toggleSelectheader: function(){
+      /* --------------------------------------------------
+        Set up right header for the document select menu
+        or reset back to all docs header
+      ----------------------------------------------------*/
+      if (this.allDocsHeader){
+        this.allDocsHeader = false;
+        this.rightHeader = this.setView("#api-navbar", new Documents.Views.SelectMenuHeader({}));
+        this.rightHeader.forceRender();
+      } else {
+        this.resetAllDocsHeader();
+      }
+
+    },
     resetAllDocsHeader: function(){
-      if (this.changesHeader){
-        this.headerRight = this.setView("#api-navbar", new Documents.Views.RightAllDocsHeader({
+      if (!this.allDocsHeader){
+        this.rightHeader = this.setView("#api-navbar", new Documents.Views.RightAllDocsHeader({
           database: this.data.database
         }));
-        this.changesHeader = false;
+        this.allDocsHeader = true;
       }
     },
 
@@ -290,7 +305,7 @@ function(app, FauxtonAPI, Components, Documents, Changes, DocEditor, Databases,
       /* --------------------------------------------------
         Update the apiUrl
       ----------------------------------------------------*/
-      this.headerRight.updateApiUrl([designDocInfo.url('apiurl'), designDocInfo.documentation()]);
+      this.rightHeader.updateApiUrl([designDocInfo.url('apiurl'), designDocInfo.documentation()]);
 
     },
 
@@ -365,7 +380,7 @@ function(app, FauxtonAPI, Components, Documents, Changes, DocEditor, Databases,
       /* --------------------------------------------------
         update the api url
       ----------------------------------------------------*/
-      this.headerRight.updateApiUrl([this.data.database.allDocs.urlRef("apiurl", urlParams), this.data.database.allDocs.documentation()]);
+      this.rightHeader.updateApiUrl([this.data.database.allDocs.urlRef("apiurl", urlParams), this.data.database.allDocs.documentation()]);
     },
 
 
@@ -412,25 +427,32 @@ function(app, FauxtonAPI, Components, Documents, Changes, DocEditor, Databases,
 
       this.documentsView.setCollection(collection);
       this.documentsView.setParams(docParams, urlParams);
-      this.leftheader.forceRender();
+
       this.documentsView.forceRender();
 
-      this.headerRight.updateApiUrl([collection.urlRef("apiurl", urlParams), "docs"]);
+      this.rightHeader.updateApiUrl([collection.urlRef("apiurl", urlParams), "docs"]);
     },
 
+    /* --------------------------------------------------
+      Called when you change the # of items to show in the pagination footer
+    ----------------------------------------------------*/
     perPageChange: function (perPage) {
       // We need to restore the collection parameters to the defaults (1st page)
       // and update the page size
       this.perPage = perPage;
-      this.leftheader.forceRender();
+
       this.documentsView.forceRender();
       this.documentsView.collection.pageSizeReset(perPage, {fetch: false});
       this.setDocPerPageLimit(perPage);
     },
 
+    /* --------------------------------------------------
+      Triggers when you hit the paginate forward and backwards buttons
+    ----------------------------------------------------*/
+
     paginate: function (options) {
       var collection = this.documentsView.collection;
-      this.leftheader.forceRender();
+
       this.documentsView.forceRender();
       collection.paging.pageSize = options.perPage;
       var promise = collection[options.direction]({fetch: false});
@@ -495,7 +517,7 @@ function(app, FauxtonAPI, Components, Documents, Changes, DocEditor, Databases,
         documentation: this.data.database.documentation()
       }));
 
-      this.changesHeader = true;
+      this.allDocsHeader = true;
 
       /* --------------------------------------------------
         Set sidebar highlight

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/templates/all_docs_item.html
----------------------------------------------------------------------
diff --git a/app/addons/documents/templates/all_docs_item.html b/app/addons/documents/templates/all_docs_item.html
index 783e4f5..4526df2 100644
--- a/app/addons/documents/templates/all_docs_item.html
+++ b/app/addons/documents/templates/all_docs_item.html
@@ -12,8 +12,8 @@ License for the specific language governing permissions and limitations under
 the License.
 -->
 
-<div class="select" <% if (!showSelect){ %>style="display:none"<%}%> ><input <%- checked ? 'checked="checked"' : '' %> type="checkbox" class="js-row-select"></div>
-<div class="doc-item  ">
+<div class="select"><input <%- checked ? 'checked="checked"' : '' %> type="checkbox" class="js-row-select"></div>
+<div class="doc-item">
 
   <header>
     _id <span class="header-id-number">"<%=docID%>"</span>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/templates/all_docs_list.html
----------------------------------------------------------------------
diff --git a/app/addons/documents/templates/all_docs_list.html b/app/addons/documents/templates/all_docs_list.html
index 3eaca80..bf7e250 100644
--- a/app/addons/documents/templates/all_docs_list.html
+++ b/app/addons/documents/templates/all_docs_list.html
@@ -24,7 +24,7 @@ the License.
     </div>
   <% } %>
 </div>
-<footer class="pagination-footer" class="window-resizeable">
-<div id="item-numbers"> </div>
-<div id="documents-pagination"></div>
+<footer class="pagination-footer window-resizeable">
+  <div id="item-numbers"> </div>
+  <div id="documents-pagination"></div>
 </footer>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/templates/all_docs_number.html
----------------------------------------------------------------------
diff --git a/app/addons/documents/templates/all_docs_number.html b/app/addons/documents/templates/all_docs_number.html
index 0461a4b..49d6898 100644
--- a/app/addons/documents/templates/all_docs_number.html
+++ b/app/addons/documents/templates/all_docs_number.html
@@ -12,9 +12,10 @@ License for the specific language governing permissions and limitations under
 the License.
 -->
 <% if (totalRows === "unknown" || totalRows === 0){ %>
-Showing 0 documents. <a href="#/database/<%=database%>/new"> Create your first document.</a>
+<p>Showing 0 documents.</p>
 <% } else { %>
-Showing <%=pageStart%> - <%= pageEnd %>
+
+<p>Showing <%=pageStart%> - <%= pageEnd %></p>
 <%}%>
 <% if (updateSeq) { %>
 -- Update Sequence: <%= updateSeq %>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/templates/header_alldocs.html
----------------------------------------------------------------------
diff --git a/app/addons/documents/templates/header_alldocs.html b/app/addons/documents/templates/header_alldocs.html
index 3434dde..ff6d8a8 100644
--- a/app/addons/documents/templates/header_alldocs.html
+++ b/app/addons/documents/templates/header_alldocs.html
@@ -29,3 +29,4 @@ the License.
   <div id="header-select-all" class="button">
     <span class="toggle-select-menu icon fonticon-ok-circled">Select</span>
   </div>
+

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/templates/header_changes.html
----------------------------------------------------------------------
diff --git a/app/addons/documents/templates/header_changes.html b/app/addons/documents/templates/header_changes.html
new file mode 100644
index 0000000..8521486
--- /dev/null
+++ b/app/addons/documents/templates/header_changes.html
@@ -0,0 +1,20 @@
+<!--
+Licensed under the Apache License, Version 2.0 (the "License"); you may not
+use this file except in compliance with the License. You may obtain a copy of
+the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations under
+the License.
+-->
+
+  <!-- floats right -->
+
+  <div id="header-api-bar" class="button"></div>
+
+  <!-- search (jump to doc)-->
+  <div id="header-search" class="js-search searchbox-container"></div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/templates/select-doc-menu.html
----------------------------------------------------------------------
diff --git a/app/addons/documents/templates/select-doc-menu.html b/app/addons/documents/templates/select-doc-menu.html
index bad70a7..a00c851 100644
--- a/app/addons/documents/templates/select-doc-menu.html
+++ b/app/addons/documents/templates/select-doc-menu.html
@@ -11,14 +11,19 @@ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 License for the specific language governing permissions and limitations under
 the License.
 -->
-<div class="row">
-  <div class="btn-toolbar span6">
-    <button type="button" class="btn btn-small all" data-toggle="button">✓ All</button>
-    <button class="btn btn-small disabled js-bulk-delete"><i class="icon-trash"></i></button>
-    <% if (expandDocs) { %>
-    <button id="collapse" class="btn btn-small"><i class="icon-minus"></i> Collapse</button>
-    <% } else { %>
-    <button id="collapse" class="btn btn-small"><i class="icon-plus"></i> Expand</button>
-    <% } %>
-  </div>
+
+<!-- Select toggle -->
+<div id="header-select-all active" class="button">
+  <span class="toggle-select-menu icon fonticon-ok-circled">Select</span>
 </div>
+
+<button type="button" class="button btn btn-small all" data-toggle="button">✓ All</button>
+
+<button class="button btn btn-small disabled js-bulk-delete"><i class="icon-trash"></i></button>
+
+<% if (expandDocs) { %>
+<button id="collapse" class="button btn btn-small"><i class="icon-minus"></i> Collapse</button>
+<% } else { %>
+<button id="collapse" class="button btn btn-small"><i class="icon-plus"></i> Expand</button>
+<% } %>
+

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/views-changes.js
----------------------------------------------------------------------
diff --git a/app/addons/documents/views-changes.js b/app/addons/documents/views-changes.js
index d63a825..f5cb75e 100644
--- a/app/addons/documents/views-changes.js
+++ b/app/addons/documents/views-changes.js
@@ -27,7 +27,8 @@ function(app, FauxtonAPI, resizeColumns, Components, prettify, ZeroClipboard) {
   var Views = {};
 
   Views.ChangesHeader = FauxtonAPI.View.extend({
-    template: "addons/documents/templates/header_alldocs",
+    className: "header-right",
+    template: "addons/documents/templates/header_changes",
     initialize: function (options) {
       this.filterView = options.filterView;
       this.endpoint = options.endpoint;

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/views-sidebar.js
----------------------------------------------------------------------
diff --git a/app/addons/documents/views-sidebar.js b/app/addons/documents/views-sidebar.js
index d30c314..fa3f8d6 100644
--- a/app/addons/documents/views-sidebar.js
+++ b/app/addons/documents/views-sidebar.js
@@ -38,7 +38,7 @@ function(app, FauxtonAPI, Components, Documents, Databases) {
         this.ddocID = options.ddocInfo.id;
         this.currView = options.ddocInfo.currView;
       }
-      FauxtonAPI.Events.on('database:delete', this.showDeleteDatabaseModal)
+      FauxtonAPI.Events.on('database:delete', this.showDeleteDatabaseModal);
     },
     showDeleteDatabaseModal: function(event){
       this.deleteDBModal.showModal();

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/documents/views.js
----------------------------------------------------------------------
diff --git a/app/addons/documents/views.js b/app/addons/documents/views.js
index 0c55e90..eaf2c84 100644
--- a/app/addons/documents/views.js
+++ b/app/addons/documents/views.js
@@ -56,36 +56,8 @@ function(app, FauxtonAPI, Components, Documents, Databases, Views, QueryOptions,
     },
 
     selectAllMenu: function(e){
-      //trigger event to select all in other view
-      this.$('.toggle-select-menu').toggleClass('active');
-
-      //trigger event to change the header
-      this.toggleSelectMenu();
+      FauxtonAPI.triggerRouteEvent("toggleSelectHeader");
       FauxtonAPI.Events.trigger("documents:show-select-all",this.selectVisible);
-
-    },
-
-    toggleSelectMenu: function(){
-      if (this.selectVisible){
-        this.selectVisible = false;
-        this.selectMenu.remove();
-        this.addAllDocsMenu();
-      } else {
-        this.removeAllDocsMenu();
-        this.addSelectMenu();
-      }
-    },
-
-    addSelectMenu: function(){
-      this.selectVisible = true;
-      this.selectMenu =  this.insertView('#header-select-menu', new Views.SelectMenu({}));
-      this.selectMenu.render();
-    },
-
-    removeAllDocsMenu: function(){
-      this.headerSearch.remove();
-      this.queryOptions.remove();
-      this.apiBar.remove();
     },
 
     addAllDocsMenu: function(){
@@ -188,13 +160,21 @@ function(app, FauxtonAPI, Components, Documents, Databases, Views, QueryOptions,
   });
 
   // select docs header
-  Views.SelectMenu = FauxtonAPI.View.extend({
+  Views.SelectMenuHeader = FauxtonAPI.View.extend({
+    className: "header-right",
     template:"addons/documents/templates/select-doc-menu",
     events: {
       "click button.all": "selectAll",
       "click button.js-bulk-delete": "bulkDelete",
-      "click #collapse": "collapse"
+      "click #collapse": "collapse",
+      'click .toggle-select-menu': 'selectAllMenu'
+    },
+
+    selectAllMenu: function(e){
+      FauxtonAPI.triggerRouteEvent("toggleSelectHeader");
+      FauxtonAPI.Events.trigger("documents:show-select-all",this.selectVisible);
     },
+
     bulkDelete: function(){
       FauxtonAPI.Events.trigger("documents:bulkDelete");
     },
@@ -240,6 +220,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, Views, QueryOptions,
         FauxtonAPI.addNotification({
           msg: 'The database <code>' + _.escape(databaseName) + '</code> has been deleted.',
           clear: true,
+          type: "error",
           escape: false // beware of possible XSS when the message changes
         });
       }).fail(function (rsp, error, msg) {
@@ -256,7 +237,9 @@ function(app, FauxtonAPI, Components, Documents, Databases, Views, QueryOptions,
 
   Views.Document = FauxtonAPI.View.extend({
     template: "addons/documents/templates/all_docs_item",
-    className: "all-docs-item doc-row",
+    className: function(){
+      return (this.showSelect? "showSelect":"") + " all-docs-item doc-row";
+    },
     initialize: function (options) {
       this.checked = options.checked;
       this.expanded = options.expanded;
@@ -268,8 +251,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, Views, QueryOptions,
     },
 
     showSelectBox: function(bool){
-      this.showSelect = bool;
-      this.$('.select').toggle(this.showSelect);
+      this.$el.toggleClass('showSelect');
     },
 
     selectAll: function(checked){
@@ -294,7 +276,6 @@ function(app, FauxtonAPI, Components, Documents, Databases, Views, QueryOptions,
 
     serialize: function() {
       return {
-        showSelect: this.showSelect,
         expanded: this.expanded,
         docID: this.model.get('_id'),
         doc: this.model,
@@ -318,10 +299,11 @@ function(app, FauxtonAPI, Components, Documents, Databases, Views, QueryOptions,
       if (!window.confirm("Are you sure you want to delete this doc?")) {
         return false;
       }
-
+      var storeID = _.clone(this.model);
       this.model.destroy().then(function(resp) {
         FauxtonAPI.addNotification({
-          msg: "Succesfully deleted your doc",
+          msg: "Doc "+storeID.get('id')+" has been deleted.",
+          type: "error",
           clear:  true
         });
         that.$el.fadeOut(function () {

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/fauxton/base.js
----------------------------------------------------------------------
diff --git a/app/addons/fauxton/base.js b/app/addons/fauxton/base.js
index 68ee7cd..1e43c0f 100644
--- a/app/addons/fauxton/base.js
+++ b/app/addons/fauxton/base.js
@@ -72,7 +72,7 @@ function(app, FauxtonAPI, resizeColumns, Components) {
     });
 
     FauxtonAPI.RouteObject.on('beforeEstablish', function (routeObject) {
-      FauxtonAPI.masterLayout.removeView('#breadcrumbs');
+      //FauxtonAPI.masterLayout.removeView('#breadcrumbs');
       var crumbs = routeObject.get('crumbs');
 
       if (crumbs.length) {

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/fauxton/components.js
----------------------------------------------------------------------
diff --git a/app/addons/fauxton/components.js b/app/addons/fauxton/components.js
index 55f4af4..3784b8d 100644
--- a/app/addons/fauxton/components.js
+++ b/app/addons/fauxton/components.js
@@ -154,6 +154,7 @@ function(app, FauxtonAPI, ace, spin, ZeroClipboard) {
 
 
   Components.Pagination = FauxtonAPI.View.extend({
+    tagName: "ul",
     className: "pagination pagination-centered",
     template: "addons/fauxton/templates/pagination",
 
@@ -178,6 +179,7 @@ function(app, FauxtonAPI, ace, spin, ZeroClipboard) {
 
   Components.IndexPagination = FauxtonAPI.View.extend({
     className: "pagination pagination-centered",
+    tagName: 'ul',
     template: "addons/fauxton/templates/index_pagination",
     events: {
       "click a": 'scrollTo',
@@ -745,7 +747,7 @@ function(app, FauxtonAPI, ace, spin, ZeroClipboard) {
     className: "dropdown",
     initialize: function(options){
       this.links = options.links;
-      this.icon = options.icon || "fonticon-plus-circled2";
+      this.icon = options.icon || "fonticon-plus-circled";
       _.bindAll(this);
       this.setUpEvents();
     },

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/fauxton/resizeColumns.js
----------------------------------------------------------------------
diff --git a/app/addons/fauxton/resizeColumns.js b/app/addons/fauxton/resizeColumns.js
index 98555a9..3fd1883 100644
--- a/app/addons/fauxton/resizeColumns.js
+++ b/app/addons/fauxton/resizeColumns.js
@@ -99,7 +99,7 @@ function(FauxtonAPI) {
 
     setPosition: function(panelWidth){
       var primary = this.getPrimaryNavWidth();
-      $('#right-content').css('left',panelWidth+primary+4);
+      $('.set-left-position').css('left',panelWidth+primary+4);
     },
 
     onResizeHandler: function (){

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/fauxton/templates/api_bar.html
----------------------------------------------------------------------
diff --git a/app/addons/fauxton/templates/api_bar.html b/app/addons/fauxton/templates/api_bar.html
index bab431b..255087d 100644
--- a/app/addons/fauxton/templates/api_bar.html
+++ b/app/addons/fauxton/templates/api_bar.html
@@ -13,7 +13,7 @@ the License.
 -->
 
 <a class="btn btn-primary pull-right api-url-btn">
-  <i class="fonticon-plus icon"></i>
+  <i class="fonticon-link icon"></i>
   API URL
 </a>
 <div class="clearfix"></div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/fauxton/templates/index_pagination.html
----------------------------------------------------------------------
diff --git a/app/addons/fauxton/templates/index_pagination.html b/app/addons/fauxton/templates/index_pagination.html
index 594f6fc..e3b030e 100644
--- a/app/addons/fauxton/templates/index_pagination.html
+++ b/app/addons/fauxton/templates/index_pagination.html
@@ -12,11 +12,11 @@ License for the specific language governing permissions and limitations under
 the License.
 -->
 
-<ul>
-  <li <% if (!canShowPreviousfn()) {%> class="disabled" <% } %>>
-     <a id="previous" href="#"> Previous </a>
-   </li>
-   <li <% if (!canShowNextfn()) {%> class="disabled" <% } %>>
-     <a id="next" href="#"> Next </a></li>
-</ul>
+<li <% if (!canShowPreviousfn()) {%> class="disabled" <% } %>>
+ <a id="previous" class="icon fonticon-left-open" href="#"></a>
+</li>
+<li <% if (!canShowNextfn()) {%> class="disabled" <% } %>>
+ <a id="next" class="icon fonticon-right-open" href="#"></a>
+</li>
+
 

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/fauxton/templates/pagination.html
----------------------------------------------------------------------
diff --git a/app/addons/fauxton/templates/pagination.html b/app/addons/fauxton/templates/pagination.html
index 614fd06..3958f63 100644
--- a/app/addons/fauxton/templates/pagination.html
+++ b/app/addons/fauxton/templates/pagination.html
@@ -11,18 +11,17 @@ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 License for the specific language governing permissions and limitations under
 the License.
 -->
-  <ul>
-    <% if (page > 1) { %>
-    <li> <a href="<%- urlFun(page-1) %>">&laquo;</a></li>
-    <% } else { %>
-      <li class="disabled"> <a href="<%- urlFun(page) %>">&laquo;</a></li>
-    <% } %>
-    <% _.each(_.range(1, totalPages+1), function(i) { %>
-      <li <% if (page == i) { %>class="active"<% } %>> <a href="<%- urlFun(i) %>"><%- i %></a></li>
-    <% }) %>
-    <% if (page < totalPages) { %>
-      <li><a href="<%- urlFun(page+1) %>">&raquo;</a></li>
-    <% } else { %>
-      <li class="disabled"> <a href="<%- urlFun(page) %>">&raquo;</a></li>
-    <% } %>
-  </ul>
+<% if (page > 1) { %>
+<li> <a href="<%- urlFun(page-1) %>">&laquo;</a></li>
+<% } else { %>
+  <li class="disabled"> <a href="<%- urlFun(page) %>">&laquo;</a></li>
+<% } %>
+<% _.each(_.range(1, totalPages+1), function(i) { %>
+  <li <% if (page == i) { %>class="active"<% } %>> <a href="<%- urlFun(i) %>"><%- i %></a></li>
+<% }) %>
+<% if (page < totalPages) { %>
+  <li><a href="<%- urlFun(page+1) %>">&raquo;</a></li>
+<% } else { %>
+  <li class="disabled"> <a href="<%- urlFun(page) %>">&raquo;</a></li>
+<% } %>
+

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/assets/less/doc-item.less
----------------------------------------------------------------------
diff --git a/app/addons/indexes/assets/less/doc-item.less b/app/addons/indexes/assets/less/doc-item.less
index a04883a..3d3e3ad 100644
--- a/app/addons/indexes/assets/less/doc-item.less
+++ b/app/addons/indexes/assets/less/doc-item.less
@@ -13,18 +13,30 @@
   display: block;
 }
 
+
 #doc-list{
-  margin-top: 30px;
-  div.doc-row {
-    margin-bottom:20px;
-    div.select {
-      width: 10%;
+  padding-top: 30px;
+  .all-docs-item {
+    .select {
+      display:none;
       float: left;
       vertical-align: top;
     }
+    &.showSelect{
+      .select {
+        display:block;
+        width: 10%;
+      }
+      .doc-item {
+        width:90%;
+      }
+    }
+  }
+  div.doc-row {
+    margin-bottom:20px;
     .doc-item {
       float:left;
-      width:90%;
+      width:100%;
       vertical-align: top;
       position: relative;
       .border-radius(5px 5px 5px 5px);

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/routes-core.js
----------------------------------------------------------------------
diff --git a/app/addons/indexes/routes-core.js b/app/addons/indexes/routes-core.js
index 354afb0..402ae99 100644
--- a/app/addons/indexes/routes-core.js
+++ b/app/addons/indexes/routes-core.js
@@ -24,6 +24,11 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources) {
     layout: "two_pane",
 
     initialize: function (route, masterLayout, options) {
+      _.bindAll(this);
+      var params = this.createParams(),
+      urlParams = params.urlParams,
+      docParams = params.docParams;
+
       this.databaseName = options[0];
 
       this.data = {
@@ -42,12 +47,62 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources) {
           limit: 500
         }
       });
+
+
+      /* --------------------------------------------------
+        Set up right header
+      ----------------------------------------------------*/
+
+      this.rightHeader = this.setView("#api-navbar", new Views.RightHeader({
+        database: this.data.database,
+        model: this.data.database,
+        endpoint: this.data.designDocs.urlRef("apiurl", urlParams),
+        documentation: "docs"
+      }));
+
     },
 
     events: {
-      "route:updatePreviewDocs": "updateAllDocsFromPreview"
+      "route:updatePreviewDocs": "updateAllDocsFromPreview",
+      "route:perPageChange": "perPageChange",
+      "route:paginate": "paginate",
+      "route:updateAllDocs": "updateAllDocsFromView"
+    },
+
+    /* --------------------------------------------------
+      Called when you change the # of items to show in the pagination footer
+    ----------------------------------------------------*/
+    perPageChange: function (perPage) {
+      // We need to restore the collection parameters to the defaults (1st page)
+      // and update the page size
+      this.perPage = perPage;
+      this.documentsView.forceRender();
+      this.documentsView.collection.pageSizeReset(perPage, {fetch: false});
+      this.setDocPerPageLimit(perPage);
+    },
+
+    /* --------------------------------------------------
+      Store the docs to show per page in local storage
+    ----------------------------------------------------*/
+    setDocPerPageLimit: function (perPage) {
+      window.localStorage.setItem('fauxton:perpage', perPage);
+    },
+
+    /* --------------------------------------------------
+      Triggers when you hit the paginate forward and backwards buttons
+    ----------------------------------------------------*/
+
+    paginate: function (options) {
+      var collection = this.documentsView.collection;
+
+      this.documentsView.forceRender();
+      collection.paging.pageSize = options.perPage;
+      var promise = collection[options.direction]({fetch: false});
     },
 
+    /* --------------------------------------------------
+     Get Design doc info
+    ----------------------------------------------------*/
     ddocInfo: function (designDoc, designDocs, view) {
       return {
         id: "_design/" + designDoc,
@@ -56,6 +111,9 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources) {
       };
     },
 
+    /* --------------------------------------------------
+      URL params from Advanced/ Query options
+    ----------------------------------------------------*/
     createParams: function (options) {
       var urlParams = app.getParams(options);
       var params = Documents.QueryParams.parse(urlParams);
@@ -66,6 +124,9 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources) {
       };
     },
 
+    /* --------------------------------------------------
+      Stored docs in preview
+    ----------------------------------------------------*/
     getDocPerPageLimit: function (urlParams, perPage) {
       var storedPerPage = perPage;
 
@@ -91,6 +152,39 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources) {
       return this.data.designDocs.fetch({reset: true});
     },
 
+
+    /* --------------------------------------------------
+        Reload preview docs
+    -----------------------------------------------------*/
+    updateAllDocsFromView: function (event) {
+      var view = event.view,
+          params = this.createParams(),
+          urlParams = params.urlParams,
+          docParams = params.docParams,
+          ddoc = event.ddoc,
+          pageSize,
+          collection;
+
+      var defaultPageSize = _.isUndefined(this.documentsView) ? 20 : this.documentsView.perPage();
+      docParams.limit = pageSize = this.getDocPerPageLimit(urlParams, defaultPageSize);
+
+      if (event.allDocs) {
+        this.eventAllDocs = true; // this is horrible. But I cannot get the trigger not to fire the route!
+        this.data.database.buildAllDocs(docParams);
+        collection = this.data.database.allDocs;
+        collection.paging.pageSize = pageSize;
+
+      }
+
+      this.documentsView.setCollection(collection);
+      this.documentsView.setParams(docParams, urlParams);
+
+      this.documentsView.forceRender();
+    },
+
+    /* --------------------------------------------------
+      Docs that are returned from a view
+    ----------------------------------------------------*/
     createViewDocumentsView: function (options) {
       return this.setView("#right-content", new Documents.Views.AllDocsList({
         database: options.database,
@@ -103,6 +197,10 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources) {
       }));
     },
 
+
+    /* --------------------------------------------------
+      If Preview worked....
+    ----------------------------------------------------*/
     updateAllDocsFromPreview: function (event) {
       var view = event.view,
       rows = event.rows,

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/routes-viewindexes.js
----------------------------------------------------------------------
diff --git a/app/addons/indexes/routes-viewindexes.js b/app/addons/indexes/routes-viewindexes.js
index 7330d04..546d72c 100644
--- a/app/addons/indexes/routes-viewindexes.js
+++ b/app/addons/indexes/routes-viewindexes.js
@@ -37,7 +37,7 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources, RouteCore, Co
       /* --------------------------------------------------
         remove right header
       ----------------------------------------------------*/
-      this.rightheader && this.rightheader.remove();
+      this.rightHeader && this.rightHeader.remove();
 
       /* --------------------------------------------------
         Insert Preview Screen View
@@ -88,9 +88,11 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources, RouteCore, Co
         links: [{
           title: 'Duplicate Index',
           icon: 'fonticon-documents'
-        },{
+        },
+        {
           title: 'Delete',
-          icon: 'fonticon-trash'
+          icon: 'fonticon-trash',
+          trigger: 'index:delete'
         }]
       }];
 
@@ -114,17 +116,6 @@ function (app, FauxtonAPI, Databases, Views, Documents, Resources, RouteCore, Co
 
 
       /* --------------------------------------------------
-        Set up right header
-      ----------------------------------------------------*/
-
-      this.rightheader = this.setView("#api-navbar", new Views.RightHeader({
-        database: this.data.database,
-        model: this.data.database,
-        endpoint: this.data.indexedDocs.urlRef("apiurl", urlParams),
-        documentation: "docs"
-      }));
-
-      /* --------------------------------------------------
         Insert View Editor
       ----------------------------------------------------*/
       this.viewEditor = this.setView("#left-content", new Views.ViewEditor({

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/templates/design_doc_selector.html
----------------------------------------------------------------------
diff --git a/app/addons/indexes/templates/design_doc_selector.html b/app/addons/indexes/templates/design_doc_selector.html
index 7d58116..2cad6af 100644
--- a/app/addons/indexes/templates/design_doc_selector.html
+++ b/app/addons/indexes/templates/design_doc_selector.html
@@ -16,21 +16,19 @@ the License.
   <div class="select-wrapper span5">
     <select id="ddoc">
       <optgroup label="Select a document">
-        <option value="new-doc">New document</option>
+        <option value="new-doc" <% if(newView){ %>selected="selected" <%}%> >New document</option>
 
         <% ddocs.each(function(ddoc) { %>
-        <%= ddoc.id %>
-        <%= ddocName %>
-        <% if (ddoc.id === ddocName) { %>
-        <option selected="selected" value="<%- ddoc.id %>"><%- ddoc.id %></option>
-        <% } else { %>
-        <option value="<%- ddoc.id %>"><%- ddoc.id %></option>
-        <% } %>
+          <% if (ddoc.id === ddocName && !newView) { %>
+          <option selected="selected" value="<%- ddoc.id %>"><%- ddoc.id %></option>
+          <% } else { %>
+          <option value="<%- ddoc.id %>"><%- ddoc.id %></option>
+          <% } %>
         <% }); %>
       </optgroup>
     </select>
     <i></i>
   </div>
 
-  <input type="text" id="new-ddoc" class="span7" style="display:none" placeholder="Enter a design doc name" />
+  <input type="text" id="new-ddoc" class="span7" <% if(!newView){ %> style="display:none"<% } %> placeholder="Enter a design doc name" />
 </div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/templates/header_right.html
----------------------------------------------------------------------
diff --git a/app/addons/indexes/templates/header_right.html b/app/addons/indexes/templates/header_right.html
index 38634b5..0370e51 100644
--- a/app/addons/indexes/templates/header_right.html
+++ b/app/addons/indexes/templates/header_right.html
@@ -12,11 +12,16 @@ License for the specific language governing permissions and limitations under
 the License.
 -->
   <!-- Select toggle-->
-  <div id="header-select-all">
+  <div id="header-api-bar" class="button"></div>
+
+  <!-- Query Options-->
+  <div class="button header-query-options">
+    <!-- Insert the query options here :) -->
+    <div id="query-options"></div>
+  </div>
+
+
+  <div id="header-select-all" class="button">
     <span class="toggle-select-menu icon fonticon-ok-circled">Select</span>
   </div>
-  <!-- Query Options-->
-  <div id="header-query-options"></div>
-  <!--right margin for api bar-->
-  <div id="header-api-bar"></div>
 

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/templates/show_editor.html
----------------------------------------------------------------------
diff --git a/app/addons/indexes/templates/show_editor.html b/app/addons/indexes/templates/show_editor.html
index 9afa2bf..ef36110 100644
--- a/app/addons/indexes/templates/show_editor.html
+++ b/app/addons/indexes/templates/show_editor.html
@@ -17,7 +17,7 @@ the License.
   <div class="errors-container"></div>
   <form class="form-horizontal view-query-save">
     <div class="control-group">
-      <p>Views are the primary tool used for querying and reporting on CouchDB databases.</p>
+      <p>Views are the primary tool used for querying and reporting.</p>
     </div>
 
     <div class="control-group design-doc-group">

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/templates/view_editor.html
----------------------------------------------------------------------
diff --git a/app/addons/indexes/templates/view_editor.html b/app/addons/indexes/templates/view_editor.html
index f33d3f9..2b8c540 100644
--- a/app/addons/indexes/templates/view_editor.html
+++ b/app/addons/indexes/templates/view_editor.html
@@ -16,7 +16,7 @@ the License.
   <div class="errors-container"></div>
   <form class="form-horizontal view-query-save">
     <div class="control-group">
-      <p>Views are the primary tool used for querying and reporting on CouchDB databases.</p>
+      <p>Views are the primary tool used for querying and reporting.</p>
     </div>
 
 

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/addons/indexes/views.js
----------------------------------------------------------------------
diff --git a/app/addons/indexes/views.js b/app/addons/indexes/views.js
index 9d0546e..421495f 100644
--- a/app/addons/indexes/views.js
+++ b/app/addons/indexes/views.js
@@ -61,7 +61,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
         documentation: this.documentation
       }));
 
-      this.advancedOptions = this.insertView('#header-query-options', new QueryOptions.AdvancedOptions({
+      this.advancedOptions = this.insertView('#query-options', new QueryOptions.AdvancedOptions({
         database: this.database,
         viewName: this.viewName,
         ddocName: this.model.id,
@@ -88,14 +88,12 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
            return FauxtonAPI.addNotification({
              msg: "JSON Parse Error on field: "+param.name,
              type: "error",
-             selector: ".advanced-options .errors-container",
              clear: true
            });
          });
          FauxtonAPI.addNotification({
            msg: "Make sure that strings are properly quoted and any other values are valid JSON structures",
            type: "warning",
-           selector: ".advanced-options .errors-container",
            clear: true
          });
 
@@ -131,7 +129,6 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
       FauxtonAPI.addNotification({
         msg: "<strong>Warning!</strong> Preview executes the Map/Reduce functions in your browser, and may behave differently from CouchDB.",
         type: "warning",
-        selector: ".advanced-options .errors-container",
         fade: true,
         escape: false // beware of possible XSS when the message changes
       });
@@ -309,6 +306,8 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
 
       this.showIndex = false;
       _.bindAll(this);
+
+      FauxtonAPI.Events.on('index:delete', this.deleteEvent);
     },
 
     establish: function () {
@@ -341,11 +340,15 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
       }
     },
 
+    deleteEvent: function(){
+      this.deleteView();
+    },
+
     deleteView: function (event) {
-      event.preventDefault();
+      event && event.preventDefault();
 
       if (this.newView) { return alert('Cannot delete a new view.'); }
-      if (!confirm('Are you sure you want to delete this view?')) {return;}
+      if (!confirm('Are you sure you want to delete this view?')) { return; }
 
       var that = this,
           promise,
@@ -392,7 +395,6 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
 
         notification = FauxtonAPI.addNotification({
           msg: "Saving document.",
-          selector: "#define-view .errors-container",
           clear: true
         });
 
@@ -417,7 +419,6 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
         notification = FauxtonAPI.addNotification({
           msg: errormessage,
           type: "error",
-          selector: "#define-view .errors-container",
           clear: true
         });
       }
@@ -437,7 +438,6 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
       FauxtonAPI.addNotification({
         msg: "View has been saved.",
         type: "success",
-        selector: "#define-view .errors-container",
         clear: true
       });
 
@@ -453,9 +453,6 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
         this.ddocInfo = ddoc;
         this.showIndex = true;
         this.render();
-        FauxtonAPI.triggerRouteEvent('reloadDesignDocs', {
-          selectedTab: app.utils.removeSpecialCharacters(ddocName.replace(/_design\//,'')) + '_' + app.utils.removeSpecialCharacters(viewName)
-        });
       }
 
       // TODO:// this should change to a trigger because we shouldn't define advanced options in this view
@@ -578,6 +575,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
 
       this.designDocSelector = this.setView('.design-doc-group', new Views.DesignDocSelector({
         collection: designDocs,
+        newView: this.newView,
         ddocName: this.currentDdoc || this.model.id,
         database: this.database
       }));
@@ -644,6 +642,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
     },
 
     initialize: function (options) {
+      this.newView = options.newView;
       this.ddocName = options.ddocName;
       this.database = options.database;
       this.listenTo(this.collection, 'add', this.ddocAdded);
@@ -657,6 +656,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb,
 
     serialize: function () {
       return {
+        newView: this.newView,
         ddocName: this.ddocName,
         ddocs: this.collection
       };

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/templates/layouts/one_pane.html
----------------------------------------------------------------------
diff --git a/app/templates/layouts/one_pane.html b/app/templates/layouts/one_pane.html
index c7adf1f..0bbc989 100644
--- a/app/templates/layouts/one_pane.html
+++ b/app/templates/layouts/one_pane.html
@@ -14,6 +14,7 @@ the License.
 
 <div id="primary-navbar"></div>
 <div id="dashboard" class="container-fluid one-pane">
+  <div id="global-notifications" class="container errors-container window-resizeable"></div>
   <div class="fixed-header">
     <div id="breadcrumbs"></div>
     <div id="api-navbar"></div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/templates/layouts/two_pane.html
----------------------------------------------------------------------
diff --git a/app/templates/layouts/two_pane.html b/app/templates/layouts/two_pane.html
index 0174a5a..053285a 100644
--- a/app/templates/layouts/two_pane.html
+++ b/app/templates/layouts/two_pane.html
@@ -14,7 +14,7 @@ the License.
 
 <div id="primary-navbar"></div>
 <div id="dashboard" class="container-fluid two-pane">
-
+  <div id="global-notifications" class="container errors-container window-resizeable set-left-position"></div>
   <header class="fixed-header row-fluid">
     <div id="breadcrumbs" class="window-resizeable"></div>
     <div id="api-navbar" class="window-resizeable"></div>
@@ -22,6 +22,6 @@ the License.
 
   <div class="content-area two-pane">
     <div id="left-content" class="span6 window-resizeable"></div>
-    <div id="right-content" class="span6 window-resizeable"></div>
+    <div id="right-content" class="span6 window-resizeable set-left-position"></div>
   </div>
 </div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/templates/layouts/with_sidebar.html
----------------------------------------------------------------------
diff --git a/app/templates/layouts/with_sidebar.html b/app/templates/layouts/with_sidebar.html
index 7fc64db..2d0f4fa 100644
--- a/app/templates/layouts/with_sidebar.html
+++ b/app/templates/layouts/with_sidebar.html
@@ -15,6 +15,7 @@ the License.
 
 <div id="primary-navbar"></div>
 <div id="dashboard" class="container-fluid with-sidebar">
+  <div id="global-notifications" class="container errors-container window-resizeable"></div>
   <header class="fixed-header row-fluid">
     <div id="breadcrumbs" class="sidebar"></div>
     <div id="api-navbar" class="window-resizeable"></div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/templates/layouts/with_tabs.html
----------------------------------------------------------------------
diff --git a/app/templates/layouts/with_tabs.html b/app/templates/layouts/with_tabs.html
index 074385f..2d03d19 100644
--- a/app/templates/layouts/with_tabs.html
+++ b/app/templates/layouts/with_tabs.html
@@ -14,7 +14,7 @@ the License.
 
 <div id="primary-navbar"></div>
 <div id="dashboard" class="container-fluid">
-
+  <div id="global-notifications" class="container errors-container window-resizeable"></div>
   <header class="fixed-header row-fluid">
     <div id="breadcrumbs" class="sidebar"></div>
     <div id="api-navbar" class="window-resizeable"></div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/app/templates/layouts/with_tabs_sidebar.html
----------------------------------------------------------------------
diff --git a/app/templates/layouts/with_tabs_sidebar.html b/app/templates/layouts/with_tabs_sidebar.html
index de4bdee..0a7c661 100644
--- a/app/templates/layouts/with_tabs_sidebar.html
+++ b/app/templates/layouts/with_tabs_sidebar.html
@@ -14,7 +14,7 @@ the License.
 
 <div id="primary-navbar"></div>
 <div id="dashboard" class="container-fluid with-sidebar">
-
+  <div id="global-notifications" class="container errors-container window-resizeable"></div>
   <header class="fixed-header row-fluid">
     <div id="breadcrumbs" class="sidebar"></div>
     <div id="api-navbar" class="window-resizeable"></div>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/assets/index.underscore
----------------------------------------------------------------------
diff --git a/assets/index.underscore b/assets/index.underscore
index 6a887b5..94befb9 100644
--- a/assets/index.underscore
+++ b/assets/index.underscore
@@ -33,7 +33,6 @@
 <body id="home">
   <!-- Main container. -->
   <div role="main" id="main">
-    <div id="global-notifications" class="container errors-container"></div>
     <div id="app-container"></div>
   </div>
 

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/assets/less/bootstrap/alerts.less
----------------------------------------------------------------------
diff --git a/assets/less/bootstrap/alerts.less b/assets/less/bootstrap/alerts.less
index 0116b19..281b88f 100644
--- a/assets/less/bootstrap/alerts.less
+++ b/assets/less/bootstrap/alerts.less
@@ -8,11 +8,9 @@
 
 .alert {
   padding: 8px 35px 8px 14px;
-  margin-bottom: @baseLineHeight;
-  text-shadow: 0 1px 0 rgba(255,255,255,.5);
+  min-height: 60px;
   background-color: @warningBackground;
   border: 1px solid @warningBorder;
-  .border-radius(@baseBorderRadius);
 }
 .alert,
 .alert h4 {

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/assets/less/bootstrap/pagination.less
----------------------------------------------------------------------
diff --git a/assets/less/bootstrap/pagination.less b/assets/less/bootstrap/pagination.less
index a789db2..c1f6a26 100644
--- a/assets/less/bootstrap/pagination.less
+++ b/assets/less/bootstrap/pagination.less
@@ -7,22 +7,22 @@
   margin: @baseLineHeight 0;
 }
 
-.pagination ul {
+ul.pagination {
   // Allow for text-based alignment
   display: inline-block;
   .ie7-inline-block();
-  // Reset default ul styles
+  // Reset default styles
   margin-left: 0;
   margin-bottom: 0;
   // Visuals
   .border-radius(@baseBorderRadius);
   .box-shadow(0 1px 2px rgba(0,0,0,.05));
 }
-.pagination ul > li {
+ul.pagination > li {
   display: inline; // Remove list-style and block-level defaults
 }
-.pagination ul > li > a,
-.pagination ul > li > span {
+ul.pagination > li > a,
+ul.pagination > li > span {
   float: left; // Collapse white-space
   padding: 4px 12px;
   line-height: @baseLineHeight;
@@ -31,32 +31,32 @@
   border: 1px solid @paginationBorder;
   border-left-width: 0;
 }
-.pagination ul > li > a:hover,
-.pagination ul > li > a:focus,
-.pagination ul > .active > a,
-.pagination ul > .active > span {
+ul.pagination > li > a:hover,
+ul.pagination > li > a:focus,
+ul.pagination > .active > a,
+ul.pagination > .active > span {
   background-color: @paginationActiveBackground;
 }
-.pagination ul > .active > a,
-.pagination ul > .active > span {
+ul.pagination > .active > a,
+ul.pagination > .active > span {
   color: @grayLight;
   cursor: default;
 }
-.pagination ul > .disabled > span,
-.pagination ul > .disabled > a,
-.pagination ul > .disabled > a:hover,
-.pagination ul > .disabled > a:focus {
+ul.pagination > .disabled > span,
+ul.pagination > .disabled > a,
+ul.pagination > .disabled > a:hover,
+ul.pagination > .disabled > a:focus {
   color: @grayLight;
   background-color: transparent;
   cursor: default;
 }
-.pagination ul > li:first-child > a,
-.pagination ul > li:first-child > span {
+ul.pagination > li:first-child > a,
+ul.pagination > li:first-child > span {
   border-left-width: 1px;
   .border-left-radius(@baseBorderRadius);
 }
-.pagination ul > li:last-child > a,
-.pagination ul > li:last-child > span {
+ul.pagination > li:last-child > a,
+ul.pagination > li:last-child > span {
   .border-right-radius(@baseBorderRadius);
 }
 
@@ -77,17 +77,17 @@
 
 // Large
 .pagination-large {
-  ul > li > a,
-  ul > li > span {
+  > li > a,
+  > li > span {
     padding: @paddingLarge;
     font-size: @fontSizeLarge;
   }
-  ul > li:first-child > a,
-  ul > li:first-child > span {
+  > li:first-child > a,
+  > li:first-child > span {
     .border-left-radius(@borderRadiusLarge);
   }
-  ul > li:last-child > a,
-  ul > li:last-child > span {
+  > li:last-child > a,
+  > li:last-child > span {
     .border-right-radius(@borderRadiusLarge);
   }
 }
@@ -95,28 +95,28 @@
 // Small and mini
 .pagination-mini,
 .pagination-small {
-  ul > li:first-child > a,
-  ul > li:first-child > span {
+  > li:first-child > a,
+  > li:first-child > span {
     .border-left-radius(@borderRadiusSmall);
   }
-  ul > li:last-child > a,
-  ul > li:last-child > span {
+  > li:last-child > a,
+  > li:last-child > span {
     .border-right-radius(@borderRadiusSmall);
   }
 }
 
 // Small
 .pagination-small {
-  ul > li > a,
-  ul > li > span {
+  > li > a,
+  > li > span {
     padding: @paddingSmall;
     font-size: @fontSizeSmall;
   }
 }
 // Mini
 .pagination-mini {
-  ul > li > a,
-  ul > li > span {
+  > li > a,
+  > li > span {
     padding: @paddingMini;
     font-size: @fontSizeMini;
   }

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/assets/less/bootstrap/variables.less
----------------------------------------------------------------------
diff --git a/assets/less/bootstrap/variables.less b/assets/less/bootstrap/variables.less
index f52b2cb..eee77a0 100644
--- a/assets/less/bootstrap/variables.less
+++ b/assets/less/bootstrap/variables.less
@@ -234,16 +234,16 @@
 @warningBackground:       #fcf8e3;
 @warningBorder:           darken(spin(@warningBackground, -10), 3%);
 
-@errorText:               #b94a48;
-@errorBackground:         #f2dede;
+@errorText:               #fff;
+@errorBackground:         #C55C56;
 @errorBorder:             darken(spin(@errorBackground, -10), 3%);
 
-@successText:             #468847;
-@successBackground:       #dff0d8;
+@successText:             #CBDFBD;
+@successBackground:       #448C11;
 @successBorder:           darken(spin(@successBackground, -10), 5%);
 
-@infoText:                #3a87ad;
-@infoBackground:          #d9edf7;
+@infoText:                #fff;
+@infoBackground:          #339999;
 @infoBorder:              darken(spin(@infoBackground, -10), 7%);
 
 

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/assets/less/headers.less
----------------------------------------------------------------------
diff --git a/assets/less/headers.less b/assets/less/headers.less
index e073ad7..149e90b 100644
--- a/assets/less/headers.less
+++ b/assets/less/headers.less
@@ -10,6 +10,18 @@
  *  License for the specific language governing permissions and limitations under
  *  the License.
  */
+
+.left-shadow-border{
+  border-left: 1px solid #999;
+  .box-shadow(-6px 0 rgba(0, 0, 0, 0.1));
+}
+
+.bottom-shadow-border{
+  border-bottom: 1px solid #999;
+  .box-shadow(0px 6px 0 0 rgba(0, 0, 0, 0.1));
+}
+
+
 .fixed-header{
   height: 60px;
   background-color: @breadcrumbBG;
@@ -71,6 +83,11 @@
     > div{
       display:inline-block;
     }
+    .breadcrumb {
+      li:first-child{
+        border-right: 1px solid #ccc;
+      }
+    }
   }
   .breadcrumb {
     margin-bottom: 0;
@@ -86,7 +103,6 @@
         .two-pane & {
           padding:20px 10px;
           font-size: 19px;
-          border-right: 1px solid #ccc;
         }
       }
       color: @breadcrumbText;
@@ -109,20 +125,79 @@
     position: absolute;
     right: 0;
     top: 0;
+    .dropdown-toggle {
+      color: #666666;
+    }
     a {
+      padding: 10px 20px;
       text-decoration: none;
     }
     .dropdown {
       border-left: 1px solid #ccc;
-      padding: 20px;
+      padding: 20px 0px;
     }
     .dropdown-menu {
-      left: -105px;
-      top: 56px;
+      left: -109px;
+      top: 48px;
     }
   }
 }
 
 
-
+.header-right {
+  .add-on {
+    font-size: 16px;
+  }
+  .well {
+    padding: 0;
+    margin: 0;
+  }
+  .searchbox-container {
+    position: relative;
+    right: inherit;
+    input[type="text"] {
+      .border-radius(5px);
+      font-size: 13px;
+      padding: 8px 35px 8px 10px;
+      width: 275px;
+    }
+    .btn-primary {
+      background: none repeat scroll 0% 0% transparent;
+      border: none;
+      position: absolute;
+      right: 12px;
+      top: 8px;
+      z-index: 2;
+      color: #999;
+    }
+  }
+  > .btn {
+    padding: 0;
+    margin: 0;
+  }
+  > .button,
+  > .button a,
+  .api-url-btn > button {
+    color: #666;
+    font-size: 13px;
+    line-height: 3em;
+  }
+  > div {
+    float: right;
+    height: 60px;
+    border-left: 1px solid #ccc;
+    margin: 0;
+    padding: 10px 15px;
+    line-height: 40px;
+  }
+  > div:last-child {
+    border-left: none;
+  }
+  .api-url-btn {
+    background: none;
+    border: none;
+    padding: 0;
+    margin: 0;
+  }
+}
 

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/assets/less/pagination.less
----------------------------------------------------------------------
diff --git a/assets/less/pagination.less b/assets/less/pagination.less
index 0137699..df0740a 100644
--- a/assets/less/pagination.less
+++ b/assets/less/pagination.less
@@ -14,8 +14,38 @@ footer.pagination-footer {
   position:fixed;
   background-color:#fff;
   bottom:0;
+  height: 50px;
   border-top:1px solid #ccc;
   .pagination{
-    margin: 15px 0 10px;
+    .box-shadow(none);
+    position: absolute;
+    right:0;
+    top: 0;
+    margin:0px;
+    height: 50px;
+    border-left: 1px solid #ccc;
+    li {
+      display: inline-block;
+      a {
+        padding: 15px 10px 15px 15px;
+        border: none;
+      }
+    }
+  }
+}
+
+#item-numbers{
+  p {
+    margin: 20px;
+    font-size: 14px;
+  }
+}
+
+div#per-page {
+  position: absolute;
+  right: 86px;
+  top: 2px;
+  #select-per-page {
+    margin-top: 10px;
   }
 }

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/assets/less/templates.less
----------------------------------------------------------------------
diff --git a/assets/less/templates.less b/assets/less/templates.less
index 062cd32..abf1c4b 100644
--- a/assets/less/templates.less
+++ b/assets/less/templates.less
@@ -335,13 +335,17 @@
   }
 }
 
+#right-content,
 #dashboard-lower-content{
-  background-color: #F1F1F1;
   .view {
-    padding: 20px;
+    background-color:#A8A1A1;
   }
 }
 
+#dashboard-lower-content .view{
+  padding: 20px;
+}
+
 #dashboard-upper-content{
   .tab-content {
     padding-top: 70px;
@@ -382,6 +386,14 @@
   }
 }
 
+#global-notifications{
+  .with-sidebar & {
+    left: @sidebarWidth+@navWidth;
+    .closeMenu & {
+      left: @sidebarWidth+@collapsedNavWidth;
+    }
+  }
+}
 /*
   Sidenav:
   USED IN DOCUMENT ADDON & EXTERNAL ADDONS
@@ -470,7 +482,7 @@
 #right-content{
   .two-pane &{
     .view {
-      padding: 0 20px;
+      padding: 0 20px 40px;
     }
     border-left: 1px solid #999;
     .box-shadow(-6px 0 rgba(0, 0, 0, 0.1));

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/e196a738/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 892f499..844e9c9 100644
--- a/index.html
+++ b/index.html
@@ -36,7 +36,7 @@
 <body id="home">
   <!-- Main container. -->
   <div role="main" id="main">
-    <div id="global-notifications" class="container errors-container"></div>
+    <div id="global-notifications" class="container errors-container window-resizeable"></div>
     <div id="app-container"></div>
     <hr>
 


Mime
View raw message