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.
561 lines
32 KiB
561 lines
32 KiB
2 years ago
|
@extends('layouts.admin.app')
|
||
|
|
||
|
@section('title', translate('messages.add_new_restaurant'))
|
||
|
|
||
|
@section('content')
|
||
|
<div class="content container-fluid initial-57">
|
||
|
<!-- Page Header -->
|
||
|
<div class="page-header">
|
||
|
<div class="row align-items-center">
|
||
|
<div class="col-sm mb-2 mb-sm-0">
|
||
|
<h1 class="page-header-title"><i class="tio-shop-outlined"></i>
|
||
|
{{ translate('messages.add') }}
|
||
|
{{ translate('messages.new') }} {{ translate('messages.restaurant') }}</h1>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<!-- End Page Header -->
|
||
|
|
||
|
<form action="{{ route('admin.restaurant.store') }}" method="post" enctype="multipart/form-data"
|
||
|
class="js-validate">
|
||
|
@csrf
|
||
|
<div class="card mb-2">
|
||
|
<div class="card-header">
|
||
|
<h4 class="card-title m-0 d-flex align-items-center"><img class="mr-2 align-self-start" src={{asset('public/assets/admin/img/resturent.png')}} alt="instructions"> <span>{{ translate('messages.restaurant') }} {{ translate('messages.info') }}</span></h4>
|
||
|
</div>
|
||
|
<div class="card-body">
|
||
|
<div class="row">
|
||
|
<div class="col-md-6 col-xl-4">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="name">{{ translate('messages.restaurant') }}
|
||
|
{{ translate('messages.name') }}</label>
|
||
|
<input id="name" type="text" name="name" class="form-control h--45px"
|
||
|
placeholder="{{ translate('messages.Ex :') }} {{ translate('ABC Company') }}"
|
||
|
value="{{ old('name') }}" required>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-6 col-xl-4">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="tax">{{translate('messages.vat/tax (%)')}}</label>
|
||
|
<input id="tax" type="number" name="tax" class="form-control h--45px"
|
||
|
placeholder="{{ translate('messages.Ex :') }} 5" min="0" step=".01" required
|
||
|
value="{{ old('tax') }}">
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="row">
|
||
|
<div class="col-md-4">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="address">{{ translate('messages.restaurant') }}
|
||
|
{{ translate('messages.address') }}</label>
|
||
|
<input id="address" type="text" name="address" class="form-control h--45px" placeholder="{{ translate('messages.Ex :') }} {{ translate('House#94, Road#8, Abc City') }}" required value="{{ old('address') }}">
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-4">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label"
|
||
|
for="minimum_delivery_time">{{ translate('messages.minimum_delivery_time') }}</label>
|
||
|
<input id="minimum_delivery_time" type="number" name="minimum_delivery_time" class="form-control h--45px" placeholder="{{ translate('messages.Ex :') }} 30"
|
||
|
pattern="^[0-9]{2}$" required value="{{ old('minimum_delivery_time') }}">
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
<div class="col-md-4">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label"
|
||
|
for="maximum_delivery_time">{{ translate('messages.maximum_delivery_time') }}</label>
|
||
|
<input id="maximum_delivery_time" type="number" name="maximum_delivery_time" class="form-control h--45px" placeholder="{{ translate('messages.Ex :') }} 60"
|
||
|
pattern="[0-9]{2}" required value="{{ old('maximum_delivery_time') }}">
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="row mt-4 pt-lg-3">
|
||
|
<div class="col-md-6 col-lg-4">
|
||
|
<center>
|
||
|
<img class="initial-57-2" id="viewer"
|
||
|
src="{{ asset('public/assets/admin/img/100x100/restaurant-default-image.png') }}"
|
||
|
alt="delivery-man image" />
|
||
|
</center>
|
||
|
|
||
|
<div class="form-group pt-3">
|
||
|
<label class="input-label">{{ translate('messages.restaurant') }}
|
||
|
{{ translate('messages.logo') }}<small class="text-danger"> (
|
||
|
{{ translate('messages.ratio') }} 1:1
|
||
|
)</small></label>
|
||
|
<div class="custom-file">
|
||
|
<input type="file" name="logo" id="customFileEg1" class="custom-file-input"
|
||
|
accept=".jpg, .png, .jpeg, .gif, .bmp, .tif, .tiff|image/*" required>
|
||
|
<label class="custom-file-label" for="logo">{{ translate('messages.choose') }}
|
||
|
{{ translate('messages.file') }}</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
<div class="col-md-6 col-lg-4">
|
||
|
<center>
|
||
|
<img class="initial-57-2 mw-100"
|
||
|
id="coverImageViewer" src="{{ asset('public/assets/admin/img/300x100/restaurant-default-image.png') }}"
|
||
|
alt="Product thumbnail" />
|
||
|
</center>
|
||
|
<div class="form-group pt-3">
|
||
|
<label for="name" class="input-label text-capitalize">{{ translate('messages.cover') }}
|
||
|
{{ translate('messages.photo') }} <span
|
||
|
class="text-danger">({{ translate('messages.ratio') }}
|
||
|
3:1)</span></label>
|
||
|
<div class="custom-file">
|
||
|
<input type="file" name="cover_photo" id="coverImageUpload" class="custom-file-input"
|
||
|
accept=".jpg, .png, .jpeg, .gif, .bmp, .tif, .tiff|image/*">
|
||
|
<label class="custom-file-label" for="customFileUpload">{{ translate('messages.choose') }}
|
||
|
{{ translate('messages.file') }}</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="row">
|
||
|
<div class="col-md-4">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="cuisine">{{ translate('messages.cuisine') }}</label>
|
||
|
<select name="cuisine_ids[]" id="cuisine" class="form-control h--45px min--45 js-select2-custom"
|
||
|
multiple="multiple" data-placeholder="{{ translate('messages.select') }} {{ translate('messages.Cuisine') }}" >
|
||
|
<option value="" disabled>{{ translate('messages.select') }}
|
||
|
{{ translate('messages.Cuisine') }}</option>
|
||
|
@foreach (\App\Models\Cuisine::where('status',1 )->get(['id','name']) as $cu)
|
||
|
<option value="{{ $cu->id }}">{{ $cu->name }}</option>
|
||
|
@endforeach
|
||
|
</select>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="choice_zones">{{ translate('messages.zone') }}
|
||
|
<span data-toggle="tooltip" data-placement="right" data-original-title="{{ translate('messages.select_zone_for_map') }}"
|
||
|
class="input-label-secondary"><img
|
||
|
src="{{ asset('/public/assets/admin/img/info-circle.svg') }}"
|
||
|
alt="{{ translate('messages.restaurant_lat_lng_warning') }}"></span>
|
||
|
</label>
|
||
|
<select name="zone_id" id="choice_zones" required class="form-control h--45px js-select2-custom"
|
||
|
data-placeholder="{{ translate('messages.select') }} {{ translate('messages.zone') }}" onchange="get_zone_data(this.value)">
|
||
|
<option value="" selected disabled>{{ translate('messages.select') }}
|
||
|
{{ translate('messages.zone') }}</option>
|
||
|
@foreach (\App\Models\Zone::where('status',1 )->get(['id','name']) as $zone)
|
||
|
@if (isset(auth('admin')->user()->zone_id))
|
||
|
@if (auth('admin')->user()->zone_id == $zone->id)
|
||
|
<option value="{{ $zone->id }}" selected>{{ $zone->name }}
|
||
|
</option>
|
||
|
@endif
|
||
|
@else
|
||
|
<option value="{{ $zone->id }}">{{ $zone->name }}</option>
|
||
|
@endif
|
||
|
@endforeach
|
||
|
</select>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="latitude">{{ translate('messages.latitude') }}<span data-toggle="tooltip" data-placement="right" data-original-title="{{ translate('messages.restaurant_lat_lng_warning') }}"
|
||
|
class="input-label-secondary"><img
|
||
|
src="{{ asset('/public/assets/admin/img/info-circle.svg') }}"
|
||
|
alt="{{ translate('messages.restaurant_lat_lng_warning') }}"></span></label>
|
||
|
<input type="text" id="latitude" name="latitude" class="form-control h--45px disabled"
|
||
|
placeholder="{{ translate('messages.Ex :') }} -94.22213" value="{{ old('latitude') }}" required readonly>
|
||
|
</div>
|
||
|
<div class="form-group mb-md-0">
|
||
|
<label class="input-label" for="longitude">{{ translate('messages.longitude') }}
|
||
|
<span data-toggle="tooltip" data-placement="right" data-original-title="{{ translate('messages.restaurant_lat_lng_warning') }}"
|
||
|
class="input-label-secondary"><img
|
||
|
src="{{ asset('/public/assets/admin/img/info-circle.svg') }}"
|
||
|
alt="{{ translate('messages.restaurant_lat_lng_warning') }}"></span>
|
||
|
</label>
|
||
|
<input type="text" name="longitude" class="form-control h--45px disabled" placeholder="{{ translate('messages.Ex :') }} 103.344322"
|
||
|
id="longitude" value="{{ old('longitude') }}" required readonly>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-8">
|
||
|
<input id="pac-input" class="controls rounded initial-8" title="{{translate('messages.search_your_location_here')}}" type="text" placeholder="{{translate('messages.search_here')}}"/>
|
||
|
<div style="height: 370px !important" id="map"></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="card mb-2">
|
||
|
<div class="card-header">
|
||
|
<h4 class="card-title m-0 d-flex align-items-center"> <span class="card-header-icon mr-2"><i class="tio-user"></i></span> <span>{{ translate('messages.owner') }}
|
||
|
{{ translate('messages.info') }}</span></h4>
|
||
|
</div>
|
||
|
<div class="card-body pb-0">
|
||
|
<div class="row">
|
||
|
<div class="col-md-4 col-12">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="f_name">{{ translate('messages.first') }}
|
||
|
{{ translate('messages.name') }}</label>
|
||
|
<input id="f_name" type="text" name="f_name" class="form-control h--45px"
|
||
|
placeholder="{{ translate('messages.Ex :') }} Jhone"
|
||
|
value="{{ old('f_name') }}" required>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-4 col-12">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="l_name">{{ translate('messages.last') }}
|
||
|
{{ translate('messages.name') }}</label>
|
||
|
<input id="l_name" type="text" name="l_name" class="form-control h--45px"
|
||
|
placeholder="{{ translate('messages.Ex :') }} Doe"
|
||
|
value="{{ old('l_name') }}" required>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-4 col-12">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="phone">{{ translate('messages.phone') }}</label>
|
||
|
<input id="phone" type="tel" name="phone" class="form-control h--45px" placeholder="{{ translate('messages.Ex :') }} +9XXX-XXX-XXXX"
|
||
|
value="{{ old('phone') }}" required>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="card mb-2">
|
||
|
<div class="card-header">
|
||
|
<h4 class="card-title m-0 d-flex align-items-center"><span class="card-header-icon mr-2"><i class="tio-user"></i></span> <span>{{ translate('messages.account') }}
|
||
|
{{ translate('messages.info') }}</span></h4>
|
||
|
</div>
|
||
|
<div class="card-body pb-0">
|
||
|
<div class="row">
|
||
|
<div class="col-md-4 col-12">
|
||
|
<div class="form-group">
|
||
|
<label class="input-label" for="email">{{ translate('messages.email') }}</label>
|
||
|
<input id="email" type="email" name="email" class="form-control h--45px" placeholder="{{ translate('messages.Ex :') }} Jhone@company.com"
|
||
|
{{-- value="{{ old('email') }}" --}}
|
||
|
required>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-4 col-12">
|
||
|
<div class="js-form-message form-group">
|
||
|
<label class="input-label"
|
||
|
for="signupSrPassword">{{ translate('messages.password') }}</label>
|
||
|
|
||
|
<div class="input-group input-group-merge">
|
||
|
<input type="password" class="js-toggle-password form-control h--45px" name="password"
|
||
|
id="signupSrPassword"
|
||
|
placeholder="{{ translate('messages.Ex :') }} {{ translate('5+ Character') }}"
|
||
|
aria-label="{{ translate('messages.password_length_placeholder', ['length' => '5+']) }}"
|
||
|
required data-msg="Your password is invalid. Please try again."
|
||
|
data-hs-toggle-password-options='{
|
||
|
"target": [".js-toggle-password-target-1", ".js-toggle-password-target-2"],
|
||
|
"defaultClass": "tio-hidden-outlined",
|
||
|
"showClass": "tio-visible-outlined",
|
||
|
"classChangeTarget": ".js-toggle-passowrd-show-icon-1"
|
||
|
}'>
|
||
|
<div class="js-toggle-password-target-1 input-group-append">
|
||
|
<a class="input-group-text" href="javascript:;">
|
||
|
<i class="js-toggle-passowrd-show-icon-1 tio-visible-outlined"></i>
|
||
|
</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-4 col-12">
|
||
|
<div class="js-form-message form-group">
|
||
|
<label class="input-label"
|
||
|
for="signupSrConfirmPassword">{{ translate('messages.confirm_password') }}</label>
|
||
|
|
||
|
<div class="input-group input-group-merge">
|
||
|
<input type="password" class="js-toggle-password form-control h--45px" name="confirmPassword"
|
||
|
id="signupSrConfirmPassword"
|
||
|
placeholder="{{ translate('messages.Ex :') }} {{ translate('5+ Character') }}"
|
||
|
aria-label="{{ translate('messages.password_length_placeholder', ['length' => '5+']) }}"
|
||
|
required data-msg="Password does not match the confirm password."
|
||
|
data-hs-toggle-password-options='{
|
||
|
"target": [".js-toggle-password-target-1", ".js-toggle-password-target-2"],
|
||
|
"defaultClass": "tio-hidden-outlined",
|
||
|
"showClass": "tio-visible-outlined",
|
||
|
"classChangeTarget": ".js-toggle-passowrd-show-icon-2"
|
||
|
}'>
|
||
|
<div class="js-toggle-password-target-2 input-group-append">
|
||
|
<a class="input-group-text" href="javascript:;">
|
||
|
<i class="js-toggle-passowrd-show-icon-2 tio-visible-outlined"></i>
|
||
|
</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="btn--container justify-content-end">
|
||
|
<button id="reset_btn" type="button" class="btn btn--reset">{{translate('messages.reset')}}</button>
|
||
|
<button type="submit" class="btn btn--primary h--45px"><i class="tio-save"></i> {{ translate('messages.save') }} {{ translate('messages.information') }}</button>
|
||
|
</div>
|
||
|
</form>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
@endsection
|
||
|
|
||
|
@push('script_2')
|
||
|
<script>
|
||
|
$(document).on('ready', function() {
|
||
|
@if (isset(auth('admin')->user()->zone_id))
|
||
|
$('#choice_zones').trigger('change');
|
||
|
@endif
|
||
|
// INITIALIZATION OF SHOW PASSWORD
|
||
|
// =======================================================
|
||
|
$('.js-toggle-password').each(function() {
|
||
|
new HSTogglePassword(this).init()
|
||
|
});
|
||
|
|
||
|
|
||
|
// INITIALIZATION OF FORM VALIDATION
|
||
|
// =======================================================
|
||
|
$('.js-validate').each(function() {
|
||
|
$.HSCore.components.HSValidation.init($(this), {
|
||
|
rules: {
|
||
|
confirmPassword: {
|
||
|
equalTo: '#signupSrPassword'
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
</script>
|
||
|
<script>
|
||
|
function readURL(input, viewer) {
|
||
|
if (input.files && input.files[0]) {
|
||
|
var reader = new FileReader();
|
||
|
|
||
|
reader.onload = function(e) {
|
||
|
$('#' + viewer).attr('src', e.target.result);
|
||
|
}
|
||
|
|
||
|
reader.readAsDataURL(input.files[0]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$("#customFileEg1").change(function() {
|
||
|
readURL(this, 'viewer');
|
||
|
});
|
||
|
|
||
|
$("#coverImageUpload").change(function() {
|
||
|
readURL(this, 'coverImageViewer');
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<script src="{{ asset('public/assets/admin/js/spartan-multi-image-picker.js') }}"></script>
|
||
|
<script type="text/javascript">
|
||
|
$(function() {
|
||
|
$("#coba").spartanMultiImagePicker({
|
||
|
fieldName: 'identity_image[]',
|
||
|
maxCount: 5,
|
||
|
rowHeight: '120px',
|
||
|
groupClassName: 'col-lg-2 col-md-4 col-sm-4 col-6',
|
||
|
maxFileSize: '',
|
||
|
placeholderImage: {
|
||
|
image: '{{ asset('public/assets/admin/img/400x400/img2.jpg') }}',
|
||
|
width: '100%'
|
||
|
},
|
||
|
dropFileLabel: "Drop Here",
|
||
|
onAddRow: function(index, file) {
|
||
|
|
||
|
},
|
||
|
onRenderedPreview: function(index) {
|
||
|
|
||
|
},
|
||
|
onRemoveRow: function(index) {
|
||
|
|
||
|
},
|
||
|
onExtensionErr: function(index, file) {
|
||
|
toastr.error('{{ translate('messages.please_only_input_png_or_jpg_type_file') }}', {
|
||
|
CloseButton: true,
|
||
|
ProgressBar: true
|
||
|
});
|
||
|
},
|
||
|
onSizeErr: function(index, file) {
|
||
|
toastr.error('{{ translate('messages.file_size_too_big') }}', {
|
||
|
CloseButton: true,
|
||
|
ProgressBar: true
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
</script>
|
||
|
<script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script>
|
||
|
<script
|
||
|
src="https://maps.googleapis.com/maps/api/js?key={{ \App\Models\BusinessSetting::where('key', 'map_api_key')->first()->value }}&libraries=drawing,places&v=3.45.8">
|
||
|
</script>
|
||
|
<script>
|
||
|
@php($default_location = \App\Models\BusinessSetting::where('key', 'default_location')->first())
|
||
|
@php($default_location = $default_location->value ? json_decode($default_location->value, true) : 0)
|
||
|
let myLatlng = {
|
||
|
lat: {{ $default_location ? $default_location['lat'] : '23.757989' }},
|
||
|
lng: {{ $default_location ? $default_location['lng'] : '90.360587' }}
|
||
|
};
|
||
|
let map = new google.maps.Map(document.getElementById("map"), {
|
||
|
zoom: 13,
|
||
|
center: myLatlng,
|
||
|
});
|
||
|
var zonePolygon = null;
|
||
|
let infoWindow = new google.maps.InfoWindow({
|
||
|
content: "Click the map to get Lat/Lng!",
|
||
|
position: myLatlng,
|
||
|
});
|
||
|
var bounds = new google.maps.LatLngBounds();
|
||
|
function initMap() {
|
||
|
// Create the initial InfoWindow.
|
||
|
infoWindow.open(map);
|
||
|
//get current location block
|
||
|
infoWindow = new google.maps.InfoWindow();
|
||
|
// Try HTML5 geolocation.
|
||
|
if (navigator.geolocation) {
|
||
|
navigator.geolocation.getCurrentPosition(
|
||
|
(position) => {
|
||
|
myLatlng = {
|
||
|
lat: position.coords.latitude,
|
||
|
lng: position.coords.longitude,
|
||
|
};
|
||
|
infoWindow.setPosition(myLatlng);
|
||
|
infoWindow.setContent("Location found.");
|
||
|
infoWindow.open(map);
|
||
|
map.setCenter(myLatlng);
|
||
|
},
|
||
|
() => {
|
||
|
handleLocationError(true, infoWindow, map.getCenter());
|
||
|
}
|
||
|
);
|
||
|
} else {
|
||
|
// Browser doesn't support Geolocation
|
||
|
handleLocationError(false, infoWindow, map.getCenter());
|
||
|
}
|
||
|
//-----end block------
|
||
|
// Create the search box and link it to the UI element.
|
||
|
const input = document.getElementById("pac-input");
|
||
|
const searchBox = new google.maps.places.SearchBox(input);
|
||
|
map.controls[google.maps.ControlPosition.TOP_CENTER].push(input);
|
||
|
let markers = [];
|
||
|
searchBox.addListener("places_changed", () => {
|
||
|
const places = searchBox.getPlaces();
|
||
|
if (places.length == 0) {
|
||
|
return;
|
||
|
}
|
||
|
// Clear out the old markers.
|
||
|
markers.forEach((marker) => {
|
||
|
marker.setMap(null);
|
||
|
});
|
||
|
markers = [];
|
||
|
// For each place, get the icon, name and location.
|
||
|
const bounds = new google.maps.LatLngBounds();
|
||
|
places.forEach((place) => {
|
||
|
if (!place.geometry || !place.geometry.location) {
|
||
|
console.log("Returned place contains no geometry");
|
||
|
return;
|
||
|
}
|
||
|
const icon = {
|
||
|
url: place.icon,
|
||
|
size: new google.maps.Size(71, 71),
|
||
|
origin: new google.maps.Point(0, 0),
|
||
|
anchor: new google.maps.Point(17, 34),
|
||
|
scaledSize: new google.maps.Size(25, 25),
|
||
|
};
|
||
|
// Create a marker for each place.
|
||
|
markers.push(
|
||
|
new google.maps.Marker({
|
||
|
map,
|
||
|
icon,
|
||
|
title: place.name,
|
||
|
position: place.geometry.location,
|
||
|
})
|
||
|
);
|
||
|
if (place.geometry.viewport) {
|
||
|
// Only geocodes have viewport.
|
||
|
bounds.union(place.geometry.viewport);
|
||
|
} else {
|
||
|
bounds.extend(place.geometry.location);
|
||
|
}
|
||
|
});
|
||
|
map.fitBounds(bounds);
|
||
|
});
|
||
|
}
|
||
|
initMap();
|
||
|
function handleLocationError(browserHasGeolocation, infoWindow, pos) {
|
||
|
infoWindow.setPosition(pos);
|
||
|
infoWindow.setContent(
|
||
|
browserHasGeolocation ?
|
||
|
"Error: The Geolocation service failed." :
|
||
|
"Error: Your browser doesn't support geolocation."
|
||
|
);
|
||
|
infoWindow.open(map);
|
||
|
}
|
||
|
$('#choice_zones').on('change', function() {
|
||
|
var id = $(this).val();
|
||
|
$.get({
|
||
|
url: '{{ url('/') }}/admin/zone/get-coordinates/' + id,
|
||
|
dataType: 'json',
|
||
|
success: function(data) {
|
||
|
if (zonePolygon) {
|
||
|
zonePolygon.setMap(null);
|
||
|
}
|
||
|
zonePolygon = new google.maps.Polygon({
|
||
|
paths: data.coordinates,
|
||
|
strokeColor: "#FF0000",
|
||
|
strokeOpacity: 0.8,
|
||
|
strokeWeight: 2,
|
||
|
fillColor: 'white',
|
||
|
fillOpacity: 0,
|
||
|
});
|
||
|
zonePolygon.setMap(map);
|
||
|
zonePolygon.getPaths().forEach(function(path) {
|
||
|
path.forEach(function(latlng) {
|
||
|
bounds.extend(latlng);
|
||
|
map.fitBounds(bounds);
|
||
|
});
|
||
|
});
|
||
|
map.setCenter(data.center);
|
||
|
google.maps.event.addListener(zonePolygon, 'click', function(mapsMouseEvent) {
|
||
|
infoWindow.close();
|
||
|
// Create a new InfoWindow.
|
||
|
infoWindow = new google.maps.InfoWindow({
|
||
|
position: mapsMouseEvent.latLng,
|
||
|
content: JSON.stringify(mapsMouseEvent.latLng.toJSON(),
|
||
|
null, 2),
|
||
|
});
|
||
|
var coordinates = JSON.stringify(mapsMouseEvent.latLng.toJSON(), null,
|
||
|
2);
|
||
|
var coordinates = JSON.parse(coordinates);
|
||
|
document.getElementById('latitude').value = coordinates['lat'];
|
||
|
document.getElementById('longitude').value = coordinates['lng'];
|
||
|
infoWindow.open(map);
|
||
|
});
|
||
|
},
|
||
|
});
|
||
|
});
|
||
|
document.addEventListener('keypress', function (e) {
|
||
|
if (e.keyCode === 13 || e.which === 13) {
|
||
|
e.preventDefault();
|
||
|
return false;
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
<script>
|
||
|
$('#reset_btn').click(function(){
|
||
|
$('#name').val(null);
|
||
|
$('#tax').val(null);
|
||
|
$('#address').val(null);
|
||
|
$('#minimum_delivery_time').val(null);
|
||
|
$('#maximum_delivery_time').val(null);
|
||
|
$('#viewer').attr('src', "{{ asset('public/assets/admin/img/100x100/restaurant-default-image.png') }}");
|
||
|
$('#customFileEg1').val(null);
|
||
|
$('#coverImageViewer').attr('src', "{{ asset('public/assets/admin/img/300x100/restaurant-default-image.png') }}");
|
||
|
$('#coverImageUpload').val(null);
|
||
|
$('#choice_zones').val(null).trigger('change');
|
||
|
$('#f_name').val(null);
|
||
|
$('#l_name').val(null);
|
||
|
$('#phone').val(null);
|
||
|
$('#email').val(null);
|
||
|
$('#signupSrPassword').val(null);
|
||
|
$('#signupSrConfirmPassword').val(null);
|
||
|
zonePolygon.setMap(null);
|
||
|
$('#coordinates').val(null);
|
||
|
$('#latitude').val(null);
|
||
|
$('#longitude').val(null);
|
||
|
})
|
||
|
</script>
|
||
|
@endpush
|