diff options
| -rw-r--r-- | bitbake/lib/toaster/toastergui/static/js/layerdetails.js | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/layerdetails.js b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js index 0d4240b354..2ff8e598a9 100644 --- a/bitbake/lib/toaster/toastergui/static/js/layerdetails.js +++ b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js | |||
| @@ -10,6 +10,7 @@ function layerDetailsPageInit (ctx) { | |||
| 10 | var targetTab = $("#targets-tab"); | 10 | var targetTab = $("#targets-tab"); |
| 11 | var machineTab = $("#machines-tab"); | 11 | var machineTab = $("#machines-tab"); |
| 12 | var detailsTab = $("#details-tab"); | 12 | var detailsTab = $("#details-tab"); |
| 13 | var editLayerSource = $("#edit-layer-source"); | ||
| 13 | 14 | ||
| 14 | /* setup the dependencies typeahead */ | 15 | /* setup the dependencies typeahead */ |
| 15 | libtoaster.makeTypeahead(layerDepInput, libtoaster.ctx.layersTypeAheadUrl, { include_added: "true" }, function(item){ | 16 | libtoaster.makeTypeahead(layerDepInput, libtoaster.ctx.layersTypeAheadUrl, { include_added: "true" }, function(item){ |
| @@ -423,4 +424,101 @@ function layerDetailsPageInit (ctx) { | |||
| 423 | $(".glyphicon-trash").tooltip(); | 424 | $(".glyphicon-trash").tooltip(); |
| 424 | $(".commit").tooltip(); | 425 | $(".commit").tooltip(); |
| 425 | 426 | ||
| 427 | editLayerSource.click(function() { | ||
| 428 | // Kindly bring the git layers imported from layerindex to normal page and not this new page :( | ||
| 429 | $(this).hide(); | ||
| 430 | $("#save-changes-for-switch").attr("disabled", "disabled"); | ||
| 431 | |||
| 432 | $("#git-repo-info", "#directory-info").hide(); | ||
| 433 | $("#edit-layer-source-form").fadeIn(); | ||
| 434 | if ($("#layer-dir-path-in-details").val() == "") { | ||
| 435 | //Local dir path is empty... | ||
| 436 | $("#repo").prop("checked", true); | ||
| 437 | $("#layer-git").fadeIn(); | ||
| 438 | $("#layer-dir").hide(); | ||
| 439 | } else { | ||
| 440 | $("#layer-git").hide(); | ||
| 441 | $("#layer-dir").fadeIn(); | ||
| 442 | } | ||
| 443 | }); | ||
| 444 | |||
| 445 | $('input:radio[name="source-location"]').change(function() { | ||
| 446 | if ($('input[name=source-location]:checked').val() == "repo") { | ||
| 447 | $("#layer-git").fadeIn(); | ||
| 448 | $("#layer-dir").hide(); | ||
| 449 | if ($("#layer-git-repo-url").val().length === 0 && $("#layer-git-ref").val().length === 0) { | ||
| 450 | $("#save-changes-for-switch").attr("disabled", "disabled"); | ||
| 451 | } | ||
| 452 | } else { | ||
| 453 | $("#layer-dir").fadeIn(); | ||
| 454 | $("#layer-git").hide(); | ||
| 455 | } | ||
| 456 | }); | ||
| 457 | |||
| 458 | $("#layer-dir-path-in-details").keyup(function() { | ||
| 459 | $("#save-changes-for-switch").removeAttr("disabled"); | ||
| 460 | }); | ||
| 461 | |||
| 462 | $("#layer-git-repo-url").keyup(function() { | ||
| 463 | if ($("#layer-git-repo-url").val().length > 0 && $("#layer-git-ref").val().length > 0) { | ||
| 464 | $("#save-changes-for-switch").removeAttr("disabled"); | ||
| 465 | } | ||
| 466 | }); | ||
| 467 | |||
| 468 | $("#layer-git-ref").keyup(function() { | ||
| 469 | if ($("#layer-git-repo-url").val().length > 0 && $("#layer-git-ref").val().length > 0) { | ||
| 470 | $("#save-changes-for-switch").removeAttr("disabled"); | ||
| 471 | } | ||
| 472 | }); | ||
| 473 | |||
| 474 | $('#cancel-changes-for-switch').click(function() { | ||
| 475 | editLayerSource.show(); | ||
| 476 | $("#git-repo-info", "#directory-info").fadeIn(); | ||
| 477 | $("#edit-layer-source-form").fadeOut(); | ||
| 478 | |||
| 479 | if ($("#layer-dir-path-in-details").val().length) { | ||
| 480 | $("#dir").prop("checked", true); | ||
| 481 | $("#layer-git").fadeOut(); | ||
| 482 | $("#layer-dir").fadeIn(); | ||
| 483 | } else { | ||
| 484 | $("#layer-git").fadeIn(); | ||
| 485 | $("#layer-dir").fadeOut(); | ||
| 486 | } | ||
| 487 | }); | ||
| 488 | |||
| 489 | $('#save-changes-for-switch').click(function() { | ||
| 490 | |||
| 491 | var layerData = { | ||
| 492 | vcs_url: $('#layer-git-repo-url').val(), | ||
| 493 | commit: $('#layer-git-ref').val(), | ||
| 494 | dirpath: $('#layer-subdir').val(), | ||
| 495 | local_source_dir: $('#layer-dir-path-in-details').val(), | ||
| 496 | }; | ||
| 497 | |||
| 498 | if ($('input[name=source-location]:checked').val() == "repo") { | ||
| 499 | layerData.local_source_dir = ""; | ||
| 500 | } else { | ||
| 501 | layerData.vcs_url = ""; | ||
| 502 | layerData.git_ref = ""; | ||
| 503 | } | ||
| 504 | |||
| 505 | $.ajax({ | ||
| 506 | type: "POST", | ||
| 507 | url: ctx.xhrUpdateLayerUrl, | ||
| 508 | data: layerData, | ||
| 509 | headers: { 'X-CSRFToken' : $.cookie('csrftoken')}, | ||
| 510 | success: function (data) { | ||
| 511 | if (data.error != "ok") { | ||
| 512 | console.warn(data.error); | ||
| 513 | } else { | ||
| 514 | /* success layer property changed */ | ||
| 515 | window.location.reload(); | ||
| 516 | } | ||
| 517 | }, | ||
| 518 | error: function (data) { | ||
| 519 | console.warn("Call failed"); | ||
| 520 | console.warn(data); | ||
| 521 | } | ||
| 522 | }); | ||
| 523 | }); | ||
| 426 | } | 524 | } |
