Explorar el Código

Grafica nuova

Luca Parisio hace 1 año
padre
commit
ad2122ebf1
Se han modificado 43 ficheros con 2733 adiciones y 1943 borrados
  1. 5 2
      app/Http/Livewire/Causal.php
  2. 40 13
      app/Http/Livewire/CourseList.php
  3. 8 1
      app/Http/Livewire/Member.php
  4. 26 2
      app/Http/Livewire/RecordIN.php
  5. 7 0
      app/Http/Livewire/Setting.php
  6. 1 0
      app/Models/Causal.php
  7. 32 0
      database/migrations/2024_10_09_144000_add_no_receip_to_causals_table.php
  8. 2 2
      public/css/_style.css
  9. 71 21
      public/css/style.css
  10. 234 217
      resources/views/layouts/app.blade.php
  11. 52 27
      resources/views/livewire/bank.blade.php
  12. 55 36
      resources/views/livewire/card.blade.php
  13. 6 6
      resources/views/livewire/category.blade.php
  14. 2 2
      resources/views/livewire/category_child.blade.php
  15. 13 6
      resources/views/livewire/causal.blade.php
  16. 2 2
      resources/views/livewire/causal_child.blade.php
  17. 5 5
      resources/views/livewire/city.blade.php
  18. 90 4
      resources/views/livewire/course.blade.php
  19. 2 2
      resources/views/livewire/course_child.blade.php
  20. 52 27
      resources/views/livewire/course_duration.blade.php
  21. 52 27
      resources/views/livewire/course_frequency.blade.php
  22. 52 27
      resources/views/livewire/course_level.blade.php
  23. 148 104
      resources/views/livewire/course_list.blade.php
  24. 226 167
      resources/views/livewire/course_member.blade.php
  25. 51 28
      resources/views/livewire/course_subscription.blade.php
  26. 52 27
      resources/views/livewire/course_type.blade.php
  27. 52 27
      resources/views/livewire/discipline.blade.php
  28. 526 534
      resources/views/livewire/member.blade.php
  29. 5 5
      resources/views/livewire/nation.blade.php
  30. 52 27
      resources/views/livewire/payment_method.blade.php
  31. 5 5
      resources/views/livewire/province.blade.php
  32. 111 73
      resources/views/livewire/receipt.blade.php
  33. 3 3
      resources/views/livewire/records.blade.php
  34. 212 146
      resources/views/livewire/records_in.blade.php
  35. 2 2
      resources/views/livewire/records_in_out.blade.php
  36. 1 1
      resources/views/livewire/records_in_out_old.blade.php
  37. 143 132
      resources/views/livewire/records_out.blade.php
  38. 98 69
      resources/views/livewire/reminders.blade.php
  39. 109 92
      resources/views/livewire/settings.blade.php
  40. 8 8
      resources/views/livewire/sponsor.blade.php
  41. 52 27
      resources/views/livewire/supplier.blade.php
  42. 53 27
      resources/views/livewire/vat.blade.php
  43. 15 10
      routes/web.php

+ 5 - 2
app/Http/Livewire/Causal.php

@@ -6,7 +6,7 @@ use Livewire\Component;
 
 class Causal extends Component
 {
-    public $recordsIn, $recordsOut, $parent_id,  $name, $enabled, $corrispettivo_fiscale, $money, $user_status, $no_first, $no_records, $type, $dataId, $update = false, $add = false;
+    public $recordsIn, $recordsOut, $parent_id,  $name, $enabled, $corrispettivo_fiscale, $no_receipt, $money, $user_status, $no_first, $no_records, $type, $dataId, $update = false, $add = false;
 
     public $corrispettivo_causal_id = 0;
 
@@ -34,6 +34,7 @@ class Causal extends Component
         $this->type = null;
         $this->money = false;
         $this->corrispettivo_fiscale = false;
+        $this->no_receipt = false;
         $this->user_status = false;
         $this->no_first = false;
         $this->no_records = false;
@@ -73,6 +74,7 @@ class Causal extends Component
                 'parent_id' => $this->parent_id,
                 'money' => $this->money,
                 'corrispettivo_fiscale' => $this->corrispettivo_fiscale,
+                'no_receipt' => $this->no_receipt,
                 'user_status' => $this->user_status,
                 'no_first' => $this->no_first,
                 'no_records' => $this->no_records,
@@ -94,7 +96,7 @@ class Causal extends Component
             } else {
                 $this->name = $causal->name;
                 $this->money = $causal->money;
-                $this->corrispettivo_fiscale = $causal->corrispettivo_fiscale;
+                $this->no_receipt = $causal->no_receipt;
                 $this->user_status = $causal->user_status;
                 $this->no_first = $causal->no_first;
                 $this->no_records = $causal->no_records;
@@ -122,6 +124,7 @@ class Causal extends Component
                 'no_first' => $this->no_first,
                 'no_records' => $this->no_records,
                 'money' => $this->money,
+                'no_receipt' => $this->no_receipt,
                 'corrispettivo_fiscale' => $this->corrispettivo_fiscale,
                 'enabled' => $this->enabled
             ]);

+ 40 - 13
app/Http/Livewire/CourseList.php

@@ -93,23 +93,50 @@ class CourseList extends Component
 
         foreach($member_course as $x)
         {
+
+            $price = 0;
+            $price = $x->course->price;
+            $subPrice = $x->course->subscription_price;
+            $records = \App\Models\Record::where('member_course_id', $x->id)->where('deleted', 0)->get();
+            $prices = [];
+            foreach ($records as $record)
+            {
+                foreach ($record->rows as $row)
+                {
+
+                    if ($row->causal_id == $x->course->sub_causal_id)
+                    {
+                        $subPrice = $row->amount;
+                    }
+                    if ($row->causal_id == $x->course->causal_id)
+                    {
+
+                        $tot = sizeof(json_decode($row->when));
+                        foreach(json_decode($row->when) as $m)
+                        {
+                            $prices[$m->month] = $row->amount / $tot;
+                        }
+                    }
+                }
+            }
+
             $this->records[] = array(
                 $x->member_id . "§" . $x->member->first_name . "§" . $x->member->last_name,
-                $this->getColor($x->months, 9),
-                $this->getColor($x->months, 10),
-                $this->getColor($x->months, 11),
-                $this->getColor($x->months, 12),
-                $this->getColor($x->months, 1),
-                $this->getColor($x->months, 2),
-                $this->getColor($x->months, 3),
-                $this->getColor($x->months, 4),
-                $this->getColor($x->months, 5),
-                $this->getColor($x->months, 6),
-                $this->getColor($x->months, 7),
-                $this->getColor($x->months, 8),
+                $this->getColor($x->months, 9) . "§" . (isset($prices[9]) ? $prices[9] : $price),
+                $this->getColor($x->months, 10) . "§" . (isset($prices[10]) ? $prices[10] : $price),
+                $this->getColor($x->months, 11) . "§" . (isset($prices[11]) ? $prices[11] : $price),
+                $this->getColor($x->months, 12) . "§" . (isset($prices[12]) ? $prices[12] : $price),
+                $this->getColor($x->months, 1) . "§" . (isset($prices[1]) ? $prices[1] : $price),
+                $this->getColor($x->months, 2) . "§" . (isset($prices[2]) ? $prices[2] : $price),
+                $this->getColor($x->months, 3) . "§" . (isset($prices[3]) ? $prices[3] : $price),
+                $this->getColor($x->months, 4) . "§" . (isset($prices[4]) ? $prices[4] : $price),
+                $this->getColor($x->months, 5) . "§" . (isset($prices[5]) ? $prices[5] : $price),
+                $this->getColor($x->months, 6) . "§" . (isset($prices[6]) ? $prices[6] : $price),
+                $this->getColor($x->months, 7) . "§" . (isset($prices[7]) ? $prices[7] : $price),
+                $this->getColor($x->months, 8) . "§" . (isset($prices[8]) ? $prices[8] : $price),
                 $x->course_id,
                 $x->id,
-                $x->subscribed
+                $x->subscribed . "§" . $subPrice
             );
         }
 

+ 8 - 1
app/Http/Livewire/Member.php

@@ -24,6 +24,8 @@ class Member extends Component
 
     public $groupMsg = '';
 
+    public $type = 'dati';
+
     protected $messages = [
         'birth_nation_id.required' => 'birth_nation_id',
         'birth_province_id.required' => 'birth_province_id',
@@ -31,9 +33,14 @@ class Member extends Component
         'nation_id.required' => 'nation_id',
         'province_id.required' => 'province_id',
         'city_id.required' => 'city_id',
-        'gender' => 'Obbligatorio'
+        'gender' => 'gender'
     ];
 
+    public function change($type)
+    {
+        $this->type = $type;
+    }
+
     public function sortBy($field)
     {
         if($this->sortField === $field)

+ 26 - 2
app/Http/Livewire/RecordIN.php

@@ -309,6 +309,16 @@ class RecordIN extends Component
             {
                 $this->refreshAfter = 1;
                 $this->member_id = $_GET["memberId"];
+                $member = \App\Models\Member::findOrFail($this->member_id);
+                if (!$member->isAdult())
+                {
+                    if($member->father_name != '')
+                        $this->parent = $member->father_name . " (C.F. " . $member->father_fiscal_code . ")";
+                    else if($member->mother_name != '')
+                        $this->parent = $member->mother_name . " (C.F. " . $member->mother_fiscal_code . ")";
+                    else
+                        $this->parent = '';
+                }
             }
             if (isset($_GET["causalId"]))
             {
@@ -506,6 +516,8 @@ class RecordIN extends Component
             ]);
             $this->dataId = $record->id;
 
+            $no_receipt_causal = false;
+
             // Inserisco le righe
             $tot = 0;
             $vat = 0;
@@ -526,6 +538,11 @@ class RecordIN extends Component
                 ]);
                 $tot += $this->currencyToDouble($row["amount"]);
                 $vat += getVatValue($this->currencyToDouble($row["amount"]), $row["vat_id"]);
+
+                $cau = \App\Models\Causal::findOrFail($row["causal_id"]);
+                if ($cau->no_receipt)
+                    $no_receipt_causal = true;
+
             }
             $record->amount = $tot;
             $record->save();
@@ -556,7 +573,7 @@ class RecordIN extends Component
                 $payment_method = \App\Models\PaymentMethod::findOrFail($this->payment_method_id);
                 if (!$payment_method->money)
                 {
-                    if ($generate)
+                    if ($generate && !$no_receipt_causal)
                         $this->createReceipt();
                 }
             }
@@ -658,6 +675,8 @@ class RecordIN extends Component
                 'deleted' => $this->deleted,
             ]);
 
+            $no_receipt_causal = false;
+
             $tot = 0;
             $vat = 0;
             // Elimino le righe
@@ -680,6 +699,11 @@ class RecordIN extends Component
                 ]);
                 $tot += $this->currencyToDouble($row["amount"]);
                 $vat += getVatValue($this->currencyToDouble($row["amount"]), $row["vat_id"]);
+
+                $cau = \App\Models\Causal::findOrFail($row["causal_id"]);
+                if ($cau->no_receipt)
+                    $no_receipt_causal = true;
+
             }
 
             $rec = \App\Models\Record::findOrFail($this->dataId);
@@ -691,7 +715,7 @@ class RecordIN extends Component
                 $payment_method = \App\Models\PaymentMethod::findOrFail($this->payment_method_id);
                 if (!$payment_method->money)
                 {
-                    if ($generate)
+                    if ($generate && !$no_receipt_causal)
                         $this->createReceipt();
                 }
             }

+ 7 - 0
app/Http/Livewire/Setting.php

@@ -7,9 +7,16 @@ use Livewire\Component;
 class Setting extends Component
 {
 
+    public $type = 'anagrafica';
+
     public function render()
     {
         return view('livewire.settings');
     }
 
+    public function change($type)
+    {
+        $this->type = $type;
+    }
+
 }

+ 1 - 0
app/Models/Causal.php

@@ -15,6 +15,7 @@ class Causal extends Model
         'type',
         'money',
         'corrispettivo_fiscale',
+        'no_receipt',
         'user_status',
         'no_first',
         'no_records',

+ 32 - 0
database/migrations/2024_10_09_144000_add_no_receip_to_causals_table.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('causals', function (Blueprint $table) {
+            $table->boolean('no_receipt')->nullable();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('causals', function (Blueprint $table) {
+            $table->dropColumn('no_receipt');
+        });
+    }
+};

+ 2 - 2
public/css/_style.css

