Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c3d10ace

Von Moritz Bunkus vor etwa 10 Jahren hinzugefügt

Langtext-HTML-Editor: bei jedem Aufruf DOM-Element neu anlegen und ckeditor initialisieren

Unter Firefox kommt es beim mehrmaligen Aufrufen ansonsten sehr schnell
zu nicht mehr behebbaren JavaScript-Fehlern. Es bleibt dann beim Öffnen
des Popups nur das grau gestreifte Overlay sichtbar, nicht aber der
Dialog selber.

Unterschiede anzeigen:

js/kivi.SalesPurchase.js
namespace('kivi.SalesPurchase', function(ns) {
this.edit_longdescription = function(row) {
var $edit = $('#popup_edit_longdescription_input');
var $element = $('#longdescription_' + row);
if (!$element.length) {
......
return;
}
$edit.data('element', $element);
var $container = $('#popup_edit_longdescription_input_container');
var $edit = $('<textarea id="popup_edit_longdescription_input" class="texteditor-in-dialog" wrap="soft" style="width: 750px; height: 220px;"></textarea>');
$container.children().remove();
$container.append($edit);
$container.data('element', $element);
$edit.val($element.val());
kivi.init_text_editor($edit);
$('#popup_edit_longdescription_runningnumber').html(row);
$('#popup_edit_longdescription_partnumber').html($('#partnumber_' + row).val() || '');
......
id: 'edit_longdescription_dialog',
dialog: {
title: kivi.t8('Enter longdescription'),
open: function() { kivi.set_focus('#popup_edit_longdescription_input'); }
open: function() { kivi.focus_ckeditor_when_ready('#popup_edit_longdescription_input'); },
close: function() { $('#popup_edit_longdescription_input_container').children().remove(); }
}
});
};
this.set_longdescription = function() {
var $edit = $('#popup_edit_longdescription_input');
var $element = $edit.data('element');
$('#popup_edit_longdescription_input_container')
.data('element')
.val( $('#popup_edit_longdescription_input').val() );
$element.val($edit.val());
$('#edit_longdescription_dialog').dialog('close');
};
templates/webpages/generic/set_longdescription.html
</table>
</p>
<p>[% L.textarea_tag("popup_edit_longdescription_input", "", class="texteditor-in-dialog" wrap="soft", style="width: 750px; height: 220px;") %]</p>
<p id="popup_edit_longdescription_input_container"></p>
<p>
[% L.button_tag("kivi.SalesPurchase.set_longdescription()", LxERP.t8("Close")) %]

Auch abrufbar als: Unified diff