fullcalendar_engine 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,24 +1,49 @@
1
1
  // Place all the behaviors and hooks related to the matching controller here.
2
2
  // All this logic will automatically be available in application.js.
3
+
4
+ full_calendar_options = <%= FullcalendarEngine::Configuration.to_json.html_safe %>
5
+ app_path = "<%= FullcalendarEngine::Configuration["mount_path"] %>"
6
+
7
+ $.extend(full_calendar_options, {
8
+ loading: function(bool){
9
+ if (bool)
10
+ $('#loading').show();
11
+ else
12
+ $('#loading').hide();
13
+ },
14
+ eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc){
15
+ FullcalendarEngine.Events.move(event, dayDelta, minuteDelta, allDay);
16
+ },
17
+ eventResize: function(event, dayDelta, minuteDelta, revertFunc){
18
+ FullcalendarEngine.Events.resize(event, dayDelta, minuteDelta);
19
+ },
20
+ eventClick: function(event, jsEvent, view){
21
+ FullcalendarEngine.Events.showEventDetails(event);
22
+ },
23
+ select: function( startDate, endDate, allDay, jsEvent, view ) {
24
+ FullcalendarEngine.Form.display({
25
+ starttime: new Date(startDate.getTime()),
26
+ endtime: new Date(endDate.getTime()),
27
+ allDay: allDay
28
+ })
29
+ }
30
+ })
31
+
3
32
  if (typeof(FullcalendarEngine) === 'undefined') { FullcalendarEngine = {}; }
4
33
 
5
34
  FullcalendarEngine = {
6
35
  Form: {
7
36
  display: function(options) {
8
37
  if (typeof(options) == 'undefined') { options = {} }
38
+ FullcalendarEngine.Form.fetch(options)
39
+ },
40
+ render: function(options){
9
41
  $('#event_form').trigger('reset');
10
-
11
42
  var startTime = options['starttime'] || new Date(), endTime = options['endtime'] || new Date(startTime.getTime());
12
-
13
43
  if(startTime.getTime() == endTime.getTime()) { endTime.setMinutes(startTime.getMinutes() + 15); }
14
-
15
44
  FullcalendarEngine.setTime('#event_starttime', startTime)
16
45
  FullcalendarEngine.setTime('#event_endtime', endTime)
17
-
18
46
  $('#event_all_day').attr('checked', options['allDay'])
19
-
20
- // FullcalendarEngine.Form.fetch()
21
-
22
47
  $('#create_event_dialog').dialog({
23
48
  title: 'New Event',
24
49
  modal: true,
@@ -26,12 +51,13 @@ FullcalendarEngine = {
26
51
  close: function(event, ui) { $('#create_event_dialog').dialog('destroy') }
27
52
  });
28
53
  },
29
- fetch: function(){
54
+ fetch: function(options){
30
55
  $.ajax({
31
56
  type: 'get',
32
57
  dataType: 'script',
33
58
  async: true,
34
- url: FullcalendarEngine.app_path() + "/events/new"
59
+ url: FullcalendarEngine.app_path() + "/events/new",
60
+ success: function(){ FullcalendarEngine.Form.render(options) }
35
61
  });
36
62
  },
37
63
  authenticity_token: function(){
@@ -79,7 +105,7 @@ FullcalendarEngine = {
79
105
  });
80
106
  },
81
107
  refetch_events_and_close_dialog: function() {
82
- $('#calendar').fullCalendar( 'refetchEvents' );
108
+ $('.calendar').fullCalendar('refetchEvents');
83
109
  $('.dialog:visible').dialog('destroy');
84
110
  },
85
111
  showEventDetails: function(event){
@@ -169,29 +195,4 @@ $(document).ready(function(){
169
195
  alert(xhr.responseText);
170
196
  }
171
197
  })
172
-
173
- $.extend(full_calendar_options, {
174
- loading: function(bool){
175
- if (bool)
176
- $('#loading').show();
177
- else
178
- $('#loading').hide();
179
- },
180
- eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc){
181
- FullcalendarEngine.Events.move(event, dayDelta, minuteDelta, allDay);
182
- },
183
- eventResize: function(event, dayDelta, minuteDelta, revertFunc){
184
- FullcalendarEngine.Events.resize(event, dayDelta, minuteDelta);
185
- },
186
- eventClick: function(event, jsEvent, view){
187
- FullcalendarEngine.Events.showEventDetails(event);
188
- },
189
- select: function( startDate, endDate, allDay, jsEvent, view ) {
190
- FullcalendarEngine.Form.display({
191
- starttime: new Date(startDate.getTime()),
192
- endtime: new Date(endDate.getTime()),
193
- allDay: allDay
194
- })
195
- }
196
- })
197
198
  });
