diff --git a/client/views/pages/browse_collection/browse_collection.html b/client/views/pages/browse_collection/browse_collection.html index aa36ee9c091ebab2b3b97dd62dde8f10ea6ccaef..151941d5d9626abbff04d2158344da00f45fa619 100644 --- a/client/views/pages/browse_collection/browse_collection.html +++ b/client/views/pages/browse_collection/browse_collection.html @@ -69,13 +69,20 @@ diff --git a/client/views/pages/browse_collection/browse_collection.js b/client/views/pages/browse_collection/browse_collection.js index aca1ab483e969356844ac52e2dca5cbd716d6e5c..08ba60e268a82b0b375d53c9f654723b2088d72f 100644 --- a/client/views/pages/browse_collection/browse_collection.js +++ b/client/views/pages/browse_collection/browse_collection.js @@ -54,6 +54,11 @@ Template.browseCollection.events({ Template.browseCollection.saveEditor(); }, + 'click #btnDelFindFindOne': function (e) { + e.preventDefault(); + Template.browseCollection.deleteDocument(); + }, + 'click #btnShowQueryHistories': function () { $('#queryHistoriesModal').modal('show'); }, @@ -438,3 +443,53 @@ Template.browseCollection.saveEditor = function () { }; + +Template.browseCollection.deleteDocument = function () { + var convertedDocs; + try { + convertedDocs = Template.convertAndCheckJSONAsArray(Template.browseCollection.getActiveEditorValue()); + } + catch (e) { + toastr.error('Syntax error, can not save document(s): ' + e); + return; + } + + swal({ + title: "Are you sure ?", + text: convertedDocs.length + ' document(s) will be deleted, are you sure ?', + type: "info", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "Yes!", + cancelButtonText: "No" + }, function (isConfirm) { + if (isConfirm) { + + var l = Ladda.create(document.querySelector('#btnDelFindFindOne')); + l.start(); + + var selectedCollection = Session.get(Template.strSessionSelectedCollection); + var convertIds = $('#aConvertObjectIds').iCheck('update')[0].checked; + var convertDates = $('#aConvertIsoDates').iCheck('update')[0].checked; + var i = 0; + _.each(convertedDocs, function (doc) { + if (doc._id) { + Meteor.call("delete", selectedCollection, {_id: doc._id}, convertIds, convertDates, function (err, result) { + if (err || result.error) { + Template.showMeteorFuncError(err, result, "Couldn't delete one of the documents"); + Ladda.stopAll(); + } else { + if ((i++) == (convertedDocs.length - 1)) { + // last time + toastr.success('Successfully deleted document(s)'); + Ladda.stopAll(); + } + } + }); + } + }); + } + }); + +}; +