How do I get the resource id when dropping external event onto resourceWeek?

≯℡__Kan透↙ 提交于 2019-12-12 14:43:21

问题


Building a crew scheduler calendar using FullCalendar. Everything is going good until I drop a job from the left onto a day and crew. I need to get the resource row that was selected at time of drop.

$('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'Resource Scheduling',
            right: 'resourceWeek,resourceMonth'
        },
        editable: true,
        droppable: true,        
        defaultView: 'resourceWeek',    
        selectable: true,
        selectHelper: true,         
        drop: function(date, allDay, ev, ui) {

// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');

var copiedEventObject = $.extend({}, originalEventObject);

// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;

//Get Resource (**HELP**)
copiedEventObject.resource = 'resource1'; //hard coded works
copiedEventObject.resource = $(this).data <resource>; //Where is it?

回答1:


Have you tried...

drop: function (date, allDay, ev, ui, res) {

// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');

var copiedEventObject = $.extend({}, originalEventObject);

// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;

//Get Resource (**HELP**)
//copiedEventObject.resource = 'resource1'; //hard coded works
//copiedEventObject.resource = $(this).data <resource>; //Where is it?
copiedEventObject.resourceId = res.id
}



回答2:


See this link for get Resource ID: https://code.google.com/p/fullcalendar/issues/detail?id=1594 I have resolved this one but note for this you need to change into default fullcalandar.js file. In function this. I have commented the default line and added this one into fullcalendar.js

function dragStop(_dragElement, ev, ui) {
    var cell = hoverListener.stop();
    clearOverlays();
    if (cell) {
        trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), resources[cell.col].id, ev, ui);
        //trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), ev, ui);
    }
}


来源:https://stackoverflow.com/questions/8482884/how-do-i-get-the-resource-id-when-dropping-external-event-onto-resourceweek

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!