aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorMichael Wood <michael.g.wood@intel.com>2016-12-09 16:52:50 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-12 20:44:54 +0000
commit23ad2a8ca08da30bd5ef1e01860021ced1967c07 (patch)
tree732783cdc34b1f3ce19363dbb96746c624d631cc /bitbake
parent97ff2c0091c654bf01bc4b0809a6a664ad6c579c (diff)
downloadopenembedded-core-contrib-23ad2a8ca08da30bd5ef1e01860021ced1967c07.tar.gz
bitbake: toaster: importlayer Add git revision typeahead to that input field
Add the front end mechanism to load the typeahead for the git revision field on importing a layer. Also fix one indentation issue and update the js test. (Bitbake rev: 28114be42174095b812a93d4b5a0e01e953d74f8) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/toaster/toastergui/static/css/default.css1
-rw-r--r--bitbake/lib/toaster/toastergui/static/js/importlayer.js29
-rw-r--r--bitbake/lib/toaster/toastergui/static/js/tests/test.js2
-rw-r--r--bitbake/lib/toaster/toastergui/templates/importlayer.html5
4 files changed, 28 insertions, 9 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/css/default.css b/bitbake/lib/toaster/toastergui/static/css/default.css
index ff24e8c1ab..5cd7e211a0 100644
--- a/bitbake/lib/toaster/toastergui/static/css/default.css
+++ b/bitbake/lib/toaster/toastergui/static/css/default.css
@@ -210,7 +210,6 @@ fieldset.fields-apart-from-layer-name { margin-top: 20px; }
#import-layer-name,
#layer-subdir { width: 20%; }
#layer-git-repo-url { width: 40%; }
-#layer-git-ref { width: 32%; }
#local-dir-path { width: 45%; }
#layer-dependency { width: 16em; }
#layer-deps-list { margin-top: 0; }
diff --git a/bitbake/lib/toaster/toastergui/static/js/importlayer.js b/bitbake/lib/toaster/toastergui/static/js/importlayer.js
index 4784c657f5..b3f094e69b 100644
--- a/bitbake/lib/toaster/toastergui/static/js/importlayer.js
+++ b/bitbake/lib/toaster/toastergui/static/js/importlayer.js
@@ -45,7 +45,7 @@ function importLayerPageInit (ctx) {
function(layer) {
if (layer.results.length > 0) {
currentLayerDepSelection = layer.results[0];
- layerDepBtn.click();
+ layerDepBtn.click();
}
});
@@ -333,19 +333,36 @@ function importLayerPageInit (ctx) {
check_form();
});
- /* Have a guess at the layer name */
+ /* Setup 'blank' typeahead */
+ libtoaster.makeTypeahead(gitRefInput,
+ ctx.xhrGitRevTypeAheadUrl,
+ { git_url: null }, function(){});
+
+
vcsURLInput.focusout(function (){
+ if (!$(this).val())
+ return;
+
/* If we a layer name specified don't overwrite it or if there isn't a
* url typed in yet return
*/
- if (layerNameInput.val() || !$(this).val())
- return;
-
- if ($(this).val().search("/")){
+ if (!layerNameInput.val() && $(this).val().search("/")){
var urlPts = $(this).val().split("/");
+ /* Add a suggestion of the layer name */
var suggestion = urlPts[urlPts.length-1].replace(".git","");
layerNameInput.val(suggestion);
}
+
+ /* Now actually setup the typeahead properly with the git url entered */
+ gitRefInput._typeahead('destroy');
+
+ libtoaster.makeTypeahead(gitRefInput,
+ ctx.xhrGitRevTypeAheadUrl,
+ { git_url: $(this).val() },
+ function(selected){
+ gitRefInput._typeahead("close");
+ });
+
});
function radioDisplay() {
diff --git a/bitbake/lib/toaster/toastergui/static/js/tests/test.js b/bitbake/lib/toaster/toastergui/static/js/tests/test.js
index d7953de447..f3bf8d7733 100644
--- a/bitbake/lib/toaster/toastergui/static/js/tests/test.js
+++ b/bitbake/lib/toaster/toastergui/static/js/tests/test.js
@@ -144,7 +144,7 @@ QUnit.test("Make typeaheads", function(assert){
/* Page init functions */
QUnit.test("Import layer page init", function(assert){
- assert.throws(importLayerPageInit());
+ assert.throws(importLayerPageInit({ xhrGitRevTypeAheadUrl: "url" }));
});
QUnit.test("Project page init", function(assert){
diff --git a/bitbake/lib/toaster/toastergui/templates/importlayer.html b/bitbake/lib/toaster/toastergui/templates/importlayer.html
index bd507b5677..afbeb94d42 100644
--- a/bitbake/lib/toaster/toastergui/templates/importlayer.html
+++ b/bitbake/lib/toaster/toastergui/templates/importlayer.html
@@ -14,6 +14,7 @@
$(document).ready(function (){
var ctx = {
xhrLayerUrl : "{% url 'xhr_layer' project.id %}",
+ xhrGitRevTypeAheadUrl : "{% url 'xhr_gitrevtypeahead' %}",
};
try {
@@ -112,8 +113,10 @@
Git revision
<span class="glyphicon glyphicon-question-sign get-help" title="You can provide a Git branch, a tag or a commit SHA as the revision"></span>
</label>
- <input type="text" class="form-control" id="layer-git-ref" required>
+ <span style="display: block">
+ <input type="text" class="form-control" id="layer-git-ref" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" required>
<span class="help-inline" style="display:none;" id="invalid-layer-revision-hint"></span>
+ </span>
</div>
</fieldset>