FIX Reduce flash effect on collapse extrafield
FIX Reduce flash effect on edit inline feature.
This commit is contained in:
parent
118b211807
commit
a6e7a41e98
@ -66,6 +66,11 @@ class ExtraFields
|
||||
*/
|
||||
public $attributes;
|
||||
|
||||
/**
|
||||
* @var array Array with boolean of status of groups
|
||||
*/
|
||||
public $expand_display;
|
||||
|
||||
/**
|
||||
* @var string Error code (or message)
|
||||
*/
|
||||
@ -1866,55 +1871,58 @@ class ExtraFields
|
||||
$colspan=0;
|
||||
}
|
||||
|
||||
$extrafield_param = $this->attributes[$object->table_element]['param'][$key];
|
||||
$extrafield_param_list = array();
|
||||
if (!empty($extrafield_param) && is_array($extrafield_param)) {
|
||||
$extrafield_param_list = array_keys($extrafield_param['options']);
|
||||
}
|
||||
$extrafield_collapse_display_value = -1;
|
||||
$expand_display = false;
|
||||
if (is_array($extrafield_param_list) && count($extrafield_param_list) > 0) {
|
||||
$extrafield_collapse_display_value = intval($extrafield_param_list[0]);
|
||||
$expand_display = ((isset($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key]) || GETPOST('ignorecollapsesetup', 'int')) ? ($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key] ? true : false) : ($extrafield_collapse_display_value == 2 ? false : true));
|
||||
}
|
||||
|
||||
$out = '<'.$tagtype.' id="trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'" class="trextrafieldseparator trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'">';
|
||||
$out .= '<'.$tagtype_dyn.' '.(!empty($colspan)?'colspan="' . $colspan . '"':'').'>';
|
||||
// Some js code will be injected here to manage the collapsing of extrafields
|
||||
$out .='<strong>';
|
||||
$out .= '<span class="cursorpointer far fa-plus-square"></span> ';
|
||||
$out .= '<strong>';
|
||||
$out .= $langs->trans($this->attributes[$object->table_element]['label'][$key]);
|
||||
$out .= '</strong>';
|
||||
$out .= '</'.$tagtype_dyn.'>';
|
||||
$out .= '</'.$tagtype.'>';
|
||||
|
||||
$extrafield_param = $this->attributes[$object->table_element]['param'][$key];
|
||||
if (!empty($extrafield_param) && is_array($extrafield_param)) {
|
||||
$extrafield_param_list = array_keys($extrafield_param['options']);
|
||||
if ($extrafield_collapse_display_value == 1 || $extrafield_collapse_display_value == 2) {
|
||||
// Set the collapse_display status to cookie in priority or if ignorecollapsesetup is 1, if cookie and ignorecollapsesetup not defined, use the setup.
|
||||
$extrafields_collapse_num = $this->attributes[$object->table_element]['pos'][$key].(!empty($object->id)?'_'.$object->id:'');
|
||||
$this->expand_display[$extrafields_collapse_num] = $expand_display;
|
||||
|
||||
if (count($extrafield_param_list) > 0) {
|
||||
$extrafield_collapse_display_value = intval($extrafield_param_list[0]);
|
||||
if ($extrafield_collapse_display_value == 1 || $extrafield_collapse_display_value == 2) {
|
||||
// Set the collapse_display status to cookie in priority or if ignorecollapsesetup is 1, if cookie and ignorecollapsesetup not defined, use the setup.
|
||||
$collapse_display = ((isset($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key]) || GETPOST('ignorecollapsesetup', 'int')) ? ($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key] ? true : false) : ($extrafield_collapse_display_value == 2 ? false : true));
|
||||
$extrafields_collapse_num = $this->attributes[$object->table_element]['pos'][$key].(!empty($object->id)?'_'.$object->id:'');
|
||||
|
||||
if (!empty($conf->use_javascript_ajax)) {
|
||||
$out .= '<!-- Add js script to manage the collapse/uncollapse of extrafields separators '.$key.' -->'."\n";
|
||||
$out .= '<script type="text/javascript">'."\n";
|
||||
$out .= 'jQuery(document).ready(function(){'."\n";
|
||||
if ($collapse_display === false) {
|
||||
$out .= ' console.log("Inject js for the collapsing of extrafield '.$key.' - hide");';
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-plus-square\"></span> ");'."\n";
|
||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").hide();'."\n";
|
||||
} else {
|
||||
$out .= ' console.log("Inject js for collapsing of extrafield '.$key.' - keep visible and set cookie");';
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-minus-square\"></span> ");'."\n";
|
||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||
}
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n";
|
||||
$out .= ' console.log("We click on collapse/uncollapse .trextrafields_collapse'.$extrafields_collapse_num.'");'."\n";
|
||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(100, function(){'."\n";
|
||||
$out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n";
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n";
|
||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=0; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||
$out .= ' } else {'."\n";
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-minus-square").removeClass("fa-plus-square");'."\n";
|
||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||
$out .= ' }'."\n";
|
||||
$out .= ' });'."\n";
|
||||
$out .= ' });'."\n";
|
||||
$out .= '});'."\n";
|
||||
$out .= '</script>'."\n";
|
||||
}
|
||||
if (!empty($conf->use_javascript_ajax)) {
|
||||
$out .= '<!-- Add js script to manage the collapse/uncollapse of extrafields separators '.$key.' -->'."\n";
|
||||
$out .= '<script type="text/javascript">'."\n";
|
||||
$out .= 'jQuery(document).ready(function(){'."\n";
|
||||
if ($expand_display === false) {
|
||||
$out .= ' console.log("Inject js for the collapsing of extrafield '.$key.' - hide");'."\n";
|
||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").hide();'."\n";
|
||||
} else {
|
||||
$out .= ' console.log("Inject js for collapsing of extrafield '.$key.' - keep visible and set cookie");'."\n";
|
||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||
}
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n";
|
||||
$out .= ' console.log("We click on collapse/uncollapse .trextrafields_collapse'.$extrafields_collapse_num.'");'."\n";
|
||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(100, function(){'."\n";
|
||||
$out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n";
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n";
|
||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=0; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||
$out .= ' } else {'."\n";
|
||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-minus-square").removeClass("fa-plus-square");'."\n";
|
||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||
$out .= ' }'."\n";
|
||||
$out .= ' });'."\n";
|
||||
$out .= ' });'."\n";
|
||||
$out .= '});'."\n";
|
||||
$out .= '</script>'."\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -141,9 +141,9 @@ class Form
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
//if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
$ret .= '<table class="nobordernopadding centpercent"><tr><td class="nowrap">';
|
||||
}
|
||||
//}
|
||||
if ($fieldrequired) {
|
||||
$ret .= '<span class="fieldrequired">';
|
||||
}
|
||||
@ -158,9 +158,9 @@ class Form
|
||||
if (!empty($notabletag)) {
|
||||
$ret .= ' ';
|
||||
}
|
||||
if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
//if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
$ret .= '</td>';
|
||||
}
|
||||
//}
|
||||
if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
$ret .= '<td class="right">';
|
||||
}
|
||||
@ -176,9 +176,9 @@ class Form
|
||||
if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
$ret .= '</td>';
|
||||
}
|
||||
if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
//if (empty($notabletag) && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) {
|
||||
$ret .= '</tr></table>';
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
return $ret;
|
||||
|
||||
@ -125,14 +125,19 @@ if (empty($reshook) && isset($extrafields->attributes[$object->table_element]['l
|
||||
|
||||
$lastseparatorkeyfound = $tmpkeyextra;
|
||||
} else {
|
||||
print '<tr class="trextrafields_collapse'.$extrafields_collapse_num.(!empty($object->id) ? '_'.$object->id : '');
|
||||
$collapse_group = $extrafields_collapse_num.(!empty($object->id) ? '_'.$object->id : '');
|
||||
print '<tr class="trextrafields_collapse'.$collapse_group;
|
||||
/*if ($extrafields_collapse_num && $extrafields_collapse_num_old && $extrafields_collapse_num != $extrafields_collapse_num_old) {
|
||||
print ' trextrafields_collapse_new';
|
||||
}*/
|
||||
if ($extrafields_collapse_num && $i == count($extrafields->attributes[$object->table_element]['label'])) {
|
||||
print ' trextrafields_collapse_last';
|
||||
}
|
||||
print '">';
|
||||
print '"';
|
||||
if (empty($extrafields->expand_display[$collapse_group])) {
|
||||
print ' style="display: none;"';
|
||||
}
|
||||
print '>';
|
||||
$extrafields_collapse_num_old = $extrafields_collapse_num;
|
||||
print '<td class="titlefield">';
|
||||
print '<table class="nobordernopadding centpercent">';
|
||||
|
||||
@ -223,7 +223,7 @@ input {
|
||||
padding-left: 5px;
|
||||
}
|
||||
select {
|
||||
padding-top: 5px;
|
||||
padding-top: 4px;
|
||||
padding-right: 4px;
|
||||
padding-bottom: 5px;
|
||||
padding-left: 2px;
|
||||
@ -550,6 +550,13 @@ div#moretabsList, div#moretabsListaction {
|
||||
hr { border: 0; border-top: 1px solid #ccc; }
|
||||
.tabBar hr { margin-top: 20px; margin-bottom: 17px; }
|
||||
|
||||
|
||||
table.tableforfield .button:not(.bordertransp):not(.buttonpayment),
|
||||
table.tableforfield .buttonDelete:not(.bordertransp):not(.buttonpayment) {
|
||||
margin-bottom: 2px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.button:not(.bordertransp):not(.buttonpayment),
|
||||
.buttonDelete:not(.bordertransp):not(.buttonpayment) {
|
||||
margin-bottom: 3px;
|
||||
@ -3495,11 +3502,10 @@ table.border, table.bordernooddeven, table.dataTable, .table-border, .table-bord
|
||||
table.borderplus {
|
||||
border: 1px solid #BBB;
|
||||
}
|
||||
.border tbody tr, .bordernooddeven tbody tr, .border tbody tr td, .bordernooddeven tbody tr td, div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col {
|
||||
height: 22px;
|
||||
}
|
||||
.border tbody tr, .bordernooddeven tbody tr, .border tbody tr td, .bordernooddeven tbody tr td,
|
||||
div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col,
|
||||
tr.liste_titre.box_titre td table td, .bordernooddeven tr td {
|
||||
height: 22px;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar .table-val-border-col {
|
||||
@ -3507,17 +3513,15 @@ div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border
|
||||
}
|
||||
div .tdtop {
|
||||
vertical-align: top !important;
|
||||
/*padding-top: 10px !important;
|
||||
padding-bottom: 2px !important; */
|
||||
}
|
||||
|
||||
table.border td, table.bordernooddeven td, div.border div div.tagtd {
|
||||
padding: 5px 2px 5px 2px;
|
||||
padding: 2px 2px 2px 2px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
div.tabBar .fichecenter table.border>tbody>tr>td, div.tabBar .fichecenter div.border div div.tagtd, div.tabBar div.border div div.tagtd
|
||||
{
|
||||
padding-top: 5px;
|
||||
padding-top: 2px;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
|
||||
|
||||
@ -730,6 +730,14 @@ div#moretabsList, div#moretabsListaction {
|
||||
}
|
||||
|
||||
hr { border: 0; border-top: 1px solid #ccc; }
|
||||
.tabBar hr { margin-top: 20px; margin-bottom: 17px; }
|
||||
|
||||
|
||||
table.tableforfield .button:not(.bordertransp):not(.buttonpayment),
|
||||
table.tableforfield .buttonDelete:not(.bordertransp):not(.buttonpayment) {
|
||||
margin-bottom: 2px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.button:not(.bordertransp):not(.buttonpayment), .buttonDelete:not(.bordertransp):not(.buttonpayment) {
|
||||
border-color: #c5c5c5;
|
||||
@ -3564,15 +3572,14 @@ table.borderplus {
|
||||
border: 1px solid #BBB;
|
||||
}
|
||||
|
||||
.border tbody tr, .bordernooddeven tbody tr, .border tbody tr td, .bordernooddeven tbody tr td, div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col {
|
||||
height: 26px;
|
||||
}
|
||||
.border tbody tr, .bordernooddeven tbody tr, .border tbody tr td, .bordernooddeven tbody tr td,
|
||||
div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col,
|
||||
tr.liste_titre.box_titre td table td, .bordernooddeven tr td {
|
||||
height: 26px;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
table.border td, table.bordernooddeven td, div.border div div.tagtd {
|
||||
padding: 4px 4px 4px 4px;
|
||||
padding: 3px 4px 3px 4px;
|
||||
border: 1px solid #f0f0f0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user