[Bug] On relation in HTML Builder

This commit is contained in:
Ludovic CANDELLIER
2020-05-11 02:52:28 +02:00
parent b481b78ebb
commit 5841445e0d
23 changed files with 299 additions and 207 deletions

View File

@@ -43,8 +43,7 @@ var cssMain = [
// 'build/css/modal-option.css', // 'build/css/modal-option.css',
'build/css/shadow.css', 'build/css/shadow.css',
// 'build/css/utility.css', // 'build/css/utility.css',
// 'build/css/site.css', 'build/css/main.css'
// 'build/css/admin.css'
] ]
var jsDataTables = [ var jsDataTables = [

View File

@@ -0,0 +1,132 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Botanic\Family;
use App\Models\Botanic\Genre;
use App\Models\Botanic\Specie;
use App\Models\Botanic\Variety;
class checkdb extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'checkdb';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Consistency from old version';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$varieties = Variety::whereNull('specie_id')->get();
foreach ($varieties as $variety) {
$specie_name = trim($variety->specie_name);
/*
$specie = Specie::firstOrCreate(['name' => $specie_name]);
if ($specie) {
$variety->specie_id = $specie->id;
$variety->save();
}
*/
dump($specie_name);
}
/*
$species = Specie::all();
foreach ($species as $specie) {
$specie->name = trim($specie->name);
$specie->save();
}
$varieties = Variety::all();
foreach ($varieties as $variety) {
$variety->name = trim($variety->name);
$variety->save();
}
*/
/*
$varieties = Variety::all();
foreach ($varieties as $variety) {
$specie_name = $variety->specie;
dump($specie_name);
if (!empty($specie_name)) {
$specie = Specie::byName($specie_name)->first();
if (isset($specie->name))
{
dump($specie->name);
$variety->specie_id = $specie->id;
$variety->save();
} else {
dump("non trouvé");
}
} else {
dump("Aucune espèce");
}
}
*/
/*
$species = Specie::all();
foreach ($species as $specie) {
$genre_name = $specie->genre;
dump($genre_name);
if (!empty($genre_name)) {
$genre = Genre::byName($genre_name)->first();
if (isset($genre->name))
{
dump($genre->name);
$specie->genre_id = $genre->id;
$specie->save();
} else {
dump("non trouvé");
}
} else {
dump("Aucun genre");
}
}
*/
/*
$genres = Genre::all();
foreach ($genres as $genre) {
$family_name = $genre->family;
dump($family_name);
if (!empty($family_name)) {
$family = Family::byName($family_name)->first();
if (isset($family->name))
{
dump($family->name);
$genre->family_id = $family->id;
$genre->save();
} else {
dump("non trouvé");
}
} else {
dump("Aucune famille");
}
}
*/
}
}

View File

