Как я могу обновить детали события в fullcalendar, используя JavaScript? - PullRequest
2 голосов
/ 30 сентября 2019

Я пытаюсь обновить информацию о моем событии в полном календаре, проблема в том, что у меня нет большого опыта работы с javascript. Я уже могу добавить событие, я просто не знаю, как обновить детали события.

enter image description here

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">&times;</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');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...