Convert recent pilots/pireps to widgets #127

This commit is contained in:
Nabeel Shahzad 2018-01-08 19:53:55 -06:00
parent 1fc4bcba25
commit bb59dc1ef9
8 changed files with 139 additions and 49 deletions

View File

@ -26,9 +26,6 @@ class DashboardController extends AppBaseController
*/
public function index()
{
$users = $this->userRepo->recent();
$pireps = $this->pirepRepo->recent();
$last_pirep = null;
$user = Auth::user();
@ -38,8 +35,6 @@ class DashboardController extends AppBaseController
return $this->view('dashboard.index', [
'user' => $user,
'pireps' => $pireps,
'users' => $users,
'last_pirep' => $last_pirep,
]);
}

View File

@ -0,0 +1,20 @@
<?php
/**
* Created by IntelliJ IDEA.
* User: nshahzad
* Date: 1/8/18
* Time: 7:46 PM
*/
namespace App\Widgets;
use Arrilot\Widgets\AbstractWidget;
class BaseWidget extends AbstractWidget
{
public function view(string $template, array $vars = [])
{
$tpl = 'layouts/' . config('phpvms.skin') . '/' . $template;
return view($tpl, $vars);
}
}

View File

@ -0,0 +1,25 @@
<?php
namespace App\Widgets;
use App\Repositories\UserRepository;
class RecentPilots extends BaseWidget
{
protected $config = [
'count' => 5,
];
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function run()
{
$userRepo = app(UserRepository::class);
return $this->view('widgets.recent_pilots', [
'config' => $this->config,
'users' => $userRepo->recent($this->config['count']),
]);
}
}

View File

@ -0,0 +1,25 @@
<?php
namespace App\Widgets;
use App\Repositories\PirepRepository;
class RecentPireps extends BaseWidget
{
protected $config = [
'count' => 5,
];
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function run()
{
$pirepRepo = app(PirepRepository::class);
return $this->view('widgets.recent_pireps', [
'config' => $this->config,
'pireps' => $pirepRepo->recent($this->config['count']),
]);
}
}

View File

@ -0,0 +1,22 @@
<?php
return [
//'default_namespace' => 'App\Widgets',
'use_jquery_for_ajax_calls' => false,
/*
* Set Ajax widget middleware
*/
'route_middleware' => [],
/*
* Relative path from the base directory to a regular widget stub.
*/
'widget_stub' => 'vendor/arrilot/laravel-widgets/src/Console/stubs/widget.stub',
/*
* Relative path from the base directory to a plain widget stub.
*/
'widget_plain_stub' => 'vendor/arrilot/laravel-widgets/src/Console/stubs/widget_plain.stub',
];

View File

@ -72,51 +72,10 @@
</div>
<div class="col-sm-4">
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
Recent Reports
</div>
<div class="card-block">
<!-- Tab panes -->
<div class="tab-content">
<table>
@foreach($pireps as $p)
<tr>
<td style="padding-right: 10px;">
<span class="title">{!! $p->airline->code !!}</span>
</td>
<td>
{!! $p->dpt_airport_id !!}-
{!! $p->arr_airport_id !!}&nbsp;
{!! $p->aircraft->name !!}
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
{{ Widget::recentPireps() }}
{{ Widget::recentPilots() }}
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
Newest Pilots
</div>
<div class="card-block">
<!-- Tab panes -->
<div class="tab-content">
<table>
@foreach($users as $u)
<tr>
<td style="padding-right: 10px;">
<span class="title">{!! $u->pilot_id !!}</span>
</td>
<td>{!! $u->name !!}</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,20 @@
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
Newest Pilots
</div>
<div class="card-block">
<!-- Tab panes -->
<div class="tab-content">
<table>
@foreach($users as $u)
<tr>
<td style="padding-right: 10px;">
<span class="title">{!! $u->pilot_id !!}</span>
</td>
<td>{!! $u->name !!}</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>

View File

@ -0,0 +1,24 @@
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
Recent Reports
</div>
<div class="card-block">
<!-- Tab panes -->
<div class="tab-content">
<table>
@foreach($pireps as $p)
<tr>
<td style="padding-right: 10px;">
<span class="title">{!! $p->airline->code !!}</span>
</td>
<td>
{!! $p->dpt_airport_id !!}-
{!! $p->arr_airport_id !!}&nbsp;
{!! $p->aircraft->name !!}
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>