diff --git a/bitbake/lib/toaster/toastergui/static/css/default.css b/bitbake/lib/toaster/toastergui/static/css/default.css index 199c7531dc..a3fa0ddf6a 100644 --- a/bitbake/lib/toaster/toastergui/static/css/default.css +++ b/bitbake/lib/toaster/toastergui/static/css/default.css @@ -232,3 +232,4 @@ dd > span { line-height: 20px; } .animate-repeat.ng-enter.ng-enter-active { opacity:1; } +.tab-pane table { margin-top: 10px; } diff --git a/bitbake/lib/toaster/toastergui/static/js/layerdetails.js b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js new file mode 100644 index 0000000000..a5a6330630 --- /dev/null +++ b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js @@ -0,0 +1,404 @@ +"use strict" + +function layerDetailsPageInit (ctx) { + + var layerDepInput = $("#layer-dep-input"); + var layerDepBtn = $("#add-layer-dependency-btn"); + var layerDepsList = $("#layer-deps-list"); + var currentLayerDepSelection; + var addRmLayerBtn = $("#add-remove-layer-btn"); + + /* setup the dependencies typeahead */ + libtoaster.makeTypeahead(layerDepInput, ctx.xhrDataTypeaheadUrl, { type : "layers", project_id: ctx.projectId, include_added: "true" }, function(item){ + currentLayerDepSelection = item; + + layerDepBtn.removeAttr("disabled"); + }); + + function addRemoveDep(depLayerId, add, doneCb) { + var data = { layer_version_id : ctx.layerVersion.id }; + if (add) + data.add_dep = depLayerId; + else + data.rm_dep = depLayerId; + + $.ajax({ + type: "POST", + url: ctx.xhrUpdateLayerUrl, + data: data, + headers: { 'X-CSRFToken' : $.cookie('csrftoken')}, + success: function (data) { + if (data.error != "ok") { + console.warn(data.error); + } else { + doneCb(); + } + }, + error: function (data) { + console.warn("Call failed"); + console.warn(data); + } + }); + } + + function layerRemoveClick() { + var toRemove = $(this).parent().data('layer-id'); + var layerDepItem = $(this); + + addRemoveDep(toRemove, false, function(){ + layerDepItem.parent().fadeOut(function (){ + layerDepItem.remove(); + }); + }); + } + + /* Add dependency layer button click handler */ + layerDepBtn.click(function(){ + if (currentLayerDepSelection == undefined) + return; + + addRemoveDep(currentLayerDepSelection.id, true, function(){ + /* Make a list item for the new layer dependency */ + var newLayerDep = $("
| + + Machine + {% if request.GET.machines_search %} + {{machines.paginator.count}} + {% endif %} + | +Description | +Select machine | +
|---|---|---|
| {{machine.name}} | +{{machine.description}} | ++ |