Files
Gainsight/Scripts/tmp.js
2025-04-23 16:18:17 -04:00

167 lines
5.3 KiB
JavaScript

window.addEventListener(
"message",
(event) => {
if(event.origin.indexOf('qualtrics.com') > -1){
let footer = document.querySelector('footer');
if(footer !== null){
footer.querySelector('.deLeqc').children[0].replaceWith(preservedContinueButton);
}
}
},
false,
);
window.onload = () => {
hideNextCourseButtonLp();
autoFSMutationObserver();
eoqMutationObserver();
mockMilestoneMutationObserver();
};
let autoFSMutationObserver = () => {
let observer;
let config = {
attributes: true,
childList: true,
subtree: true
};
observer = new MutationObserver(() => {
let fullscreenButton = document.querySelector('button[data-test="with-fullscreen-button"]');
if(fullscreenButton){
if(!document.querySelector('.iSRNPB')){
setTimeout(() => {
fullscreenButton.click();
observer.disconnect();
observer.observe(document, config);
}, 500);
}
}
})
observer.observe(document, config);
}
function hideNextCourseButtonLp() {
let observer = new MutationObserver(callback);
let config = { attributes: true, childList: true, subtree: true };
observer.observe(document.body, config);
}
function callback(mutationsList, observer) {
for(let mutation of mutationsList) {
if (mutation.type === 'childList') {
let button = document.querySelector('[data-test="primary-button"]');
if (button) {
if (window.location.pathname.includes('learning_paths')) {
button.style.display = 'none';
}
}
}
}
}
let eoqMutationObserver = () => {
let observer;
let config = {
attributes: true,
childList: true,
subtree: true
};
let observeStarter = () => {
observer.observe(document,config);
}
let callback1 = () => {
if(document.querySelector('[data-test="activity-title"]').innerHTML == 'Personal Lines Checkpoint 1') {
document.querySelector('[data-test="continue-button"]').style.color = "grey";
document.querySelector('[data-test="continue-button"]').style.background = "orange";
}
observer.disconnect();
observeStarter();
};
let callback2 = () => {
if(document.querySelector('[data-test="activity-title"]').innerHTML == 'Personal Lines Checkpoint 1') {
document.querySelector('[data-test="continue-button"]').style.color = "purple";
document.querySelector('[data-test="continue-button"]').style.background = "white";
}
observer.disconnect();
observeStarter();
};
observer = new MutationObserver(() => {
if(document.querySelector('[data-test="activity-body"]')){
callback1();
};
if(document.querySelector('#EndOfSurvey')) {
callback2();
};
})
observer.observe(document, config);
}
/*
let preservedContinueButton;
let mockMilestoneMutationObserver = () => {
let config = {
attributes: true,
childList: true,
subtree: true
};
let mockMilestoneObserver = new MutationObserver(() => {
let activityTitle = document.querySelector('[data-test="activity-title"]');
let footer = document.querySelector('footer');
if(activityTitle &&
(activityTitle.textContent.toLowerCase().indexOf('feedback') > -1) &&
footer){
let navButtons = footer.querySelector('.deLeqc').children;
preservedContinueButton = navButtons[0];
if(navButtons != null){
let mockMilestoneWrapper = document.createElement('div');
mockMilestoneWrapper.setAttribute('title', 'Please make sure to complete the survey to continue');
mockMilestoneWrapper.setAttribute('aria-describedby', ':r0:');
let mockMilestoneButton = document.createElement('button');
mockMilestoneButton.classList.add('ButtonContainer-sc-1lz9u5r-2');
mockMilestoneButton.classList.add('dxvqSB');
mockMilestoneButton.setAttribute('type', 'button');
mockMilestoneButton.setAttribute('data-test', 'disabled-continue-button');
mockMilestoneButton.setAttribute('disabled', true);
let mockMilestoneText = document.createElement('span');
mockMilestoneText.classList.add('Label-sc-1lz9u5r-0');
mockMilestoneText.classList.add('hlPxhH');
mockMilestoneText.textContent = 'Continue';
let mockMilestoneChevron = document.createElement('i');
mockMilestoneChevron.classList.add('chevron');
mockMilestoneChevron.classList.add('chevron--right');
mockMilestoneChevron.classList.add('far');
mockMilestoneChevron.classList.add('fa-chevron-right');
mockMilestoneChevron.setAttribute('data-test','chevron');
mockMilestoneWrapper.appendChild(mockMilestoneButton);
mockMilestoneButton.appendChild(mockMilestoneText);
mockMilestoneButton.appendChild(mockMilestoneChevron);
navButtons[0].replaceWith(mockMilestoneWrapper);
}
mockMilestoneObserver.disconnect();
}
})
mockMilestoneObserver.observe(document, config);
*/
}