diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index cec8f597bf5..2d6732832f4 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -1485,12 +1485,12 @@ jQuery(document).ready(function() { } + // Code to set tooltip on search field jQuery('table.liste tr.liste_titre_filter td.liste_titre input[name^="search"][type=text]:not(".maxwidthdate")').attr('title', 'transnoentities("SearchSyntaxTooltipForStringOrNum")) ?>'); -}); -jQuery(document).ready(function() { + // Code to toggle dropdown components jQuery(document).on("click", ".butAction.dropdown-toggle", function(event) { console.log("Click on .butAction.dropdown-toggle"); let parentHolder = jQuery(event.target).parent(); @@ -1514,23 +1514,24 @@ jQuery(document).ready(function() { let viewportBottom = $(window).scrollTop() + $(window).height(); // Change dropdown Up/Down orientation if dropdown is close to bottom viewport - if(parentHolder.hasClass('open') + if (parentHolder.hasClass('open') && dropDownContentBottom > viewportBottom // Check bottom of dropdown is behind viewport && dropDownContentTop - dropDownContentHeight > 0 // check if set dropdown to --up will not go over the top of document - ){ + ) { parentHolder.addClass("--up"); - }else{ + } else { parentHolder.removeClass("--up"); } // Change dropdown left/right offset if dropdown is close to left viewport - if(parentHolder.hasClass('open') && dropDownContentLeft < 0){ + if (parentHolder.hasClass('open') && dropDownContentLeft < 0) { parentHolder.addClass("--left"); - }else{ + } else { parentHolder.removeClass("--left"); } }); + // Close drop down jQuery(document).on("click", function(event) { // search if click was outside drop down @@ -1543,9 +1544,39 @@ jQuery(document).ready(function() { } } }); + + }); +// Code to manage the js for combo list with dependencies (called by extrafields_view.tpl.php) +function showOptions(child_list, parent_list) { + var val = $("select[name="+parent_list+"]").val(); + var parentVal = parent_list + ":" + val; + if(val > 0) { + $("select[name=\""+child_list+"\"] option[parent]").hide(); + $("select[name=\""+child_list+"\"] option[parent=\""+parentVal+"\"]").show(); + } else { + $("select[name=\""+child_list+"\"] option").show(); + } +} +function setListDependencies() { + console.log("setListDependencies"); + jQuery("select option[parent]").parent().each(function() { + var child_list = $(this).attr("name"); + var parent = $(this).find("option[parent]:first").attr("parent"); + var infos = parent.split(":"); + var parent_list = infos[0]; + showOptions(child_list, parent_list); + + /* Activate the handler to call showOptions on each future change */ + $("select[name=\""+parent_list+"\"]").change(function() { + showOptions(child_list, parent_list); + }); + }); +} + + diff --git a/htdocs/core/tpl/extrafields_view.tpl.php b/htdocs/core/tpl/extrafields_view.tpl.php index a1ab99db114..25bee4baf24 100644 --- a/htdocs/core/tpl/extrafields_view.tpl.php +++ b/htdocs/core/tpl/extrafields_view.tpl.php @@ -317,31 +317,6 @@ if (empty($reshook) && !empty($object->table_element) && isset($extrafields->att print ' '."\n";