From d9d25db313c74d4a65289175e17f474c515f6bfb Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Fri, 30 Jan 2015 22:24:53 -0600 Subject: [PATCH] Remove controls; use index number region as commit control --- app.rb | 7 +++++++ views/handler_js.erb | 43 +++++++++++++++++-------------------------- views/index.erb | 26 -------------------------- views/meta_css.erb | 12 +++++------- 4 files changed, 29 insertions(+), 59 deletions(-) diff --git a/app.rb b/app.rb index becc9c9..3e56c34 100644 --- a/app.rb +++ b/app.rb @@ -14,6 +14,13 @@ def load_tracklist() $tracklist = csv.map do |row| Hash[*names.zip(row).flatten] end + $tracklist.unshift({ + index: 0, + title: '-', + length: 0, + bpm: 0, + notes: nil + }) end load_tracklist diff --git a/views/handler_js.erb b/views/handler_js.erb index fc379b9..c990d2a 100644 --- a/views/handler_js.erb +++ b/views/handler_js.erb @@ -3,6 +3,7 @@ function format_track(index, title, length, bpm, notes) { var minutes = Math.floor(length / 60); var seconds = length % 60; var length = minutes + ":" + ( "0" + seconds ).slice(-2); + var bpm = Math.round(bpm); if ( notes == null ) notes = '-'; entry = $('
'); entry.append($('' + index + '')); @@ -28,25 +29,23 @@ function current(index) { return; current_index = index; $("div.track").removeClass("current"); + $("div.track > .index").off('click.commit'); $("div#track_" + index).addClass("current"); - scroll_to(index); + $("div#track_" + index + " > .index").on('click.commit', commit); } -function running(index) { +function updating(index) { if (index < 0 || index > maximum_index) return; - running_index = index; - $("div.track").removeClass("running"); - $("div#track_" + index).addClass("running"); + $("div.track").removeClass("running sending"); + $("div#track_" + index).addClass("sending"); } -function scroll_to(index) { - // Scroll so that this tile is at the top third. If beyond page boundaries, clamp. - var height = $(document).height(); - var viewport = $(window).height() / 3; - var target = height * (index / maximum_index) - viewport; - - $('html,body').animate({scrollTop: target}, 250); +function running(index) { + if (index < 0 || index > maximum_index) + return; + $("div.track").removeClass("running sending"); + $("div#track_" + index).addClass("running"); } function next() { @@ -58,7 +57,7 @@ function prev() { } function commit() { - running(current_index); + running_index = current_index; commit_update(); params = { @@ -78,28 +77,20 @@ function commit() { } function commit_ready() { - var e = $('#commit'); - e.removeClass('update'); - e.removeClass('failed'); - e.html('✓'); + running(running_index); } function commit_update() { - var e = $('#commit'); - e.removeClass('failed'); - e.addClass('update'); - e.html('…'); + updating(running_index); } function commit_failed() { - var e = $('#commit'); - e.removeClass('update'); - e.addClass('failed'); - e.html('✗'); + current(running_index); + $('div.track').removeClass("running sending"); } maximum_index = tracklist.length; current_index = 0; running_index = 0; -init(); +$(document).ready(init); diff --git a/views/index.erb b/views/index.erb index 5fc5bc9..ece5556 100644 --- a/views/index.erb +++ b/views/index.erb @@ -5,38 +5,12 @@ Metadata: <%= mixtitle %> -
- - - -
diff --git a/views/meta_css.erb b/views/meta_css.erb index ba1ef01..ef2cd4a 100644 --- a/views/meta_css.erb +++ b/views/meta_css.erb @@ -3,16 +3,10 @@ body { padding: 0; font-family: sans-serif; } -#controls { - width: 99%; - padding: 0.2em; - position: fixed; - background: white; -} + #tracks { width: 99%; padding: 0.2em; - padding-top: 6em; overflow: auto; } @@ -32,6 +26,10 @@ body { background: #fdd; } +.track.sending { + background: #ffd; +} + .track.running { background: #dfd; } -- 2.42.0