category.blade.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. @extends('layouts.main')
  2. @section('content')
  3. <!-- CONTENT HEADER -->
  4. <section class="content-header">
  5. <div class="container-fluid">
  6. <div class="row mb-2">
  7. <div class="col-sm-6">
  8. <h1>{{ __('Ticket Categories') }}</h1>
  9. </div>
  10. <div class="col-sm-6">
  11. <ol class="breadcrumb float-sm-right">
  12. <li class="breadcrumb-item"><a href="{{ route('home') }}">{{ __('Dashboard') }}</a></li>
  13. <li class="breadcrumb-item"><a class="text-muted"
  14. href="{{ route("admin.ticket.category.index") }}">{{ __('Ticket Categories') }}</a>
  15. </li>
  16. </ol>
  17. </div>
  18. </div>
  19. </div>
  20. </section>
  21. <!-- END CONTENT HEADER -->
  22. <!-- MAIN CONTENT -->
  23. <section class="content">
  24. <div class="container-fluid">
  25. <div class="row">
  26. <div class="col-lg-8">
  27. <div class="card">
  28. <div class="card-header">
  29. <div class="d-flex justify-content-between">
  30. <h5 class="card-title"><i class="fas fas fa-users mr-2"></i>{{__('Categories')}}</h5>
  31. </div>
  32. </div>
  33. <div class="card-body table-responsive">
  34. <table id="datatable" class="table table-striped">
  35. <thead>
  36. <tr>
  37. <th>{{__('ID')}}</th>
  38. <th>{{__('Name')}}</th>
  39. <th>{{__('Tickets')}}</th>
  40. <th>{{__('Created At')}}</th>
  41. <th>{{__('Actions')}}</th>
  42. </tr>
  43. </thead>
  44. <tbody>
  45. </tbody>
  46. </table>
  47. </div>
  48. </div>
  49. </div>
  50. <div class="col-lg-4">
  51. <div class="card">
  52. <div class="card-header">
  53. <h5 class="card-title">{{__('Add Category')}}
  54. </div>
  55. <div class="card-body">
  56. <form action="{{route("admin.ticket.category.store")}}" method="POST" class="ticket-form">
  57. @csrf
  58. <div class="form-group ">
  59. <label for="name" class="control-label">{{__("Name")}}</label>
  60. <input id="name" type="text" class="form-control" name="name" required>
  61. </div>
  62. <button type="submit" class="btn btn-primary">
  63. {{__('Submit')}}
  64. </button>
  65. </form>
  66. </div>
  67. </div>
  68. <div class="card">
  69. <div class="card-header">
  70. <h5 class="card-title">{{__('Edit Category')}}
  71. </div>
  72. <div class="card-body">
  73. <form action="{{route("admin.ticket.category.update","1")}}" method="POST" class="ticket-form">
  74. @csrf
  75. @method('PATCH')
  76. <select id="category" style="width:100%" class="custom-select" name="category"
  77. required autocomplete="off" @error('category') is-invalid @enderror>
  78. @foreach ($categories as $category)
  79. <option value="{{ $category->id }}">{{ __($category->name) }}</option>
  80. @endforeach
  81. </select>
  82. <div class="form-group ">
  83. <label for="name" class="control-label">{{__("New Name")}}</label>
  84. <input id="name" type="text" class="form-control" name="name" required>
  85. </div>
  86. <button type="submit" class="btn btn-primary">
  87. {{__('Submit')}}
  88. </button>
  89. </form>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. </section>
  96. <!-- END CONTENT -->
  97. <script>
  98. document.addEventListener("DOMContentLoaded", function () {
  99. $('#datatable').DataTable({
  100. language: {
  101. url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
  102. },
  103. processing: true,
  104. serverSide: true,
  105. stateSave: true,
  106. ajax: "{{route('admin.ticket.category.datatable')}}",
  107. columns: [
  108. {data: 'id'},
  109. {data: 'name'},
  110. {data: 'tickets'},
  111. {data: 'created_at', sortable: false},
  112. {data: 'actions', sortable: false},
  113. ],
  114. fnDrawCallback: function( oSettings ) {
  115. $('[data-toggle="popover"]').popover();
  116. }
  117. });
  118. });
  119. document.addEventListener('DOMContentLoaded', (event) => {
  120. $('.custom-select').select2();
  121. })
  122. </script>
  123. @endsection