blob: a0509f9aa3661798e292d3f66c873deb6a04c12b [file] [log] [blame]
"use strict";
function layerBtnsInit(ctx) {
/* 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 = $('<div id="temp-inline-notify" style="display: none; font-size: 11px; line-height: 1.3;" class="tooltip-inner"></div>');
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 deleted");
/* 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(libtoaster.ctx.projectBuildsUrl,
libtoaster.ctx.projectId, recipe,
function(){
/* Success */
window.location.replace(libtoaster.ctx.projectBuildsUrl);
});
});
/* Setup the initial state of the buttons */
for (var i in ctx.projectLayers){
$(".layer-exists-" + ctx.projectLayers[i]).show();
$(".layer-add-" + ctx.projectLayers[i]).hide();
}
}