PIREP form styling and improvments
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
export let
|
||||
PLAN_ROUTE_COLOR = '#36b123',
|
||||
ACTUAL_ROUTE_COLOR = '#172aea'
|
||||
PLAN_ROUTE_COLOR = '#043758',
|
||||
ACTUAL_ROUTE_COLOR = '#067ec1',
|
||||
CIRCLE_COLOR = '#056093';
|
||||
|
||||
@@ -2,8 +2,13 @@
|
||||
const leaflet = require('leaflet');
|
||||
|
||||
import draw_base_map from './base_map'
|
||||
import { ACTUAL_ROUTE_COLOR, PLAN_ROUTE_COLOR } from './config'
|
||||
import {addWMSLayer} from './helpers';
|
||||
import { addWMSLayer } from './helpers';
|
||||
|
||||
import {
|
||||
ACTUAL_ROUTE_COLOR,
|
||||
PLAN_ROUTE_COLOR,
|
||||
CIRCLE_COLOR
|
||||
} from './config'
|
||||
|
||||
/**
|
||||
* Show some popup text when a feature is clicked on
|
||||
@@ -27,8 +32,8 @@ export const onFeaturePointClick = (feature, layer) => {
|
||||
*/
|
||||
export const pointToLayer = (feature, latlng) => {
|
||||
return leaflet.circleMarker(latlng, {
|
||||
radius: 12,
|
||||
fillColor: '#ff7800',
|
||||
radius: 5,
|
||||
fillColor: CIRCLE_COLOR,
|
||||
color: '#000',
|
||||
weight: 1,
|
||||
opacity: 1,
|
||||
@@ -64,14 +69,14 @@ export default (opts) => {
|
||||
}
|
||||
|
||||
let geodesicLayer = leaflet.geodesic([], {
|
||||
weight: 7,
|
||||
weight: 4,
|
||||
opacity: 0.9,
|
||||
color: PLAN_ROUTE_COLOR,
|
||||
steps: 50,
|
||||
wrap: false,
|
||||
}).addTo(map)
|
||||
}).addTo(map);
|
||||
|
||||
geodesicLayer.geoJson(opts.planned_route_line)
|
||||
geodesicLayer.geoJson(opts.planned_route_line);
|
||||
|
||||
try {
|
||||
map.fitBounds(geodesicLayer.getBounds())
|
||||
@@ -86,12 +91,12 @@ export default (opts) => {
|
||||
pointToLayer: pointToLayer,
|
||||
style: {
|
||||
'color': PLAN_ROUTE_COLOR,
|
||||
'weight': 5,
|
||||
'weight': 3,
|
||||
'opacity': 0.65,
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
route_points.addTo(map)
|
||||
route_points.addTo(map);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -100,14 +105,14 @@ export default (opts) => {
|
||||
|
||||
if (opts.actual_route_line !== null && opts.actual_route_line.features.length > 0) {
|
||||
let geodesicLayer = leaflet.geodesic([], {
|
||||
weight: 7,
|
||||
weight: 3,
|
||||
opacity: 0.9,
|
||||
color: ACTUAL_ROUTE_COLOR,
|
||||
steps: 50,
|
||||
wrap: false,
|
||||
}).addTo(map)
|
||||
}).addTo(map);
|
||||
|
||||
geodesicLayer.geoJson(opts.actual_route_line)
|
||||
geodesicLayer.geoJson(opts.actual_route_line);
|
||||
|
||||
try {
|
||||
map.fitBounds(geodesicLayer.getBounds())
|
||||
@@ -122,10 +127,10 @@ export default (opts) => {
|
||||
pointToLayer: pointToLayer,
|
||||
style: {
|
||||
'color': ACTUAL_ROUTE_COLOR,
|
||||
'weight': 5,
|
||||
'weight': 3,
|
||||
'opacity': 0.65,
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
route_points.addTo(map)
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
@import "now-ui-kit/carousel";
|
||||
@import "now-ui-kit/cards";
|
||||
@import "now-ui-kit/footers";
|
||||
@import "now-ui-kit/form-container";
|
||||
|
||||
// example pages and sections
|
||||
@import "now-ui-kit/example-pages";
|
||||
|
||||
19
resources/sass/now-ui/now-ui-kit/_form-container.scss
Executable file
19
resources/sass/now-ui/now-ui-kit/_form-container.scss
Executable file
@@ -0,0 +1,19 @@
|
||||
.form-container {
|
||||
border: 0;
|
||||
border-radius: $border-radius-small;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
//box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2);
|
||||
|
||||
h6 {
|
||||
padding: 7px;
|
||||
background-color: rgba(222, 222, 222, 0.3);
|
||||
}
|
||||
|
||||
.form-container-body {
|
||||
padding: 8px;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
@include form-control-placeholder($medium-gray, 1);
|
||||
|
||||
.form-control {
|
||||
//border-radius: $btn-round-radius;
|
||||
background-color: $transparent-bg;
|
||||
border: 1px solid $light-gray;
|
||||
border-radius: $btn-round-radius;
|
||||
color: $black-color;
|
||||
line-height: 1em;
|
||||
font-size: $font-size-small;
|
||||
@@ -15,15 +15,14 @@
|
||||
}
|
||||
|
||||
&:focus{
|
||||
border: 1px solid $primary-color;
|
||||
border: 1px solid $brand-primary;
|
||||
@include box-shadow(none);
|
||||
outline: 0 !important;
|
||||
color: $black-color;
|
||||
|
||||
& + .input-group-addon,
|
||||
& ~ .input-group-addon{
|
||||
border: 1px solid $primary-color;
|
||||
border-left: none;
|
||||
border: 1px solid $brand-primary;
|
||||
background-color: $transparent-bg;
|
||||
}
|
||||
}
|
||||
@@ -101,8 +100,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
@include input-sm-padding($padding-small-vertical, $padding-small-horizontal);
|
||||
@include input-lg-padding($padding-large-vertical, $padding-input-horizontal);
|
||||
@include input-base-padding($padding-input-vertical, $padding-input-horizontal);
|
||||
@include input-base-padding($padding-small-vertical, $padding-small-horizontal);
|
||||
|
||||
.form-group.form-group-no-border,
|
||||
.input-group.form-group-no-border{
|
||||
@@ -192,7 +192,7 @@
|
||||
background-color: $light-gray;
|
||||
}
|
||||
}
|
||||
.input-group .form-control:first-child,
|
||||
/*.input-group .form-control:first-child,
|
||||
.input-group-addon:first-child,
|
||||
.input-group-btn:first-child > .dropdown-toggle,
|
||||
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
|
||||
@@ -203,7 +203,7 @@
|
||||
.input-group-btn:last-child > .dropdown-toggle,
|
||||
.input-group-btn:first-child > .btn:not(:first-child) {
|
||||
border-left: 0 none;
|
||||
}
|
||||
}*/
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: $light-gray;
|
||||
color: $default-color;
|
||||
@@ -225,16 +225,18 @@ textarea.form-control{
|
||||
max-width: 100%;
|
||||
padding: 10px 10px 0 0;
|
||||
resize: none;
|
||||
border: none;
|
||||
border-bottom: 1px solid $light-gray;
|
||||
background-color: $transparent-bg;
|
||||
border: 1px solid $light-gray;
|
||||
color: $black-color;
|
||||
line-height: 1em;
|
||||
font-size: $font-size-small;
|
||||
border-radius: 0;
|
||||
line-height: 2;
|
||||
|
||||
&:focus,
|
||||
&:active{
|
||||
border-left: none;
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
@include box-shadow(none);
|
||||
border: 1px solid $brand-primary;
|
||||
background-color: $transparent-bg;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,8 +53,8 @@ $success-states-color: darken($success-color, 5%) !default;
|
||||
$success-color-opacity: rgba(24, 206, 15, .3) !default;
|
||||
$success-color-alert: rgba(24, 206, 15, .8) !default;
|
||||
|
||||
$info-color: #2CA8FF !default;
|
||||
$info-states-color: #109CFF !default;
|
||||
$info-color: #067ec1 !default; //#2CA8FF !default;
|
||||
$info-states-color: #0688d0 !default; // #109CFF !default;
|
||||
$info-color-opacity: rgba(44, 168, 255, .3) !default;
|
||||
$info-color-alert: rgba(44, 168, 255, .8) !default;
|
||||
|
||||
|
||||
@@ -21,18 +21,52 @@
|
||||
}
|
||||
}
|
||||
|
||||
@mixin light-form(){
|
||||
@mixin light-form() {
|
||||
border-radius: 0;
|
||||
border:0;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
|
||||
}
|
||||
|
||||
@mixin input-sm-padding($padding-vertical, $padding-horizontal) {
|
||||
.form-group.form-group-no-border.input-sm,
|
||||
.input-group.form-group-no-border.input-sm {
|
||||
.input-group-addon {
|
||||
padding: $padding-vertical 0 $padding-vertical $padding-horizontal;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
padding: $padding-vertical $padding-horizontal;
|
||||
|
||||
& + .input-group-addon {
|
||||
padding: $padding-vertical $padding-horizontal $padding-vertical 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-group.input-sm,
|
||||
.input-group.input-sm {
|
||||
.form-control {
|
||||
padding: $padding-vertical - 1 $padding-horizontal - 1;
|
||||
|
||||
& + .input-group-addon {
|
||||
padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;
|
||||
}
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: $padding-vertical - 1 0 $padding-vertical $padding-horizontal - 1;
|
||||
|
||||
& + .form-control {
|
||||
padding: $padding-vertical $padding-horizontal - 1 $padding-vertical $padding-horizontal - 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin input-lg-padding($padding-vertical, $padding-horizontal) {
|
||||
.form-group.form-group-no-border.input-lg,
|
||||
.input-group.form-group-no-border.input-lg{
|
||||
.input-group.form-group-no-border.input-lg {
|
||||
.input-group-addon{
|
||||
padding: $padding-vertical 0 $padding-vertical $padding-horizontal;
|
||||
}
|
||||
@@ -72,6 +106,7 @@
|
||||
.form-group.form-group-no-border,
|
||||
.input-group.form-group-no-border{
|
||||
.form-control{
|
||||
/*margin-top: 2px;*/
|
||||
padding: $padding-vertical $padding-horizontal;
|
||||
|
||||
& + .input-group-addon{
|
||||
@@ -87,6 +122,7 @@
|
||||
.form-group,
|
||||
.input-group{
|
||||
.form-control{
|
||||
margin-top: 2px;
|
||||
padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 $padding-horizontal - 1;
|
||||
|
||||
& + .input-group-addon{
|
||||
|
||||
@@ -63,8 +63,8 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
$(document).on('pjax:complete', function () {
|
||||
$(".select2").select2();
|
||||
setEditable();
|
||||
initPlugins();
|
||||
setEditable();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -122,7 +122,7 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
$(document).on('pjax:complete', function () {
|
||||
$(".select2").select2();
|
||||
initPlugins();
|
||||
setEditable();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -136,14 +136,20 @@ const removeItem = function (obj, item) {
|
||||
return obj;
|
||||
};
|
||||
|
||||
/**
|
||||
* Initialize any plugins on the page
|
||||
*/
|
||||
const initPlugins = () => {
|
||||
$('.select2').select2({width: 'resolve'});
|
||||
$('input').iCheck({
|
||||
checkboxClass: 'icheckbox_square-blue',
|
||||
radioClass: 'icheckbox_square-blue'
|
||||
});
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$('.select2').select2();
|
||||
|
||||
$('input').iCheck({
|
||||
checkboxClass: 'icheckbox_square-blue',
|
||||
radioClass: 'icheckbox_square-blue'
|
||||
});
|
||||
initPlugins();
|
||||
|
||||
let storage = getStorage('phpvms.admin');
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ $(document).ready(function () {
|
||||
});
|
||||
|
||||
$(document).on('pjax:complete', function () {
|
||||
$(".select2").select2();
|
||||
initPlugins();
|
||||
setEditable();
|
||||
setFieldsEditable();
|
||||
});
|
||||
|
||||
@@ -56,7 +56,7 @@ $(document).ready(() => {
|
||||
});
|
||||
|
||||
$(document).on('pjax:complete', function () {
|
||||
$(".select2").select2();
|
||||
initPlugins();
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
@@ -31,7 +31,7 @@ $(document).ready(function () {
|
||||
});
|
||||
|
||||
$(document).on('pjax:complete', function () {
|
||||
$(".select2").select2();
|
||||
initPlugins();
|
||||
setEditable();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -23,7 +23,7 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
$(document).on('pjax:complete', function() {
|
||||
$(".select2").select2();
|
||||
initPlugins();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -121,7 +121,7 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
$(document).on('pjax:complete', function() {
|
||||
$(".select2").select2();
|
||||
initPlugins();
|
||||
setEditable();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -15,13 +15,14 @@
|
||||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet"/>
|
||||
<link href="{{ public_asset('/assets/frontend/css/bootstrap.min.css') }}" rel="stylesheet"/>
|
||||
<link href="{{ public_asset('/assets/frontend/css/now-ui-kit.css') }}" rel="stylesheet"/>
|
||||
<link href="{{ public_asset('/assets/frontend/css/styles.css') }}" rel="stylesheet"/>
|
||||
|
||||
{{-- Start of the required files in the head block --}}
|
||||
<link href="{{ public_asset('/assets/global/css/vendor.css') }}" rel="stylesheet"/>
|
||||
@yield('css')
|
||||
@yield('scripts_head')
|
||||
{{-- End of the required stuff in the head block --}}
|
||||
|
||||
<link href="{{ public_asset('/assets/frontend/css/styles.css') }}" rel="stylesheet"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Navbar -->
|
||||
@@ -83,7 +84,7 @@
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$(".select2").select2();
|
||||
$(".select2").select2({width: 'resolve'});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3 class="description">map</h3>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="box-body">
|
||||
<div id="map" style="width: 100%; height: 800px"></div>
|
||||
<div id="map" style="width: 100%; height: 600px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,63 +3,74 @@
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h2 class="description">{{ $flight->ident }}</h2>
|
||||
<div class="col-8">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2>{{ $flight->ident }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>Departure</td>
|
||||
<td>
|
||||
{{ $flight->dpt_airport->name }}
|
||||
(<a href="{{route('frontend.airports.show', [
|
||||
'id' => $flight->dpt_airport->icao
|
||||
])}}">{{$flight->dpt_airport->icao}}</a>)
|
||||
@ {{ $flight->dpt_time }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Arrival</td>
|
||||
<td>
|
||||
{{ $flight->arr_airport->name }}
|
||||
(<a href="{{route('frontend.airports.show', [
|
||||
'id' => $flight->arr_airport->icao
|
||||
])}}">{{$flight->arr_airport->icao}}</a>)
|
||||
@ {{ $flight->arr_time }}</td>
|
||||
</tr>
|
||||
@if($flight->alt_airport_id)
|
||||
<tr>
|
||||
<td>Alternate Airport</td>
|
||||
<td>
|
||||
{{ $flight->alt_airport->full_name }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
<tr>
|
||||
<td>Route</td>
|
||||
<td>{{ $flight->route }}</td>
|
||||
</tr>
|
||||
|
||||
@if(filled($flight->notes))
|
||||
<tr>
|
||||
<td>Notes</td>
|
||||
<td>{{ $flight->notes }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
@include('flights.map')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>Departure</td>
|
||||
<td>
|
||||
<a href="{{route('frontend.airports.show', ['id'=>$flight->dpt_airport_id])}}">
|
||||
{{ $flight->dpt_airport->full_name }}</a>
|
||||
@ {{ $flight->dpt_time }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Arrival</td>
|
||||
<td>
|
||||
<a href="{{route('frontend.airports.show', ['id'=>$flight->arr_airport_id])}}">
|
||||
{{ $flight->arr_airport->full_name }}</a> @ {{ $flight->arr_time }}</td>
|
||||
</tr>
|
||||
@if($flight->alt_airport_id)
|
||||
<tr>
|
||||
<td>Alternate Airport</td>
|
||||
<td>
|
||||
{{ $flight->alt_airport->full_name }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
<tr>
|
||||
<td>Route</td>
|
||||
<td>{{ $flight->route }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Notes</td>
|
||||
<td>{{ $flight->notes }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px;"></div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="col-4">
|
||||
<h5>{{$flight->dpt_airport_id}} METAR</h5>
|
||||
{{ Widget::Weather([
|
||||
'icao' => $flight->dpt_airport_id,
|
||||
]) }}
|
||||
</div>
|
||||
<div class="col-6">
|
||||
|
||||
<h5>{{$flight->arr_airport_id}} METAR</h5>
|
||||
{{ Widget::Weather([
|
||||
'icao' => $flight->arr_airport_id,
|
||||
]) }}
|
||||
</div>
|
||||
</div>
|
||||
@include('flights.map')
|
||||
@endsection
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h2 class="description">New Flight Report</h2>
|
||||
<h2>New Flight Report</h2>
|
||||
@include('flash::message')
|
||||
{{ Form::open(['route' => 'frontend.pireps.store']) }}
|
||||
|
||||
@include("pireps.fields")
|
||||
@include('pireps.fields')
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@include("pireps.scripts")
|
||||
@include('pireps.scripts')
|
||||
|
||||
@@ -5,9 +5,12 @@
|
||||
<div class="col-md-12">
|
||||
<h2 class="description">Edit Flight Report</h2>
|
||||
@include('flash::message')
|
||||
{{ Form::model($pirep, ['route' => ['frontend.pireps.update', $pirep->id], 'method' => 'patch']) }}
|
||||
{{ Form::model($pirep, [
|
||||
'route' => ['frontend.pireps.update', $pirep->id],
|
||||
'class' => 'form-group',
|
||||
'method' => 'patch']) }}
|
||||
|
||||
@include("pireps.fields")
|
||||
@include('pireps.fields')
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
|
||||
@@ -1,27 +1,24 @@
|
||||
@if($aircraft)
|
||||
<h3 class="description">Fares</h3>
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<th></th>
|
||||
<th>Count</th>
|
||||
</thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($aircraft->subfleet->fares as $fare)
|
||||
<tr>
|
||||
<td style="text-align: right;">{{ $fare->name }} ({{ $fare->code }})</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->{'fare_'.$fare->id} }}</p>
|
||||
{{ Form::hidden('fare_'.$fare->id) }}
|
||||
@else
|
||||
<div class="input-group form-group">
|
||||
{{ Form::number('fare_'.$fare->id, null, ['class' => 'form-control', 'min' => 0]) }}
|
||||
</div>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="form-container">
|
||||
<h6><i class="fas fa-ellipsis-h"></i>
|
||||
Fares
|
||||
</h6>
|
||||
<div class="form-container-body">
|
||||
@foreach($aircraft->subfleet->fares as $fare)
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{{Form::label('fare_'.$fare->id, $fare->name.' ('.$fare->code.')')}}
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->{'fare_'.$fare->id} }}</p>
|
||||
{{ Form::hidden('fare_'.$fare->id) }}
|
||||
@else
|
||||
<div class="input-group form-group">
|
||||
{{ Form::number('fare_'.$fare->id, null, ['class' => 'form-control', 'min' => 0]) }}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -11,227 +11,287 @@ flight reports that have been filed. You've been warned!
|
||||
@if($read_only)
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@component("components.info")
|
||||
@component('components.info')
|
||||
Once a PIREP has been accepted/rejected, certain fields go into read-only mode.
|
||||
@endcomponent
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<table class="table table-full-width">
|
||||
<thead>
|
||||
<div class="col-8">
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Airline</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->airline->name }}</p>
|
||||
{{ Form::hidden('airline_id') }}
|
||||
@else
|
||||
<div class="input-group form-group">
|
||||
{{ Form::select('airline_id', $airline_list, null, [
|
||||
'class' => 'custom-select select2',
|
||||
'readonly' => $read_only]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('airline_id') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Flight Number/Code/Leg</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->ident }}
|
||||
{{ Form::hidden('flight_number') }}
|
||||
{{ Form::hidden('flight_code') }}
|
||||
{{ Form::hidden('flight_leg') }}
|
||||
</p>
|
||||
@else
|
||||
<div class="input-group form-group" style="max-width: 400px;">
|
||||
{{ Form::text('flight_number', null, [
|
||||
'placeholder' => 'Flight Number',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}
|
||||
|
||||
{{ Form::text('route_code', null, [
|
||||
'placeholder' => 'Code (optional)',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}
|
||||
|
||||
{{ Form::text('route_leg', null, [
|
||||
'placeholder' => 'Leg (optional)',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('flight_number') }}</p>
|
||||
<p class="text-danger">{{ $errors->first('route_code') }}</p>
|
||||
<p class="text-danger">{{ $errors->first('route_leg') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Aircraft</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->aircraft->name }}</p>
|
||||
{{ Form::hidden('aircraft_id') }}
|
||||
@else
|
||||
<div class="input-group form-group">
|
||||
{{-- You probably don't want to change this ID if you want the fare select to work --}}
|
||||
{{ Form::select('aircraft_id', $aircraft_list, null, [
|
||||
'id' => 'aircraft_select',
|
||||
'class' => 'custom-select select2',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('aircraft_id') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Flight Type</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>{{ \App\Models\Enums\FlightType::label($pirep->flight_type) }}</p>
|
||||
{{ Form::hidden('flight_type') }}
|
||||
@else
|
||||
<div class="input-group form-group">
|
||||
{{ Form::select('flight_type',
|
||||
\App\Models\Enums\FlightType::select(),
|
||||
null, [
|
||||
'class' => 'custom-select select2',
|
||||
'readonly' => $read_only
|
||||
])
|
||||
}}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('flight_type') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Origin Airport</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->dpt_airport->id }} - {{ $pirep->dpt_airport->name }}</p>
|
||||
{{ Form::hidden('dpt_airport_id') }}
|
||||
@else
|
||||
<div class="input-group form-group">
|
||||
{{ Form::select('dpt_airport_id', $airport_list, null, [
|
||||
<div class="form-container">
|
||||
<h6><i class="fas fa-info-circle"></i>
|
||||
Flight Information
|
||||
</h6>
|
||||
<div class="form-container-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
{{ Form::label('airline_id', 'Airline') }}
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->airline->name }}</p>
|
||||
{{ Form::hidden('airline_id') }}
|
||||
@else
|
||||
<div class="input-group input-group form-group">
|
||||
{{ Form::select('airline_id', $airline_list, null, [
|
||||
'class' => 'custom-select select2',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('dpt_airport_id') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Arrival Airport</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->arr_airport->id }}
|
||||
- {{ $pirep->arr_airport->name }}</p>
|
||||
{{ Form::hidden('arr_airport_id') }}
|
||||
@else
|
||||
<div class="input-group form-group">
|
||||
{{ Form::select('arr_airport_id', $airport_list, null, [
|
||||
'class' => 'custom-select select2',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('arr_airport_id') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="align-text-top">Flight Time</td>
|
||||
<td>
|
||||
@if($read_only)
|
||||
<p>
|
||||
{{ $pirep->hours }} hours, {{ $pirep->minutes }} minutes
|
||||
{{ Form::hidden('hours') }}
|
||||
{{ Form::hidden('minutes') }}
|
||||
</p>
|
||||
@else
|
||||
<div class="input-group" style="max-width: 200px;">
|
||||
{{ Form::number('hours', null, [
|
||||
'class' => 'form-control',
|
||||
'placeholder' => 'hours',
|
||||
'min' => '0',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
|
||||
{{ Form::number('minutes', null, [
|
||||
'class' => 'form-control',
|
||||
'placeholder' => 'minutes',
|
||||
'min' => 0,
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('hours') }}</p>
|
||||
<p class="text-danger">{{ $errors->first('minutes') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{--
|
||||
Write out the custom fields, and label if they're required
|
||||
--}}
|
||||
@foreach($pirep_fields as $field)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $field->name }}
|
||||
@if($field->required === true)
|
||||
<span class="text-danger">*</span>
|
||||
'style' => 'width: 100%',
|
||||
'readonly' => $read_only]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('airline_id') }}</p>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group form-group">
|
||||
{{ Form::text($field->slug, null, [
|
||||
'class' => 'form-control'
|
||||
]) }}
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
{{ Form::label('flight_number', 'Flight Number/Code/Leg') }}
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->ident }}
|
||||
{{ Form::hidden('flight_number') }}
|
||||
{{ Form::hidden('flight_code') }}
|
||||
{{ Form::hidden('flight_leg') }}
|
||||
</p>
|
||||
@else
|
||||
<div class="input-group input-group-sm mb3">
|
||||
{{ Form::text('flight_number', null, [
|
||||
'placeholder' => 'Flight Number',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}
|
||||
|
||||
{{ Form::text('route_code', null, [
|
||||
'placeholder' => 'Code (optional)',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}
|
||||
|
||||
{{ Form::text('route_leg', null, [
|
||||
'placeholder' => 'Leg (optional)',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('flight_number') }}</p>
|
||||
<p class="text-danger">{{ $errors->first('route_code') }}</p>
|
||||
<p class="text-danger">{{ $errors->first('route_leg') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
{{ Form::label('flight_type', 'Flight Type') }}
|
||||
@if($read_only)
|
||||
<p>{{ \App\Models\Enums\FlightType::label($pirep->flight_type) }}</p>
|
||||
{{ Form::hidden('flight_type') }}
|
||||
@else
|
||||
<div class="form-group">
|
||||
{{ Form::select('flight_type',
|
||||
\App\Models\Enums\FlightType::select(), null, [
|
||||
'class' => 'custom-select select2',
|
||||
'style' => 'width: 100%',
|
||||
'readonly' => $read_only
|
||||
])
|
||||
}}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('flight_type') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-3">
|
||||
{{ Form::label('hours', 'Flight Time') }}
|
||||
@if($read_only)
|
||||
<p>
|
||||
{{ $pirep->hours }} hours, {{ $pirep->minutes }} minutes
|
||||
{{ Form::hidden('hours') }}
|
||||
{{ Form::hidden('minutes') }}
|
||||
</p>
|
||||
@else
|
||||
<div class="input-group input-group-sm" style="max-width: 200px;">
|
||||
{{ Form::number('hours', null, [
|
||||
'class' => 'form-control',
|
||||
'placeholder' => 'hours',
|
||||
'min' => '0',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
|
||||
{{ Form::number('minutes', null, [
|
||||
'class' => 'form-control',
|
||||
'placeholder' => 'minutes',
|
||||
'min' => 0,
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('hours') }}</p>
|
||||
<p class="text-danger">{{ $errors->first('minutes') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-3">
|
||||
{{--{{ Form::label('submitted_date', 'Date Flown') }}
|
||||
{{ Form::text('submmitted_date', null, [
|
||||
'placeholder' => 'Departure TIme',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}--}}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-3">
|
||||
{{--{{ Form::label('departure_time', 'Departure Time') }}
|
||||
{{ Form::text('departure_time', null, [
|
||||
'placeholder' => 'Departure TIme',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}--}}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-3">
|
||||
{{--{{ Form::label('arrival_time', 'Arrival Time') }}
|
||||
{{ Form::text('arrival_time', null, [
|
||||
'placeholder' => 'Arrival TIme',
|
||||
'class' => 'form-control',
|
||||
'readonly' => $read_only]) }}--}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-container">
|
||||
<h6><i class="fas fa-globe"></i>
|
||||
Arrival/Departure Information
|
||||
</h6>
|
||||
<div class="form-container-body">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
{{ Form::label('dpt_airport_id', 'Departure Airport') }}
|
||||
@if($read_only)
|
||||
{{ $pirep->dpt_airport->name }}
|
||||
(<a href="{{route('frontend.airports.show', [
|
||||
'id' => $pirep->dpt_airport->icao
|
||||
])}}">{{$pirep->dpt_airport->icao}}</a>)
|
||||
{{ Form::hidden('dpt_airport_id') }}
|
||||
@else
|
||||
<div class="form-group">
|
||||
{{ Form::select('dpt_airport_id', $airport_list, null, [
|
||||
'class' => 'custom-select select2',
|
||||
'style' => 'width: 100%',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('dpt_airport_id') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
{{ Form::label('arr_airport_id', 'Arrival Airport') }}
|
||||
@if($read_only)
|
||||
{{ $pirep->arr_airport->name }}
|
||||
(<a href="{{route('frontend.airports.show', [
|
||||
'id' => $pirep->arr_airport->icao
|
||||
])}}">{{$pirep->arr_airport->icao}}</a>)
|
||||
{{ Form::hidden('arr_airport_id') }}
|
||||
@else
|
||||
<div class="input-group input-group-sm form-group">
|
||||
{{ Form::select('arr_airport_id', $airport_list, null, [
|
||||
'class' => 'custom-select select2',
|
||||
'style' => 'width: 100%',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('arr_airport_id') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-container">
|
||||
<h6><i class="fab fa-avianex"></i>
|
||||
Aircraft Information
|
||||
</h6>
|
||||
<div class="form-container-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{{ Form::label('aircraft_id', 'Aircraft') }}
|
||||
@if($read_only)
|
||||
<p>{{ $pirep->aircraft->name }}</p>
|
||||
{{ Form::hidden('aircraft_id') }}
|
||||
@else
|
||||
<div class="input-group input-group-sm form-group">
|
||||
{{-- You probably don't want to change this ID if you want the fare select to work --}}
|
||||
{{ Form::select('aircraft_id', $aircraft_list, null, [
|
||||
'id' => 'aircraft_select',
|
||||
'class' => 'custom-select select2',
|
||||
'readonly' => $read_only
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('aircraft_id') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-container">
|
||||
<h6><i class="far fa-comments"></i>
|
||||
Remarks
|
||||
</h6>
|
||||
<div class="form-container-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{{ Form::label('route', 'Route') }}
|
||||
<div class="input-group input-group-sm form-group">
|
||||
{{ Form::textarea('route', null, ['class' => 'form-control', 'placeholder' => 'Route']) }}
|
||||
<p class="text-danger">{{ $errors->first('route') }}</p>
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first($field->slug) }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
<tr>
|
||||
<td class="align-text-top">Route</td>
|
||||
<td>
|
||||
<div class="input-group form-group">
|
||||
{{ Form::textarea('route', null, ['class' => 'form-control', 'placeholder' => 'Route']) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('route') }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="align-text-top"><p class="">Notes</p></td>
|
||||
<td>
|
||||
<div class="input-group form-group">
|
||||
{{ Form::textarea('notes', null, ['class' => 'form-control', 'placeholder' => 'Notes']) }}
|
||||
<div class="col">
|
||||
{{ Form::label('notes', 'Notes') }}
|
||||
<div class="input-group input-group-sm form-group">
|
||||
{{ Form::textarea('notes', null, ['class' => 'form-control', 'placeholder' => 'Notes']) }}
|
||||
<p class="text-danger">{{ $errors->first('notes') }}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first('notes') }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{-- You don't want to change this ID unless you don't want the fares form to work :) --}}
|
||||
<div id="fares_container" class="col-sm-12">
|
||||
@include("pireps.fares")
|
||||
|
||||
<div class="col-4">
|
||||
|
||||
<div class="form-container">
|
||||
<h6><i class="fab fa-wpforms"></i>
|
||||
Fields
|
||||
</h6>
|
||||
<div class="form-container-body">
|
||||
|
||||
{{--
|
||||
Write out the custom fields, and label if they're required
|
||||
--}}
|
||||
@foreach($pirep_fields as $field)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $field->name }}
|
||||
@if($field->required === true)
|
||||
<span class="text-danger">*</span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm form-group">
|
||||
{{ Form::text($field->slug, null, [
|
||||
'class' => 'form-control'
|
||||
]) }}
|
||||
</div>
|
||||
<p class="text-danger">{{ $errors->first($field->slug) }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="fares_container">
|
||||
@include('pireps.fares')
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -239,7 +299,8 @@ flight reports that have been filed. You've been warned!
|
||||
<div class="col-sm-12">
|
||||
<div class="float-right">
|
||||
<div class="form-group">
|
||||
{{ Form::submit('Save PIREP', ['class' => 'btn btn-primary']) }}
|
||||
{{--{{ Form::button('Save Draft', ['class' => 'btn btn-primary']) }}--}}
|
||||
{{ Form::submit('Save PIREP', ['class' => 'btn btn-info']) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div style="float:right;">
|
||||
<a class="btn btn-primary pull-right btn-lg"
|
||||
<a class="btn btn-info pull-right btn-lg"
|
||||
style="margin-top: -10px;margin-bottom: 5px"
|
||||
href="{{ route('frontend.pireps.create') }}">File New PIREP</a>
|
||||
</div>
|
||||
|
||||
@@ -71,13 +71,13 @@
|
||||
|
||||
{{--
|
||||
|
||||
SIDEBAR
|
||||
RIGHT SIDEBAR
|
||||
|
||||
--}}
|
||||
|
||||
<div class="col-4">
|
||||
|
||||
<h5>flight info</h5>
|
||||
<h2> </h2>
|
||||
<table class="table table-hover table-condensed">
|
||||
<tr>
|
||||
<td width="30%">Status</td>
|
||||
|
||||
Reference in New Issue
Block a user