You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
6.8 KiB
128 lines
6.8 KiB
@extends('layouts.app')
|
|
|
|
@section('title', __('outlet.edit'))
|
|
|
|
@section('content')
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-6">
|
|
@if (request('action') == 'delete' && $outlet)
|
|
@can('delete', $outlet)
|
|
<div class="card">
|
|
<div class="card-header">{{ __('outlet.delete') }}</div>
|
|
<div class="card-body">
|
|
<label class="control-label text-primary">{{ __('outlet.name') }}</label>
|
|
<p>{{ $outlet->name }}</p>
|
|
<label class="control-label text-primary">{{ __('outlet.address') }}</label>
|
|
<p>{{ $outlet->address }}</p>
|
|
<label class="control-label text-primary">{{ __('outlet.latitude') }}</label>
|
|
<p>{{ $outlet->latitude }}</p>
|
|
<label class="control-label text-primary">{{ __('outlet.longitude') }}</label>
|
|
<p>{{ $outlet->longitude }}</p>
|
|
{!! $errors->first('outlet_id', '<span class="invalid-feedback" role="alert">:message</span>') !!}
|
|
</div>
|
|
<hr style="margin:0">
|
|
<div class="card-body text-danger">{{ __('outlet.delete_confirm') }}</div>
|
|
<div class="card-footer">
|
|
<form method="POST" action="{{ route('outlets.destroy', $outlet) }}" accept-charset="UTF-8" onsubmit="return confirm("{{ __('app.delete_confirm') }}")" class="del-form float-right" style="display: inline;">
|
|
{{ csrf_field() }} {{ method_field('delete') }}
|
|
<input name="outlet_id" type="hidden" value="{{ $outlet->id }}">
|
|
<button type="submit" class="btn btn-danger">{{ __('app.delete_confirm_button') }}</button>
|
|
</form>
|
|
<a href="{{ route('outlets.edit', $outlet) }}" class="btn btn-link">{{ __('app.cancel') }}</a>
|
|
</div>
|
|
</div>
|
|
@endcan
|
|
@else
|
|
<div class="card">
|
|
<div class="card-header">{{ __('outlet.edit') }}</div>
|
|
<form method="POST" action="{{ route('outlets.update', $outlet) }}" accept-charset="UTF-8">
|
|
{{ csrf_field() }} {{ method_field('patch') }}
|
|
<div class="card-body">
|
|
<div class="form-group">
|
|
<label for="name" class="control-label">{{ __('outlet.name') }}</label>
|
|
<input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name', $outlet->name) }}" required>
|
|
{!! $errors->first('name', '<span class="invalid-feedback" role="alert">:message</span>') !!}
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="address" class="control-label">{{ __('outlet.address') }}</label>
|
|
<textarea id="address" class="form-control{{ $errors->has('address') ? ' is-invalid' : '' }}" name="address" rows="4">{{ old('address', $outlet->address) }}</textarea>
|
|
{!! $errors->first('address', '<span class="invalid-feedback" role="alert">:message</span>') !!}
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="latitude" class="control-label">{{ __('outlet.latitude') }}</label>
|
|
<input id="latitude" type="text" class="form-control{{ $errors->has('latitude') ? ' is-invalid' : '' }}" name="latitude" value="{{ old('latitude', $outlet->latitude) }}" required>
|
|
{!! $errors->first('latitude', '<span class="invalid-feedback" role="alert">:message</span>') !!}
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="longitude" class="control-label">{{ __('outlet.longitude') }}</label>
|
|
<input id="longitude" type="text" class="form-control{{ $errors->has('longitude') ? ' is-invalid' : '' }}" name="longitude" value="{{ old('longitude', $outlet->longitude) }}" required>
|
|
{!! $errors->first('longitude', '<span class="invalid-feedback" role="alert">:message</span>') !!}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="mapid"></div>
|
|
</div>
|
|
<div class="card-footer">
|
|
<input type="submit" value="{{ __('outlet.update') }}" class="btn btn-success">
|
|
<a href="{{ route('outlets.show', $outlet) }}" class="btn btn-link">{{ __('app.cancel') }}</a>
|
|
@can('delete', $outlet)
|
|
<a href="{{ route('outlets.edit', [$outlet, 'action' => 'delete']) }}" id="del-outlet-{{ $outlet->id }}" class="btn btn-danger float-right">{{ __('app.delete') }}</a>
|
|
@endcan
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@endsection
|
|
|
|
@section('styles')
|
|
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css"
|
|
integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ=="
|
|
crossorigin=""/>
|
|
|
|
<style>
|
|
#mapid { height: 300px; }
|
|
</style>
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"
|
|
integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw=="
|
|
crossorigin=""></script>
|
|
<script>
|
|
var mapCenter = [{{ $outlet->latitude }}, {{ $outlet->longitude }}];
|
|
var map = L.map('mapid').setView(mapCenter, 16);
|
|
|
|
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
|
|
}).addTo(map);
|
|
|
|
var marker = L.marker(mapCenter).addTo(map);
|
|
function updateMarker(lat, lng) {
|
|
marker
|
|
.setLatLng([lat, lng])
|
|
.bindPopup("Your location : " + marker.getLatLng().toString())
|
|
.openPopup();
|
|
return false;
|
|
};
|
|
|
|
map.on('click', function(e) {
|
|
let latitude = e.latlng.lat.toString().substring(0, 15);
|
|
let longitude = e.latlng.lng.toString().substring(0, 15);
|
|
$('#latitude').val(latitude);
|
|
$('#longitude').val(longitude);
|
|
updateMarker(latitude, longitude);
|
|
});
|
|
|
|
var updateMarkerByInputs = function() {
|
|
return updateMarker( $('#latitude').val() , $('#longitude').val());
|
|
}
|
|
$('#latitude').on('input', updateMarkerByInputs);
|
|
$('#longitude').on('input', updateMarkerByInputs);
|
|
</script>
|
|
@endpush
|