Handle menu selection client side

This commit is contained in:
emeric
2020-09-04 20:41:51 +02:00
parent 05f2e7c4fd
commit a0eec113e1
2 changed files with 12 additions and 12 deletions
+4 -4
View File
@@ -18,10 +18,10 @@
</div> </div>
<div class="collapse navbar-collapse"> <div class="collapse navbar-collapse">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li class="${artists-active}">${artists class="Lms-btn"}</li> <li>${artists class="Lms-btn"}</li>
<li class="${releases-active}">${releases class="Lms-btn"}</li> <li>${releases class="Lms-btn"}</li>
<li class="${tracks-active}">${tracks class="Lms-btn"}</li> <li>${tracks class="Lms-btn"}</li>
<li class="${playqueue-active}">${playqueue class="Lms-btn"}</li> <li>${playqueue class="Lms-btn"}</li>
</ul> </ul>
<div class="navbar-form navbar-left"> <div class="navbar-form navbar-left">
${filters class="form-group Lms-clusters-control"} ${filters class="form-group Lms-clusters-control"}
+8 -8
View File
@@ -349,7 +349,7 @@ enum IdxRoot
static static
void void
handlePathChange(Wt::WTemplate& main, Wt::WStackedWidget& stack, bool isAdmin) handlePathChange(Wt::WStackedWidget& stack, bool isAdmin)
{ {
static const struct static const struct
{ {
@@ -373,11 +373,6 @@ handlePathChange(Wt::WTemplate& main, Wt::WStackedWidget& stack, bool isAdmin)
LMS_LOG(UI, DEBUG) << "Internal path changed to '" << wApp->internalPath() << "'"; LMS_LOG(UI, DEBUG) << "Internal path changed to '" << wApp->internalPath() << "'";
main.bindString("artists-active", wApp->internalPathMatches("/artists") ? "active" : "");
main.bindString("releases-active", wApp->internalPathMatches("/releases") ? "active" : "");
main.bindString("tracks-active", wApp->internalPathMatches("/tracks") ? "active" : "");
main.bindString("playqueue-active", wApp->internalPathMatches("/playqueue") ? "active" : "");
for (const auto& view : views) for (const auto& view : views)
{ {
if (wApp->internalPathMatches(view.path)) if (wApp->internalPathMatches(view.path))
@@ -442,6 +437,11 @@ LmsApplication::createHome()
declareJavaScriptFunction("onLoadCover", "function(id) { id.className += \" Lms-cover-loaded\"}"); declareJavaScriptFunction("onLoadCover", "function(id) { id.className += \" Lms-cover-loaded\"}");
doJavaScript("$('body').tooltip({ selector: '[data-toggle=\"tooltip\"]'})"); doJavaScript("$('body').tooltip({ selector: '[data-toggle=\"tooltip\"]'})");
doJavaScript(R"(
$(".navbar-nav a").on("click", function(){
$(".navbar-nav").find(".active").removeClass("active");
$(this).parent().addClass("active");
});)");
Wt::WTemplate* main {root()->addWidget(std::make_unique<Wt::WTemplate>(Wt::WString::tr("Lms.template")))}; Wt::WTemplate* main {root()->addWidget(std::make_unique<Wt::WTemplate>(Wt::WString::tr("Lms.template")))};
@@ -603,10 +603,10 @@ LmsApplication::createHome()
internalPathChanged().connect([=] internalPathChanged().connect([=]
{ {
handlePathChange(*main, *mainStack, isUserAdmin()); handlePathChange(*mainStack, isUserAdmin());
}); });
handlePathChange(*main, *mainStack, isUserAdmin()); handlePathChange(*mainStack, isUserAdmin());
} }
void void