fullcalendar に基づく Angular モジュールを使用しています: https://github.com/angular-ui/ui-calendarと ng-bootstrap のダイアログ モジュール。eventClick アクションでイベントを編集するためのダイアログを表示するようにカレンダーを構成しました。1回だけでうまくいきます。最初のダイアログを閉じてイベントをもう一度クリックしても、新しいダイアログが表示されません。しかし、ページ上の他のリンクをクリックすると、必要なすべてのダイアログが、何らかの方法でキューに入れられているように 1 つずつ表示されます。
ここに私のコントローラーからのスニペットがあります:
$scope.showEditVisitDialog = function (event) {
var editVisitDialogOpts = {
backdropClick: false,
templateUrl: 'views/addEditVisitDialog.html',
controller: 'AddEditVisitDialogController',
resolve: {
patientId: function () {
return event.patientId;
},
visitId: function () {
return event.id;
}
}
};
var editVisitDialog = $dialog.dialog(editVisitDialogOpts);
editVisitDialog.open().then(function (updatedVisit) {
//some action
});
};
$scope.calendar = {
height: 450,
editable: true,
header: {
left: 'month agendaWeek ',
center: 'title',
right: 'today prev,next'
},
eventClick: $scope.showEditVisitDialog
};
$scope.events = [];
$scope.eventSources = [$scope.events]
イベントは、後でコントローラーで REST からフェッチされます。
HTMLで:
<div ui-calendar="calendar" config="calendar" ng-model="eventSources"/>
コンソールにエラーはありません。何が間違っていますか?
プランカーのコード: http://plnkr.co/edit/89sQfsU85zN4uxauFI2Y?p=preview