Elastic: Bootstrap 4.0.0 compat.

pull/6144/head
Aleksander Machniak 7 years ago
parent 3dcbc616a4
commit 76933f1c07

@ -319,8 +319,9 @@ class acl extends rcube_plugin
$textfield = new html_inputfield($attrib);
$fields['user'] = html::div('input-group',
html::label(array('for' => $attrib['id'], 'class' => 'input-group-addon'), $this->gettext('username'))
. ' ' . $textfield->show());
html::span('input-group-prepend',
html::label(array('for' => $attrib['id'], 'class' => 'input-group-text'), $this->gettext('username')))
. ' ' . $textfield->show());
// Add special entries
if (!empty($this->specials)) {

@ -1792,11 +1792,11 @@ class rcube_sieve_engine
$rule['test'] != 'size' && $rule['test'] != 'exists' && $rule['test'] != 'duplicate',
$this->error_class($id, 'test', 'target', 'rule_target')) . "\n";
$select_size_op = new html_select(array('name' => "_rule_size_op[]", 'id' => 'rule_size_op'.$id, 'class' => 'input-group-addon'));
$select_size_op = new html_select(array('name' => "_rule_size_op[]", 'id' => 'rule_size_op'.$id, 'class' => 'input-group-prepend'));
$select_size_op->add(rcube::Q($this->plugin->gettext('filterover')), 'over');
$select_size_op->add(rcube::Q($this->plugin->gettext('filterunder')), 'under');
$select_size_item = new html_select(array('name' => "_rule_size_item[]", 'id' => 'rule_size_item'.$id, 'class' => 'input-group-addon'));
$select_size_item = new html_select(array('name' => "_rule_size_item[]", 'id' => 'rule_size_item'.$id, 'class' => 'input-group-append'));
foreach (array('', 'K', 'M', 'G') as $unit) {
$select_size_item->add($this->plugin->gettext($unit . 'B'), $unit);
}
@ -1835,12 +1835,12 @@ class rcube_sieve_engine
$need_mod = !in_array($rule['test'], array('size', 'body', 'date', 'currentdate', 'duplicate', 'string'));
$mout = '<div id="rule_mod' .$id. '" class="adv input-group"' . (!$need_mod ? ' style="display:none"' : '') . '>';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('modifier')) . ' </span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('modifier'))));
$mout .= $select_mod->show($rule['test']);
$mout .= '</div>';
$mout .= '<div id="rule_mod_type' . $id . '" class="adv input-group"';
$mout .= (!in_array($rule['test'], array('address', 'envelope')) ? ' style="display:none' : '') . '">';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('modtype')) . ' </span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('modtype'))));
$mout .= $select_type->show($rule['part']);
$mout .= '</div>';
@ -1855,7 +1855,7 @@ class rcube_sieve_engine
$need_comp = $rule['test'] != 'size' && $rule['test'] != 'duplicate';
$mout .= '<div id="rule_comp' .$id. '" class="adv input-group"' . (!$need_comp ? ' style="display:none"' : '') . '>';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('comparator')) . '</span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('comparator'))));
$mout .= $select_comp->show($rule['comparator']);
$mout .= '</div>';
@ -1880,11 +1880,11 @@ class rcube_sieve_engine
$select_mime_part->add(rcube::Q($this->plugin->gettext('mime-anychild')), 'anychild');
$mout .= '<div id="rule_mime_part' .$id. '" class="adv input-group"' . (!$need_mime ? ' style="display:none"' : '') . '>';
$mout .= ' <span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('mimepart')) . ' </span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('mimepart'))));
$mout .= $select_mime_part->show(!empty($rule['mime-anychild']) ? 'anychild' : '');
$mout .= '</div>';
$mout .= '<div id="rule_mime' .$id. '" class="adv input-group"' . (!$need_mime ? ' style="display:none"' : '') . '>';
$mout .= ' <span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('mime')) . ' </span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('mime'))));
$mout .= $select_mime->show($mime_type);
$mout .= $this->list_input($id, 'rule_mime_param', $rule['mime-param'], true,
$this->error_class($id, 'test', 'mime_param', 'rule_mime_param'), 30, $mime_type != 'param');
@ -1899,7 +1899,7 @@ class rcube_sieve_engine
$select_mod->add(rcube::Q($this->plugin->gettext('contenttype')), 'content');
$mout .= '<div id="rule_trans' .$id. '" class="adv input-group"' . ($rule['test'] != 'body' ? ' style="display:none"' : '') . '>';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('modifier')) . '</span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('modifier'))));
$mout .= $select_mod->show($rule['part']);
$mout .= html::tag('input', array(
'type' => 'text',
@ -1915,7 +1915,7 @@ class rcube_sieve_engine
// Date header
if (in_array('date', $this->exts)) {
$mout .= '<div id="rule_date_header_div' .$id. '" class="adv input-group"'. ($rule['test'] != 'date' ? ' style="display:none"' : '') .'>';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('dateheader')) . '</span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('dateheader'))));
$mout .= html::tag('input', array(
'type' => 'text',
'name' => '_rule_date_header[]',
@ -1931,7 +1931,7 @@ class rcube_sieve_engine
if (in_array('index', $this->exts)) {
$need_index = in_array($rule['test'], array('header', ', address', 'date'));
$mout .= '<div id="rule_index_div' .$id. '" class="adv input-group"'. (!$need_index ? ' style="display:none"' : '') .'>';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('index')) . '</span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('index'))));
$mout .= html::tag('input', array(
'type' => 'text',
'name' => '_rule_index[]',
@ -1940,7 +1940,7 @@ class rcube_sieve_engine
'size' => 3,
'class' => $this->error_class($id, 'test', 'index', 'rule_index'),
));
$mout .= html::label(array('class' => 'input-group-addon'),
$mout .= html::label('input-group-append',
html::tag('input', array(
'type' => 'checkbox',
'name' => '_rule_index_last[]',
@ -1958,7 +1958,7 @@ class rcube_sieve_engine
foreach (array('handle', 'header', 'uniqueid') as $unit) {
$mout .= '<div class="input-group">';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('duplicate.' . $unit)) . '</span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('duplicate.' . $unit))));
$mout .= html::tag('input', array(
'type' => 'text',
'name' => '_rule_duplicate_' . $unit . '[]',
@ -1971,7 +1971,7 @@ class rcube_sieve_engine
}
$mout .= '<div class="input-group">';
$mout .= '<span class="label input-group-addon">' . rcube::Q($this->plugin->gettext('duplicate.seconds')) . '</span>';
$mout .= html::span('label input-group-prepend', html::span('input-group-text', rcube::Q($this->plugin->gettext('duplicate.seconds'))));
$mout .= html::tag('input', array(
'type' => 'text',
'name' => '_rule_duplicate_seconds[]',
@ -1980,7 +1980,7 @@ class rcube_sieve_engine
'size' => 6,
'class' => $this->error_class($id, 'test', 'duplicate_seconds', 'rule_duplicate_seconds'),
));
$mout .= html::label(array('class' => 'input-group-addon'),
$mout .= html::label('input-group-append',
html::tag('input', array(
'type' => 'checkbox',
'name' => '_rule_duplicate_last[' . $id . ']',
@ -2223,13 +2223,13 @@ class rcube_sieve_engine
'class' => $this->error_class($id, 'action', 'interval', 'action_interval'),
));
if ($vsec) {
$interval_select = new html_select(array('name' => '_action_interval_type[' . $id . ']', 'class' => 'input-group-addon'));
$interval_select = new html_select(array('name' => '_action_interval_type[' . $id . ']', 'class' => 'input-group-append'));
$interval_select->add($this->plugin->gettext('days'), 'days');
$interval_select->add($this->plugin->gettext('seconds'), 'seconds');
$out .= $interval_select->show(isset($action['seconds']) ? 'seconds' : 'days');
}
else {
$out .= "\n" . html::span('input-group-addon', $this->plugin->gettext('days'));
$out .= "\n" . html::span('input-group-append', html::span('input-group-text', $this->plugin->gettext('days')));
}
$out .= '</div></div>';
@ -2328,7 +2328,7 @@ class rcube_sieve_engine
$select_method = new html_select(array(
'name' => "_action_notifymethod[$id]",
'id' => "_action_notifymethod$id",
'class' => 'input-group-addon ' . $this->error_class($id, 'action', 'method', 'action_notifymethod'),
'class' => 'input-group-prepend ' . $this->error_class($id, 'action', 'method', 'action_notifymethod'),
));
foreach ($notify_methods as $m_n) {
$select_method->add(rcube::Q($this->rc->text_exists('managesieve.notifymethod'.$m_n) ? $this->plugin->gettext('managesieve.notifymethod'.$m_n) : $m_n), $m_n);

@ -304,7 +304,8 @@ class rcube_sieve_forward extends rcube_sieve_engine
. '<input type="text" name="action_target" id="action_target"'
. ' value="' .($redirect ? rcube::Q($this->forward['target'], 'strict', false) : '') . '"'
. (!empty($domains) ? ' size="20"' : ' size="35"') . '/>'
. (!empty($domains) ? ' <span class="input-group-addon">@</span> ' . $domain_select->show($this->forward['domain']) : '')
. (!empty($domains) ? ' <span class="input-group-prepend input-group-append"><span class="input-group-text">@</span></span> '
. $domain_select->show($this->forward['domain']) : '')
. '</span>';
// Message tab

@ -395,7 +395,8 @@ class rcube_sieve_vacation extends rcube_sieve_engine
$interval_txt .= $interval_select->show(isset($this->vacation['seconds']) ? 'seconds' : 'days');
}
else {
$interval_txt .= "\n" . html::span('input-group-addon', $this->plugin->gettext('days'));
$interval_txt .= "\n" . html::span('input-group-append',
html::span('input-group-text', $this->plugin->gettext('days')));
}
if ($date_extension || $regex_extension) {
@ -443,6 +444,7 @@ class rcube_sieve_vacation extends rcube_sieve_engine
// force domain selection in redirect email input
$domains = (array) $this->rc->config->get('managesieve_domains');
$redirect = $this->vacation['action'] == 'redirect' || $this->vacation['action'] == 'copy';
if (!empty($domains)) {
sort($domains);
@ -463,7 +465,8 @@ class rcube_sieve_vacation extends rcube_sieve_engine
. '<input type="text" name="action_target" id="action_target"'
. ' value="' .($redirect ? rcube::Q($this->vacation['target'], 'strict', false) : '') . '"'
. (!empty($domains) ? ' size="20"' : ' size="35"') . '/>'
. (!empty($domains) ? ' <span class="input-group-addon">@</span> ' . $domain_select->show($this->vacation['domain']) : '')
. (!empty($domains) ? ' <span class="input-group-append input-group-prepend"><span class="input-group-text">@</span></span>'
. $domain_select->show($this->vacation['domain']) : '')
. '</span>';
// Message tab

@ -645,11 +645,11 @@ function rule_header_select(id)
if (h == 'size') {
if (msg) set.push(msg);
$.each(set, function() { this.style.display = 'none'; });
$.each(set, function() { if (this != window) this.style.display = 'none'; });
size.style.display = '';
}
else if (h == 'message' && msg) {
$.each(set, function() { this.style.display = 'none'; });
$.each(set, function() { if (this != window) this.style.display = 'none'; });
msg.style.display = '';
}
else {

@ -6713,10 +6713,15 @@ function rcube_webmail()
if (!compact)
label = $('<div>').addClass('contactfieldlabel label').append(label);
else
label.addClass('input-group-addon');
label.addClass('input-group-prepend');
}
else {
label = $('<label>').addClass('contactfieldlabel label input-group-text')
.attr('for', input_id).text(colprop.label);
if (compact)
label = $('<span class="input-group-prepend">').append(label);
}
else
label = $('<label>').addClass('contactfieldlabel label input-group-addon').attr('for', input_id).text(colprop.label);
// Field input
if (colprop.type == 'text' || colprop.type == 'date') {
@ -6740,7 +6745,7 @@ function rcube_webmail()
var i, childcol, cp, first, templ, cols = [], suffices = [], content = cell;
if (compact)
content = $('<div class="content input-group-addon">');
content = $('<div class="content input-group-text">');
// read template for composite field order
if (templ = this.env[col + '_template']) {
@ -6787,7 +6792,7 @@ function rcube_webmail()
if (input) {
var delbutton = $('<a href="#del"></a>')
.addClass('contactfieldbutton deletebutton input-group-addon icon delete')
.addClass('contactfieldbutton deletebutton input-group-text icon delete')
.attr({title: this.get_label('delete'), rel: col})
.html(this.env.delbutton)
.click(function() { ref.delete_edit_field(this); return false; });
@ -6799,8 +6804,10 @@ function rcube_webmail()
cell.append(input);
row.append(cell.append(delbutton));
}
else
else {
row.append(input).append(delbutton);
delbutton.wrap('<span class="input-group-append">');
}
row.appendTo(appendcontainer.show());
@ -6824,14 +6831,15 @@ function rcube_webmail()
{
var col = $(elem).attr('rel'),
colprop = this.env.coltypes[col],
input_group = $(elem).parents('div.row'),
fieldset = $(elem).parents('fieldset.contactfieldgroup'),
addmenu = fieldset.parent().find('select.addfieldmenu');
// just clear input but don't hide the last field
if (--colprop.count <= 0 && colprop.visible)
$(elem).parent().find('input').val('').blur();
input_group.find('input').val('').blur();
else {
$(elem).parents('div.row').remove();
input_group.remove();
// hide entire fieldset if no more rows
if (!fieldset.children('div.row').length)
fieldset.hide();

@ -567,7 +567,7 @@ function rcmail_contact_form($form, $record, $attrib = null)
foreach ($coltypes as $col => $prop) {
if ($prop['subtypes']) {
$subtype_names = array_map('rcmail_get_type_label', $prop['subtypes']);
$select_subtype = new html_select(array('name' => '_subtype_'.$col.'[]', 'class' => 'contactselectsubtype', 'title' => $prop['label'] . ' ' . $RCMAIL->gettext('type')));
$select_subtype = new html_select(array('name' => '_subtype_'.$col.'[]', 'class' => 'contactselectsubtype form-control', 'title' => $prop['label'] . ' ' . $RCMAIL->gettext('type')));
$select_subtype->add($subtype_names, $prop['subtypes']);
$coltypes[$col]['subtypes_select'] = $select_subtype->show();
}

@ -343,6 +343,7 @@ form #contacthead {
overflow: hidden;
text-overflow: ellipsis;
color: #666;
line-height: 18px;
}
.contactfieldgroup .contactfieldlabel select {
@ -353,7 +354,7 @@ form #contacthead {
.contactfieldgroup .contactfieldcontent {
padding-left: 120px;
min-height: 1em;
line-height: 1.3em;
line-height: 18px;
}
.contactfieldgroup .contactfield {

Loading…
Cancel
Save