mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-06 09:38:23 +01:00
Clean code to avoid duplicate js code
This commit is contained in:
@@ -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', '<?php echo dol_escape_js($langs->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);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
<?php
|
||||
if (!getDolGlobalString('MAIN_DISABLE_SELECT2_FOCUS_PROTECTION') && !defined('DISABLE_SELECT2_FOCUS_PROTECTION')) {
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user