fullcalendar selectMinDistance 取消选择时不考虑距离
fullcalendar selectMinDistance not respecting distance when unselecting
我正在使用 fullcalndar selectMinDistance
示例初始化:
我认为这适用于像素比率。我已将其设置为 selectMinDistance: 155
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
selectable: true,
eventOverlap: true,
selectOverlap: true,
validRange: {
start: year + '-05-20',
end: year + '-11-15'
},
selectMinDistance: 155,
...
效果很好,因为我希望至少选择 3 天。但是,当用户选择,然后决定在同一个鼠标上按下以取消选择时,他可以取消选择并将其降低到某一天。有点违背了目的。
有谁知道 FullCal 中是否有什么东西可以防止这种情况发生或有什么好的修复方法?我没有在文档中找到任何可以帮助我的东西...
对于我的应用程序 selectMinDistance
不是最好的方法,我被指出使用 selectAllow
发现 here 而不是效果很好。
不知道为什么第一次在网上搜索没找到
为防止用户选择少于设定天数的日期,您使用此函数并抛出 true 或 false 以供用户选择
我的示例用法
var year = new Date().getFullYear();
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
selectable: true,
eventOverlap: true,
selectOverlap: true,
validRange: {
start: year + '-05-20',
end: year + '-11-15'
},
// selectMinDistance: 155, this will not work for deselecting
selectAllow: function(selectInfo){
console.log(selectInfo);
// create a day
var oneDay = 24 * 60 * 60 * 1000;
var startDay = selectInfo.start;
// FullCalendar always gives next next day of select end day, so do minus one day
var endDay = selectInfo.end - oneDay;
var count = Math.round(Math.abs((startDay - endDay) / oneDay));
// starts at 0, so add to start at 1
var dayCount = (count + 1);
if(dayCount >= 3){
return true;
}else{
return false;
}
},
...
我正在使用 fullcalndar selectMinDistance
示例初始化:
我认为这适用于像素比率。我已将其设置为 selectMinDistance: 155
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
selectable: true,
eventOverlap: true,
selectOverlap: true,
validRange: {
start: year + '-05-20',
end: year + '-11-15'
},
selectMinDistance: 155,
...
效果很好,因为我希望至少选择 3 天。但是,当用户选择,然后决定在同一个鼠标上按下以取消选择时,他可以取消选择并将其降低到某一天。有点违背了目的。
有谁知道 FullCal 中是否有什么东西可以防止这种情况发生或有什么好的修复方法?我没有在文档中找到任何可以帮助我的东西...
对于我的应用程序 selectMinDistance
不是最好的方法,我被指出使用 selectAllow
发现 here 而不是效果很好。
不知道为什么第一次在网上搜索没找到
为防止用户选择少于设定天数的日期,您使用此函数并抛出 true 或 false 以供用户选择
我的示例用法
var year = new Date().getFullYear();
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
selectable: true,
eventOverlap: true,
selectOverlap: true,
validRange: {
start: year + '-05-20',
end: year + '-11-15'
},
// selectMinDistance: 155, this will not work for deselecting
selectAllow: function(selectInfo){
console.log(selectInfo);
// create a day
var oneDay = 24 * 60 * 60 * 1000;
var startDay = selectInfo.start;
// FullCalendar always gives next next day of select end day, so do minus one day
var endDay = selectInfo.end - oneDay;
var count = Math.round(Math.abs((startDay - endDay) / oneDay));
// starts at 0, so add to start at 1
var dayCount = (count + 1);
if(dayCount >= 3){
return true;
}else{
return false;
}
},
...