This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/lib/clean-dom.js.es6
David Taylor 4e8c174ee5
FEATURE: Display notification count in title for logged in users (#7184)
This replaces the 'contextual' counters for logged in users. We will still use the old method for anon users
2019-03-18 12:59:47 +00:00

40 lines
1.1 KiB
JavaScript

function _clean() {
if (window.MiniProfiler) {
window.MiniProfiler.pageTransition();
}
// Close some elements that may be open
$("header ul.icons li").removeClass("active");
$('[data-toggle="dropdown"]')
.parent()
.removeClass("open");
// close the lightbox
if ($.magnificPopup && $.magnificPopup.instance) {
$.magnificPopup.instance.close();
$("body").removeClass("mfp-zoom-out-cur");
}
// Remove any link focus
// NOTE: the '.not("body")' is here to prevent a bug in IE10 on Win7
// cf. https://stackoverflow.com/questions/5657371
$(document.activeElement)
.not("body")
.not(".no-blur")
.blur();
Discourse.set("contextCount", 0);
Discourse.__container__.lookup("route:application").send("closeModal");
const hideDropDownFunction = $("html").data("hide-dropdown");
if (hideDropDownFunction) {
hideDropDownFunction();
}
// TODO: Avoid container lookup here
const appEvents = Discourse.__container__.lookup("app-events:main");
appEvents.trigger("dom:clean");
}
export function cleanDOM() {
Ember.run.scheduleOnce("afterRender", _clean);
}