Я пытаюсь обновить информацию о моем событии в полном календаре, проблема в том, что у меня нет большого опыта работы с javascript. Я уже могу добавить событие, я просто не знаю, как обновить детали события.
EventController.php
public function update(Request $request, $id)
{
$ev = event::find($id);
$ev->event_name = $request->input("event_name");
$ev->save();
Session::flash('success', 'Event successfully updated.');
return redirect()->route('event.sched');
}
код в блейде, когда я нажимаю на событие в календаре, появляется модальное окно и получает данные события, этомодально я использую для редактирования деталей события
html part:
<div class="modal none-border" id="my-event">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title"><strong>Event Details</strong></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary waves-effect" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-success save-event waves-effect waves-light">Create event</button>
<button type="button" class="btn btn-danger delete-event waves-effect waves-light" data-dismiss="modal">Delete</button>
</div>
</div>
</div>
</div>
javascript part:
/* on click on event */
CalendarApp.prototype.onEventClick = function (calEvent, jsEvent, view) {
var $this = this;
var form = $("@if(isset($event)) <form method = 'PATCH' action = '{{ route('event.edit', "+ calEvent.id +") }}' ></form> @endif");
form.append("<input type = 'hidden' name = 'id' id = 'edit_evid' value='"+calEvent.id+"'/>");
form.append("<label>Change event name</label>");
form.append("<div class='input-group'><input class='form-control' id = 'event_name' name = 'event_name' type=text value='" + calEvent.title + "' /><span class='input-group-btn'> <button type='submit' class='btn btn-success waves-effect waves-light'> <i class='fa fa-check'></i> Save</button></span></div>");
$this.$modal.modal({
backdrop: 'static'
});
$this.$modal.find('.delete-event').show().end().find('.save-event').hide().end().find('.modal-body').empty().prepend(form).end().find('.delete-event').unbind('click').click(function () {
$this.$calendarObj.fullCalendar('removeEvents', function (ev) {
return (ev._id == calEvent._id);
});
$this.$modal.modal('hide');
});
$this.$modal.find('form').on('submit', function () {
calEvent.title = form.find("input[type=text]").val();
$this.$calendarObj.fullCalendar('updateEvent', calEvent);
$this.$modal.modal('hide');
return false;
});
},
web.php
Route::get('/sched/edit/{id}','EventCategoryController@update')->name('event.edit');