FriendsOfREDAXO / mform

Spielend einfach umfangreiche Modul-Input-Formulare erzeugen.
MIT License
77 stars 18 forks source link

Fehler im repeater.js beim Update Media #346

Closed lokbase closed 1 month ago

lokbase commented 1 month ago

Description / Beschreibung Wir haben ein Problem im

/assets/addons/mform/repeater.js Zeile: 340


onMediaSelect(media, index, nameKey, fieldsKey, fieldIndex) {
            $(media).on('rex:selectMedia', (event, mediaName) => {
                if (fieldsKey !== undefined && fieldsKey !== '' && fieldsKey !== '' && fieldIndex !== undefined) {
                    this.groups[index][fieldsKey][fieldIndex][nameKey] = mediaName;
                } else {
                    this.groups[index][nameKey] = mediaName;
                }
                setTimeout(function() {
                    this.updateValues();
                }, 5);
            });
        }

Fehlermeldung im Browser: "this.updateValues is not a function. (In 'this.updateValues()', 'this.updateValues' is undefined) "

Der Fehler ist reproduzierbar mit diesem Modul:

use FriendsOfRedaxo\MForm;

// Initialisierungs-ID des Repeaters mit der Basis-ID des ursprünglichen MBlock-Abschnittes
$id = 1;

// Erstellen einer neuen MForm-Instanz mit der Factory-Methode und direkte Integration eines Repeaters
echo MForm::factory()
    ->addRepeaterElement(
        $id, 
        MForm::factory()
            ->addFieldsetArea('Team member', 
                MForm::factory()
                    ->addTextField('name', ['label' => 'Name'])
                    ->addMediaField('REX_MEDIA_1', ['label' => 'Avatar'])
            ),
        true, 
        true, 
        ['min' => 2, 'max' => 4]
    )
    ->show();

Wir haben uns wie folgt geholfen:

var self = this;
setTimeout(function() {
    self.updateValues();
}, 5);

Affected versions / Verwendete Versionen

REDAXO: 5.17.1 PHP: 8.1.28 Database: MariaDB 10.3.39 Browser: Safari 17.5 AddOns: MForm 8.0.1

skerbis commented 1 month ago

Bitte mal den aktuellen Githubstand testen

skerbis commented 1 month ago

sollte gelöst sein, wenn nicht, issue wieder öffnen