Merge branch 'feature-product' into development
WMS API/ECOMMERCE/pipeline/head This commit looks good
Details
WMS API/ECOMMERCE/pipeline/head This commit looks good
Details
This commit is contained in:
commit
7aa57f6082
|
|
@ -122,7 +122,7 @@
|
|||
<div class="col-sm-6">
|
||||
<div class="position-relative">
|
||||
<label class="form-label">{{ __('addresses.phone') }}</label>
|
||||
<input type="tel" class="form-control new-phone" required>
|
||||
<input type="number" class="form-control new-phone" required>
|
||||
<div class="invalid-feedback">{{ __('addresses.please_enter_phone') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -169,7 +169,7 @@
|
|||
<div class="col-sm-6">
|
||||
<div class="position-relative">
|
||||
<label class="form-label">{{ __('addresses.zip_code') }}</label>
|
||||
<input type="text" class="form-control new-zip" required>
|
||||
<input type="number" class="form-control new-zip" required>
|
||||
<div class="invalid-feedback">{{ __('addresses.please_enter_zip_code') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1066,7 +1066,7 @@
|
|||
|
||||
// Get postal code
|
||||
const zipInput = isNewAddress ?
|
||||
form.querySelector('#new-zip') : form.querySelector('.postal_code');
|
||||
form.querySelector('.new-zip') : form.querySelector('.postal_code');
|
||||
if (zipInput) submitData.postal_code = zipInput.value;
|
||||
|
||||
// Get latitude
|
||||
|
|
@ -1122,9 +1122,34 @@
|
|||
if (isNewAddress) {
|
||||
// Close modal and reload page
|
||||
setTimeout(() => {
|
||||
const modal = bootstrap.Modal.getInstance(newAddressModal);
|
||||
if (modal) modal.hide();
|
||||
reloadAddresses();
|
||||
// Try multiple methods to close the modal
|
||||
try {
|
||||
// Method 1: Using Bootstrap 5 API if available
|
||||
if (typeof bootstrap !== 'undefined' && bootstrap.Modal) {
|
||||
const modal = bootstrap.Modal.getInstance(newAddressModal);
|
||||
if (modal) modal.hide();
|
||||
} else {
|
||||
// Method 2: Using jQuery if available
|
||||
if (typeof $ !== 'undefined') {
|
||||
$(newAddressModal).modal('hide');
|
||||
} else {
|
||||
// Method 3: Using native DOM manipulation
|
||||
newAddressModal.style.display = 'none';
|
||||
document.body.classList.remove('modal-open');
|
||||
const backdrop = document.querySelector('.modal-backdrop');
|
||||
if (backdrop) backdrop.remove();
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('Error closing modal:', error);
|
||||
// Fallback: hide modal manually
|
||||
newAddressModal.style.display = 'none';
|
||||
}
|
||||
|
||||
// Refresh page after successful submission
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 500);
|
||||
}, 1500);
|
||||
} else {
|
||||
// Close the edit form and show preview after delay
|
||||
|
|
@ -1143,6 +1168,7 @@
|
|||
reloadAddresses();
|
||||
}, 2000);
|
||||
}
|
||||
|
||||
} else {
|
||||
// Show error message in form
|
||||
const errorElement = form.querySelector(isNewAddress ?
|
||||
|
|
|
|||
|
|
@ -107,62 +107,30 @@
|
|||
<a type="button" href="{{ route('addresses') }}"
|
||||
class="btn btn-outline-primary btn-sm">Edit</a>
|
||||
</div>
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label for="firstName"
|
||||
class="form-label">{{ __('checkout.first_name') }}</label>
|
||||
<input type="text" class="form-control" id="firstName" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
<div class="row g-1">
|
||||
<div>
|
||||
<span id="firstName"></span>
|
||||
(<span id="phone"></span>)
|
||||
|
||||
</div>
|
||||
{{-- <div class="col-md-6">
|
||||
<label for="lastName"
|
||||
class="form-label">{{ __('checkout.last_name') }}</label>
|
||||
<input type="text" class="form-control" id="lastName" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
</div> --}}
|
||||
<div class="col-12">
|
||||
<label for="phone"
|
||||
class="form-label">{{ __('checkout.phone') }}</label>
|
||||
<input type="tel" class="form-control" id="phone" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
|
||||
<div id="address"></div>
|
||||
|
||||
<div>
|
||||
<span id="city"></span>,
|
||||
<span id="state"></span>, <span id="zip"></span>
|
||||
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label for="address"
|
||||
class="form-label">{{ __('checkout.address') }}</label>
|
||||
<input type="text" class="form-control" id="address" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
|
||||
<div>
|
||||
<span id="latitude"></span>,
|
||||
<span id="longitude"></span>
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="city"
|
||||
class="form-label">{{ __('checkout.city') }}</label>
|
||||
<input type="text" class="form-control" id="city" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label for="state"
|
||||
class="form-label">{{ __('checkout.state') }}</label>
|
||||
<input type="text" class="form-control" id="state" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="zip"
|
||||
class="form-label">{{ __('checkout.zip') }}</label>
|
||||
<input type="text" class="form-control" id="zip" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="latitude"
|
||||
class="form-label">Latitude</label>
|
||||
<input type="text" class="form-control" id="latitude" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="longitude"
|
||||
class="form-label">Longitude</label>
|
||||
<input type="text" class="form-control" id="longitude" readonly
|
||||
style="border: none; background-color: #f8f9fa;">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -330,15 +298,16 @@
|
|||
|
||||
if (selectedOption && selectedOption.value) {
|
||||
// Populate all shipping address form fields
|
||||
document.getElementById('firstName').value = selectedOption.dataset.firstName || '';
|
||||
document.getElementById('firstName').textContent = selectedOption.dataset.firstName || '';
|
||||
// document.getElementById('lastName').value = selectedOption.dataset.lastName || '';
|
||||
document.getElementById('address').value = selectedOption.dataset.address || '';
|
||||
document.getElementById('city').value = selectedOption.dataset.city || '';
|
||||
document.getElementById('state').value = selectedOption.dataset.state || '';
|
||||
document.getElementById('zip').value = selectedOption.dataset.postcode || '';
|
||||
document.getElementById('phone').value = selectedOption.dataset.phone || '';
|
||||
document.getElementById('latitude').value = selectedOption.dataset.latitude || '';
|
||||
document.getElementById('longitude').value = selectedOption.dataset.longitude || '';
|
||||
document.getElementById('address').textContent = selectedOption.dataset.address || '';
|
||||
document.getElementById('city').textContent = selectedOption.dataset.city || '';
|
||||
document.getElementById('state').textContent = selectedOption.dataset.state || '';
|
||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
||||
document.getElementById('phone').textContent = selectedOption.dataset.phone || '';
|
||||
document.getElementById('latitude').textContent = selectedOption.dataset.latitude || '';
|
||||
document.getElementById('longitude').textContent = selectedOption.dataset.longitude || '';
|
||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
||||
|
||||
// Update order summary with postcode
|
||||
if (selectedOption.dataset.postcode) {
|
||||
|
|
@ -359,30 +328,34 @@
|
|||
|
||||
if (this.value === 'new' || this.value === '') {
|
||||
// Clear form fields for new address
|
||||
document.getElementById('firstName').value = '';
|
||||
document.getElementById('firstName').textContent = '';
|
||||
// document.getElementById('lastName').value = '';
|
||||
document.getElementById('address').value = '';
|
||||
document.getElementById('city').value = '';
|
||||
document.getElementById('state').value = '';
|
||||
document.getElementById('zip').value = '';
|
||||
document.getElementById('phone').value = '';
|
||||
document.getElementById('latitude').value = '';
|
||||
document.getElementById('longitude').value = '';
|
||||
document.getElementById('zip').value = '';
|
||||
document.getElementById('address').textContent = '';
|
||||
document.getElementById('city').textContent = '';
|
||||
document.getElementById('state').textContent = '';
|
||||
document.getElementById('zip').textContent = '';
|
||||
document.getElementById('phone').textContent = '';
|
||||
document.getElementById('latitude').textContent = '';
|
||||
document.getElementById('longitude').textContent = '';
|
||||
document.getElementById('zip').textContent = '';
|
||||
// Clear address ID input
|
||||
document.getElementById('addressIdInput').value = '';
|
||||
} else {
|
||||
// Populate form fields with selected address
|
||||
document.getElementById('firstName').value = selectedOption.dataset.firstName || '';
|
||||
document.getElementById('firstName').textContent = selectedOption.dataset
|
||||
.firstName || '';
|
||||
// document.getElementById('lastName').value = selectedOption.dataset.lastName || '';
|
||||
document.getElementById('address').value = selectedOption.dataset.address || '';
|
||||
document.getElementById('city').value = selectedOption.dataset.city || '';
|
||||
document.getElementById('state').value = selectedOption.dataset.state || '';
|
||||
document.getElementById('zip').value = selectedOption.dataset.postcode || '';
|
||||
document.getElementById('phone').value = selectedOption.dataset.phone || '';
|
||||
document.getElementById('latitude').value = selectedOption.dataset.latitude || '';
|
||||
document.getElementById('longitude').value = selectedOption.dataset.longitude || '';
|
||||
document.getElementById('zip').value = selectedOption.dataset.postcode || '';
|
||||
document.getElementById('address').textContent = selectedOption.dataset.address ||
|
||||
'';
|
||||
document.getElementById('city').textContent = selectedOption.dataset.city || '';
|
||||
document.getElementById('state').textContent = selectedOption.dataset.state || '';
|
||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
||||
document.getElementById('phone').textContent = selectedOption.dataset.phone || '';
|
||||
document.getElementById('latitude').textContent = selectedOption.dataset.latitude ||
|
||||
'';
|
||||
document.getElementById('longitude').textContent = selectedOption.dataset
|
||||
.longitude || '';
|
||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
||||
// Update address ID input
|
||||
document.getElementById('addressIdInput').value = this.value;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue