Update Compass QoL Enhancer to 1.23.0
- Put the nav bar over or behind masks when necessary - Fix going to the first tab on hash changes on pages such as /Organise/Subjects/Subject.aspx
This commit is contained in:
parent
a44f32d37a
commit
a0f8954ba4
|
@ -2,7 +2,7 @@
|
|||
// @name Compass QoL Enhancer
|
||||
// @namespace blankie-scripts
|
||||
// @match http*://*.compass.education/*
|
||||
// @version 1.22.0
|
||||
// @version 1.23.0
|
||||
// @author blankie
|
||||
// @description A userscript that adds small but useful features for Compass, such as the ability to close windows by clicking on the background
|
||||
// @inject-into page
|
||||
|
@ -15,6 +15,7 @@ let qolTabOpened = false;
|
|||
let qolLearningTaskOpened = false;
|
||||
let modifyUrlHash = true;
|
||||
let shownWindows = 0;
|
||||
let productNavBar = document.querySelector("#productNavBar");
|
||||
|
||||
// needed because .toString() adds a trailing = for empty values
|
||||
URLSearchParams.prototype.laxToString = function() {
|
||||
|
@ -62,15 +63,17 @@ function getPanelItemHash(panelId, isDefault) {
|
|||
|
||||
|
||||
|
||||
// Prevent scrolling if a window is open
|
||||
// Prevent scrolling if a window is open, and put the nav bar over or behind masks when necessary
|
||||
function handleWindowShow() {
|
||||
shownWindows++;
|
||||
document.documentElement.style.overflow = "hidden";
|
||||
productNavBar.style.zIndex = "";
|
||||
}
|
||||
function handleWindowClose() {
|
||||
shownWindows--;
|
||||
if (shownWindows <= 0) {
|
||||
document.documentElement.style.overflow = "";
|
||||
productNavBar.style.zIndex = 20000;
|
||||
}
|
||||
}
|
||||
let Window = getExtClass("Ext.window.Window");
|
||||
|
@ -83,6 +86,10 @@ if (Window) {
|
|||
};
|
||||
}
|
||||
|
||||
if (productNavBar) {
|
||||
productNavBar.style.zIndex = 20000;
|
||||
}
|
||||
|
||||
// Prevent the dashboard tab in the user page being "dsh"
|
||||
let UserProfileNewWidget = getExtClass("Compass.widgets.UserProfileNewWidget");
|
||||
if (UserProfileNewWidget) {
|
||||
|
@ -483,10 +490,9 @@ function handleLearningTaskSubmissionTable(element) {
|
|||
}
|
||||
|
||||
// Make permissions grid more visible
|
||||
function handlePermissionsWindow(window) {
|
||||
let grid = window.down("grid");
|
||||
grid.el.dom.querySelector(".x-mask").remove();
|
||||
grid.body.dom.style.pointerEvents = "none";
|
||||
function handlePermissionsWindow(node) {
|
||||
node.querySelector(".x-mask").remove();
|
||||
node.querySelector(".x-grid-body").style.pointerEvents = "none";
|
||||
}
|
||||
|
||||
function handleCKEditor(instance) {
|
||||
|
@ -543,11 +549,8 @@ function handleNewNode(node, observer) {
|
|||
handleLearningTasksTable(node);
|
||||
} else if (node.classList.contains("x-grid-view") && unsafeWindow.Ext.getCmp(node.id).up("#submissionsPanel")) {
|
||||
handleLearningTaskSubmissionTable(node);
|
||||
} else if (node.classList.contains("x-window")) {
|
||||
let window = unsafeWindow.Ext.getCmp(node.id);
|
||||
if (window.title.startsWith("View Permissions for ")) {
|
||||
handlePermissionsWindow(window);
|
||||
}
|
||||
} else if (node.classList.contains("x-window") && node.querySelector(".x-window-header-text").innerText.startsWith("View Permissions for ")) {
|
||||
handlePermissionsWindow(node);
|
||||
}
|
||||
|
||||
if (node.classList.contains("cke")) {
|
||||
|
@ -634,7 +637,7 @@ window.addEventListener("hashchange", function(event) {
|
|||
panel = unsafeWindow.Ext.getCmp(panel.id);
|
||||
if (isActivityPage && hashSearch.has("openLearningTaskTab")) {
|
||||
panel.setActiveTab(getLearningTaskTab(panel));
|
||||
} else if (isActivityPage && hashSearch.size === 1) {
|
||||
} else if (hashSearch.size === 0 || (isActivityPage && hashSearch.size === 1)) {
|
||||
event.stopImmediatePropagation();
|
||||
panel.setActiveTab(panel.items.items[0]);
|
||||
} else {
|
||||
|
|
|
@ -60,6 +60,8 @@ A userscript that adds small but useful features for Compass. Features are:
|
|||
that prevents it from seeing links inside lesson plans and such
|
||||
- Files and folders in Resources are now sorted alphabetically
|
||||
- Reopening panel tabs and learning tasks when the URL changes
|
||||
- The main navigation bar is no longer hidden behind masks that don't span the
|
||||
entire viewport
|
||||
- The option to remember logins is unchecked by default
|
||||
- The dashboard tab in a user's profile no longer points you to #dsh
|
||||
- Pages can no longer be scrolled if a window is currently open
|
||||
|
|
Loading…
Reference in New Issue