Skip to content

Commit

Permalink
Closes #137: swipe down slides info down, swipe up puts it back. Also…
Browse files Browse the repository at this point in the history
… fixed an event binding bug.
  • Loading branch information
raganwald committed Apr 14, 2010
1 parent 664571d commit 0640bcf
Show file tree
Hide file tree
Showing 10 changed files with 4,773 additions and 313 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -4,3 +4,4 @@ tmp/**/*
doc/api doc/api
doc/app doc/app
doc/plugins doc/plugins
config/environments/development.rb
2 changes: 1 addition & 1 deletion app/views/action/gameplay/_action_inner.html.haml
@@ -1,4 +1,4 @@
= render :partial => 'action/gameplay/toolbar', :locals => { :playing_text => "Move #{action.cardinality}" } = render :partial => 'action/gameplay/toolbar', :locals => { :playing_text => "Move #{action.cardinality}", :info => false }
.board .board
-if action.cardinality < action.game.current_move_number -if action.cardinality < action.game.current_move_number
= render :partial => "board/board", :locals => { :board => action.after, :latest => action.position } = render :partial => "board/board", :locals => { :board => action.after, :latest => action.position }
Expand Down
6 changes: 1 addition & 5 deletions app/views/action/gameplay/_toolbar.html.haml
@@ -1,6 +1,5 @@
- playing_text ||= '' - playing_text ||= ''
- back = false if back.nil? - back = false if back.nil?
- info = true if info.nil?
- hey = true if hey.nil? - hey = true if hey.nil?
.toolbar .toolbar
-if back -if back
Expand All @@ -9,7 +8,4 @@
%span.gravatar %span.gravatar
%span.playing= playing_text %span.playing= playing_text
-if hey -if hey
%img#heyButton.iconButton.touch{:height=>30, :width=>30, :src=>'/images/tools/empty-text-green.png'}/ %img#heyButton.iconButton.touch{:height=>30, :width=>30, :src=>'/images/tools/empty-text-green.png'}/
-if info
%a#infoButton.button.flip{:href=>'#info'}<
%img{:height=>20, :width=>20, :src=>'/images/tools/info_20.png'}/
2 changes: 1 addition & 1 deletion app/views/game/show.html.haml
Expand Up @@ -39,7 +39,7 @@
$(document).data('game_show_helper', game_show_helper); $(document).data('game_show_helper', game_show_helper);
}); });
#info #info
= render :partial => 'action/gameplay/toolbar', :locals => { :back => true, :info => false, :hey => false } = render :partial => 'action/gameplay/toolbar', :locals => { :back => falseG, :hey => false }
%h2 Players %h2 Players
%ul.rounded %ul.rounded
%li %li
Expand Down
4,453 changes: 4,453 additions & 0 deletions log/development.log

Large diffs are not rendered by default.

87 changes: 50 additions & 37 deletions public/javascripts/application.js
Expand Up @@ -49,7 +49,7 @@ var GO = function () {
var document_ready_hook = function () { var document_ready_hook = function () {
message_dialog_instance = $('<div></div>') message_dialog_instance = $('<div></div>')
.dialog({ .dialog({
dialogClass: 'wants_close message', dialogClass: 'scrub message',
autoOpen: false, autoOpen: false,
height: 'auto', height: 'auto',
title: 'Hey!', title: 'Hey!',
Expand All @@ -64,7 +64,7 @@ var GO = function () {
height: 72 height: 72
}); });
progress_dialog_instance.parent().detach().appendTo('body > .current'); progress_dialog_instance.parent().detach().appendTo('body > .current');
$('.message.wants_close').bind('gesture_close', function (event) { $('.message.scrub').bind('gesture_scrub', function (event) {
message_dialog_instance.dialog("close"); message_dialog_instance.dialog("close");
return false; return false;
}); });
Expand Down Expand Up @@ -316,11 +316,6 @@ var GO = function () {
}); });
} }
}; };

var clear_current_play = function (target) {
set_played_stone($(target).find('.intersection.latest:not(.last)'), false);
set_killed_stones(null, false)
};


