updated widgets
This commit is contained in:
parent
546cff476d
commit
0430dc5f36
@ -2,7 +2,6 @@
|
||||
|
||||
namespace App\Abstracts;
|
||||
|
||||
use App\Models\Sale\Invoice;
|
||||
use App\Traits\Charts;
|
||||
use Date;
|
||||
|
||||
@ -12,21 +11,39 @@ abstract class Widget
|
||||
|
||||
public $model;
|
||||
|
||||
public $default_name = '';
|
||||
|
||||
public $default_settings = [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
|
||||
public $views = [
|
||||
'header' => 'partials.widgets.standard_header',
|
||||
];
|
||||
|
||||
public function __construct($model = null)
|
||||
{
|
||||
$this->model = $model;
|
||||
}
|
||||
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans($this->default_name);
|
||||
}
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
return $this->default_settings;
|
||||
}
|
||||
|
||||
public function getViews()
|
||||
{
|
||||
return $this->views;
|
||||
}
|
||||
|
||||
public function view($name, $data = [])
|
||||
{
|
||||
return view($name, array_merge(['model' => $this->model], (array) $data));
|
||||
return view($name, array_merge(['class' => $this], (array) $data));
|
||||
}
|
||||
|
||||
public function applyFilters($model, $args = ['date_field' => 'paid_at'])
|
||||
|
@ -7,17 +7,7 @@ use App\Models\Banking\Account;
|
||||
|
||||
class AccountBalance extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.account_balance');
|
||||
}
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
}
|
||||
public $default_name = 'widgets.account_balance';
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -13,17 +13,11 @@ class CashFlow extends Widget
|
||||
{
|
||||
use Currencies, DateTime;
|
||||
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.cash_flow');
|
||||
}
|
||||
public $default_name = 'widgets.cash_flow';
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-12',
|
||||
];
|
||||
}
|
||||
public $default_settings = [
|
||||
'width' => 'col-md-12',
|
||||
];
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -7,17 +7,11 @@ use App\Models\Setting\Category;
|
||||
|
||||
class ExpensesByCategory extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.expenses_by_category');
|
||||
}
|
||||
public $default_name = 'widgets.expenses_by_category';
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-6',
|
||||
];
|
||||
}
|
||||
public $default_settings = [
|
||||
'width' => 'col-md-6',
|
||||
];
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -7,17 +7,11 @@ use App\Models\Setting\Category;
|
||||
|
||||
class IncomeByCategory extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.income_by_category');
|
||||
}
|
||||
public $default_name = 'widgets.income_by_category';
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-6',
|
||||
];
|
||||
}
|
||||
public $default_settings = [
|
||||
'width' => 'col-md-6',
|
||||
];
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -7,17 +7,7 @@ use App\Models\Banking\Transaction;
|
||||
|
||||
class LatestExpenses extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.latest_expenses');
|
||||
}
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
}
|
||||
public $default_name = 'widgets.latest_expenses';
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -7,17 +7,7 @@ use App\Models\Banking\Transaction;
|
||||
|
||||
class LatestIncome extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.latest_income');
|
||||
}
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
}
|
||||
public $default_name = 'widgets.latest_income';
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -8,17 +8,11 @@ use App\Models\Purchase\Bill;
|
||||
|
||||
class TotalExpenses extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.total_expenses');
|
||||
}
|
||||
public $default_name = 'widgets.total_expenses';
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
}
|
||||
public $views = [
|
||||
'header' => 'partials.widgets.stats_header',
|
||||
];
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -8,17 +8,11 @@ use App\Models\Sale\Invoice;
|
||||
|
||||
class TotalIncome extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.total_income');
|
||||
}
|
||||
public $default_name = 'widgets.total_income';
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
}
|
||||
public $views = [
|
||||
'header' => 'partials.widgets.stats_header',
|
||||
];
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -9,17 +9,11 @@ use App\Models\Sale\Invoice;
|
||||
|
||||
class TotalProfit extends Widget
|
||||
{
|
||||
public function getDefaultName()
|
||||
{
|
||||
return trans('widgets.total_profit');
|
||||
}
|
||||
public $default_name = 'widgets.total_profit';
|
||||
|
||||
public function getDefaultSettings()
|
||||
{
|
||||
return [
|
||||
'width' => 'col-md-4',
|
||||
];
|
||||
}
|
||||
public $views = [
|
||||
'header' => 'partials.widgets.stats_header',
|
||||
];
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="row align-items-center">
|
||||
|
||||
<div class="col-6 text-nowrap">
|
||||
<h4 class="mb-0">{{ $model->name }}</h4>
|
||||
<h4 class="mb-0">{{ $class->model->name }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="col-6 hidden-sm">
|
||||
@ -19,12 +19,12 @@
|
||||
'type' => 'button',
|
||||
'class' => 'dropdown-item',
|
||||
'title' => trans('general.edit'),
|
||||
'@click' => 'onEditWidget(' . $model->id . ')'
|
||||
'@click' => 'onEditWidget(' . $class->model->id . ')'
|
||||
]) !!}
|
||||
@endpermission
|
||||
@permission('delete-common-widgets')
|
||||
<div class="dropdown-divider"></div>
|
||||
{!! Form::deleteLink($model, 'common/widgets') !!}
|
||||
{!! Form::deleteLink($class->model, 'common/widgets') !!}
|
||||
@endpermission
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,12 +11,12 @@
|
||||
'type' => 'button',
|
||||
'class' => 'dropdown-item',
|
||||
'title' => trans('general.edit'),
|
||||
'@click' => 'onEditWidget(' . $model->id . ')'
|
||||
'@click' => 'onEditWidget(' . $class->model->id . ')'
|
||||
]) !!}
|
||||
@endpermission
|
||||
@permission('delete-common-widgets')
|
||||
<div class="dropdown-divider"></div>
|
||||
{!! Form::deleteLink($model, 'common/widgets') !!}
|
||||
{!! Form::deleteLink($class->model, 'common/widgets') !!}
|
||||
@endpermission
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card">
|
||||
@include('partials.widgets.standard_header', ['header_class' => 'border-bottom-0'])
|
||||
@include($class->views['header'], ['header_class' => 'border-bottom-0'])
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table align-items-center table-flush">
|
||||
|
@ -1,8 +1,8 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card">
|
||||
@include('partials.widgets.standard_header')
|
||||
@include($class->views['header'])
|
||||
|
||||
<div class="card-body" id="widget-donut-{{ $model->id }}">
|
||||
<div class="card-body" id="widget-donut-{{ $class->model->id }}">
|
||||
<div class="chart-donut">
|
||||
{!! $chart->container() !!}
|
||||
</div>
|
||||
@ -12,8 +12,8 @@
|
||||
|
||||
@push('charts')
|
||||
<script>
|
||||
var widget_donut_{{ $model->id }} = new Vue({
|
||||
el: '#widget-donut-{{ $model->id }}',
|
||||
var widget_donut_{{ $class->model->id }} = new Vue({
|
||||
el: '#widget-donut-{{ $class->model->id }}',
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card">
|
||||
@include('partials.widgets.standard_header', ['header_class' => 'border-bottom-0'])
|
||||
@include($class->views['header'], ['header_class' => 'border-bottom-0'])
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table align-items-center table-flush">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card">
|
||||
@include('partials.widgets.standard_header', ['header_class' => 'border-bottom-0'])
|
||||
@include($class->views['header'], ['header_class' => 'border-bottom-0'])
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table align-items-center table-flush">
|
||||
|
@ -1,8 +1,8 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card">
|
||||
@include('partials.widgets.standard_header')
|
||||
@include($class->views['header'])
|
||||
|
||||
<div class="card-body" id="widget-line-{{ $model->id }}">
|
||||
<div class="card-body" id="widget-line-{{ $class->model->id }}">
|
||||
<div class="chart">
|
||||
{!! $chart->container() !!}
|
||||
</div>
|
||||
@ -12,8 +12,8 @@
|
||||
|
||||
@push('charts')
|
||||
<script>
|
||||
var widget_line_{{ $model->id }} = new Vue({
|
||||
el: '#widget-line-{{ $model->id }}',
|
||||
var widget_line_{{ $class->model->id }} = new Vue({
|
||||
el: '#widget-line-{{ $class->model->id }}',
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
@ -1,11 +1,11 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card bg-gradient-danger card-stats">
|
||||
@include('partials.widgets.stats_header', ['header_class' => 'border-bottom-0'])
|
||||
@include($class->views['header'], ['header_class' => 'border-bottom-0'])
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h5 class="text-uppercase text-white mb-0">{{ $model->name }}</h5>
|
||||
<h5 class="text-uppercase text-white mb-0">{{ $class->model->name }}</h5>
|
||||
<span class="font-weight-bold text-white mb-0">@money($totals['current'], setting('default.currency'), true)</span>
|
||||
</div>
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card bg-gradient-info card-stats">
|
||||
@include('partials.widgets.stats_header', ['header_class' => 'border-bottom-0'])
|
||||
@include($class->views['header'], ['header_class' => 'border-bottom-0'])
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h5 class="text-uppercase text-white mb-0">{{ $model->name }}</h5>
|
||||
<h5 class="text-uppercase text-white mb-0">{{ $class->model->name }}</h5>
|
||||
<span class="font-weight-bold text-white mb-0">@money($totals['current'], setting('default.currency'), true)</span>
|
||||
</div>
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
<div id="widget-{{ $model->id }}" class="{{ $model->settings->width }}">
|
||||
<div id="widget-{{ $class->model->id }}" class="{{ $class->model->settings->width }}">
|
||||
<div class="card bg-gradient-success card-stats">
|
||||
@include('partials.widgets.stats_header', ['header_class' => 'border-bottom-0'])
|
||||
@include($class->views['header'], ['header_class' => 'border-bottom-0'])
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h5 class="text-uppercase text-white mb-0">{{ $model->name }}</h5>
|
||||
<h5 class="text-uppercase text-white mb-0">{{ $class->model->name }}</h5>
|
||||
<span class="font-weight-bold text-white mb-0">@money($totals['current'], setting('default.currency'), true)</span>
|
||||
</div>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user