, 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); })(); Edward Grigsby | NESDIS
Skip to main content

Edward Grigsby

Director
Systems Architecture and Engineering
Image of Ed Grisby

Edward Grigsby serves as the director of Systems Architecture and Engineering in NESDIS. Prior to joining NOAA in May 2023, Grigsby served in a variety of leadership roles for NASA, the U.S. Department of Defense, and the commercial aerospace sector. 

At NASA’s Goddard Space Flight Center, Grigsby served as deputy system program director for the GOES-R and GeoXO program, where since 2016 he supported the formulation of NOAA’s geosynchronous satellites. For six years prior, as GOES-R Program Systems Engineering Lead, Grigsby oversaw all technical aspects of that mission, including program mission systems integration, engineering processes and products for that mission. 

Earlier in his career, Grigsby developed his technical and engineering leadership abilities serving in a series of roles overseeing mission, program and instrument development. Those included positions as NASA Earth System Science Pathfinder Program Director; program executive for NASA’s Landsat Data Continuity and IceSat missions; and as program manager, systems engineer and senior test director for a variety of NASA, U.S. Air Force and commercial projects. 

Grigsby earned his Master of Science degree in Electro-Optic Engineering and a Bachelor of Science degree in Electronic/Computer Engineering, both from the University of Wyoming.  

 

 

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy