Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add copy row #18

Open
zonky2 opened this issue Jan 5, 2019 · 15 comments · May be fixed by #96
Open

add copy row #18

zonky2 opened this issue Jan 5, 2019 · 15 comments · May be fixed by #96
Assignees
Labels
bug Something isn't working enhancement New feature or request
Milestone

Comments

@zonky2
Copy link
Contributor

zonky2 commented Jan 5, 2019

add copy row

@zonky2 zonky2 added the bug Something isn't working label Jan 5, 2019
@zonky2 zonky2 modified the milestones: 3.4.0, 3.4.x Jan 5, 2019
@zonky2 zonky2 added the enhancement New feature or request label Jan 7, 2019
@doishub
Copy link
Contributor

doishub commented Jan 13, 2020

Do I see it correctly that since version 3.4.0 only one row can be edited? Since then I always get an error when I want to add a new row.

image

Field-Config:

array(
    'label'     => &$GLOBALS['TL_LANG']['tl_mydca']['myField'],
    'inputType' => 'multiColumnWizard',
    'eval'      => [
        'tl_class'     => 'w50 clr',
        'dragAndDrop'  => false,
        'columnFields' => [
            'from' => [
                'label'            => &$GLOBALS['TL_LANG']['tl_mydca']['from'],
                'inputType'        => 'select',
                'options_callback' => array('tl_dcaclass', 'listFields'),
                'eval'             => ['style' => 'width:100%']
            ],
            'to' => [
                'label'            => &$GLOBALS['TL_LANG']['tl_mydca']['to'],
                'inputType'        => 'select',
                'options_callback' => array('tl_dcaclass', 'listFields'),
                'eval'             => ['style' => 'width:100%']
            ],
        ],
    ],
    'sql'       => 'blob NULL',
);

Contao Version: 4.8.7

Is it possible to say when the bug will be fixed?

@Total-Reality
Copy link

Schade, dass ihr das bei Contao 4.9 rausgenommen habt. Funktionierte doch noch in Contao 4.4?!

@zonky2
Copy link
Contributor Author

zonky2 commented Sep 1, 2020

das hat mit Contao nicht direkt was zu tun - die Funktion ist mit der Umstellung au ein Bundle raus ... nun kommen die neuen Zeilen per Ajax und nicht per "JavaScript"... daher ist die Initialisierung einer neuen Reihe nicht trivial

@Total-Reality
Copy link

"Ajax" in dem Sinne gibt es doch gar nicht. Beruht doch auch auf Javascript.
Nach meiner Erfahrung kann man bei Ajax viel leichter mit Daten handeln.

Ich hoffe nur ihr werdet nicht auf diese extrem nervige Erweiterung "Haste" als Basis setzen. Die bringt so viele sinnlose Dateien mit für ein bisschen Ajax Gedöns, das ich in 30 Zeilen Code selbst schreibe.

@zonky2
Copy link
Contributor Author

zonky2 commented Sep 2, 2020

"Ajax" in dem Sinne gibt es doch gar nicht. Beruht doch auch auf Javascript.

schon klar, deshalb habe ich ja auch JavaScript in "" geschrieben...

in der alten Erweiterung wurde die Zeile direkt in JS kopiert bzw. eine leere erzeugt - mit vielen Problemen und Anpassungen, wenn sich in C mal was ändert... nun kommt eine neue Zeile sozusagen immer direkt von C per Ajax - bei einer Kopie, müssten die Infos erst zu C dann neue Zeile zurück - und das ist nicht trivial...

An dem Thema kann sich aber auch jeder selbt beteiligen - da öffentliches Projekt :D

@Total-Reality
Copy link

Danke für die Erklärung.

Hmmm das stellt leider ein größeres Problem dar, da es ein Kunde unbedingt wieder haben will und nun die ganze Umstellung von Contao 3.5 auf Contao 4.9 in Frage stellt. Ich kanns irgendwo verstehen... wer will eine neuere Version, die ihm persönlich nur Nachteile bringt?

Kann man das manuell (update unsicher) wieder zurückbauen auf die alte Version? Wenn ja, welche Datei müsste man da anpassen?
Oder alternativ: Wieviel Aufwand/Geld würde das kosten, wenn es update sicher in die Erweiterung eingebaut wird?

@stefanheimes
Copy link
Member

@Total-Reality Bitte bis zu ende lesen.

Wir haben eine der "größten Nachteil" aus der Welt geschafft, dass nämlich die Initialisierung von TinyMce, Picker und andere JS Sonderfunktionen nicht funktionierten. Da nur Contao weiß wie die Widgets richtig gebaut werden und wie das JS richtig zusammengebaut wird, wurde die Erstellung einer neuen Zeile wieder an Contao übergeben. Daher wird beim Erstellen einer neuen leeren Zeile eine AJAX an Contao gesendet (via MCW als Controller) und als Antwort kommen dann die richtige Daten zurück.

Die Kopierfunktion mit dem alten MCW (nicht Bundle) funktionierten noch, davon abgesehen, dass das JS und die Sonderfunktion zu jederzeit kaputt gehen können.

