SQL Input über wcfDialog .update

  • Da von @Sonnenspeer gewünscht...


    Bezieht sich alles auf das Thema Form Page



    Ich hab jetzt eine wichtige Sache, die auf jeden Fall zum Plugin dazu gehört: Den Status der Bewerbung bearbeiten + Message (Grund) mitschicken.


    Das ganze möchte ich, sofern möglich, mit den wcfDialog verwirklichen. Dazu hab ich bereits:



    Und die dazugehörige Klasse:


    Das Template wird in die application.tpl includet.



    Das Dialogfeld kommt auch prima (Bis auf das die Sprachvariablen noch fehlen)


    Aber ich glaube, ich hab 1. schonmal einen Denkfehler, weil woher weiß das Edit.tpl welche application bearbeitet werden soll und 2. Hab ich irgendwie meine Zweifel ob das überhaupt funktioniert. Mir wäre im normalen WCF solch eine Funktion, sprich DB eingaben über das Dialogfeld, nicht bekannt...



    Irgendwelche Ratschläge, wie ich das ganze am besten angehen soll?


    Mir wäre im normalen WCF solch eine Funktion, sprich DB eingaben über das Dialogfeld, nicht bekannt...

    Hab das Forum nochmal "untersucht", und doch solch eine art Funktion gefunden, nämlich bspw. das Editieren von Threads.




    Und sowas will ich auch, nur bekomme ich es einfach nicht hin. Entweder bekomme ich Fehler das etwas undefiniert sei, obwohl es in der Edit Klasse zu 100% definiert ist, werde beim absenden auf eine nicht verfügbare Seite weitergeleitet, oder es passiert beim Absenden einfach nichts... Ich bin da langsam irgendwie am verzweifeln :(



    Ich brauch ja nur 2 Radio Buttons á Annehmen / Ablehnen und eine kleine Message schreiben, wieso, weshalb, warum.

  • Das ist ein wenig komplexer. Wenn du dir in der thread.tpl anschaust, findest du folgende Abschnitte für JS.


    In der JS Klasse WBB.Thread.InlineEditor findet die ganze Logik statt. Schau sie dir mal an und probiere damit rum ;)


    Natürlich musst du für deine Zwecke eine eigene Ableitung von WCF.InlineEditor schreiben, aber eben halt mit dem Verständis, wie es in der Thread Klasse gemacht wird. Ebenfalls müsste der UpdateHandler einen bestimmten Wert in dieser Beziehung haben. Genau kann ich dir das aber nicht sagen.

  • Wie im anderen Thema geschrieben ist das nicht mal eben in 2 min gemacht und bedarf an sich schon Kenntnisse in Javascript, ich habe dir hier mal ein Code ausschnitt wie er etwa aussehen könnte. Eine Ableitung vom WCF.InlineEditor brauchst du dafür nicht so komplex willst du das glaube ich garnicht haben wenn ich dich richtig verstehe.


    Code für dein Template von dem aus es Moderiert werden soll.

    Code
    <script data-relocate="true" type="text/javascript">
        //<![CDATA[
        $(function() {
            new PLUGIN.Application.Moderation();
        });
        //]]>
    </script>


    Javascript Code


    PHP Code in deiner ApplicationAction.class.php


    Bedenke bitte das sind nur Schnipsel diese musst du halt auf deine bedürfnisse anpassen. Mehr kann ich dir da auch nicht helfen alles andere sprengt den rahmen des ganzens.

  • Ihr seid echt lieb :love:



    JS Ist nicht so meine stärke, aber nach mehrmaligen Durchlesen erklärt sich der Code fast von selbst. Ich hab den JS teil in den /wcf/js ordner geschoben und in meinem Template rufe ich diesen mit


    Code
    <script data-relocate="true" src="{$__wcf->getPath()}js/WCF.Application.js?v={@LAST_UPDATE_TIME}"></script>

    auf. Angepasst hab ich den, so wie ich meinte, auch. Doch wenn ich meine Seite aufrufe hab ich in der Entwicklerkonsole Uncaught ReferenceError: PLUGIN is not defined stehen.


    Muss ich das PLUGIN durch das ersetzen, wie ich mein gesamtes Plugin genannt hab?

  • Das solltest du mit dem Namen der Endanwendung ersetzen. In deinem Fall wohl WCF. Und eventuell sonstige einzigartige Bezeichner, falls WCF.Application schon benutzt wird.

  • Zumindest hab ich jetzt keine Fehler mehr.


    Der Teil


    JavaScript
    // listen for submit event
                    var $button = this._dialog.find('#formSubmit > input type="submit"').click($.proxy(this._send, this));
                    $(document).keydown(function(event) {
                            if (event.which === $.ui.keyCode.ENTER) {
                                    $button.trigger('click');
                            }
                    });


    Lauscht, ob der Submit button gedrückt wurde, richtig? Ich kann jedoch auf den Submit Button drücken wie ich will, es kommt nix zurück...


    Das <form gedöns>, welches ich im Templatecode (im startpost) hab, brauch ich denke ich nicht mehr. Und das, was ich in der Edit Form klasse hab, kann gelöscht werden bis auf den Teil, in dem es gespeichert wird, also




Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!