diff options
Diffstat (limited to 'import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/layerBtn.js')
-rw-r--r-- | import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/layerBtn.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/layerBtn.js b/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/layerBtn.js new file mode 100644 index 0000000000..259271df33 --- /dev/null +++ b/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/layerBtn.js @@ -0,0 +1,83 @@ +"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 = $('<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 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'); + }); +} |