diff options
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/toaster/toastergui/templates/projectconf.html | 111 |
1 files changed, 70 insertions, 41 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/projectconf.html b/bitbake/lib/toaster/toastergui/templates/projectconf.html index 27a898b657..c007859385 100644 --- a/bitbake/lib/toaster/toastergui/templates/projectconf.html +++ b/bitbake/lib/toaster/toastergui/templates/projectconf.html | |||
@@ -62,12 +62,16 @@ | |||
62 | <span id="image_fstypes">{{fstypes}}</span> | 62 | <span id="image_fstypes">{{fstypes}}</span> |
63 | <i class="icon-pencil" id="change-image_fstypes-icon"></i> | 63 | <i class="icon-pencil" id="change-image_fstypes-icon"></i> |
64 | <form id="change-image_fstypes-form" style="display:none;"> | 64 | <form id="change-image_fstypes-form" style="display:none;"> |
65 | <div class="input-append" id="validate-image_fstypes"> | ||
66 | <input type="text" class="input-xlarge" id="new-imagefs_types"> | ||
67 | <button id="apply-change-image_fstypes" type="button" class="btn">Save</button> | ||
68 | <button id="cancel-change-image_fstypes" type="button" class="btn btn-link">Cancel</button> | ||
69 | </div> | ||
70 | </br><span class="help-block error" style="display:none;" id="hintError-image-fs_type">A valid image type cannot include underscores.</span> | ||
71 | <p>Choose from known image types</p> | ||
65 | <input id="filter-image_fstypes" type="text" placeholder="Search image types" class="span4"> | 72 | <input id="filter-image_fstypes" type="text" placeholder="Search image types" class="span4"> |
66 | <div id="all-image_fstypes" class="scrolling"> | 73 | <div id="all-image_fstypes" class="scrolling"> |
67 | </div> | 74 | </div> |
68 | <span class="help-block" id="fstypes-error-message">You must select at least one image type</span> | ||
69 | <button id="apply-change-image_fstypes" type="button" class="btn">Save</button> | ||
70 | <button id="cancel-change-image_fstypes" type="button" class="btn btn-link">Cancel</button> | ||
71 | </form> | 75 | </form> |
72 | </dd> | 76 | </dd> |
73 | {% endif %} | 77 | {% endif %} |
@@ -322,22 +326,6 @@ | |||
322 | return true; | 326 | return true; |
323 | } | 327 | } |
324 | 328 | ||
325 | // Test to insure at least one FS Type is checked | ||
326 | function enableFsTypesSave() { | ||
327 | var any_checked = 0; | ||
328 | $(".fs-checkbox-fstypes:checked").each(function(){ | ||
329 | any_checked = 1; | ||
330 | }); | ||
331 | if ( 0 == any_checked ) { | ||
332 | $("#apply-change-image_fstypes").attr("disabled","disabled"); | ||
333 | $('#fstypes-error-message').show(); | ||
334 | } | ||
335 | else { | ||
336 | $("#apply-change-image_fstypes").removeAttr("disabled"); | ||
337 | $('#fstypes-error-message').hide(); | ||
338 | } | ||
339 | } | ||
340 | |||
341 | // Preset or reset the Package Class checkbox labels | 329 | // Preset or reset the Package Class checkbox labels |
342 | function updatePackageClassCheckboxes() { | 330 | function updatePackageClassCheckboxes() { |
343 | $('#package_class_1, #package_class_2').hide(); | 331 | $('#package_class_1, #package_class_2').hide(); |
@@ -603,6 +591,46 @@ | |||
603 | {% if fstypes_defined %} | 591 | {% if fstypes_defined %} |
604 | // change IMAGE_FSTYPES variable | 592 | // change IMAGE_FSTYPES variable |
605 | 593 | ||
594 | // get value of fstypes and add to the textbox | ||
595 | $("#new-imagefs_types").val("{{fstypes}}"); | ||
596 | |||
597 | // If value of new-imagefs_types is empty disable save button | ||
598 | $("#new-imagefs_types").on("input", function() { | ||
599 | $(this).val($(this).val().replace(/\s+/g,' ')); | ||
600 | if ($(this).val().length === 0) { | ||
601 | //$('#apply-change-image_fstypes').prop('disabled', true); | ||
602 | $('#apply-change-image_fstypes').attr("disabled", "disabled"); | ||
603 | } else { | ||
604 | //$('#apply-change-image_fstypes').prop('disabled', false); | ||
605 | $('#apply-change-image_fstypes').removeAttr("disabled"); | ||
606 | } | ||
607 | |||
608 | /*If user types imagefs do the action on checkboxes. | ||
609 | Lets say if an imagefstype typed by user and the same | ||
610 | imagefs is unchecked in the checkbox, then checkbox needs | ||
611 | to get checked. Similarly when user deletes imagefs from | ||
612 | textbox the checkbox which is checked gets unchecked. | ||
613 | */ | ||
614 | $('#all-image_fstypes input').each(function(){ | ||
615 | var imagefs_userval = $('#new-imagefs_types').val(); | ||
616 | if( imagefs_userval.indexOf($(this).val()) > -1) { | ||
617 | $(this).prop('checked', true); | ||
618 | } else { | ||
619 | $(this).prop('checked', false); | ||
620 | } | ||
621 | }); | ||
622 | |||
623 | // Validate underscore in image fs types | ||
624 | if ($(this).val().indexOf('_') > -1) { | ||
625 | $('#validate-image_fstypes').addClass('control-group error'); | ||
626 | $('#hintError-image-fs_type').show(); | ||
627 | $("#apply-change-image_fstypes").prop("disabled", true); | ||
628 | } else { | ||
629 | $('#validate-image_fstypes').removeClass('control-group error'); | ||
630 | $('#hintError-image-fs_type').hide(); | ||
631 | } | ||
632 | }); | ||
633 | |||
606 | $('#change-image_fstypes-icon').click(function() { | 634 | $('#change-image_fstypes-icon').click(function() { |
607 | $('#change-image_fstypes-icon, #image_fstypes').hide(); | 635 | $('#change-image_fstypes-icon, #image_fstypes').hide(); |
608 | $("#change-image_fstypes-form").slideDown(); | 636 | $("#change-image_fstypes-form").slideDown(); |
@@ -630,19 +658,33 @@ | |||
630 | document.getElementById("all-image_fstypes").innerHTML = html; | 658 | document.getElementById("all-image_fstypes").innerHTML = html; |
631 | $('#no-match-fstypes').hide(); | 659 | $('#no-match-fstypes').hide(); |
632 | 660 | ||
633 | // Watch elements to disable Save when none are checked | ||
634 | $(".fs-checkbox-fstypes").each(function(){ | ||
635 | $(this).click(function() { | ||
636 | enableFsTypesSave(); | ||
637 | }); | ||
638 | }); | ||
639 | |||
640 | // clear the previous filter values and warning messages | 661 | // clear the previous filter values and warning messages |
641 | $("input#filter-image_fstypes").val(""); | 662 | $("input#filter-image_fstypes").val(""); |
642 | $('#fstypes-error-message').hide(); | 663 | }); |
664 | |||
665 | // When checkbox is checked/unchecked kindly update the text | ||
666 | $(document).on("change", "#all-image_fstypes :checkbox", function() { | ||
667 | var imagefs = $(this); | ||
668 | var imagefs_obj = $('#new-imagefs_types'); | ||
669 | var imagefs_userval = imagefs_obj.val(); | ||
670 | if ($(this).is(':checked')) { | ||
671 | if (imagefs_userval.indexOf($(imagefs).val()) === -1) { | ||
672 | imagefs_obj.val(imagefs_userval + " " + $(imagefs).val()); | ||
673 | } | ||
674 | } else { | ||
675 | if (imagefs_userval.indexOf($(imagefs).val()) > -1) { | ||
676 | imagefs_obj.val(imagefs_userval.replace($(imagefs).val(), '').trim()); | ||
677 | } | ||
678 | } | ||
679 | if ($('#new-imagefs_types').val().length === 0) { | ||
680 | $("#apply-change-image_fstypes").prop("disabled", true); | ||
681 | } else { | ||
682 | $("#apply-change-image_fstypes").prop("disabled", false); | ||
683 | } | ||
643 | }); | 684 | }); |
644 | 685 | ||
645 | $('#cancel-change-image_fstypes').click(function(){ | 686 | $('#cancel-change-image_fstypes').click(function(){ |
687 | $("#new-imagefs_types").val("{{fstypes}}"); | ||
646 | $("#change-image_fstypes-form").slideUp(function() { | 688 | $("#change-image_fstypes-form").slideUp(function() { |
647 | $('#image_fstypes, #change-image_fstypes-icon').show(); | 689 | $('#image_fstypes, #change-image_fstypes-icon').show(); |
648 | }); | 690 | }); |
@@ -670,20 +712,7 @@ | |||
670 | }); | 712 | }); |
671 | 713 | ||
672 | $('#apply-change-image_fstypes').click(function(){ | 714 | $('#apply-change-image_fstypes').click(function(){ |
673 | // extract the selected fstypes and sort them | 715 | var fstypes = $('#new-imagefs_types').val(); |
674 | var fstypes_array = []; | ||
675 | var checkboxes = document.getElementsByClassName('fs-checkbox-fstypes'); | ||
676 | $(".fs-checkbox-fstypes:checked").each(function(){ | ||
677 | fstypes_array.push($(this).val()); | ||
678 | }); | ||
679 | fstypes_array.sort(); | ||
680 | |||
681 | // now make a string of them | ||
682 | var fstypes = ''; | ||
683 | for (var i = 0, length = fstypes_array.length; i < length; i++) { | ||
684 | fstypes += fstypes_array[i] + ' '; | ||
685 | } | ||
686 | fstypes = fstypes.trim(); | ||
687 | 716 | ||
688 | postEditAjaxRequest({"configvarChange" : 'IMAGE_FSTYPES:'+fstypes}); | 717 | postEditAjaxRequest({"configvarChange" : 'IMAGE_FSTYPES:'+fstypes}); |
689 | $('#image_fstypes').text(fstypes); | 718 | $('#image_fstypes').text(fstypes); |