167 lines
5.3 KiB
JavaScript
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);
|
||
|
|
*/
|
||
|
|
}
|