From 2a64b3c5b5e054db291ef9aeb9fe7196a79defee Mon Sep 17 00:00:00 2001 From: Nikolai R Kristiansen Date: Sun, 23 Nov 2014 22:58:18 +0100 Subject: [PATCH] Remove looping deferreds (WIP) --- mailadmin/static/app/scripts/main.js | 33 +++++++++------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/mailadmin/static/app/scripts/main.js b/mailadmin/static/app/scripts/main.js index ec79eb5..338c07c 100644 --- a/mailadmin/static/app/scripts/main.js +++ b/mailadmin/static/app/scripts/main.js @@ -114,19 +114,11 @@ return {'dest': dest, 'forward': el}; }); - var deferreds = []; - $.each(new_list[dest], function(i, el) { - el.csrfmiddlewaretoken = csrf_token; - deferreds.push($.post(api_urls.fwd_create, el, function() {}, 'json')); - }); - $.when.apply($, deferreds).then(function(){ - // Success + $.post(api_urls.fwd_create, new_list[dest], function() { $('.new-list-result').html(renderAlert('Lagt til ny liste: ' + dest, 'success')); $('.new-list textarea').val(''); $('.new-list .js-new-list-name').val(''); - }).fail(function(err){ - $('.new-list-result').html(renderAlert('Kunne ikke opprette ny liste \'' + dest +'\': '+ err, 'danger')); - }); + }, 'json')); var added_list_html = nunjucks.render('list.html', { lists: new_list, }); @@ -222,22 +214,17 @@ var delete_these = _.map(checked, function(el) { return $(el).val(); }); - var deferreds = []; - $.each(delete_these, function(i, el) { - var data = { - type: 'DELETE', - headers: {'X-CSRFToken': csrf_token}, - url: api_urls.fwd_delete + el + '/', - dataType: 'json' - }; - deferreds.push($.ajax(data)); - }); - $.when.apply($, deferreds).then(function(){ + var data = { + type: 'DELETE', + headers: {'X-CSRFToken': csrf_token}, + url: api_urls.fwd_delete, + data: delete_these, + dataType: 'json' + }; + $.ajax(data, function(){ // Success checked.closest('tr').remove(); // TODO remove list if no more rows - }).fail(function(err){ - $('[data-list-name="'+list_name+'"] .result-alert').html(renderAlert('Kunne ikke fjerne epostaliaser', 'danger')); }); }); /* Toggles emails textarea */