"use strict"; function customRecipePageInit(ctx) { var urlParams = libtoaster.parseUrlParams(); (function notificationRequest(){ if (urlParams.hasOwnProperty('notify') && urlParams.notify === 'new'){ $("#image-created-notification").show(); } })(); $("#recipeselection").on('table-done', function(e, total, tableParams){ /* Table is done so now setup the click handler for the package buttons */ $(".add-rm-package-btn").click(function(e){ e.preventDefault(); addRemovePackage($(this), tableParams); }); }); function addRemovePackage(pkgBtn, tableParams){ var pkgBtnData = pkgBtn.data(); var method; var buttonToShow; if (pkgBtnData.directive == 'add') { method = 'PUT'; buttonToShow = '#package-rm-btn-' + pkgBtnData.package; } else if (pkgBtnData.directive == 'remove') { method = 'DELETE'; buttonToShow = '#package-add-btn-' + pkgBtnData.package; } else { throw("Unknown package directive: should be add or remove"); } $.ajax({ type: method, url: pkgBtnData.packageUrl, headers: { 'X-CSRFToken' : $.cookie('csrftoken')}, success: function(data){ /* Invalidate the Add | Rm package table's current cache */ tableParams.nocache = true; $.get(ctx.tableApiUrl, tableParams); /* Swap the buttons around */ pkgBtn.hide(); $(buttonToShow).show(); } }); } }