, 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); })(); TEACHER, MANAGER, DEVELOPER, ADVOCATE - News & Stories | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Publications

TEACHER, MANAGER, DEVELOPER, ADVOCATE

Mon, May 15, 2023
Kristine Johnson

"With responsibilities ranging from grade arbiter and scheduler to teaching mentor and researcher, writing program administrators (WPAs) are multifunctional workers. Writing program administration is not one thing but many things, and this diversity of labor has been formalized in documents such as the 鈥淧ortland Resolution鈥(Council of Writing Program Administrators 1992) and 鈥淓valuating the Intellectual Work of Writing Administration鈥(Council of Writing Program Administrators 1998), which outline areas of responsibility including program creation, curricular design, faculty development, assessment, registration and scheduling, counseling and advising, and scholarly production. Perhaps because these responsibilities are numerous, varied, and conflicting, WPAs have often turned to the WPA as _____ trope to conceptualize both their own work and writing program administration as a field. Across decades of scholarship, they have called themselves researchers, archivists, and theorists (Rose and Weiser 1999, 2002); unappreciated wives, scholars, politicians, change agents, and managers (McLeod 2007); activists (Adler-Kassner 2008); heroes, victims, technologists, and politicos (Charlton et al. 2011); and kitchen cooks, plate twirlers, and troubadours (George 1999), among other roles and identities. Writing program administration encompasses pedagogical, intellectual, managerial, emotional, and physical labor. Yet not all work is equally visible and valued, and each WPA as _____ trope carries assumptions about the work that should characterize writing program administration as a field."


Authors: