first upload all files
This commit is contained in:
22
Modules/Option/Admin/OptionTable.php
Normal file
22
Modules/Option/Admin/OptionTable.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Option\Admin;
|
||||
|
||||
use Modules\Admin\Ui\AdminTable;
|
||||
|
||||
class OptionTable extends AdminTable
|
||||
{
|
||||
/**
|
||||
* Make table response for the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function make()
|
||||
{
|
||||
return $this->newTable()
|
||||
->editColumn('type', function ($option) {
|
||||
return trans("option::options.form.option_types.{$option->type}");
|
||||
})
|
||||
->removeColumn('values');
|
||||
}
|
||||
}
|
||||
36
Modules/Option/Admin/OptionTabs.php
Normal file
36
Modules/Option/Admin/OptionTabs.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Option\Admin;
|
||||
|
||||
use Modules\Admin\Ui\Tab;
|
||||
use Modules\Admin\Ui\Tabs;
|
||||
|
||||
class OptionTabs extends Tabs
|
||||
{
|
||||
public function make()
|
||||
{
|
||||
$this->group('option_information', trans('option::options.tabs.group.option_information'))
|
||||
->active()
|
||||
->add($this->general())
|
||||
->add($this->values());
|
||||
}
|
||||
|
||||
private function general()
|
||||
{
|
||||
return tap(new Tab('general', trans('option::options.tabs.general')), function (Tab $tab) {
|
||||
$tab->active();
|
||||
$tab->weight(10);
|
||||
$tab->fields(['name', 'type', 'is_required']);
|
||||
$tab->view('option::admin.options.tabs.general');
|
||||
});
|
||||
}
|
||||
|
||||
private function values()
|
||||
{
|
||||
return tap(new Tab('values', trans('option::options.tabs.values')), function (Tab $tab) {
|
||||
$tab->weight(20);
|
||||
$tab->fields(['values.*.label', 'values.*.price', 'values.*.price_type']);
|
||||
$tab->view('option::admin.options.tabs.values');
|
||||
});
|
||||
}
|
||||
}
|
||||
39
Modules/Option/Admin/ProductTabsExtender.php
Normal file
39
Modules/Option/Admin/ProductTabsExtender.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Option\Admin;
|
||||
|
||||
use Modules\Admin\Ui\Tab;
|
||||
use Modules\Admin\Ui\Tabs;
|
||||
use Modules\Option\Entities\Option;
|
||||
|
||||
class ProductTabsExtender
|
||||
{
|
||||
public function extend(Tabs $tabs)
|
||||
{
|
||||
$tabs->group('advanced_information')
|
||||
->add($this->options());
|
||||
}
|
||||
|
||||
private function options()
|
||||
{
|
||||
if (! auth()->user()->hasAccess(['admin.options.create', 'admin.options.edit'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
return tap(new Tab('options', trans('option::options.tabs.product.options')), function (Tab $tab) {
|
||||
$tab->weight(35);
|
||||
|
||||
$tab->fields([
|
||||
'options.*.name',
|
||||
'options.*.type',
|
||||
'options.*.values.*.label',
|
||||
'options.*.values.*.price',
|
||||
'options.*.values.*.price_type',
|
||||
]);
|
||||
|
||||
$tab->view('option::admin.products.tabs.options', [
|
||||
'globalOptions' => Option::globals()->get(),
|
||||
]);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user