From: Moritz Bunkus Date: Thu, 31 Aug 2017 11:46:34 +0000 (+0200) Subject: AreaInputTag: kleines Icon neben Input zum Umschalten auf Textarea X-Git-Tag: release-3.5.4~844 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=c59e85c3a7538b1279e25022a6cf431ca1dee700;p=kivitendo-erp.git AreaInputTag: kleines Icon neben Input zum Umschalten auf Textarea In Masken, in denen es keinen »Erneuern«-Button gab (neuer Artikelcontroller), hatten die Benutzer*innen somit auch keine Möglichkeit, aus dem normalen Input eine Textarea zu machen. Dies hier ist nun eine manuelle Möglichkeit dafür. --- diff --git a/SL/Template/Plugin/L.pm b/SL/Template/Plugin/L.pm index 0b0c760ec..a8e63815c 100644 --- a/SL/Template/Plugin/L.pm +++ b/SL/Template/Plugin/L.pm @@ -279,9 +279,15 @@ sub areainput_tag { my $maxrows = delete $attributes{max_rows}; my $rows = $::form->numtextrows($value, $cols, $maxrows, $minrows); - return $rows > 1 - ? $self->textarea_tag($name, $value, %attributes, rows => $rows, cols => $cols) - : $self->input_tag($name, $value, %attributes, size => $cols); + $attributes{id} ||= _tag_id(); + my $id = $attributes{id}; + + return $self->textarea_tag($name, $value, %attributes, rows => $rows, cols => $cols) if $rows > 1; + + return '' + . $self->input_tag($name, $value, %attributes, size => $cols) + . "" + . ''; } sub multiselect2side { diff --git a/image/edit-entry.png b/image/edit-entry.png new file mode 100644 index 000000000..c8888f341 Binary files /dev/null and b/image/edit-entry.png differ diff --git a/js/kivi.js b/js/kivi.js index 41b3762a3..fbe0c953b 100644 --- a/js/kivi.js +++ b/js/kivi.js @@ -535,6 +535,23 @@ namespace("kivi", function(ns) { return true; }; + + ns.switch_areainput_to_textarea = function(id) { + var $input = $('#' + id); + if (!$input.length) + return; + + var $area = $(''); + + $area.prop('rows', 3); + $area.prop('cols', $input.prop('size') || 40); + $area.prop('name', $input.prop('name')); + $area.prop('id', $input.prop('id')); + $area.val($input.val()); + + $input.parent().replaceWith($area); + $area.focus(); + }; }); kivi = namespace('kivi');