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){
$(".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);
+ }
+ });
+ });
}