Browse Source

Renamed references from 'datatables' to 'reports'

ttreasure 4 months ago
parent
commit
49e03102d7

+ 12 - 12
app/Http/Controllers/DataTablesController.php → app/Http/Controllers/ReportsController.php

@@ -6,18 +6,18 @@ use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Http\Request;
 use Yajra\DataTables\Facades\DataTables;
-class DataTablesController extends Controller
+class ReportsController extends Controller
 {
 
 
 
-    public function dynamicDataTable($datatableName, Request $request)
+    public function dynamicDataTable($reportName, Request $request)
     {
         // Fetch the DataTable configuration
-        $datatableConfig = DB::table('datatables')->where('name', $datatableName)->first();
+        $reportConfig = DB::table('reports')->where('name', $reportName)->first();
 
-        if (!$datatableConfig) {
-            return response()->json(['error' => 'DataTable configuration not found'], 404);
+        if (!$reportConfig) {
+            return response()->json(['error' => 'Report configuration not found'], 404);
         }
 
 
@@ -26,17 +26,17 @@ class DataTablesController extends Controller
 
 
         // Start building the query
-        $query = DB::table($datatableConfig->base_table);
+        $query = DB::table($reportConfig->base_table);
 
 
         // Apply columns
-        $select_columns = json_decode($datatableConfig->select_columns, true);
+        $select_columns = json_decode($reportConfig->select_columns, true);
         foreach ($select_columns as $column) {
             $query->selectRaw($column['select_exp']);
         }
 
         // Apply joins
-        $joins = json_decode($datatableConfig->joins, true);
+        $joins = json_decode($reportConfig->joins, true);
         if (!empty($joins)) {
             foreach ($joins as $join) {
                 if (str_contains($join['table'], '(')) { // Detect subquery joins
@@ -49,7 +49,7 @@ class DataTablesController extends Controller
         }
 
         // Apply conditions (filters)
-        $conditions = json_decode($datatableConfig->conditions, true);
+        $conditions = json_decode($reportConfig->conditions, true);
         if (!empty($conditions)) {
             foreach ($conditions as $condition) {
                 if (isset($condition['raw'])) {
@@ -67,8 +67,8 @@ class DataTablesController extends Controller
 
 
 
-        $columnHeaders = json_decode($datatableConfig->column_headers, true);
-        $columnConfig = json_decode($datatableConfig->columns_config, true);
+        $columnHeaders = json_decode($reportConfig->column_headers, true);
+        $columnConfig = json_decode($reportConfig->columns_config, true);
 
 
         //Apply search filters
@@ -119,7 +119,7 @@ class DataTablesController extends Controller
         }
 
         // Apply sorting
-        $sorting = $request->order[0] ?? json_decode($datatableConfig->default_sorting, true)[0];
+        $sorting = $request->order[0] ?? json_decode($reportConfig->default_sorting, true)[0];
 
         $query->orderBy($sorting['name'], $sorting['dir']);
 

+ 5 - 5
app/Livewire/ShowReports.php

@@ -9,20 +9,20 @@ use Illuminate\Support\Facades\DB;
 use Livewire\Component;
 class ShowReports extends Component
 {
-    public $datatableName;
+    public $reportName;
     public $datatableColumnsConfig;
     public $datatableHeadersConfig;
     public $datatableButtonsConfig;
     public $datatableColumnDefsConfig;
 
 
-    public function mount($datatableName)
+    public function mount($reportName)
     {
         // Receive the dynamic datatable name during initialization
-        $this->datatableName = $datatableName;
+        $this->reportName = $reportName;
 
         // Fetch the DataTable configuration
-        $datatableConfigQuery = DB::table('datatables')->where('name', $datatableName)->first();
+        $datatableConfigQuery = DB::table('reports')->where('name', $reportName)->first();
 
         if (!$datatableConfigQuery) {
             abort(404, 'DataTable configuration not found');
@@ -38,7 +38,7 @@ class ShowReports extends Component
     public function render()
     {
 
-        return view('livewire.show-reports')->layout('components.layouts.datatables');
+        return view('livewire.show-reports')->layout('components.layouts.reports');
     }
 
 

+ 2 - 2
database/migrations/2025_04_06_144819_insert_sample_report_into_datatables_table.php

@@ -14,7 +14,7 @@ class InsertSampleReportIntoDatatablesTable extends Migration
      */
     public function up()
     {
-        DB::table('datatables')->insert([
+        DB::table('reports')->insert([
             'id' => 1,
             'name' => 'Employee-Report',
             'description' => null,
@@ -65,6 +65,6 @@ class InsertSampleReportIntoDatatablesTable extends Migration
      */
     public function down()
     {
-        DB::table('datatables')->where('id', 1)->delete();
+        DB::table('reports')->where('id', 1)->delete();
     }
 }

+ 1 - 1
database/migrations/2025_04_12_024027_add_column_headers_column_to_datatables_table.php

@@ -16,7 +16,7 @@ return new class extends Migration
         Schema::table('datatables', function (Blueprint $table) {
             $table->json('column_headers');
         });
-        DB::table('datatables')->where('id', 1)->update(['column_headers' => '[{"header":"Employee Name","type":"string","searchable":true,"searchtype":"text"},{"header":"Employee Email","type":"string","searchable":true,"searchtype":"text"},{"header":"Employee Position","type":"string","searchable":true,"searchtype":"text"},{"header":"Office Name","type":"string","searchable":true,"searchtype":"text"},{"header":"Office Locaion","type":"string","searchable":true,"searchtype":"text"}]']);
+        DB::table('reports')->where('id', 1)->update(['column_headers' => '[{"header":"Employee Name","type":"string","searchable":true,"searchtype":"text"},{"header":"Employee Email","type":"string","searchable":true,"searchtype":"text"},{"header":"Employee Position","type":"string","searchable":true,"searchtype":"text"},{"header":"Office Name","type":"string","searchable":true,"searchtype":"text"},{"header":"Office Locaion","type":"string","searchable":true,"searchtype":"text"}]']);
     }
 
     /**

+ 33 - 0
database/migrations/2025_08_03_173337_create_personal_access_tokens_table.php

@@ -0,0 +1,33 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('personal_access_tokens', function (Blueprint $table) {
+            $table->id();
+            $table->morphs('tokenable');
+            $table->string('name');
+            $table->string('token', 64)->unique();
+            $table->text('abilities')->nullable();
+            $table->timestamp('last_used_at')->nullable();
+            $table->timestamp('expires_at')->nullable();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('personal_access_tokens');
+    }
+};

+ 0 - 0
resources/css/datatables.css → resources/css/reports.css


+ 1 - 1
resources/js/datatables.js → resources/js/reports.js

@@ -198,7 +198,7 @@ window.getFilterInput = getFilterInput;
 
 
 document.addEventListener('DOMContentLoaded', () => {
-    console.log("datatables.js is working!");
+    console.log("reports.js is working!");
 });
 
 

+ 3 - 3
resources/views/MainView.blade.php

@@ -1,3 +1,3 @@
-<x-layouts.datatables>
-    <livewire:show-reports :datatableName="$datatableName" />
-</x-layouts.datatables>
+<x-layouts.reports>
+    <livewire:show-reports :reportName="$reportName" />
+</x-layouts.reports>

+ 2 - 2
resources/views/components/layouts/datatables.blade.php → resources/views/components/layouts/reports.blade.php

@@ -11,11 +11,11 @@
 
 
         @vite('resources/css/app.css')
-        @vite('resources/css/datatables.css')
+        @vite('resources/css/reports.css')
     </head>
     <body>
     {{ $slot }}
     @vite('resources/js/app.js')
-    @vite('resources/js/datatables.js')
+    @vite('resources/js/reports.js')
     </body>
 </html>

+ 2 - 2
resources/views/livewire/show-reports.blade.php

@@ -1,14 +1,14 @@
 
 <div>
     <div id="datatable-config"
-         data-datatable-name="{{ $datatableName }}"
+         data-datatable-name="{{ $reportName }}"
          data-datatable-columns-config='@json($datatableColumnsConfig)'
          data-datatable-headers-config='@json($datatableHeadersConfig)'
          data-datatable-buttons-config='@json($datatableButtonsConfig)'
          data-datatable-column-defs-config='@json($datatableColumnDefsConfig)'>
     </div>
 
-    <table id="{{$datatableName}}-table" class="bg-white border border-gray-300">
+    <table id="{{$reportName}}-table" class="bg-white border border-gray-300">
         <thead>
         <tr>
         @foreach($datatableHeadersConfig as $headerConfig)

+ 2 - 2
routes/api.php

@@ -2,7 +2,7 @@
 
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Route;
-use App\Http\Controllers\DataTablesController;
+use App\Http\Controllers\ReportsController;
 
 Route::get('/user', function (Request $request) {
     return $request->user();
@@ -11,4 +11,4 @@ Route::get('/user', function (Request $request) {
 
 
 
-Route::post('/report-data/{name}', [DataTablesController::class, 'dynamicDataTable']);
+Route::post('/report-data/{name}', [ReportsController::class, 'dynamicDataTable']);

+ 2 - 2
routes/web.php

@@ -4,9 +4,9 @@ use Illuminate\Support\Facades\Route;
 
 Route::get('/reports/{report}', function ($report){
         // Fetch the datatable name dynamically from the database (replace with your logic)
-        $datatableName = DB::table('datatables')->where('name', '=', $report)->value('name');
+        $reportName = DB::table('reports')->where('name', '=', $report)->value('name');
         // Pass it to the view
-        return view('MainView', compact('datatableName'));
+        return view('MainView', compact('reportName'));
 
 });
 Route::get('/login', \App\Livewire\Login::class);

+ 1 - 1
vite.config.js

@@ -6,7 +6,7 @@ import commonjs from "vite-plugin-commonjs";
 export default defineConfig({
     plugins: [
         laravel({
-            input: ['resources/css/app.css', 'resources/js/app.js','resources/css/datatables.css','resources/js/datatables.js'],
+            input: ['resources/css/app.css', 'resources/js/app.js','resources/css/reports.css','resources/js/reports.js'],
             refresh: true,
         }),
         tailwindcss(),