create.blade.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. @extends('layouts.master')
  2. @section('title') @lang('translation.Add_Asset') @endsection
  3. @section('css')
  4. <!-- select2 css -->
  5. <link href="{{ URL::asset('/assets/libs/select2/select2.min.css') }}" rel="stylesheet" type="text/css" />
  6. <!-- dropzone css -->
  7. <link href="{{ URL::asset('/assets/libs/dropzone/dropzone.min.css') }}" rel="stylesheet" type="text/css" />
  8. @endsection
  9. @section('content')
  10. @component('components.breadcrumb')
  11. @slot('li_1') Ecommerce @endslot
  12. @slot('title') Add Asset @endslot
  13. @endcomponent
  14. <div class="row">
  15. <div class="col-12">
  16. <form class="needs-validation" id="asset_form" action="{{ route('assets.store') }}" method="post" enctype="multipart/form-data" novalidate>
  17. @csrf
  18. <div class="card">
  19. <div class="card-body">
  20. <h4 class="card-title">Basic Information</h4>
  21. <p class="card-title-desc">Fill all information below</p>
  22. <div class="row">
  23. <div class="col-sm-6">
  24. <div class="mb-3">
  25. <label for="name">Asset Name</label>
  26. <input id="name" name="name" type="text" class="form-control" placeholder="Asset Name" required>
  27. <div id="name_errors" class="invalid-feedback">
  28. Required
  29. </div>
  30. </div>
  31. <div class="mb-3">
  32. <label for="manufacturer_name">Manufacturer Name</label>
  33. <input id="manufacturer_name" name="manufacturer_name" type="text" class="form-control" placeholder="Manufacturer Name">
  34. </div>
  35. <div class="mb-3">
  36. <label for="brand">Manufacturer Brand</label>
  37. <input id="brand" name="brand" type="text" class="form-control" placeholder="Manufacturer Brand">
  38. </div>
  39. <div class="mb-3">
  40. <label for="model_name">Model Name</label>
  41. <input id="model_name" name="model_name" type="text" class="form-control" placeholder="Model Name">
  42. </div>
  43. <div class="mb-3">
  44. <label for="model_number">Model Number</label>
  45. <input id="model_number" name="model_number" type="text" class="form-control" placeholder="Model Number">
  46. </div>
  47. </div>
  48. <div class="col-sm-6">
  49. <div class="mb-3">
  50. <label class="control-label">Category</label>
  51. <select class="form-control select2">
  52. <option>Select</option>
  53. <option value="FA">Fashion</option>
  54. <option value="EL">Electronic</option>
  55. </select>
  56. </div>
  57. <div class="mb-3">
  58. <label class="control-label">Features</label>
  59. <select class="select2 form-control select2-multiple" multiple="multiple" data-placeholder="Choose ...">
  60. <option value="WI">Wireless</option>
  61. <option value="BE">Battery life</option>
  62. <option value="BA">Bass</option>
  63. </select>
  64. </div>
  65. <div class="mb-3">
  66. <label for="cost">Cost</label>
  67. <input id="cost" name="cost" type="text" class="form-control" placeholder="Price" required>
  68. <div id="cost_errors" class="invalid-feedback">
  69. </div>
  70. </div>
  71. <div class="mb-3">
  72. <label for="duration">Duration</label>
  73. <input id="duration" name="duration" type="text" class="form-control" placeholder="Duration">
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="card">
  80. <div class="card-body">
  81. <h4 class="card-title mb-3">Asset Description</h4>
  82. <textarea class="form-control" id="elm1" rows="5" placeholder="Asset Description"></textarea>
  83. </div>
  84. </div> <!-- end card-->
  85. <div class="card">
  86. <div class="card-body">
  87. <h4 class="card-title mb-3">Asset Images</h4>
  88. <div action="/" method="post" class="dropzone">
  89. <div class="fallback">
  90. <input name="file" type="file" multiple />
  91. </div>
  92. <div class="dz-message needsclick">
  93. <div class="mb-3">
  94. <i class="display-4 text-muted bx bxs-cloud-upload"></i>
  95. </div>
  96. <h4>Drop files here or click to upload.</h4>
  97. </div>
  98. </div>
  99. </div>
  100. </div> <!-- end card-->
  101. <div class="card">
  102. <div class="card-body">
  103. <h4 class="card-title">Meta Data</h4>
  104. <p class="card-title-desc">Fill all information below</p>
  105. <form>
  106. <div class="row">
  107. <div class="col-sm-6">
  108. <div class="mb-3">
  109. <label for="metatitle">Meta title</label>
  110. <input id="metatitle" name="assetname" type="text" class="form-control" placeholder="Metatitle">
  111. </div>
  112. <div class="mb-3">
  113. <label for="metakeywords">Meta Keywords</label>
  114. <input id="metakeywords" name="manufacturername" type="text" class="form-control" placeholder="Meta Keywords">
  115. </div>
  116. </div>
  117. <div class="col-sm-6">
  118. <div class="mb-3">
  119. <label for="metadescription">Meta Description</label>
  120. <textarea class="form-control" id="metadescription" rows="5" placeholder="Meta Description"></textarea>
  121. </div>
  122. </div>
  123. </div>
  124. <div class="d-flex flex-wrap gap-2">
  125. <button type="submit" class="btn btn-primary waves-effect waves-light">Save Changes</button>
  126. <a href="{{ route('assets.index') }}" class="btn btn-secondary waves-effect waves-light">Cancel</a>
  127. </div>
  128. </form>
  129. </div>
  130. </div>
  131. </form>
  132. </div>
  133. </div>
  134. <!-- end row -->
  135. @endsection
  136. @section('script')
  137. <!-- select 2 plugin -->
  138. <script src="{{ URL::asset('/assets/libs/select2/select2.min.js') }}"></script>
  139. <!-- dropzone plugin -->
  140. <script src="{{ URL::asset('/assets/libs/dropzone/dropzone.min.js') }}"></script>
  141. <!-- init js -->
  142. <script src="{{ URL::asset('/assets/js/pages/ecommerce-select2.init.js') }}"></script>
  143. <!--tinymce js-->
  144. <script src="{{ URL::asset('/assets/libs/tinymce/tinymce.min.js') }}"></script>
  145. <!-- init js -->
  146. <script src="{{ URL::asset('/assets/js/pages/form-editor.init.js') }}"></script>
  147. <script src="{{ URL::asset('/assets/libs/parsleyjs/parsleyjs.min.js') }}"></script>
  148. <script src="{{ URL::asset('/assets/js/pages/form-validation.init.js') }}"></script>
  149. <script type="text/javascript">
  150. $(document).ready(function(){
  151. $( "#asset_form" ).submit(function( event ) {
  152. event.preventDefault();
  153. actionUrl = "{{ route('asset.validate') }}";
  154. form = $( "#asset_form" );
  155. $.ajax({
  156. type: "POST",
  157. url: actionUrl,
  158. data: form.serialize(), // serializes the form's elements.
  159. success: function(data){
  160. $('.needs-validation').addClass('validated');
  161. form.unbind().submit();
  162. },
  163. error: function (data) {
  164. console.log('An error occurred.');
  165. response = data.responseJSON;
  166. if(response.status == false){
  167. $.each(response.errors, function(i, item) {
  168. $('#'+i+'_errors').html(response.errors[i]);
  169. });
  170. }
  171. },
  172. });
  173. });
  174. });
  175. </script>
  176. @endsection