Ankündigung

Einklappen
Keine Ankündigung bisher.

fullcalendar External Drop mit Datenbank Id versehen.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fullcalendar External Drop mit Datenbank Id versehen.

    Hallo,
    ich setze den fullcalendar mit External Drop ein. Bei dem Drop wird das Event in die DB via Ajax geschrieben.

    PHP-Code:
    var fc = $('#calendar').fullCalendar({                
                
    defaultView'agendaWeek',
                
    editabletrue,
                
    droppabletrue,
                
    drop: function(eventdeltauiresourceId) {
                    
    //console.log(event);
                    
    var pId=ui.helper[0].dataset.id;
                    var 
    pColor=ui.helper[0].dataset.color;
                    var 
    pDate=$.fullCalendar.moment(event._d);
                    var 
    pDateConv=pDate.format('YYYY-MM-DD HH:mm:ss');                
                    $.
    ajax({
                        
    type"POST",
                        
    url"{{ path('main_calendar_ajax_newEntry') }}",
                        
    data: { projectIdpIdprojextColorpColorpDateSetpDateConv},
                        
    success: function(datadataType)
                        {                                
                            var 
    id=data.id;                            
                            return 
    true;
                        },
                        
    error: function(XMLHttpRequesttextStatuserrorThrown)
                        {
                            
    alert('Error : ' errorThrown);
                        }
                    });        
                    return 
    false;        
                }, 
    Das Funktioniert bis hierhin ohne Probleme. Die id ist im success vorhanden und müsste nun an das temporäre Event gehangen werden.

    Das Problem hier ist leider, das das temporäre Event erst nach dem drop erzeugt wird und ich somit an das Event keine Parameter hängen kann.

    Wenn ich das temporäre Event dann ändere (beispielsweise Zeit ändere) dann fehlt mir in diesem Event die DatenbankId zum Updaten:

    Hat jemand eine Idee wie ich das löse?

    Bin für jeden Tipp dankbar.

    Grüße!

    * * * * COMMODORE C64 BASIC V2 * * * *
    64K RAM SYSTEM 38911 BASIC BYTES FREE
    READY

  • #2
    Problem ist Gelöst!

    Für die die das selbe Problem haben:

    Nach dem Drop muss ein neues EventObjekt erzeugt werden das nach dem Success aus dem Ajax in den Kalender eingefügt wird:


    PHP-Code:
    $('#calendar').fullCalendar('renderEvent',
                                    {
                                        
    iddata.id,
                                        
    titlepTitle,
                                        
    startpDate,
                                        
    endpDateEnd,
                                        
    backgroundColorpColor                                     
                                    
    },
                                    
    true // make the event "stick"
                                
    ); 
    Der Kalender muss dann das automatisch erzeugte Event wieder löschen:

    PHP-Code:
    eventReceive: function (event) {            
                    
    // Bei Drop das AutoEvent removen
                    
    $('#calendar').fullCalendar('removeEvents',event._id);
                }, 
    So klappt es bei mir.
    * * * * COMMODORE C64 BASIC V2 * * * *
    64K RAM SYSTEM 38911 BASIC BYTES FREE
    READY

    Kommentar

    Lädt...
    X