moh-common-lib
Version:
A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).
37 lines • 3.25 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @param {?=} top
* @return {?}
*/
export function scrollTo(top = 0) {
/** @type {?} */
const supportsNativeSmoothScroll = 'scrollBehavior' in document.documentElement.style;
if (supportsNativeSmoothScroll) {
window.scrollTo({ top: top, behavior: 'smooth' });
}
else {
/**
* IE does not support ScrollToOptions (behavior, top, left), but does support
* scrollTo() with parameters for x and y coorindiates.
*/
window.scrollTo(0, top);
}
}
/**
* Get the first visible common-error-container and smoothly scroll to it.
* @param {?=} yOffset
* @return {?}
*/
export function scrollToError(yOffset = -75) {
/** @type {?} */
const el = document.querySelector('common-error-container .text-danger');
if (el) {
/** @type {?} */
const top = el.getBoundingClientRect().top + window.pageYOffset + yOffset;
scrollTo(top);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWhlbHBlcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9tb2gtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImhlbHBlcnMvc2Nyb2xsLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxNQUFNLFVBQVUsUUFBUSxDQUFFLE1BQWMsQ0FBQzs7VUFDakMsMEJBQTBCLEdBQUcsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLO0lBRXJGLElBQUssMEJBQTBCLEVBQUc7UUFDaEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7S0FDakQ7U0FBTTtRQUNMOzs7V0FHRztRQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3pCO0FBRUgsQ0FBQzs7Ozs7O0FBS0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFOztVQUNqQyxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQztJQUN4RSxJQUFJLEVBQUUsRUFBRTs7Y0FDRSxHQUFHLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsT0FBTztRQUN6RSxRQUFRLENBQUUsR0FBRyxDQUFFLENBQUM7S0FDbkI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxUbyggdG9wOiBudW1iZXIgPSAwICkge1xyXG4gIGNvbnN0IHN1cHBvcnRzTmF0aXZlU21vb3RoU2Nyb2xsID0gJ3Njcm9sbEJlaGF2aW9yJyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGU7XHJcblxyXG4gIGlmICggc3VwcG9ydHNOYXRpdmVTbW9vdGhTY3JvbGwgKSB7XHJcbiAgICB3aW5kb3cuc2Nyb2xsVG8oe3RvcDogdG9wLCBiZWhhdmlvcjogJ3Ntb290aCd9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBJRSBkb2VzIG5vdCBzdXBwb3J0IFNjcm9sbFRvT3B0aW9ucyAoYmVoYXZpb3IsIHRvcCwgbGVmdCksIGJ1dCBkb2VzIHN1cHBvcnRcclxuICAgICAqIHNjcm9sbFRvKCkgd2l0aCBwYXJhbWV0ZXJzIGZvciB4IGFuZCB5IGNvb3JpbmRpYXRlcy5cclxuICAgICAqL1xyXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIHRvcCk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgZmlyc3QgdmlzaWJsZSBjb21tb24tZXJyb3ItY29udGFpbmVyIGFuZCBzbW9vdGhseSBzY3JvbGwgdG8gaXQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsVG9FcnJvcih5T2Zmc2V0ID0gLTc1KSB7XHJcbiAgICBjb25zdCBlbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvbW1vbi1lcnJvci1jb250YWluZXIgLnRleHQtZGFuZ2VyJyk7XHJcbiAgICBpZiAoZWwpIHtcclxuICAgICAgICBjb25zdCB0b3AgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyB5T2Zmc2V0O1xyXG4gICAgICAgIHNjcm9sbFRvKCB0b3AgKTtcclxuICAgIH1cclxufVxyXG4iXX0=