From c3d10acecf7f45e4f5fcb7d29c910e3005e6598c Mon Sep 17 00:00:00 2001
From: Moritz Bunkus
Date: Tue, 31 Mar 2015 11:34:58 +0200
Subject: [PATCH] Langtext-HTML-Editor: bei jedem Aufruf DOM-Element neu
anlegen und ckeditor initialisieren
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
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.
---
js/kivi.SalesPurchase.js | 20 +++++++++++++------
.../webpages/generic/set_longdescription.html | 2 +-
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/js/kivi.SalesPurchase.js b/js/kivi.SalesPurchase.js
index f6c163362..3edefdef9 100644
--- a/js/kivi.SalesPurchase.js
+++ b/js/kivi.SalesPurchase.js
@@ -1,6 +1,5 @@
namespace('kivi.SalesPurchase', function(ns) {
this.edit_longdescription = function(row) {
- var $edit = $('#popup_edit_longdescription_input');
var $element = $('#longdescription_' + row);
if (!$element.length) {
@@ -8,9 +7,17 @@ namespace('kivi.SalesPurchase', function(ns) {
return;
}
- $edit.data('element', $element);
+ var $container = $('#popup_edit_longdescription_input_container');
+ var $edit = $('');
+
+ $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() || '');
@@ -23,16 +30,17 @@ namespace('kivi.SalesPurchase', function(ns) {
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');
};
diff --git a/templates/webpages/generic/set_longdescription.html b/templates/webpages/generic/set_longdescription.html
index 461222541..e7a357bd7 100644
--- a/templates/webpages/generic/set_longdescription.html
+++ b/templates/webpages/generic/set_longdescription.html
@@ -20,7 +20,7 @@
- [% L.textarea_tag("popup_edit_longdescription_input", "", class="texteditor-in-dialog" wrap="soft", style="width: 750px; height: 220px;") %]
+
[% L.button_tag("kivi.SalesPurchase.set_longdescription()", LxERP.t8("Close")) %]
--
2.20.1