@@ -13291,7 +13291,7 @@ textarea.form-control-lg {
 .card--ui_maxwidth.tab-content {
   height: calc(100% - 42px);
 }
-
+/*
 #card--dashboard {
   position: relative;
   margin: 1.5rem 1.5rem 1.5rem 0;
@@ -13301,7 +13301,7 @@ textarea.form-control-lg {
     padding: 2.5rem;
   }
 }
-
+*/
 .sidebar-ui {
   background-color: #F5F8FA;
   z-index: 99;

+ 71 - 21
public/css/style.css

@@ -13027,7 +13027,7 @@ textarea.form-control-lg {
 }
 @media (min-width: 992px) {
   #menu-madonella {
-    padding: 2.1875rem;
+    padding-left: 0.50rem;
   }
 }
 
@@ -13046,7 +13046,7 @@ textarea.form-control-lg {
 #menu-scadenze li a.nav-link {
   padding: 0.5625rem 0.875rem;
   color: #34454E;
-  font-weight: bold;
+
 }
 #menu-anagrafica li:hover,
 #menu-contabilita li:hover,
@@ -13253,11 +13253,13 @@ textarea.form-control-lg {
   margin-bottom: 0 !important;
 }
 .card--ui.card--ui_btnAddHeaderUser {
+    width: 130px;
+    text-align: center;
   flex-direction: column;
-  border-radius: 0.75rem;
-  -webkit-border-radius: 0.75rem;
-  -moz-border-radius: 0.75rem;
-  padding: 1.25rem;
+  border-radius: 10;
+  -webkit-border-radius: 10;
+  -moz-border-radius: 10;
+  padding: 0.60rem;
   border: 0.0625rem solid #fff;
   color: #fff;
   box-shadow: 0 6px 16px #DCDFE0;
@@ -13267,11 +13269,11 @@ textarea.form-control-lg {
   -moz-transition: all 0.3s ease-in-out;
   -o-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
-  background: #006099;
-  background: -moz-linear-gradient(45deg, #006099 0%, #004169 100%);
-  background: -webkit-linear-gradient(45deg, #006099 0%, #004169 100%);
-  background: linear-gradient(45deg, #006099 0%, #004169 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#006099", endColorstr="#004169", GradientType=1);
+  background: #0C6197;
+  background: -moz-linear-gradient(45deg, #0C6197 0%, #004169 100%);
+  background: -webkit-linear-gradient(45deg, #0C6197 0%, #004169 100%);
+  background: linear-gradient(45deg, #0C6197 0%, #004169 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0C6197", endColorstr="#004169", GradientType=1);
 }
 .card--ui.card--ui_btnAddHeaderUser header h2 {
   font-size: 24px;
@@ -13291,7 +13293,7 @@ textarea.form-control-lg {
 .card--ui_maxwidth.tab-content {
   height: calc(100% - 42px);
 }
-
+/*
 #card--dashboard {
   position: relative;
   margin: 1.5rem 1.5rem 1.5rem 0;
@@ -13301,7 +13303,7 @@ textarea.form-control-lg {
     padding: 2.5rem;
   }
 }
-
+*/
 #card--auto-fill {
   position: relative;
   margin: 1.5rem 1.5rem 1.5rem 0;
@@ -15583,7 +15585,7 @@ a.tablesaw-btn {
 .tablesaw-sortable-arrow:after {
   display: inline-block;
   width: 10px;
-  height: 14px;
+  height: 15px;
   content: " ";
   margin-left: 0.3125em;
 }
@@ -15874,17 +15876,17 @@ a.tablesaw-btn {
   }
 }
 table.tablesaw {
-  font-size: 14px;
+  font-size: 15px;
 }
 table.tablesaw thead tr th {
   background-color: #EDF0F2;
-  color: #70828C;
+  color: #000000;
   border: none;
   padding: 0.625rem 0.3125rem;
 }
 table.tablesaw thead tr th input.table-check {
-  width: 14px;
-  height: 14px;
+  width: 15px;
+  height: 15px;
   border-radius: 2px;
   -webkit-border-radius: 2px;
   -moz-border-radius: 2px;
@@ -15892,12 +15894,12 @@ table.tablesaw thead tr th input.table-check {
 }
 table.tablesaw tbody tr td {
   border-color: #EDF0F2;
-  color: #70828C;
+  color: #000000;
   padding: 0.625rem 0.3125rem;
 }
 table.tablesaw tbody tr td input.table-check {
-  width: 14px;
-  height: 14px;
+  width: 15px;
+  height: 15px;
   border-radius: 2px;
   -webkit-border-radius: 2px;
   -moz-border-radius: 2px;
@@ -15990,3 +15992,51 @@ a:hover, a:visited {
 }
 
 /*# sourceMappingURL=style.css.map */
+
+.bluButton {
+    width: 130px;
+    text-align: center;
+  flex-direction: column;
+  border-radius: 10;
+  -webkit-border-radius: 10;
+  -moz-border-radius: 10;
+  padding: 0.60rem;
+  border: 0.0625rem solid #fff;
+  color: #fff;
+  box-shadow: 0 6px 16px #DCDFE0;
+  -webkit-box-shadow: 0 6px 16px #DCDFE0;
+  -moz-box-shadow: 0 6px 16px #DCDFE0;
+  -webkit-transition: all 0.3s ease-in-out;
+  -moz-transition: all 0.3s ease-in-out;
+  -o-transition: all 0.3s ease-in-out;
+  transition: all 0.3s ease-in-out;
+  background: #0C6197;
+  background: -moz-linear-gradient(45deg, #0C6197 0%, #004169 100%);
+  background: -webkit-linear-gradient(45deg, #0C6197 0%, #004169 100%);
+  background: linear-gradient(45deg, #0C6197 0%, #004169 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0C6197", endColorstr="#004169", GradientType=1);
+}
+
+.card--ui.card--ui_btnCancel {
+    width: 130px;
+    text-align: center;
+  flex-direction: column;
+  border-radius: 10;
+  -webkit-border-radius: 10;
+  -moz-border-radius: 10;
+  padding: 0.60rem;
+  border: 0.0625rem solid grey;
+  color: grey;
+  box-shadow: 0 6px 16px #DCDFE0;
+  -webkit-box-shadow: 0 6px 16px #DCDFE0;
+  -moz-box-shadow: 0 6px 16px #DCDFE0;
+  -webkit-transition: all 0.3s ease-in-out;
+  -moz-transition: all 0.3s ease-in-out;
+  -o-transition: all 0.3s ease-in-out;
+  transition: all 0.3s ease-in-out;
+  background: #FFFFFF;
+  background: -moz-linear-gradient(45deg, #FFFFFF 0%, #FFFFFF 100%);
+  background: -webkit-linear-gradient(45deg, #FFFFFF 0%, #FFFFFF 100%);
+  background: linear-gradient(45deg, #FFFFFF 0%, #FFFFFF 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#FFFFFF", GradientType=1);
+}

+ 234 - 217
resources/views/layouts/app.blade.php

@@ -7,8 +7,6 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Dashboard</title>
   <link rel="stylesheet" href="https://use.typekit.net/dit2bgs.css">
-  <link rel="stylesheet" href="/css/style.css">
-<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
   @livewireStyles
   <style>
   .page-link.active, .active > .page-link
@@ -42,252 +40,271 @@
     {
         border-width:3px !important;
     }
+    .linkMenu
+    {
+        margin-left:30px;
+    }
+    .dt-button.dropdown-item
+    {
+        background-color:#FFFFFF !important;
+    }
+    .btn-group > button {
+        background-color:#FFFFFF !important;
+        color: black;
+    }
+    .card--ui.card--ui_btnCancel, .card--ui.card--ui_btnAddHeaderUser {
+        padding: 0.30rem;
+    }
+    .btn--ui
+    {
+        -webkit-border-radius: 0.5rem !important;
+        background-color:#0C6197 !important;
+        font-weight:normal;
+    }
+    .btn--ui.lightGrey, .btn--ui.extraLightGrey
+    {
+        -webkit-border-radius: 0.5rem !important;
+        background-color:#ffffff !important;
+        border: 1px solid grey;
+        color: black;
+        font-weight:normal;
+    }
+    label.form-label
+    {
+        font-size:16px !important;
+    }
+    .form-control , .form-select
+    {
+        font-size:16px !important;
+        background-color:#ffffff !important;
+        border: 1px solid gray !important;
+    }
+    .select2-selection__rendered
+    {
+        font-size:16px !important;
+    }
+    .select2-selection
+    {
+        background-color:#ffffff !important;
+        border: 1px solid gray !important;
+    }
+    span.title-form
+    {
+        font-size:16px !important;
+    }
+    .btn.u
+    {
+        text-decoration:underline;
+    }
   </style>
-
+  <link rel="stylesheet" href="/css/style.css">
+    <!--<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">-->
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css">
+    <style>
+    .btn--ui
+    {
+        -webkit-border-radius: 0.5rem !important;
+        background-color:#0C6197 !important;
+        font-weight:normal;
+    }
+    .btn--ui.lightGrey, .btn--ui.extraLightGrey
+    {
+        -webkit-border-radius: 0.5rem !important;
+        background-color:#ffffff !important;
+        border: 1px solid grey;
+        color: black;
+        font-weight:normal;
+    }
+    </style>
+@stack('css')
 </head>
 
 <body>
   <div class="container-fluid">
 
-    @if(false)
-        <div class="row" style="background-color:blue">
-            <div class="col-md-3">
-                <a href="/dashboard" class="d-flex align-items-center pb-3 mb-md-0 me-md-auto text-white text-decoration-none">
-                    <img src="{{env('LOGO', '')}}" class="fs-5 d-none d-sm-inline img-fluid" alt="logo madonnella"  style="max-width:200px"/>
-                </a>
-            </div>
+    <div class="row" style="background-color:#0C6197">
+        <div class="col-md-2">
+            <a href="/dashboard" class="d-flex align-items-center pb-3 mb-md-0 me-md-auto text-white text-decoration-none">
+                <img src="{{env('LOGO', '')}}" class="fs-5 d-none d-sm-inline img-fluid" alt="logo madonnella"  style="max-width:200px"/>
+            </a>
         </div>
-    @endif
+        <div class="col-md-6 align-middle">
+            <h3 style="color:white"><br>
+            @php
+            if (Request::is('members'))
+                print "Utenti";
+            if (Request::is('suppliers'))
+                print "Fornitori";
+            if (Request::is('in'))
+                print "Entrate";
+            if (Request::is('out'))
+                print "Uscite";
+            if (Request::is('receipts'))
+                print "Ricevute";
+            if (Request::is('records_in_out'))
+                print "Entrate/uscite gestionale";
+            if (Request::is('records'))
+                print "Prima nota";
+            if (Request::is('course_list'))
+                print "Pagamento corsi";
+            if (Request::is('course_member'))
+                print "Iscritti corsi";
+            if (Request::is('reminders'))
+                print "Scadenze";
+            if (Request::is('settings'))
+                print "Impostazioni";
+            if (Request::is('categories'))
+                print "Categorie";
+            if (Request::is('disciplines'))
+                print "Discipline";
+            if (Request::is('cards'))
+                print "Tessere";
+            if (Request::is('course_subscriptions'))
+                print "Corsi - Abbonamenti";
+            if (Request::is('courses'))
+                print "Corsi";
+            if (Request::is('course_durations'))
+                print "Corsi - Durata";
+            if (Request::is('course_frequencies'))
+                print "Corsi - Frequenza";
+            if (Request::is('course_levels'))
+                print "Corsi - Livelli";
+            if (Request::is('course_types'))
+                print "Corsi - Tipologie";
+            if (Request::is('banks'))
+                print "Banche";
+            if (Request::is('causals'))
+                print "Causali";
+            if (Request::is('vats'))
+                print "Iva";
+            if (Request::is('payment_methods'))
+                print "Metodi di pagamento";
+            @endphp
+            </h3>
+        </div>
+    </div>
 
     <div class="row flex-nowrap">
 
         <!-- sidebar menu -->
-        <div class="sidebar--ui col-auto col-md-3 col-xl-2 px-sm-2 px-0">
-            <div class="d-flex flex-column align-items-center align-items-sm-start min-vh-100" id="menu-madonella">
-                <a href="/dashboard" class="d-flex align-items-center pb-3 mb-md-0 me-md-auto text-white text-decoration-none">
-                    <img src="{{env('LOGO', '')}}" class="fs-5 d-none d-sm-inline img-fluid" alt="logo madonnella"  style="max-width:200px"/>
-                </a>
-
-                <ul class="nav nav-pills flex-column align-items-center align-items-sm-start w-100" id="menu-anagrafica">
-                    <li class="nav-item">
-                        <a href="/members" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu utenti"></i> <span class="ms-3 d-none d-md-inline">Utenti</span>
-                        </a>
-                    </li>
-                    <li class="nav-item fornitori">
-                        <a href="/suppliers" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu fornitori"></i> <span class="ms-3 d-none d-md-inline">Fornitori</span>
-                        </a>
-                    </li>
-                    <!--
-                    <li class="nav-item sponsors">
-                        <a href="/sponsors" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu  primanota"></i> <span class="ms-3 d-none d-md-inline">Sponsor</span>
-                        </a>
-                    </li>
-                    -->
-                </ul>
-
-                <ul class="nav nav-pills flex-column align-items-center align-items-sm-start w-100" id="menu-contabilita">
-                    <li class="nav-item">
-                        <a href="/in" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu entrate"></i> <span class="ms-3 d-none d-md-inline">Entrate</span>
-                        </a>
-                    </li>
-                    <li class="nav-item">
-                        <a href="/out" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu uscite"></i> <span class="ms-3 d-none d-md-inline">Uscite</span>
-                        </a>
-                    </li>
-                    <li class="nav-item">
-                        <a href="/receipts" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Ricevute</span>
-                        </a>
-                    </li>
-                    <li class="nav-item">
-                        <a href="/records_in_out" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Entrate/uscite gestionale</span>
-                        </a>
-                    </li>
-                    <li class="nav-item">
-                        <a href="/records" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Prima Nota</span>
-                        </a>
-                    </li>
-                    <li class="nav-item">
-                        <a href="/course_list" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Pagamento corsi</span>
-                        </a>
-                    </li>
-                    <li class="nav-item">
-                        <a href="/course_member" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Iscritti corsi</span>
-                        </a>
-                    </li>
-                </ul>
-
-                <ul class="nav nav-pills flex-column align-items-center align-items-sm-start w-100" id="menu-scadenze">
-                    <li class="nav-item">
-                        <a href="/reminders" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu scadenze"></i> <span class="ms-3 d-none d-md-inline">Scadenze</span> <!--<span class="badge-menu d-flex align-items-center justify-content-center ms-2">6</span>-->
-                        </a>
-                    </li>
-                </ul>
-
-                <ul class="nav nav-pills flex-column align-items-center align-items-sm-start w-100" id="menu-contabilita">
-                    <li class="nav-item">
-                        <a href="/settings" class="nav-link d-flex align-items-center">
-                            <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Impostazioni</span>
-                        </a>
-                    </li>
-                </ul>
-
-            </div>
-        </div>
-        <!-- / sidebar menu -->
-
-        <!-- filter section -->
-        <!--
-        <div class="col-auto filterWrapper" id="filter--section">
-            <aside>
-                <header>
-                    <h2>Filtra Utenti</h2>
-                </header>
-
-                <form action="" id="filter--form" class="dark-form row">
-                    <div class="filter--item">
-                        <span class="filter--item_title">Tipologia di Tesseramento</span>
-
-                        <div class="filter--item_formElement row">
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Fit</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option2">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Msp</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option3">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Altro</label>
-                                </div>
-                            </div>
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option4">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Uisp</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option5">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Csi</label>
-                                </div>
-
+        <div class="sidebar--ui col-auto col-md-3 col-xl-2  px-0">
+            <div class="d-flex flex-column align-items-center align-items-sm-start min-vh-100" id="menu-madonellax">
+                @if(false)
+                    <a href="/dashboard" class="d-flex align-items-center pb-3 mb-md-0 me-md-auto text-white text-decoration-none">
+                        <img src="{{env('LOGO', '')}}" class="fs-5 d-none d-sm-inline img-fluid" alt="logo madonnella"  style="max-width:200px"/>
+                    </a>
+                @endif
+
+                <div id="accordionExample" style="width:100%">
+                    <div class="accordion-item">
+                        <h2 class="accordion-header linkMenu" id="headingOne" style="margin-top:50px;">
+                            <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="{{Request::is('members') || Request::is('suppliers') ? 'true' : 'false'}}" aria-controls="collapseOne">
+                                <b>Anagrafiche</b>
+                            </button>
+                        </h2>
+                        <div id="collapseOne" class="accordion-collapse collapse {{Request::is('members') || Request::is('suppliers') ? 'show' : ''}}" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
+                            <div class="accordion-body">
+                                <ul class="nav nav-pills flex-column align-items-center align-items-sm-start w-100" id="menu-anagrafica" style="margin-top:0px;">
+                                    <li class="nav-item" style="{{Request::is('members') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/members" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Utenti</span>
+                                        </a>
+                                    </li>
+                                    <li class="nav-item"  style="{{Request::is('suppliers') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/suppliers" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Fornitori</span>
+                                        </a>
+                                    </li>
+                                </ul>
                             </div>
                         </div>
                     </div>
-
-                    <div class="filter--item">
-                        <span class="filter--item_title">Certificato Medico</span>
-
-                        <div class="filter--item_formElement row">
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Normale</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option2">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">In Scadenza</label>
-                                </div>
-                            </div>
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option4">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Agonistico</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option5">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Scaduti</label>
-                                </div>
-
+                    <div class="accordion-item">
+                        <h2 class="accordion-header linkMenu" id="headingTwo">
+                            <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="{{Request::is('in') || Request::is('out') || Request::is('receipts') || Request::is('records_in_out') || Request::is('records') ? 'true' : 'false'}}" aria-controls="collapseTwo">
+                                <b>Contabilità</b>
+                            </button>
+                        </h2>
+                        <div id="collapseTwo" class="accordion-collapse collapse {{Request::is('in') || Request::is('out') || Request::is('receipts') || Request::is('records_in_out') || Request::is('records') ? 'show' : ''}}" aria-labelledby="headingTwo" data-bs-parent="#accordionExample">
+                            <div class="accordion-body">
+                                <ul class="nav nav-pills flex-column align-items-center align-items-sm-start w-100" id="menu-contabilita" style="margin-top:0px;">
+                                    <li class="nav-item" style="{{Request::is('in') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/in" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Entrate</span>
+                                        </a>
+                                    </li>
+                                    <li class="nav-item" style="{{Request::is('out') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/out" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Uscite</span>
+                                        </a>
+                                    </li>
+                                    <li class="nav-item" style="{{Request::is('receipts') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/receipts" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Ricevute</span>
+                                        </a>
+                                    </li>
+                                    <li class="nav-item" style="{{Request::is('records_in_out') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/records_in_out" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Entrate/uscite gestionale</span>
+                                        </a>
+                                    </li>
+                                    <li class="nav-item" style="{{Request::is('records') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/records" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Prima Nota</span>
+                                        </a>
+                                    </li>
+                                </ul>
                             </div>
                         </div>
                     </div>
-
-                    <div class="filter--item">
-                        <span class="filter--item_title">Gruppo di Appartenenza</span>
-
-                        <div class="filter--item_formElement row">
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Tennis</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option2">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Palestra</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option2">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Interessi</label>
-                                </div>
-                            </div>
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option4">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Padel</label>
-                                </div>
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option5">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Beach Volley</label>
-                                </div>
-
+                    <div class="accordion-item">
+                        <h2 class="accordion-header linkMenu" id="headingThree">
+                            <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="{{Request::is('course_list') || Request::is('course_member') ? 'true' : 'false'}}" aria-controls="collapseThree">
+                                <b>Corsi</b>
+                            </button>
+                        </h2>
+                        <div id="collapseThree" class="accordion-collapse collapse {{Request::is('course_list') || Request::is('course_member') ? 'show' : ''}}" aria-labelledby="headingThree" data-bs-parent="#accordionExample">
+                            <div class="accordion-body">
+                                <ul class="nav nav-pills flex-column align-items-center align-items-sm-start w-100" id="menu-contabilita" style="margin-top:0px;">
+                                    <li class="nav-item" style="{{Request::is('course_list') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/course_list" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Pagamento corsi</span>
+                                        </a>
+                                    </li>
+                                    <li class="nav-item" style="{{Request::is('course_member') ? 'background-color: #c5d9e6;' : ''}}">
+                                        <a href="/course_member" class="nav-link d-flex align-items-center linkMenu">
+                                            <span class="ms-3 d-none d-md-inline">Iscritti corsi</span>
+                                        </a>
+                                    </li>
+                                </ul>
                             </div>
                         </div>
                     </div>
-
-                    <div class="filter--item">
-                        <span class="filter--item_title">Stato Pagamenti</span>
-
-                        <div class="filter--item_formElement row">
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Attivi</label>
-                                </div>
-                            </div>
-                            <div class="col-6">
-                                <div class="form-check form-check-inline d-inline-flex align-items-center">
-                                    <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option4">
-                                    <label class="form-check-label ms-2" for="inlineCheckbox1">Scaduti</label>
-                                </div>
-                            </div>
-                        </div>
+                    <div class="accordion-item" style="{{Request::is('reminders') ? 'background-color: #c5d9e6;' : ''}}">
+                        <h2 class="accordion-header linkMenu">
+                            <a class="accordion-button collapsed" href="/reminders">
+                                Scadenze
+                            </a>
+                        </h2>
                     </div>
-
-                </form>
-
-                <footer>
-                    <div class="filter--buttons d-flex align-items-center justify-content-between">
-                        <button class="btn--ui small dark disable">cancella</button><button class="btn--ui small white">filtra</button>
+                    <div class="accordion-item " style="{{Request::is('settings') || Request::is('categories') || Request::is('disciplines') || Request::is('cards') || Request::is('course_subscriptions') || Request::is('courses') || Request::is('course_durations') || Request::is('course_frequencies') || Request::is('course_levels') || Request::is('course_types') || Request::is('banks') || Request::is('causals') || Request::is('vats') || Request::is('payment_methods') ? 'background-color: #c5d9e6;' : ''}}">
+                        <h2 class="accordion-header linkMenu">
+                            <a class="accordion-button collapsed" href="/settings">
+                                Impostazioni
+                            </a>
+                        </h2>
                     </div>
-                </footer>
-
+                </div>
 
-            </aside>
+            </div>
         </div>
 
-        -->
-
         {{ $slot }}
 
-
     </div>
 
     </div>
 
-  <!-- / header -->
 
   <script src="/assets/js/bootstrap.bundle.js"></script>
   <script src="/assets/js/app.js"></script>

+ 52 - 27
resources/views/livewire/bank.blade.php

@@ -4,7 +4,7 @@
         <!--<button id="open-filter" onclick="pcsh1()"></button>
         <button id="close-filter" onclick="pcsh2()"></button>-->
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">Banche</h2>
@@ -12,7 +12,7 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
 
@@ -54,8 +54,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -169,40 +169,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Banche',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Banche',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Banche',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 55 - 36
resources/views/livewire/card.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)Tessere @else Inserimento/modifica tessera @endif</h2>
@@ -9,7 +9,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton"   wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -63,8 +63,8 @@
                             <td>{{$record->next_month_expire}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -227,52 +227,71 @@
 
         function loadDataTable(){
             $('#tablesaw-350').DataTable({
-                //layout: {
-                //    topStart: {
+                layout: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Tessere',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Tessere',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Tessere',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
-                        ],
-
-                //    },
+                        ]
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
+                },
 
                 //},
                 //dom: '<"row"<"col-4"B><"col-4"l><"col-4"f>>rtip',
-                dom: '<"top"><"row top"<"col-6"B><"col-6"f>>rt<"bottom"<"row"<"col-4"p><"col-4"l><"col-4 rightPagination"i>>><"clear">',
+                //dom: '<"top"><"row top"<"col-6"B><"col-6"f>>rt<"bottom"<"row"<"col-4"p><"col-4"l><"col-4 rightPagination"i>>><"clear">',
                 //"dom": '<"top"i>rt<"bottom"flp><"clear">',
                 lengthChange: true,
                 pagingType: 'numbers',
-                lengthMenu: [
-                    [10, 25, 50, -1],
-                    [10, 25, 50, 'Tutti']
-                ],
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
-
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+             $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
         }
 
     </script>

+ 6 - 6
resources/views/livewire/category.blade.php

@@ -1,15 +1,15 @@
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
-        <div class="title--section_name d-flex align-items-center justify-content-between">
+    <header id="title--section"  class="d-flex align-items-center justify-content-between">
+        <div class="title--section_name d-flex align-items-center justify-content-between" style="display:none !important" >
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)Categorie @else Inserimento/modifica categoria @endif</h2>
         </div>
 
         @if(!$add && !$update)
-            <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
+            <div class="title--section_addButton text-right "  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">AGGIUNGI</a>
                 </div>
             </div>
         @endif
@@ -36,8 +36,8 @@
                             <td>{{$record->name}}</td>
                             <td>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                         @if(count($record->childs))

+ 2 - 2
resources/views/livewire/category_child.blade.php

@@ -3,8 +3,8 @@
         <td>{!! str_repeat("&nbsp;", $indentation * 5) !!} {{$record->name}}</td>
         <td>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
-            <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-            <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+            <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
         </td>
     </tr>
     @if(count($record->childs))

+ 13 - 6
resources/views/livewire/causal.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
 
     <header id="title--section" class="d-flex align-items-center justify-content-between">
-        <div class="title--section_name d-flex align-items-center justify-content-between">
+        <div class="title--section_name d-flex align-items-center justify-content-between"  style="display:none !important" >
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)causali @else Inserimento/modifica causale @endif</h2>
         </div>
@@ -9,7 +9,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">AGGIUNGI</a>
                 </div>
             </div>
         @endif
@@ -42,8 +42,8 @@
                             <td>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="duplicate({{ $record->id }})">Duplica</button>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                         @if(count($record->childs))
@@ -75,8 +75,8 @@
                             <td>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="duplicate({{ $record->id }})">Duplica</button>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                         @if(count($record->childs))
@@ -152,6 +152,13 @@
                             </div>
                         </div>
 
+                         <div class="form--item mb-3">
+                            <div class="form-check form-check-inline">
+                                <input class="form-check-input" type="checkbox" id="no_receipt" wire:model="no_receipt">
+                                <label class="form-check-label" for="no_receipt">Non generare ricevuta</label>
+                            </div>
+                        </div>
+
                         <div class="form--item mb-3">
                             <div class="form-check form-check-inline">
                                 <input class="form-check-input" type="checkbox" id="user_status" wire:model="user_status">

+ 2 - 2
resources/views/livewire/causal_child.blade.php

@@ -6,8 +6,8 @@
         <td>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="duplicate({{ $record->id }})">Duplica</button>
-            <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-            <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+            <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
         </td>
     </tr>
     @if(count($record->childs))

+ 5 - 5
resources/views/livewire/city.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-<header id="title--section" class="d-flex align-items-center justify-content-between">
+<header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)comuni @else Inserimento/modifica comuni @endif</h2>
@@ -9,7 +9,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton"   wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -39,8 +39,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -177,7 +177,7 @@
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 

+ 90 - 4
resources/views/livewire/course.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)Corsi @else Inserimento/modifica corso @endif</h2>
@@ -9,7 +9,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -45,8 +45,8 @@
                             <td>{{formatPrice($record->price)}}</td>
                             <td>{{$record->getCount()}}</td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -246,6 +246,16 @@
     @endif
 </div>
 
+@push('scripts')
+    <link href="/css/datatables.css" rel="stylesheet" />
+    <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
+    <script src="/assets/js/datatables.js"></script>
+    <script src="https://cdn.datatables.net/buttons/3.0.2/js/buttons.dataTables.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
+@endpush
+
 @push('scripts')
     <script>
 
@@ -269,6 +279,82 @@
 
         };
 
+        $(document).ready(function() {
+            loadDataTable();
+        } );
+
+        Livewire.on('load-data-table', () => {
+            loadDataTable();
+        });
+
+        function loadDataTable(){
+            $('#tablesaw-350').DataTable({
+                thead: {
+                'th': {'background-color': 'blue'}
+                },
+                layout: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
+                        buttons: [
+                            {
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
+                            }
+                        ]
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
+                },
+                pagingType: 'numbers',
+                "language": {
+                    "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
+                }
+            });
+            $('#tablesaw-350 thead tr th').addClass('col');
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
+
+        }
+
     </script>
 
 @endpush

+ 2 - 2
resources/views/livewire/course_child.blade.php

@@ -3,8 +3,8 @@
         <td>{!! str_repeat("&nbsp;", $indentation * 5) !!} {{$record->name}}</td>
         <td>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
-            <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-            <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+            <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
         </td>
     </tr>
     @if(count($record->childs))

+ 52 - 27
resources/views/livewire/course_duration.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
     @if(!$add && !$update)
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">Durata corsi</h2>
@@ -9,7 +9,7 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
 
@@ -34,8 +34,8 @@
                             <td>{{$record->duration}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -136,40 +136,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 52 - 27
resources/views/livewire/course_frequency.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
     @if(!$add && !$update)
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">Frequenza corsi</h2>
@@ -9,7 +9,7 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
 
@@ -32,8 +32,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -123,40 +123,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Frequenza corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 52 - 27
resources/views/livewire/course_level.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
     @if(!$add && !$update)
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">Livello corsi</h2>
@@ -9,7 +9,7 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
 
@@ -32,8 +32,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -123,40 +123,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Livello corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 148 - 104
resources/views/livewire/course_list.blade.php

@@ -1,106 +1,100 @@
 <div class="col">
     <div class="row h-100">
-<div class="col-auto filterWrapper" id="filter--section"  wire:ignore.self>
-    <aside>
-        <header>
-            <h2>Filtra</h2>
-        </header>
 
-        <form action="" id="filter--form" class="dark-form row">
-            <div class="filter--item">
-                <span class="filter--item_title">Corso</span>
 
-                <div class="filter--item_formElement">
-                    <select class="form-select filterMultiple" wire:model="filterCourse" onchange="destroyDataTable()" multiple="multiple">
-                        @foreach($courses as $c)
-                            <option value="{{$c}}">{{$c}}
-                        @endforeach
-                    </select>
+<div class="col card--ui" id="card--dashboard">
+
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
+        <div class="title--section_name d-flex align-items-center justify-content-between">
+            <i class="ico--ui title_section utenti me-2"></i>
+            <h2 class="primary">Pagamento corsi</h2>
+        </div>
+
+    </header>
+
+    <div class="showFilter" style="display:none"  wire:ignore.self>
+        <hr size="1">
+        <div class="row g-3">
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Corso</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select filterMultiple" wire:model="filterCourse" onchange="destroyDataTable()" multiple="multiple">
+                            @foreach($courses as $c)
+                                <option value="{{$c}}">{{$c}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-            <div class="filter--item">
-                <span class="filter--item_title">Livello</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select filterMultiple" wire:model="filterLevel" onchange="destroyDataTable()"  multiple="multiple">
-                        @foreach($course_levels as $c)
-                            <option value="{{$c->id}}">{{$c->name}}
-                        @endforeach
-                    </select>
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Livello</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select filterMultiple" wire:model="filterLevel" onchange="destroyDataTable()"  multiple="multiple">
+                            @foreach($course_levels as $c)
+                                <option value="{{$c->id}}">{{$c->name}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-            <div class="filter--item">
-                <span class="filter--item_title">Frequenza</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterFrequency" onchange="destroyDataTable()" multiple="multiple">
-                        @foreach($course_frequencies as $c)
-                            <option value="{{$c->id}}">{{$c->name}}
-                        @endforeach
-                    </select>
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Frequenza</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterFrequency" onchange="destroyDataTable()" multiple="multiple">
+                            @foreach($course_frequencies as $c)
+                                <option value="{{$c->id}}">{{$c->name}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-            <div class="filter--item">
-                <span class="filter--item_title">Tipologia</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterType" onchange="destroyDataTable()" multiple="multiple">
-                        @foreach($course_types as $c)
-                            <option value="{{$c->id}}">{{$c->name}}
-                        @endforeach
-                    </select>
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Tipologia</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterType" onchange="destroyDataTable()" multiple="multiple">
+                            @foreach($course_types as $c)
+                                <option value="{{$c->id}}">{{$c->name}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Durata</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterDuration" onchange="destroyDataTable()" multiple="multiple">
-                        @foreach($course_durations as $c)
-                            <option value="{{$c->id}}">{{$c->name}}
-                        @endforeach
-                    </select>
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Durata</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterDuration" onchange="destroyDataTable()" multiple="multiple">
+                            @foreach($course_durations as $c)
+                                <option value="{{$c->id}}">{{$c->name}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
 
-        </form>
-
-        <footer>
-            <div class="filter--buttons d-flex align-items-center justify-content-between">
-                <button class="btn--ui small dark disable" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">cancella</button>
-                <button class="btn--ui small white" wire:click.prevent="search()" onclick="destroyDataTable()">filtra</button>
+        </div>
+        <div class="row g-3" style="margin-top:20px;">
+            <div class="col-md-12" style="text-align:right">
+                <button class="card--ui card--ui_btnCancel" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">CANCELLA</button>
+                <button class="card--ui card--ui_btnAddHeaderUser" wire:click.prevent="search()" onclick="destroyDataTable()">FILTRA</button>
             </div>
-        </footer>
-
-    </aside>
-</div>
-
-<div class="col card--ui" id="card--dashboard">
-
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
-        <div class="title--section_name d-flex align-items-center justify-content-between">
-            <i class="ico--ui title_section utenti me-2"></i>
-            <h2 class="primary">Pagamento corsi</h2>
         </div>
-
-    </header>
-
-    <button id="open-filter" onclick="pcsh1()"></button>
-    <button id="close-filter" onclick="pcsh2()"></button>
-
-    @if(false)
-        <section id="subheader" class="d-flex align-items-center ">
-            <form action="" class="group--action d-flex align-items-center">
-                <select class="form-select form-select-lg me-1" wire:model='courseId'>
-                    <option value="0">Tutti
-                    @foreach($courses as $c)
-                        <option value="{{$c->id}}">{{$c->name}} - {{$c->level->name ?? ""}} - {{$c->type->name ?? ""}} - {{$c->frequency->name ?? ""}}
-                    @endforeach
-                </select>
-            </form>
-        </section>
-    @endif
+        <hr size="1">
+    </div>
 
     <section id="resume-table">
         <div class="compare--chart_wrapper d-none"></div>
@@ -124,13 +118,19 @@
                         @endphp
                         <td><a href="/members?member_detail={{$id}}">{{$last_name}}</a></td>
                         <td><a href="/members?member_detail={{$id}}">{{$first_name}}</a></td>
-                        <td><a class="{{$record[15] ? 'green' : 'orange'}}" wire:click="newSubscription({{$record[13]}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;">&nbsp;</a></td>
+                        @php
+                        list($subscribed, $subPrice) = explode("§", $record[15]);
+                        @endphp
+                        <td><a class="{{$subscribed ? 'green' : 'orange'}}" wire:click="newSubscription({{$record[13]}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;width:60px;padding:0px;"><small>{{formatPrice($subPrice)}}</small></a></td>
                         @for($x=1; $x<=12; $x++)
                             <td>
-                                @if($record[$x] == 'orange')
-                                    <a class="{{$record[$x]}}" wire:click="newPayment({{$record[13]}}, {{$x}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;">&nbsp;</a>
+                                @php
+                                list($color, $price) = explode("§", $record[$x]);
+                                @endphp
+                                @if($color == 'orange')
+                                    <a class="{{$color}}" wire:click="newPayment({{$record[13]}}, {{$x}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;padding:0px;width:60px;"><small>{{formatPrice($price)}}</small></a>
                                 @else
-                                    <a class="{{$record[$x]}}">&nbsp;</a>
+                                    <a class="{{$color}}" style="padding:0px;width:60px;"><small>{{formatPrice($price)}}</small></a>
                                 @endif
                             </td>
                         @endfor
@@ -348,6 +348,22 @@
             $('#tablesaw-350').DataTable().destroy();
         }
 
+        var isFilter = false;
+        $(document).ready(function() {
+            $(document).on("click",".showHideFilter",function() {
+                if (isFilter)
+                {
+                    isFilter = false;
+                    $(".showFilter").hide();
+                }
+                else
+                {
+                    isFilter = true;
+                    $(".showFilter").show();
+                }
+            });
+        } );
+
         function loadDataTable(){
 
             //$('.filterMultiple').select2();
@@ -357,32 +373,60 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Iscritti corsi'
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Iscritti corsi'
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Iscritti corsi'
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 order: [[0, 'asc'], [1, 'asc']],
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="showHideFilter card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-sliders"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 

+ 226 - 167
resources/views/livewire/course_member.blade.php

@@ -1,170 +1,202 @@
 <div class="col">
     <div class="row h-100">
-<div class="col-auto filterWrapper" id="filter--section"  wire:ignore.self>
-    <aside>
-        <header>
-            <h2>Filtra</h2>
-        </header>
 
-        <form action="" id="filter--form" class="dark-form row">
-            <div class="filter--item">
-                <span class="filter--item_title">Corso</span>
+<div class="col card--ui" id="card--dashboard">
 
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterCourse" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        @foreach($courses as $c)
-                            <option value="{{$c}}">{{$c}}
-                        @endforeach
-                    </select>
-                </div>
-            </div>
-            <div class="filter--item">
-                <span class="filter--item_title">Livello</span>
 
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterLevel" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        @foreach($course_levels as $c)
-                            <option value="{{$c->id}}">{{$c->name}}
-                        @endforeach
-                    </select>
-                </div>
-            </div>
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
+        <div class="title--section_name d-flex align-items-center justify-content-between">
+            <i class="ico--ui title_section utenti me-2"></i>
+            <h2 class="primary">Iscritti ai corsi</h2>
+        </div>
 
-            <div class="filter--item">
-                <span class="filter--item_title">Tipologia</span>
+    </header>
 
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterType" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        @foreach($course_types as $c)
-                            <option value="{{$c->id}}">{{$c->name}}
-                        @endforeach
-                    </select>
+    <div class="showFilter" style="display:none" wire:ignore.self>
+        <hr size="1">
+        <div class="row g-3">
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Corso</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterCourse" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            @foreach($courses as $c)
+                                <option value="{{$c}}">{{$c}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Frequenza</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterFrequency" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        @foreach($course_frequencies as $c)
-                            <option value="{{$c->id}}">{{$c->name}}
-                        @endforeach
-                    </select>
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Livello</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterLevel" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            @foreach($course_levels as $c)
+                                <option value="{{$c->id}}">{{$c->name}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Giorni</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterDays" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        <option value="lun">Lunedì
-                        <option value="mar">Martedì
-                        <option value="mer">Mercoledì
-                        <option value="gio">Giovedì
-                        <option value="ven">Venerdì
-                        <option value="sab">Sabato
-                        <option value="dom">Domenica
-                    </select>
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Tipologia</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterType" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            @foreach($course_types as $c)
+                                <option value="{{$c->id}}">{{$c->name}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Orari</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterHours" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        @for($c=6;$c<=23;$c++)
-                            <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00
-                            <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30
-                        @endfor
-                    </select>
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Frequenza</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterFrequency" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            @foreach($course_frequencies as $c)
+                                <option value="{{$c->id}}">{{$c->name}}
+                            @endforeach
+                        </select>
+                    </div>
                 </div>
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Anno</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterYear" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        @foreach($course_years as $c)
-                            <option value="{{$c}}">{{$c}}
-                        @endforeach
-                    </select>
+        </div>
+        <div class="row g-3 mt-1">
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Giorni</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterDays" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            <option value="lun">Lunedì
+                            <option value="mar">Martedì
+                            <option value="mer">Mercoledì
+                            <option value="gio">Giovedì
+                            <option value="ven">Venerdì
+                            <option value="sab">Sabato
+                            <option value="dom">Domenica
+                        </select>
+                    </div>
                 </div>
-
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Pagamento iscrizione</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterSubscription" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        <option value="1">Pagata
-                        <option value="0">Non Pagata
-                    </select>
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Orari</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterHours" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            @for($c=6;$c<=23;$c++)
+                                <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00
+                                <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30
+                            @endfor
+                        </select>
+                    </div>
                 </div>
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Tipologia di Tesseramento</span>
-
-                <div class="filter--item_formElement row">
-
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Anno</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterYear" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            @foreach($course_years as $c)
+                                <option value="{{$c}}">{{$c}}
+                            @endforeach
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Pagamento iscrizione</b>
+                    </div>
                     <div class="col-12">
-                        @foreach(getCards() as $card)
+                        <select class="form-select" wire:model="filterSubscription" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            <option value="1">Pagata
+                            <option value="0">Non Pagata
+                        </select>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="row g-3 mt-1">
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Tipologia di tesseramento</b>
+                    </div>
+                    @foreach(getCards() as $card)
+                        <div class="col-12">
                             <div class="form-check form-check-inline  align-items-center">
                                 <input class="form-check-input chkCard" type="checkbox" value="{{$card->id}}" wire:model="chkCard" onclick="destroyDataTable()">
                                 <label class="form-check-label ms-2" >{{$card->name}}</label>
                             </div>
-                        @endforeach
-                    </div>
+                        </div>
+                    @endforeach
                 </div>
             </div>
-            <!-- filter item -->
-
-            <div class="filter--item">
-                <span class="filter--item_title">Stato tesseramento</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterStatus" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        <option value="2">Attivo
-                        <option value="1">Sospeso
-                        <option value="0">Non tesserato
-                    </select>
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Stato tesseramento</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterStatus" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            <option value="2">Attivo
+                            <option value="1">Sospeso
+                            <option value="0">Non tesserato
+                        </select>
+                    </div>
                 </div>
-
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Certificato Medico</span>
-
-                <div class="filter--item_formElement row">
-                    <div class="col-6">
+            <div class="col-md-3">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Certificato medico</b>
+                    </div>
+                    <div class="col-12">
                         <div class="form-check form-check-inline  align-items-center">
                             <input class="form-check-input chkCertificateNormal" type="checkbox" wire:model="chkCertificateNormal" onclick="destroyDataTable()" value="1">
                             <label class="form-check-label ms-2" >Normale</label>
                         </div>
+                    </div>
+                    <div class="col-12">
                         <div class="form-check form-check-inline  align-items-center">
                             <input class="form-check-input chkCertificateScadenza" type="checkbox" wire:model="chkCertificateScadenza" onclick="destroyDataTable()"  value="1">
                             <label class="form-check-label ms-2" >In Scadenza</label>
                         </div>
                     </div>
-                    <div class="col-6">
+                    <div class="col-12">
                         <div class="form-check form-check-inline  align-items-center">
                             <input class="form-check-input chkCertificateAgonistico" type="checkbox" wire:model="chkCertificateAgonistico" onclick="destroyDataTable()" value="1">
                             <label class="form-check-label ms-2" >Agonistico</label>
                         </div>
+                    </div>
+                    <div class="col-12">
                         <div class="form-check form-check-inline  align-items-center">
                             <input class="form-check-input chkCertificateScaduti" type="checkbox" wire:model="chkCertificateScaduti" onclick="destroyDataTable()" value="1">
                             <label class="form-check-label ms-2" >Scaduti</label>
@@ -174,31 +206,15 @@
                 </div>
             </div>
 
-        </form>
-
-        <footer>
-            <div class="filter--buttons d-flex align-items-center justify-content-between">
-                <button class="btn--ui small dark disable" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">cancella</button>
-                <button class="btn--ui small white" wire:click.prevent="search()" onclick="destroyDataTable()">filtra</button>
+        </div>
+        <div class="row g-3">
+            <div class="col-md-12" style="text-align:right">
+                <button class="card--ui card--ui_btnCancel" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">CANCELLA</button>
+                <button class="card--ui card--ui_btnAddHeaderUser" wire:click.prevent="search()" onclick="destroyDataTable()">FILTRA</button>
             </div>
-        </footer>
-
-    </aside>
-</div>
-
-<div class="col card--ui" id="card--dashboard">
-
-
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
-        <div class="title--section_name d-flex align-items-center justify-content-between">
-            <i class="ico--ui title_section utenti me-2"></i>
-            <h2 class="primary">Iscritti ai corsi</h2>
         </div>
-
-    </header>
-
-    <button id="open-filter" onclick="pcsh1()"></button>
-    <button id="close-filter" onclick="pcsh2()"></button>
+        <hr size="1">
+    </div>
 
     <section id="resume-table">
         <div class="compare--chart_wrapper d-none"></div>
@@ -212,6 +228,7 @@
                     <th scope="col">Cognome</th>
                     <th scope="col">Nome</th>
                     <th scope="col">Età</th>
+                    <th scope="col">Anno di nascita</th>
                     <th scope="col">Telefono</th>
                     <th scope="col">Email</th>
                 </tr>
@@ -222,7 +239,8 @@
                         <td>{{$idx +1}}</td>
                         <td>{{$record->member->last_name}}</td>
                         <td>{{$record->member->first_name}}</td>
-                        <td>{{$record->member->getAge() . " (" . date("Y", strtotime($record->member->birth_date)) . ")"}}</td>
+                        <td>{{$record->member->getAge()}}</td>
+                        <td>{{date("Y", strtotime($record->member->birth_date))}}</td>
                         <td>{{$record->member->phone}}</td>
                         <td>{{$record->member->email}}</td>
                     </tr>
@@ -266,6 +284,22 @@
             $('#tablesaw-350').DataTable().destroy();
         }
 
+        var isFilter = false;
+        $(document).ready(function() {
+            $(document).on("click",".showHideFilter",function() {
+                if (isFilter)
+                {
+                    isFilter = false;
+                    $(".showFilter").hide();
+                }
+                else
+                {
+                    isFilter = true;
+                    $(".showFilter").show();
+                }
+            });
+        } );
+
         function loadDataTable(){
             $('#tablesaw-350').DataTable({
                 // caption : $("#filter").html(),
@@ -273,35 +307,60 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Iscritti corsi',
-                                messageTop: $("#filter").html()
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Iscritti corsi',
-                                messageTop: $("#filter").html()
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Iscritti corsi',
-                                messageTop: $("#filter").html()
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 order: [[1, 'asc'], [2, 'asc']],
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="showHideFilter card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-sliders"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 

+ 51 - 28
resources/views/livewire/course_subscription.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
     @if(!$add && !$update)
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">Abbonamento corsi</h2>
@@ -9,7 +9,7 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
 
@@ -32,8 +32,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -123,41 +123,64 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
-
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+             $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
         }
 
     </script>

+ 52 - 27
resources/views/livewire/course_type.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
     @if(!$add && !$update)
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">Tipologia corsi</h2>
@@ -9,7 +9,7 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
 
@@ -32,8 +32,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -123,40 +123,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Tipologia corsi',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 52 - 27
resources/views/livewire/discipline.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
     @if(!$add && !$update)
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">Discipline</h2>
@@ -9,7 +9,7 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
 
@@ -32,8 +32,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -123,40 +123,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Discipline',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Discipline',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Discipline',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 526 - 534
resources/views/livewire/member.blade.php


+ 5 - 5
resources/views/livewire/nation.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)Nazioni @else Inserimento/modifica nazione @endif</h2>
@@ -9,7 +9,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -61,8 +61,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -220,7 +220,7 @@
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 

+ 52 - 27
resources/views/livewire/payment_method.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)metodi pagamento @else Inserimento/modifica metodo pagamento @endif</h2>
@@ -9,7 +9,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton" wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -57,8 +57,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -199,40 +199,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Metodi di pagamento',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Metodi di pagamento',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Metodi di pagamento',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 5 - 5
resources/views/livewire/province.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)Province @else Inserimento/modifica provincia @endif</h2>
@@ -9,7 +9,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton" wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -40,8 +40,8 @@
                             <td>{{$record->name}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -209,7 +209,7 @@
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 

+ 111 - 73
resources/views/livewire/receipt.blade.php

@@ -1,52 +1,10 @@
 <div class="col">
     <div class="row h-100">
-<div class="col-auto filterWrapper" id="filter--section"  wire:ignore.self>
-    <aside>
-        <header>
-            <h2>Filtra Ricevute</h2>
-        </header>
-
-        <form action="" id="filter--form" class="dark-form row">
-            <div class="filter--item">
-                <span class="filter--item_title">Stato</span>
-
-                <div class="filter--item_formElement">
-                    <select class="form-select" wire:model="filterStatus" onchange="destroyDataTable()">
-                        <option value="">--Seleziona--
-                        <option value="1">Attiva
-                        <option value="99">Annullata
-                    </select>
-                </div>
-            </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Periodo</span>
-                <div class="filter--item_formElement">
-                    <input id="date" type="date" class="form-control"  wire:model="filterFrom" style="background-color:white">
-                </div>
-                <div class="filter--item_formElement">
-                    <input id="date" type="date" class="form-control"  wire:model="filterTo" style="background-color:white" >
-                </div>
-
-            </div>
-
 
-        </form>
-
-        <footer>
-            <div class="filter--buttons d-flex align-items-center justify-content-between">
-                <button class="btn--ui small dark disable" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">cancella</button>
-                <button class="btn--ui small white" wire:click.prevent="search()" onclick="destroyDataTable()">filtra</button>
-            </div>
-        </footer>
-
-
-    </aside>
-</div>
 
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">Ricevute</h2>
@@ -55,15 +13,52 @@
         <!--
         <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
             <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
             </div>
         </div>
         -->
 
     </header>
 
-    <button id="open-filter" onclick="pcsh1()"></button>
-    <button id="close-filter" onclick="pcsh2()"></button>
+    <div class="showFilter" style="display:none"  wire:ignore.self>
+        <hr size="1">
+        <div class="row g-3">
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Periodo</b>
+                    </div>
+                    <div class="col-12">
+                        <input id="dateFrom" type="date" class="form-control filterFrom"  >
+                    </div>
+                    <div class="col-12">
+                        <input id="dateFrom" type="date" class="form-control filterTo" >
+                    </div>
+                </div>
+            </div>
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Stato</b>
+                    </div>
+                    <div class="col-12">
+                        <select class="form-select" wire:model="filterStatus" onchange="destroyDataTable()">
+                            <option value="">--Seleziona--
+                            <option value="1">Attiva
+                            <option value="99">Annullata
+                        </select>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="row g-3">
+            <div class="col-md-12" style="text-align:right">
+                <button class="card--ui card--ui_btnCancel" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">CANCELLA</button>
+                <button class="card--ui card--ui_btnAddHeaderUser" wire:click.prevent="search()" onclick="destroyDataTable()">FILTRA</button>
+            </div>
+        </div>
+        <hr size="1">
+    </div>
 
     <section id="resume-table">
         <div class="compare--chart_wrapper d-none"></div>
@@ -73,10 +68,11 @@
                 <tr>
                     <th scope="col">Anno</th>
                     <th scope="col">Numero</th>
-                    <th scope="col">Nome</th>
                     <th scope="col">Cognome</th>
+                    <th scope="col">Nome</th>
                     <th scope="col">Stato</th>
                     <th scope="col">Data</th>
+                    <th scope="col">Importo</th>
                     <th scope="col">...</th>
                 </tr>
             </thead>
@@ -93,10 +89,11 @@
                             </span>
                         </td>
                         <td>{{date("d/m/Y", strtotime($record->date))}}</td>
+                        <td>{{formatPrice($record->rows->sum('amount'))}}</td>
                         <td>
-                            <button type="button" class="btn btn-outline-primary btn-sm" onclick="document.location.href='/in?id={{$record->record_id}}'">Dettaglio</button>
-                            <a target="_blank" class="btn btn-outline-primary btn-sm" href="/receipt/{{$record->id}}">Stampa</a>
-                            <a target="_blank" class="btn btn-outline-primary btn-sm" onclick="sendMail({{$record->id}})">Invia tramite mail</a>
+                            <button type="button" class="btn u" onclick="document.location.href='/in?id={{$record->record_id}}'"><i class="fa-solid fa-arrow-up-right-from-square"></i></button>
+                            <a target="_blank" class="btn  u" href="/receipt/{{$record->id}}"><i class="fa-solid fa-print"></i></a>
+                            <a target="_blank" class="btn u" onclick="sendMail({{$record->id}})"><i class="fa-regular fa-envelope"></i></a>
                         </td>
                     </tr>
                 @endforeach
@@ -138,6 +135,22 @@
             $('#tablesaw-350').DataTable().destroy();
         }
 
+        var isFilter = false;
+        $(document).ready(function() {
+            $(document).on("click",".showHideFilter",function() {
+                if (isFilter)
+                {
+                    isFilter = false;
+                    $(".showFilter").hide();
+                }
+                else
+                {
+                    isFilter = true;
+                    $(".showFilter").show();
+                }
+            });
+        } );
+
         function sendMail(id)
         {
             $.get("/receipt/mail/" + id, function(data, status){
@@ -151,41 +164,66 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Ricevute',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Ricevute',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Ricevute',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 order: [[0, 'desc'], [1, 'desc']],
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="showHideFilter card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-sliders"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 3 - 3
resources/views/livewire/records.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-     <header id="title--section" class="d-flex align-items-center justify-content-between">
+     <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">Prima nota</h2>
@@ -58,8 +58,8 @@
             </select>
             @endif
 
-        <button class="btn--ui reset" wire:click="export()" style="margin-left:5px;">esporta</button>
-        <button class="btn--ui reset " style="margin-left:5px;" id="print">stampa</button>
+        <button class="btn--ui reset" wire:click="export()" style="margin-left:5px;"><i class="fa-solid fa-download"></i></button>
+        <button class="btn--ui reset " style="margin-left:5px;" id="print"><i class="fa-solid fa-print"></i></button>
     </section>
 
     <section id="resume-table">

+ 212 - 146
resources/views/livewire/records_in.blade.php

@@ -1,105 +1,11 @@
 <div class="col">
     <div class="row h-100">
 
-    <div class="col-auto filterWrapper" id="filter--section" wire:ignore>
-        <aside>
-
-            <header>
-                <h2>Filtra Ricerca</h2>
-            </header>
-
-            <form action="" id="filter--form" class="dark-form row">
-                <div class="filter--item">
-                    <span class="filter--item_title">Tipologia</span>
-
-                    <div class="filter--item_formElement">
-                        <div class="form-check form-check-inline d-inline-flex align-items-center">
-                            <input class="form-check-input" type="radio" value="0" name="filterCommercial" onclick="setFilterCommercial(0)">
-                            <label class="form-check-label ms-2" for="inlineCheckbox1">Entrambe</label>
-                        </div>
-                        <div class="form-check form-check-inline d-inline-flex align-items-center">
-                            <input class="form-check-input" type="radio" value="1" name="filterCommercial"  onclick="setFilterCommercial(1)">
-                            <label class="form-check-label ms-2" for="inlineCheckbox1">Commerciale</label>
-                        </div>
-                        <div class="form-check form-check-inline d-inline-flex align-items-center">
-                            <input class="form-check-input" type="radio" value="2" name="filterCommercial" onclick="setFilterCommercial(2)">
-                            <label class="form-check-label ms-2" for="inlineCheckbox1">Non commerciale</label>
-                        </div>
-                    </div>
-                </div>
-                <!-- filter item -->
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Persona</span>
-
-                    <div class="filter--item_formElement">
-                        <select name="search_member_id" class="form-select filterMember">
-                            <option value="">--Seleziona--
-                            @foreach($members as $member)
-                                <option value="{{$member->id}}">{{$member->last_name}} {{$member->first_name}}
-                            @endforeach
-                        </select>
-                    </div>
-                </div>
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Pagamento</span>
-
-                    <div class="filter--item_formElement">
-                        <select name="search_payment_method_id" class="form-select filterPaymentMethod">
-                            <option value="">--Seleziona--
-                            @foreach($payments as $payment)
-                                <option value="{{$payment->id}}">{{$payment->name}}
-                            @endforeach
-                        </select>
-                    </div>
-                </div>
-                <!-- filter item -->
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Causali</span>
-
-                    <div class="filter--item_formElement">
-                        <select name="search_causal_id" class="form-select filterCausals">
-                            <option value="">--Seleziona--
-                            @foreach($causals as $causal)
-                                <option value="{{$causal["id"]}}">{!!$causal["name"]!!}
-                            @endforeach
-                        </select>
-
-                    </div>
-                </div>
-                <!-- filter item -->
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Periodo </span>
-                    <div class="filter--item_formElement">
-                        <input id="dateFrom" type="date" class="form-control filterFrom" style="background-color:white" >
-                    </div>
-                    <div class="filter--item_formElement">
-                        <input id="dateTo" type="date" class="form-control filterTo" style="background-color:white" >
-                    </div>
-
-                </div>
-
-            </form>
-            <footer>
-                <div class="d-flex align-items-center totalDiv">
-
-                </div>
-                <div class="filter--buttons d-flex align-items-center justify-content-between">
-                    <button class="btn--ui small dark disable" onclick="reset()">cancella</button>
-                    <button class="btn--ui small white" onclick="loadDataTable()">filtra</button>
-                </div>
-            </footer>
-
-        </aside>
-    </div>
 
         <div class="col card--ui" id="card--dashboard">
 
 
-                <header id="title--section" class="d-flex align-items-center justify-content-between">
+                <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
                     <div class="title--section_name d-flex align-items-center justify-content-between">
                         <i class="ico--ui title_section entrate me-2"></i>
                         <h2 class="primary">@if(!$add && !$update)Entrate @else Inserimento/modifica entrata @endif</h2>
@@ -108,7 +14,7 @@
                     @if(!$add && !$update)
                         <div class="title--section_addButton" wire:click="add()" style="cursor: pointer;">
                             <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                                <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2><small>Registra</small><br>Nuova Entrata</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                                <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                             </div>
                         </div>
                     @endif
@@ -118,8 +24,10 @@
 
             @if(!$add && !$update)
 
+                <!--
                 <button id="open-filter" onclick="pcsh1()"></button>
                 <button id="close-filter" onclick="pcsh2()"></button>
+                -->
 
                 <section id="subheader" class="d-flex align-items-center justify-content-between">
                 </section>
@@ -130,6 +38,102 @@
                     </div>
                 @endif
 
+                <div class="showFilter" style="display:none">
+                    <hr size="1">
+                    <div class="row g-3">
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Periodo</b>
+                                </div>
+                                <div class="col-12">
+                                    <input id="dateFrom" type="date" class="form-control filterFrom"  >
+                                </div>
+                                <div class="col-12">
+                                    <input id="dateFrom" type="date" class="form-control filterTo" >
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Tipologia</b>
+                                </div>
+                                <div class="col-12">
+                                    <div class="form-check form-check-inline d-inline-flex align-items-center">
+                                        <input class="form-check-input" type="radio" value="0" name="filterCommercial" onclick="setFilterCommercial(0)">
+                                        <label class="form-check-label ms-2" for="inlineCheckbox1">Entrambe</label>
+                                    </div>
+                                </div>
+                                <div class="col-12">
+                                    <div class="form-check form-check-inline d-inline-flex align-items-center">
+                                        <input class="form-check-input" type="radio" value="1" name="filterCommercial"  onclick="setFilterCommercial(1)">
+                                        <label class="form-check-label ms-2" for="inlineCheckbox1">Commerciale</label>
+                                    </div>
+                                </div>
+                                <div class="col-12">
+                                    <div class="form-check form-check-inline d-inline-flex align-items-center">
+                                        <input class="form-check-input" type="radio" value="2" name="filterCommercial" onclick="setFilterCommercial(2)">
+                                        <label class="form-check-label ms-2" for="inlineCheckbox1">Non commerciale</label>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Persona</b>
+                                </div>
+                                <div class="col-12">
+                                    <select name="search_member_id" class="form-select filterMember">
+                                        <option value="">--Seleziona--
+                                        @foreach($members as $member)
+                                            <option value="{{$member->id}}">{{$member->last_name}} {{$member->first_name}}
+                                        @endforeach
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Pagamento</b>
+                                </div>
+                                <div class="col-12">
+                                    <select name="search_payment_method_id" class="form-select filterPaymentMethod">
+                                        <option value="">--Seleziona--
+                                        @foreach($payments as $payment)
+                                            <option value="{{$payment->id}}">{{$payment->name}}
+                                        @endforeach
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Causali</b>
+                                </div>
+                                <div class="col-12">
+                                    <select name="search_causal_id" class="form-select filterCausals">
+                                        <option value="">--Seleziona--
+                                        @foreach($causals as $causal)
+                                            <option value="{{$causal["id"]}}">{!!$causal["name"]!!}
+                                        @endforeach
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="row g-3">
+                        <div class="col-md-12" style="text-align:right">
+                            <button class="card--ui card--ui_btnCancel" onclick="reset()">CANCELLA</button>
+                            <button class="card--ui card--ui_btnAddHeaderUser" onclick="loadDataTable()">FILTRA</button>
+                        </div>
+                    </div>
+                    <hr size="1">
+                </div>
+
                 <section id="resume-table">
                     <div class="compare--chart_wrapper d-none"></div>
 
@@ -214,14 +218,14 @@
                                             <div class="invalid-feedback">{{ $message }}</div>
                                         @enderror
                                         <br><br>
-                                        @if($this->dataId == 0 && !$isDuplicate)
-                                        <button type="button" class="btn--ui primary" data-bs-toggle="modal" data-bs-target="#userModal">
-                                            Aggiungi
-                                        </button>
-                                        @endif
+
                                     </div>
                                     <div class="col-md-6">
-                                        @if($this->member)
+                                        @if($this->dataId == 0 && !$isDuplicate)
+                                            <span class="title-form d-block w-100">&nbsp;</span>
+                                            <button type="button" class="btn--ui primary" data-bs-toggle="modal" data-bs-target="#userModal" style="width:50px">&nbsp;<i style="margin-left:5px;" class="fa-solid fa-plus"></i></button>
+                                        @endif
+                                        @if(false && $this->member)
                                             <b>{{$this->member->first_name}} {{$this->member->last_name}}</b> {!! !$this->member->isAdult() ? '<span style="color:red;font-weight:bold">&nbsp;MINORENNE</span>' : '' !!}<br>
                                             <span class="title-form w-100">Codice fiscale</span> : {{$this->member->fiscal_code}}<br>
                                             <span class="title-form w-100">Email</span> : {{$this->member->email}}<br>
@@ -363,7 +367,7 @@
                                             </div>
                                             @if ($commercial)
                                                 <div class="col-md-3">
-                                                    <select id="rows.{{$idx}}.vat_id" class="form-select"  wire:model="rows.{{$idx}}.vat_id">
+                                                    <select id="rows.{{$idx}}.vat_id" class="form-select"  wire:model="rows.{{$idx}}.vat_id" {{$this->dataId > 0 && !$isDuplicate ? 'disabled' : ''}}>
                                                         <option value="0">
                                                         @foreach($vats as $vat)
                                                             <option value="{{$vat->id}}">{{$vat->name}}
@@ -389,7 +393,7 @@
 
                                         <div class="row gx-2 mt-3 align-items-center">
                                             <div class="col-md-4">
-                                                <span class="total primary">Competenza</span>
+                                                <span class="total primary comp">Competenza</span>
                                             </div>
                                             <div class="col-md-8">
                                                 <div class="row">
@@ -591,18 +595,37 @@
                         <div class="resume--body d-flex justify-content-between flex-column">
                             <header>
                                 @if($this->member)
+
                                     <ul class="resume-item mb-4 p-0">
 
-                                        @if($this->member->isAdult())
-                                            <li>
-                                                <span class="evidence_name">{{$this->member->last_name}} {{$this->member->first_name}}</span> ({{$this->member->fiscal_code}})
-                                            </li>
-                                            @if  (false)
-                                                <li><span>Nato/a il {{$this->member->birth_date ? date("d/m/Y", strtotime($this->member->birth_date)) : ''}}</span></li>
-                                            @endif
-                                        @else
+                                        <li>
+                                            <div style="background-color:#ffffff; padding:10px;">
+                                                <b>{{$this->member->first_name}} {{$this->member->last_name}}</b> {!! !$this->member->isAdult() ? '<span style="color:red;font-weight:bold">&nbsp;MINORENNE</span>' : '' !!}<br>
+                                                <span class="title-form w-100">Codice fiscale</span> : {{$this->member->fiscal_code}}<br>
+                                                <span class="title-form w-100">Email</span> : {{$this->member->email}}<br>
+                                                <span class="title-form w-100">Borsellino virtuale</span>
+                                                <b>{{number_format($virtual, 2, ".", "")}} &euro;</b><br>
+                                                @if(sizeof($this->member->certificates) > 0)
+                                                    @php
+                                                    $cert = $this->member->certificates[0]
+                                                    @endphp
+                                                    @if($cert->expire_date < date("Y-m-d"))
+                                                        <span class="title-form w-100">Certificato medico </span><span class="badge tessera-badge suspended">scaduto</span>
+                                                    @endif
+                                                @endif
+                                                @php
+                                                $status = $this->member->getStatus()["status"];
+                                                $class = $status > 0 ? ($status == 2 ? 'active' : 'suspended') : 'due';
+                                                $text = $status > 0 ? ($status == 2 ? 'Tesserato' : 'Sospeso') : 'Non tesserato';
+                                                @endphp
+                                                <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$class}}">{{$text}}</span></span>
+                                            </div>
+                                        </li>
+
+                                        @if(!$this->member->isAdult())
                                             <li>
                                                 <span class="evidence_name">
+                                                    <br>Seleziona un genitore
                                                     <select class="form-control" wire:model="parent">
                                                         <option value="">Seleziona un genitore
                                                         @if($this->member->father_name != '')
@@ -760,7 +783,6 @@
         </div>
     </div>
 </div>
-
 @push('scripts')
     <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
     <style>
@@ -783,6 +805,14 @@
         .page-link.active, .active > .page-link {
             background-color:#006099 !important;
         }
+        .total.primary
+        {
+            font-size:38px !important;
+        }
+        .total.primary.comp
+        {
+            font-size:32px !important;
+        }
     </style>
     <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
     <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
@@ -985,6 +1015,22 @@
             loadDataTable();
         } );
 
+        var isFilter = false;
+        $(document).ready(function() {
+            $(document).on("click",".showHideFilter",function() {
+                if (isFilter)
+                {
+                    isFilter = false;
+                    $(".showFilter").hide();
+                }
+                else
+                {
+                    isFilter = true;
+                    $(".showFilter").show();
+                }
+            });
+        } );
+
         function editData(id)
         {
             @this.edit(id);
@@ -1063,7 +1109,7 @@
 
             $('#tablesaw-350').DataTable({
                 //searching: false,
-                //serverSide: true,
+                serverSide: true,
                 ajax: '/get_record_in?filterCommercial=' + filterCommercial + "&filterMember=" + filterMember + "&filterPaymentMethod=" + filterPaymentMethod + "&filterCausals=" + filterCausals + "&filterFrom=" + filterFrom + "&filterTo=" + filterTo,
                 columns: [
                     //{ data: 'id' },
@@ -1101,9 +1147,9 @@
                             var ret = '';
                             if (j[2] != 'x')
                             {
-                                ret = '<button type="button" class="btn btn-outline-primary btn-sm" onclick="editData(' + j[0] + ')">Modifica</button>&nbsp;';
-                                ret += '<button type="button" class="btn btn-outline-danger btn-sm" onclick="deleteData(' + j[0] + ')">Annulla pagamento</button>';
-                                ret += '<button type="button" class="btn btn-outline-default btn-sm" onclick="duplicateData(' + j[0] + ')">Duplica</button>';
+                                ret = '<button type="button" class="btn" onclick="editData(' + j[0] + ')"><i class="fa-regular fa-pen-to-square"></i></button>&nbsp;';
+                                ret += '<button type="button" class="btn" onclick="deleteData(' + j[0] + ')"><i class="fa-regular fa-square-minus"></i></button>';
+                                ret += '<button type="button" class="btn btn-outline-default btn-sm" onclick="duplicateData(' + j[0] + ')"><i class="fa-regular fa-copy"></i></button>';
                             }
                             return ret;
                         }
@@ -1123,49 +1169,69 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Entrate',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Entrate',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Entrate',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }/*,
-                                customize: function ( win ) {
-                                    $(win.document.body)
-                                        .css( 'font-size', '20pt' )
-                                        .append("Totale : " + totalString);
-                                }*/
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
                 },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="showHideFilter card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-sliders"></i>&nbsp;&nbsp;</a>';
+                    html += '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
+                }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 
+        $(document).ready(function() {
+            $(document).on("click",".addData",function() {
+                $(".title--section_addButton").trigger("click")
+            });
+        } );
+
         var isEdit = false;
 
         Livewire.on('showReceipt', (id) =>

+ 2 - 2
resources/views/livewire/records_in_out.blade.php

@@ -5,7 +5,7 @@
         <div class="col card--ui" id="card--dashboard">
 
 
-            <header id="title--section" class="d-flex align-items-center justify-content-between">
+            <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
                 <div class="title--section_name d-flex align-items-center justify-content-between">
                     <i class="ico--ui title_section utenti me-2"></i>
                     <h2 class="primary">Entrate/uscite gestionale</h2>
@@ -48,7 +48,7 @@
 
                 <button class="btn--ui reset" wire:click="clear()" style="margin-left:5px;">reset</button>
                 @if($showData)
-                    <button class="btn--ui reset" wire:click="export()" style="margin-left:5px;">esporta</button>
+                    <button class="btn--ui reset" wire:click="export()" style="margin-left:5px;"><i class="fa-solid fa-download"></i></button>
                     <button class="btn--ui reset exportYear"  style="margin-left:5px;">esporta anno fiscale selezionato</button>
                 @endif
 

+ 1 - 1
resources/views/livewire/records_in_out_old.blade.php

@@ -5,7 +5,7 @@
         <div class="col card--ui" id="card--dashboard">
 
 
-            <header id="title--section" class="d-flex align-items-center justify-content-between">
+            <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
                 <div class="title--section_name d-flex align-items-center justify-content-between">
                     <i class="ico--ui title_section utenti me-2"></i>
                     <h2 class="primary">Entrate/Uscite gestionale</h2>

+ 143 - 132
resources/views/livewire/records_out.blade.php

@@ -1,120 +1,20 @@
 <div class="col">
     <div class="row h-100">
 
-    <div class="col-auto filterWrapper" id="filter--section" wire:ignore.self>
-        <aside>
 
-            <header>
-                <h2>Filtra Ricerca</h2>
-            </header>
-
-            <form action="" id="filter--form" class="dark-form row">
-            <!--
-                <div class="filter--item">
-                    <span class="filter--item_title">Commerciale</span>
-
-                    <div class="filter--item_formElement">
-                        <div class="form-check form-check-inline d-inline-flex align-items-center">
-                            <input class="form-check-input" type="radio" value="0" name="filterCommercial" checked>
-                            <label class="form-check-label ms-2" for="inlineCheckbox1">Entrambe</label>
-                        </div>
-                        <div class="form-check form-check-inline d-inline-flex align-items-center">
-                            <input class="form-check-input" type="radio" value="1" name="filterCommercial">
-                            <label class="form-check-label ms-2" for="inlineCheckbox1">Commerciale</label>
-                        </div>
-                        <div class="form-check form-check-inline d-inline-flex align-items-center">
-                            <input class="form-check-input" type="radio" value="2" name="filterCommercial">
-                            <label class="form-check-label ms-2" for="inlineCheckbox1">Non commerciale</label>
-                        </div>
-                    </div>
-                </div>
-
-                -->
-                <!-- filter item -->
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Fornitore</span>
-
-                    <div class="filter--item_formElement">
-                        <select name="search_supplier_id" class="form-select filterSupplier">
-                            <option value="">--Seleziona--
-                            @foreach($suppliers as $supplier)
-                                <option value="{{$supplier->id}}">{{$supplier->name}}
-                            @endforeach
-                        </select>
-                    </div>
-                </div>
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Pagamento</span>
-
-                    <div class="filter--item_formElement">
-                        <select name="search_payment_method_id" class="form-select filterPaymentMethod">
-                            <option value="">--Seleziona--
-                            @foreach($payments as $payment)
-                                <option value="{{$payment->id}}">{{$payment->name}}
-                            @endforeach
-                        </select>
-                    </div>
-                </div>
-                <!-- filter item -->
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Causali</span>
-
-                    <div class="filter--item_formElement">
-                        <select name="search_causal_id" class="form-select filterCausals">
-                            <option value="">--Seleziona--
-                            @foreach($causals as $causal)
-                                <option value="{{$causal["id"]}}">{{$causal["name"]}}
-                            @endforeach
-                        </select>
-
-                    </div>
-                </div>
-                <!-- filter item -->
-
-                <div class="filter--item">
-                    <span class="filter--item_title">Periodo </span>
-                    <div class="filter--item_formElement">
-                        <input id="dateFrom" type="date" class="form-control filterFrom" style="background-color:white">
-                    </div>
-                    <div class="filter--item_formElement">
-                        <input id="dateTo" type="date" class="form-control filterTo" style="background-color:white">
-                    </div>
-                </div>
-
-
-            </form>
-
-            <footer>
-                @if($hasFilter)
-                    <div class="d-flex align-items-center">
-                        Totale&nbsp;:&nbsp;<b>{{formatPrice($total)}}</b>
-                    </div>
-                @endif
-                <div class="filter--buttons d-flex align-items-center justify-content-between">
-                    <button class="btn--ui small dark disable" onclick="reset()">cancella</button>
-                    <button class="btn--ui small white" onclick="loadDataTable()">filtra</button>
-                </div>
-            </footer>
-
-
-        </aside>
-    </div>
         <div class="col card--ui" id="card--dashboard">
 
 
-            <header id="title--section" class="d-flex align-items-center justify-content-between">
+            <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
                 <div class="title--section_name d-flex align-items-center justify-content-between">
                     <i class="ico--ui title_section uscite me-2"></i>
-                    <h2 class="primary" style="color:#F28322">@if(!$add && !$update)Uscite @else Inserimento/modifica uscita @endif</h2>
+                    <h2 class="primary" >@if(!$add && !$update)Uscite @else Inserimento/modifica uscita @endif</h2>
                 </div>
 
                 @if(!$add && !$update)
                     <div class="title--section_addButton" wire:click="add()" style="cursor: pointer;">
                         <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                            <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2><small>Registra</small><br>Nuova Uscita</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                            <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                         </div>
                     </div>
                 @endif
@@ -124,15 +24,13 @@
             @if(!$add && !$update)
 
 
-            <button id="open-filter" onclick="pcsh1()"></button>
-                <button id="close-filter" onclick="pcsh2()"></button>
 
                 <section id="subheader" class="d-flex align-items-center justify-content-between">
                     @if(false)
                         <form action="" class="group--action d-flex align-items-center">
                                 <select class="form-select form-select-lg me-1" aria-label=".form-select-lg example" wire:model="multipleAction">
                                     <option selected>Azione multipla</option>
-                                    <option value="delete">Elimina</option>
+                                    <option value="delete"><i class="fa-regular fa-trash-can"></i></option>
                                     </select>
                                     <button type="submit" class="btn--ui" wire:click.prevent="executeMultipleAction()">applica</button>
                                 </form>
@@ -149,6 +47,77 @@
                     @endif
                 </section>
 
+                <div class="showFilter" style="display:none">
+                    <hr size="1">
+                    <div class="row g-3">
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Periodo</b>
+                                </div>
+                                <div class="col-12">
+                                    <input id="dateFrom" type="date" class="form-control filterFrom"  >
+                                </div>
+                                <div class="col-12">
+                                    <input id="dateFrom" type="date" class="form-control filterTo" >
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Fornitore</b>
+                                </div>
+                                <div class="col-12">
+                                    <select name="search_supplier_id" class="form-select filterSupplier">
+                                        <option value="">--Seleziona--
+                                        @foreach($suppliers as $supplier)
+                                            <option value="{{$supplier->id}}">{{$supplier->name}}
+                                        @endforeach
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Pagamento</b>
+                                </div>
+                                <div class="col-12">
+                                   <select name="search_payment_method_id" class="form-select filterPaymentMethod">
+                                        <option value="">--Seleziona--
+                                        @foreach($payments as $payment)
+                                            <option value="{{$payment->id}}">{{$payment->name}}
+                                        @endforeach
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-2">
+                            <div class="row">
+                                <div class="col-md-12" style="margin-bottom:10px;">
+                                    <b>Causali</b>
+                                </div>
+                                <div class="col-12">
+                                    <select name="search_causal_id" class="form-select filterCausals">
+                                        <option value="">--Seleziona--
+                                        @foreach($causals as $causal)
+                                            <option value="{{$causal["id"]}}">{!!$causal["name"]!!}
+                                        @endforeach
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="row g-3">
+                        <div class="col-md-12" style="text-align:right">
+                            <button class="card--ui card--ui_btnCancel" onclick="reset()">CANCELLA</button>
+                            <button class="card--ui card--ui_btnAddHeaderUser" onclick="loadDataTable()">FILTRA</button>
+                        </div>
+                    </div>
+                    <hr size="1">
+                </div>
+
                 <section id="resume-table">
                     <div class="compare--chart_wrapper d-none"></div>
 
@@ -702,6 +671,22 @@
             loadDataTable();
         } );
 
+        var isFilter = false;
+        $(document).ready(function() {
+            $(document).on("click",".showHideFilter",function() {
+                if (isFilter)
+                {
+                    isFilter = false;
+                    $(".showFilter").hide();
+                }
+                else
+                {
+                    isFilter = true;
+                    $(".showFilter").show();
+                }
+            });
+        } );
+
         function editData(id)
         {
             @this.edit(id);
@@ -763,7 +748,7 @@
             console.log("/get_record_out?filterSupplier=" + filterSupplier + "&filterPaymentMethod=" + filterPaymentMethod + "&filterCausals=" + filterCausals + "&filterFrom=" + filterFrom + "&filterTo=" + filterTo);
 
             $('#tablesaw-350').DataTable({
-                searching: false,
+                //searching: false,
                 ajax: "/get_record_out?filterSupplier=" + filterSupplier + "&filterPaymentMethod=" + filterPaymentMethod + "&filterCausals=" + filterCausals + "&filterFrom=" + filterFrom + "&filterTo=" + filterTo,
                 columns: [
                     {
@@ -793,8 +778,8 @@
                             const j = data.split("|");
                             $(".totalDiv").html('Totale&nbsp;:&nbsp;<b>' + j[1] + '</b>');
                             $(".total").html('Totale&nbsp;:&nbsp;<b>' + j[1] + '</b>');
-                            var ret = '<button type="button" class="btn btn-outline-primary btn-sm" onclick="editData(' + j[0] + ')">Modifica</button>&nbsp;';
-                            ret += '<button type="button" class="btn btn-outline-danger btn-sm" onclick="deleteData(' + j[0] + ')">Elimina</button>';
+                            var ret = '<button type="button" class="btn" onclick="editData(' + j[0] + ')"><i class="fa-regular fa-pen-to-square"></i></button>&nbsp;';
+                            ret += '<button type="button" class="btn" onclick="deleteData(' + j[0] + ')"><i class="fa-regular fa-trash-can"></i></button>';
                             return ret;
                         }
                     },
@@ -805,43 +790,69 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Uscite',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Uscite',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Uscite',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
                 },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="showHideFilter card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-sliders"></i>&nbsp;&nbsp;</a>';
+                    html += '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
+                }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 
+        $(document).ready(function() {
+            $(document).on("click",".addData",function() {
+                $(".title--section_addButton").trigger("click")
+            });
+        } );
+
         var isEdit = false;
 
         Livewire.on('setEdit', (x) =>

+ 98 - 69
resources/views/livewire/reminders.blade.php

@@ -1,22 +1,46 @@
 <div class="col">
     <div class="row h-100">
-<div class="col-auto filterWrapper" id="filter--section"  wire:ignore.self>
-    <aside>
-        <header>
-            <h2>Filtra Scadenze</h2>
-        </header>
 
-        <form action="" id="filter--form" class="dark-form row">
-            <div class="filter--item">
-                <span class="filter--item_title">Tipologia</span>
 
-                <div class="filter--item_formElement row">
+<div class="col card--ui" id="card--dashboard" >
 
+     <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
+        <div class="title--section_name d-flex align-items-center justify-content-between">
+            <i class="ico--ui title_section utenti me-2"></i>
+            <h2 class="primary">Scadenze</h2>
+        </div>
+
+
+    </header>
+
+    <div class="showFilter" style="display:none" wire:ignore.self>
+        <hr size="1">
+        <div class="row g-3">
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Periodo scadenza</b>
+                    </div>
+                    <div class="col-12">
+                        <input id="dateFrom" type="date" class="form-control filterFrom"  >
+                    </div>
+                    <div class="col-12">
+                        <input id="dateFrom" type="date" class="form-control filterTo" >
+                    </div>
+                </div>
+            </div>
+            <div class="col-md-2">
+                <div class="row">
+                    <div class="col-md-12" style="margin-bottom:10px;">
+                        <b>Tipologia</b>
+                    </div>
                     <div class="col-12">
                         <div class="form-check form-check-inline d-inline-flex align-items-center">
                             <input class="form-check-input" type="checkbox" wire:model="filterC" onclick="destroyDataTable()">
                             <label class="form-check-label ms-2" >Certificato</label>
                         </div>
+                    </div>
+                    <div class="col-12">
                         <div class="form-check form-check-inline d-inline-flex align-items-center">
                             <input class="form-check-input" type="checkbox"  wire:model='filterT' onclick="destroyDataTable()">
                             <label class="form-check-label ms-2" >Tessera</label>
@@ -24,45 +48,15 @@
                     </div>
                 </div>
             </div>
-
-            <div class="filter--item">
-                <span class="filter--item_title">Periodo scadenza</span>
-                <div class="filter--item_formElement">
-                    <input id="date" type="date" class="form-control"  wire:model="filterFrom" style="background-color:white">
-                </div>
-                <div class="filter--item_formElement">
-                    <input id="date" type="date" class="form-control"  wire:model="filterTo" style="background-color:white">
-                </div>
-
-            </div>
-
-
-        </form>
-
-        <footer>
-            <div class="filter--buttons d-flex align-items-center justify-content-between">
-                <button class="btn--ui small dark disable" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">cancella</button>
-                <button class="btn--ui small white" wire:click.prevent="search()" onclick="destroyDataTable()">filtra</button>
+        </div>
+        <div class="row g-3">
+            <div class="col-md-12" style="text-align:right">
+                <button class="card--ui card--ui_btnCancel" wire:click.prevent="disableSearch()" onclick="destroyDataTable()">CANCELLA</button>
+                <button class="card--ui card--ui_btnAddHeaderUser" wire:click.prevent="search()" onclick="destroyDataTable()">FILTRA</button>
             </div>
-        </footer>
-
-
-    </aside>
-</div>
-
-<div class="col card--ui" id="card--dashboard">
-
-     <header id="title--section" class="d-flex align-items-center justify-content-between">
-        <div class="title--section_name d-flex align-items-center justify-content-between">
-            <i class="ico--ui title_section utenti me-2"></i>
-            <h2 class="primary">Scadenze</h2>
         </div>
-
-
-    </header>
-
-    <button id="open-filter" onclick="pcsh1()"></button>
-    <button id="close-filter" onclick="pcsh2()"></button>
+        <hr size="1">
+    </div>
 
     <section id="resume-table">
         <div class="compare--chart_wrapper d-none"></div>
@@ -150,46 +144,81 @@
             $('#tablesaw-350').DataTable().destroy();
         }
 
+        var isFilter = false;
+        $(document).ready(function() {
+            $(document).on("click",".showHideFilter",function() {
+                if (isFilter)
+                {
+                    isFilter = false;
+                    $(".showFilter").hide();
+                }
+                else
+                {
+                    isFilter = true;
+                    $(".showFilter").show();
+                }
+            });
+        } );
+
         function loadDataTable(){
             $('#tablesaw-350').DataTable({
                 thead: {
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Scadenze',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Scadenze',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Scadenze',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="showHideFilter card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-sliders"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 

+ 109 - 92
resources/views/livewire/settings.blade.php

@@ -1,6 +1,6 @@
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">Impostazioni</h2>
@@ -10,102 +10,119 @@
 
 
     <div class="container">
-        <h4>Generale</h4>
-        <div class="row">
-            <div class="col-md-3 p-3">
-                <a href="/categories" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Categorie</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/disciplines" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Discipline</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/cards" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Tessere</span>
-                </a>
-            </div>
-        </div>
-        <br>
-        <h4>Pagamenti</h4>
-        <div class="row">
-            <div class="col-md-3 p-3">
-                <a href="/banks" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Banche</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/causals" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Causali</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/vats" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">IVA</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/payment_methods" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Metodi di pagamento</span>
-                </a>
-            </div>
+
+        <div class="row mb-3">
+            <div class="col-md-3 p-3"><h4 style="cursor:pointer;{{$type == 'anagrafica' ? 'text-decoration:underline;' : ''}}" wire:click="change('anagrafica')">Anagrafica</h4></div>
+            <div class="col-md-3 p-3"><h4 style="cursor:pointer;{{$type == 'corsi' ? 'text-decoration:underline;' : ''}}" wire:click="change('corsi')">Corsi</h4></div>
+            <div class="col-md-3 p-3"><h4 style="cursor:pointer;{{$type == 'contabilita' ? 'text-decoration:underline;' : ''}}" wire:click="change('contabilita')">Contabilità</h4></div>
         </div>
-        <br>
-        <h4>Corsi</h4>
-        <div class="row">
-            <div class="col-md-3 p-3">
-                <a href="/course_subscriptions" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Abbonamenti</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/courses" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Corsi</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/course_durations" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Durata</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/course_frequencies" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Frequenze</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/course_levels" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Livelli</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/course_types" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Tipologie</span>
-                </a>
-            </div>
-            <!--
-            <div class="col-md-3 p-3">
-                <a href="/nations_list" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Nazioni</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/provinces" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Province</span>
-                </a>
-            </div>
-            <div class="col-md-3 p-3">
-                <a href="/cities" class="nav-link d-flex align-items-center">
-                    <i class="ico--ui ico--ui_menu primanota"></i> <span class="ms-3 d-none d-md-inline">Comuni</span>
-                </a>
-            </div>-->
 
+        @if($type == 'anagrafica')
+            <div id="anagrafica">
+                <a href="/categories">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Categorie</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/disciplines">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Discipline</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/cards">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Tessere</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+            </div>
+        @endif
 
+        @if($type == 'corsi')
+            <div id="corsi">
+                <a href="/course_subscriptions">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Abbonamenti</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/courses">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Corsi</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/course_durations">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Durata</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/course_frequencies">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Frequenza</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/course_levels">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Livelli</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/course_types">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Tipologie</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+            </div>
+        @endif
 
+        @if($type == 'contabilita')
+            <div id="contabilita">
+                <a href="/banks">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Banche</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/causals">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Causali</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/vats">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Iva</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+                <a href="/payment_methods">
+                    <div class="row">
+                        <div class="col-md-11 p-2"><h5>Metodi di pagamento</h5></div>
+                        <div class="col-md-1 p-2"><i class="fa-solid fa-chevron-right"></i></div>
+                    </div>
+                </a>
+                <hr size="1">
+            </div>
+        @endif
 
-        </div>
     </div>
 
 </div>

+ 8 - 8
resources/views/livewire/sponsor.blade.php

@@ -1,7 +1,7 @@
 
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)Sponsor @else Inserimento/modifica sponsor @endif</h2>
@@ -10,7 +10,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -60,8 +60,8 @@
                             <td>{{$record->vat}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -269,8 +269,8 @@
                                                         @endif
                                                     </td>
                                                     <td>
-                                                        <button type="button" class="btn btn-outline-primary btn-sm" wire:click="editContract({{ $contract->id }})">Modifica</button>
-                                                        <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteContract({{ $contract->id }})">Elimina</button>
+                                                        <button type="button" class="btn" wire:click="editContract({{ $contract->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                                        <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteContract({{ $contract->id }})"><i class="fa-regular fa-trash-can"></i></button>
                                                     </td>
                                                 </tr>
                                             @endforeach
@@ -333,7 +333,7 @@
                                                             <label class="form-label">Contratto</label>
                                                             <input class="form-control" type="file" wire:model="file" accept="image/*,.pdf,.doc,.docx">
                                                             @if ($file_old != '')
-                                                                <br><a href="/storage/app/public/{{$file_old}}" target="_blank">Visualizza</a>&nbsp;&nbsp;&nbsp;(<a wire:click.prevent="removeFile()">Elimina</a>)
+                                                                <br><a href="/storage/app/public/{{$file_old}}" target="_blank">Visualizza</a>&nbsp;&nbsp;&nbsp;(<a wire:click.prevent="removeFile()"><i class="fa-regular fa-trash-can"></i></a>)
                                                             @endif
                                                         </div>
                                                     </div>
@@ -547,7 +547,7 @@
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
 
         }
 

+ 52 - 27
resources/views/livewire/supplier.blade.php

@@ -1,7 +1,7 @@
 
 <div class="col card--ui" id="card--dashboard">
 
-    <header id="title--section" class="d-flex align-items-center justify-content-between">
+    <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
         <div class="title--section_name d-flex align-items-center justify-content-between">
             <i class="ico--ui title_section utenti me-2"></i>
             <h2 class="primary">@if(!$add && !$update)Fornitori @else Inserimento/modifica fornitore @endif</h2>
@@ -10,7 +10,7 @@
         @if(!$add && !$update)
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
                 </div>
             </div>
         @endif
@@ -40,8 +40,8 @@
                             <td>{{$record->email}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -384,40 +384,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Fornitori',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Fornitori',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Fornitori',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 53 - 27
resources/views/livewire/vat.blade.php

@@ -1,7 +1,7 @@
 <div class="col card--ui" id="card--dashboard">
     @if(!$add && !$update)
 
-        <header id="title--section" class="d-flex align-items-center justify-content-between">
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
             <div class="title--section_name d-flex align-items-center justify-content-between">
                 <i class="ico--ui title_section utenti me-2"></i>
                 <h2 class="primary">IVA</h2>
@@ -9,7 +9,8 @@
 
             <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
                 <div class="card--ui card--ui_btnAddHeaderUser entrata d-flex justify-items-between">
-                    <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2>Aggiungi&nbsp;&nbsp;&nbsp;</h2></div><a href="#" wire:click="add()"><i class="ico--ui big add primary"></i></a></header>
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
+
                 </div>
             </div>
 
@@ -34,8 +35,8 @@
                             <td>{{$record->value}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
-                                <button type="button" class="btn btn-outline-primary btn-sm" wire:click="edit({{ $record->id }})">Modifica</button>
-                                <button type="button" class="btn btn-outline-danger btn-sm" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})">Elimina</button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -134,40 +135,65 @@
                 'th': {'background-color': 'blue'}
                 },
                 layout: {
-                    topStart: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
-                                title: 'Aliquote IVA',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'pdfHtml5',
-                                title: 'Aliquote IVA',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
-                            },
-                            {
-                                extend: 'print',
-                                text: 'Stampa',
-                                title: 'Aliquote IVA',
-                                exportOptions: {
-                                    columns: ":not(':last')"
-                                }
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',
+                                        text: 'Stampa',
+                                        title: 'Utenti',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
                             }
                         ]
-                    }
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
                 },
                 pagingType: 'numbers',
                 "language": {
                     "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData card--ui card--ui_btnAddHeaderUser">&nbsp;&nbsp;<i class="fa-solid fa-plus"></i>&nbsp;&nbsp;</a>';
+                    $(".dt-search").append(html);
                 }
             });
             $('#tablesaw-350 thead tr th').addClass('col');
-            $('#tablesaw-350 thead tr th').css("background-color", "#EDF0F2");
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
 
         }
 

+ 15 - 10
routes/web.php

@@ -138,7 +138,7 @@ Route::get('/get_members', function(){
 
     if (isset($_GET["search"]["value"]))
     {
-        $v = $_GET["search"]["value"];
+        $v = str_replace("'", "''", stripcslashes($_GET["search"]["value"]));
         $x = $x->where(function ($query) use ($v) {
             $query->whereRaw("CONCAT(first_name, ' ', last_name) like '%" . $v . "%'")
                   ->orWhereRaw("CONCAT(last_name, ' ', first_name) like '%" . $v . "%'");
@@ -244,19 +244,19 @@ Route::get('/get_members', function(){
         $status = $r->getStatus();
         $status = $status["status"];
 
-        $state = $r->isActive();
+        // $state = $r->isActive();
 
         $class = $status > 0 ? ($status == 2 ? 'active' : 'suspended') : 'due';
         $text = $status > 0 ? ($status == 2 ? 'Tesserato' : 'Sospeso') : 'Non tesserato';
 
 
-        $x = $state["status"] > 0 ? ($state["status"] == 2 ? 'active' : 'suspended') : '';
+        /*$x = $state["status"] > 0 ? ($state["status"] == 2 ? 'active' : 'suspended') : '';
         $x .= "|";
         $x .= $state["status"] > 0 ? ($state["status"] == 2 ? 'Attivo' : 'Sospesa') : '';
         $x .= "|";
         $x .= $state["status"] ? 'Scadenza : ' : ($state["date"] != '' ? 'Scaduto : ' : '');
         $x .= "|";
-        $x .= $state["date"] != '' ? date("d/m/Y", strtotime($state["date"])) : '';
+        $x .= $state["date"] != '' ? date("d/m/Y", strtotime($state["date"])) : '';*/
 
         $has_certificate = $r->hasCertificate();
         $y = '';
@@ -276,13 +276,14 @@ Route::get('/get_members', function(){
 
         $datas[] = array(
             //'c' => $idx + 1,
-            'id' => "ID" . str_pad($r->id, 5, "0", STR_PAD_LEFT),
+            //'id' => "ID" . str_pad($r->id, 5, "0", STR_PAD_LEFT),
             'last_name' => $r->last_name . "|" . $r->id,
             'first_name' => $r->first_name . "|" . $r->id,
             'phone' => $r->phone,
             'age' => $r->getAge(),
+            'year' => date("Y", strtotime($r->birth_date)),
             'status' => $class . "|" . $text,
-            'state' => $x,
+            // 'state' => $x,
             'certificate' => $y,
             'action' => $r->id
         );
@@ -346,7 +347,7 @@ Route::get('/get_record_in', function(){
 
     if (isset($_GET["search"]["value"]))
     {
-        $v = $_GET["search"]["value"];
+        $v = str_replace("'", "''", stripcslashes($_GET["search"]["value"]));
         $x = $x->where(function ($query) use ($v) {
             $query->where('first_name', 'like', '%' . $v . '%')
                   ->orWhere('last_name', 'like', '%' . $v . '%');
@@ -355,7 +356,7 @@ Route::get('/get_record_in', function(){
     }
 
     $start = 0;
-    $limit = 10000;
+    $limit = 100000;
 
     if (isset($_GET["start"]))
     {
@@ -382,7 +383,7 @@ Route::get('/get_record_in', function(){
     {
         foreach($r->rows as $rr)
         {
-            if (!in_array($rr->member_id, $exclude_from_records) && (!$r->deleted || $r->deleted == null) && !in_array($rr->causal_id, $excludeCausals) && (!$r->financial_movement || $r->financial_movement == null))
+            if (!in_array($rr->member_id, $exclude_from_records) && (!$r->deleted || $r->deleted == null) && !in_array($rr->causal_id, $excludeCausals) && (!$r->financial_movement || $r->financial_movement == null) && (!$r->corrispettivo_fiscale || $r->corrispettivo_fiscale == null))
             {
                 $total += $rr->amount;
                 if ($rr->vat_id > 0)
@@ -391,6 +392,10 @@ Route::get('/get_record_in', function(){
         }
     }
 
+    $count = $x->count();
+
+    $x = $x->orderBy('date', 'DESC')->orderBy('id', 'DESC');
+
     $x = $x->offset($start)->limit($limit)->get();
 
     foreach($x as $idx => $r)
@@ -431,7 +436,7 @@ Route::get('/get_record_in', function(){
         'action' => ''
     );*/
 
-    return json_encode(array("data" => $datas));
+    return json_encode(array("data" => $datas,  "recordsTotal" => $count, "recordsFiltered" => $count));
 
 });
 

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio