]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
toaster: fixes for customimage package not found
authorDave Lerner <dave.lerner@windriver.com>
Fri, 8 Apr 2016 08:39:28 +0000 (09:39 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 9 Apr 2016 06:59:43 +0000 (07:59 +0100)
For a custom image, if a search for a package results in no packages
found, then additional information should be presented to the user.
This is different than a 'no results' found for a search in other
contexts, for example, a search for a package in a non-customised build.
For a custom image, a package search failure can happen because the
package was not added to the custom image. This commit presents more
information to the user, suggesting why the package was not found in the
custom image.
The generic table view handling js changes to handle a new div
element no-results-special-... such that, if present, that template
section is shown rather than the default no-results-... section.

[YOCTO #9154]

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/toaster/toastergui/static/js/customrecipe.js
lib/toaster/toastergui/static/js/table.js
lib/toaster/toastergui/templates/customrecipe.html

index a31c26834e07c7f3ced07e7e3c0d42fd8bbcc243..1c0ef9e37daab9499a65ddc32e137a636742b903 100644 (file)
@@ -265,6 +265,15 @@ function customRecipePageInit(ctx) {
     });
   }
 
+  $("#no-results-show-all-packages").click(function(){
+    $(".no-results-search-input").val("");
+  });
+
+  $("#no-results-remove-search-btn").click(function(){
+      $(".no-results-search-input").val("");
+      $(this).hide();
+  });
+
   /* Trigger a build of your custom image */
   $(".build-custom-image").click(function(){
     libtoaster.startABuild(null, ctx.recipe.name,
index a7e4fbad09a6d026a33be6c531f61a8bf85b192f..2ae7695071d8ad8604b46294bd266bc0b38d471c 100644 (file)
@@ -75,8 +75,15 @@ function tableInit(ctx){
 
     if (tableData.total === 0){
       tableContainer.hide();
-      $("#new-search-input-"+ctx.tableName).val(tableParams.search);
-      $("#no-results-"+ctx.tableName).show();
+      if ($("#no-results-special-"+ctx.tableName).length > 0) {
+        /* use this page's special no-results form instead of the default */
+        $("#no-results-search-input-"+ctx.tableName).val(tableParams.search);
+        $("#no-results-special-"+ctx.tableName).show();
+        $("#results-found-"+ctx.tableName).hide();
+      } else {
+        $("#new-search-input-"+ctx.tableName).val(tableParams.search);
+        $("#no-results-"+ctx.tableName).show();
+      }
       table.trigger("table-done", [tableData.total, tableParams]);
 
       return;
index 4b589926c5d22e877f921a1351308f171cab248d..ea3c9c732412525ab3fd1d8900ce2636cdabf5e0 100644 (file)
         Download recipe file
       </a>
     </div>
-    <div id="no-package-results" class="air" style="display:none;">
+    <div id="no-results-special-{{table_name}}" class="air" style="display:none;">
       <div class="alert">
         <h3>No packages found</h3>
-        <p>You might consider <a href="all-software-recipes.html">searching the list of recipes</a> instead. If you find a recipe that matches the name of the package you want:</p>
+        <p>You might consider <a href={% url 'projectsoftwarerecipes' project.id %}>searching the list of recipes</a> instead. If you find a recipe that matches the name of the package you want:</p>
         <ol>
           <li>Add the layer providing the recipe to your project</li>
           <li>Build the recipe</li>
           <li>Once the build completes, come back to this page and search for the package</li>
         </ol>
         <form class="input-append no-results">
-          <input type="text" class="input-xlarge" value="search query">
-            <a href="#" class="add-on btn">
-              <i class="icon-remove"></i>
-            </a>
-            <button class="btn">Search</button>
-            <button class="btn btn-link" id="show-all">Show all packages</button>
-          </form>
-        </div>
+          <input type="text" class="input-xlarge no-results-search-input" id="no-results-search-input-{{table_name}}" name="search" placeholder="Search {{title|lower}}" />
+          <a href="#" class="add-on btn" id="no-results-remove-search-btn" tabindex="-1">
+            <i class="icon-remove"></i>
+          </a>
+          <button class="btn search-submit-{{table_name}}">Search</button>
+          <button class="btn btn-link" id="no-results-show-all-packages">Show all packages</button>
+        </form>
+      </div>
       </div>
+      <div id="results-found-{{table_name}}">
       <div id="packages-table">
         {% if recipe.get_all_packages.count == 0 and last_build == None %}
         <h2> Add | Remove packages </h2>
         {% include "toastertable.html" %}
         {% endif %}
       </div>
+      </div>
     </div>
     <div class="span4 well">
       <h2 style="margin-bottom:20px;">About {{recipe.name}}</h2>