- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试以 Angular 1 处理完整日历,我已完成显示事件,
当我尝试在下一个和上一个按钮点击时添加事件时,我也得到了服务器的响应,但是当事件被分配给 FullCalendar 事件时,它会返回到默认 View 或任何议程,例如,如果 View 是日 View 当我单击上一个按钮时,它会转到前一天,当事件来自服务器时,它会返回到今天的 View 。以下代码可能会让您清楚地了解我在做什么。
HTML
<div id="demoCalender" fc fc-options="calendarOptions">
Angular
$scope.defaultViewAgenda = "agendaDay";
$scope.calendarOptions = {
height: get_calendar_height(100),
header: {
left: 'title',
center: 'today',
right: 'prev,agendaDay,agendaWeek,month,next'
},
buttonText: {
today: 'Today',
month: 'Month',
week: 'Week',
day: 'Day',
list: 'List'
},
defaultTimedEventDuration: '00:45:00',
forceEventDuration: false,
defaultView: $scope.defaultViewAgenda,
firstHour: 09,
themeSystem: 'standard',
windowResize: function (view) {
$('#demoCalender').fullCalendar('option', 'height', get_calendar_height(117));
$('#demoCalender').fullCalendar('rerenderEvents');
},
viewRender: function (view) {
console.log(view);
},
events: [],
viewDisplay: function (element) {
console.log(element);
}
};
FullCalendar 选项。事件默认为空,当服务器响应来 self 下面函数的服务器方法调用时,事件显示在日历中
$scope.getAgendaReschedules = function (agenda, startTime, endTime, isAgendaNextOrPrevious) {
demoReschedules.getRescheduls($scope.assignedAgentId, "RESCHEDULED", startTime, endTime).then(function (response) {
if (response.status == 200) {
if (response.data.length > 0) {
var groupByScheduledContacts = response.data.reduce(function (result, current) {
result[current.scheduled] = result[current.scheduled] || [];
result[current.scheduled].push(current);
return result;
}, {});
$scope.events = [{}];
for (key in groupByScheduledContacts) {
var eventTime = moment(key, "DD/MM/YYYY HH:mm:ss");
$scope.events.push({
title: 'No. of rescheduled call : ' + groupByScheduledContacts[key].length,
start: eventTime,
end: eventTime,
description: 'This is a cool event',
color: $scope.getColorForReschedules(eventTime)
});
}
$scope.calendarOptions.events = $scope.events;
if (isAgendaNextOrPrevious == false) {
$scope.calendarOptions.defaultView = agenda;
}
}
else {
$scope.calendarOptions.events.push({});
$scope.calendarOptions.defaultView = agenda;
}
}
}, function err() { });
};
并单击周、月和日等议程按钮,我在上面调用相同的方法,当我对下一个和上一个按钮单击执行相同操作时,它会出现今天的 View 。如果议程是天,或者如果议程 View 是周,那么它会出现在本周,而月份也会发生同样的情况。
下面是点击下一个和上一个按钮的代码。
在此 $scope.tempViewAgenda 是我在日、周或月议程按钮点击时设置的临时变量值。
$('#demoCalender').fullCalendar().on('click', '.fc-prev-button', function () {
switch ($scope.tempViewAgenda) {
case "agendaDay":
//alert("Prev Day");
$scope.getPreviousAgendaReschedules('d');
break;
case "agendaWeek":
$scope.getPreviousAgendaReschedules('w');
//alert("Prev Week");
break;
case "month":
$scope.getPreviousAgendaReschedules('m');
//alert("Prev Month");
break;
}
});
$('#demoCalender').fullCalendar().on('click', '.fc-next-button', function () {
switch ($scope.tempViewAgenda) {
case "agendaDay":
$scope.getNextAgendaReschedules('d');
break;
case "agendaWeek":
$scope.getNextAgendaReschedules('w');
//alert("Next Week");
break;
case "month":
$scope.getNextAgendaReschedules('m');
//alert("Next Month");
break;
}
});
//previous agenda reschedules
$scope.getPreviousAgendaReschedules = function (agendaStartCharacterToSubtract) {
$scope.startDate = moment($scope.startDate).subtract(1, agendaStartCharacterToSubtract).format('YYYY-MM-DD HH:mm:ss');
$scope.endDate = moment($scope.endDate).subtract(1, agendaStartCharacterToSubtract).format('YYYY-MM-DD HH:mm:ss');
console.log("Previous : start date : " + $scope.startDate + " End date : " + $scope.endDate);
$scope.getAgendaReschedules($scope.tempViewAgenda, $scope.startDate, $scope.endDate, true);
};
//next agenda reschedules
$scope.getNextAgendaReschedules = function (agendaStartCharacterToAdd) {
$scope.startDate = moment($scope.startDate).add(1, agendaStartCharacterToAdd).format('YYYY-MM-DD HH:mm:ss');
$scope.endDate = moment($scope.endDate).add(1, agendaStartCharacterToAdd).format('YYYY-MM-DD HH:mm:ss');
console.log("Next : start date : " + $scope.startDate + " End date : " + $scope.endDate);
$scope.getAgendaReschedules($scope.tempViewAgenda, $scope.startDate, $scope.endDate, true);
};
这里有没有人弄清楚?
最佳答案
我得到了这个问题的答案,每当我要分配事件时它会重新初始化,所以我需要设置默认日期和议程 View 以显示获取的事件,如
$scope.getAgendaReschedules = function (agenda, startTime, endTime, isAgendaNextOrPrevious) {
demoReschedules.getRescheduls($scope.assignedAgentId, "RESCHEDULED", startTime, endTime).then(function (response) {
if (response.status == 200) {
if (response.data.length > 0) {
var groupByScheduledContacts = response.data.reduce(function (result, current) {
result[current.scheduled] = result[current.scheduled] || [];
result[current.scheduled].push(current);
return result;
}, {});
$scope.events = [{}];
for (key in groupByScheduledContacts) {
var eventTime = moment(key, "DD/MM/YYYY HH:mm:ss");
$scope.events.push({
title: 'No. of rescheduled call : ' + groupByScheduledContacts[key].length,
start: eventTime,
end: eventTime,
description: 'This is a cool event',
color: $scope.getColorForReschedules(eventTime)
});
}
$scope.calendarOptions.events = $scope.events;
if (isAgendaNextOrPrevious) {
$scope.calendarOptions.defaultDate = moment(startTime);
$scope.calendarOptions.defaultView = agenda;
}
else {
$scope.calendarOptions.defaultDate = moment(startTime);
$scope.calendarOptions.defaultView = agenda;
}
}
else {
$scope.calendarOptions.events.push({});
$scope.calendarOptions.defaultDate = moment(startTime);
$scope.calendarOptions.defaultView = agenda;
}
}
}, function err() { });
};
关于javascript - 单击下一个和上一个按钮 FullCalendar 进入议程 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51594719/
我有一个包含用户及其每周日历的 mysql 表。 每个用户都可以设置自己一周的空闲时间(早上、下午、晚上/周一到周六),并且不会经常更改,几乎永远不会更改。 想象一下,这些用户是健身房的私有(priv
我无法动态更改选定的日期。例如,我想在离开屏幕时将选定的日期更改为今天;我不想在今天以外的其他日期离开...我该怎么做?我正在使用议程。另外,我想在用户单击该屏幕中的某个按钮时更改选定的日期。如果我只
如何添加操作监听器,以便在单击议程上的约会时打开一个新窗口,其中包含有关该特定单击约会的更多详细信息。 最佳答案 Agenda 似乎没有相应的 api。您可以看到议程的来源:AbstractAppoi
我在使用带有议程 View 的全日历时遇到了一些问题。在周 View 中,网格内没有垂直边框,如您在这张图片中所见: http://cjoint.com/14av/DDlkmc7Kjgp.htm在基本
议程/cron 支持这种情况的重复吗?示例:在周一和周二每两周重复一次工作,我可以每两周重复一次工作,但不能在特定日期重复一次工作,如果是,时间间隔的表达式是什么。周和日都可以是动态的。谢谢 最佳答案
我想在每天 8:30 到 17:00 的日程 View 中只显示营业时间, 像下面这样: 最佳答案 您是在问如何隐藏营业时间以外的时间吗?如果是这样,请使用 minTime 和 maxTime 选项:
从议程 View 中,我想按一个键并从该 TODO 条目中删除 SCHEDULED: 行。 最佳答案 按 C-u C-c C-s 要重建议程缓冲区,请按 r 请参阅 The manual 中的议程命
使用 Agenda ,是否可以设置作业在失败后多次重试? 最佳答案 不直接支持重试作为选项,但通过将失败的作业 nextRunAt 设置为 future 时间,它有一个简单的解决方法。 引用这篇文章:
我已将 FullCalendar 版本从 v. 2.3.1 更新到 2.4.0,之前一切正常,但现在在 周 View 和 议程 View 中 我无法添加该事件。这件事很奇怪,因为在月 View 中我看
我希望 Org-mode 议程在我打开 Emacs 时自动显示我今天必须做的事情。 org-agenda 命令是交互式的,因此它似乎不适用于此目的。 有没有办法在 Emacs 启动时显示 Org-mo
最近,我开始使用来自以下 repo 的日历控件:https://github.com/wix/react-native-calendars最初日历控件正确对齐所有项目,但似乎有些东西完全破坏了对齐。
我通过表单从用户那里收集了 Activity 日期、标题、地点、参加者、开始和结束时间、位置和其他元数据,然后存储在 mysql 数据库表中。我想从数据库中检索事件并以 Google 日历样式列出它们
我正在使用来自 http://jfxtras.org/ 的 FXtras(版本 8.0-r5)议程,我在其中定义了两种类型的约会:个人(group1)和共享(group2)。用户可以编辑个人约会的时间
我想安排这样的任务: 安排 11 月 1 日开始的任务 之后每个月重复该任务 我不想在任务安排在 11 月 1 日才开始的那一刻运行它。 我正在使用 Agenda.js我需要确保我正确地执行了此操作,
我尝试使用以下 CSS 隐藏 kendo 调度程序议程 View 中的时间列。 .k-scheduler-timecolumn{ visibility:collapse !important;
我是一名优秀的程序员,十分优秀!