modal_form.blade.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <!--suppress ALL -->
  2. <div id="json-subcat" hidden>{{ (string)($data->subcategories) ?? '' }}</div>
  3. <div id="data-pictures" hidden>{{ (string)($data->pictures) ?? '' }}</div>
  4. <script>
  5. var data = $('#data-pictures').text()
  6. if (data != "") {
  7. var $pictures = $.parseJSON($('#data-pictures').text());
  8. }
  9. var $subcat = $.parseJSON($('#json-subcat').text());
  10. $('#json-subcat').remove();
  11. function subcategoryPick(elem) {
  12. let selected = $(elem).val()
  13. var subCatOpt = '';
  14. $subcat.forEach(function (subcat) {
  15. if (subcat.category_id === +selected) {
  16. subCatOpt += '<option value="' + subcat.category_id + '">' + subcat.title + '</option><br>'
  17. }
  18. });
  19. $('#item-subcat').html(subCatOpt);
  20. }
  21. </script>
  22. <form id="item-form" method="POST" action="{{ route('item.update',$data->item) }}" enctype="multipart/form-data">
  23. {{ csrf_field() }}
  24. <input type="hidden" name="_method" value="POST">
  25. <input type="hidden" name="id" value="{{ $data->item->id }}">
  26. <div class="input-group mb-3">
  27. <div class="input-group-prepend">
  28. <span class="input-group-text"><i class="glyphicon glyphicon-user"></i></span>
  29. </div>
  30. <input type="text" class="form-control" aria-label="Item id" style="max-width: 130px" placeholder="Пользователь"
  31. name="user_id" value="{{ $data->item->user_id }}">
  32. <div class="input-group-prepend ml-3">
  33. <span class="input-group-text"><i class="glyphicon glyphicon-calendar"></i></span>
  34. </div>
  35. <input type="text" disabled class="form-control" aria-label="data creating" placeholder="Дата создания"
  36. {{--name="created_at"--}} value="{{ $data->item->created_at }}">
  37. </div>
  38. <div class="input-group mb-3">
  39. <div class="input-group-prepend">
  40. <span class="input-group-text"><i class="glyphicon glyphicon-bookmark"></i></span>
  41. </div>
  42. <input type="text" class="form-control" aria-label="data creating" placeholder="Заголовок"
  43. name="caption" value="{{ $data->item->caption }}">
  44. </div>
  45. <div class="input-group mb-3">
  46. <div class="input-group-prepend">
  47. <span class="input-group-text"><i class="glyphicon glyphicon-indent-left"></i></span>
  48. </div>
  49. <select type="text" class="form-control" placeholder="Категория" title="Выберите категорию"
  50. onchange="subcategoryPick(this)"
  51. name="category_id" value="{{ $data->item->category->title }}">
  52. <option disabled value="">Выберите категорию</option>
  53. @foreach($data->categories as $category)
  54. <option {{ ($category->id == $data->item->category_id) ? 'selected' : '' }}
  55. value="{{ $category->id }}">{{ $category->title }}
  56. </option>
  57. @endforeach
  58. </select>
  59. <div class="input-group-prepend ml-3">
  60. <span class="input-group-text"><i class="glyphicon glyphicon-list"></i></span>
  61. </div>
  62. <select type="text" class="form-control" placeholder="Подкатегория" title="Выберите подкатегорию"
  63. id="item-subcat"
  64. name="created_at" value="{{ $data->item->subcategory->title }}">
  65. <option disabled value="">Выберите подкатегорию</option>
  66. @foreach($data->subcategories as $subcategory)
  67. @if ($subcategory->category_id == $data->item->category_id)
  68. <option {{ ($subcategory->id == $data->item->subcategory_id) ? 'selected' : '' }}
  69. value="{{ $subcategory->id }}">{{ $subcategory->title }}</option>
  70. @endif
  71. @endforeach
  72. </select>
  73. </div>
  74. <div class="form-group" style="margin-top: 15px">
  75. <label for="description">Описание</label>
  76. <textarea class="form-control" rows="5" id="item.description"
  77. name="description">{{ trim($data->item->description) }}</textarea>
  78. </div>
  79. @include('templates.image_upload')
  80. </form>
  81. @section('script')
  82. @parent
  83. <script>
  84. $(document).ready(function () {
  85. setInputFileViews();
  86. });
  87. function setInputFileViews() {
  88. if ($pictures.length > 0) {
  89. $pictures.forEach(function (file, key) {
  90. $(boxes[key].querySelector('.js--image-preview span')).hide();
  91. $(boxes[key].querySelector('.required-field-block')).show();
  92. let thumb = boxes[key].querySelector('.js--image-preview');
  93. let url = "{{ route('images','/') }}/" + file.path;
  94. thumb.style.backgroundImage = 'url(' + url + ')';
  95. });
  96. }
  97. }
  98. </script>
  99. @endsection
  100. @yield('script')