Repository: couchdb-fauxton
Updated Branches:
  refs/heads/doc-design [created] 170fccffc


change behaviour of select-all


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

Branch: refs/heads/doc-design
Commit: 11f96064bb12e214e726de3c29b7b6ba8799cd6b
Parents: 577445b
Author: Robert Kowalski <[email protected]>
Authored: Tue Nov 18 14:49:50 2014 +0100
Committer: Robert Kowalski <[email protected]>
Committed: Fri Nov 21 11:49:06 2014 +0100

----------------------------------------------------------------------
 .../documents/templates/all_docs_list.html      |  2 +-
 app/addons/documents/views.js                   | 20 ++++++++------------
 2 files changed, 9 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/11f96064/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 78743a0..c41ff20 100644
--- a/app/addons/documents/templates/all_docs_list.html
+++ b/app/addons/documents/templates/all_docs_list.html
@@ -16,7 +16,7 @@
   <% if (!viewList) { %>
     <div class="row">
       <div class="btn-toolbar span6">
-        <button type="button" class="btn btn-small all" 
data-toggle="button">✓ All</button>
+        <button type="button" class="btn btn-small js-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>

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/11f96064/app/addons/documents/views.js
----------------------------------------------------------------------
diff --git a/app/addons/documents/views.js b/app/addons/documents/views.js
index ae6cb65..8cb348f 100644
--- a/app/addons/documents/views.js
+++ b/app/addons/documents/views.js
@@ -310,7 +310,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, 
Views, QueryOptions)
     className: 'show-select',
 
     events: {
-      "click button.all": "selectAll",
+      'click button.js-all': 'selectAll',
       "click button.js-bulk-delete": "bulkDelete",
       "click #collapse": "collapse",
       'change input': 'toggleDocument',
@@ -376,16 +376,15 @@ function(app, FauxtonAPI, Components, Documents, 
Databases, Views, QueryOptions)
           docId = $row.attr('data-id'),
           rev = this.collection.get(docId).get('_rev'),
           data = {_id: docId, _rev: rev, _deleted: true};
-
       if (!$row.hasClass('js-to-delete')) {
         this.bulkDeleteDocsCollection.add(data);
+        $row.find('.js-row-select').prop('checked', true);
       } else {
         
this.bulkDeleteDocsCollection.remove(this.bulkDeleteDocsCollection.get(docId));
+        $row.find('.js-row-select').prop('checked', false);
       }
 
-      $row.find('.js-row-select').prop('checked', 
!$row.hasClass('js-to-delete'));
       $row.toggleClass('js-to-delete');
-
       this.toggleTrash();
     },
 
@@ -429,18 +428,15 @@ function(app, FauxtonAPI, Components, Documents, 
Databases, Views, QueryOptions)
       var $allDocs = this.$('#doc-list'),
           $rows = $allDocs.find('.all-docs-item'),
           $checkboxes = $rows.find('input:checkbox'),
+          isActive = $(evt.target).hasClass('active'),
           modelsAffected,
           docs;
 
-      $checkboxes.prop('checked', 
!$(evt.target).hasClass('active')).trigger('change');
+      $checkboxes.prop('checked', !isActive);
+      $rows.toggleClass('js-to-delete', !isActive);
 
-      if ($(evt.target).hasClass('active')) {
-        modelsAffected = _.reduce($rows, function (acc, el) {
-          var docId = $(el).attr('data-id');
-          acc.push(docId);
-          return acc;
-        }, []);
-        this.bulkDeleteDocsCollection.remove(modelsAffected);
+      if (isActive) {
+        this.bulkDeleteDocsCollection.reset();
       } else {
         modelsAffected = _.reduce($rows, function (acc, el) {
           var docId = $(el).attr('data-id'),

Reply via email to