rethink analysis UI

pull/1/merge
Thibault Duplessis 2012-06-10 22:24:26 +02:00
parent 3025977dd7
commit e9e68b9408
4 changed files with 61 additions and 51 deletions

View File

@ -11,47 +11,42 @@
@jsTag("analyse.js")
}
@underchat = {
@trans.opening() -
@opening.map { o =>
<a href="http://www.chessgames.com/perl/chessopening?eco=@o.code">@o.code @o.name</a><br />
}.getOrElse { "Unknown" }
<a class="rotate_board" href="@routes.Analyse.replay(gameId, (!color).name)">@trans.flipBoard()</a><br />
<br />
<a href="@routes.Analyse.pgn(game.id)">Download PGN</a>
@if(bookmarkers.nonEmpty) {
<div class="bookmarkers">
<p>@trans.bookmarkedByNbPlayers(bookmarkers.size)</p>
<ul>
@bookmarkers.map { bookmarker =>
<li>@userLink(bookmarker)</li>
}
</ul>
</div>
}
<textarea id="pgnText" readonly="readonly">@Html(game.pgn)</textarea>
}
@analyse.layout(
title = trans.replayAndAnalyse() + " " + gameId,
goodies = round.watcherGoodies(pov).some,
chat = round.room(roomHtml, true).some,
underchat = underchat.some,
moreCss = moreCss,
moreJs = moreJs) {
<div class="analyse clearfix">
<div class="board_wrap">
<div
id="GameBoard"
<div
id="GameBoard"
data-version="@version"
data-socket-url="@routes.Round.websocketWatcher(gameId, color.name)"
class="colorable_board @color.fold("", " flip")"></div>
<div id="GameButtons"></div>
</div>
<div class="moves_wrap">
<h1>@trans.replayAndAnalyse()</h1>
<div id="GameText"></div>
@trans.opening() - @opening.map { o =>
<a href="http://www.chessgames.com/perl/chessopening?eco=@o.code">@o.code @o.name</a><br />
}.getOrElse { "Unknown" }
<br />
<a class="rotate_board" href="@routes.Analyse.replay(gameId, (!color).name)">@trans.flipBoard()</a><br />
<br />
<a href="@routes.Analyse.pgn(game.id)">Download PGN</a>
@if(bookmarkers.nonEmpty) {
<div class="bookmarkers">
<p>@trans.bookmarkedByNbPlayers(bookmarkers.size)</p>
<ul>
@bookmarkers.map { bookmarker =>
<li>@userLink(bookmarker)</li>
}
</ul>
</div>
}
</div>
</div>
<textarea id="pgnText" readonly="readonly">@Html(game.pgn)</textarea>
@round.share(game)
}

View File

@ -12,37 +12,37 @@ $(function() {
$.extend(true, lichess.socketDefaults, {
options: {
name: "analyse",
ignoreUnknownMessages: true
ignoreUnknownMessages: true
},
events: {
message: function(event) {
$chat.chat("append", event);
},
crowd: function(event) {
$nbViewers.html($nbViewers.html().replace(/(\d+|-)/, event.watchers)).toggle(event.watchers > 0);
}
crowd: function(event) {
$nbViewers.html($nbViewers.html().replace(/(\d+|-)/, event.watchers)).toggle(event.watchers > 0);
}
}}));
});
function customFunctionOnPgnGameLoad() {
//var $text = $('#ShowPgnText');
//var html = '<table><tbody><tr>';
//$text.find('span.move').remove();
//$text.find('>span').each(function(it) {
//if (0 == it%2) {
//html += '</tr><tr><th>' + (it/2+1) + '.</th>';
//}
//html += '<td>' + this.innerHTML + '</td>';
//});
//html += '</tr></tbody></table>';
//$text.html(html).find('tr:empty').remove();
var $text = $('#ShowPgnText');
var html = '<table><tbody><tr>';
$text.find('span.move, span.variation').remove();
$text.find('>a').each(function(it) {
if (0 == it%2) {
html += '</tr><tr><th>' + (it/2+1) + '.</th>';
}
html += '<td>' + this.outerHTML + '</td>';
});
html += '</tr></tbody></table>';
$text.html(html).find('tr:empty').remove();
//$('div.lichess_goodies a.rotate_board').click(function() {
//$('#GameBoard').toggleClass('flip');
//$('#player_links div:first').appendTo($('#player_links'));
//redrawBoardMarks();
//return false;
//});
$('div.lichess_goodies a.rotate_board').click(function() {
$('#GameBoard').toggleClass('flip');
$('#player_links div:first').appendTo($('#player_links'));
redrawBoardMarks();
return false;
});
redrawBoardMarks();
}

View File

@ -6,7 +6,7 @@ $.widget("lichess.game", {
self.$table = self.element.find("div.lichess_table_wrap");
self.$tableInner = self.$table.find("div.table_inner");
self.$chat = $("div.lichess_chat").orNot();
self.$nbViewers = $chat.find('.nb_viewers');
self.$nbViewers = self.$chat.find('.nb_viewers');
self.initialTitle = document.title;
self.hasMovedOnce = false;
self.premove = null;

View File

@ -71,13 +71,28 @@ span.board_mark.horz {
height: 2em;
}
#GameText {
text-align: justify;
font-family: 'pgn4web ChessSansMerida', 'pgn4web Liberation Sans', sans-serif;
font-size: 14px;
font-size: 1.2em;
width: 200px;
height: 400px;
margin-bottom: 1em;
border: 1px solid #C0C0C0;
overflow: auto;
padding: 5px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
}
#GameText table {
margin: auto;
}
#GameText tr {
border-bottom: 1px solid #eaeaea;
}
#GameText a.move {
font-family: 'pgn4web ChessSansMerida', 'pgn4web Liberation Sans', sans-serif;
text-decoration: none;
padding: 3px;
padding: 3px 12px;
display: block;
color: #444;
}
#GameText a:hover {