item_modify.blade.php 5.2 KB

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