Remove the "calculate grade based only on graded assignments" option

Jump to solution
RoniMargalit
Community Member

Hi! We do not run a traditionally graded course -- we run a professional education course. We'd like to remove the check box that is automatically checked that says "calculate based only on graded assignments." We'd like the grades tab always show their progress on all assignments so that there's no confusion about the course requirements. Is this possible?

 

Similarly -- can we remove the blue dot "what if" option? It is not relevant for our learners and is so confusing for them.

Labels (2)
2 Solutions
jerry_nguyen
Community Contributor

@RoniMargalit 

There is no setting to turn off that option permanently. However, if you are an Admin, you can upload a custom Javascript (JS) to "click" (to un-tick) that checkbox when the "Marks" page is loaded

$(window).on("load", function(){ //Load the script when the page is "loaded"
if (window.location.href.match('/grades')) { //only run this script on Grades or Marks page
$("#only_consider_graded_assignments").click() //Click the checkbox
// $("#only_consider_graded_assignments_wrapper").css("display", "none"); // remove '//' before this line if you want to remove the checkbox from the page
}
})

Similarly for the "What If", you can upload a custom cascading style sheets (CSS) to disable mouse events (E.g. click on the score to activate what-if) 

td.assignment_score {
    pointer-events: none;
}

Please note, that these scripts will only work on the browser version of Canvas (E.g. not Canvas Student app), and students can always disable custom JS/CSS from being loaded. 

View solution in original post

Hi @canvas_admin,

I would assume that Instructure's upgrades of the jQuery library are the culprit.  I ran that code through a converter to vanilla javascript and got this as a result.  You can try this vanilla code to see if it works as intended (a bit more error handling would probably be good, but I just cobbled this together quickly):

 

function click_grades_checkbox() {
if (window.location.href.match('/grades')) { 
document.getElementById("only_consider_graded_assignments").click()
}};

if (document.readyState === 'complete' || (document.readyState !== 'loading' && !document.documentElement.doScroll)) {
	click_grades_checkbox();
} else {
	document.addEventListener('DOMContentLoaded', click_grades_checkbox);
}

 

-Chris

View solution in original post