5 Stimmen

Jquery FullCalendar ändern bearbeitbare Eigenschaften von bestimmten Ereignis auf einem Kalender

Ich bin derzeit mit jQuery FullCalendar, um eine Scheduling-Anwendung zu erstellen. In meiner Anwendung muss ich editable=false nur für Ereignisse, die nicht ein Ereignis, das durch den angemeldeten Benutzer erstellt wird; während, das Ereignis, das durch den angemeldeten Benutzer erstellt wird, sollte editable= true haben. Kann mir jemand vorschlagen, wie ich einige bearbeitbare Eigenschaften von Ereignissen in einem FullCalendar als false und einige Ereignisse als true festlegen kann.

9voto

Jishnu A P Punkte 13852

Setzen Sie die bearbeitbare Master-Eigenschaft auf false und setzen Sie die bearbeitbare Eigenschaft der Ereignisse, die Sie bearbeiten möchten, auf true.

$('#calendar').fullCalendar({        
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        editable: false, // set this false
        events: [
        {
            title: 'This must be editable',
            start: new Date('11/1/2011'),
            editable:true
        },
        {
            title: 'This is non editable',
            start: new Date('11/1/2011'),
            end: new Date('11/1/2011')
        }

        ]
    });

});

http://jsfiddle.net/G6K6Y/94/

7voto

Brosig Punkte 704

Ich weiß, dass diese Frage schon etwas älter ist, aber sie könnte jedem helfen, der danach sucht: Ich habe dies auf zwei Arten getan: Die erste ist die Einstellung auf die Ereignisquelle, wie @TheSuperTramp es getan hat:

{
    title: 'This must be editable',
    start: new Date('11/1/2011'),
    editable:true
}

Die zweite Möglichkeit, die ich bevorzuge, besteht darin, den Standardwert auf false zu setzen und beim Rendern zu vergleichen, ob das Ereignis die gleiche ID des Benutzers hat. Auf diese Weise müssen Sie nicht "hart Code" das Attribut auf das Ereignis:

editable: false,
eventRender: function(event, element) {
    if(event.userId === user.id) {
        event.editable = true;
    }
},

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X