Browse Source

Remove old jquery-based chatroom

Thomas Dy 11 years ago
parent
commit
2e4964e264

+ 0 - 17
app/controllers/Application.scala

@@ -20,23 +20,6 @@ object Application extends Controller {
     Ok(views.html.chatRoomNg())
   }
 
-  /**
-   * Display the chat room page.
-   */
-  def chatRoom(username: Option[String]) = Action { implicit request =>
-    username.filterNot(_.isEmpty).map { username =>
-      Ok(views.html.chatRoom(username))
-    }.getOrElse {
-      Redirect(routes.Application.index).flashing(
-        "error" -> "Please choose a valid username."
-      )
-    }
-  }
-
-  def chatRoomJs(username: String) = Action { implicit request =>
-    Ok(views.js.chatRoom(username))
-  }
-
   /**
    * Handles the chat websocket.
    */

+ 0 - 30
app/views/chatRoom.scala.html

@@ -1,30 +0,0 @@
-@(username: String)(implicit request: RequestHeader)
-
-@main(Some(username)) {
-    
-    <div class="page-header">
-        <h1>Welcome to the chat room <small>You are chatting as @username</small></h1>
-    </div>
-    
-    <div id="onError" class="alert-message error">
-        <p>
-            <strong>Oops!</strong> <span></span>
-        </p>
-    </div>
-    
-    <div id="onChat" class="row">
-        <div class="span10" id="main">
-            <div id="messages">
-            </div>
-            <textarea id="talk"></textarea>
-        </div>
-        <div class="span4">
-            <h2>Members</h2>
-            <ul id="members">
-            </ul>
-        </div>
-    </div>
-    
-    <script type="text/javascript" charset="utf-8" src="@routes.Application.chatRoomJs(username)"></script>
-    
-}

+ 0 - 56
app/views/chatRoom.scala.js

@@ -1,56 +0,0 @@
-@(username: String)(implicit r: RequestHeader)
-
-$(function() {
-
-    var WS = window['MozWebSocket'] ? MozWebSocket : WebSocket
-    var chatSocket = new WS("@routes.Application.chat(username).webSocketURL()")
-
-    var sendMessage = function() {
-        chatSocket.send(JSON.stringify(
-            {text: $("#talk").val()}
-        ))
-        $("#talk").val('')
-    }
-
-    var receiveEvent = function(event) {
-        var data = JSON.parse(event.data)
-
-        // Handle errors
-        if(data.error) {
-            chatSocket.close()
-            $("#onError span").text(data.error)
-            $("#onError").show()
-            return
-        } else {
-            $("#onChat").show()
-        }
-
-        // Create the message element
-        var el = $('<div class="message"><span></span><p></p></div>')
-        $("span", el).text(data.user)
-        $("p", el).text(data.message)
-        $(el).addClass(data.kind)
-        if(data.user == '@username') $(el).addClass('me')
-        $('#messages').append(el)
-
-        // Update the members list
-        $("#members").html('')
-        $(data.members).each(function() {
-            var li = document.createElement('li');
-            li.textContent = this;
-            $("#members").append(li);
-        })
-    }
-
-    var handleReturnKey = function(e) {
-        if(e.charCode == 13 || e.keyCode == 13) {
-            e.preventDefault()
-            sendMessage()
-        }
-    }
-
-    $("#talk").keypress(handleReturnKey)
-
-    chatSocket.onmessage = receiveEvent
-
-})

+ 0 - 22
app/views/index.scala.html

@@ -1,22 +0,0 @@
-@()(implicit flash: Flash)
-
-@main(None) {
-    
-    @flash.get("error").map { errorMessage =>
-        
-        <div class="alert-message error">
-            <p>
-                <strong>Oops!</strong> @errorMessage
-            </p>
-        </div>
-        
-    }
-        
-    <div class="alert-message block-message info">
-        <p>
-            <strong>This is the Play Websocket sample application!</strong> 
-            To start, choose a username and sign in using the top right form.
-        </p>
-    </div>
-    
-}

+ 0 - 51
app/views/main.scala.html

@@ -1,51 +0,0 @@
-@(connected: Option[String])(content: Html)
-
-<!DOCTYPE html>
-
-<html>
-    <head>
-        <title>Websocket Chat-Room</title>
-        <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap.css")">
-        <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
-        <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
-        <script src="@routes.Assets.at("javascripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
-    </head>
-    <body>
-        
-        <div class="topbar">
-            <div class="fill">
-                <div class="container">
-                    <a class="brand" href="@routes.Application.index()">Websocket Chat-Room</a>
-                    
-                    @connected.map { username =>
-                        <p class="pull-right">
-                            Logged in as @username —
-                            <a href="@routes.Application.index()">Disconnect</a>
-                        </p>
-                    }.getOrElse {
-                        <form action="@routes.Application.chatRoom(None)" class="pull-right">
-                            <input id="username" name="username" class="input-small" type="text" placeholder="Username">
-                            <button class="btn" type="submit">Sign in</button>
-                        </form>
-                    }
-                    
-                </div>
-            </div>
-        </div>
-
-        <div class="container">
-
-            <div class="content">
-                @content
-            </div>
-
-            <footer>
-                <p>
-                    <a href="http://www.playframework.com">www.playframework.com</a>
-                </p>
-            </footer>
-
-        </div>
-        
-    </body>
-</html>

+ 0 - 2
conf/routes

@@ -4,9 +4,7 @@
 
 # Home page
 GET     /                                controllers.Application.index
-GET     /room                            controllers.Application.chatRoom(username: Option[String])
 GET     /room/chat                       controllers.Application.chat(username)
-GET     /assets/javascripts/chatroom.js  controllers.Application.chatRoomJs(username: String)
 GET     /jsRoutes                        controllers.Application.javascriptRoutes
 
 # Map static resources from the /public folder to the /assets URL path

File diff suppressed because it is too large
+ 0 - 1
public/javascripts/jquery-1.7.1.min.js


+ 0 - 13
test/ApplicationSpec.scala

@@ -9,19 +9,6 @@ import play.api.test.Helpers._
 class ApplicationSpec extends Specification {
 
   "Application" should {
-    "Send JavaScript content" in {
-      running(FakeApplication()) {
-        val js = route(FakeRequest(GET, "/assets/javascripts/chatroom.js?username=julien")).get
-        status(js) must equalTo (OK)
-        contentType(js) must beSome.which(_ == "text/javascript")
-      }
-    }
-    "Resist to XSS attacks" in {
-      running(FakeApplication()) {
-        val js = route(FakeRequest(GET, "/assets/javascripts/chatroom.js?username='")).get
-        contentAsString(js).contains("""if(data.user == '\'')""") must beTrue
-      }
-    }
   }
 
 }

Some files were not shown because too many files changed in this diff