FullCalendar更改颜色新事件

时间:2016-04-30 12:06:32

标签: events colors fullcalendar

我使用fullcalendar,现在我需要如何更改新事件的颜色,以便将它与加载的事件区分到数据库中。投入新事件的人,必须通过颜色与他人区别开来。 日历使用每个人,没有用户控制,事件存储在数据库中。

2 个答案:

答案 0 :(得分:0)

你的问题留下了一些问题。您是否期望稍后呈现新事件的颜色?或者颜色是完全一次性的,仅用于区分新旧事件?

考虑到问题 - 请记住,您可以设置颜色有多种不同的方式。您可以在ajax调用中为从数据库加载的所有项目设置静态颜色:

        events: {
            url: 'php/get-events.php',
            error: function() {
                $('#ajax-warning').show();
            },
            color: "yellow"
        },

这将为从JSON加载的所有事件设置默认颜色。

在json数据本身中,您可以设置backgroundColor属性来更改单个项目的颜色,例如

{
  "id": "999",
  "title": "Repeating Event",
  "start": "2016-05-09T16:00:00-05:00",
  "backgroundColor": "purple"
},

您可以在表单中设置事件颜色(如果这是您允许用户创建事件的方式)

如果您有一组可以添加的静态事件,您可以循环浏览颜色列表,并为列表中的每个颜色提供不同的背景。

-

如果这不能解答您的问题,请尝试提供有关您当前所拥有的内容以及您希望完成的内容的更多信息。

答案 1 :(得分:0)

/* initialize the calendar
        -----------------------------------------------------------------*/
        $('#calendar').fullCalendar({
            events: JSON.parse(json_events),
            height:447,
            utc: true,
            allDaySlot:false,
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'agendaWeek,agendaDay'
            },
            eventConstraint: {
                        start: moment().format('YYYY-MM-DD'),
                        end: '2100-01-01'
                    },
            firstDay: 1,
                    monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
                    monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
                    dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles',
             'Jueves', 'Viernes', 'Sábado'],
                    dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
            minTime:'09:00:00',
            maxTime:'13:30:00',
                buttonText: {
                        today: 'hoy',
                        month: 'mes',
                        week: 'semana',
                        day: 'dia'
                },
            eventStartEditable: false,
            eventTextColor: '#AE413F',
            defaultView: 'agendaWeek',
            hiddenDays: [6, 0],
            editable: true,
            droppable:true,

            eventDurationEditable:false, 
            slotDuration: '00:30:00',
            defaultEventMinutes: 30,
            defaultTimedEventDuration:'00:30:00',
            forceEventDuration:true,
            eventReceive: function(event){
                var title = prompt('Nombre y Apellidos:');
                var start = event.start.format("YYYY-MM-DD[T]HH:mm:SS");
                var end = event.end.format("YYYY-MM-DD[T]HH:mm:SS");
                var antena = 'ANTENA1';
                var ssid = 'E18D93D0-B4B2-4802-8D04-CD2154B88A18';
                if(title!=null){
                $.ajax({
                    url: 'process.php',
                    data: 'type=new&title='+title+'&start='+start+'&end='+end+'&antena='+antena+'&SSID='+ssid+'&zone='+zone,
                    type: 'POST',
                    dataType: 'json',
                    success: function(response){
                        event.title = title;
                        $('#calendar').fullCalendar('updateEvent',event);
                        alert("Añadido: Atención NO marcar la casilla inferior si quiere guardar correctamente los datos");
                    },
                    error: function(e){
                        console.log(e.responseText);
                    if(error='true'){
                        alert('CITA YA ASIGNADA: Atención NO marcar la casilla inferior si quiere un funcionamiento correcto');
                    }//location.reload();

                    }
                });}else{
            location.reload();}
                $('#cafireflendar').fullCalendar('updateEvent',event);
                console.log(event);
                //location.reload();
            },