master
parent
a19a3b69e2
commit
ac51fea980
|
@ -1,7 +1,7 @@
|
||||||
@extends('template.'.config('settings.template').'.content.master')
|
@extends('template.'.config('settings.template').'.content.master')
|
||||||
@section('head')
|
@section('head')
|
||||||
<title>Checkout - Blau Solar</title>
|
<title>Checkout - Blau Solar</title>
|
||||||
<link rel="stylesheet" href="{{storage('assets/libs/intl-tel-input/css/intlTelInput.min.css')}}">
|
<link rel="stylesheet" href="{{storage('libs/intl-tel-input/css/intlTelInput.min.css')}}">
|
||||||
@stop
|
@stop
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -243,6 +243,6 @@
|
||||||
@stop
|
@stop
|
||||||
@section('scripts')
|
@section('scripts')
|
||||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAKGJCCKvmWZl-L5bBF0uS5BWf0gN4ZkpI&v=3.exp&sensor=false&libraries=places"></script>
|
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAKGJCCKvmWZl-L5bBF0uS5BWf0gN4ZkpI&v=3.exp&sensor=false&libraries=places"></script>
|
||||||
<script src="{{storage('assets/libs/intl-tel-input/js/intlTelInput.min.js')}}"></script>
|
<script src="{{storage('libs/intl-tel-input/js/intlTelInput.min.js')}}"></script>
|
||||||
<script src="{{storage('js/checkout.js')}}"></script>
|
<script src="{{storage('js/checkout.js')}}"></script>
|
||||||
@stop
|
@stop
|
||||||
|
|
|
@ -6,45 +6,47 @@ function clearAddressFields() {
|
||||||
$('#locality').val('');
|
$('#locality').val('');
|
||||||
$('#postal-code').val('');
|
$('#postal-code').val('');
|
||||||
}
|
}
|
||||||
function getAddressFiedlValue(addressComponents, $field){
|
function getAddressFiedlValue(addressComponents, $field) {
|
||||||
let field = addressComponents.find(obj => obj.types.indexOf($field) > -1);
|
let field = addressComponents.find(obj => obj.types.indexOf($field) > -1);
|
||||||
return field != undefined?field.long_name:'';
|
return field != undefined ? field.long_name : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
urlBase = $('meta[name="url-base"]').attr("content");
|
||||||
|
|
||||||
let input = document.querySelector("#ctelefon");
|
let input = document.querySelector("#ctelefon");
|
||||||
let iti = null;
|
let iti = null;
|
||||||
if(input != undefined){
|
if (input != undefined) {
|
||||||
iti = window.intlTelInput(input, {
|
iti = window.intlTelInput(input, {
|
||||||
initialCountry: "de",
|
initialCountry: "de",
|
||||||
preferredCountries: ["de"],
|
preferredCountries: ["de"],
|
||||||
geoIpLookup: function(callback) {
|
geoIpLookup: function (callback) {
|
||||||
$.get('https://ipinfo.io', function() {}, "jsonp").always(function(resp) {
|
$.get('https://ipinfo.io', function () { }, "jsonp").always(function (resp) {
|
||||||
let countryCode = (resp && resp.country)?resp.country:"us";
|
let countryCode = (resp && resp.country) ? resp.country : "us";
|
||||||
callback(countryCode);
|
callback(countryCode);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
utilsScript: "/template/assets/libs/intl-tel-input/js/utils.min.js",
|
utilsScript: urlBase + "/template/libs/intl-tel-input/js/utils.min.js",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function updateProducts(){
|
function updateProducts() {
|
||||||
$('#list-products').html('');
|
$('#list-products').html('');
|
||||||
if(objProducts.length > 0){
|
if (objProducts.length > 0) {
|
||||||
getInfoFromSelectedProduct().done(function(response, status){
|
getInfoFromSelectedProduct().done(function (response, status) {
|
||||||
response.contents.forEach(function(product){
|
response.contents.forEach(function (product) {
|
||||||
let objProduct = getProductInfo(product);
|
let objProduct = getProductInfo(product);
|
||||||
let elementProduct = createProductElement(objProduct);
|
let elementProduct = createProductElement(objProduct);
|
||||||
$('#list-products').append(elementProduct);
|
$('#list-products').append(elementProduct);
|
||||||
});
|
});
|
||||||
if(totalPrice > 0){
|
if (totalPrice > 0) {
|
||||||
$('#total-checkout-price').text(numberToEuroFormat(totalPrice));
|
$('#total-checkout-price').text(numberToEuroFormat(totalPrice));
|
||||||
}else{
|
} else {
|
||||||
$('#form-section').hide();
|
$('#form-section').hide();
|
||||||
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
||||||
$('#total-checkout-price').parent().parent().parent().hide();
|
$('#total-checkout-price').parent().parent().parent().hide();
|
||||||
$('#no-products-in-checkout').hide();
|
$('#no-products-in-checkout').hide();
|
||||||
$('#cart-error-in-checkout').show();
|
$('#cart-error-in-checkout').show();
|
||||||
}
|
}
|
||||||
}).fail(function(response){
|
}).fail(function (response) {
|
||||||
$('#form-section').hide();
|
$('#form-section').hide();
|
||||||
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
||||||
$('#total-checkout-price').parent().parent().parent().hide();
|
$('#total-checkout-price').parent().parent().parent().hide();
|
||||||
|
@ -57,7 +59,7 @@ function updateProducts(){
|
||||||
$('#no-products-in-checkout').hide();
|
$('#no-products-in-checkout').hide();
|
||||||
$('#cart-error-in-checkout').hide();
|
$('#cart-error-in-checkout').hide();
|
||||||
}
|
}
|
||||||
else{
|
else {
|
||||||
$('#form-section').hide();
|
$('#form-section').hide();
|
||||||
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
||||||
$('#total-checkout-price').parent().parent().parent().hide();
|
$('#total-checkout-price').parent().parent().parent().hide();
|
||||||
|
@ -66,19 +68,19 @@ function updateProducts(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$(window).on('load', function(){
|
$(window).on('load', function () {
|
||||||
updateProducts();
|
updateProducts();
|
||||||
$("#successful-submitting-form").delay(4000).slideUp(200, function() { $(this).alert('close'); });
|
$("#successful-submitting-form").delay(4000).slideUp(200, function () { $(this).alert('close'); });
|
||||||
$('#anfrage').submit(function(event){
|
$('#anfrage').submit(function (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
let form = $(this);
|
let form = $(this);
|
||||||
getInfoFromSelectedProduct().done(function(response, status){
|
getInfoFromSelectedProduct().done(function (response, status) {
|
||||||
let products = response.contents.map(product => {
|
let products = response.contents.map(product => {
|
||||||
product = getProductInfo(product);
|
product = getProductInfo(product);
|
||||||
product = calculatePrice(product);
|
product = calculatePrice(product);
|
||||||
return product.quantity+'x '+product.title+' ('+numberToEuroFormat(product.calc_preis)+')';
|
return product.quantity + 'x ' + product.title + ' (' + numberToEuroFormat(product.calc_preis) + ')';
|
||||||
});
|
});
|
||||||
let cart = products.join(" - ")+" - Gesammt: "+numberToEuroFormat(totalPrice);
|
let cart = products.join(" - ") + " - Gesammt: " + numberToEuroFormat(totalPrice);
|
||||||
$('#ccart').val(cart);
|
$('#ccart').val(cart);
|
||||||
$('#ctelefon').val(iti.getNumber());
|
$('#ctelefon').val(iti.getNumber());
|
||||||
objProducts = [];
|
objProducts = [];
|
||||||
|
@ -86,33 +88,33 @@ $(window).on('load', function(){
|
||||||
form.unbind('submit').submit();
|
form.unbind('submit').submit();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$(document).on('click', '.btn-remove-product', function(){
|
$(document).on('click', '.btn-remove-product', function () {
|
||||||
if(objProducts.length > 0){
|
if (objProducts.length > 0) {
|
||||||
$('#form-section').show();
|
$('#form-section').show();
|
||||||
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').show();
|
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').show();
|
||||||
$('#total-checkout-price').parent().parent().parent().show();
|
$('#total-checkout-price').parent().parent().parent().show();
|
||||||
$('#no-products-in-checkout').hide();
|
$('#no-products-in-checkout').hide();
|
||||||
}else{
|
} else {
|
||||||
$('#form-section').hide();
|
$('#form-section').hide();
|
||||||
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
$('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
||||||
$('#total-checkout-price').parent().parent().parent().hide();
|
$('#total-checkout-price').parent().parent().parent().hide();
|
||||||
$('#no-products-in-checkout').show();
|
$('#no-products-in-checkout').show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$(document).on('input', '.select-quantity', function(){
|
$(document).on('input', '.select-quantity', function () {
|
||||||
getInfoFromSelectedProduct().done(function(response, status){
|
getInfoFromSelectedProduct().done(function (response, status) {
|
||||||
totalPrice = 0;
|
totalPrice = 0;
|
||||||
response.contents.forEach(function(product){
|
response.contents.forEach(function (product) {
|
||||||
let objProduct = getProductInfo(product);
|
let objProduct = getProductInfo(product);
|
||||||
objProduct = calculatePrice(objProduct);
|
objProduct = calculatePrice(objProduct);
|
||||||
totalPrice += objProduct.calc_preis*objProduct.quantity;
|
totalPrice += objProduct.calc_preis * objProduct.quantity;
|
||||||
});
|
});
|
||||||
$('#total-checkout-price').text(numberToEuroFormat(totalPrice));
|
$('#total-checkout-price').text(numberToEuroFormat(totalPrice));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$(window).on('load', google.maps.event, function(){
|
$(window).on('load', google.maps.event, function () {
|
||||||
let input = document.getElementById('field_location');
|
let input = document.getElementById('field_location');
|
||||||
let options = {
|
let options = {
|
||||||
types: ['address'],
|
types: ['address'],
|
||||||
|
@ -126,16 +128,16 @@ $(window).on('load', google.maps.event, function(){
|
||||||
var componentMap = {
|
var componentMap = {
|
||||||
country: 'country',
|
country: 'country',
|
||||||
locality: 'locality',
|
locality: 'locality',
|
||||||
administrative_area_level_1 : 'administrative_area_level_1',
|
administrative_area_level_1: 'administrative_area_level_1',
|
||||||
administrative_area_level_2 : 'administrative_area_level_2',
|
administrative_area_level_2: 'administrative_area_level_2',
|
||||||
postal_code: 'postal_code',
|
postal_code: 'postal_code',
|
||||||
route: 'route',
|
route: 'route',
|
||||||
street_number : 'street_number',
|
street_number: 'street_number',
|
||||||
};
|
};
|
||||||
$('#address-components').show();
|
$('#address-components').show();
|
||||||
let addressComponents = autocomplete.getPlace().address_components;
|
let addressComponents = autocomplete.getPlace().address_components;
|
||||||
let streetNumber = getAddressFiedlValue(addressComponents, 'street_number');
|
let streetNumber = getAddressFiedlValue(addressComponents, 'street_number');
|
||||||
if(streetNumber == '') {
|
if (streetNumber == '') {
|
||||||
$('#street-number').prop('disabled', false);
|
$('#street-number').prop('disabled', false);
|
||||||
$('#street-number').focus();
|
$('#street-number').focus();
|
||||||
}
|
}
|
||||||
|
@ -150,11 +152,11 @@ $(window).on('load', google.maps.event, function(){
|
||||||
$('#locality').val(locality);
|
$('#locality').val(locality);
|
||||||
let postalCode = getAddressFiedlValue(addressComponents, 'postal_code');
|
let postalCode = getAddressFiedlValue(addressComponents, 'postal_code');
|
||||||
$('#postal-code').val(postalCode);
|
$('#postal-code').val(postalCode);
|
||||||
$('#street-number').blur(function(){
|
$('#street-number').blur(function () {
|
||||||
if($('#street-number').val() == '') $('#street-number').focus();
|
if ($('#street-number').val() == '') $('#street-number').focus();
|
||||||
else{
|
else {
|
||||||
$('#street-number').prop('disabled', true);
|
$('#street-number').prop('disabled', true);
|
||||||
$('#field_location').val(route+' '+$('#street-number').val()+', '+locality+', '+country);
|
$('#field_location').val(route + ' ' + $('#street-number').val() + ', ' + locality + ', ' + country);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -29,6 +29,7 @@ function calculatePrice(objProduct) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function createProductElement(objProduct) {
|
function createProductElement(objProduct) {
|
||||||
|
if (!objProduct.image) objProduct.image = "";
|
||||||
calculatePrice(objProduct);
|
calculatePrice(objProduct);
|
||||||
let elementProduct = `
|
let elementProduct = `
|
||||||
<tr>
|
<tr>
|
||||||
|
|
Loading…
Reference in New Issue