@@ -1,18 +1,18 @@
1
- require_dependency "fullcalendar_engine/application_controller"
1
+ require_dependency 'fullcalendar_engine/application_controller'
2
2
 
3
3
  module FullcalendarEngine
4
4
  class EventsController < ApplicationController
5
5
 
6
- layout FullcalendarEngine::Configuration['layout'] || "application"
6
+ layout FullcalendarEngine::Configuration['layout'] || 'application'
7
7
 
8
- before_filter :load_event, :only => [:edit, :update, :destroy, :move, :resize]
9
- before_filter :determine_event_type, :only => :create
8
+ before_filter :load_event, only: [:edit, :update, :destroy, :move, :resize]
9
+ before_filter :determine_event_type, only: :create
10
10
 
11
11
  def create
12
12
  if @event.save
13
- render :nothing => true
13
+ render nothing: true
14
14
  else
15
- render :text => @event.errors.full_messages.to_sentence, :status => 422
15
+ render text: @event.errors.full_messages.to_sentence, status: 422
16
16
  end
17
17
  end
18
18
 
@@ -23,84 +23,98 @@ module FullcalendarEngine
23
23
  end
24
24
 
25
25
  def get_events
26
- @events = Event.where("starttime >= '#{Time.at(params['start'].to_i).to_formatted_s(:db)}' and endtime <= '#{Time.at(params['end'].to_i).to_formatted_s(:db)}'")
26
+ @events = Event.where('starttime >= :start_time and
27
+ endtime <= :end_time',
28
+ start_time: Time.at(params['start'].to_i).to_formatted_s(:db),
29
+ end_time: Time.at(params['end'].to_i).to_formatted_s(:db))
27
30
  events = []
28
31
  @events.each do |event|
29
- events << {:id => event.id, :title => event.title, :description => event.description || "Some cool description here...", :start => "#{event.starttime.iso8601}", :end => "#{event.endtime.iso8601}", :allDay => event.all_day, :recurring => (event.event_series_id)? true: false}
32
+ events << { id: event.id,
33
+ title: event.title,
34
+ description: event.description || '',
35
+ start: event.starttime.iso8601,
36
+ end: event.endtime.iso8601,
37
+ allDay: event.all_day,
38
+ recurring: (event.event_series_id) ? true : false }
30
39
  end
31
- render :json => events.to_json
40
+ render json: events.to_json
32
41
  end
33
42
 
34
43
  def move
35
44
  if @event
36
- @event.starttime = (params[:minute_delta].to_i).minutes.from_now((params[:day_delta].to_i).days.from_now(@event.starttime))
37
- @event.endtime = (params[:minute_delta].to_i).minutes.from_now((params[:day_delta].to_i).days.from_now(@event.endtime))
38
- @event.all_day = params[:all_day]
45
+ @event.starttime = make_time_from_minute_and_day_delta(@event.starttime)
46
+ @event.endtime = make_time_from_minute_and_day_delta(@event.endtime)
47
+ @event.all_day = params[:all_day]
39
48
  @event.save
40
49
  end
41
- render :nothing => true
50
+ render nothing: true
42
51
  end
43
52
 
44
53
  def resize
45
54
  if @event
46
- @event.endtime = (params[:minute_delta].to_i).minutes.from_now((params[:day_delta].to_i).days.from_now(@event.endtime))
55
+ @event.endtime = make_time_from_minute_and_day_delta(@event.endtime)
47
56
  @event.save
48
57
  end
