master
			
			
		
		
							parent
							
								
									fe0980d45a
								
							
						
					
					
						commit
						9aef0568c7
					
				| 
						 | 
				
			
			@ -68,42 +68,23 @@
 | 
			
		|||
                                    <div class="mb-3">
 | 
			
		||||
                                        <label for="exampleInputPassword1" class="form-label">Adresse</label>
 | 
			
		||||
                                        <input type="text" class="form-control fieldLocation" id="field_location" name="adresse" placeholder="Neuenhammerstr. 44, 92714 Pleystein" id="exampleInputPassword1">
 | 
			
		||||
                                        
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Street Number</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="street-number" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Route</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="route" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Sublocality Level 1</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="sublocality-level-1" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Locality</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="locality" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Administrative Area Level 3</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="administrative-area-level-3" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Administrative Area Level 2</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="administrative-area-level-2" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Administrative Area Level 1</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="administrative-area-level-1" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Country</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="country" readonly>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="input-group">
 | 
			
		||||
                                            <span class="input-group-text" id="basic-addon3">Postal Code</span>
 | 
			
		||||
                                            <input type="text" class="form-control" id="postal-code" readonly>
 | 
			
		||||
                                        <div id="address-components" style="display: none;">
 | 
			
		||||
                                            <div class="input-group">
 | 
			
		||||
                                                <span class="input-group-text" id="basic-addon3">Street Number</span>
 | 
			
		||||
                                                <input type="text" class="form-control" id="street-number" disabled>
 | 
			
		||||
                                            </div>
 | 
			
		||||
                                            <div class="input-group">
 | 
			
		||||
                                                <span class="input-group-text" id="basic-addon3">Route</span>
 | 
			
		||||
                                                <input type="text" class="form-control" id="route" disabled>
 | 
			
		||||
                                            </div>
 | 
			
		||||
                                            <div class="input-group">
 | 
			
		||||
                                                <span class="input-group-text" id="basic-addon3">Locality</span>
 | 
			
		||||
                                                <input type="text" class="form-control" id="locality" disabled>
 | 
			
		||||
                                            </div>
 | 
			
		||||
                                            <div class="input-group">
 | 
			
		||||
                                                <span class="input-group-text" id="basic-addon3">Postal Code</span>
 | 
			
		||||
                                                <input type="text" class="form-control" id="postal-code" disabled>
 | 
			
		||||
                                            </div>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                    <div class="mb-3 form-check mb-4">
 | 
			
		||||
| 
						 | 
				
			
			@ -169,26 +150,26 @@
 | 
			
		|||
<script src="{{storage('assets/libs/intl-tel-input/js/intlTelInput.min.js')}}"></script>
 | 
			
		||||
