You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by dp...@apache.org on 2009/05/29 00:57:39 UTC
svn commit: r779789 - in /incubator/esme/trunk/server/src/main:
scala/bootstrap/liftweb/ scala/org/apache/esme/api/
scala/org/apache/esme/comet/ scala/org/apache/esme/model/
scala/org/apache/esme/snippet/ scala/org/apache/esme/view/ webapp/images/
weba...
Author: dpp
Date: Thu May 28 22:57:38 2009
New Revision: 779789
URL: http://svn.apache.org/viewvc?rev=779789&view=rev
Log:
Cleaned up style and moved a couple of more visuals to html view files
Added:
incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/TagDisplay.scala
incubator/esme/trunk/server/src/main/webapp/images/ajax-loader.gif (with props)
incubator/esme/trunk/server/src/main/webapp/info_view/
incubator/esme/trunk/server/src/main/webapp/info_view/tag.html
incubator/esme/trunk/server/src/main/webapp/info_view/user.html
Modified:
incubator/esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/PublicTimeline.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/TagCloud.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/Timeline.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/Style.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/view/UserView.scala
incubator/esme/trunk/server/src/main/webapp/style/b-content.css
incubator/esme/trunk/server/src/main/webapp/style/b-list.css
incubator/esme/trunk/server/src/main/webapp/style/b-popup-c.css
incubator/esme/trunk/server/src/main/webapp/style/b-popup.css
incubator/esme/trunk/server/src/main/webapp/style/b-view-menu.css
incubator/esme/trunk/server/src/main/webapp/style/l-page-content.css
incubator/esme/trunk/server/src/main/webapp/style/l-page-message.css
incubator/esme/trunk/server/src/main/webapp/style/l-top.css
incubator/esme/trunk/server/src/main/webapp/style/layout.css
incubator/esme/trunk/server/src/main/webapp/style/print.css
incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html
incubator/esme/trunk/server/src/main/webapp/templates-hidden/login.html
incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html
Modified: incubator/esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala Thu May 28 22:57:38 2009
@@ -31,9 +31,10 @@
import java.sql.{Connection, DriverManager}
import org.apache.esme._
import model._
-import actor._
+import org.apache.esme.actor._
import lib._
import view._
+import snippet._
import api._
import net.liftweb._
import mapper._
@@ -81,9 +82,9 @@
LiftRules.rewrite.prepend {
case RewriteRequest(ParsePath("user" :: user :: Nil,"", _,_), _, _) =>
- RewriteResponse( List("user_view", "index"), Map("uid" -> user))
+ RewriteResponse( List("info_view", "user"), Map("uid" -> user))
case RewriteRequest(ParsePath("tag" :: tag :: Nil,"", _,_), _, _) =>
- RewriteResponse( List("user_view", "tag"), Map("tag" -> tag))
+ RewriteResponse( List("info_view", "tag"), Map("tag" -> tag))
case RewriteRequest(ParsePath("conversation" :: cid :: Nil, "", _, _),
_, _) =>
@@ -101,10 +102,11 @@
// Build SiteMap
val entries = Menu(Loc("Home", List("index"), "Home")) ::
Menu(Loc("list_users", List("user_view", "all"), "List Users")) ::
- Menu(Loc("user", List("user_view", "index"), "User Info", Hidden)) ::
+ Menu(Loc("user", List("info_view", "user"), "User Info", Hidden,
+ Loc.Snippet("user_info", TagDisplay.userInfo))) ::
Menu(Loc("conv", List("user_view", "conversation"), "Conversation", Hidden)) ::
Menu(Loc("about", List("static", "about"), "About", Hidden)) ::
- Menu(Loc("tag", List("user_view", "tag"), "Tag", Hidden)) ::
+ Menu(Loc("tag", List("info_view", "tag"), "Tag", Hidden, Loc.Snippet("tag_display", TagDisplay.display))) ::
Menu(Loc("search", List("user_view", "search"), "Search", Hidden)) ::
User.sitemap :::
Track.menuItems :::
@@ -142,6 +144,18 @@
DB.addLogFunc(S.logQuery _)
S.addAnalyzer(RequestAnalyzer.analyze _)
+
+ /*
+ * Show the spinny image when an Ajax call starts
+ */
+ LiftRules.ajaxStart =
+ Full(() => LiftRules.jsArtifacts.show("ajax-loader").cmd)
+
+ /*
+ * Make the spinny image go away when it ends
+ */
+ LiftRules.ajaxEnd =
+ Full(() => LiftRules.jsArtifacts.hide("ajax-loader").cmd)
}
private def makeUtf8(req: HttpServletRequest): Unit = {req.setCharacterEncoding("UTF-8")}
}
@@ -149,13 +163,13 @@
object Compass {
// Set up Compass for search
val conf = tryo(new CompassConfiguration()
- .configure(Props.get("compass_config_file") openOr "/props/compass.cfg.xml")
- .addClass((new Message).clazz))
+ .configure(Props.get("compass_config_file") openOr "/props/compass.cfg.xml")
+ .addClass((new Message).clazz))
val compass = conf.map(_.buildCompass())
for (c <- compass if !c.getSearchEngineIndexManager.indexExists)
- tryo(c.getSearchEngineIndexManager().createIndex())
+ tryo(c.getSearchEngineIndexManager().createIndex())
}
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala Thu May 28 22:57:38 2009
@@ -37,7 +37,7 @@
import org.apache.esme._
import model._
-import actor._
+import org.apache.esme.actor._
import scala.xml.{NodeSeq, Text, Elem, XML}
import scala.actors.Actor
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala Thu May 28 22:57:38 2009
@@ -40,7 +40,7 @@
import org.apache.esme._
import model._
-import actor._
+import org.apache.esme.actor._
import scala.xml._
import scala.actors.Actor
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/PublicTimeline.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/PublicTimeline.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/PublicTimeline.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/PublicTimeline.scala Thu May 28 22:57:38 2009
@@ -31,7 +31,7 @@
import JE._
import org.apache.esme._
-import actor._
+import org.apache.esme.actor._
import model._
import lib._
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/TagCloud.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/TagCloud.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/TagCloud.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/TagCloud.scala Thu May 28 22:57:38 2009
@@ -30,7 +30,7 @@
import JE._
import org.apache.esme._
-import actor._
+import org.apache.esme.actor._
import model._
import lib._
@@ -77,6 +77,7 @@
}
</p>
<p/>
+ {/*
<p id="word-para">Words</p>
<p>
{
@@ -86,6 +87,8 @@
name}</a> </xml:group>
}
</p>
+ */
+ }
</div>
}
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/Timeline.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/Timeline.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/Timeline.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/comet/Timeline.scala Thu May 28 22:57:38 2009
@@ -30,7 +30,7 @@
import JE._
import org.apache.esme._
-import actor._
+import org.apache.esme.actor._
import model._
import lib._
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala Thu May 28 22:57:38 2009
@@ -28,7 +28,7 @@
import org.apache.esme._
import lib._
-import actor._
+import org.apache.esme.actor._
import external._
import java.util.Calendar
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala Thu May 28 22:57:38 2009
@@ -106,11 +106,11 @@
val ret: List[Message] = this.findAll(params :_*)
- val userIds = (ret.flatMap(_.author.can) :::
- ret.flatMap(_.sentToIds)).removeDuplicates
+ val userIds: List[Long] = (ret.flatMap(_.author.can) :::
+ ret.flatMap(_.sentToIds)).removeDuplicates
- val users = Map(User.findAll(InRaw(User.id, userIds.mkString(","),
- IHaveValidatedThisSQL("dpp", "Aug 23, 2008"))).map(u => (u.id.is, u)) :_*)
+ val users:Map[Long, User] = Map(User.findAll(InRaw(User.id, userIds.mkString(","),
+ IHaveValidatedThisSQL("dpp", "Aug 23, 2008"))).map(u => (u.id.is, u)) :_*)
ret.foreach(_.preload(users))
ret
@@ -122,42 +122,42 @@
logger.info("Inside Message.search() with user list "+(users.mkString(", ")))
(for(session <- compass.map(_.openSession()); user <- User.currentUser) yield {
- var tx:CompassTransaction = null
- var returnValue:List[Message] = Nil
+ var tx:CompassTransaction = null
+ var returnValue:List[Message] = Nil
- try {
- tx = session.beginTransaction()
- val queryBuilder: CompassQueryBuilder = session.queryBuilder()
-
- val followingQuery = queryBuilder.bool().addShould(queryBuilder.term("author", user.id))
- for (user <- following) followingQuery.addShould(queryBuilder.term("author", user.id))
+ try {
+ tx = session.beginTransaction()
+ val queryBuilder: CompassQueryBuilder = session.queryBuilder()
+
+ val followingQuery = queryBuilder.bool().addShould(queryBuilder.term("author", user.id))
+ for (user <- following) followingQuery.addShould(queryBuilder.term("author", user.id))
+
+ val query: CompassQuery = queryBuilder.bool()
+ .addMust( queryBuilder.term("text", stemWord(searchTerm)) )
+ .addMust( followingQuery.toQuery )
+ .toQuery()
+
+ logger.info("query is "+query.toString)
+
+ val hitlist = query
+ .addSort("when", CompassQuery.SortPropertyType.STRING, CompassQuery.SortDirection.REVERSE)
+ .hits().detach(0, numHits)
+
+ logger.info("Detached hits: "+hitlist.totalLength)
+
+ val resourceList = hitlist.getResources.toList.asInstanceOf[List[Resource]]
+
+ returnValue = resourceList.flatMap(x => Message.find(x.getId))
+ tx.commit();
+ } catch {
+ case ce: CompassException =>
+ if (tx != null) tx.rollback();
+ } finally {
+ session.close();
+ }
- val query: CompassQuery = queryBuilder.bool()
- .addMust( queryBuilder.term("text", stemWord(searchTerm)) )
- .addMust( followingQuery.toQuery )
- .toQuery()
-
- logger.info("query is "+query.toString)
-
- val hitlist = query
- .addSort("when", CompassQuery.SortPropertyType.STRING, CompassQuery.SortDirection.REVERSE)
- .hits().detach(0, numHits)
-
- logger.info("Detached hits: "+hitlist.totalLength)
-
- val resourceList = hitlist.getResources.toList.asInstanceOf[List[Resource]]
-
- returnValue = resourceList.flatMap(x => Message.find(x.getId))
- tx.commit();
- } catch {
- case ce: CompassException =>
- if (tx != null) tx.rollback();
- } finally {
- session.close();
- }
-
- returnValue
- }) openOr Nil
+ returnValue
+ }) openOr Nil
}
}
@@ -169,13 +169,8 @@
object id extends MappedLongIndex(this)
object author extends MappedLongForeignKey(this, User) {
- override def asJs = {
- val user = User.find(this.is) match {
- case Full(u) => u.asJs
- case Empty => JE.JsNull
- }
- List(("author", user))
- }
+ override def asJs =
+ List("author" -> (obj.map(_.asJs) openOr JE.JsNull))
}
object viaGroup extends MappedLongForeignKey(this, Group)
@@ -198,7 +193,11 @@
object conversation extends MappedLongForeignKey(this, Message)
private[model] def preload(users: Map[Long, User]) {
- author.can.foreach(id => this.author.primeObj(users.get(id)))
+ author.can.foreach{
+ id =>
+ this.author.primeObj(users.get(id))
+ }
+
primeNameMap(users)
}
@@ -277,13 +276,13 @@
lazy val sentToIds: List[Long] =
(for (body <- originalXml \ "body";
- at <- body \ "at_name";
- id <- at.attribute("id")) yield id.text.toLong).toList
+ at <- body \ "at_name";
+ id <- at.attribute("id")) yield id.text.toLong).toList
lazy val urlIds: List[Long] =
(for (body <- originalXml \ "body";
- at <- body \ "url";
- id <- at.attribute("id")) yield id.text.toLong).toList
+ at <- body \ "url";
+ id <- at.attribute("id")) yield id.text.toLong).toList
private var _atNameMap: Map[Long, User] = Map.empty
private var _setNameMap = false
@@ -368,41 +367,41 @@
// Get the term (i.e. word) frequencies for the word cloud from the message text
lazy val wordFrequencies: List[(String, Int)] = {
try {
- (for {session <- compass.map(_.openSession())} yield {
- var tx:CompassTransaction = null
- var returnValue:List[(String, Int)] = Nil
-
- try {
- tx = session.beginTransaction()
+ (for {session <- compass.map(_.openSession())} yield {
+ var tx:CompassTransaction = null
+ var returnValue:List[(String, Int)] = Nil
+
+ try {
+ tx = session.beginTransaction()
+
+ val msgResource = session.getResource(clazz, id) match {
+ case null => Message.logger.info("Saving entity to lucene in wordFrequencies")
+ session.save(this)
+ session.loadResource(clazz, id) // throws exception if not found
- val msgResource = session.getResource(clazz, id) match {
- case null => Message.logger.info("Saving entity to lucene in wordFrequencies")
- session.save(this)
- session.loadResource(clazz, id) // throws exception if not found
-
- case x => x
- }
+ case x => x
+ }
- val textTermFreqs:TermFreqVector = LuceneHelper.getTermFreqVector(session, msgResource, "textWords")
- Message.logger.info("textTermFreqs: "+textTermFreqs)
+ val textTermFreqs:TermFreqVector = LuceneHelper.getTermFreqVector(session, msgResource, "textWords")
+ Message.logger.info("textTermFreqs: "+textTermFreqs)
- def termsAndFreq(in: TermFreqVector) = in match {
- case null => Nil
- case tf => (tf.getTerms zip tf.getTermFrequencies).toList
- }
+ def termsAndFreq(in: TermFreqVector) = in match {
+ case null => Nil
+ case tf => (tf.getTerms zip tf.getTermFrequencies).toList
+ }
- returnValue = termsAndFreq(textTermFreqs)
+ returnValue = termsAndFreq(textTermFreqs)
- tx.commit();
- } catch {
- case ce: CompassException =>
- if (tx != null) tx.rollback();
- } finally {
- session.close();
- }
+ tx.commit();
+ } catch {
+ case ce: CompassException =>
+ if (tx != null) tx.rollback();
+ } finally {
+ session.close();
+ }
- compoundStem(returnValue)
- }) openOr Nil
+ compoundStem(returnValue)
+ }) openOr Nil
} catch {
case e => e.printStackTrace; Nil
}
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala Thu May 28 22:57:38 2009
@@ -28,7 +28,7 @@
import http._
import org.apache.esme._
-import actor.Distributor
+import org.apache.esme.actor.Distributor
import scala.xml.{Node, Text, Elem}
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala Thu May 28 22:57:38 2009
@@ -39,7 +39,7 @@
import scala.xml.{NodeSeq, Text}
import org.apache.esme._
-import actor._
+import org.apache.esme.actor._
import view._
import java.net.URL
import java.util.logging._
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/Style.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/Style.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/Style.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/Style.scala Thu May 28 22:57:38 2009
@@ -31,7 +31,7 @@
import org.apache.esme._
import model._
-import actor._
+import org.apache.esme.actor._
import scala.xml.{NodeSeq, Unparsed}
Added: incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/TagDisplay.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/TagDisplay.scala?rev=779789&view=auto
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/TagDisplay.scala (added)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/TagDisplay.scala Thu May 28 22:57:38 2009
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2008-2009 WorldWide Conferencing, LLC
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.esme.snippet
+
+import org.apache.esme._
+import model._
+import org.apache.esme.actor._
+
+import net.liftweb._
+import http._
+import SHtml._
+import js._
+import JsCmds._
+import JE._
+import util._
+import Helpers._
+
+import mapper._
+
+import scala.xml.{NodeSeq, Text}
+import java.util.Date
+
+object TagDisplay {
+ def userInfo(in: NodeSeq): NodeSeq = {
+ val user: User = S.param("uid").flatMap(User.findFromWeb) openOr {
+ S.error("User not found")
+ S.redirectTo(S.referer openOr "/")
+ }
+
+ def updateFollow: JsCmd = SetHtml("following", followOrNot)
+
+
+ def followOrNot: NodeSeq = {
+ User.currentUser match {
+ case Full(u) if u != user =>
+ if (u.following_?(user))
+ ajaxButton("Unfollow", () => {u.unfollow(user); updateFollow})
+ else ajaxButton("Follow", () => {u.follow(user); updateFollow})
+
+ case _ => NodeSeq.Empty
+ }
+ }
+
+ bind("user", in,
+ "nicename" -> user.niceName,
+ "followButton" -> followOrNot,
+ "timeline" -> bindTag(Mailbox.mostRecentMessagesFor(user.id, 50).map(_._1)) _,
+ "messages" -> bindTag(Message.findAll(By(Message.author, user), MaxRows(50), OrderBy(Message.id, Descending))) _,
+ AttrBindParam("userId", Text(user.id.toString),"userId")
+ )
+
+ }
+
+ private def bindTag(tagList: List[Message])(in: NodeSeq): NodeSeq =
+ tagList.flatMap{m =>
+ val nickname = m.author.obj.map(_.nickname.is) openOr ""
+ bind("item", in,
+ "author" -> <a href={"/user/"+urlEncode(nickname)}>{nickname}</a>,
+ "body" -> m.digestedXHTML,
+ "date" -> Text(new Date(m.when.is).toString))
+ }
+
+ def display(in: NodeSeq): NodeSeq = {
+ val name = (S.param("tag") openOr "N/A").trim
+
+ val tagList: List[Message] =
+ for {
+ tag <- Tag.findAll(By(Tag.name, name))
+ item <- tag.findMessages()
+ } yield item
+
+ bind("tag", in, "name" -> name,
+ "each" -> bindTag(tagList) _)
+
+ }
+}
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala Thu May 28 22:57:38 2009
@@ -23,7 +23,7 @@
import org.apache.esme._
import model._
-import actor._
+import org.apache.esme.actor._
import net.liftweb._
import http._
@@ -37,16 +37,14 @@
object JsonPoster extends SessionVar(S.buildJsonFunc{
case JsonCmd("post", _, map: Map[String, Any], _) =>
+ println("Posting "+map)
for (msgObj <- map.get("msg");
- msg <- Box.isA(msgObj, classOf[String]).map(_.trim) if msg.length > 0;
+ msg <- Box.asA[String](msgObj).map(_.trim) if msg.length > 0;
tagObj <- map.get("tags");
- tags <- Box.isA(tagObj, classOf[String]);
+ tags <- Box.asA[String](tagObj);
user <- User.currentUser) {
-
- val replyTo = map.get("reply-to").map(toLong) match {
- case Some(x) if x > 0L => Full(x)
- case _ => Empty
- }
+
+ val replyTo: Box[Long] = map.get("reply-to").map(toLong)
Distributor !
Distributor.UserCreatedMessage(user.id, msg,
@@ -100,8 +98,8 @@
</ul>
def loginForm(in: NodeSeq): NodeSeq =
- if (User.loggedIn_?) NodeSeq.Empty
- else User.loginForm
+ if (User.loggedIn_?) NodeSeq.Empty
+ else User.loginForm
def userName(in: NodeSeq) = {
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/view/UserView.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/view/UserView.scala?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/view/UserView.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/view/UserView.scala Thu May 28 22:57:38 2009
@@ -57,7 +57,7 @@
val dispatch =
Map("index" -> index _,
- "tag" -> displayTag _,
+ // "tag" -> displayTag _,
"search" -> search _,
"all" -> allUsers _,
"conversation" -> conversation _)
@@ -210,7 +210,8 @@
</fieldset>
</div>
</lift:surround>
-
+
+ /*
def displayTag(): Box[NodeSeq] =
(<lift:surround with="default" at="content">
{
@@ -239,7 +240,7 @@
ui openOr (<span>Tag Not Found</span>)
}
</lift:surround>)
-
+ */
def allUsers(): Box[NodeSeq] =
<lift:surround with="default" at="content">
<fieldset>
Added: incubator/esme/trunk/server/src/main/webapp/images/ajax-loader.gif
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/images/ajax-loader.gif?rev=779789&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/esme/trunk/server/src/main/webapp/images/ajax-loader.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/esme/trunk/server/src/main/webapp/info_view/tag.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/info_view/tag.html?rev=779789&view=auto
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/info_view/tag.html (added)
+++ incubator/esme/trunk/server/src/main/webapp/info_view/tag.html Thu May 28 22:57:38 2009
@@ -0,0 +1,18 @@
+<lift:surround with="default" at="content">
+ <lift:tag_display>
+ <div>
+ <fieldset>
+ <legend><tag:name/></legend>
+ <table>
+ <tag:each>
+ <tr>
+ <td><item:author/></td>
+ <td><item:body/></td>
+ <td><item:date/></td>
+ </tr>
+ </tag:each>
+ </table>
+ </fieldset>
+ </div>
+ </lift:tag_display>
+</lift:surround>
\ No newline at end of file
Added: incubator/esme/trunk/server/src/main/webapp/info_view/user.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/info_view/user.html?rev=779789&view=auto
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/info_view/user.html (added)
+++ incubator/esme/trunk/server/src/main/webapp/info_view/user.html Thu May 28 22:57:38 2009
@@ -0,0 +1,54 @@
+<lift:surround with="default" at="content">
+ <lift:user_info>
+ <div>
+ <div id="tabs" class="b-view tab1">
+ <dl class="messages">
+ <dt class="caption"><user:nicename/>'s Timeline
+ <span id="following"><user:followButton/></span></dt>
+ <dd>
+ <table>
+ <user:timeline>
+ <tr>
+ <td><item:author/></td>
+ <td><item:body/></td>
+ <td><item:date/></td>
+ </tr>
+ </user:timeline>
+ </table>
+
+ </dd>
+ </dl>
+
+ <dl class="">
+ <dt class="caption"><user:nicename/>'s Messages</dt>
+
+ <dd class="b-clouds">
+ <table>
+ <user:messages>
+ <tr>
+ <td><item:author/></td>
+ <td><item:body/></td>
+ <td><item:date/></td>
+ </tr>
+ </user:messages>
+ </table>
+ </dd>
+ </dl>
+ <dl class="">
+ <dt class="caption">
+ Contacts
+ </dt>
+
+ <dd class="b-contacts" style="height: 240px; overflow: auto">
+ Following:
+ <lift:UserSnip.following user:userId=""/>
+ </dd>
+ <dd class="b-contacts" style="height: 240px; overflow: auto">
+ Followers:
+ <lift:UserSnip.followers user:userId=""/>
+ </dd>
+ </dl>
+ </div>
+ </div>
+ </lift:user_info>
+</lift:surround>
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/style/b-content.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/b-content.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/b-content.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/b-content.css Thu May 28 22:57:38 2009
@@ -1,38 +1,41 @@
/* Content page (begin) */ /**/
- .b-cloud {
- margin-top: 30px;
- background: #233e5e; /* url(../images/sh-r.png) repeat-y 100% 0; */
- text-align: center;
- }
-
- #tag-para, #word-para {
- font-size: 1.7em;
-text-decoration: underline;
- font-style: italic;
- }
-
- .b-content
- {
- margin-top: 30px;
- }
-
- .b-content .title
- {
- margin-left: 5px;
-
- color: #fff;
- }
-
- .b-content .text
- {
- margin: 5px 5px 8px 5px;
- padding: 10px;
-
- background: #fff;
- }
-
- .b-content p
- {
- margin-top: 8px;
- }
+.b-cloud {
+ margin-top: 30px;
+ /* background: #233e5e; /* url(../images/sh-r.png) repeat-y 100% 0; */
+ text-align: center;
+ background: #EEE;
+ padding: 3px;
+ border: 1px solid black;
+}
+
+#tag-para, #word-para {
+ font-size: 1.7em;
+ text-decoration: underline;
+ font-style: italic;
+}
+
+.b-content
+{
+ margin-top: 30px;
+}
+
+.b-content .title
+{
+ margin-left: 5px;
+
+ color: #fff;
+}
+
+.b-content .text
+{
+ margin: 5px 5px 8px 5px;
+ padding: 10px;
+
+ background: #fff;
+}
+
+.b-content p
+{
+ margin-top: 8px;
+}
/* Content page (end) */ /**/
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/style/b-list.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/b-list.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/b-list.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/b-list.css Thu May 28 22:57:38 2009
@@ -1,105 +1,108 @@
/* List messages (begin) */ /**/
- .b-list
- {
- font-size: 90%;
-
- border-bottom: 6px solid #fff;
- border-left: 1px solid #fff;
- border-right: 1px solid #fff;
- }
-
- .b-list tr
- {
- vertical-align: top;
-
- background: #c9d8ea url(../images/bg-left.png) repeat-x;
- border-bottom: 1px solid #fff;
- }
-
- /* Images (begin) */ /**/
- .b-list .image
- {
- width: 60px;
- padding: 5px 0 5px 6px;
-
- }
-
- .b-list .image .shadow
- {
- position: absolute;
-
- width: 58px;
- height: 58px;
- }
-
- .b-list .image .shadow i
- {
- position: absolute;
- left: -3px;
- top: -3px;
-
- width: 58px;
- height: 58px;
-
- background: url(../images/bg-i.png) no-repeat;
- }
-
- .b-list .image img
- {
- position: relative;
-
- width: 48px;
- height: 48px;
- }
- /* Images (end) */ /**/
-
- /* Messages (begin) */ /**/
- .b-list .message
- {
- width: 307px;
- padding: 5px;
- }
-
- .b-list .message .outer
- {
- min-height: 50px;
- }
-
- .b-list .message .inner
- {
- min-height: 33px;
- padding-bottom: 0.4em;
- }
-
- .b-list .mail
- {
- display: block;
-
- float: right;
-
- margin-left: 5px;
- }
-
- .b-list .text
- {
- padding-bottom: 0.2em;
- color: #233e5e;
- }
- .b-list .date
- {
- padding-bottom: 0.2em;
- color: #233e5e;
- }
- /* Messages (end) */ /**/
-
- .b-list .tag
- {
- font-weight: bold;
-
- width: 143px;
- padding: 5px;
-
- color: #fff;
- background: #233e5e url(../images/bg-right1.png) repeat-x;
- }
+.b-list
+{
+ font-size: 90%;
+
+ border-bottom: 6px solid #999;
+ border-left: 1px solid #888;
+ border-right: 1px solid #888;
+ border-top: 1px solid #888;
+ padding: 2px;
+ background-color: #EEE;
+}
+
+.b-list tr
+{
+ vertical-align: top;
+
+ /*background: #c9d8ea url(../images/bg-left.png) repeat-x;*/
+ border-bottom: 1px solid #BBB;
+}
+
+/* Images (begin) */ /**/
+.b-list .image
+{
+ width: 60px;
+ padding: 5px 0 5px 6px;
+
+}
+
+.b-list .image .shadow
+{
+ position: absolute;
+
+ width: 58px;
+ height: 58px;
+}
+
+.b-list .image .shadow i
+{
+ position: absolute;
+ left: -3px;
+ top: -3px;
+
+ width: 58px;
+ height: 58px;
+
+ /* background: url(../images/bg-i.png) no-repeat; */
+}
+
+.b-list .image img
+{
+ position: relative;
+
+ width: 48px;
+ height: 48px;
+}
+/* Images (end) */ /**/
+
+/* Messages (begin) */ /**/
+.b-list .message
+{
+ width: 307px;
+ padding: 5px;
+}
+
+.b-list .message .outer
+{
+ min-height: 50px;
+}
+
+.b-list .message .inner
+{
+ min-height: 33px;
+ padding-bottom: 0.4em;
+}
+
+.b-list .mail
+{
+ display: block;
+
+ float: right;
+
+ margin-left: 5px;
+}
+
+.b-list .text
+{
+ padding-bottom: 0.2em;
+ /* color: #233e5e; */
+}
+.b-list .date
+{
+ padding-bottom: 0.2em;
+ /* color: #233e5e; */
+}
+/* Messages (end) */ /**/
+
+.b-list .tag
+{
+ font-weight: bold;
+
+ width: 143px;
+ padding: 5px;
+
+ color: #fff;
+ /* background: #233e5e url(../images/bg-right1.png) repeat-x; */
+}
/* List messages (end) */ /**/
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/style/b-popup-c.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/b-popup-c.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/b-popup-c.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/b-popup-c.css Thu May 28 22:57:38 2009
@@ -1,70 +1,72 @@
/* Popup message (begin) */ /**/
- .b-popup-c .row
- {
- padding: 7px 8px 0 7px;
- }
-
- .b-popup-c label
- {
- font-size: 118%;
- font-weight: bold;
-
- margin-right: 0.5em;
-
- vertical-align: middle;
- }
-
- .b-popup-c input,
- .b-popup-c textarea
- {
- float: left;
-
- width: 76%;
- margin: 0.45em 0.45em 0 0;
- background-color: #c9d8ea;
- }
-
- .b-popup-c select
- {
- vertical-align: middle;
- }
-
- .b-popup-c .note
- {
- font-size: 80%;
-
- float: left;
-
- width: 80%;
-
- color: #959595;
- }
-
- .b-popup-c .note-r
- {
- width: 4.5em;
- margin-top: 0.4em;
- }
-
- .b-popup-c .note .l
- {
- float: left;
-
- margin-top: 0.18em;
- }
-
- .b-popup-c .note .r
- {
- float: right;
-
- margin: 0.18em 0.7em 0 0;
- }
-
- .b-popup-c .btn
- {
- float: left;
-
- margin: 0 0 0 20px;
- padding-bottom: 23px;
- }
+.b-popup-c .row
+{
+ padding: 7px 8px 0 7px;
+}
+
+.b-popup-c label
+{
+ font-size: 118%;
+ font-weight: bold;
+
+ margin-right: 0.5em;
+
+ vertical-align: middle;
+}
+
+.b-popup-c input,
+.b-popup-c textarea
+{
+ float: left;
+
+ width: 76%;
+ margin: 0.45em 0.45em 0 0;
+ background-color: #c9d8ea;
+}
+
+.b-popup-c select
+{
+ vertical-align: middle;
+}
+
+.b-popup-c .note
+{
+ font-size: 80%;
+
+ float: left;
+
+ width: 80%;
+
+ color: #959595;
+}
+
+.b-popup-c .note-r
+{
+ width: 4.5em;
+ margin-top: 0.4em;
+}
+
+.b-popup-c .note .l
+{
+ float: left;
+
+ margin-top: 0.18em;
+}
+
+.b-popup-c .note .r
+{
+ float: right;
+
+ margin: 0.18em 0.7em 0 0;
+}
+
+.b-popup-c .btn
+{
+ /*
+ float: left;
+
+ margin: 0 0 0 20px;
+ padding-bottom: 2px;
+ */
+}
/* Popup message (end) */ /**/
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/style/b-popup.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/b-popup.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/b-popup.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/b-popup.css Thu May 28 22:57:38 2009
@@ -10,7 +10,8 @@
/* Shadows (begin) */ /**/
.b-popup-c
{
- background: #233e5e;
+ background: #EEE;
+ border: 1px solid black;
}
.b-popup i
Modified: incubator/esme/trunk/server/src/main/webapp/style/b-view-menu.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/b-view-menu.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/b-view-menu.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/b-view-menu.css Thu May 28 22:57:38 2009
@@ -17,7 +17,7 @@
margin-right: 3px;
padding: 3px 0.5em;
- background: #c9d8ea;
+ /* background: #c9d8ea; */
}
.b-view-menu li:hover
Modified: incubator/esme/trunk/server/src/main/webapp/style/l-page-content.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/l-page-content.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/l-page-content.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/l-page-content.css Thu May 28 22:57:38 2009
@@ -6,16 +6,16 @@
.l-page-content .l-page-c
{
- background: #c9d8ea;
+ /* background: #c9d8ea; */
}
.l-page-content .l-page-r
{
- background: #233e5e;
+ /* background: #233e5e; */
}
.l-page-content .l-top
{
- background: #233e5e;
+ /* background: #233e5e; */
}
/* Content page (end) */ /**/
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/style/l-page-message.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/l-page-message.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/l-page-message.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/l-page-message.css Thu May 28 22:57:38 2009
@@ -6,11 +6,11 @@
.l-page-massage .l-page-r
{
- background: #233e5e;
+ /* background: #233e5e; */
}
.l-page-massage .l-top
{
- background: #233e5e;
+ /* background: #233e5e; */
}
/* Message page (end) */ /**/
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/style/l-top.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/l-top.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/l-top.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/l-top.css Thu May 28 22:57:38 2009
@@ -8,7 +8,7 @@
padding: 0 3px;
- background: #233e5e;
+ /* background: #233e5e; */
border-top: 4px solid #fff;
border-left: 4px solid #fff;
}
Modified: incubator/esme/trunk/server/src/main/webapp/style/layout.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/layout.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/layout.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/layout.css Thu May 28 22:57:38 2009
@@ -14,8 +14,8 @@
height: 50px;
- background: #7fa3ce;
- border-bottom: 4px solid #fff;
+ /* background: #7fa3ce; */
+ border-bottom: 4px solid #000;
}
.foot
@@ -23,8 +23,8 @@
height: 20px;
padding: 0 12px;
- color: #fff;
- background: #7fa3ce;
- border-top: 4px solid #fff;
+ color: #000;
+ background: #FFF;
+ border-top: 4px solid #111;
}
/* Layout (end) */ /**/
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/style/print.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/print.css?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/print.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/print.css Thu May 28 22:57:38 2009
@@ -1,110 +1,110 @@
/* Basic style (begin) */ /**/
- body
- {
- font: 0.8em "Trebuchet MS", Verdana, Arial, sans-serif;
-
- position: relative;
- z-index: 0;
-
- margin: 0;
- padding: 0;
-
- color:#ffffff;
- background: #dddee3;
- }
- body-action
- {
- font: 0.8em "Trebuchet MS", Verdana, Arial, sans-serif;
-
- position: relative;
- z-index: 0;
-
- margin: 0;
- padding: 0;
-
- color:#233e5e;
- }
-
- *
- {
- font-size: 100%;
-
- margin: 0;
- }
-
- h1, h2, h3, h4, h5, h6
- {
- font-weight: normal;
-
- padding: 0;
- }
-
- table
- {
- border-collapse: collapse;
- }
-
- th, td
- {
- padding: 0;
-
- text-align: left;
- vertical-align: top;
-
- border-collapse: collapse;
- }
-
- ol, ul
- {
- list-style: none;
- }
-
- ol, ul, li
- {
- padding: 0;
- }
-
- a
- {
- text-decoration: underline;
-
- color: #fa801f;
- }
-
- a img
- {
- border: 0;
- }
+body
+{
+ font: 0.8em "Trebuchet MS", Verdana, Arial, sans-serif;
+
+ position: relative;
+ z-index: 0;
+
+ margin: 0;
+ padding: 0;
+
+ color:#000;
+ background: #fff;
+}
+body-action
+{
+ font: 0.8em "Trebuchet MS", Verdana, Arial, sans-serif;
+
+ position: relative;
+ z-index: 0;
+
+ margin: 0;
+ padding: 0;
+
+ color:#233e5e;
+}
+
+*
+{
+ font-size: 100%;
+
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6
+{
+ font-weight: normal;
+
+ padding: 0;
+}
+
+table
+{
+ border-collapse: collapse;
+}
+
+th, td
+{
+ padding: 1px;
+
+ text-align: left;
+ vertical-align: top;
+
+ border-collapse: collapse;
+}
+
+ol, ul
+{
+ list-style: none;
+}
+
+ol, ul, li
+{
+ padding: 0;
+}
+
+a
+{
+ text-decoration: underline;
+
+ color: #fa801f;
+}
+
+a img
+{
+ border: 0;
+}
/* Basic style (end) */ /**/
/* Clearfix (begin) */ /**/
- .clear:after
- {
- font: 0/0 a;
-
- display: block;
- visibility: hidden;
- clear: both;
+.clear:after
+{
+ font: 0/0 a;
+
+ display: block;
+ visibility: hidden;
+ clear: both;
- height: 0;
+ height: 0;
- content: ".";
- }
+ content: ".";
+}
/* Clearfix (end) */ /**/
- legend {
- color: #ffffff;
- border:medium none;
- float:none !important;
- height:auto !important;
- max-height:none !important;
- max-width:none !important;
- min-height:0 !important;
- min-width:0 !important;
- padding-left:2px;
- padding-right:2px;
- position:static !important;
- white-space:nowrap;
- width:-moz-fit-content !important;
- }
\ No newline at end of file
+legend {
+ /* color: #ffffff; */
+ border:medium none;
+ float:none !important;
+ height:auto !important;
+ max-height:none !important;
+ max-width:none !important;
+ min-height:0 !important;
+ min-width:0 !important;
+ padding-left:2px;
+ padding-right:2px;
+ position:static !important;
+ white-space:nowrap;
+ width:-moz-fit-content !important;
+}
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html (original)
+++ incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html Thu May 28 22:57:38 2009
@@ -15,7 +15,7 @@
<div class="container">
<div class="head">
- <a class="logo" href="/"><img src="/images/esme-blue.png" alt="ESME" /></a>
+ <a class="logo" href="/"><img src="/images/esme.png" alt="ESME" /></a>
<ul class="b-primary">
<li><lift:Menu.item name="EditUser"/></li>
@@ -32,7 +32,7 @@
<tr>
<td width="75%">
<div>
- <lift-tag:bind name="content" />
+ <lift:bind name="content" />
</div>
</td>
<td>
Modified: incubator/esme/trunk/server/src/main/webapp/templates-hidden/login.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/templates-hidden/login.html?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/templates-hidden/login.html (original)
+++ incubator/esme/trunk/server/src/main/webapp/templates-hidden/login.html Thu May 28 22:57:38 2009
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="eng">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
@@ -11,47 +11,47 @@
<script id="json" src="/classpath/json.js" type="text/javascript"/>
</head>
-<body>
+ <body>
<div class="container">
- <div class="head">
- <a class="logo" href="/"><img src="/images/esme-blue.png" alt="ESME" /></a>
+ <div class="head">
+ <a class="logo" href="/"><img src="/images/esme.png" alt="ESME" /></a>
- <ul class="b-primary">
- <li><lift:Menu.item name="about"/></li>
- <li><lift:Menu.item name="Logout"/></li>
- </ul>
- </div>
+ <ul class="b-primary">
+ <li><lift:Menu.item name="about"/></li>
+ <li><lift:Menu.item name="Logout"/></li>
+ </ul>
+ </div>
- <table class="l-page l-page-login">
+ <table class="l-page l-page-login">
<tr>
- <td class="l-page-l">
- <div class="b-sign-on">
- <h1 class="title">Welcome and Sign On</h1>
-
- <p><b>Brought to you by the Enterprise Social Messaging Experiment group.</b></p>
- <p><b>The best, brightest shinning stars in the microblogging space.</b></p>
- <p class="last">Send micromessages to your friends and colleagues, tag messages and create groups of contacts.</p>
- <p><lift:msgs/></p>
+ <td class="l-page-l">
+ <div class="b-sign-on">
+ <h1 class="title">Welcome and Sign On</h1>
+
+ <p><b>Brought to you by the Enterprise Social Messaging Experiment group.</b></p>
+ <p><b>The best, brightest shinning stars in the microblogging space.</b></p>
+ <p class="last">Send micromessages to your friends and colleagues, tag messages and create groups of contacts.</p>
+ <p><lift:msgs/></p>
+ </div>
+ </td>
+ <td class="l-page-c"></td>
+ <td class="l-page-r">
+ <div class="l-top">
+ <div class="b-open">
+ <lift:bind name="content"/>
+
+ <div class="open-id">
+ <h3>Need an OpenID?</h3>
+ <p>try: <a href="http://openid.yahoo.com">http://openid.yahoo.com</a> or <a href="http://www.myopenid.com">www.myopenid.com</a></p>
</div>
- </td>
- <td class="l-page-c"></td>
- <td class="l-page-r">
- <div class="l-top">
- <div class="b-open">
- <lift-tag:bind name="content"/>
-
- <div class="open-id">
- <h3>Need an OpenID?</h3>
- <p>try: <a href="http://openid.yahoo.com">http://openid.yahoo.com</a> or <a href="http://www.myopenid.com">www.myopenid.com</a></p>
- </div>
- </div>
- </div>
- </td>
+ </div>
+ </div>
+ </td>
</tr>
- </table>
+ </table>
- <div class="foot"></div>
+ <div class="foot"></div>
</div>
-</body>
+ </body>
</html>
Modified: incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html?rev=779789&r1=779788&r2=779789&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html (original)
+++ incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html Thu May 28 22:57:38 2009
@@ -9,28 +9,28 @@
<script id="jquery" src="/classpath/jquery.js" type="text/javascript"/>
<script id="json" src="/classpath/json.js" type="text/javascript"/>
<script>
-// <![CDATA[
- /*
- * displayMessages called by lift:comet, type="Timeline" and type="PublicTimeline"
- */
+ // <![CDATA[
+ /*
+ * displayMessages called by lift:comet, type="Timeline" and type="PublicTimeline"
+ */
- function msgDateCompare(msg1, msg2)
- {
+ function msgDateCompare(msg1, msg2)
+ {
return parseInt(msg1.when) - parseInt(msg2.when);
- }
+ }
- function displayMessages(msgArray, elementId)
- {
+ function displayMessages(msgArray, elementId)
+ {
// Select the first element in table id="timeline_messages"
// with id="message" as the message template
if (msgTemplate == null) {
-// var msgTemplate = jQuery('span.'+spanId+' message:first');
- var msgTemplate = jQuery('#'+elementId+' #message:first');
- var tagTemplate = msgTemplate.find('#tag:first');
- var msgInsertPt = jQuery('#'+elementId);
+ // var msgTemplate = jQuery('span.'+spanId+' message:first');
+ var msgTemplate = jQuery('#'+elementId+' #message:first');
+ var tagTemplate = msgTemplate.find('#tag:first');
+ var msgInsertPt = jQuery('#'+elementId);
- // Now we have the template, make the existing instances invisible
- jQuery('#'+elementId+' *[id=message]').hide();
+ // Now we have the template, make the existing instances invisible
+ jQuery('#'+elementId+' *[id=message]').hide();
}
// Sort the messages into date order
@@ -38,61 +38,62 @@
for (var msgIndex in msgArray)
{
- // Marshall the data from the Comet-supplied message
- var cometMsg = msgArray[msgIndex];
- var msgId = "message_"+cometMsg.id;
-
- // Only do this if the message is not already in the table
- if (jQuery('#'+elementId+' #'+msgId).size() == 0)
- {
- var msgAuthor = cometMsg.author;
- var msgBody = jQuery(cometMsg.text).find('body').html();
- var msgDateObj = new Date(parseInt(cometMsg.when));
- var msgDateStr = msgDateObj.toLocaleDateString() +
- ' ' + msgDateObj.toLocaleTimeString();
- var msgSource = cometMsg.source;
- var msgTags = jQuery(cometMsg.text).find('tags > tag').get();
- for (var tagIndex=0; tagIndex < msgTags.length; tagIndex++) {
- // Replace each tag element with the plain tag text
- msgTags[tagIndex] = jQuery(msgTags[tagIndex]).attr('name');
- }
-
- // Put the marshalled data into a copy of the template
- var newMsg = msgTemplate.clone(true).attr('id',msgId);
-
- newMsg.find('#author').text(msgAuthor.nickname);
-
- var avatar = newMsg.find('#avatar')
- .attr('src', msgAuthor.imageurl)
- .attr('alt',msgAuthor.firstname + ' ' + msgAuthor.lastname);
-
- newMsg.find('#body').html(msgBody);
- newMsg.find('#source').text(msgSource);
- newMsg.find('#when').text(msgDateStr);
- for (var tagIndex=0; tagIndex < msgTags.length; tagIndex++) {
- var newTag = tagTemplate.clone(true).attr('id',msgTags[tagIndex]);
- newTag.find('a')
- .attr('href','tag/'+msgTags[tagIndex])
- .text(msgTags[tagIndex]);
- newTag.insertBefore(newMsg.find('#tag:first'));
- }
+ // Marshall the data from the Comet-supplied message
+ var cometMsg = msgArray[msgIndex];
+ var msgId = "message_"+cometMsg.id;
+
+ // Only do this if the message is not already in the table
+ if (jQuery('#'+elementId+' #'+msgId).size() == 0)
+ {
+ var msgAuthor = cometMsg.author;
+ var msgBody = jQuery(cometMsg.text).find('body').html();
+ var msgDateObj = new Date(parseInt(cometMsg.when));
+ var msgDateStr = msgDateObj.toLocaleDateString() +
+ ' ' + msgDateObj.toLocaleTimeString();
+ var msgSource = cometMsg.source;
+ var msgTags = jQuery(cometMsg.text).find('tags > tag').get();
+ for (var tagIndex=0; tagIndex < msgTags.length; tagIndex++) {
+ // Replace each tag element with the plain tag text
+ msgTags[tagIndex] = jQuery(msgTags[tagIndex]).attr('name');
+ }
+
+ // Put the marshalled data into a copy of the template
+ var newMsg = msgTemplate.clone(true).attr('id',msgId);
- // Remove any old tags from the template
- newMsg.find('*[id=tag]').remove();
+ newMsg.find('#author').text(msgAuthor.nickname);
- // Insert the updated copy of the message into the page
- newMsg.prependTo(msgInsertPt).show();
+ var avatar = newMsg.find('#avatar')
+ .attr('src', msgAuthor.imageurl)
+ .attr('alt',msgAuthor.firstname + ' ' + msgAuthor.lastname);
+
+ newMsg.find('#body').html(msgBody);
+ newMsg.find('#source').text(msgSource);
+ newMsg.find('#when').text(msgDateStr);
+ for (var tagIndex=0; tagIndex < msgTags.length; tagIndex++) {
+ var newTag = tagTemplate.clone(true).attr('id',msgTags[tagIndex]);
+ newTag.find('a')
+ .attr('href','tag/'+msgTags[tagIndex])
+ .text(msgTags[tagIndex]);
+ newTag.insertBefore(newMsg.find('#tag:first'));
}
+
+ // Remove any old tags from the template
+ newMsg.find('*[id=tag]').remove();
+
+ // Insert the updated copy of the message into the page
+ newMsg.prependTo(msgInsertPt).show();
+ }
}
- }
-// ]]>
+ }
+ // ]]>
</script>
</head>
<body>
<div class="container">
<div class="head">
- <img src="/images/esme-blue.png" alt="ESME" />
+ <img src="/images/esme.png" alt="ESME" />
+ <img src="/images/ajax-loader.gif" style="display: none" id="ajax-loader"/>
<ul class="b-primary">
<li><lift:Menu.item name="EditUser"/></li>
<li><lift:Menu.item name="about"/></li>
@@ -115,19 +116,19 @@
<dd>
<div class="b-list">
- <table>
- <thead>
- <tr>
+ <table>
+ <thead>
+ <tr>
<th>Author</th>
<th>Message</th>
<th>Tags</th>
<th>Source</th>
<th>Date</th>
- </tr>
- </thead>
- <lift:comet type="Timeline"/>
- <tbody id="timeline_messages">
- <tr id="message">
+ </tr>
+ </thead>
+ <lift:comet type="Timeline"/>
+ <tbody id="timeline_messages">
+ <tr id="message">
<td><img id="avatar" src="http://static.twitter.com/images/default_profile_bigger.png" alt="Anonymous" width="50px"/><div id="author">anon</div></td>
<td class="message">
<div class="outer"><div class="inner clear">
@@ -135,13 +136,13 @@
</div></div>
</td>
<td id="tags" class="tag">
- <p id="tag"><a href="tag/tag1">tag1</a></p>
- <p id="tag"><a href="tag/tag2">tag2</a></p>
+ <p id="tag"><a href="tag/tag1">tag1</a></p>
+ <p id="tag"><a href="tag/tag2">tag2</a></p>
</td>
<td id="source">web</td>
<td id="when" class="date">Jan 1, 2009 12:00</td>
- </tr>
- <tr id="message">
+ </tr>
+ <tr id="message">
<td><img id="avatar" src="http://static.twitter.com/images/default_profile_bigger.png" alt="Anonymous" width="50px"/><div id="author">anon</div></td>
<td class="message">
<div class="outer"><div class="inner clear">
@@ -149,14 +150,14 @@
</div></div>
</td>
<td id="tags" class="tag">
- <p id="tag"><a href="tag/tag1">tag1</a></p>
- <p id="tag"><a href="tag/tag3">tag3</a></p>
+ <p id="tag"><a href="tag/tag1">tag1</a></p>
+ <p id="tag"><a href="tag/tag3">tag3</a></p>
</td>
<td id="source">web</td>
<td id="when" class="date">Jan 1, 2009 11:58</td>
- </tr>
- </tbody>
- </table>
+ </tr>
+ </tbody>
+ </table>
</div>
</dd>
</dl>
@@ -166,19 +167,19 @@
<dd>
<div class="b-list">
- <table>
- <thead>
- <tr>
+ <table>
+ <thead>
+ <tr>
<th>Author</th>
<th>Message</th>
<th>Tags</th>
<th>Source</th>
<th>Date</th>
- </tr>
- </thead>
- <lift:comet type="PublicTimeline"/>
- <tbody id="public_timeline_messages">
- <tr id="message">
+ </tr>
+ </thead>
+ <lift:comet type="PublicTimeline"/>
+ <tbody id="public_timeline_messages">
+ <tr id="message">
<td id="author">dhague</td>
<td class="message">
<div class="outer"><div class="inner clear">
@@ -186,14 +187,14 @@
</div></div>
</td>
<td id="tags" class="tag">
- <p id="tag"><a href="tag/tagA">tagA</a></p>
- <p id="tag"><a href="tag/tagB">tagB</a></p>
+ <p id="tag"><a href="tag/tagA">tagA</a></p>
+ <p id="tag"><a href="tag/tagB">tagB</a></p>
</td>
<td id="source">web</td>
<td id="when" class="date">Jan 1, 2009 12:00</td>
- </tr>
- </tbody>
- </table>
+ </tr>
+ </tbody>
+ </table>
</div>
</dd>
</dl>
@@ -232,7 +233,7 @@
<button onclick="clearReplyTo()">remove reply</button>
</div>
- <div class="row clear">
+ <div class="row clear" style="display: none">
<label>Tag your message</label>
<input id="tagdude" style="width: 90%"/>
<div class="note clear">
@@ -242,7 +243,7 @@
</div>
</div>
- <div class="row clear"><a class="btn" href="javascript:post_msg();"><img src="/images/send-message.png" alt="Send Message" /></a></div>
+ <div class="row clear"><button class="btn" onclick="javascript:post_msg();">Update<!--<img src="/images/send-message.png" alt="Send Message" />--></button></div>
<script>
// <![CDATA[
@@ -268,13 +269,16 @@
<lift:comet type="TagCloud"/>
</div>
- <div class="bugs">
- <form action="/user_view/search"
- class="b-primay"><input style="height: 20px; background: #c9d8ea;"
- name="term"/>
- <input style="height: 22px; background: #233e5e; color: #c9d8ea;" type="submit" value="Search"/>
- </form>
- </div>
+ <lift:ignore>
+ <div class="bugs">
+ <form action="/user_view/search"
+ class="b-primay"><input style="height: 20px; background: #c9d8ea;"
+ name="term"/>
+ <input style="height: 22px; background: #233e5e; color: #c9d8ea;" type="submit" value="Search"/>
+ </form>
+ </div>
+ </lift:ignore>
+
</div>
</td>