示例#1
0
文件: WLink.C 项目: patrickjwhite/wt
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;
}
示例#2
0
文件: WLink.C 项目: Spencerx/wt
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();
  }
}
示例#3
0
void LakaEngine::handlePathChange()
{
    std::string path = internalPath();
   if(path == "/")
    {
       container->clear();
       postLoop = new PostLoop(container);
       main->bindWidget("postloop",   postLoop);
    }
   else 
    {
      postLoop->handlePath();
    }
}
示例#4
0
文件: WLink.C 项目: patrickjwhite/wt
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();
}
示例#5
0
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() );
}
示例#6
0
文件: Home.C 项目: GuLinux/wt
void Home::googleAnalyticsLogger()
{
  doJavaScript("ga('send','pageview','"
	       + environment().deploymentPath() + internalPath() + "');");
}