@@ -22,15 +22,10 @@ class FamiliesDataTable extends DataTable
Column::make('name')->title('Nom'), Column::make('name')->title('Nom'),
Column::make('alias'), Column::make('alias'),
Column::make('latin'), Column::make('latin'),
Column::make('genres_count')->title('Nb genres')->searchable(false), Column::make('genres_count')->title('Nb genres')->searchable(false)->addClass('text-right'),
Column::make('species_count')->title('Nb espèces')->searchable(false), Column::make('species_count')->title('Nb espèces')->searchable(false)->addClass('text-right'),
Column::make('varieties_count')->title('Nb variétés')->searchable(false), Column::make('varieties_count')->title('Nb variétés')->searchable(false)->addClass('text-right'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->searchable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -22,14 +22,10 @@ class GenresDataTable extends DataTable
Column::make('name')->title('Nom'), Column::make('name')->title('Nom'),
Column::make('alias'), Column::make('alias'),
Column::make('latin'), Column::make('latin'),
Column::make('family.name'), Column::make('family.name')->title('Famille'),
Column::make('species_count')->title('Nb Espèces')->searchable(false), Column::make('species_count')->title('Nb Espèces')->searchable(false)->addClass('text-right'),
Column::make('varieties_count')->title('Nb Variétés')->searchable(false), Column::make('varieties_count')->title('Nb Variétés')->searchable(false)->addClass('text-right'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -21,14 +21,10 @@ class SpeciesDataTable extends DataTable
return [ return [
Column::make('name')->title('Nom'), Column::make('name')->title('Nom'),
Column::make('alias'), Column::make('alias'),
Column::make('genre.name'), Column::make('genre.name')->title('Genre'),
Column::make('latin'), Column::make('latin'),
Column::make('varieties_count')->title('Nb variétés')->searchable(false), Column::make('varieties_count')->title('Nb variétés')->searchable(false)->addClass('text-right'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -19,13 +19,9 @@ class VarietiesDataTable extends DataTable
protected function getColumns() protected function getColumns()
{ {
return [ return [
Column::make('specie_name')->title('Espèce'), Column::make('specie.name')->title('Espèce'),
Column::make('name')->title('Nom'), Column::make('name')->title('Nom'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -18,8 +18,7 @@ class ParentDataTable extends DataTable
*/ */
public function dataTable($query) public function dataTable($query)
{ {
$datatables = datatables()->eloquent($query); return $this->addButtons(datatables()->eloquent($query));
return self::addButtons($datatables);
} }
/** /**
@@ -30,18 +29,28 @@ class ParentDataTable extends DataTable
*/ */
public function addButtons($datatables) public function addButtons($datatables)
{ {
$buttons = self::getHtmlButtons(); return $datatables->addColumn('action', $this->getHtmlButtons());
return $datatables->addColumn('action', $buttons);
} }
public function getHtmlButtons() public function getHtmlButtons()
{ {
$buttons = '<button type="button" data-id="{{$id}}" class="btn btn-xs btn-secondary btn-show mr-2"><i class="fa fa-fw fa-eye"></i></button>'; $buttons = '';
// $buttons .= '<button type="button" data-id="{{$id}}" class="btn btn-xs btn-secondary btn-show mr-2"><i class="fa fa-fw fa-eye"></i></button>';
$buttons .= '<button type="button" data-id="{{$id}}" class="btn btn-xs btn-primary btn-edit mr-2"><i class="fa fa-fw fa-edit"></i></button>'; $buttons .= '<button type="button" data-id="{{$id}}" class="btn btn-xs btn-primary btn-edit mr-2"><i class="fa fa-fw fa-edit"></i></button>';
$buttons .= '<button type="button" data-id="{{$id}}" class="btn btn-xs btn-danger btn-del"><i class="fa fa-fw fa-trash"></i></button>'; $buttons .= '<button type="button" data-id="{{$id}}" class="btn btn-xs btn-danger btn-del"><i class="fa fa-fw fa-trash"></i></button>';
return $buttons; return $buttons;
} }
public function makeColumnButtons()
{
return Column::computed('action')
->exportable(false)
->printable(false)
->searchable(false)
->width(80)
->addClass('text-center');
}
/** /**
* Get query source of dataTable. * Get query source of dataTable.
* *
@@ -61,7 +70,7 @@ class ParentDataTable extends DataTable
*/ */
public function html() public function html()
{ {
return self::buildHtml(strtolower($this->model_name) . '-table'); return $this->buildHtml(strtolower($this->model_name) . '-table');
} }
/** /**

View File

@@ -21,11 +21,7 @@ class ArticleAttributeFamiliesDataTable extends DataTable
return [ return [
Column::make('name'), Column::make('name'),
Column::make('values_count')->title('Nb valeurs')->searchable(false), Column::make('values_count')->title('Nb valeurs')->searchable(false),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -19,13 +19,9 @@ class ArticleAttributeValuesDataTable extends DataTable
protected function getColumns() protected function getColumns()
{ {
return [ return [
Column::make('attribute_family.name')->title('Famille d\'attributs'), Column::make('attribute_family.name')->title('Famille d\'attributs') ,
Column::make('value'), Column::make('value'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -20,11 +20,7 @@ class ArticlePricessDataTable extends DataTable
{ {
return [ return [
Column::make('name'), Column::make('name'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -19,11 +19,7 @@ class ArticlesDataTable extends DataTable
{ {
return [ return [
Column::make('name'), Column::make('name'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
]; ];
} }

View File

@@ -19,11 +19,7 @@ class CategoriesDataTable extends DataTable
{ {
return [ return [
Column::make('name'), Column::make('name'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(120)
->addClass('text-center'),
]; ];
} }

View File

@@ -19,11 +19,7 @@ class CustomersDataTable extends DataTable
{ {
return [ return [
Column::make('name'), Column::make('name'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
]; ];
} }

View File

@@ -19,11 +19,7 @@ class InvoicesDataTable extends DataTable
{ {
return [ return [
Column::make('name'), Column::make('name'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
]; ];
} }

View File

@@ -19,11 +19,7 @@ class OrdersDataTable extends DataTable
{ {
return [ return [
Column::make('name'), Column::make('name'),
Column::computed('action') self::makeColumnButtons(),
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
]; ];
} }

View File

@@ -15,7 +15,7 @@ class Varieties
public static function getDatatable() public static function getDatatable()
{ {
$model = Variety::orderBy('name'); $model = Variety::with('specie');
return Datatables::of($model)->make(true); return Datatables::of($model)->make(true);
} }

4
build/css/main.css Normal file
View File

@@ -0,0 +1,4 @@
ul .jqtree_common {
list-style: none;
padding-left: 0;
}

File diff suppressed because one or more lines are too long

View File

@@ -17,7 +17,7 @@
{{$dataTable->table()}} {{$dataTable->table()}}
</div> </div>
<div class="col-4"> <div class="col-4">
<div id="tree1" data-url="{{ route('Shop.Categories.getTree') }}"></div> @include('Shop.Admin.Categories.partials.tree')
</div> </div>
</div> </div>
@@ -25,15 +25,5 @@
@push('scripts') @push('scripts')
@include('components.js.datatable', ['route' => '/Shop/Admin/Categories', 'model' => 'categories']) @include('components.js.datatable', ['route' => '/Shop/Admin/Categories', 'model' => 'categories'])
<script>
$(function() {
$('#tree1').tree({
dragAndDrop: true,
autoOpen: 0
});
});
</script>
@endpush @endpush

View File

@@ -0,0 +1,24 @@
<div class="card">
<div class="card-header">
<h3 class="card-title">
<i class="fas fa-sort"></i>
Gestion du menu
</h3>
</div>
<div class="card-body">
<div id="tree1" data-url="{{ route('Shop.Categories.getTree') }}"></div>
</div>
</div>
@push('scripts')
<script>
$(function() {
$('#tree1').tree({
dragAndDrop: true,
autoOpen: 0
});
});
</script>
@endpush

View File

@@ -9,6 +9,7 @@
<title>{{ $title }} | {{ config('app.name') }}</title> <title>{{ $title }} | {{ config('app.name') }}</title>
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}"> <link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
<link rel="stylesheet" href="{{ mix('/css/app.css') }}"> <link rel="stylesheet" href="{{ mix('/css/app.css') }}">
<link rel="stylesheet" href="/css/main.min.css">
@stack('css') @stack('css')
</head> </head>
<body class="layout-fixed layout-navbar-fixed sidebar-mini"> <body class="layout-fixed layout-navbar-fixed sidebar-mini">

View File

@@ -2,6 +2,7 @@
Route::prefix('Varieties')->name('Varieties.')->group(function () { Route::prefix('Varieties')->name('Varieties.')->group(function () {
Route::get('', 'VarietyController@index')->name('index'); Route::get('', 'VarietyController@index')->name('index');
Route::get('getDataTable', 'VarietyController@getDataTable')->name('getDataTable');
Route::get('create', 'VarietyController@create')->name('create'); Route::get('create', 'VarietyController@create')->name('create');
Route::delete('destroy', 'VarietyController@destroy')->name('destroy'); Route::delete('destroy', 'VarietyController@destroy')->name('destroy');
Route::post('update', 'VarietyController@update')->name('update'); Route::post('update', 'VarietyController@update')->name('update');