2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-07 12:02:53 +08:00
discourse/app/assets/javascripts/discourse/components/mobile-nav.js.es6
Joffrey JAFFEUX b3eb67976d
DEV: Upgrades to Ember 3.10 (#7871)
Co-Authored-By: majakomel <maja.komel@gmail.com>
2019-07-16 12:45:15 +02:00

57 lines
1.3 KiB
JavaScript

import { on, observes } from "ember-addons/ember-computed-decorators";
export default Ember.Component.extend({
@on("init")
_init() {
if (!this.get("site.mobileView")) {
var classes = this.desktopClass;
if (classes) {
classes = classes.split(" ");
this.set("classNames", classes);
}
}
},
tagName: "ul",
selectedHtml: null,
classNames: ["mobile-nav"],
@observes("currentPath")
currentPathChanged() {
this.set("expanded", false);
Ember.run.next(() => this._updateSelectedHtml());
},
_updateSelectedHtml() {
const active = this.element.querySelector(".active");
if (active && active.innerHTML) {
this.set("selectedHtml", active.innerHTML);
}
},
didInsertElement() {
this._updateSelectedHtml();
},
actions: {
toggleExpanded() {
this.toggleProperty("expanded");
Ember.run.next(() => {
if (this.expanded) {
$(window)
.off("click.mobile-nav")
.on("click.mobile-nav", e => {
let expander = $(this.element.querySelector(".expander"));
expander = expander && expander[0];
if ($(e.target)[0] !== expander) {
this.set("expanded", false);
$(window).off("click.mobile-nav");
}
});
}
});
}
}
});