Initial commit
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
'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;
|
||||
|
||||
var updateProjectBtn = $("#update-project-button");
|
||||
var cancelProjectBtn = $("#cancel-project-button");
|
||||
|
||||
/* 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-input").val(projectName.first().text());
|
||||
});
|
||||
|
||||
$("#project-name-change-btn").click(function(){
|
||||
var newProjectName = $("#project-name-change-input").val();
|
||||
|
||||
libtoaster.editCurrentProject({ projectName: newProjectName }, function (){
|
||||
projectName.text(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().trim()) {
|
||||
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().trim() };
|
||||
|
||||
/* Fire off the build */
|
||||
libtoaster.startABuild(null, selectedTarget.name,
|
||||
function(){
|
||||
window.location.replace(libtoaster.ctx.projectBuildsUrl);
|
||||
}, null);
|
||||
});
|
||||
|
||||
updateProjectBtn.click(function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
selectedTarget = { name: "_PROJECT_PREPARE_" };
|
||||
|
||||
/* Save current default build image, fire off the build */
|
||||
libtoaster.updateProject(null, selectedTarget.name, newBuildTargetInput.val().trim(),
|
||||
function(){
|
||||
window.location.replace(libtoaster.ctx.projectSpecificPageUrl);
|
||||
}, null);
|
||||
});
|
||||
|
||||
cancelProjectBtn.click(function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
/* redirect to 'done/canceled' landing page */
|
||||
window.location.replace(libtoaster.ctx.landingSpecificCancelURL);
|
||||
});
|
||||
|
||||
/* Call makeProjectNameValidation function */
|
||||
libtoaster.makeProjectNameValidation($("#project-name-change-input"),
|
||||
$("#hint-error-project-name"), $("#validate-project-name"),
|
||||
$("#project-name-change-btn"));
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user