diff options
Diffstat (limited to 'import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/projectpage.js')
-rw-r--r-- | import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/projectpage.js | 390 |
1 files changed, 0 insertions, 390 deletions
diff --git a/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/projectpage.js b/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/projectpage.js deleted file mode 100644 index 506471e09..000000000 --- a/import-layers/yocto-poky/bitbake/lib/toaster/toastergui/static/js/projectpage.js +++ /dev/null @@ -1,390 +0,0 @@ -"use strict"; - -function projectPageInit(ctx) { - - var layerAddInput = $("#layer-add-input"); - var layersInPrjList = $("#layers-in-project-list"); - var layerAddBtn = $("#add-layer-btn"); - - var machineChangeInput = $("#machine-change-input"); - var machineChangeBtn = $("#machine-change-btn"); - var machineForm = $("#select-machine-form"); - var machineChangeFormToggle = $("#change-machine-toggle"); - var machineNameTitle = $("#project-machine-name"); - var machineChangeCancel = $("#cancel-machine-change"); - var machineInputForm = $("#machine-input-form"); - var invalidMachineNameHelp = $("#invalid-machine-name-help"); - - var distroChangeInput = $("#distro-change-input"); - var distroChangeBtn = $("#distro-change-btn"); - var distroForm = $("#select-distro-form"); - var distroChangeFormToggle = $("#change-distro-toggle"); - var distroNameTitle = $("#project-distro-name"); - var distroChangeCancel = $("#cancel-distro-change"); - - var freqBuildBtn = $("#freq-build-btn"); - var freqBuildList = $("#freq-build-list"); - - var releaseChangeFormToggle = $("#release-change-toggle"); - var releaseTitle = $("#project-release-title"); - var releaseForm = $("#change-release-form"); - var releaseModal = $("#change-release-modal"); - var cancelReleaseChange = $("#cancel-release-change"); - - var currentLayerAddSelection; - var currentMachineAddSelection = ""; - var currentDistroAddSelection = ""; - - var urlParams = libtoaster.parseUrlParams(); - - libtoaster.getProjectInfo(libtoaster.ctx.xhrProjectUrl, function(prjInfo){ - updateProjectLayers(prjInfo.layers); - updateFreqBuildRecipes(prjInfo.freqtargets); - updateProjectRelease(prjInfo.release); - - /* If we're receiving a machine set from the url and it's different from - * our current machine then activate set machine sequence. - */ - if (urlParams.hasOwnProperty('setMachine') && - urlParams.setMachine !== prjInfo.machine.name){ - machineChangeInput.val(urlParams.setMachine); - machineChangeBtn.click(); - } else { - updateMachineName(prjInfo.machine.name); - } - - /* If we're receiving a distro set from the url and it's different from - * our current distro then activate set machine sequence. - */ - if (urlParams.hasOwnProperty('setDistro') && - urlParams.setDistro !== prjInfo.distro.name){ - distroChangeInput.val(urlParams.setDistro); - distroChangeBtn.click(); - } else { - updateDistroName(prjInfo.distro.name); - } - - /* Now we're really ready show the page */ - $("#project-page").show(); - - /* Set the project name in the delete modal */ - $("#delete-project-modal .project-name").text(prjInfo.name); - }); - - if (urlParams.hasOwnProperty('notify') && urlParams.notify === 'new-project'){ - $("#project-created-notification").show(); - } - - /* Add/Rm layer functionality */ - - libtoaster.makeTypeahead(layerAddInput, libtoaster.ctx.layersTypeAheadUrl, { include_added: "false" }, function(item){ - currentLayerAddSelection = item; - layerAddBtn.removeAttr("disabled"); - }); - - layerAddInput.keyup(function() { - if ($(this).val().length == 0) { - layerAddBtn.attr("disabled", "disabled") - } - }); - - layerAddBtn.click(function(e){ - e.preventDefault(); - var layerObj = currentLayerAddSelection; - - addRmLayer(layerObj, true); - /* Reset the text input */ - layerAddInput.val(""); - /* Disable the add layer button*/ - layerAddBtn.attr("disabled", "disabled"); - }); - - function addRmLayer(layerObj, add){ - - libtoaster.addRmLayer(layerObj, add, function(layerDepsList){ - if (add){ - updateProjectLayers([layerObj]); - updateProjectLayers(layerDepsList); - } - - /* Show the alert message */ - var message = libtoaster.makeLayerAddRmAlertMsg(layerObj, layerDepsList, add); - libtoaster.showChangeNotification(message); - }); - } - - function updateProjectLayers(layers){ - - /* No layers to add */ - if (layers.length === 0){ - updateLayersCount(); - return; - } - - for (var i in layers){ - var layerObj = layers[i]; - - var projectLayer = $("<li><a></a><span class=\"glyphicon glyphicon-trash\" data-toggle=\"tooltip\" title=\"Remove\"></span></li>"); - - projectLayer.data('layer', layerObj); - projectLayer.children("span").tooltip(); - - var link = projectLayer.children("a"); - - link.attr("href", layerObj.layerdetailurl); - link.text(layerObj.name); - - if (layerObj.local_source_dir) { - link.tooltip({title: layerObj.local_source_dir, placement: "right"}); - } else { - link.tooltip({title: layerObj.vcs_url + " | "+ layerObj.vcs_reference, placement: "right"}); - } - - var trashItem = projectLayer.children("span"); - trashItem.click(function (e) { - e.preventDefault(); - var layerObjToRm = $(this).parent().data('layer'); - - addRmLayer(layerObjToRm, false); - - $(this).parent().fadeOut(function (){ - $(this).remove(); - updateLayersCount(); - }); - }); - - layersInPrjList.append(projectLayer); - - updateLayersCount(); - } - } - - function updateLayersCount(){ - var count = $("#layers-in-project-list").children().length; - var noLayerMsg = $("#no-layers-in-project"); - var buildInput = $("#build-input"); - - - if (count === 0) { - noLayerMsg.fadeIn(); - $("#no-layers-in-project").fadeIn(); - buildInput.attr("disabled", "disabled"); - } else { - noLayerMsg.hide(); - buildInput.removeAttr("disabled"); - } - - $("#project-layers-count").text(count); - - return count; - } - - /* Frequent builds functionality */ - function updateFreqBuildRecipes(recipes) { - var noMostBuilt = $("#no-most-built"); - - if (recipes.length === 0){ - noMostBuilt.show(); - freqBuildBtn.hide(); - } else { - noMostBuilt.hide(); - freqBuildBtn.show(); - } - - for (var i in recipes){ - var freqTargetCheck = $('<li><div class="checkbox"><label><input type="checkbox" /><span class="freq-target-name"></span></label></li>'); - freqTargetCheck.find(".freq-target-name").text(recipes[i]); - freqTargetCheck.find("input").val(recipes[i]); - freqTargetCheck.click(function(){ - if (freqBuildList.find(":checked").length > 0) - freqBuildBtn.removeAttr("disabled"); - else - freqBuildBtn.attr("disabled", "disabled"); - }); - - freqBuildList.append(freqTargetCheck); - } - } - - freqBuildBtn.click(function(e){ - e.preventDefault(); - - var toBuild = ""; - freqBuildList.find(":checked").each(function(){ - toBuild += $(this).val() + ' '; - }); - - toBuild = toBuild.trim(); - - libtoaster.startABuild(null, toBuild, - function(){ - /* Build request started */ - window.location.replace(libtoaster.ctx.projectBuildsUrl); - }, - function(){ - /* Build request failed */ - console.warn("Build request failed to be created"); - }); - }); - - - /* Change machine functionality */ - machineChangeInput.keyup(function(){ - if ($(this).val().indexOf(' ') >= 0) { - machineChangeBtn.attr("disabled", "disabled"); - invalidMachineNameHelp.show(); - machineInputForm.addClass('has-error'); - } else { - machineChangeBtn.removeAttr("disabled"); - invalidMachineNameHelp.hide(); - machineInputForm.removeClass('has-error'); - } - }); - - machineChangeFormToggle.click(function(){ - machineChangeInput.val(machineNameTitle.text()); - machineChangeBtn.removeAttr("disabled"); - invalidMachineNameHelp.hide(); - machineInputForm.removeClass('has-error'); - machineForm.slideDown(); - machineNameTitle.hide(); - $(this).hide(); - }); - - machineChangeCancel.click(function(){ - machineForm.slideUp(function(){ - machineNameTitle.show(); - machineChangeFormToggle.show(); - }); - }); - - function updateMachineName(machineName){ - machineChangeInput.val(machineName); - machineNameTitle.text(machineName); - } - - libtoaster.makeTypeahead(machineChangeInput, - libtoaster.ctx.machinesTypeAheadUrl, - { }, function(item){ - currentMachineAddSelection = item.name; - machineChangeBtn.removeAttr("disabled"); - }); - - machineChangeBtn.click(function(e){ - e.preventDefault(); - /* We accept any value regardless of typeahead selection or not */ - if (machineChangeInput.val().length === 0) - return; - - currentMachineAddSelection = machineChangeInput.val(); - - libtoaster.editCurrentProject( - { machineName : currentMachineAddSelection }, - function(){ - /* Success machine changed */ - updateMachineName(currentMachineAddSelection); - machineChangeCancel.click(); - - /* Show the alert message */ - var message = $('<span>You have changed the machine to: <strong><span id="notify-machine-name"></span></strong></span>'); - message.find("#notify-machine-name").text(currentMachineAddSelection); - libtoaster.showChangeNotification(message); - }, - function(){ - /* Failed machine changed */ - console.warn("Failed to change machine"); - }); - }); - - - /* Change distro functionality */ - - distroChangeFormToggle.click(function(){ - distroForm.slideDown(); - distroNameTitle.hide(); - $(this).hide(); - }); - - distroChangeCancel.click(function(){ - distroForm.slideUp(function(){ - distroNameTitle.show(); - distroChangeFormToggle.show(); - }); - }); - - function updateDistroName(distroName){ - distroChangeInput.val(distroName); - distroNameTitle.text(distroName); - } - - libtoaster.makeTypeahead(distroChangeInput, - libtoaster.ctx.distrosTypeAheadUrl, - { }, function(item){ - currentDistroAddSelection = item.name; - distroChangeBtn.removeAttr("disabled"); - }); - - distroChangeBtn.click(function(e){ - e.preventDefault(); - /* We accept any value regardless of typeahead selection or not */ - if (distroChangeInput.val().length === 0) - return; - - currentDistroAddSelection = distroChangeInput.val(); - - libtoaster.editCurrentProject( - { distroName : currentDistroAddSelection }, - function(){ - /* Success machine changed */ - updateDistroName(currentDistroAddSelection); - distroChangeCancel.click(); - - /* Show the alert message */ - var message = $('<span>You have changed the distro to: <strong><span id="notify-machine-name"></span></strong></span>'); - message.find("#notify-machine-name").text(currentDistroAddSelection); - libtoaster.showChangeNotification(message); - }, - function(){ - /* Failed machine changed */ - console.warn("Failed to change distro"); - }); - }); - - - /* Change release functionality */ - function updateProjectRelease(release){ - releaseTitle.text(release.description); - } - - - $("#delete-project-confirmed").click(function(e){ - e.preventDefault(); - libtoaster.disableAjaxLoadingTimer(); - $(this).find('[data-role="submit-state"]').hide(); - $(this).find('[data-role="loading-state"]').show(); - $(this).attr("disabled", "disabled"); - $('#delete-project-modal [data-dismiss="modal"]').hide(); - - $.ajax({ - type: 'DELETE', - url: libtoaster.ctx.xhrProjectUrl, - headers: { 'X-CSRFToken' : $.cookie('csrftoken')}, - success: function (data) { - if (data.error !== "ok") { - console.warn(data.error); - } else { - var msg = $('<span>You have deleted <strong>1</strong> project: <strong id="project-deleted"></strong></span>'); - - msg.find("#project-deleted").text(libtoaster.ctx.projectName); - libtoaster.setNotification("project-deleted", msg.html()); - - window.location.replace(data.gotoUrl); - } - }, - error: function (data) { - console.warn(data); - } - }); - }); - -} |