[oe-commits] [bitbake] 13/22: toaster: layerdetails js changes for switching layers

git at git.openembedded.org git at git.openembedded.org
Fri Sep 2 17:11:13 UTC 2016


rpurdie pushed a commit to branch master
in repository bitbake.

commit 5c20834691f1b65cfc4a0c4ec12958f86b34bbeb
Author: Sujith H <sujith.h at gmail.com>
AuthorDate: Mon Aug 22 16:42:29 2016 +0100

    toaster: layerdetails js changes for switching layers
    
    This patch helps to implement the switching of layers
    between directories and git repositories. Specifically
    selection of git and local directory. Also enabling
    form to view the selection.
    
    [YOCTO #9913]
    
    Signed-off-by: Sujith H <sujith.h at gmail.com>
    Signed-off-by: Elliot Smith <elliot.smith at intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/toaster/toastergui/static/js/layerdetails.js | 98 ++++++++++++++++++++++++
 1 file changed, 98 insertions(+)

diff --git a/lib/toaster/toastergui/static/js/layerdetails.js b/lib/toaster/toastergui/static/js/layerdetails.js
index 0d4240b..2ff8e59 100644
--- a/lib/toaster/toastergui/static/js/layerdetails.js
+++ b/lib/toaster/toastergui/static/js/layerdetails.js
@@ -10,6 +10,7 @@ function layerDetailsPageInit (ctx) {
   var targetTab = $("#targets-tab");
   var machineTab = $("#machines-tab");
   var detailsTab = $("#details-tab");
+  var editLayerSource = $("#edit-layer-source");
 
   /* setup the dependencies typeahead */
   libtoaster.makeTypeahead(layerDepInput, libtoaster.ctx.layersTypeAheadUrl, { include_added: "true" }, function(item){
@@ -423,4 +424,101 @@ function layerDetailsPageInit (ctx) {
   $(".glyphicon-trash").tooltip();
   $(".commit").tooltip();
 
+  editLayerSource.click(function() {
+    // Kindly bring the git layers imported from layerindex to normal page and not this new page :(
+    $(this).hide();
+    $("#save-changes-for-switch").attr("disabled", "disabled");
+
+    $("#git-repo-info", "#directory-info").hide();
+    $("#edit-layer-source-form").fadeIn();
+    if ($("#layer-dir-path-in-details").val() == "") {
+      //Local dir path is empty...
+      $("#repo").prop("checked", true);
+      $("#layer-git").fadeIn();
+      $("#layer-dir").hide();
+    } else {
+      $("#layer-git").hide();
+      $("#layer-dir").fadeIn();
+    }
+  });
+
+  $('input:radio[name="source-location"]').change(function() {
+    if ($('input[name=source-location]:checked').val() == "repo") {
+      $("#layer-git").fadeIn();
+      $("#layer-dir").hide();
+	if ($("#layer-git-repo-url").val().length === 0 && $("#layer-git-ref").val().length === 0) {
+	    $("#save-changes-for-switch").attr("disabled", "disabled");
+	}
+    } else {
+      $("#layer-dir").fadeIn();
+      $("#layer-git").hide();
+    }
+  });
+
+  $("#layer-dir-path-in-details").keyup(function() {
+    $("#save-changes-for-switch").removeAttr("disabled");
+  });
+
+  $("#layer-git-repo-url").keyup(function() {
+    if ($("#layer-git-repo-url").val().length > 0 && $("#layer-git-ref").val().length > 0) {
+      $("#save-changes-for-switch").removeAttr("disabled");
+    }
+  });
+
+  $("#layer-git-ref").keyup(function() {
+    if ($("#layer-git-repo-url").val().length > 0 && $("#layer-git-ref").val().length > 0) {
+      $("#save-changes-for-switch").removeAttr("disabled");
+    }
+  });
+
+  $('#cancel-changes-for-switch').click(function() {
+    editLayerSource.show();
+    $("#git-repo-info", "#directory-info").fadeIn();
+    $("#edit-layer-source-form").fadeOut();
+
+    if ($("#layer-dir-path-in-details").val().length) {
+      $("#dir").prop("checked", true);
+      $("#layer-git").fadeOut();
+      $("#layer-dir").fadeIn();
+    } else {
+      $("#layer-git").fadeIn();
+      $("#layer-dir").fadeOut();
+    }
+  });
+
+  $('#save-changes-for-switch').click(function() {
+
+    var layerData = {
+      vcs_url: $('#layer-git-repo-url').val(),
+      commit: $('#layer-git-ref').val(),
+      dirpath: $('#layer-subdir').val(),
+      local_source_dir: $('#layer-dir-path-in-details').val(),
+    };
+
+    if ($('input[name=source-location]:checked').val() == "repo") {
+      layerData.local_source_dir = "";
+    } else {
+      layerData.vcs_url = "";
+      layerData.git_ref = "";
+    }
+
+    $.ajax({
+        type: "POST",
+        url: ctx.xhrUpdateLayerUrl,
+        data: layerData,
+        headers: { 'X-CSRFToken' : $.cookie('csrftoken')},
+        success: function (data) {
+          if (data.error != "ok") {
+            console.warn(data.error);
+          } else {
+            /* success layer property changed */
+            window.location.reload();
+          }
+        },
+        error: function (data) {
+          console.warn("Call failed");
+          console.warn(data);
+        }
+    });
+  });
 }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list