diff --git a/admin/app/admin/jam_tracks.rb b/admin/app/admin/jam_tracks.rb index 0f6d99e08..ed1e746ab 100644 --- a/admin/app/admin/jam_tracks.rb +++ b/admin/app/admin/jam_tracks.rb @@ -11,6 +11,18 @@ ActiveAdmin.register JamRuby::JamTrack, :as => 'JamTracks' do form :partial => 'form' index do + + # default_actions # use this for all view/edit/delete links + column "Actions" do |jam_track| + links = ''.html_safe + clz = "member_link view_link show_tracks" + clz += ' expand' if params[:focus_track]==jam_track.id + links << link_to("Show Tracks", '#', :class => clz) + links << link_to("Update", edit_resource_path(jam_track), :class => "member_link edit_link") + links + end + + column :id column :name column :description @@ -40,18 +52,35 @@ ActiveAdmin.register JamRuby::JamTrack, :as => 'JamTracks' do column :track_type column :instrument column :part - column :track do |track| + + column "" do |track| + if track.position > 1 + link_to 'Move Up', "jam_tracks/#{track.id}/move_up" + end + end + column "" do |track| + if track.position < jam_track.jam_track_tracks.count + link_to 'Move Down', "jam_tracks/#{track.id}/move_down" + end + end + column "" do |track| link_to 'Play', '#' end end end - # default_actions # use this for all view/edit/delete links - column "Actions" do |jam_track| - links = ''.html_safe - links << link_to("Show Tracks", '#', :class => "member_link view_link show_tracks") - links << link_to("Update", edit_resource_path(jam_track), :class => "member_link edit_link") - links - end + + end + + member_action :move_up, :method => :get do + track = JamTrackTrack.where("id=?",params[:id]).first + track.move_up + redirect_to("/admin/jam_tracks?focus_track=#{track.jam_track_id}", {:notice => "Moved Up."}) + end + + member_action :move_down, :method => :get do + track = JamTrackTrack.where("id=?",params[:id]).first + track.move_down + redirect_to("/admin/jam_tracks?focus_track=#{track.jam_track_id}", {:notice => "Moved Down."}) end end \ No newline at end of file diff --git a/admin/app/assets/javascripts/jam_track.js b/admin/app/assets/javascripts/jam_track.js index a8781672a..e1b6852bf 100644 --- a/admin/app/assets/javascripts/jam_track.js +++ b/admin/app/assets/javascripts/jam_track.js @@ -1,43 +1,48 @@ +function showTracks(rowJamTrack) { + var $jamTrackTracks = rowJamTrack.find("td.jam_track_tracks"); + + var name=rowJamTrack.find("td.name").text() + var count = $jamTrackTracks.find("table tbody tr").length; + + if (rowJamTrack.next().attr('id') == "jam_track_tracks_detail") { + $(this).html("Show Tracks"); + rowJamTrack.next().remove(); + } else { + $(this).html('Hide Tracks'); + if (count == 0) { + rowJamTrack.after( + $("