var liven_playing_positions = function () { var liven_playing_positions = function () {


Expand Down Expand Up @@ -351,7 +346,7 @@ var GO = function () {
if (update_moves.size() > 0) { if (update_moves.size() > 0) {
// console.log('processing ' + update_moves.size() + ' updated moves'); // console.log('processing ' + update_moves.size() + ' updated moves');
update_moves.insertAfter('.move:last'); update_moves.insertAfter('.move:last');
update_elements_with_navigation_handlers(update_moves); update_boards_with_navigation_handlers(update_moves);
} }
$(html).filter('script').each(function (i, el) { $(html).filter('script').each(function (i, el) {
$.extend(info, jQuery.parseJSON($(el).text())); $.extend(info, jQuery.parseJSON($(el).text()));
Expand Down Expand Up @@ -470,15 +465,15 @@ var GO = function () {
} }
}; };


var update_elements_with_navigation_handlers = function () { var update_boards_with_navigation_handlers = function () {


var memoized_move = function (target_move_number) { var memoized_move = function (target_move_number) {
var selector = select_move_by_move_number(target_move_number); var selector = select_move_by_move_number(target_move_number);
if ($(selector).size() == 0) { if ($(selector).size() == 0) {
var move_data = $('body').data('moves')[target_move_number]; var move_data = $('body').data('moves')[target_move_number];
var next_move = memoized_move(target_move_number + 1); var next_move = memoized_move(target_move_number + 1);
var this_move = next_move var this_move = next_move
.clone(true) .clone(false)
.removeClass() .removeClass()
.addClass('move') .addClass('move')
.attr('id', id_by_move_number(target_move_number)) .attr('id', id_by_move_number(target_move_number))
Expand Down Expand Up @@ -531,22 +526,20 @@ var GO = function () {
else { else {
hey.text(this_move.data('player') + ' passed.'); // TODO: Titleize hey.text(this_move.data('player') + ' passed.'); // TODO: Titleize
} }
update_elements_with_navigation_handlers(this_move); update_boards_with_navigation_handlers(this_move);
update_hey(this_move); update_hey(this_move);
this_move.insertBefore(next_move); this_move.insertBefore(next_move);
} }
return $(selector); return $(selector);
}; };
var goto_move = function () { var goto_move = function (from_move_number, to_move_number) {
return function (from_move_number, to_move_number) { var from_page = $(select_move_by_move_number(from_move_number));
var from_page = $(select_move_by_move_number(from_move_number)); var to_page = memoized_move(to_move_number);
var to_page = memoized_move(to_move_number); jQT.swapPages(from_page, to_page, ((from_move_number > to_move_number) ? 'slide.backwards' : 'slide'));
jQT.swapPages(from_page, to_page, ((from_move_number > to_move_number) ? 'slide.backwards' : 'slide')); return false;

};
return false; var forwards_in_time = function (event) {
} var target = $(event.target);
}();
var forwards_in_time = function (target) {
var current_move_number = current_displayed_move_number(target); var current_move_number = current_displayed_move_number(target);
if (current_move_number < last_displayed_move_number()) { if (current_move_number < last_displayed_move_number()) {
return goto_move(current_move_number, current_move_number + 1); return goto_move(current_move_number, current_move_number + 1);
Expand Down Expand Up @@ -592,25 +585,33 @@ var GO = function () {
return false; return false;
} }
}; };
var backwards_in_time = function (target) { var backwards_in_time = function (event) {
var target = $(event.target);
var current_move_number = current_displayed_move_number(target); var current_move_number = current_displayed_move_number(target);
if (current_move_number > 0) { if (current_move_number > 0) {
return goto_move(current_move_number, current_move_number - 1); return goto_move(current_move_number, current_move_number - 1);
} }
}; };
var show_game_info = function (event) {
jQT.goTo($('#info'), 'slideup.reverse');
};

var clear_current_play = function (event) {
var target = $(event.target);
set_played_stone(target.find('.intersection.latest:not(.last)'), false);
set_killed_stones(null, false)
};

var debug_bindings = 0;


return function (selector) { return function (selector) {
var c = debug_bindings++;
$(selector) $(selector)
.find('.board') .find('.board')
.bind('gesture_left', function (event) { .bind('gesture_left.navigation', forwards_in_time)
return forwards_in_time(this); .bind('gesture_right.navigation', backwards_in_time)
}) .bind('gesture_scrub.navigation', clear_current_play)
.bind('gesture_right', function (event) { .bind('gesture_bottom.navigation', show_game_info)
return backwards_in_time(this);
})
.bind('gesture_close', function (event) {
return clear_current_play(this);
})
.end() .end()
}; };
}(); }();
Expand Down Expand Up @@ -643,12 +644,12 @@ var GO = function () {
var heyText = hey.text(); var heyText = hey.text();
heyMove heyMove
.find('.toolbar #heyButton') .find('.toolbar #heyButton')
.addClass('wants_close') .addClass('scrub')
.each(function (index, heyButton_el) { .each(function (index, heyButton_el) {
var heyButton = $(heyButton_el); var heyButton = $(heyButton_el);
heyButton heyButton
.attr('src', '/images/tools/hey-text-green.png') .attr('src', '/images/tools/hey-text-green.png')
.bind('gesture_close', function (event) { .bind('gesture_scrub', function (event) {
$(this).qtip('hide'); $(this).qtip('hide');
}) })
.qtip({ .qtip({
Expand Down Expand Up @@ -699,18 +700,30 @@ var GO = function () {


var initialize_gesture_support = function() { var initialize_gesture_support = function() {
$('body') $('body')
.gesture(['left', 'right', { close: function(target) { .gesture([
'left', 'right', 'top', 'bottom',
{ scrub: function(target) {
return $(target) return $(target)
.parents('body > *') .parents('body > *')
.find('.wants_close'); .find('.scrub');
} }
} },
{ bottomright_topright: function(target) {
return $(target)
.parents('body > *')
.find('.ok');
}
}
]); ]);
$('#info')
.bind('gesture_top', function(event) { jQT.goBack(); });
}; };


var document_ready_hook = function () { var document_ready_hook = function () {
initialize_gesture_support(); initialize_gesture_support();
update_elements_with_navigation_handlers('body'); $('.move').each(function(i, e) {
update_boards_with_navigation_handlers($(e));
});
liven_playing_positions(); liven_playing_positions();
update_playing_div() update_playing_div()
update_move_infos(); update_move_infos();
Expand Down

0 comments on commit 0640bcf

Please sign in to comment.