NEW Can set a label as placeholder for combo lists.
This commit is contained in:
parent
9ec5ba46fb
commit
db9b6b53da
@ -523,10 +523,10 @@ if ($mode == 'common' || $mode == 'commonkanban') {
|
|||||||
|
|
||||||
$moreforfilter .= '<div class="colorbacktimesheet float valignmiddle">';
|
$moreforfilter .= '<div class="colorbacktimesheet float valignmiddle">';
|
||||||
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
||||||
$moreforfilter .= $langs->trans('Keyword').': <input type="text" id="search_keyword" name="search_keyword" class="maxwidth100" value="'.dol_escape_htmltag($search_keyword).'">';
|
$moreforfilter .= img_picto($langs->trans("Filter"), 'filter', 'class="paddingright opacitymedium"').'<input type="text" id="search_keyword" name="search_keyword" class="maxwidth100" value="'.dol_escape_htmltag($search_keyword).'" placeholder="'.dol_escape_htmltag($langs->trans('Keyword')).'">';
|
||||||
$moreforfilter .= '</div>';
|
$moreforfilter .= '</div>';
|
||||||
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
||||||
$moreforfilter .= $langs->trans('Origin').': '.$form->selectarray('search_nature', $arrayofnatures, dol_escape_htmltag($search_nature), 1, 0, 0, '', 0, 0, 0, '', 'maxwidth200', 1);
|
$moreforfilter .= $form->selectarray('search_nature', $arrayofnatures, dol_escape_htmltag($search_nature), $langs->trans('Origin'), 0, 0, '', 0, 0, 0, '', 'maxwidth200', 1);
|
||||||
$moreforfilter .= '</div>';
|
$moreforfilter .= '</div>';
|
||||||
if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
|
if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
|
||||||
$array_version = array('stable'=>$langs->transnoentitiesnoconv("Stable"));
|
$array_version = array('stable'=>$langs->transnoentitiesnoconv("Stable"));
|
||||||
@ -540,11 +540,11 @@ if ($mode == 'common' || $mode == 'commonkanban') {
|
|||||||
$array_version['development'] = $langs->trans("Development");
|
$array_version['development'] = $langs->trans("Development");
|
||||||
}
|
}
|
||||||
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
||||||
$moreforfilter .= $langs->trans('Version').': '.$form->selectarray('search_version', $array_version, $search_version, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth150', 1);
|
$moreforfilter .= $form->selectarray('search_version', $array_version, $search_version, $langs->trans('Version'), 0, 0, '', 0, 0, 0, '', 'maxwidth150', 1);
|
||||||
$moreforfilter .= '</div>';
|
$moreforfilter .= '</div>';
|
||||||
}
|
}
|
||||||
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
$moreforfilter .= '<div class="divsearchfield paddingtop">';
|
||||||
$moreforfilter .= $langs->trans('Status').': '.$form->selectarray('search_status', array('active'=>$langs->transnoentitiesnoconv("Enabled"), 'disabled'=>$langs->transnoentitiesnoconv("Disabled")), $search_status, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth150', 1);
|
$moreforfilter .= $form->selectarray('search_status', array('active'=>$langs->transnoentitiesnoconv("Enabled"), 'disabled'=>$langs->transnoentitiesnoconv("Disabled")), $search_status, $langs->trans('Status'), 0, 0, '', 0, 0, 0, '', 'maxwidth150', 1);
|
||||||
$moreforfilter .= '</div>';
|
$moreforfilter .= '</div>';
|
||||||
$moreforfilter .= ' ';
|
$moreforfilter .= ' ';
|
||||||
$moreforfilter .= '<div class="divsearchfield">';
|
$moreforfilter .= '<div class="divsearchfield">';
|
||||||
@ -937,6 +937,8 @@ if ($mode == 'common' || $mode == 'commonkanban') {
|
|||||||
if ($mode == 'marketplace') {
|
if ($mode == 'marketplace') {
|
||||||
print dol_get_fiche_head($head, $mode, '', -1);
|
print dol_get_fiche_head($head, $mode, '', -1);
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
// Marketplace
|
// Marketplace
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table summary="list_of_modules" class="noborder centpercent">'."\n";
|
print '<table summary="list_of_modules" class="noborder centpercent">'."\n";
|
||||||
@ -977,8 +979,8 @@ if ($mode == 'marketplace') {
|
|||||||
?>
|
?>
|
||||||
<input type="hidden" name="token" value="<?php echo newToken(); ?>">
|
<input type="hidden" name="token" value="<?php echo newToken(); ?>">
|
||||||
<input type="hidden" name="mode" value="marketplace">
|
<input type="hidden" name="mode" value="marketplace">
|
||||||
<div class="divsearchfield"><?php echo $langs->trans('Keyword') ?>:
|
<div class="divsearchfield">
|
||||||
<input name="search_keyword" placeholder="<?php echo $langs->trans('Chercher un module') ?>" id="search_keyword" type="text" size="50" value="<?php echo $options['search'] ?>"><br>
|
<input name="search_keyword" placeholder="<?php echo $langs->trans('Keyword') ?>" id="search_keyword" type="text" size="50" value="<?php echo $options['search'] ?>"><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="divsearchfield">
|
<div class="divsearchfield">
|
||||||
<input class="button buttongen" value="<?php echo $langs->trans('Rechercher') ?>" type="submit">
|
<input class="button buttongen" value="<?php echo $langs->trans('Rechercher') ?>" type="submit">
|
||||||
@ -1190,6 +1192,8 @@ if ($mode == 'deploy') {
|
|||||||
if ($mode == 'develop') {
|
if ($mode == 'develop') {
|
||||||
print dol_get_fiche_head($head, $mode, '', -1);
|
print dol_get_fiche_head($head, $mode, '', -1);
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
// Marketplace
|
// Marketplace
|
||||||
print "<table summary=\"list_of_modules\" class=\"noborder\" width=\"100%\">\n";
|
print "<table summary=\"list_of_modules\" class=\"noborder\" width=\"100%\">\n";
|
||||||
print "<tr class=\"liste_titre\">\n";
|
print "<tr class=\"liste_titre\">\n";
|
||||||
|
|||||||
@ -6427,7 +6427,7 @@ class Form
|
|||||||
* @param string $htmlname Name of html select area. Must start with "multi" if this is a multiselect
|
* @param string $htmlname Name of html select area. Must start with "multi" if this is a multiselect
|
||||||
* @param array $array Array like array(key => value) or array(key=>array('label'=>..., 'data-...'=>..., 'disabled'=>..., 'css'=>...))
|
* @param array $array Array like array(key => value) or array(key=>array('label'=>..., 'data-...'=>..., 'disabled'=>..., 'css'=>...))
|
||||||
* @param string|string[] $id Preselected key or preselected keys for multiselect
|
* @param string|string[] $id Preselected key or preselected keys for multiselect
|
||||||
* @param int|string $show_empty 0 no empty value allowed, 1 or string to add an empty value into list (key is -1 and value is '' or ' ' if 1, key is -1 and value is text if string), <0 to add an empty value with key that is this value.
|
* @param int|string $show_empty 0 no empty value allowed, 1 or string to add an empty value into list (key is -1 and value is '' or ' ' if 1, key is -1 and value is the text if it is a placeholder string), <0 to add an empty value with key that is this value.
|
||||||
* @param int $key_in_label 1 to show key into label with format "[key] value"
|
* @param int $key_in_label 1 to show key into label with format "[key] value"
|
||||||
* @param int $value_as_key 1 to use value as key
|
* @param int $value_as_key 1 to use value as key
|
||||||
* @param string $moreparam Add more parameters onto the select tag. For example 'style="width: 95%"' to avoid select2 component to go over parent container
|
* @param string $moreparam Add more parameters onto the select tag. For example 'style="width: 95%"' to avoid select2 component to go over parent container
|
||||||
|
|||||||
@ -434,14 +434,17 @@ function ajax_combobox($htmlname, $events = array(), $minLengthToAutocomplete =
|
|||||||
minimumInputLength: '.$minLengthToAutocomplete.',
|
minimumInputLength: '.$minLengthToAutocomplete.',
|
||||||
language: select2arrayoflanguage,
|
language: select2arrayoflanguage,
|
||||||
containerCssClass: \':all:\', /* Line to add class of origin SELECT propagated to the new <span class="select2-selection...> tag */
|
containerCssClass: \':all:\', /* Line to add class of origin SELECT propagated to the new <span class="select2-selection...> tag */
|
||||||
|
selectionCssClass: \':all:\', /* Line to add class of origin SELECT propagated to the new <span class="select2-selection...> tag */
|
||||||
templateResult: function (data, container) { /* Format visible output into combo list */
|
templateResult: function (data, container) { /* Format visible output into combo list */
|
||||||
/* Code to add class of origin OPTION propagated to the new select2 <li> tag */
|
/* Code to add class of origin OPTION propagated to the new select2 <li> tag */
|
||||||
if (data.element) { $(container).addClass($(data.element).attr("class")); }
|
if (data.element) { $(container).addClass($(data.element).attr("class")); }
|
||||||
//console.log(data.html);
|
//console.log(data.html);
|
||||||
|
if (data.id == -1) return \' \';
|
||||||
if ($(data.element).attr("data-html") != undefined) return htmlEntityDecodeJs($(data.element).attr("data-html")); // If property html set, we decode html entities and use this
|
if ($(data.element).attr("data-html") != undefined) return htmlEntityDecodeJs($(data.element).attr("data-html")); // If property html set, we decode html entities and use this
|
||||||
return data.text;
|
return data.text;
|
||||||
},
|
},
|
||||||
templateSelection: function (selection) { /* Format visible output of selected value */
|
templateSelection: function (selection) { /* Format visible output of selected value */
|
||||||
|
if (selection.id == -1) return \'<span class="placeholder">\'+selection.text+\'</span>\';
|
||||||
return selection.text;
|
return selection.text;
|
||||||
},
|
},
|
||||||
escapeMarkup: function(markup) {
|
escapeMarkup: function(markup) {
|
||||||
|
|||||||
@ -125,6 +125,10 @@ th.liste_titre a div div:hover, th.liste_titre_sel a div div:hover { text-decora
|
|||||||
tr.liste_titre th.liste_titre_sel:not(.maxwidthsearch), tr.liste_titre td.liste_titre_sel:not(.maxwidthsearch),
|
tr.liste_titre th.liste_titre_sel:not(.maxwidthsearch), tr.liste_titre td.liste_titre_sel:not(.maxwidthsearch),
|
||||||
tr.liste_titre th.liste_titre:not(.maxwidthsearch), tr.liste_titre td.liste_titre:not(.maxwidthsearch) { opacity: 0.8; }
|
tr.liste_titre th.liste_titre:not(.maxwidthsearch), tr.liste_titre td.liste_titre:not(.maxwidthsearch) { opacity: 0.8; }
|
||||||
/* th.liste_titre_sel a, th.liste_titre a, td.liste_titre_sel a, td.liste_titre a { color: #766; } */
|
/* th.liste_titre_sel a, th.liste_titre a, td.liste_titre_sel a, td.liste_titre a { color: #766; } */
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-size: unset;
|
||||||
|
}
|
||||||
input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select {
|
input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select {
|
||||||
background-color: var(--inputbackgroundcolor);
|
background-color: var(--inputbackgroundcolor);
|
||||||
color: var(--colortext);
|
color: var(--colortext);
|
||||||
@ -174,9 +178,12 @@ input, input.flat, textarea, textarea.flat, form.flat select, select, select.fla
|
|||||||
|
|
||||||
input {
|
input {
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
padding: 5px;
|
padding: 4px;
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
.liste_titre input {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
select {
|
select {
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
padding-right: 4px;
|
padding-right: 4px;
|
||||||
@ -440,8 +447,12 @@ input:-webkit-autofill {
|
|||||||
background-image:none !important;
|
background-image:none !important;
|
||||||
-webkit-box-shadow: 0 0 0 50px #FDFFF0 inset;
|
-webkit-box-shadow: 0 0 0 50px #FDFFF0 inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* CSS for placeholder */
|
||||||
|
.placeholder { color: #ccc; }
|
||||||
::-webkit-input-placeholder { color: #ccc; }
|
::-webkit-input-placeholder { color: #ccc; }
|
||||||
input:-moz-placeholder { color: #ccc; }
|
input:-moz-placeholder { color: #ccc; }
|
||||||
|
|
||||||
input[name=price], input[name=weight], input[name=volume], input[name=surface], input[name=sizeheight], input[name=net_measure], select[name=incoterm_id] { margin-right: 6px; }
|
input[name=price], input[name=weight], input[name=volume], input[name=surface], input[name=sizeheight], input[name=net_measure], select[name=incoterm_id] { margin-right: 6px; }
|
||||||
fieldset { border: 1px solid #AAAAAA !important; }
|
fieldset { border: 1px solid #AAAAAA !important; }
|
||||||
.legendforfieldsetstep { padding-bottom: 10px; }
|
.legendforfieldsetstep { padding-bottom: 10px; }
|
||||||
@ -4139,7 +4150,7 @@ div.boximport {
|
|||||||
|
|
||||||
.fieldrequired { font-weight: bold; color: var(--fieldrequiredcolor) !important; }
|
.fieldrequired { font-weight: bold; color: var(--fieldrequiredcolor) !important; }
|
||||||
|
|
||||||
td.widthpictotitle { width: 26px; text-align: <?php echo $left; ?>; }
|
td.widthpictotitle { width: 38px; text-align: <?php echo $left; ?>; }
|
||||||
span.widthpictotitle { font-size: 1.7em; }
|
span.widthpictotitle { font-size: 1.7em; }
|
||||||
table.titlemodulehelp tr td img.widthpictotitle { width: 80px; }
|
table.titlemodulehelp tr td img.widthpictotitle { width: 80px; }
|
||||||
|
|
||||||
|
|||||||
@ -297,6 +297,9 @@ a:link, a:visited, a:hover, a:active { font-family: <?php print $fontlist ?>; fo
|
|||||||
a:hover { text-decoration: underline; color: rgb(<?php print $colortextlink; ?>); }
|
a:hover { text-decoration: underline; color: rgb(<?php print $colortextlink; ?>); }
|
||||||
a.commonlink { color: rgb(<?php print $colortextlink; ?>) !important; text-decoration: none; }
|
a.commonlink { color: rgb(<?php print $colortextlink; ?>) !important; text-decoration: none; }
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-size: unset;
|
||||||
|
}
|
||||||
input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select {
|
input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select {
|
||||||
background-color: #FDFDFD;
|
background-color: #FDFDFD;
|
||||||
}
|
}
|
||||||
@ -568,11 +571,15 @@ input:-webkit-autofill {
|
|||||||
background-image:none !important;
|
background-image:none !important;
|
||||||
-webkit-box-shadow: 0 0 0 50px #FBFFEA inset;
|
-webkit-box-shadow: 0 0 0 50px #FBFFEA inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* CSS for placeholder */
|
||||||
|
.placeholder { color: #ccc; }
|
||||||
::-webkit-input-placeholder { color:#ccc; }
|
::-webkit-input-placeholder { color:#ccc; }
|
||||||
:-moz-placeholder { color:#bbb; } /* firefox 18- */
|
:-moz-placeholder { color:#bbb; } /* firefox 18- */
|
||||||
::-moz-placeholder { color:#bbb; } /* firefox 19+ */
|
::-moz-placeholder { color:#bbb; } /* firefox 19+ */
|
||||||
:-ms-input-placeholder { color:#ccc; } /* ie */
|
:-ms-input-placeholder { color:#ccc; } /* ie */
|
||||||
input:-moz-placeholder { color:#ccc; }
|
input:-moz-placeholder { color:#ccc; }
|
||||||
|
|
||||||
input[name=price], input[name=weight], input[name=volume], input[name=surface], input[name=sizeheight], input[name=net_measure], select[name=incoterm_id] { margin-right: 6px; }
|
input[name=price], input[name=weight], input[name=volume], input[name=surface], input[name=sizeheight], input[name=net_measure], select[name=incoterm_id] { margin-right: 6px; }
|
||||||
fieldset { border: 1px solid #AAAAAA !important; }
|
fieldset { border: 1px solid #AAAAAA !important; }
|
||||||
.legendforfieldsetstep { padding-bottom: 10px; }
|
.legendforfieldsetstep { padding-bottom: 10px; }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user