edit.blade.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. @extends('layouts.idara.panel')
  2. @section('content')
  3. <link href="https://unpkg.com/filepond@4.30.4/dist/filepond.min.css" rel="stylesheet" type="text/css" />
  4. <link href="https://unpkg.com/filepond-plugin-file-poster@2.5.1/dist/filepond-plugin-file-poster.min.css" rel="stylesheet" type="text/css" />
  5. <link href="{{asset('pintura/pintura.scss')}}" rel="stylesheet" />
  6. <!-- Custom css -->
  7. <link href="{{asset('css/custom.css')}}" rel="stylesheet" />
  8. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
  9. <div class="container">
  10. @include('backend.partials.features')
  11. <form action="{{url('categorie/'.$article->id)}}" method="post" enctype="multipart/form-data">
  12. <input type="hidden" name="_method" value="PUT">
  13. @csrf
  14. <div class="card mt-4">
  15. <h5 class="card-header">Modifier</h5>
  16. <div class="card-body">
  17. <form action="{{url('categorie/'.$article->id)}}" method="post" enctype="multipart/form-data">
  18. <input type="hidden" name="_method" value="PUT">
  19. @csrf
  20. <div class="form-group">
  21. <label for="exampleFormControlInput1"><strong>Nom de la catégorie : </strong></label>
  22. <input type="text" class="form-control" name="nom" {{$article->nom== 'Logiciels' ? 'disabled' : '' }} placeholder="" value="{{$article->nom}}" required>
  23. </div>
  24. <div class="form-group mt-4">
  25. <div class="input-group control-group increment" >
  26. <input type="file" name="image" class="my-pond form-control " />
  27. </div>
  28. <img src="{{ asset('storage/image/'.$article->image) }} " style="width:200px" alt="description of myimage">
  29. </div>
  30. </div>
  31. </div>
  32. <div class="card mt-4">
  33. <div class="card-header">
  34. Réferencement
  35. </div>
  36. <div class="card-body">
  37. <div class="form-group">
  38. <label for="exampleFormControlInput1" class="mb-3"><strong>Titre(SEO)</strong></label>
  39. <input type="text" class="form-control" name="titre_seo" placeholder="..."
  40. value="{{$article->titre_seo }}">
  41. </div>
  42. <div class="form-group mt-4">
  43. <label for="exampleFormControlInput1" class="mb-3"><strong>Mot clé (SEO)</strong></label>
  44. <input type="text" class="form-control" name="mot_cle" placeholder="..."
  45. value="{{$article->mot_cle }}">
  46. </div>
  47. </div>
  48. </div>
  49. <div class="form-group mt-4" style="text-align: end">
  50. <button type="submit" class="btn btn-success" style="margin-top:10px">Modifier</button>
  51. </div>
  52. </form>
  53. </div>
  54. <script src="https://unpkg.com/filepond@4.30.4/dist/filepond.min.js"></script>
  55. <script src="https://unpkg.com/filepond-plugin-file-poster@2.5.1/dist/filepond-plugin-file-poster.min.js"></script>
  56. <script src="https://unpkg.com/filepond-plugin-file-validate-type@1.2.8/dist/filepond-plugin-file-validate-type.min.js"></script>
  57. <script src="https://unpkg.com/filepond-plugin-file-validate-size@2.2.8/dist/filepond-plugin-file-validate-size.min.js"></script>
  58. <script src="https://unpkg.com/filepond-plugin-image-exif-orientation@1.0.11/dist/filepond-plugin-image-exif-orientation.min.js"></script>
  59. <script type="module">
  60. var img_width = {{ config('app.IMG_WIDTH_CAT') }} ;
  61. var img_height = {{ config('app.IMG_HEIGHT_CAT') }};
  62. var img_quality = {{ config('app.IMG_QUALITY') }};
  63. var img_ratio = {{ config('app.IMG_RATIO_CAT') }};
  64. var max_files = {{ config('app.MAX_FILES') }};
  65. var max_file_size = "{{ config('app.MAX_FILE_SIZE') }}B";
  66. var instant_upload = {{ config('app.INSTANT_UPLOAD') }};
  67. var pond_selector = '.my-pond';
  68. import {
  69. FilePondPluginImageEditor,
  70. } from '/filepond/filepond-plugin-image-editor/FilePondPluginImageEditor.js';
  71. // import Pintura Image Editor modules
  72. import {
  73. // Image editor
  74. openEditor,
  75. processImage,
  76. createDefaultImageReader,
  77. createDefaultImageWriter,
  78. createDefaultImageOrienter,
  79. // Only needed if loading legacy image editor data
  80. legacyDataToImageState,
  81. // Import the editor default configuration
  82. getEditorDefaults,
  83. } from '/pintura/pintura.js';
  84. // French
  85. import fr_FR from '/filepond/locale/fr-fr.js';
  86. FilePond.setOptions(fr_FR);
  87. // Register plugins
  88. FilePond.registerPlugin(
  89. FilePondPluginImageEditor,
  90. FilePondPluginFilePoster,
  91. FilePondPluginImageExifOrientation,
  92. FilePondPluginFileValidateType,
  93. FilePondPluginFileValidateSize,
  94. );
  95. FilePond.create(document.querySelector(pond_selector), {
  96. // Attributes
  97. name: 'image',
  98. maxFiles: max_files,
  99. allowFileSizeValidation: true,
  100. maxFileSize: max_file_size,
  101. allowBrowse: true,
  102. acceptedFileTypes: ['image/*'],
  103. dropOnPage: true,
  104. dropOnElement: true,
  105. instantUpload: instant_upload,
  106. imageResizeUpscale: false,
  107. // FilePond Image Editor plugin properties
  108. imageEditor: {
  109. // Maps legacy data objects to new imageState objects (optional)
  110. legacyDataToImageState: legacyDataToImageState,
  111. // Used to create the editor (required)
  112. createEditor: openEditor,
  113. // Used for reading the image data. See JavaScript installation for details on the `imageReader` property (required)
  114. imageReader: [
  115. createDefaultImageReader,
  116. {
  117. // createDefaultImageReader options here
  118. },
  119. ],
  120. // Required when generating a preview thumbnail and/or output image
  121. imageWriter: [
  122. createDefaultImageWriter,
  123. {
  124. // We'll resize images to fit a 512 × 512 square
  125. targetSize: {
  126. width: img_width,
  127. height: img_height,
  128. },
  129. quality: img_quality,
  130. },
  131. ],
  132. // Used to create poster and output images, runs an invisible "headless" editor instance
  133. imageProcessor: processImage,
  134. // Pintura Image Editor options
  135. editorOptions: {
  136. // Pass the editor default configuration options
  137. ...getEditorDefaults(),
  138. // This will set a square crop aspect ratio
  139. imageCropAspectRatio: img_ratio,
  140. }
  141. }
  142. });
  143. FilePond.setOptions({
  144. server: {
  145. process: '/file-upload-category',
  146. revert: '/file-delete-category',
  147. headers:{
  148. 'X-CSRF-TOKEN': '{{ csrf_token() }}'}
  149. },
  150. });
  151. </script>
  152. @endsection