diff --git a/bitbake/lib/toaster/toastergui/templates/projectconf.html b/bitbake/lib/toaster/toastergui/templates/projectconf.html index 9a8b841037..c3ed216194 100644 --- a/bitbake/lib/toaster/toastergui/templates/projectconf.html +++ b/bitbake/lib/toaster/toastergui/templates/projectconf.html @@ -41,7 +41,8 @@ -

A valid directory cannot include spaces or any of these characters: . \ ? % * : | " " < >

+ + {% endif %} @@ -88,7 +89,7 @@ - + {% endif %} @@ -149,7 +150,8 @@ -

A valid directory cannot include spaces or any of these characters: . \ ? % * : | " " < >

+ + {% endif %} @@ -368,8 +370,8 @@ function setEventHandlersForDynamicElements() { $("#new-config_var_"+pk).val(current_val); if ( $("#new-config_var_"+pk).val().length ) { $("#apply-change-config_var_"+pk).removeAttr("disabled"); - } - else { + } + else { $("#apply-change-config_var_"+pk).attr("disabled"); } }); @@ -409,7 +411,7 @@ function setEventHandlersForDynamicElements() { var pk = $(this).attr("x-data"); // fade out the variable+value div, then refresh the variable list - $(this).fadeOut(); + $(this).fadeOut(); $(this).tooltip("hide"); $("config_var_entry_"+pk).fadeOut(); $('#config_var_value_'+pk).parent("dd").fadeOut(); @@ -552,7 +554,6 @@ $(document).ready(function() { // change DL_DIR variable $('#change-dl_dir-icon').click(function() { - $('#hintError-dl_dir').hide(); $('#change-dl_dir-form').removeClass('has-error'); // preset the edit value var current_val = $("#dl_dir").text().trim(); @@ -574,6 +575,8 @@ $(document).ready(function() { }); $('#cancel-change-dl_dir').click(function(){ + $("#hintError-dl_dir").hide(); + $("#hintError-initialChar-dl_dir").hide(); $("#change-dl_dir-form").slideUp(function() { $('#dl_dir, #change-dl_dir-icon').show(); }); @@ -582,20 +585,31 @@ $(document).ready(function() { $("#new-dl_dir").on('input', function(){ if ($(this).val().trim().length == 0) { $("#apply-change-dl_dir").attr("disabled","disabled"); + $('#change-dl_dir-form').addClass('has-error'); + $('#hintError-dl_dir').hide(); + $('#hintError-initialChar-dl_dir').hide(); } else { var input = $(this); - var re = /^\/([^ <>\\|":\.%\?\*]+)$/; + var reBeginWithSlash = /^\//; + var reCheckVariable = /^\$/; + var re = /([ <>\\|":\.%\?\*]+)/; var invalidDir = re.test(input.val()); - console.log(invalidDir); - if ( invalidDir ) { - $('#change-dl_dir-form').removeClass('has-error'); - $("#apply-change-dl_dir").removeAttr("disabled"); - $('#hintError-dl_dir').hide(); - } else { + var invalidSlash = reBeginWithSlash.test(input.val()); + var invalidVar = reCheckVariable.test(input.val()); + if (!invalidSlash && !invalidVar) { + $('#change-dl_dir-form').addClass('has-error'); + $("#apply-change-dl_dir").attr("disabled","disabled"); + $('#hintError-initialChar-dl_dir').show(); + } else if (invalidDir) { $('#change-dl_dir-form').addClass('has-error'); $("#apply-change-dl_dir").attr("disabled","disabled"); $('#hintError-dl_dir').show(); + } else { + $('#change-dl_dir-form').removeClass('has-error'); + $("#apply-change-dl_dir").removeAttr("disabled"); + $('#hintError-dl_dir').hide(); + $('#hintError-initialChar-dl_dir').hide(); } } }); @@ -904,7 +918,7 @@ $(document).ready(function() { // change SSTATE_DIR variable $('#change-sstate_dir-icon').click(function() { - $('#hintError-sstate_dir').hide(); + $('#change-sstate_dir-form').removeClass('has-error'); // preset the edit value var current_val = $("span#sstate_dir").text().trim(); if (current_val == "Not set") { @@ -926,6 +940,8 @@ $(document).ready(function() { }); $('#cancel-change-sstate_dir').click(function(){ + $("#hintError-sstate_dir").hide(); + $("#hintError-initialChar-sstate_dir").hide(); $("#change-sstate_dir-form").slideUp(function() { $('#sstate_dir, #change-sstate_dir-icon').show(); }); @@ -934,20 +950,31 @@ $(document).ready(function() { $("#new-sstate_dir").on('input', function(){ if ($(this).val().trim().length == 0) { $("#apply-change-sstate_dir").attr("disabled","disabled"); + $('#change-sstate_dir-form').addClass('has-error'); + $('#hintError-sstate_dir').hide(); + $('#hintError-initialChar-sstate_dir').hide(); } else { var input = $(this); - var re = /^\/([^ <>\\|":\.%\?\*]+)$/; + var reBeginWithSlash = /^\//; + var reCheckVariable = /^\$/; + var re = /([ <>\\|":\.%\?\*]+)/; var invalidDir = re.test(input.val()); - console.log(invalidDir); - if ( invalidDir ) { + var invalidSlash = reBeginWithSlash.test(input.val()); + var invalidVar = reCheckVariable.test(input.val()); + if (!invalidSlash && !invalidVar) { + $('#change-sstate_dir-form').addClass('has-error'); + $("#apply-change-sstate_dir").attr("disabled","disabled"); + $('#hintError-initialChar-sstate_dir').show(); + } else if (invalidDir) { + $('#change-sstate_dir-form').addClass('has-error'); + $("#apply-change-sstate_dir").attr("disabled","disabled"); + $('#hintError-sstate_dir').show(); + } else { $('#change-sstate_dir-form').removeClass('has-error'); $("#apply-change-sstate_dir").removeAttr("disabled"); $('#hintError-sstate_dir').hide(); - } else { - $('#change-sstate_dir-form').addClass('has-error'); - $("#apply-change-sstate_dir").attr("disabled","disabled"); - $('#hintError-sstate_dir').show(); + $('#hintError-initialChar-sstate_dir').hide(); } } });