49
- render :nothing => true
58
+ render nothing: true
50
59
  end
51
60
 
52
61
  def edit
53
- render :json => { :form => render_to_string(:partial => 'edit_form') }
62
+ render json: { form: render_to_string(partial: 'edit_form') }
54
63
  end
55
64
 
56
65
  def update
57
66
  case params[:event][:commit_button]
58
- when "Update All Occurrence"
59
- @events = @event.event_series.events #.find(:all, :conditions => ["starttime > '#{@event.starttime.to_formatted_s(:db)}' "])
67
+ when 'Update All Occurrence'
68
+ @events = @event.event_series.events
60
69
  @event.update_events(@events, event_params)
61
- when "Update All Following Occurrence"
62
- @events = @event.event_series.events.find(:all, :conditions => ["starttime > '#{@event.starttime.to_formatted_s(:db)}' "])
70
+ when 'Update All Following Occurrence'
71
+ @events = @event.event_series.events.where('starttime > :start_time',
72
+ start_time: @event.starttime.to_formatted_s(:db)).to_a
63
73
  @event.update_events(@events, event_params)
64
74
  else
65
75
  @event.attributes = event_params
66
76
  @event.save
67
77
  end
68
- render :nothing => true
78
+ render nothing: true
69
79
  end
70
80
 
71
81
  def destroy
72
82
  case params[:delete_all]
73
- when "true"
83
+ when 'true'
74
84
  @event.event_series.destroy
75
- when "future"
76
- @events = @event.event_series.events.find(:all, :conditions => ["starttime > '#{@event.starttime.to_formatted_s(:db)}' "])
77
- @event.event_series.events.delete(@events)
85
+ when 'future'
86
+ @events = @event.event_series.events.where('starttime > :start_time',
87
+ start_time: @event.starttime.to_formatted_s(:db)).to_a
88
+ @event.event_series.events.delete(@events)
78
89
  else
79
90
  @event.destroy
80
91
  end
81
- render :nothing => true
92
+ render nothing: true
82
93
  end
83
94
 
84
95
  private
85
96
 
86
- def load_event
87
- @event = Event.where(:id => params[:id]).first
88
- unless @event
89
- render :json => {:message => "Event Not Found.."}, :status => 404 and return
90
- end
97
+ def load_event
98
+ @event = Event.where(:id => params[:id]).first
99
+ unless @event
100
+ render json: { message: "Event Not Found.."}, status: 404 and return
91
101
  end
102
+ end
92
103
 
93
- def event_params
94
- params.require(:event).permit('title', 'description', 'starttime(1i)', 'starttime(2i)', 'starttime(3i)', 'starttime(4i)', 'starttime(5i)', 'endtime(1i)', 'endtime(2i)', 'endtime(3i)', 'endtime(4i)', 'endtime(5i)', 'all_day', 'period', 'frequency', 'commit_button')
95
- end
104
+ def event_params
105
+ params.require(:event).permit('title', 'description', 'starttime', 'endtime', 'all_day', 'period', 'frequency', 'commit_button')
106
+ end
96
107
 
97
- def determine_event_type
98
- if params[:event][:period] == "Does not repeat"
99
- @event = Event.new(event_params)
100
- else
101
- @event = EventSeries.new(event_params)
102
- end
108
+ def determine_event_type
109
+ if params[:event][:period] == "Does not repeat"
110
+ @event = Event.new(event_params)
111
+ else
112
+ @event = EventSeries.new(event_params)
103
113
  end
114
+ end
104
115
 
116
+ def make_time_from_minute_and_day_delta(event_time)
117
+ params[:minute_delta].to_i.minutes.from_now((params[:day_delta].to_i).days.from_now(event_time))
118
+ end
105
119
  end
106
120
  end
@@ -24,7 +24,6 @@
24
24
  <%=f.check_box :all_day %>
25
25
  </p>
26
26
 
27
- <%=f.hidden_field :id, :value => @event.id%>
28
27
  <%=f.hidden_field :commit_button, :value => ""%>
29
28
  <p>
30
29
  <%if @event.event_series -%>
