"use strict"; function layerBtnsInit() { /* Remove any current bindings to avoid duplicated binds */ $(".layerbtn").unbind('click'); $(".layerbtn").click(function (){ var layerObj = $(this).data("layer"); var add = ($(this).data('directive') === "add"); var thisBtn = $(this); libtoaster.addRmLayer(layerObj, add, function (layerDepsList){ libtoaster.showChangeNotification(libtoaster.makeLayerAddRmAlertMsg(layerObj, layerDepsList, add)); /* In-cell notification */ var notification = $(''); thisBtn.parent().append(notification); if (add){ if (layerDepsList.length > 0) notification.text(String(layerDepsList.length + 1) + " layers added"); else notification.text("1 layer added"); var layerBtnsFadeOut = $(); var layerExistsBtnFadeIn = $(); layerBtnsFadeOut = layerBtnsFadeOut.add(".layer-add-" + layerObj.id); layerExistsBtnFadeIn = layerExistsBtnFadeIn.add(".layer-exists-" + layerObj.id); for (var i in layerDepsList){ layerBtnsFadeOut = layerBtnsFadeOut.add(".layer-add-" + layerDepsList[i].id); layerExistsBtnFadeIn = layerExistsBtnFadeIn.add(".layer-exists-" + layerDepsList[i].id); } layerBtnsFadeOut.fadeOut().promise().done(function(){ notification.fadeIn().delay(500).fadeOut(function(){ /* Fade in the buttons */ layerExistsBtnFadeIn.fadeIn(); notification.remove(); }); }); } else { notification.text("1 layer removed"); /* Deleting a layer we only hanlde the one button */ thisBtn.fadeOut(function(){ notification.fadeIn().delay(500).fadeOut(function(){ $(".layer-add-" + layerObj.id).fadeIn(); notification.remove(); }); }); } }); }); $(".build-recipe-btn").unbind('click'); $(".build-recipe-btn").click(function(e){ e.preventDefault(); var recipe = $(this).data('recipe-name'); libtoaster.startABuild(null, recipe, function(){ /* Success */ window.location.replace(libtoaster.ctx.projectBuildsUrl); }); }); $(".customise-btn").unbind('click'); $(".customise-btn").click(function(e){ e.preventDefault(); var imgCustomModal = $("#new-custom-image-modal"); if (imgCustomModal.length == 0) throw("Modal new-custom-image not found"); var recipe = {id: $(this).data('recipe'), name: null} newCustomImageModalSetRecipes([recipe]); imgCustomModal.modal('show'); }); }