Изменение размера не работает после 2 дней
Я использую fullcalendar, перепробовал все, но не смог добиться изменения размера события, работающего после 2 дней. Когда курсор достигает 2 дней на экране, он останавливается там и не позволяет пользователю изменить размер события до 1 дня. Ниже приведен код, который я использую для отображения событий календаря. Любая помощь или подсказка высоко ценится. Я также добавил AllDay правда,
Я получаю события из базы данных, у которой продолжительность событий уже определена как событие 2,3 или 4 дня, и это то, как это отображается на экране. Предположим, что если пользователь пытается изменить размер события, это может быть сделано до двухдневного события, и курсон перестает работать после этого. Например, если пользователь хочет сделать 4-дневное событие одним днем, он не может этого сделать. Я знаю, что при настройке т
$('#calendar').fullCalendar({
schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',
editable: editableCheck, // enable draggable events
selectable: true,
selectHelper: true,
aspectRatio: 1.8,
height: 600,
weekends: true,
eventLimit: false,
showNonCurrentDates:false,
header: {
left: 'today prev,next',
center: 'title',
right: 'timelineThreeDays'
},
defaultView: 'timelineThreeDays',
displayEventTime: false,
views: {
timelineThreeDays: {
type: 'timelineWeek',
duration: {
days: 21
}
}
},
eventRender: function (event, element, view) {
if(event.projectStatus == 'Rejected') {
element.find('.fc-title').qtip({
content: {
text: event.comments
},
style: {
tip: {corner: true},
classes: 'qtip-light qtip-bootstrap'
},
position: {
target: 'mouse', // Track the mouse as the positioning target
adjust: { x: 5, y: 5 }
}
});
}
var objeventDelArray = [];
element.on('contextmenu', function(e) {
var sourceFrmComm = component.get("v.boolCallSource");
if(sourceFrmComm == 'false'){
if (confirm('Are you sure you want to delete ' + event.title + '?'))
{
e.preventDefault();
$('#calendar').fullCalendar('removeEvents', event.id);
$('#calendar').fullCalendar('removeResource', event.id);
objeventDelArray = component.get("v.deleteEvents");
objeventDelArray.push(event.id);
console.log('===objeventDelArray================'+objeventDelArray);
component.set("v.deleteEvents", objeventDelArray);
}
}
});
if(event.id != null){ //workingDaysBetweenDates TODO TEMP Solution: Needs to change logic for dateTime calculation
if(!event.id.startsWith('~AJ~')){
var da = helper.workingDaysBetweenDates(new Date(event.start), new Date(event.end));
if(da == 0)
da = 1;
element.find('.fc-title').prepend("D(" + parseInt(da) +') ');
}else
{
var da = helper.diff_days(new Date(event.start), new Date(event.end));
console.log('jugaad==='+da);
element.find('.fc-title').prepend("D(" + da +') ');
}
if (event.rendering == 'background') {
element.append('<div class="center">' + event.title + '</div>');
}
}
},
select: function(start, end, jsEvent, view, resource) {
var eventData;
eventData = {
title:resource.title+'--'+ resource.providerName,
start: moment(start),
end: moment(end),
resourceId: resource.id,
jobID:resource.parentId,
activity:resource.title,
id:'~AJ~'+resource.title,
color:'#444445',
holiday:false
};
if(resource.providerName !=null && (!resource.isParentRecord ))
$('#calendar').fullCalendar('renderEvent', eventData, true);
else
$('#calendar').fullCalendar('unselect');
},
eventResize: function(event, delta, revertFunc, jsEvent, ui, view ) {
if(event.projectStatus == 'Rejected') {
$("#calendar").fullCalendar( 'removeEvents', event.id );
var eventDataUpdate;
eventDataUpdate = {title:event.title,start: moment(event.start),end: moment(1),
resourceId: event.id,jobID:event.jobID,activity:event.title,id:event.id,color:'#007132',
projectStatus:'Adjusted',holiday:false
};
component.set('v.projectAppStatus','resizeTrigger');
$('#calendar').fullCalendar('renderEvent', eventDataUpdate, true);
}
component.set("v.projectID", component.get("v.projectID"));
},
eventDrop: function(event, delta, revertFunc, jsEvent, ui, view )
{
if(event.projectStatus == 'Rejected') {
$("#calendar").fullCalendar( 'removeEvents', event.id );
var eventDataUpdate;
eventDataUpdate = {title:event.title,start: moment(event.start),end: moment(event.end),
resourceId: event.id,jobID:event.jobID,activity:event.title,id:event.id,color:'#007132',
projectStatus:'Adjusted',holiday:false
};
component.set('v.projectAppStatus','resizeTrigger');
$('#calendar').fullCalendar('renderEvent', eventDataUpdate, true);
}
component.set("v.projectID", component.get("v.projectID"));
},
resourceRender: function(resource, cellEls) {
if (!resource.isParentRecord) {
var eventID = resource.id;
var custIcon2= '<i id="deleteIcon" class="icon-trash" style="cursor:pointer;" ></i>' ;
cellEls.eq(0).find('.fc-expander-space').prepend($(custIcon2));
var objeventDelArray = [];
cellEls.eq(0).find('.icon-trash').on('click', function() {
if (confirm('Are you sure you want to delete ' + resource.title + '?'))
{
objeventDelArray = component.get("v.deleteEvents");
objeventDelArray.push(resource.id);
component.set("v.deleteEvents", objeventDelArray);
$('#calendar').fullCalendar('removeResource', resource);
$('#calendar').fullCalendar('removeEvents', resource.id);
}
});
}
cellEls.on('dblclick', function() {
if (resource.isParentRecord) {
var title = prompt('Enter Activity Name');
if (title) {
$('#calendar').fullCalendar(
'addResource', {
id: title,
title: title,
parentId: resource.id,
providerName:resource.providerName
},
true // scroll to the new resource?
);
}
}
});
},
viewRender: function(view, element) {
if (view.name == "timelineThreeDays") {
$('.fc-timelineThreeDays-button').hide();
}
},
eventOverlap:true,
resourceAreaWidth: "15%",
resourceLabelText: 'Job',
resourcesInitiallyExpanded: true,
resources: component.get("v.resourceList"),
events: component.get("v.eventList")
});
});