social_stream-events 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/GPL Affero license +663 -0
- data/Gemfile +9 -0
- data/README.rdoc +6 -0
- data/Rakefile +29 -0
- data/app/assets/images/btn/btn_certificate.png +0 -0
- data/app/assets/images/btn/btn_certificates.png +0 -0
- data/app/assets/images/btn/btn_edit.png +0 -0
- data/app/assets/images/btn/btn_embebed.png +0 -0
- data/app/assets/images/btn/btn_event.png +0 -0
- data/app/assets/images/btn/btn_outline.png +0 -0
- data/app/assets/images/btn/event.png +0 -0
- data/app/assets/images/btn/flyer.png +0 -0
- data/app/assets/images/btn/keynote.png +0 -0
- data/app/assets/images/btn/live.png +0 -0
- data/app/assets/images/btn/time.png +0 -0
- data/app/assets/images/btn/trash.png +0 -0
- data/app/assets/images/icons/IconsByGlyphish.txt +1 -0
- data/app/assets/images/icons/down.png +0 -0
- data/app/assets/images/icons/search.png +0 -0
- data/app/assets/images/icons/up.png +0 -0
- data/app/assets/images/logos/actor/event.png +0 -0
- data/app/assets/images/logos/contact/event.png +0 -0
- data/app/assets/images/logos/original/event.png +0 -0
- data/app/assets/images/logos/profile/event.png +0 -0
- data/app/assets/images/logos/representation/event.png +0 -0
- data/app/assets/images/tab_bottom.png +0 -0
- data/app/assets/javascripts/schedule.js +123 -0
- data/app/assets/javascripts/settings.js +20 -0
- data/app/assets/javascripts/social_stream-events.js +5 -0
- data/app/assets/stylesheets/activities.css +4 -0
- data/app/assets/stylesheets/fullcalendar.css +621 -0
- data/app/assets/stylesheets/fullcalendar.print.css +61 -0
- data/app/assets/stylesheets/settings.css +4 -0
- data/app/assets/stylesheets/social_stream-events.css +262 -0
- data/app/assets/stylesheets/tie.css +4 -0
- data/app/assets/stylesheets/users.css +4 -0
- data/app/controllers/activities_controller.rb +42 -0
- data/app/controllers/agendas_controller.rb +54 -0
- data/app/controllers/calendar_events_controller.rb +157 -0
- data/app/controllers/events_controller.rb +85 -0
- data/app/controllers/sessions_controller.rb +133 -0
- data/app/controllers/settings_controller.rb +70 -0
- data/app/helpers/event_helper.rb +12 -0
- data/app/models/agenda.rb +55 -0
- data/app/models/calendar_event.rb +191 -0
- data/app/models/calendar_event_series.rb +126 -0
- data/app/models/event.rb +131 -0
- data/app/models/session.rb +22 -0
- data/app/views/activities/_activity.html.erb +5 -0
- data/app/views/activities/_child.html.erb +18 -0
- data/app/views/activities/_comments.html.erb +3 -0
- data/app/views/activities/_index.html.erb +95 -0
- data/app/views/activities/_new.html.erb +29 -0
- data/app/views/activities/_options.html.erb +15 -0
- data/app/views/activities/_root.html.erb +37 -0
- data/app/views/activities/_wall.html.erb +5 -0
- data/app/views/activities/_walls.html.erb +34 -0
- data/app/views/activities/documents.js.erb +1 -0
- data/app/views/activities/index.js.erb +1 -0
- data/app/views/agendas/_agenda.html.erb +1 -0
- data/app/views/agendas/_edit.html.erb +136 -0
- data/app/views/agendas/_schedule.html.erb +19 -0
- data/app/views/agendas/_show.html.erb +81 -0
- data/app/views/agendas/_show_day.html.erb +6 -0
- data/app/views/agendas/edit.html.erb +24 -0
- data/app/views/agendas/event.html.erb +1 -0
- data/app/views/agendas/index.html.erb +0 -0
- data/app/views/agendas/show.html.erb +25 -0
- data/app/views/calendar_events/_calendar.html.erb +0 -0
- data/app/views/calendar_events/_edit_form.html.erb +58 -0
- data/app/views/calendar_events/_form.html.erb +65 -0
- data/app/views/calendar_events/available.html.erb +81 -0
- data/app/views/calendar_events/create.js.erb +18 -0
- data/app/views/calendar_events/edit.js.erb +1 -0
- data/app/views/calendar_events/index.html.erb +162 -0
- data/app/views/calendar_events/move.js.erb +0 -0
- data/app/views/calendar_events/new.js.erb +9 -0
- data/app/views/calendar_events/resize.js.erb +0 -0
- data/app/views/calendar_events/schedule.html.erb +143 -0
- data/app/views/documents/_mediawall.html.erb +111 -0
- data/app/views/events/_event.html.erb +10 -0
- data/app/views/events/_fields.html.erb +5 -0
- data/app/views/events/_form.html.erb +12 -0
- data/app/views/events/_jquery.html.erb +125 -0
- data/app/views/events/_manage.html.erb +35 -0
- data/app/views/events/_new.html.erb +2 -0
- data/app/views/events/_sessions_edit.html.erb +46 -0
- data/app/views/events/_sidebar_cloud.html.erb +27 -0
- data/app/views/events/_sidebar_index.html.erb +1 -0
- data/app/views/events/_sidebar_show.html.erb +5 -0
- data/app/views/events/agendas.html +1 -0
- data/app/views/events/edit.html.erb +12 -0
- data/app/views/events/index.html.erb +30 -0
- data/app/views/events/manage.html.erb +69 -0
- data/app/views/events/manage.js.erb +1 -0
- data/app/views/events/show.html.erb +34 -0
- data/app/views/kaminari/_first_page.html.erb +11 -0
- data/app/views/kaminari/_gap.html.erb +8 -0
- data/app/views/kaminari/_last_page.html.erb +11 -0
- data/app/views/kaminari/_next_page.html.erb +11 -0
- data/app/views/kaminari/_page.html.erb +12 -0
- data/app/views/kaminari/_paginator.html.erb +23 -0
- data/app/views/kaminari/_prev_page.html.erb +11 -0
- data/app/views/profiles/_outline.html.erb +81 -0
- data/app/views/profiles/_profile.html.erb +40 -0
- data/app/views/sessions/_form.html.erb +41 -0
- data/app/views/sessions/_new.html.erb +63 -0
- data/app/views/sessions/_session.html.erb +1 -0
- data/app/views/sessions/_show.html.erb +27 -0
- data/app/views/sessions/create.html.erb +3 -0
- data/app/views/sessions/create.js.erb +1 -0
- data/app/views/sessions/destroy.js.erb +2 -0
- data/app/views/sessions/edit.html.erb +27 -0
- data/app/views/sessions/index.html.erb +1 -0
- data/app/views/sessions/index.js.erb +1 -0
- data/app/views/sessions/new.html.erb +27 -0
- data/app/views/settings/_contacto.html.erb +24 -0
- data/app/views/settings/_header.html.erb +8 -0
- data/app/views/settings/_index.html.erb +16 -0
- data/app/views/settings/_manage.html.erb +25 -0
- data/app/views/settings/_settings.html.erb +49 -0
- data/app/views/settings/delete_relation.js.erb +3 -0
- data/app/views/settings/index.html.erb +38 -0
- data/app/views/settings/manage.html.erb +31 -0
- data/app/views/settings/show.html.erb +15 -0
- data/app/views/settings/update_relation.js.erb +1 -0
- data/app/views/toolbar/_home.html.erb +11 -0
- data/app/views/toolbar/_logo.html.erb +23 -0
- data/app/views/toolbar/_organizer.html.erb +25 -0
- data/app/views/toolbar/_profile.html.erb +21 -0
- data/app/views/toolbar/_sponsor.html.erb +18 -0
- data/app/views/toolbar/_suscribed.html.erb +17 -0
- data/app/views/users/_index.html.erb +33 -0
- data/app/views/users/index.html.erb +46 -0
- data/config/locales/en.yml +97 -0
- data/config/routes.rb +46 -0
- data/db/20110615143707_create_social_stream_events.rb +54 -0
- data/lib/generators/social_stream/events/install_generator.rb +24 -0
- data/lib/social_stream-events.rb +15 -0
- data/lib/social_stream/events/engine.rb +8 -0
- data/lib/social_stream/migrations/events.rb +25 -0
- data/social_stream-events.gemspec +22 -0
- data/vendor/assets/javascripts/fullcalendar.js +5208 -0
- data/vendor/assets/javascripts/gcal.js +112 -0
- metadata +272 -0
data/Gemfile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
if File.exists?(File.join(File.dirname(__FILE__), '..', 'social_stream-base'))
|
4
|
+
gem 'social_stream-base', :path => '../social_stream-base'
|
5
|
+
else
|
6
|
+
gem 'social_stream-base', :git => 'https://github.com/ging/social_stream-base.git'
|
7
|
+
end
|
8
|
+
|
9
|
+
gemspec
|
data/README.rdoc
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require 'rubygems'
|
3
|
+
begin
|
4
|
+
require 'bundler/setup'
|
5
|
+
rescue LoadError
|
6
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rake'
|
10
|
+
require 'rake/rdoctask'
|
11
|
+
|
12
|
+
require 'rspec/core'
|
13
|
+
require 'rspec/core/rake_task'
|
14
|
+
|
15
|
+
require 'bundler'
|
16
|
+
|
17
|
+
RSpec::Core::RakeTask.new(:spec)
|
18
|
+
|
19
|
+
task :default => :spec
|
20
|
+
|
21
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
22
|
+
rdoc.rdoc_dir = 'rdoc'
|
23
|
+
rdoc.title = 'Socialstream-events'
|
24
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
25
|
+
rdoc.rdoc_files.include('README.rdoc')
|
26
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
27
|
+
end
|
28
|
+
|
29
|
+
Bundler::GemHelper.install_tasks
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
Search icon by http://glyphish.com/
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,123 @@
|
|
1
|
+
|
2
|
+
// Place your application-specific JavaScript functions and classes here
|
3
|
+
// This file is automatically included by javascript_include_tag :defaults
|
4
|
+
|
5
|
+
function createSessionEvent(title, start, end, event_id,receiver){
|
6
|
+
jQuery.ajax({
|
7
|
+
data:
|
8
|
+
'session[title]='+title+
|
9
|
+
'&session[_contact_id]='+receiver+
|
10
|
+
'&session[start_at]='+start.toString().substring(0, 24)+
|
11
|
+
'&session[end_at]='+end.toString().substring(0, 24)+
|
12
|
+
'&event_id='+event_id,
|
13
|
+
dataType: 'script',
|
14
|
+
type: 'POST',
|
15
|
+
url: '/events/'+event_id+'/sessions/create'
|
16
|
+
});
|
17
|
+
}
|
18
|
+
|
19
|
+
function moveSession(session, dayDelta, minuteDelta, allDay){
|
20
|
+
|
21
|
+
jQuery.ajax({
|
22
|
+
data: 'id=' + session.id + '&title=' + session.title + '&day_delta=' + dayDelta + '&minute_delta=' + minuteDelta + '&all_day=' + allDay,
|
23
|
+
dataType: 'script',
|
24
|
+
type: 'post',
|
25
|
+
url: '/sessions/'+session.id+'/move'
|
26
|
+
|
27
|
+
});
|
28
|
+
}
|
29
|
+
|
30
|
+
function resizeSession(session, dayDelta, minuteDelta){
|
31
|
+
jQuery.ajax({
|
32
|
+
data: 'id=' + session.id + '&title=' + session.title + '&day_delta=' + dayDelta + '&minute_delta=' + minuteDelta,
|
33
|
+
dataType: 'script',
|
34
|
+
type: 'post',
|
35
|
+
url: '/sessions/'+session.id+'/resize'
|
36
|
+
});
|
37
|
+
}
|
38
|
+
|
39
|
+
function showSessionDetails(session){
|
40
|
+
$('#event_desc').html(session.description);
|
41
|
+
//$('#edit_event').html("<a href = 'javascript:void(0);' onclick ='editSession(" + session.id + ")'>Editar</a>");
|
42
|
+
|
43
|
+
title = session.title;
|
44
|
+
$('#delete_event').html("<a href = 'javascript:void(0);' onclick ='deleteSession(" + session.id + ", " + false + ")'>Eliminar</a>");
|
45
|
+
|
46
|
+
$('#desc_dialog').dialog({
|
47
|
+
title: title,
|
48
|
+
modal: true,
|
49
|
+
width: 500,
|
50
|
+
close: function(session, ui){
|
51
|
+
$('#desc_dialog').dialog('destroy')
|
52
|
+
}
|
53
|
+
});
|
54
|
+
}
|
55
|
+
|
56
|
+
function showSessionDescription(event){
|
57
|
+
$('#event_desc').html(event.description);
|
58
|
+
$('#edit_event').html("");
|
59
|
+
$('#delete_event').html("");
|
60
|
+
|
61
|
+
$('#desc_dialog').dialog({
|
62
|
+
title: event.title,
|
63
|
+
modal: true,
|
64
|
+
width: 500,
|
65
|
+
close: function(event, ui){
|
66
|
+
$('#desc_dialog').dialog('destroy')
|
67
|
+
}
|
68
|
+
});
|
69
|
+
}
|
70
|
+
|
71
|
+
function deleteSession(session_id, delete_all){
|
72
|
+
jQuery.ajax({
|
73
|
+
data: 'id=' + session_id + '&delete_all='+delete_all,
|
74
|
+
dataType: 'script',
|
75
|
+
type: 'post',
|
76
|
+
url: '/sessions/'+session_id+'/destroy'
|
77
|
+
});
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
function dateScheduleAvailable(start, end, allDay){
|
82
|
+
return $('#calendar').fullCalendar('clientEvents', function(session)
|
83
|
+
{
|
84
|
+
if ((session.start_at < start && start < session.end_at) ||
|
85
|
+
(session.start_at < end && end < session.end_at) ||
|
86
|
+
(compareDate(session.start_at, start) && (session.allDay || allDay))
|
87
|
+
)
|
88
|
+
{
|
89
|
+
return true;
|
90
|
+
}
|
91
|
+
return false;
|
92
|
+
}) == '';
|
93
|
+
}
|
94
|
+
|
95
|
+
function dateAvailable(start, end, allDay){
|
96
|
+
return $('#calendar').fullCalendar('clientEvents', function(session)
|
97
|
+
{
|
98
|
+
if (session.start_at < start && start < session.end_at)
|
99
|
+
return true;
|
100
|
+
else if (session.start_at < end && end < session.end_at)
|
101
|
+
return true;
|
102
|
+
else if (session.start_at > start && (session.end_at && session.end_at < end))
|
103
|
+
return true;
|
104
|
+
else if (compareDateWithMinutes(session.start_at, start))
|
105
|
+
return true;
|
106
|
+
else if (session.end_at && compareDateWithMinutes(session.end_at, end))
|
107
|
+
return true;
|
108
|
+
else if (compareDate(session.start_at, start) && (session.allDay || allDay))
|
109
|
+
return true;
|
110
|
+
else
|
111
|
+
return false;
|
112
|
+
}) == '' && (start >= new Date(new Date().getTime() + 5*60*1000) && start <= new Date(new Date().getTime() + 3*30*24*60*60*1000));
|
113
|
+
}
|
114
|
+
|
115
|
+
function compareDate(date1, date2)
|
116
|
+
{
|
117
|
+
return $.fullCalendar.formatDate(date1, "yyyy-MM-dd") == $.fullCalendar.formatDate(date2, "yyyy-MM-dd");
|
118
|
+
}
|
119
|
+
|
120
|
+
function compareDateWithMinutes(date1, date2)
|
121
|
+
{
|
122
|
+
return $.fullCalendar.formatDate(date1, "yyyy-MM-dd HH:mm") == $.fullCalendar.formatDate(date2, "yyyy-MM-dd HH:mm");
|
123
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
// Place all the behaviors and hooks related to the matching controller here.
|
2
|
+
// All this logic will automatically be available in application.js.
|
3
|
+
var contact_manage_open = false;
|
4
|
+
closeSettings = function() {
|
5
|
+
$("#contact_settings_content").hide("slow");
|
6
|
+
$("#contact_settings_briefing").show("slow");
|
7
|
+
contact_manage_open = false;
|
8
|
+
}
|
9
|
+
showContactSettings = function() {
|
10
|
+
if (contact_manage_open) {
|
11
|
+
$("#contact_settings_content").hide("slow");
|
12
|
+
$("#contact_settings_briefing").show("slow");
|
13
|
+
contact_manage_open = false;
|
14
|
+
} else {
|
15
|
+
closeAllSettings();
|
16
|
+
$("#contact_settings_content").show("slow");
|
17
|
+
$("#contact_settings_briefing").hide("slow");
|
18
|
+
contact_manage_open = true;
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,621 @@
|
|
1
|
+
/*
|
2
|
+
* FullCalendar v1.5.1 Stylesheet
|
3
|
+
*
|
4
|
+
* Copyright (c) 2011 Adam Shaw
|
5
|
+
* Dual licensed under the MIT and GPL licenses, located in
|
6
|
+
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
|
7
|
+
*
|
8
|
+
* Date: Sat Apr 9 14:09:51 2011 -0700
|
9
|
+
*
|
10
|
+
*/
|
11
|
+
|
12
|
+
|
13
|
+
.fc {
|
14
|
+
direction: ltr;
|
15
|
+
text-align: left;
|
16
|
+
}
|
17
|
+
|
18
|
+
.fc table {
|
19
|
+
border-collapse: collapse;
|
20
|
+
border-spacing: 0;
|
21
|
+
}
|
22
|
+
|
23
|
+
html .fc,
|
24
|
+
.fc table {
|
25
|
+
font-size: 1em;
|
26
|
+
}
|
27
|
+
|
28
|
+
.fc td,
|
29
|
+
.fc th {
|
30
|
+
padding: 0;
|
31
|
+
vertical-align: top;
|
32
|
+
}
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
/* Header
|
37
|
+
------------------------------------------------------------------------*/
|
38
|
+
|
39
|
+
.fc-header td {
|
40
|
+
white-space: nowrap;
|
41
|
+
}
|
42
|
+
|
43
|
+
.fc-header-left {
|
44
|
+
width: 25%;
|
45
|
+
text-align: left;
|
46
|
+
}
|
47
|
+
|
48
|
+
.fc-header-center {
|
49
|
+
text-align: center;
|
50
|
+
}
|
51
|
+
|
52
|
+
.fc-header-right {
|
53
|
+
width: 25%;
|
54
|
+
text-align: right;
|
55
|
+
}
|
56
|
+
|
57
|
+
.fc-header-title {
|
58
|
+
display: inline-block;
|
59
|
+
vertical-align: top;
|
60
|
+
}
|
61
|
+
|
62
|
+
.fc-header-title h2 {
|
63
|
+
margin-top: 0;
|
64
|
+
white-space: nowrap;
|
65
|
+
}
|
66
|
+
|
67
|
+
.fc .fc-header-space {
|
68
|
+
padding-left: 10px;
|
69
|
+
}
|
70
|
+
|
71
|
+
.fc-header .fc-button {
|
72
|
+
margin-bottom: 1em;
|
73
|
+
vertical-align: top;
|
74
|
+
}
|
75
|
+
|
76
|
+
/* buttons edges butting together */
|
77
|
+
|
78
|
+
.fc-header .fc-button {
|
79
|
+
margin-right: -1px;
|
80
|
+
}
|
81
|
+
|
82
|
+
.fc-header .fc-corner-right {
|
83
|
+
margin-right: 1px; /* back to normal */
|
84
|
+
}
|
85
|
+
|
86
|
+
.fc-header .ui-corner-right {
|
87
|
+
margin-right: 0; /* back to normal */
|
88
|
+
}
|
89
|
+
|
90
|
+
/* button layering (for border precedence) */
|
91
|
+
|
92
|
+
.fc-header .fc-state-hover,
|
93
|
+
.fc-header .ui-state-hover {
|
94
|
+
z-index: 2;
|
95
|
+
}
|
96
|
+
|
97
|
+
.fc-header .fc-state-down {
|
98
|
+
z-index: 3;
|
99
|
+
}
|
100
|
+
|
101
|
+
.fc-header .fc-state-active,
|
102
|
+
.fc-header .ui-state-active {
|
103
|
+
z-index: 4;
|
104
|
+
}
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
/* Content
|
109
|
+
------------------------------------------------------------------------*/
|
110
|
+
|
111
|
+
.fc-content {
|
112
|
+
clear: both;
|
113
|
+
}
|
114
|
+
|
115
|
+
.fc-view {
|
116
|
+
width: 100%; /* needed for view switching (when view is absolute) */
|
117
|
+
overflow: hidden;
|
118
|
+
}
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
/* Cell Styles
|
123
|
+
------------------------------------------------------------------------*/
|
124
|
+
|
125
|
+
.fc-widget-header, /* <th>, usually */
|
126
|
+
.fc-widget-content { /* <td>, usually */
|
127
|
+
border: 1px solid #ccc;
|
128
|
+
}
|
129
|
+
|
130
|
+
.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */
|
131
|
+
background: #ffc;
|
132
|
+
}
|
133
|
+
|
134
|
+
.fc-cell-overlay { /* semi-transparent rectangle while dragging */
|
135
|
+
background: #9cf;
|
136
|
+
/*opacity: .2;*/
|
137
|
+
/*filter: alpha(opacity=20); /* for IE */
|
138
|
+
}
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
/* Buttons
|
143
|
+
------------------------------------------------------------------------*/
|
144
|
+
|
145
|
+
.fc-button {
|
146
|
+
position: relative;
|
147
|
+
display: inline-block;
|
148
|
+
cursor: pointer;
|
149
|
+
}
|
150
|
+
|
151
|
+
.fc-state-default { /* non-theme */
|
152
|
+
border-style: solid;
|
153
|
+
border-width: 1px 0;
|
154
|
+
}
|
155
|
+
|
156
|
+
.fc-button-inner {
|
157
|
+
position: relative;
|
158
|
+
float: left;
|
159
|
+
overflow: hidden;
|
160
|
+
}
|
161
|
+
|
162
|
+
.fc-state-default .fc-button-inner { /* non-theme */
|
163
|
+
border-style: solid;
|
164
|
+
border-width: 0 1px;
|
165
|
+
}
|
166
|
+
|
167
|
+
.fc-button-content {
|
168
|
+
position: relative;
|
169
|
+
float: left;
|
170
|
+
height: 1.9em;
|
171
|
+
line-height: 1.9em;
|
172
|
+
padding: 0 .6em;
|
173
|
+
white-space: nowrap;
|
174
|
+
}
|
175
|
+
|
176
|
+
/* icon (for jquery ui) */
|
177
|
+
|
178
|
+
.fc-button-content .fc-icon-wrap {
|
179
|
+
position: relative;
|
180
|
+
float: left;
|
181
|
+
top: 50%;
|
182
|
+
}
|
183
|
+
|
184
|
+
.fc-button-content .ui-icon {
|
185
|
+
position: relative;
|
186
|
+
float: left;
|
187
|
+
margin-top: -50%;
|
188
|
+
*margin-top: 0;
|
189
|
+
*top: -50%;
|
190
|
+
}
|
191
|
+
|
192
|
+
/* gloss effect */
|
193
|
+
|
194
|
+
.fc-state-default .fc-button-effect {
|
195
|
+
position: absolute;
|
196
|
+
top: 50%;
|
197
|
+
left: 0;
|
198
|
+
}
|
199
|
+
|
200
|
+
.fc-state-default .fc-button-effect span {
|
201
|
+
position: absolute;
|
202
|
+
top: -100px;
|
203
|
+
left: 0;
|
204
|
+
width: 500px;
|
205
|
+
height: 100px;
|
206
|
+
border-width: 100px 0 0 1px;
|
207
|
+
border-style: solid;
|
208
|
+
border-color: #fff;
|
209
|
+
background: #444;
|
210
|
+
opacity: .09;
|
211
|
+
filter: alpha(opacity=9);
|
212
|
+
}
|
213
|
+
|
214
|
+
/* button states (determines colors) */
|
215
|
+
|
216
|
+
.fc-state-default,
|
217
|
+
.fc-state-default .fc-button-inner {
|
218
|
+
border-style: solid;
|
219
|
+
border-color: #ccc #bbb #aaa;
|
220
|
+
background: #F3F3F3;
|
221
|
+
color: #000;
|
222
|
+
}
|
223
|
+
|
224
|
+
.fc-state-hover,
|
225
|
+
.fc-state-hover .fc-button-inner {
|
226
|
+
border-color: #999;
|
227
|
+
}
|
228
|
+
|
229
|
+
.fc-state-down,
|
230
|
+
.fc-state-down .fc-button-inner {
|
231
|
+
border-color: #555;
|
232
|
+
background: #777;
|
233
|
+
}
|
234
|
+
|
235
|
+
.fc-state-active,
|
236
|
+
.fc-state-active .fc-button-inner {
|
237
|
+
border-color: #555;
|
238
|
+
background: #777;
|
239
|
+
color: #fff;
|
240
|
+
}
|
241
|
+
|
242
|
+
.fc-state-disabled,
|
243
|
+
.fc-state-disabled .fc-button-inner {
|
244
|
+
color: #999;
|
245
|
+
border-color: #ddd;
|
246
|
+
}
|
247
|
+
|
248
|
+
.fc-state-disabled {
|
249
|
+
cursor: default;
|
250
|
+
}
|
251
|
+
|
252
|
+
.fc-state-disabled .fc-button-effect {
|
253
|
+
display: none;
|
254
|
+
}
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
/* Global Event Styles
|
259
|
+
------------------------------------------------------------------------*/
|
260
|
+
|
261
|
+
.fc-event {
|
262
|
+
border-style: solid;
|
263
|
+
border-width: 0;
|
264
|
+
font-size: .85em;
|
265
|
+
cursor: default;
|
266
|
+
}
|
267
|
+
|
268
|
+
a.fc-event,
|
269
|
+
.fc-event-draggable {
|
270
|
+
cursor: pointer;
|
271
|
+
}
|
272
|
+
|
273
|
+
a.fc-event {
|
274
|
+
text-decoration: none;
|
275
|
+
}
|
276
|
+
|
277
|
+
.fc-rtl .fc-event {
|
278
|
+
text-align: right;
|
279
|
+
}
|
280
|
+
|
281
|
+
.fc-event-skin {
|
282
|
+
border-color: #1F4A75; /* default BORDER color */
|
283
|
+
background-color: #1F4A75; /* default BACKGROUND color */
|
284
|
+
color: #fff; /* default TEXT color */
|
285
|
+
|
286
|
+
}
|
287
|
+
|
288
|
+
.fc-event-inner {
|
289
|
+
position: relative;
|
290
|
+
width: 100%;
|
291
|
+
height: 100%;
|
292
|
+
border-style: solid;
|
293
|
+
border-width: 0;
|
294
|
+
overflow: hidden;
|
295
|
+
}
|
296
|
+
|
297
|
+
.fc-event-time,
|
298
|
+
.fc-event-title {
|
299
|
+
padding: 0 1px;
|
300
|
+
color:#fff;
|
301
|
+
}
|
302
|
+
|
303
|
+
.fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/
|
304
|
+
display: block;
|
305
|
+
position: absolute;
|
306
|
+
z-index: 99999;
|
307
|
+
overflow: hidden; /* hacky spaces (IE6/7) */
|
308
|
+
font-size: 300%; /* */
|
309
|
+
line-height: 50%; /* */
|
310
|
+
}
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
/* Horizontal Events
|
315
|
+
------------------------------------------------------------------------*/
|
316
|
+
|
317
|
+
.fc-event-hori {
|
318
|
+
border-width: 1px 0;
|
319
|
+
margin-bottom: 1px;
|
320
|
+
}
|
321
|
+
|
322
|
+
/* resizable */
|
323
|
+
|
324
|
+
.fc-event-hori .ui-resizable-e {
|
325
|
+
top: 0 !important; /* importants override pre jquery ui 1.7 styles */
|
326
|
+
right: -3px !important;
|
327
|
+
width: 7px !important;
|
328
|
+
height: 100% !important;
|
329
|
+
cursor: e-resize;
|
330
|
+
}
|
331
|
+
|
332
|
+
.fc-event-hori .ui-resizable-w {
|
333
|
+
top: 0 !important;
|
334
|
+
left: -3px !important;
|
335
|
+
width: 7px !important;
|
336
|
+
height: 100% !important;
|
337
|
+
cursor: w-resize;
|
338
|
+
}
|
339
|
+
|
340
|
+
.fc-event-hori .ui-resizable-handle {
|
341
|
+
_padding-bottom: 14px; /* IE6 had 0 height */
|
342
|
+
}
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
/* Fake Rounded Corners (for buttons and events)
|
347
|
+
------------------------------------------------------------*/
|
348
|
+
|
349
|
+
.fc-corner-left {
|
350
|
+
margin-left: 1px;
|
351
|
+
}
|
352
|
+
|
353
|
+
.fc-corner-left .fc-button-inner,
|
354
|
+
.fc-corner-left .fc-event-inner {
|
355
|
+
margin-left: -1px;
|
356
|
+
}
|
357
|
+
|
358
|
+
.fc-corner-right {
|
359
|
+
margin-right: 1px;
|
360
|
+
}
|
361
|
+
|
362
|
+
.fc-corner-right .fc-button-inner,
|
363
|
+
.fc-corner-right .fc-event-inner {
|
364
|
+
margin-right: -1px;
|
365
|
+
}
|
366
|
+
|
367
|
+
.fc-corner-top {
|
368
|
+
margin-top: 1px;
|
369
|
+
}
|
370
|
+
|
371
|
+
.fc-corner-top .fc-event-inner {
|
372
|
+
margin-top: -1px;
|
373
|
+
}
|
374
|
+
|
375
|
+
.fc-corner-bottom {
|
376
|
+
margin-bottom: 1px;
|
377
|
+
}
|
378
|
+
|
379
|
+
.fc-corner-bottom .fc-event-inner {
|
380
|
+
margin-bottom: -1px;
|
381
|
+
}
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
/* Fake Rounded Corners SPECIFICALLY FOR EVENTS
|
386
|
+
-----------------------------------------------------------------*/
|
387
|
+
|
388
|
+
.fc-corner-left .fc-event-inner {
|
389
|
+
border-left-width: 1px;
|
390
|
+
}
|
391
|
+
|
392
|
+
.fc-corner-right .fc-event-inner {
|
393
|
+
border-right-width: 1px;
|
394
|
+
}
|
395
|
+
|
396
|
+
.fc-corner-top .fc-event-inner {
|
397
|
+
border-top-width: 1px;
|
398
|
+
}
|
399
|
+
|
400
|
+
.fc-corner-bottom .fc-event-inner {
|
401
|
+
border-bottom-width: 1px;
|
402
|
+
}
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
/* Reusable Separate-border Table
|
407
|
+
------------------------------------------------------------*/
|
408
|
+
|
409
|
+
table.fc-border-separate {
|
410
|
+
border-collapse: separate;
|
411
|
+
}
|
412
|
+
|
413
|
+
.fc-border-separate th,
|
414
|
+
.fc-border-separate td {
|
415
|
+
border-width: 1px 0 0 1px;
|
416
|
+
}
|
417
|
+
|
418
|
+
.fc-border-separate th.fc-last,
|
419
|
+
.fc-border-separate td.fc-last {
|
420
|
+
border-right-width: 1px;
|
421
|
+
}
|
422
|
+
|
423
|
+
.fc-border-separate tr.fc-last th,
|
424
|
+
.fc-border-separate tr.fc-last td {
|
425
|
+
border-bottom-width: 1px;
|
426
|
+
}
|
427
|
+
|
428
|
+
.fc-border-separate tbody tr.fc-first td,
|
429
|
+
.fc-border-separate tbody tr.fc-first th {
|
430
|
+
border-top-width: 0;
|
431
|
+
}
|
432
|
+
|
433
|
+
|
434
|
+
|
435
|
+
/* Month View, Basic Week View, Basic Day View
|
436
|
+
------------------------------------------------------------------------*/
|
437
|
+
|
438
|
+
.fc-grid th {
|
439
|
+
text-align: center;
|
440
|
+
}
|
441
|
+
|
442
|
+
.fc-grid .fc-day-number {
|
443
|
+
float: right;
|
444
|
+
padding: 0 2px;
|
445
|
+
}
|
446
|
+
|
447
|
+
.fc-grid .fc-other-month .fc-day-number {
|
448
|
+
opacity: 0.3;
|
449
|
+
filter: alpha(opacity=30); /* for IE */
|
450
|
+
/* opacity with small font can sometimes look too faded
|
451
|
+
might want to set the 'color' property instead
|
452
|
+
making day-numbers bold also fixes the problem */
|
453
|
+
}
|
454
|
+
|
455
|
+
.fc-grid .fc-day-content {
|
456
|
+
clear: both;
|
457
|
+
padding: 2px 2px 1px; /* distance between events and day edges */
|
458
|
+
}
|
459
|
+
|
460
|
+
/* event styles */
|
461
|
+
|
462
|
+
.fc-grid .fc-event-time {
|
463
|
+
font-weight: bold;
|
464
|
+
}
|
465
|
+
|
466
|
+
/* right-to-left */
|
467
|
+
|
468
|
+
.fc-rtl .fc-grid .fc-day-number {
|
469
|
+
float: left;
|
470
|
+
}
|
471
|
+
|
472
|
+
.fc-rtl .fc-grid .fc-event-time {
|
473
|
+
float: right;
|
474
|
+
}
|
475
|
+
|
476
|
+
|
477
|
+
|
478
|
+
/* Agenda Week View, Agenda Day View
|
479
|
+
------------------------------------------------------------------------*/
|
480
|
+
|
481
|
+
.fc-agenda table {
|
482
|
+
border-collapse: separate;
|
483
|
+
}
|
484
|
+
|
485
|
+
.fc-agenda-days th {
|
486
|
+
text-align: center;
|
487
|
+
}
|
488
|
+
|
489
|
+
.fc-agenda .fc-agenda-axis {
|
490
|
+
width: 50px;
|
491
|
+
padding: 0 4px;
|
492
|
+
vertical-align: middle;
|
493
|
+
text-align: right;
|
494
|
+
white-space: nowrap;
|
495
|
+
font-weight: normal;
|
496
|
+
}
|
497
|
+
|
498
|
+
.fc-agenda .fc-day-content {
|
499
|
+
padding: 2px 2px 1px;
|
500
|
+
}
|
501
|
+
|
502
|
+
/* make axis border take precedence */
|
503
|
+
|
504
|
+
.fc-agenda-days .fc-agenda-axis {
|
505
|
+
border-right-width: 1px;
|
506
|
+
}
|
507
|
+
|
508
|
+
.fc-agenda-days .fc-col0 {
|
509
|
+
border-left-width: 0;
|
510
|
+
}
|
511
|
+
|
512
|
+
/* all-day area */
|
513
|
+
|
514
|
+
.fc-agenda-allday th {
|
515
|
+
border-width: 0 1px;
|
516
|
+
}
|
517
|
+
|
518
|
+
.fc-agenda-allday .fc-day-content {
|
519
|
+
min-height: 34px; /* TODO: doesnt work well in quirksmode */
|
520
|
+
_height: 34px;
|
521
|
+
}
|
522
|
+
|
523
|
+
/* divider (between all-day and slots) */
|
524
|
+
|
525
|
+
.fc-agenda-divider-inner {
|
526
|
+
height: 2px;
|
527
|
+
overflow: hidden;
|
528
|
+
}
|
529
|
+
|
530
|
+
.fc-widget-header .fc-agenda-divider-inner {
|
531
|
+
background: #eee;
|
532
|
+
}
|
533
|
+
|
534
|
+
/* slot rows */
|
535
|
+
|
536
|
+
.fc-agenda-slots th {
|
537
|
+
border-width: 1px 1px 0;
|
538
|
+
}
|
539
|
+
|
540
|
+
.fc-agenda-slots td {
|
541
|
+
border-width: 1px 0 0;
|
542
|
+
background: none;
|
543
|
+
}
|
544
|
+
|
545
|
+
.fc-agenda-slots td div {
|
546
|
+
height: 20px;
|
547
|
+
}
|
548
|
+
|
549
|
+
.fc-agenda-slots tr.fc-slot0 th,
|
550
|
+
.fc-agenda-slots tr.fc-slot0 td {
|
551
|
+
border-top-width: 0;
|
552
|
+
}
|
553
|
+
|
554
|
+
.fc-agenda-slots tr.fc-minor th,
|
555
|
+
.fc-agenda-slots tr.fc-minor td {
|
556
|
+
border-top-style: dotted;
|
557
|
+
}
|
558
|
+
|
559
|
+
.fc-agenda-slots tr.fc-minor th.ui-widget-header {
|
560
|
+
*border-top-style: solid; /* doesn't work with background in IE6/7 */
|
561
|
+
}
|
562
|
+
|
563
|
+
|
564
|
+
|
565
|
+
/* Vertical Events
|
566
|
+
------------------------------------------------------------------------*/
|
567
|
+
|
568
|
+
.fc-event-vert {
|
569
|
+
border-width: 0 1px;
|
570
|
+
}
|
571
|
+
|
572
|
+
.fc-event-vert .fc-event-head,
|
573
|
+
.fc-event-vert .fc-event-content {
|
574
|
+
position: relative;
|
575
|
+
z-index: 2;
|
576
|
+
width: 100%;
|
577
|
+
overflow: hidden;
|
578
|
+
}
|
579
|
+
|
580
|
+
.fc-event-vert .fc-event-time {
|
581
|
+
white-space: nowrap;
|
582
|
+
font-size: 10px;
|
583
|
+
}
|
584
|
+
|
585
|
+
.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */
|
586
|
+
position: absolute;
|
587
|
+
z-index: 1;
|
588
|
+
top: 0;
|
589
|
+
left: 0;
|
590
|
+
width: 100%;
|
591
|
+
height: 100%;
|
592
|
+
background: #fff;
|
593
|
+
opacity: .3;
|
594
|
+
|
595
|
+
|
596
|
+
}
|
597
|
+
|
598
|
+
.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */
|
599
|
+
.fc-select-helper .fc-event-bg {
|
600
|
+
display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */
|
601
|
+
}
|
602
|
+
|
603
|
+
/* resizable */
|
604
|
+
|
605
|
+
.fc-event-vert .ui-resizable-s {
|
606
|
+
bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */
|
607
|
+
width: 100% !important;
|
608
|
+
height: 8px !important;
|
609
|
+
overflow: hidden !important;
|
610
|
+
line-height: 8px !important;
|
611
|
+
font-size: 11px !important;
|
612
|
+
font-family: monospace;
|
613
|
+
text-align: center;
|
614
|
+
cursor: s-resize;
|
615
|
+
}
|
616
|
+
|
617
|
+
.fc-agenda .ui-resizable-resizing { /* TODO: better selector */
|
618
|
+
_overflow: hidden;
|
619
|
+
}
|
620
|
+
|
621
|
+
|