feat: remove page reloads on scan, use DOM updates for speed
This commit is contained in:
@@ -116,9 +116,9 @@ def execute_pipeline(actions, barcode, context):
|
||||
|
||||
placeholders = ', '.join(['?'] * len(cols))
|
||||
sql = f"INSERT INTO {context['table_name']} ({', '.join(cols)}) VALUES ({placeholders})"
|
||||
execute_db(sql, vals)
|
||||
new_id = execute_db(sql, vals)
|
||||
|
||||
return {'success': True, 'message': 'Saved Successfully', 'data': field_values}
|
||||
return {'success': True, 'message': 'Saved Successfully', 'detail_id': new_id, 'data': field_values}
|
||||
except Exception as e:
|
||||
return {'success': False, 'message': f"Database Error: {str(e)}", 'data': field_values}
|
||||
else:
|
||||
|
||||
@@ -307,8 +307,12 @@ function processSmartScan(barcode, confirm = false) {
|
||||
feedbackArea.style.border = '1px solid #28a745';
|
||||
feedbackText.style.color = '#28a745';
|
||||
feedbackText.textContent = data.message;
|
||||
if (data.message.includes('Saved')) setTimeout(() => location.reload(), 800);
|
||||
} else {
|
||||
if (data.detail_id && data.data) {
|
||||
addScanToList(data.detail_id, data.data, data.data.duplicate_status);
|
||||
}
|
||||
setTimeout(() => feedbackArea.style.display = 'none', 1000);
|
||||
}
|
||||
else {
|
||||
feedbackArea.style.background = 'rgba(220, 53, 69, 0.2)';
|
||||
feedbackArea.style.border = '1px solid #dc3545';
|
||||
feedbackText.style.color = '#dc3545';
|
||||
@@ -357,8 +361,12 @@ function saveSmartScanData() {
|
||||
.then(data => {
|
||||
if (data.success) {
|
||||
document.getElementById('fieldsModal').style.display = 'none';
|
||||
// Optional: Small delay to let the user see it worked
|
||||
setTimeout(() => location.reload(), 300);
|
||||
if (data.detail_id && data.data) {
|
||||
addScanToList(data.detail_id, data.data, data.data.duplicate_status);
|
||||
}
|
||||
currentDupKeyValue = '';
|
||||
smartInput.value = '';
|
||||
smartInput.focus();
|
||||
} else if (data.needs_input) {
|
||||
alert("Error: Please fill in all required fields.");
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user