All datagrids are generating before add column, action and mass action

This commit is contained in:
Prashant Singh 2019-09-11 03:10:38 +05:30
parent 7d7cda1f73
commit 98e8f3c57d
30 changed files with 206 additions and 114 deletions

View File

@ -0,0 +1,42 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class GenerateProducts extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'bagisto:generate {products},{nos?}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Attempts to generate random products available in the system';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->comment('v' . config('app.version'));
}
}

View File

@ -50,7 +50,7 @@ class AttributeDataGrid extends DataGrid
$this->addColumn([
'index' => 'admin_name',
'label' => trans('admin::app.datagrid.admin-name'),
'label' => trans('admin::app.name'),
'type' => 'string',
'searchable' => true,
'sortable' => true,
@ -59,30 +59,30 @@ class AttributeDataGrid extends DataGrid
$this->addColumn([
'index' => 'type',
'label' => trans('admin::app.datagrid.type'),
'label' => trans('admin::app.type'),
'type' => 'string',
'sortable' => true,
'searchable' => true,
'filterable' => true
]);
// $this->addColumn([
// 'index' => 'is_required',
// 'label' => trans('admin::app.datagrid.required'),
// 'type' => 'boolean',
// 'sortable' => true,
// 'searchable' => false,
// 'wrapper' => function($value) {
// if ($value->is_required == 1)
// return 'True';
// else
// return 'False';
// }
// ]);
$this->addColumn([
'index' => 'is_required',
'label' => trans('admin::app.required'),
'type' => 'boolean',
'sortable' => true,
'searchable' => false,
'wrapper' => function($value) {
if ($value->is_required == 1)
return 'True';
else
return 'False';
}
]);
$this->addColumn([
'index' => 'is_unique',
'label' => trans('admin::app.datagrid.unique'),
'label' => trans('admin::app.unique'),
'type' => 'boolean',
'sortable' => true,
'searchable' => false,
@ -97,7 +97,7 @@ class AttributeDataGrid extends DataGrid
$this->addColumn([
'index' => 'value_per_locale',
'label' => trans('admin::app.datagrid.per-locale'),
'label' => trans('admin::app.locale-based'),
'type' => 'boolean',
'sortable' => true,
'searchable' => false,
@ -112,7 +112,7 @@ class AttributeDataGrid extends DataGrid
$this->addColumn([
'index' => 'value_per_channel',
'label' => trans('admin::app.datagrid.per-channel'),
'label' => trans('admin::app.channel-based'),
'type' => 'boolean',
'sortable' => true,
'searchable' => false,
@ -129,15 +129,15 @@ class AttributeDataGrid extends DataGrid
public function prepareActions()
{
$this->addAction([
'type' => 'Edit',
'method' => 'GET', //use post only for redirects only
'title' => 'Edit Attribute',
'method' => 'GET', //use get for redirects only
'route' => 'admin.catalog.attributes.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', //use post only for requests other than redirects
'title' => 'Delete Attribute',
'method' => 'POST', // other than get request it fires ajax and self refreshes datagrid
'route' => 'admin.catalog.attributes.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -26,9 +26,11 @@ class AttributeFamilyDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
'label' => trans('admin::app.id'),
'type' => 'number',
'searchable' => false,
'sortable' => true,
@ -37,7 +39,7 @@ class AttributeFamilyDataGrid extends DataGrid
$this->addColumn([
'index' => 'code',
'label' => trans('admin::app.datagrid.code'),
'label' => trans('admin::app.code'),
'type' => 'string',
'searchable' => true,
'sortable' => true,
@ -46,7 +48,7 @@ class AttributeFamilyDataGrid extends DataGrid
$this->addColumn([
'index' => 'name',
'label' => trans('admin::app.datagrid.name'),
'label' => trans('admin::app.name'),
'type' => 'string',
'searchable' => true,
'sortable' => true,
@ -56,14 +58,14 @@ class AttributeFamilyDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Attribute Family',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.catalog.families.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Attribute Family',
'method' => 'POST', // use GET request only for redirect purposes and POST for rest
'route' => 'admin.catalog.families.delete',
// 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),

View File

@ -30,6 +30,8 @@ class CMSPageDataGrid extends DataGrid
$locales = app('Webkul\Core\Repositories\LocaleRepository');
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -88,14 +90,14 @@ class CMSPageDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit CMSPage',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.cms.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete CMSPage',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.cms.delete',
'icon' => 'icon trash-icon'

View File

@ -28,9 +28,11 @@ class CartRuleDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
'label' => trans('admin::app.id'),
'type' => 'number',
'searchable' => false,
'sortable' => true,
@ -39,7 +41,7 @@ class CartRuleDataGrid extends DataGrid
$this->addColumn([
'index' => 'name',
'label' => trans('admin::app.datagrid.name'),
'label' => trans('admin::app.name'),
'type' => 'string',
'searchable' => true,
'sortable' => true,
@ -48,7 +50,7 @@ class CartRuleDataGrid extends DataGrid
$this->addColumn([
'index' => 'status',
'label' => trans('admin::app.datagrid.status'),
'label' => trans('admin::app.status'),
'type' => 'boolean',
'searchable' => true,
'sortable' => true,
@ -117,14 +119,14 @@ class CartRuleDataGrid extends DataGrid
public function prepareActions()
{
$this->addAction([
'type' => 'Edit',
'title' => 'Edit CartRule',
'method' => 'GET', //use post only for redirects only
'route' => 'admin.cart-rule.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete CartRule',
'method' => 'POST', //use post only for requests other than redirects
'route' => 'admin.cart-rule.delete',
'icon' => 'icon trash-icon'

View File

@ -28,6 +28,8 @@ class CatalogRuleDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -107,14 +109,14 @@ class CatalogRuleDataGrid extends DataGrid
public function prepareActions()
{
$this->addAction([
'type' => 'Edit',
'title' => 'Edit CatalogRule',
'method' => 'GET', //use post only for redirects only
'route' => 'admin.catalog-rule.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete CatalogRule',
'method' => 'POST', //use post only for requests other than redirects
'route' => 'admin.catalog-rule.delete',
'icon' => 'icon trash-icon'

View File

@ -37,6 +37,8 @@ class CategoryDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'category_id',
'label' => trans('admin::app.datagrid.id'),
@ -91,14 +93,14 @@ class CategoryDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Category',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.catalog.categories.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Category',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.catalog.categories.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),

View File

@ -26,6 +26,8 @@ class ChannelDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -65,14 +67,14 @@ class ChannelDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Channel',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.channels.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Channel',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.channels.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),

View File

@ -26,6 +26,8 @@ class CurrencyDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -56,14 +58,14 @@ class CurrencyDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Currency',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.currencies.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Currency',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.currencies.delete',
'icon' => 'icon trash-icon'

View File

@ -34,6 +34,8 @@ class CustomerDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'customer_id',
'label' => trans('admin::app.datagrid.id'),
@ -89,7 +91,6 @@ class CustomerDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.customer.edit',
'icon' => 'icon pencil-lg-icon',
@ -97,7 +98,6 @@ class CustomerDataGrid extends DataGrid
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.customer.delete',
'icon' => 'icon trash-icon',
@ -105,7 +105,6 @@ class CustomerDataGrid extends DataGrid
]);
$this->addAction([
'type' => 'Add Note',
'method' => 'GET',
'route' => 'admin.customer.note.create',
'icon' => 'icon note-icon',

View File

@ -26,6 +26,8 @@ class CustomerGroupDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => 'ID',
@ -56,14 +58,14 @@ class CustomerGroupDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Customer Group',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.groups.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Customer Group',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.groups.delete',
'icon' => 'icon trash-icon'

View File

@ -34,6 +34,8 @@ class CustomerReviewDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'product_review_id',
'label' => trans('admin::app.datagrid.id'),
@ -92,14 +94,14 @@ class CustomerReviewDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Customer Review',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.customer.review.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Customer Review',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.customer.review.delete',
'icon' => 'icon trash-icon'

View File

@ -28,6 +28,8 @@ class ExchangeRatesDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'currency_exch_id',
'label' => trans('admin::app.datagrid.id'),
@ -58,14 +60,14 @@ class ExchangeRatesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Exchange Rate',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.exchange_rates.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Exchange Rate',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.exchange_rates.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),

View File

@ -26,6 +26,8 @@ class InventorySourcesDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -80,14 +82,14 @@ class InventorySourcesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Inventory Source',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.inventory_sources.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Inventory Source',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.inventory_sources.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),

View File

@ -26,6 +26,8 @@ class LocalesDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -65,14 +67,14 @@ class LocalesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Locales',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.locales.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Locales',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.locales.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),

View File

@ -26,6 +26,8 @@ class NewsLetterDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -62,14 +64,14 @@ class NewsLetterDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit News Letter',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.customers.subscribers.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete News Letter',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.customers.subscribers.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),

View File

@ -42,6 +42,8 @@ class OrderDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -134,7 +136,7 @@ class OrderDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'View',
'title' => 'Order View',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sales.orders.view',
'icon' => 'icon eye-icon'

View File

@ -26,6 +26,8 @@ class OrderInvoicesDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -65,7 +67,7 @@ class OrderInvoicesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'View',
'title' => 'Order Invoice View',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sales.invoices.view',
'icon' => 'icon eye-icon'

View File

@ -42,6 +42,8 @@ class OrderShipmentsDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'shipment_id',
'label' => trans('admin::app.datagrid.id'),
@ -108,7 +110,7 @@ class OrderShipmentsDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'View',
'title' => 'Order Shipment View',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sales.shipments.view',
'icon' => 'icon eye-icon'

View File

@ -42,6 +42,8 @@ class ProductDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'product_id',
'label' => trans('admin::app.datagrid.id'),
@ -129,14 +131,14 @@ class ProductDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Product',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.catalog.products.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Product',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.catalog.products.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),

View File

@ -26,6 +26,8 @@ class RolesDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -57,14 +59,14 @@ class RolesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.roles.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.roles.delete',
'icon' => 'icon trash-icon'

View File

@ -30,6 +30,8 @@ class SliderDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'slider_id',
'label' => trans('admin::app.datagrid.id'),
@ -60,14 +62,14 @@ class SliderDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Slider',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sliders.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Slider',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.sliders.delete',
'icon' => 'icon trash-icon'

View File

@ -26,6 +26,8 @@ class TaxCategoryDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -56,14 +58,14 @@ class TaxCategoryDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Tax Category',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.tax-categories.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Tax Category',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.tax-categories.delete',
'icon' => 'icon trash-icon'

View File

@ -26,6 +26,8 @@ class TaxRateDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'id',
'label' => trans('admin::app.datagrid.id'),
@ -101,14 +103,14 @@ class TaxRateDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit Tax Rate',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.tax-rates.store',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete Tax Rate',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.tax-rates.delete',
'icon' => 'icon trash-icon'

View File

@ -30,6 +30,8 @@ class UserDataGrid extends DataGrid
public function addColumns()
{
$this->setInvoker($this);
$this->addColumn([
'index' => 'user_id',
'label' => trans('admin::app.datagrid.id'),
@ -85,14 +87,14 @@ class UserDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'title' => 'Edit User',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.users.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'title' => 'Delete User',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.users.delete',
'icon' => 'icon trash-icon'

View File

@ -11,6 +11,9 @@ return [
'no result' => 'No result',
'product' => 'Product',
'attribute' => 'Attribute',
'actions' => 'Actions',
'id' => 'ID',
'action' => 'action',
'yes' => 'Yes',
'no' => 'No',
'true' => 'True',
@ -18,6 +21,15 @@ return [
'apply' => 'Apply',
'action' => 'Action',
'label' => 'Label',
'name' => 'Name',
'title' => 'Title',
'code' => 'Code',
'type' => 'Type',
'required' => 'Required',
'unique' => 'Unique',
'locale-based' => 'Locale based',
'channel-based' => 'Channel based',
'status' => 'Status',
'common' => [
'no-result-found' => 'We could not find any records.',

View File

@ -1,28 +0,0 @@
<?php
namespace Webkul\Product\Commands;
use Webkul\Product\Repositories\ProductRepository as Product;
class DemoProducts
{
/**
* Holds ProductRepository instance
*/
protected $product;
public function __construct(Product $product)
{
$this->product = $product;
}
/**
* To call the seeder and provide the demo data generators parameters
*/
public function callGenerator()
{
$result = $this->productSeeder();
}
}

View File

@ -9,5 +9,6 @@ class ProductTableSeeder extends Seeder
{
public function run()
{
dd('running');
}
}

View File

@ -170,13 +170,13 @@ abstract class DataGrid
public function addColumn($column)
{
$this->fireEvent('before.add.column.'.$column['index']);
// $this->fireEvent('before.add.column.'.$column['index']);
array_push($this->columns, $column);
$this->setCompleteColumnDetails($column);
$this->fireEvent('after.add.column.'.$column['index']);
// $this->fireEvent('after.add.column.'.$column['index']);
}
public function setCompleteColumnDetails($column)
@ -191,16 +191,40 @@ abstract class DataGrid
public function addAction($action)
{
if (isset($action['title'])) {
$eventName = strtolower($action['title']);
$eventName = explode(' ', $eventName);
$eventName = implode('.', $eventName);
} else {
$eventName = null;
}
// $this->fireEvent('action.before.'.$eventName);
array_push($this->actions, $action);
$this->enableAction = true;
$this->fireEvent('action.after.' . $eventName);
}
public function addMassAction($massAction)
{
if (isset($massAction['label'])) {
$eventName = strtolower($massAction['label']);
$eventName = explode(' ', $eventName);
$eventName = implode('.', $eventName);
} else {
$eventName = null;
}
$this->fireEvent('mass.action.before.' . $eventName);
array_push($this->massActions, $massAction);
$this->enableMassAction = true;
$this->fireEvent('mass.action.after.' . $eventName);
}
public function getCollection()
@ -377,6 +401,7 @@ abstract class DataGrid
protected function fireEvent($name)
{
if (isset($name)) {
$className = get_class($this->invoker);
$className = last(explode("\\", $className));
@ -387,6 +412,7 @@ abstract class DataGrid
Event::fire($eventName, $this->invoker);
}
}
public function prepareMassActions() {
}
@ -394,13 +420,9 @@ abstract class DataGrid
public function prepareActions() {
}
public function setInvoker($class)
public function setInvoker($object)
{
$this->invoker = $class;
// $this->invoker = last(explode("\\", $class));
// $this->invoker = strtolower($this->invoker);
$this->invoker = $object;
}
public function render()