mirror of
https://git.yoctoproject.org/poky
synced 2026-04-10 14:02:21 +02:00
bitbake: toaster: Remove the new-build-input button widget
The button required a lot of state maintenance to make sure it showed up when the project was configured properly, showed correctly according to the projects known to Toaster, displayed correctly according to the mode Toaster was in, and was able to be used to change the current project. (Bitbake rev: b644514a96f3947ad3f307a26301c064c8ae18f8) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
55f44943d7
commit
4677d8b4fb
81
bitbake/lib/toaster/toastergui/static/js/projecttopbar.js
Normal file
81
bitbake/lib/toaster/toastergui/static/js/projecttopbar.js
Normal file
@@ -0,0 +1,81 @@
|
||||
'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");
|
||||
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');
|
||||
});
|
||||
|
||||
/* 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);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user