From afe9da37bcd4943dfe773fa37bc760fe11a77de2 Mon Sep 17 00:00:00 2001 From: David Jeusette Date: Wed, 17 Aug 2011 13:38:01 +0200 Subject: [PATCH 01/10] fixing row size problem when there are many events a day --- lib/event_calendar/calendar_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/event_calendar/calendar_helper.rb b/lib/event_calendar/calendar_helper.rb index 61c984e..670a714 100644 --- a/lib/event_calendar/calendar_helper.rb +++ b/lib/event_calendar/calendar_helper.rb @@ -341,7 +341,7 @@ def cal_row_heights(options) # if we reached the end of the week, calculate this row's height if index % 7 == 0 total_event_height = options[:event_height] + options[:event_margin] - calc_row_height = (num_event_rows * total_event_height) + options[:day_nums_height] + options[:event_margin] + calc_row_height = ((num_event_rows+2) * total_event_height) + options[:day_nums_height] + options[:event_margin] row_height = [min_height, calc_row_height].max row_heights << row_height num_event_rows = 0 From f94e948b8084a43f5403dccb518926d54894ff56 Mon Sep 17 00:00:00 2001 From: David Jeusette Date: Wed, 17 Aug 2011 14:04:06 +0200 Subject: [PATCH 02/10] changing ID to class to correct javascript bug --- lib/event_calendar/calendar_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/event_calendar/calendar_helper.rb b/lib/event_calendar/calendar_helper.rb index 670a714..273822a 100644 --- a/lib/event_calendar/calendar_helper.rb +++ b/lib/event_calendar/calendar_helper.rb @@ -213,7 +213,7 @@ def calendar(options = {}, &block) cal << %() - cal << %(
Date: Thu, 18 Aug 2011 08:42:57 +0200 Subject: [PATCH 03/10] fixing jq_javascript to select the class instead of the id --- generators/event_calendar/templates/jq_javascript.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/generators/event_calendar/templates/jq_javascript.js b/generators/event_calendar/templates/jq_javascript.js index 8496fa2..e3b2885 100644 --- a/generators/event_calendar/templates/jq_javascript.js +++ b/generators/event_calendar/templates/jq_javascript.js @@ -9,13 +9,13 @@ jQuery(document).ready(function($) { $(".ec-event-bg").live("mouseover", function() { event_id = $(this).attr("data-event-id"); event_class_name = $(this).attr("data-event-class"); - $("#ec-"+event_class_name+"-"+event_id).css("background-color", highlight_color); + $(".ec-"+event_class_name+"-"+event_id).css("background-color", highlight_color); }); $(".ec-event-bg").live("mouseout", function() { event_id = $(this).attr("data-event-id"); event_class_name = $(this).attr("data-event-class"); event_color = $(this).attr("data-color"); - $("#ec-"+event_class_name+"-"+event_id).css("background-color", event_color); + $(".ec-"+event_class_name+"-"+event_id).css("background-color", event_color); }); // highlight events that don't have a background color From c0d47d46cb3064150eb8c54de5729a872e2b9b94 Mon Sep 17 00:00:00 2001 From: David Jeusette Date: Thu, 18 Aug 2011 11:36:41 +0200 Subject: [PATCH 04/10] remove hardcoding for background colors --- lib/event_calendar/calendar_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/event_calendar/calendar_helper.rb b/lib/event_calendar/calendar_helper.rb index 273822a..da7c598 100644 --- a/lib/event_calendar/calendar_helper.rb +++ b/lib/event_calendar/calendar_helper.rb @@ -222,7 +222,7 @@ def calendar(options = {}, &block) cal << %(style="color: #{event.color}; ) else cal << %(ec-event-bg" ) - cal << %(style="background-color: #{event.color}; ) + #cal << %(style="background-color: #{event.color}; ) end cal << %(padding-top: #{options[:event_padding_top]}px; ) From 09284ee924fb584e8f91e29b5bc7a174bad9038f Mon Sep 17 00:00:00 2001 From: David Jeusette Date: Thu, 18 Aug 2011 11:59:42 +0200 Subject: [PATCH 05/10] fixing jq-javascript to be able to change the background color of the event using CSS --- generators/event_calendar/templates/jq_javascript.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/generators/event_calendar/templates/jq_javascript.js b/generators/event_calendar/templates/jq_javascript.js index e3b2885..3f6e4f8 100644 --- a/generators/event_calendar/templates/jq_javascript.js +++ b/generators/event_calendar/templates/jq_javascript.js @@ -3,19 +3,20 @@ * Handles when events span rows, or don't have a background color */ jQuery(document).ready(function($) { - var highlight_color = "#2EAC6A"; + var highlight_color = "#6ABEFF"; + var bg_color = null; // highlight events that have a background color $(".ec-event-bg").live("mouseover", function() { event_id = $(this).attr("data-event-id"); event_class_name = $(this).attr("data-event-class"); + bg_color = $(".ec-"+event_class_name+"-"+event_id).css("background-color"); $(".ec-"+event_class_name+"-"+event_id).css("background-color", highlight_color); }); $(".ec-event-bg").live("mouseout", function() { event_id = $(this).attr("data-event-id"); event_class_name = $(this).attr("data-event-class"); - event_color = $(this).attr("data-color"); - $(".ec-"+event_class_name+"-"+event_id).css("background-color", event_color); + $(".ec-"+event_class_name+"-"+event_id).css("background-color", bg_color); }); // highlight events that don't have a background color From 384251cb664993d4e3ae510d10bc88206cfffafb Mon Sep 17 00:00:00 2001 From: David Jeusette Date: Thu, 18 Aug 2011 12:02:30 +0200 Subject: [PATCH 06/10] fixing CSS for background --- generators/event_calendar/templates/stylesheet.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/generators/event_calendar/templates/stylesheet.css b/generators/event_calendar/templates/stylesheet.css index e821653..c323871 100644 --- a/generators/event_calendar/templates/stylesheet.css +++ b/generators/event_calendar/templates/stylesheet.css @@ -169,6 +169,10 @@ a.ec-day-link { white-space: nowrap; } +.ec-event-bg { + background-color: #9aa4ad; +} + .ec-event :hover { /* doesn't look as good as js highlighting */ /* background-color: #2eac6a; */ From 436d77d1ad856d8fa5d0dd680d013d7dff3575e2 Mon Sep 17 00:00:00 2001 From: arkxu Date: Mon, 22 Aug 2011 22:15:01 +0800 Subject: [PATCH 07/10] make the generator compatible with mongoid --- lib/generators/event_calendar/event_calendar_generator.rb | 6 ++++-- lib/generators/event_calendar/templates/model.rb.erb | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/generators/event_calendar/event_calendar_generator.rb b/lib/generators/event_calendar/event_calendar_generator.rb index 1f08761..bb4fc98 100644 --- a/lib/generators/event_calendar/event_calendar_generator.rb +++ b/lib/generators/event_calendar/event_calendar_generator.rb @@ -38,7 +38,9 @@ def do_it empty_directory "app/views/#{view_name}" template "view.html.erb", File.join("app/views/#{view_name}/index.html.erb") template "helper.rb.erb", "app/helpers/#{helper_name}.rb" - migration_template "migration.rb.erb", "db/migrate/create_#{table_name}.rb" + unless defined? Mongoid + migration_template "migration.rb.erb", "db/migrate/create_#{table_name}.rb" + end route "match '/#{view_name}(/:year(/:month))' => '#{view_name}#index', :as => :#{named_route_name}, :constraints => {:year => /\\d{4}/, :month => /\\d{1,2}/}" end @@ -87,7 +89,7 @@ def named_route_name # FIXME: Should be proxied to ActiveRecord::Generators::Base # Implement the required interface for Rails::Generators::Migration. def self.next_migration_number(dirname) #:nodoc: - if ActiveRecord::Base.timestamped_migrations + if defined? Mongoid && ActiveRecord::Base.timestamped_migrations Time.now.utc.strftime("%Y%m%d%H%M%S") else "%.3d" % (current_migration_number(dirname) + 1) diff --git a/lib/generators/event_calendar/templates/model.rb.erb b/lib/generators/event_calendar/templates/model.rb.erb index 906d9a7..cfce01f 100644 --- a/lib/generators/event_calendar/templates/model.rb.erb +++ b/lib/generators/event_calendar/templates/model.rb.erb @@ -1,3 +1,8 @@ +<% if defined? Mongoid %> +class <%= model_class_name %> + include Mongoid::Document +<% else %> class <%= model_class_name %> < ActiveRecord::Base +<% end %> has_event_calendar end From 6bb7e0eec9a7dc8f00fc8fdaa2822375ddeee153 Mon Sep 17 00:00:00 2001 From: arkxu Date: Mon, 22 Aug 2011 22:17:15 +0800 Subject: [PATCH 08/10] rollback: --- lib/generators/event_calendar/event_calendar_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/generators/event_calendar/event_calendar_generator.rb b/lib/generators/event_calendar/event_calendar_generator.rb index bb4fc98..3d8e3b3 100644 --- a/lib/generators/event_calendar/event_calendar_generator.rb +++ b/lib/generators/event_calendar/event_calendar_generator.rb @@ -89,7 +89,7 @@ def named_route_name # FIXME: Should be proxied to ActiveRecord::Generators::Base # Implement the required interface for Rails::Generators::Migration. def self.next_migration_number(dirname) #:nodoc: - if defined? Mongoid && ActiveRecord::Base.timestamped_migrations + if ActiveRecord::Base.timestamped_migrations Time.now.utc.strftime("%Y%m%d%H%M%S") else "%.3d" % (current_migration_number(dirname) + 1) From 16292ebeffa9995638f4b3b9f310fca5fa52057e Mon Sep 17 00:00:00 2001 From: arkxu Date: Mon, 22 Aug 2011 22:27:46 +0800 Subject: [PATCH 09/10] add default fields for model --- lib/generators/event_calendar/templates/model.rb.erb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/generators/event_calendar/templates/model.rb.erb b/lib/generators/event_calendar/templates/model.rb.erb index cfce01f..6bbd45f 100644 --- a/lib/generators/event_calendar/templates/model.rb.erb +++ b/lib/generators/event_calendar/templates/model.rb.erb @@ -1,6 +1,17 @@ <% if defined? Mongoid %> class <%= model_class_name %> include Mongoid::Document + include Mongoid::Timestamps + + field :name, :type => String + field :start_at, :type => DateTime + field :end_at, :type => DateTime + <%- if options[:use_all_day] -%> + field :all_day, :type => Boolean, :default => false + <%- end -%> + <%- if options[:use_color] -%> + field :color, :type => String + <%- end -%> <% else %> class <%= model_class_name %> < ActiveRecord::Base <% end %> From 45295d20a453b9dd7747ce955095e6ed0bb53e44 Mon Sep 17 00:00:00 2001 From: arkxu Date: Tue, 23 Aug 2011 12:34:40 +0800 Subject: [PATCH 10/10] change the height of column --- lib/event_calendar/calendar_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/event_calendar/calendar_helper.rb b/lib/event_calendar/calendar_helper.rb index 61c984e..49642ac 100644 --- a/lib/event_calendar/calendar_helper.rb +++ b/lib/event_calendar/calendar_helper.rb @@ -65,7 +65,7 @@ def calendar(options = {}, &block) # but they are needed to perform height calculations :width => nil, :height => 500, - :day_names_height => 18, + :day_names_height => 25, :day_nums_height => 18, :event_height => 18, :event_margin => 1,