diff options
author | Michael Wood <michael.g.wood@intel.com> | 2016-12-09 16:52:50 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-12-12 20:44:54 +0000 |
commit | 23ad2a8ca08da30bd5ef1e01860021ced1967c07 (patch) | |
tree | 732783cdc34b1f3ce19363dbb96746c624d631cc | |
parent | 97ff2c0091c654bf01bc4b0809a6a664ad6c579c (diff) | |
download | poky-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>
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; } | |||
210 | #import-layer-name, | 210 | #import-layer-name, |
211 | #layer-subdir { width: 20%; } | 211 | #layer-subdir { width: 20%; } |
212 | #layer-git-repo-url { width: 40%; } | 212 | #layer-git-repo-url { width: 40%; } |
213 | #layer-git-ref { width: 32%; } | ||
214 | #local-dir-path { width: 45%; } | 213 | #local-dir-path { width: 45%; } |
215 | #layer-dependency { width: 16em; } | 214 | #layer-dependency { width: 16em; } |
216 | #layer-deps-list { margin-top: 0; } | 215 | #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) { | |||
45 | function(layer) { | 45 | function(layer) { |
46 | if (layer.results.length > 0) { | 46 | if (layer.results.length > 0) { |
47 | currentLayerDepSelection = layer.results[0]; | 47 | currentLayerDepSelection = layer.results[0]; |
48 | layerDepBtn.click(); | 48 | layerDepBtn.click(); |
49 | } | 49 | } |
50 | }); | 50 | }); |
51 | 51 | ||
@@ -333,19 +333,36 @@ function importLayerPageInit (ctx) { | |||
333 | check_form(); | 333 | check_form(); |
334 | }); | 334 | }); |
335 | 335 | ||
336 | /* Have a guess at the layer name */ | 336 | /* Setup 'blank' typeahead */ |
337 | libtoaster.makeTypeahead(gitRefInput, | ||
338 | ctx.xhrGitRevTypeAheadUrl, | ||
339 | { git_url: null }, function(){}); | ||
340 | |||
341 | |||
337 | vcsURLInput.focusout(function (){ | 342 | vcsURLInput.focusout(function (){ |
343 | if (!$(this).val()) | ||
344 | return; | ||
345 | |||
338 | /* If we a layer name specified don't overwrite it or if there isn't a | 346 | /* If we a layer name specified don't overwrite it or if there isn't a |
339 | * url typed in yet return | 347 | * url typed in yet return |
340 | */ | 348 | */ |
341 | if (layerNameInput.val() || !$(this).val()) | 349 | if (!layerNameInput.val() && $(this).val().search("/")){ |
342 | return; | ||
343 | |||
344 | if ($(this).val().search("/")){ | ||
345 | var urlPts = $(this).val().split("/"); | 350 | var urlPts = $(this).val().split("/"); |
351 | /* Add a suggestion of the layer name */ | ||
346 | var suggestion = urlPts[urlPts.length-1].replace(".git",""); | 352 | var suggestion = urlPts[urlPts.length-1].replace(".git",""); |
347 | layerNameInput.val(suggestion); | 353 | layerNameInput.val(suggestion); |
348 | } | 354 | } |
355 | |||
356 | /* Now actually setup the typeahead properly with the git url entered */ | ||
357 | gitRefInput._typeahead('destroy'); | ||
358 | |||
359 | libtoaster.makeTypeahead(gitRefInput, | ||
360 | ctx.xhrGitRevTypeAheadUrl, | ||
361 | { git_url: $(this).val() }, | ||
362 | function(selected){ | ||
363 | gitRefInput._typeahead("close"); | ||
364 | }); | ||
365 | |||
349 | }); | 366 | }); |
350 | 367 | ||
351 | function radioDisplay() { | 368 | 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){ | |||
144 | /* Page init functions */ | 144 | /* Page init functions */ |
145 | 145 | ||
146 | QUnit.test("Import layer page init", function(assert){ | 146 | QUnit.test("Import layer page init", function(assert){ |
147 | assert.throws(importLayerPageInit()); | 147 | assert.throws(importLayerPageInit({ xhrGitRevTypeAheadUrl: "url" })); |
148 | }); | 148 | }); |
149 | 149 | ||
150 | QUnit.test("Project page init", function(assert){ | 150 | 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 @@ | |||
14 | $(document).ready(function (){ | 14 | $(document).ready(function (){ |
15 | var ctx = { | 15 | var ctx = { |
16 | xhrLayerUrl : "{% url 'xhr_layer' project.id %}", | 16 | xhrLayerUrl : "{% url 'xhr_layer' project.id %}", |
17 | xhrGitRevTypeAheadUrl : "{% url 'xhr_gitrevtypeahead' %}", | ||
17 | }; | 18 | }; |
18 | 19 | ||
19 | try { | 20 | try { |
@@ -112,8 +113,10 @@ | |||
112 | Git revision | 113 | Git revision |
113 | <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> | 114 | <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> |
114 | </label> | 115 | </label> |
115 | <input type="text" class="form-control" id="layer-git-ref" required> | 116 | <span style="display: block"> |
117 | <input type="text" class="form-control" id="layer-git-ref" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" required> | ||
116 | <span class="help-inline" style="display:none;" id="invalid-layer-revision-hint"></span> | 118 | <span class="help-inline" style="display:none;" id="invalid-layer-revision-hint"></span> |
119 | </span> | ||
117 | </div> | 120 | </div> |
118 | </fieldset> | 121 | </fieldset> |
119 | 122 | ||