<script>
 | 
			
		||||
    function clearAddressFields() {
 | 
			
		||||
        $('#address-components').hide();
 | 
			
		||||
        $('#street-number').val('');
 | 
			
		||||
        $('#street-number').prop('disabled', true);
 | 
			
		||||
        $('#route').val('');
 | 
			
		||||
        $('#sublocality-level-1').val('');
 | 
			
		||||
        $('#street-number').val('');
 | 
			
		||||
        $('#street-number').val('');
 | 
			
		||||
        $('#street-number').val('');
 | 
			
		||||
        $('#street-number').val('');
 | 
			
		||||
        $('#street-number').val('');
 | 
			
		||||
        $('#street-number').val('');
 | 
			
		||||
        $('#locality').val('');
 | 
			
		||||
        $('#postal-code').val('');
 | 
			
		||||
    }
 | 
			
		||||
    function getAddressFiedlValue(addressComponents, $field){
 | 
			
		||||
        let field = addressComponents.find(obj => obj.types.indexOf($field) > -1);
 | 
			
		||||
        return field != undefined?field.long_name:'';
 | 
			
		||||
    }
 | 
			
		||||
    function initialize() {
 | 
			
		||||
        clearAddressFields();
 | 
			
		||||
        let input = document.getElementById('field_location');
 | 
			
		||||
        let options = { componentRestrictions: {country: "de"} };
 | 
			
		||||
        let options = { 
 | 
			
		||||
            types: ['address'],
 | 
			
		||||
            componentRestrictions: { country: "de" }
 | 
			
		||||
        };
 | 
			
		||||
        var autocomplete = new google.maps.places.Autocomplete(input, options);
 | 
			
		||||
        autocomplete.addListener("place_changed", () => {
 | 
			
		||||
            clearAddressFields();
 | 
			
		||||
            const place = autocomplete.getPlace();
 | 
			
		||||
            if (!place.geometry) return;
 | 
			
		||||
            var componentMap = {
 | 
			
		||||
| 
						 | 
				
			
			@ -200,17 +181,31 @@
 | 
			
		|||
                route: 'route',
 | 
			
		||||
                street_number : 'street_number',
 | 
			
		||||
            };
 | 
			
		||||
            $('#address-components').show();
 | 
			
		||||
            let addressComponents = autocomplete.getPlace().address_components;
 | 
			
		||||
            console.log(addressComponents);
 | 
			
		||||
            $('#street-number').val(getAddressFiedlValue(addressComponents, 'street_number'));
 | 
			
		||||
            $('#route').val(getAddressFiedlValue(addressComponents, 'route'));
 | 
			
		||||
            $('#sublocality-level-1').val(getAddressFiedlValue(addressComponents, 'sublocality_level_1'));
 | 
			
		||||
            $('#locality').val(getAddressFiedlValue(addressComponents, 'locality'));
 | 
			
		||||
            $('#administrative-area-level-3').val(getAddressFiedlValue(addressComponents, 'administrative_area_level_3'));
 | 
			
		||||
            $('#administrative-area-level-2').val(getAddressFiedlValue(addressComponents, 'administrative_area_level_2'));
 | 
			
		||||
            $('#administrative-area-level-1').val(getAddressFiedlValue(addressComponents, 'administrative_area_level_1'));
 | 
			
		||||
            $('#country').val(getAddressFiedlValue(addressComponents, 'country'));
 | 
			
		||||
            $('#postal-code').val(getAddressFiedlValue(addressComponents, 'postal_code'));
 | 
			
		||||
            let streetNumber = getAddressFiedlValue(addressComponents, 'street_number');
 | 
			
		||||
            if(streetNumber == '') {
 | 
			
		||||
                $('#street-number').prop('disabled', false);
 | 
			
		||||
                $('#street-number').focus();
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                $('#street-number').prop('disabled', true);
 | 
			
		||||
                $('#street-number').val(streetNumber);
 | 
			
		||||
            }
 | 
			
		||||
            let country = getAddressFiedlValue(addressComponents, 'country');
 | 
			
		||||
            let route = getAddressFiedlValue(addressComponents, 'route');
 | 
			
		||||
            $('#route').val(route);
 | 
			
		||||
            let locality = getAddressFiedlValue(addressComponents, 'locality');
 | 
			
		||||
            $('#locality').val(locality);
 | 
			
		||||
            let postalCode = getAddressFiedlValue(addressComponents, 'postal_code');
 | 
			
		||||
            $('#postal-code').val(postalCode);
 | 
			
		||||
            $('#street-number').blur(function(){
 | 
			
		||||
                if($('#street-number').val() == '') $('#street-number').focus();
 | 
			
		||||
                else{
 | 
			
		||||
                    $('#street-number').prop('disabled', true);
 | 
			
		||||
                    $('#field_location').val(route+' '+$('#street-number').val()+', '+locality+', '+country);
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -227,18 +222,6 @@
 | 
			
		|||
        utilsScript: "{{storage('assets/libs/intl-tel-input/js/utils.min.js')}}",
 | 
			
		||||
    });
 | 
			
		||||
    $(window).on('load', function(){
 | 
			
		||||
        if(localStorage.getItem("products") != null) objProducts = JSON.parse(localStorage.getItem("products"));
 | 
			
		||||
        let ids = objProducts.map(obj => obj.id);
 | 
			
		||||
        $.get($('meta[name="get-contents"]').attr('content')+"/"+ids.join(","), function(response, status){
 | 
			
		||||
            response.contents.forEach(function(item){
 | 
			
		||||
                $('#list-products').append(`<tr>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <img class="rounded img-fluid me-2" src="https://picsum.photos/25/25">${item.title}
 | 
			
		||||
                    </td>
 | 
			
		||||
                    <td class="align-middle text-end">${formatter.format(item.data_fields.preis)}</td>
 | 
			
		||||
                </tr>`);
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
        $('#anfrage').submit(function(){
 | 
			
		||||
            objProducts = [];
 | 
			
		||||
            updateProductsInLocalStorage();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue