diff options
Diffstat (limited to 'bitbake/lib/toaster')
-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 | } |