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'),