@@ -1,4 +1,4 @@
1
- <%= form_for @event ||= FullcalendarEngine::Event.new, :html => { :id => 'event_form' } do |f| %>
1
+ <%= form_for @event ||= FullcalendarEngine::Event.new, :html => { id: 'event_form' } do |f| %>
2
2
  <p>
3
3
  <%=f.label :title %>
4
4
  <br/>
@@ -25,14 +25,13 @@
25
25
  </p>
26
26
  <p>
27
27
  <%=f.label :period, "Repeats" %>
28
- <%=f.select :period, FullcalendarEngine::Event::REPEATS.values,{}, :onchange => "FullcalendarEngine.Events.showPeriodAndFrequency(this.value);" %>
28
+ <%=f.select :period, FullcalendarEngine::Event::REPEATS.values, {}, onchange: "FullcalendarEngine.Events.showPeriodAndFrequency(this.value);" %>
29
29
  </p>
30
30
  <p id = "frequency" style = "display:none;">
31
31
  <%=f.label :frequency, "Repeat every" %>
32
32
  <%=f.select :frequency, (1..30).to_a %> <span id = "period"></span>
33
33
  </p>
34
- <%=f.hidden_field :id, :value => @event.id %>
35
34
  <p>
36
- <%=f.submit 'Create' %> <span id = "creating_events" class="spinner" style = "display:none;">Creating, Please wait...</span>
35
+ <%=f.submit %> <span id = "creating_events" class="spinner" style = "display:none;">Creating, Please wait...</span>
37
36
  </p>
38
37
  <%end %>
@@ -1,14 +1,8 @@
1
1
  <p>
2
- <%= link_to 'Create Event', 'javascript:void()', :id => 'new_event' %>
2
+ <%= link_to 'Create Event', 'javascript:void()', id: 'new_event' %>
3
3
  </p>
4
-
5
- <%= content_tag :script do %>
6
- full_calendar_options = <%= FullcalendarEngine::Configuration.to_json.html_safe %>
7
- app_path = "<%= FullcalendarEngine::Configuration["mount_path"] %>"
8
- <% end %>
9
-
10
4
  <div>
11
- <div id='calendar'></div>
5
+ <div class='calendar'></div>
12
6
  </div>
13
7
  <div id="event_desc_dialog" class="dialog" style="display:none;"></div>
14
8
  <div id="create_event_dialog" class="dialog" style ="display:none;">
@@ -17,7 +11,7 @@
17
11
 
18
12
  <script>
19
13
  $(document).ready(function(){
20
- $('#calendar').fullCalendar(full_calendar_options);
14
+ $('.calendar').fullCalendar(full_calendar_options);
21
15
  // page is now ready, initialize the calendar...
22
16
  $('#new_event').click(function(event) {
23
17
  FullcalendarEngine.Form.display()
@@ -1,3 +1,3 @@
1
1
  module FullcalendarEngine
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fullcalendar_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-01-30 00:00:00.000000000 Z
14
+ date: 2014-03-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -55,11 +55,11 @@ files:
55
55
  - app/assets/stylesheets/fullcalendar_engine/images/ui-bg_diagonals-thick_18_b81900_40x40.png
56
56
  - app/assets/stylesheets/fullcalendar_engine/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
57
57
  - app/assets/stylesheets/fullcalendar_engine/images/ui-bg_diagonals-thick_20_666666_40x40.png
58
- - app/assets/javascripts/fullcalendar_engine/events.js
59
58
  - app/assets/javascripts/fullcalendar_engine/jquery-ui-1.10.3.custom.min.js
60
59
  - app/assets/javascripts/fullcalendar_engine/fullcalendar.js
61
60
  - app/assets/javascripts/fullcalendar_engine/application.js
62
61
  - app/assets/javascripts/fullcalendar_engine/gcal.js
62
+ - app/assets/javascripts/fullcalendar_engine/events.js.erb
63
63
  - app/models/fullcalendar_engine/event_series.rb
64
64
  - app/models/fullcalendar_engine/event.rb
65
65
  - app/controllers/fullcalendar_engine/events_controller.rb