JSlot *WLink::manageInternalPathChange(WApplication *app, WInteractWidget *widget, JSlot *slot) const { if (type_ == InternalPath) { if (app->environment().ajax()) { if (!slot) { slot = new JSlot(); widget->clicked().connect(*slot); widget->clicked().preventDefaultAction(); } slot->setJavaScript ("function(){" + app->javaScriptClass() + "._p_.setHash(" + WWebWidget::jsStringLiteral(internalPath()) + ",true);" "}"); #ifdef WT_TARGET_JAVA widget->clicked().senderRepaint(); #endif // WT_TARGET_JAVA return slot; } } delete slot; return 0; }
std::string WLink::resolveUrl(WApplication *app) const { switch (type_) { case InternalPath: { if (app->environment().ajax()) return app->bookmarkUrl(internalPath().toUTF8()); else if (app->environment().agentIsSpiderBot()) return app->bookmarkUrl(internalPath().toUTF8()); else // If no JavaScript is available, then we still add the session // so that when used in WAnchor it will be handled by the same // session. return app->session()->mostRelativeUrl(internalPath().toUTF8()); } default: return url(); } }
void LakaEngine::handlePathChange() { std::string path = internalPath(); if(path == "/") { container->clear(); postLoop = new PostLoop(container); main->bindWidget("postloop", postLoop); } else { postLoop->handlePath(); } }
std::string WLink::url() const { switch (type_) { case Url: #ifndef WT_CNOR return boost::get<std::string>(value_); #else return boost::any_cast<std::string>(value_); #endif case Resource: return resource()->url(); case InternalPath: return WApplication::instance()->bookmarkUrl(internalPath().toUTF8()); } return std::string(); }
void AppNodeStar::HandleAuthLoginChangedStep2( void ) { // 2016/09/04: goto the logged out page (or special leaving page), or to the /member/home page) //root()->clear(); //root()->addWidget( new Wt::WText( "Login Changed - " ) ); std::cout << "auth step2" << std::endl; if ( m_pAuth->LoggedIn() ) { Wt::log("notice") << "AppNodeStar User " /* << m_SignIn.user().id() */ << " logged in."; setInternalPath( "/member/home", false ); //HandleInternalPathChanged( internalPath() ); //redirect( "/member/home" ); //this->refresh(); } else { Wt::log("notice") << "AppNodeStar User logged out."; setInternalPath( "/goodbye", false ); //HandleInternalPathChanged( internalPath() ); //redirect( "/goodbye" ); //this->refresh(); } //root()->clear(); HandleInternalPathChanged( internalPath() ); // ShowMainMenu( root() ); }
void Home::googleAnalyticsLogger() { doJavaScript("ga('send','pageview','" + environment().deploymentPath() + internalPath() + "');"); }