index.blade.php 9.28 KB
@extends('layout.admin', ['title' => 'Админка - Редактор шапки-футера сайта'])

@section('script')
    <script>
        $(document).ready(function() {
            $(document).on('change', '#header', function () {
                var this_ = $(this);
                var value = this_.val();
                var ajax_block = $('#ajax_block');
                console.log('Смена фильтра таблицы меню ');

                $.ajax({
                    type: "GET",
                    url: "{{ url()->full()}}",
                    data: "header=" + value,
                    success: function (data) {
                        console.log('Успешно!');
                        ajax_block.html(data);
                    },
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    },
                    error: function (data) {
                        console.log('Error: ' + data);
                    }
                });
            });

            $(document).on('change', '.check_js', function () {
                var this_ = $(this);
                var value = this_.val();
                var id_rec = this_.attr('data-fid');
                var field = this_.attr('data-field');
                var ajax_block = $('#ajax_block');
                var filter = $('#header');
                var filter_val = filter.val();

                console.log("id=" + id_rec + "&" + field + "=" + value + "&header=" + filter_val);

                $.ajax({
                    type: "GET",
                    url: "{{ route('admin.ajax.block')}}",
                    data: "id=" + id_rec + "&" + field + "=" + value + "&header=" + filter_val,
                    success: function (data) {
                        console.log('Обновление таблицы меню ');
                        ajax_block.html(data);
                    },
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    },
                    error: function (data) {
                        console.log('Error: ' + data);
                    }
                });
            });

        });
    </script>
@endsection

@section('search')
    <!--<div class="absolute inset-y-0 flex items-center pl-2">
        <svg
            class="w-4 h-4"
            aria-hidden="true"
            fill="currentColor"
            viewBox="0 0 20 20"
        >
            <path
                fill-rule="evenodd"
                d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z"
                clip-rule="evenodd"
            ></path>
        </svg>
    </div>
    <form action="" method="POST">
        <div style="float:left;"><input
                class="w-full pl-8 pr-2 text-sm text-gray-700 placeholder-gray-600 bg-gray-100 border-0 rounded-md dark:placeholder-gray-500 dark:focus:shadow-outline-gray dark:focus:placeholder-gray-600 dark:bg-gray-700 dark:text-gray-200 focus:placeholder-gray-500 focus:bg-white focus:border-purple-300 focus:outline-none focus:shadow-outline-purple form-input"
                style="width: 400px"
                type="text"
                placeholder="Искать..."
                aria-label="Search"
            /></div>
        <div style="float: left">
            <button type="submit" class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple">Искать</button>
        </div>
    </form>-->
@endsection

@section('content')

    <a href="{{ route('admin.add-block') }}" style="width: 145px" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
        Добавить опцию
    </a>
    <select name="header" id="header" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray">
        <option value="1">Шапка</option>
        <option value="0">Футер</option>
    </select>

    <br>
    <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">

        <div class="w-full overflow-x-auto">
            <table class="w-full whitespace-no-wrap">
                <thead>
                <tr
                    class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
                >
                    <th class="px-4 py-3">№</th>
                    <th class="px-4 py-3">Название</th>
                    <th class="px-4 py-3">Ссылка</th>
                    <th class="px-4 py-3">Родитель</th>
                    <th class="px-4 py-3">Сортировка</th>
                    <th class="px-4 py-3">Дата создания</th>
                    <th class="px-4 py-3">Редактировать</th>
                </tr>
                </thead>
                <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
                @foreach($header_footer as $page)
                    <tr class="text-gray-700 dark:text-gray-400">
                        <td class="px-4 py-3">
                            {{$page->id}}
                        </td>
                        <td class="px-4 py-3">
                            {{$page->name}}
                        </td>
                        <td class="px-4 py-3">
                            {{$page->link}}
                        </td>
                        <td class="px-4 py-3">
                            <select name="code_id{{$page->code_id}}" id="code_id{{$page->id}}" data-fid="{{$page->id}}" data-field="code_id" class="form-control check_js">
                                <option value="0"
                                        @if($page->code_id == 0)
                                        selected
                                    @endif
                                >Не указано</option>
                                @isset($list_menu)
                                    @foreach($list_menu as $menu)
                                        <option value="{{ $menu->id }}"
                                            @if($menu->id == $page->code_id)
                                                selected
                                            @endif
                                        >{{ $menu->name }} ({{ $menu->id }})</option>
                                    @endforeach
                                @endisset
                            </select>
                        </td>
                        <td class="px-4 py-3 text-sm">
                            <select name="sort{{$page->id}}" id="sort{{$page->id}}" data-fid="{{$page->id}}" data-field="sort" class="form-control check_js">
                                <option value="100" @if($page->sort == '100') selected @endif>100</option>
                                <option value="110" @if($page->sort == '110') selected @endif>110</option>
                                <option value="120" @if($page->sort == '120') selected @endif>120</option>
                                <option value="130" @if($page->sort == '130') selected @endif>130</option>
                                <option value="140" @if($page->sort == '140') selected @endif>140</option>
                                <option value="150" @if($page->sort == '150') selected @endif>150</option>
                                <option value="160" @if($page->sort == '160') selected @endif>160</option>
                                <option value="170" @if($page->sort == '170') selected @endif>170</option>
                                <option value="180" @if($page->sort == '180') selected @endif>180</option>
                                <option value="190" @if($page->sort == '190') selected @endif>190</option>
                                <option value="200" @if($page->sort == '200') selected @endif>200</option>
                            </select>
                        </td>

                        <td class="px-4 py-3">
                            {{$page->created_at}}
                        </td>
                        <td class="px-4 py-3 text-sm_">
                            <form action="{{ route('admin.delete-block', ['block' => $page->id]) }}" method="POST">
                                <a href="{{ route('admin.edit-block', ['block' => $page->id]) }}">Изменить</a> |
                                @csrf
                                @method('DELETE')
                                <input class="btn btn-danger" type="submit" value="Удалить"/>
                            </form>
                        </td>
                    </tr>
                @endforeach
                </tbody>
            </table>
        </div>

        <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
            <?=$header_footer->appends($_GET)->links('admin.pagginate'); ?>
        </div>
    </div>
@endsection