Open anveno opened 1 month ago
Wirst wahrscheinlich auf den cke5 wechseln müssen. Redactor müsste wohl angepasst werden. Ob der Tiny geht, kann ich auch noch nicht sagen.
Aktuell wird CKE5 direkt im JS vom Repeater supported. Das war von mir ja so eigentlich nur ein Workaround, ich möchte das dahingehend ändern, dass der Repeater ein Event wirft auf das die Editoren zu reagieren haben auch der CKE5. Es ist einfach zu aufwändig alle Editoren zu Supporten, besser ist es wenn die Editoren den Repeater Supporten.
Für redactor würde ich das Event integrieren, sobald möglich. Einfach Bescheid geben, wenn es implementiert ist.
Mit Redactor in diesem Zusammenhang habe ich auch schon Erfahrung gesammelt. Das Problem das ich damals hatte war, das das Model nicht aktualisiert wurde, das wird an der Stelle allerdings benötigt. Ein Event muss von Redactor kommen, eher nicht vom Repeater. Beispiel:
$(document).on('rex:ready',function(event, container) {
console.log('READY');
$(container).find('[class*="redactor-editor--"]').each(function() {
let classNames = $(this).attr('class').split(' ');
for (let i = 0; i < classNames.length; i++) {
let $profile = classNames[i].substring('redactor-editor--'.length);
if ($profile !== '' && redactor_profiles[$profile]) {
let options = redactor_profiles[$profile];
options.lang = redactorLang;
options['callbacks'] = {
'blur': (e) => {
console.log('BLUR');
$(document).trigger('redactor:change', [event]);
},
};
if (!('pasteImages' in options)) {
options.pasteImages = false;
}
$R('.redactor-editor--' + $profile, options);
}
}
})
});
So könnte man z.B. auf den Blur hören und dann im Repeater updateValues triggern. Das wäre dann natürlich gebunden an Redactor. Vielleicht kann man das Event einfach mform:update oder so nennen.
EDIT: Hier mein Code zum beschriebenen: https://github.com/FriendsOfREDAXO/yform_flexible_content/blob/master/resources/js/textarea.js#L33-L46
Tiny funzt übrigens auch nicht, gleiches Resultat wie bei Redactor, die Werte werden nicht gespeichert.
Die Idee mit dem Event finde ich gut, dann können die anderen Editoren reagieren wie sie möchten/können.
Description / Beschreibung
wenn ich dem addTextAreaField die Klasse "redactor-editor--..." hinzufügen, damit der Redactor Editor gerendert wird, werden die Werte nicht gespeichert und bestehende Einträge nicht angezeigt. Lasse ich die Klasse weg und nutze nur die "pure" Textarea, klappt alles wie gewohnt.
Affected versions / Verwendete Versionen
MForm 8.0.0 redactor 2.4.2