FullCalendar删除EventRender上的事件



使用fullcalendar,我想删除已取消的事件:具有event.post_appt_status_id =='3'。

的事件。

现在,在Evendrender中,我有根据Appt状态启动的图标。他们工作正常。我认为那将是然后轻松从日历中删除被取消事件的地方。

它只是不起作用。这是我正在尝试的:

   eventRender: function eventRender(event, element, view) {
        //handle icon before time
        if(event.appt_status_id == '1'){         
            //confirmed icon
            element.find(".fc-time").prepend("<i class='fa fa-check-square-o'></i> ");
        } else if(event.appt_status_id == '2'){         
            //unconfirmed icon
            element.find(".fc-time").prepend("<i class='fa fa-minus-square-o'></i> ");
        } else if(event.appt_status_id == '8'){         
            //walkin icon
            element.find(".fc-time").prepend("<i class='fa fa-male'></i> ");
        } else if(event.appt_status_id == '9'){         
            //left message icon
            element.find(".fc-time").prepend("<i class='fa fa-phone-square'></i> ");
        };
        //handle icon before title
        if(event.post_appt_status_id == '6'){         
            //attended alone icon
            element.find(".fc-title").prepend("<i class='fa fa-user'></i> ");
        } else if(event.post_appt_status_id == '7'){         
            //attended companion icon
            element.find(".fc-title").prepend("<i class='fa fa-users'></i> ");
        } else if(event.post_appt_status_id == '4'){         
            //no show icon
            element.find(".fc-title").prepend("<i class='fa fa-exclamation-triangle'></i> ");
        } else if(event.post_appt_status_id == '3'){         
            //cancelled icon
            element.find(".fc-title").prepend("<i class='fa fa-ban'></i> ");
            $('#calendar_full').fullCalendar('removeEvent', event.id);
        };
        //add text to event
        element.find('.fc-title').append("<br/>" + event.appt_reason_name + " with " + event.scheduled_with_name); 
        //handle changing menu options at top
        return ['all', event.location_id].indexOf($('#calendar_location_id option:selected').val()) >= 0 && ['all', event.saw_by_id].indexOf($('#calendar_provider_id option:selected').val()) >= 0;
    },

我会以为$('#calendar_full').fullCalendar('removeEvent', event.id)会从日历中删除这些事件,但不是!

如果您的EventRender回调返回false,则可以取消事件渲染。

该功能还可以返回false以完全取消事件的渲染。

eventRender: function( event, element, view ) {
       //...
       if (event.post_appt_status_id == '3') {
           return false;
       }
       //...
 }

您要使用的事件已从插件中删除,他们引入了新的,称为" emoveevents"。

有关更多详细信息,请检查

https://fullcalendar.io/docs1/event_data/removeevents/

旧链接

https://fullcalendar.io/docs1/remeved/removeevent/

相关内容

  • 没有找到相关文章