FullCalendar - вызов модального режима внутри цикла foreah - PullRequest
0 голосов
/ 31 октября 2018

Проверка фона: в настоящее время я делаю модальное представление о событиях. Один для представления календаря, а другой для представления списка. Теперь моя проблема заключается в том, что, хотя я могу вызвать модал из представления списка, я не могу сделать то же самое в представлении календаря (с помощью метода eventClick). Поэтому моя цель - вызвать модал, который находится внутри цикла foreach laravel.

Вот код просмотра:

Сторона календаря внутри id = "calendarView"

<div class="m-portlet__body">
    <div id="calendar2"> </div>
</div>

Сторона списка внутри id = "listView"

<tbody>
    @for ($day = 1; $day <= $day_count; $day++)
        <tr class="fc-list-heading">
            <td class="fc-widget-header" colspan="3">
                <a class="fc-list-heading-main">{{ Carbon::today()->format('F') }} {{ $day }} </a>
            </td>
        </tr>

        @foreach($trainings as $training)
            @if ($training->start_date->format('j') == $day &&
                $training->start_date->format('F') == Carbon::today()->format('F') &&
                $training->start_date->format('Y') == Carbon::today()->format('Y'))
                <tr class="fc-list-item m-fc-event--accent">
                    <td class="fc-list-item-time fc-widget-content">{{ $training->start_time }} to {{ $training->end_time }}</td>

                    <td class="fc-list-item-title fc-widget-content">
                        {{ $training->title }} - @if($training->type_id == 1) Lecture Only @elseif ($training->type_id == 2)Assessment Only @else Lecture and Assessment @endif
                        <div class="fc-description">{{ $training->venue }} - 
                            @if($training->total_participants - $training->joined_participants < 5 && $training->total_participants - $training->joined_participants > 0) <a class="m--font-warning"> {{ $training->total_participants - $training->joined_participants }} slot/s remaining </a>
                            @elseif($training->total_participants - $training->joined_participants == 0) <a class="m--font-danger">Full</a>
                            @else <a class="m--font-success"> {{ $training->total_participants - $training->joined_participants }} slot/s remaining </a>
                            @endif
                        </div>
                    </td>

                    <td class="text-center fc-list-item-alt fc-widget-content">
                        <a href="#" data-toggle="modal" class="m-portlet__nav-link btn m-btn m-btn--hover-danger m-btn--icon m-btn--icon-only m-btn--pill" data-target="#m_modal_{{ $training->id }}" >
                            <i class="fa fa-eye fa-md"></i>
                        </a>

                        <a href="#" data-toggle="modal" class="m-portlet__nav-link btn m-btn m-btn--hover-danger m-btn--icon m-btn--icon-only m-btn--pill" data-target="#modal_delete{{ $training->id }}" >
                            <i class="fas fa-trash-alt fa-md"></i>
                        </a>
                    </td>

                </tr>
            @endif
            @continue

        @endforeach
    @endfor
</tbody>

Модал для события (для просмотра и редактирования)

@foreach($trainings as $training)
            <div class="modal fade" id="m_modal_{{ $training->id }}" tabindex="-1" role="dialog" aria-hidden="true">
                <div class="modal-dialog modal-lg" role="document">
                    @include('admin.training_index.show')
                </div>
            </div>

            <div class="modal fade" id="modal_delete{{ $training->id }}" tabindex="-1" role="dialog" aria-hidden="true">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h3 class="h3">Confirm Delete?</h3>  
                        </div>
                        <div class="modal-body">
                            <h6>Are you sure you want to delete event for {{ $training->start_date->format('F j, Y') }}? </h6>                             
                        </div>

                        <div class="modal-footer">
                            <a href="/admin/training/{{ $training->id }}/delete" class="btn btn-danger">DELETE</a>
                            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                        </div>
                    </div>
                </div>
            </div>
        @endforeach

И скрипт для вызова модала из fullCalendar

$(function() {
      $('#calendar2').fullCalendar({
        defaultView: 'month',
        eventClick:  function(jsEvent) {

            $("#m_modal_" + jsEvent['id']).modal();

            //$("#m_modal_4").modal("show");
            // $("#m_modal_" + jsEvent['id']).modal("show");
        },
        dayClick: function(date) {
            alert('Clicked');
        },
        events: [
            <?php foreach($trainings as $training)
                { 
            ?>
                {
                    id: "{{ $training->id }}",
                    title: "{{ $training->title }}",
                    start: "{{ $training->start_date }}",
                    end: "{{ $training->start_date }}"

                },

            <?php } ?>
        ]
      })
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...