Retain diagnostic info across refresh
This commit is contained in:
parent
7a960cd8d6
commit
bc0b2f6c6c
1 changed files with 75 additions and 58 deletions
|
|
@ -103,68 +103,87 @@ body {
|
||||||
// =============== Check for session info:
|
// =============== Check for session info:
|
||||||
const existingVuexDataJSON = window.localStorage.getItem('vuex');
|
const existingVuexDataJSON = window.localStorage.getItem('vuex');
|
||||||
const existingVuexData = existingVuexDataJSON ? JSON.parse(existingVuexDataJSON) : null;
|
const existingVuexData = existingVuexDataJSON ? JSON.parse(existingVuexDataJSON) : null;
|
||||||
|
const existingBailoutInfoJSON = window.sessionStorage.getItem('bailoutInfo');
|
||||||
|
const existingBailoutInfo = existingBailoutInfoJSON ? JSON.parse(existingBailoutInfoJSON) : null;
|
||||||
|
|
||||||
console.log(`================ VUEX DATA`);
|
console.log(`================ VUEX DATA`);
|
||||||
console.log(existingVuexData);
|
console.log(existingVuexData);
|
||||||
|
console.log(`================ PRIOR BAILOUT DATA`);
|
||||||
|
console.log(existingBailoutInfo);
|
||||||
|
|
||||||
// If no info exists, exit.
|
let bailoutInfo = null;
|
||||||
if(!existingVuexData) {
|
|
||||||
|
if(existingVuexData) {
|
||||||
|
try {
|
||||||
|
// =============== Collect diagnostic data:
|
||||||
|
bailoutInfo = [];
|
||||||
|
|
||||||
|
// App & Site Name
|
||||||
|
bailoutInfo.push({ name: 'App Name', value: 'FixMyGlass' });
|
||||||
|
bailoutInfo.push({ name: 'Site Name', value: 'SafeliteDotcom' });
|
||||||
|
|
||||||
|
// Not included (yet) from heritage:
|
||||||
|
// - Site ID
|
||||||
|
// - Code
|
||||||
|
// - Module
|
||||||
|
// - Page
|
||||||
|
|
||||||
|
bailoutInfo.push({ name: 'Timestamp', value: `${new Date()}` });
|
||||||
|
|
||||||
|
// - URL
|
||||||
|
// - Server
|
||||||
|
|
||||||
|
const sessionId = getCookieValueByName('sid');
|
||||||
|
bailoutInfo.push({ name: 'Session Id', value: sessionId });
|
||||||
|
|
||||||
|
const userAgent = window.navigator.userAgent;
|
||||||
|
bailoutInfo.push({ name: 'User Agent', value: userAgent });
|
||||||
|
|
||||||
|
// - IP
|
||||||
|
// - Session Log Sequence Number
|
||||||
|
|
||||||
|
bailoutInfo.push({ name: 'Referral Seq Number', value: existingVuexData.order?.referralSequenceNumber });
|
||||||
|
bailoutInfo.push({ name: 'Referral Number', value: existingVuexData.order?.referralNumber });
|
||||||
|
bailoutInfo.push({ name: 'Referral Date', value: existingVuexData.order?.referralDate });
|
||||||
|
bailoutInfo.push({ name: 'Referral Provider Number', value: existingVuexData.order?.serviceLocation?.provider?.providerNumber });
|
||||||
|
bailoutInfo.push({ name: 'Referral CTU', value: existingVuexData.order?.serviceLocation?.provider?.address?.zipCodeCtu });
|
||||||
|
|
||||||
|
// - Referral Insured Zip
|
||||||
|
// - Referral Insured Service Zip
|
||||||
|
|
||||||
|
bailoutInfo.push({ name: 'Referral CarID', value: existingVuexData.order?.vehicle?.carId });
|
||||||
|
|
||||||
|
const vehicle = existingVuexData.order?.vehicle;
|
||||||
|
const vehicleString = vehicle?.year
|
||||||
|
? `${vehicle.year} ${vehicle.make} ${vehicle.model} - ${vehicle.style}`
|
||||||
|
: null;
|
||||||
|
bailoutInfo.push({ name: 'Referral Vehicle', value: vehicleString });
|
||||||
|
bailoutInfo.push({ name: 'Work Order Number', value: existingVuexData.order?.workOrderNumber });
|
||||||
|
bailoutInfo.push({ name: 'Work Order ID', value: existingVuexData.order?.workOrderId });
|
||||||
|
bailoutInfo.push({ name: 'Parent Account Number', value: existingVuexData.order?.payment?.parentAccountNumber });
|
||||||
|
|
||||||
|
// - Parent Account Name
|
||||||
|
// - Client GUID
|
||||||
|
} finally {
|
||||||
|
// If any information gathered, write to session storage.
|
||||||
|
if(bailoutInfo) {
|
||||||
|
window.sessionStorage.setItem('bailoutInfo', JSON.stringify(bailoutInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Then *always* clear vuex data.
|
||||||
|
window.localStorage.removeItem('vuex');
|
||||||
|
}
|
||||||
|
} else if(existingBailoutInfo) {
|
||||||
|
// Proceed with prior data.
|
||||||
|
bailoutInfo = existingBailoutInfo;
|
||||||
|
} else {
|
||||||
|
// If neither fresh nor prior data exists, remove diagnostic section.
|
||||||
const diagnosticContainer = document.getElementById('diagnostic-container');
|
const diagnosticContainer = document.getElementById('diagnostic-container');
|
||||||
diagnosticContainer.remove();
|
diagnosticContainer.remove();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// =============== Collect diagnostic data:
|
|
||||||
const bailoutInfo = [];
|
|
||||||
|
|
||||||
// App & Site Name
|
|
||||||
bailoutInfo.push({ name: 'App Name', value: 'FixMyGlass' });
|
|
||||||
bailoutInfo.push({ name: 'Site Name', value: 'SafeliteDotcom' });
|
|
||||||
|
|
||||||
// Not included (yet) from heritage:
|
|
||||||
// - Site ID
|
|
||||||
// - Code
|
|
||||||
// - Module
|
|
||||||
// - Page
|
|
||||||
|
|
||||||
bailoutInfo.push({ name: 'Timestamp', value: `${new Date()}` });
|
|
||||||
|
|
||||||
// - URL
|
|
||||||
// - Server
|
|
||||||
|
|
||||||
const sessionId = getCookieValueByName('sid');
|
|
||||||
bailoutInfo.push({ name: 'Session Id', value: sessionId });
|
|
||||||
|
|
||||||
const userAgent = window.navigator.userAgent;
|
|
||||||
bailoutInfo.push({ name: 'User Agent', value: userAgent });
|
|
||||||
|
|
||||||
// - IP
|
|
||||||
// - Session Log Sequence Number
|
|
||||||
|
|
||||||
bailoutInfo.push({ name: 'Referral Seq Number', value: existingVuexData.order?.referralSequenceNumber });
|
|
||||||
bailoutInfo.push({ name: 'Referral Number', value: existingVuexData.order?.referralNumber });
|
|
||||||
bailoutInfo.push({ name: 'Referral Date', value: existingVuexData.order?.referralDate });
|
|
||||||
bailoutInfo.push({ name: 'Referral Provider Number', value: existingVuexData.order?.serviceLocation?.provider?.providerNumber });
|
|
||||||
bailoutInfo.push({ name: 'Referral CTU', value: existingVuexData.order?.serviceLocation?.provider?.address?.zipCodeCtu });
|
|
||||||
|
|
||||||
// - Referral Insured Zip
|
|
||||||
// - Referral Insured Service Zip
|
|
||||||
|
|
||||||
bailoutInfo.push({ name: 'Referral CarID', value: existingVuexData.order?.vehicle?.carId });
|
|
||||||
|
|
||||||
const vehicle = existingVuexData.order?.vehicle;
|
|
||||||
const vehicleString = vehicle?.year
|
|
||||||
? `${vehicle.year} ${vehicle.make} ${vehicle.model} - ${vehicle.style}`
|
|
||||||
: null;
|
|
||||||
bailoutInfo.push({ name: 'Referral Vehicle', value: vehicleString });
|
|
||||||
bailoutInfo.push({ name: 'Work Order Number', value: existingVuexData.order?.workOrderNumber });
|
|
||||||
bailoutInfo.push({ name: 'Work Order ID', value: existingVuexData.order?.workOrderId });
|
|
||||||
bailoutInfo.push({ name: 'Parent Account Number', value: existingVuexData.order?.payment?.parentAccountNumber });
|
|
||||||
|
|
||||||
// - Parent Account Name
|
|
||||||
// - Client GUID
|
|
||||||
|
|
||||||
// =============== Display diagnostic data:
|
// =============== Display diagnostic data:
|
||||||
// Create display nodes
|
// Create display nodes
|
||||||
const elements = bailoutInfo.map(
|
const elements = bailoutInfo.map(
|
||||||
|
|
@ -190,13 +209,11 @@ body {
|
||||||
const ul = attachNode.appendChild(document.createElement('ul'));
|
const ul = attachNode.appendChild(document.createElement('ul'));
|
||||||
ul.append(fragment);
|
ul.append(fragment);
|
||||||
}
|
}
|
||||||
} catch(e) {
|
} finally {
|
||||||
|
// =============== Clear User Data
|
||||||
|
// ======== To avoid reproducing the same issue due to invalid states.
|
||||||
|
window.localStorage.removeItem('vuex');
|
||||||
}
|
}
|
||||||
|
|
||||||
// =============== Clear User Data
|
|
||||||
// ======== To avoid reproducing the same issue due to invalid states.
|
|
||||||
window.localStorage.removeItem('vuex');
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue