diff --git a/packages/Webkul/Admin/src/Http/ViewComposers/DataGrids/SliderComposer.php b/packages/Webkul/Admin/src/Http/ViewComposers/DataGrids/SliderComposer.php new file mode 100644 index 000000000..1b5a90a5c --- /dev/null +++ b/packages/Webkul/Admin/src/Http/ViewComposers/DataGrids/SliderComposer.php @@ -0,0 +1,146 @@ + 'Sliders', + 'table' => 'sliders', + 'select' => 'id', + 'perpage' => 5, + 'aliased' => false, //use this with false as default and true in case of joins + + 'massoperations' =>[ + [ + 'route' => route('admin.datagrid.delete'), + 'method' => 'DELETE', + 'label' => 'Delete', + 'type' => 'button', + ], + ], + + 'actions' => [ + [ + 'type' => 'Edit', + 'route' => route('admin.datagrid.delete'), + 'confirm_text' => 'Do you really edit this record?', + 'icon' => 'icon pencil-lg-icon', + ], [ + 'type' => 'Delete', + 'route' => route('admin.datagrid.delete'), + 'confirm_text' => 'Do you really want to delete this record?', + 'icon' => 'icon trash-icon', + ], + ], + + 'join' => [ + // [ + // 'join' => 'leftjoin', + // 'table' => 'roles as r', + // 'primaryKey' => 'u.role_id', + // 'condition' => '=', + // 'secondaryKey' => 'r.id', + // ] + ], + + //use aliasing on secodary columns if join is performed + + 'columns' => [ + + [ + 'name' => 'id', + 'alias' => 'slider_id', + 'type' => 'number', + 'label' => 'ID', + 'sortable' => true, + ], + [ + 'name' => 'title', + 'alias' => 'slider_title', + 'type' => 'string', + 'label' => 'title', + 'sortable' => true, + ], + ], + + //don't use aliasing in case of filters + + 'filterable' => [ + // [ + // 'column' => 'id', + // 'alias' => 'locale_id', + // 'type' => 'number', + // 'label' => 'ID', + // ], + // [ + // 'column' => 'code', + // 'alias' => 'locale_code', + // 'type' => 'string', + // 'label' => 'Code', + // ], + // [ + // 'column' => 'name', + // 'alias' => 'locale_name', + // 'type' => 'string', + // 'label' => 'Name', + // ], + ], + + //don't use aliasing in case of searchables + + 'searchable' => [ + // [ + // 'column' => 'name', + // 'type' => 'string', + // 'label' => 'Name', + // ], + // [ + // 'column' => 'code', + // 'type' => 'string', + // 'label' => 'Code', + // ], + ], + + //list of viable operators that will be used + 'operators' => [ + 'eq' => "=", + 'lt' => "<", + 'gt' => ">", + 'lte' => "<=", + 'gte' => ">=", + 'neqs' => "<>", + 'neqn' => "!=", + 'like' => "like", + 'nlike' => "not like", + ], + // 'css' => [] + + ]); + + $view->with('datagrid', $datagrid); + // $view->with('count', $this->users->count()); + } +} \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index 1464d5cdc..879f9e4a9 100644 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -301,13 +301,18 @@ Route::group(['middleware' => ['web']], function () { Route::put('/account', 'Webkul\User\Http\Controllers\AccountController@update')->name('admin.account.update'); // Admin Store Front Settings Route - Route::get('/slider/create','Webkul\Shop\Http\Controllers\SliderController@index')->defaults('_config',[ - 'view' => 'admin::sliders.create' + Route::get('/slider','Webkul\Shop\Http\Controllers\SliderController@index')->defaults('_config',[ + 'view' => 'admin::settings.sliders.index' ])->name('admin.sliders.index'); - Route::post('/slider/create','Webkul\Shop\Http\Controllers\SliderController@create')->defaults('_config',[ - 'redirect' => 'admin::sliders.create' + // Admin Store Front Settings Route + Route::get('/slider/create','Webkul\Shop\Http\Controllers\SliderController@create')->defaults('_config',[ + 'view' => 'admin::settings.sliders.create' ])->name('admin.sliders.create'); + + Route::post('/slider/create','Webkul\Shop\Http\Controllers\SliderController@store')->defaults('_config',[ + 'redirect' => 'admin::sliders.index' + ])->name('admin.sliders.store'); }); }); }); diff --git a/packages/Webkul/Admin/src/Providers/ComposerServiceProvider.php b/packages/Webkul/Admin/src/Providers/ComposerServiceProvider.php index 79ea7c7fe..ce77d7de8 100644 --- a/packages/Webkul/Admin/src/Providers/ComposerServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/ComposerServiceProvider.php @@ -41,6 +41,9 @@ class ComposerServiceProvider extends ServiceProvider //for channels in admin dashboard View::composer('admin::settings.channels.index', 'Webkul\Admin\Http\ViewComposers\DataGrids\ChannelsComposer'); + //for sliders in admin dashboard + View::composer('admin::settings.sliders.index', 'Webkul\Admin\Http\ViewComposers\DataGrids\SliderComposer'); + } /** diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 71f9960ee..8faa7f781 100644 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -243,7 +243,7 @@ return [ ], 'sliders' => [ - 'title' => 'Title', + 'title' => 'Sliders', 'add-title' => 'Create Slider', 'save-btn-title' => 'Save Slider', 'general' => 'General', diff --git a/packages/Webkul/Admin/src/Resources/views/sliders/create.blade.php b/packages/Webkul/Admin/src/Resources/views/settings/sliders/create.blade.php similarity index 91% rename from packages/Webkul/Admin/src/Resources/views/sliders/create.blade.php rename to packages/Webkul/Admin/src/Resources/views/settings/sliders/create.blade.php index 3d46e61ae..dfbcafa39 100644 --- a/packages/Webkul/Admin/src/Resources/views/sliders/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/settings/sliders/create.blade.php @@ -31,14 +31,14 @@ @{{ errors.first('title') }} -