, but this code
// executes before the first paint, when
is not yet present. The
// classes are added to so styling immediately reflects the current
// toolbar state. The classes are removed after the toolbar completes
// initialization.
const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker'];
if (toolbarState) {
const {
orientation,
hasActiveTab,
isFixed,
activeTray,
activeTabId,
isOriented,
userButtonMinWidth
} = toolbarState;
classesToAdd.push(
orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal',
);
if (hasActiveTab !== false) {
classesToAdd.push('toolbar-tray-open');
}
if (isFixed) {
classesToAdd.push('toolbar-fixed');
}
if (isOriented) {
classesToAdd.push('toolbar-oriented');
}
if (activeTray) {
// These styles are added so the active tab/tray styles are present
// immediately instead of "flickering" on as the toolbar initializes. In
// instances where a tray is lazy loaded, these styles facilitate the
// lazy loaded tray appearing gracefully and without reflow.
const styleContent = `
.toolbar-loading #` + activeTabId + ` {
background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%);
}
.toolbar-loading #` + activeTabId + `-tray {
display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%);
border-right: 1px solid #aaa; background-color: #f5f5f5;
z-index: 0;
}
.toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray {
width: 15rem; height: 100vh;
}
.toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`;
const style = document.createElement('style');
style.textContent = styleContent;
style.setAttribute('data-toolbar-anti-flicker-loading', true);
document.querySelector('head').appendChild(style);
if (userButtonMinWidth) {
const userButtonStyle = document.createElement('style');
userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}`
document.querySelector('head').appendChild(userButtonStyle);
}
}
}
document.querySelector('html').classList.add(...classesToAdd);
})();
Spring Courses Rhetoric Across the Curriculum | ÃÛÌÒapp
Skip to main content
Spring 2024 Course | Instructor |
Biology 395 | David Dornbos |
Biology 396 | Crystal Barrett |
Business 394 | Scott Rush |
Business 394 | Rachel Hammond |
Chemistry and Biochemistry 396 | Kumar Sinniah |
Communication 141 | Kathi Groenendyk |
Communication 200 | Garth Pauley |
Communication 265 | Kathi Groenendyk |
Communication 311 | Garth Pauley |
Computer Science 384 | Derek Schuurman |
Economics 338 | Vladimir Snurenco |
French 352 | Jolene Vos-Camy |
History 294 | Kate van Liere |
History 331 | Darrell Rohl |
History 353 | Kristin DuMez |
Kinesiology 332 | Jerry Bergsma |
Mathetmatics 301 | Jim Turner |
Music 302 | Tim Steele |
Nursing 380 | Katherine Kunnan |
Philosophy 293 | Kevin Timpe |
Politics 307 | Nadejda Bontcheva-Loyaga |
Politics 309 | Joel Westra |
Psychology 256 | Don Tellinghuisen |
Social Work 355 | Hennie Schoon |
SPAUD 599/399 | Peggy Goetz |
Statistics 245 | Stacy DeRuiter |
Statistics 344 | Todd Kapitula |
Studio Art 399 | Brent Williams |