mirror of
https://git.yoctoproject.org/poky
synced 2026-02-10 18:53:13 +01:00
Use the all builds ToasterTable as the basis for the project builds ToasterTable. [YOCTO #8738] (Bitbake rev: 87bcfb740dd2d9944e35a2a1f71cbf8ff3b266e9) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
91 lines
2.6 KiB
JavaScript
91 lines
2.6 KiB
JavaScript
'use strict';
|
|
|
|
function projectTopBarInit(ctx) {
|
|
|
|
var projectNameForm = $("#project-name-change-form");
|
|
var projectNameContainer = $("#project-name-container");
|
|
var projectName = $("#project-name");
|
|
var projectNameFormToggle = $("#project-change-form-toggle");
|
|
var projectNameChangeCancel = $("#project-name-change-cancel");
|
|
|
|
// this doesn't exist for command-line builds
|
|
var newBuildTargetInput = $("#build-input");
|
|
|
|
var newBuildTargetBuildBtn = $("#build-button");
|
|
var selectedTarget;
|
|
|
|
/* Project name change functionality */
|
|
projectNameFormToggle.click(function(e){
|
|
e.preventDefault();
|
|
projectNameContainer.hide();
|
|
projectNameForm.fadeIn();
|
|
});
|
|
|
|
projectNameChangeCancel.click(function(e){
|
|
e.preventDefault();
|
|
projectNameForm.hide();
|
|
projectNameContainer.fadeIn();
|
|
});
|
|
|
|
$("#project-name-change-btn").click(function(){
|
|
var newProjectName = $("#project-name-change-input").val();
|
|
|
|
libtoaster.editCurrentProject({ projectName: newProjectName }, function (){
|
|
projectName.html(newProjectName);
|
|
libtoaster.ctx.projectName = newProjectName;
|
|
projectNameChangeCancel.click();
|
|
});
|
|
});
|
|
|
|
/* Nav bar activate state switcher */
|
|
$("#project-topbar .nav li a").each(function(){
|
|
if (window.location.pathname === $(this).attr('href'))
|
|
$(this).parent().addClass('active');
|
|
else
|
|
$(this).parent().removeClass('active');
|
|
});
|
|
|
|
if (!newBuildTargetInput.length) {
|
|
return;
|
|
}
|
|
|
|
/* the following only applies for non-command-line projects */
|
|
|
|
/* Recipe build input functionality */
|
|
if (ctx.numProjectLayers > 0 && ctx.machine){
|
|
newBuildTargetInput.removeAttr("disabled");
|
|
}
|
|
|
|
libtoaster.makeTypeahead(newBuildTargetInput,
|
|
libtoaster.ctx.recipesTypeAheadUrl, {}, function (item) {
|
|
selectedTarget = item;
|
|
newBuildTargetBuildBtn.removeAttr("disabled");
|
|
});
|
|
|
|
newBuildTargetInput.on('input', function () {
|
|
if ($(this).val().length === 0) {
|
|
newBuildTargetBuildBtn.attr("disabled", "disabled");
|
|
} else {
|
|
newBuildTargetBuildBtn.removeAttr("disabled");
|
|
}
|
|
});
|
|
|
|
newBuildTargetBuildBtn.click(function (e) {
|
|
e.preventDefault();
|
|
if (!newBuildTargetInput.val()) {
|
|
return;
|
|
}
|
|
/* We use the value of the input field so as to maintain any command also
|
|
* added e.g. core-image-minimal:clean and because we can build targets
|
|
* that toaster doesn't yet know about
|
|
*/
|
|
selectedTarget = { name: newBuildTargetInput.val() };
|
|
|
|
/* Fire off the build */
|
|
libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl,
|
|
null, selectedTarget.name, function(){
|
|
window.location.replace(libtoaster.ctx.projectBuildsUrl);
|
|
}, null);
|
|
});
|
|
}
|