Mit anderen Worten, wir konnten uns aussuchen was uns mehr stört, dass wir Daten in einem Funktionierenden Widget erneut eingeben müssen oder das wir Daten im Widget stehen haben, diese aber nicht mehr ändern können, weil das Widget wegen einem JS Error nicht mehr reagiert.

@Total-Reality du siehst also, dass wir hier zwei Möglichkeiten hatten. Wir haben uns für die Sicherheit der Core Funktionen gegenüber einer Komfortfunktion entschieden.

Ein Zurückpatchen kann funktionieren, wir werden für die "alte" Version aber keine Bugfixes mehr bereitstellen, da dies bedeuten würde, dass wir viele Änderungen von Contao direkt in die Core Klassen oder das JS von MCW übernehmen müssten und für jede Contao Version immer wieder neu anpassen müssten. Das wäre mit zu viel Arbeit verbunden und würde viele sondern Funktionen und Versionsprüfungen im System bedeuten.

Dass das "die ihm persönlich nur Nachteile bringt?" leider immer von Person zu Person unterschiedlich ist, ist mir klar, aber ich hoffe du verstehst nun besser warum wir diesen Weg gegangen sind.

Wenn es dringend ist kannst du eine Anfrage an die Werbeagentur Men at Work stellen - [email protected]

Ich kann es dir nicht zu 100% versprechen, ich würde aber zumindest einmal in das System schauen, ob es eine Möglichkeit gibt, das Kopieren iwie wieder einzubauen, ohne einem extreme großen Aufwand.

Im Moment wäre die erste Idee, dass die Zeile, welche kopiert werden soll, an Contao via AJAX gesendet wird und validiert wird. Wenn die Validierung nicht funktioniert, würde das Kopieren mit einem Fehler abbrechen. Wenn alles durchläuft, könnte ich dann versuchen, die Nutzdaten in eine neue Zeile einzubauen und Contao die Widgets und JS Daten dafür erstellen zu lassen. Aber dafür müsste ich erst einmal prüfen, ob dies überhaupt Möglich ist und wo wir überall anecken.

@stefanheimes
Copy link
Member

See PR #89 for a WIP version.

@stefanheimes
Copy link
Member

Die erste Version der Funktion steht. Damit ist das PoC fertig. Es geht, ich muss mich hier auch bei @zonky2 bedanken, mit dem ich das Problem besprochen habe und wir die Basis einer Möglichen Umsetzung gesetzt haben.

Wir haben einen neuen PR dafür aufgemacht, es müssen noch die Widgets geprüft werden. Wie ich mir schon dachte, muss ich einige Sachen anpassen, damit ich wieder mit Contao im Einklang bin. Aber es scheint sich dabei nur um einige kleinere Sachen zu handeln.

@zonky2 zonky2 modified the milestones: 3.4.x, 3.4.8 Nov 2, 2020
@zonky2
Copy link
Contributor Author

zonky2 commented Nov 2, 2020

add at #89

@zonky2 zonky2 closed this as completed Nov 2, 2020
@discordier discordier linked a pull request Nov 13, 2020 that will close this issue
9 tasks
@discordier discordier linked a pull request Nov 13, 2020 that will close this issue
9 tasks
@stefanheimes stefanheimes reopened this Dec 18, 2020
@Total-Reality
Copy link

@Total-Reality Bitte bis zu ende lesen.

Vielen Dank für deine Zeit und die genauen Erklärungen. Das ist natürlich alles total verständlich und wirklich besser, dass ihr den Weg jetzt so gewählt habt.
Gibt es schon Neuigkeiten zu dem Thema? Wenn wenigstens Textfelder kopiert werden würden, würde uns das schon mal fürs erste reichen.

@Total-Reality
Copy link

Gibt's schon Neuigkeiten zu dem Thema? Der PR war doch schon ziemlich gut.

@zonky2
Copy link
Contributor Author

zonky2 commented Mar 21, 2023

hat keiner

  • weiter programmiert
  • weiter getestet
  • sich um Finanzierung gekümmert

@Total-Reality
Copy link

Es war doch aber schon programmiert?
f0cd822

Z.B. " 'copy' => 'copy.gif'," @zeile 152

Aber in der neuesten Version ist nicht mehr drin?
https://github.com/contao-community-alliance/contao-multicolumnwizard-bundle/blob/master/src/Contao/Widgets/MultiColumnWizard.php

Irgendwie versteh ich die Logik von GitHub nicht, was übersehe ich?

Welches Budget wird denn benötigt?

@zonky2
Copy link
Contributor Author

zonky2 commented Mar 21, 2023

Aktuelle Entwicklung ist noch hier https://github.com/menatwork/contao-multicolumnwizard-bundle

wir ziehen erst mit MCW 4 zur CCA komplett um

bei Kosten müsste @stefanheimes mal ein Statement abgeben

aschempp added a commit to aschempp/contao-multicolumnwizard-bundle that referenced this issue May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants