PIREP form styling and improvments

This commit is contained in:
Nabeel Shahzad
2018-04-06 17:10:45 -05:00
parent 42264eb180
commit 12a442970e
30 changed files with 721 additions and 468 deletions

View File

@@ -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';

View File

@@ -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)
}

View File

@@ -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";

View 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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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{

View File

@@ -63,8 +63,8 @@ $(document).ready(function() {
});
$(document).on('pjax:complete', function () {
$(".select2").select2();
setEditable();
initPlugins();
setEditable();
});
});
</script>

View File

@@ -122,7 +122,7 @@ $(document).ready(function() {
});
$(document).on('pjax:complete', function () {
$(".select2").select2();
initPlugins();
setEditable();
});
});

View File

@@ -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');

View File

@@ -91,7 +91,7 @@ $(document).ready(function () {
});
$(document).on('pjax:complete', function () {
$(".select2").select2();
initPlugins();
setEditable();
setFieldsEditable();
});

View File

@@ -56,7 +56,7 @@ $(document).ready(() => {
});
$(document).on('pjax:complete', function () {
$(".select2").select2();
initPlugins();
});
/**

View File

@@ -31,7 +31,7 @@ $(document).ready(function () {
});
$(document).on('pjax:complete', function () {
$(".select2").select2();
initPlugins();
setEditable();
});
});

View File

@@ -23,7 +23,7 @@ $(document).ready(function() {
});
$(document).on('pjax:complete', function() {
$(".select2").select2();
initPlugins();
});
});
</script>

View File

@@ -121,7 +121,7 @@ $(document).ready(function() {
});
$(document).on('pjax:complete', function() {
$(".select2").select2();
initPlugins();
setEditable();
});
});

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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')

View File

@@ -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>

View File

@@ -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>
&nbsp;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

View File

@@ -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>
&nbsp;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]) }}
&nbsp;
{{ Form::text('route_code', null, [
'placeholder' => 'Code (optional)',
'class' => 'form-control',
'readonly' => $read_only]) }}
&nbsp;
{{ 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>
&nbsp;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>
&nbsp;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>
&nbsp;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>
&nbsp;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>

View File

@@ -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>

View File

@@ -71,13 +71,13 @@
{{--
SIDEBAR
RIGHT SIDEBAR
--}}
<div class="col-4">
<h5>flight info</h5>
<h2>&nbsp;</h2>
<table class="table table-hover table-condensed">
<tr>
<td width="30%">Status</td>