diff --git a/composer.json b/composer.json index 79eefdf65..7d8d5294b 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,8 @@ "webkul/laravel-category": "self.version", "webkul/laravel-channel": "self.version", "webkul/laravel-product": "self.version", - "webkul/laravel-shop": "self.version" + "webkul/laravel-shop": "self.version", + "webkul/laravel-theme": "self.version" }, "autoload": { "classmap": [ @@ -55,7 +56,8 @@ "Webkul\\Customer\\": "packages/Webkul/Customer/src", "Webkul\\Channel\\": "packages/Webkul/Channel/src", "Webkul\\Inventory\\": "packages/Webkul/Inventory/src", - "Webkul\\Product\\": "packages/Webkul/Product/src" + "Webkul\\Product\\": "packages/Webkul/Product/src", + "Webkul\\Theme\\": "packages/Webkul/Theme/src" } }, "autoload-dev": { diff --git a/config/app.php b/config/app.php index c0c8e6ef1..ac0cb2b2b 100644 --- a/config/app.php +++ b/config/app.php @@ -186,7 +186,8 @@ return [ Webkul\Inventory\Providers\InventoryServiceProvider::class, Webkul\Product\Providers\ProductServiceProvider::class, Webkul\Shop\Providers\ShopServiceProvider::class, - Webkul\Customer\Providers\CustomerServiceProvider::class + Webkul\Customer\Providers\CustomerServiceProvider::class, + Webkul\Theme\Providers\ThemeServiceProvider::class ], /* diff --git a/config/themes.php b/config/themes.php new file mode 100644 index 000000000..7f01c7085 --- /dev/null +++ b/config/themes.php @@ -0,0 +1,20 @@ + 'bliss', + + 'themes' => [ + 'default' => [ + 'views_path' => 'resources/themes/default/views', + 'assets_path' => 'public/themes/default/assets', + 'name' => 'Dafault' + ], + + 'bliss' => [ + 'views_path' => 'resources/themes/bliss/views', + 'assets_path' => 'public/themes/bliss/assets', + 'name' => 'Bliss', + 'parent' => 'default' + ] + ] +]; \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Datagrids/User.php b/packages/Webkul/Admin/src/Datagrids/User.php new file mode 100644 index 000000000..dcc975ea8 --- /dev/null +++ b/packages/Webkul/Admin/src/Datagrids/User.php @@ -0,0 +1,151 @@ + 'Admins', + 'table' => 'admins as u', + 'select' => 'u.id', + 'perpage' => 5, + 'aliased' => true, //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 want to do this?', + 'icon' => 'icon pencil-lg-icon', + ], [ + 'type' => 'Delete', + 'route' => route('admin.datagrid.delete'), + 'confirm_text' => 'Do you really want to do this?', + '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' => 'u.id', + 'alias' => 'ID', + 'type' => 'string', + 'label' => 'Admin ID', + 'sortable' => true, + 'wrapper' => function ($value, $object) { + return '' . $object->ID . ''; + }, + ], [ + 'name' => 'u.name', + 'alias' => 'Name', + 'type' => 'string', + 'label' => 'Name', + 'sortable' => true, + 'wrapper' => function ($value, $object) { + return '' . $object->Name . ''; + }, + ], [ + 'name' => 'u.email', + 'alias' => 'Email', + 'type' => 'string', + 'label' => 'E-Mail', + 'sortable' => true, + ], [ + 'name' => 'r.name', + 'alias' => 'xa', + 'type' => 'string', + 'label' => 'Role Name', + 'sortable' => true, + ], [ + 'name' => 'r.id', + 'alias' => 'xc', + 'type' => 'string', + 'label' => 'Role ID', + 'sortable' => true, + ] + ], + //don't use aliasing in case of filters + 'filterable' => [ + [ + 'column' => 'u.name', + 'alias' => 'Name', + 'type' => 'string', + 'label' => 'Name' + ], [ + 'column' => 'u.email', + 'alias' => 'Email', + 'type' => 'string', + 'label' => 'Email' + ], [ + 'column' => 'u.id', + 'alias' => 'ID', + 'type' => 'number', + 'label' => 'Admin ID' + ], [ + 'column' => 'r.id', + 'alias' => 'Role_ID', + 'type' => 'number', + 'label' => 'Role ID' + ] + ], + //don't use aliasing in case of searchables + 'searchable' => [ + [ + 'column' => 'u.email', + 'type' => 'string', + 'label' => 'E-Mail' + ], [ + 'column' => 'u.name', + 'type' => 'string', + 'label' => 'Name' + ] + ], + 'operators' => [ + 'eq' => "=", + 'lt' => "<", + 'gt' => ">", + 'lte' => "<=", + 'gte' => ">=", + 'neqs' => "<>", + 'neqn' => "!=", + 'like' => "like", + 'nlike' => "not like", + ], + ]); + } + + public function render() + { + return $this->createDatagrid()->render(); + } +} \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Providers/EventServiceProvider.php b/packages/Webkul/Admin/src/Providers/EventServiceProvider.php index 4446d60cf..e7a138bf5 100644 --- a/packages/Webkul/Admin/src/Providers/EventServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/EventServiceProvider.php @@ -123,6 +123,12 @@ class EventServiceProvider extends ServiceProvider */ public function createProductFormAccordian() { + Event::listen('admin.catalog.products.accordian.create', function() { + return ProductFormAccordian::create(function($accordian) { + Event::fire('admin.catalog.products.accordian.build', $accordian); + }); + }); + Event::listen('admin.catalog.products.accordian.build', function($accordian) { $accordian->add('inventories', 'Inventories', 'admin::catalog.products.accordians.inventories', 1); diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php index 0c721c891..35112e645 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php @@ -164,7 +164,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php index 5775d0848..1eb333a36 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php @@ -220,7 +220,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php index e17a616f2..223923435 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php @@ -111,8 +111,4 @@ -@stop - -@section('javascript') - @stop \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/families/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/families/create.blade.php index 7877c5c1c..c361bc8b0 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/families/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/families/create.blade.php @@ -68,7 +68,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php index 3d8f75588..3b744ecce 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php @@ -69,7 +69,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php index 7a337d438..4f2054f55 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php @@ -37,7 +37,7 @@ -@section('javascript') +@push('scripts') @parent -@stop +@endpush @endif \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/create.blade.php index e99d54663..4881672cc 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/products/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/create.blade.php @@ -131,7 +131,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/edit.blade.php index c7353c7f1..1325ae9f7 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/products/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/edit.blade.php @@ -53,7 +53,7 @@ - @foreach($product->attribute_family->attribute_groups as $attributeGroup) + @foreach ($product->attribute_family->attribute_groups as $attributeGroup) @if(count($attributeGroup->custom_attributes))
@@ -119,11 +119,15 @@ @endif @endforeach - @foreach($form_accordians->items as $accordian) - - @include ($accordian['view']) + @if ($form_accordians) - @endforeach + @foreach ($form_accordians->items as $accordian) + + @include ($accordian['view']) + + @endforeach + + @endif
@@ -131,7 +135,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php index 07f81e85b..e7a25358c 100644 --- a/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php @@ -52,7 +52,7 @@ - @yield('javascript') + @stack('scripts') diff --git a/packages/Webkul/Admin/src/Resources/views/users/roles/create.blade.php b/packages/Webkul/Admin/src/Resources/views/users/roles/create.blade.php index b13b67d16..5c5ea2334 100644 --- a/packages/Webkul/Admin/src/Resources/views/users/roles/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/users/roles/create.blade.php @@ -60,7 +60,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/users/roles/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/users/roles/edit.blade.php index 4cba98c94..9c2d7200d 100644 --- a/packages/Webkul/Admin/src/Resources/views/users/roles/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/users/roles/edit.blade.php @@ -62,7 +62,7 @@ @stop -@section('javascript') +@push('scripts') -@stop \ No newline at end of file +@endpush \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php b/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php index 122c72bf1..fba9faede 100644 --- a/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php @@ -6,6 +6,8 @@ @section('content') + @inject ('datagrid', 'Webkul\Admin\Datagrids\User') +