Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset='utf-8' />
5
<link href='../fullcalendar.css' rel='stylesheet' />
6
<link href='../fullcalendar.print.css' rel='stylesheet' media='print' />
7
<script src='../lib/moment.min.js'></script>
8
<script src='../lib/jquery.min.js'></script>
9
<script src='../lib/jquery-ui.custom.min.js'></script>
10
<script src='../fullcalendar.min.js'></script>
11
<script>
12
 
13
        $(document).ready(function() {
14
 
15
 
16
                /* initialize the external events
17
                -----------------------------------------------------------------*/
18
 
19
                $('#external-events .fc-event').each(function() {
20
 
21
                        // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
22
                        // it doesn't need to have a start or end
23
                        var eventObject = {
24
                                title: $.trim($(this).text()) // use the element's text as the event title
25
                        };
26
 
27
                        // store the Event Object in the DOM element so we can get to it later
28
                        $(this).data('eventObject', eventObject);
29
 
30
                        // make the event draggable using jQuery UI
31
                        $(this).draggable({
32
                                zIndex: 999,
33
                                revert: true,      // will cause the event to go back to its
34
                                revertDuration: 0  //  original position after the drag
35
                        });
36
 
37
                });
38
 
39
 
40
                /* initialize the calendar
41
                -----------------------------------------------------------------*/
42
 
43
                $('#calendar').fullCalendar({
44
                        header: {
45
                                left: 'prev,next today',
46
                                center: 'title',
47
                                right: 'month,agendaWeek,agendaDay'
48
                        },
49
                        editable: true,
50
                        droppable: true, // this allows things to be dropped onto the calendar !!!
51
                        drop: function(date) { // this function is called when something is dropped
52
 
53
                                // retrieve the dropped element's stored Event Object
54
                                var originalEventObject = $(this).data('eventObject');
55
 
56
                                // we need to copy it, so that multiple events don't have a reference to the same object
57
                                var copiedEventObject = $.extend({}, originalEventObject);
58
 
59
                                // assign it the date that was reported
60
                                copiedEventObject.start = date;
61
 
62
                                // render the event on the calendar
63
                                // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
64
                                $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
65
 
66
                                // is the "remove after drop" checkbox checked?
67
                                if ($('#drop-remove').is(':checked')) {
68
                                        // if so, remove the element from the "Draggable Events" list
69
                                        $(this).remove();
70
                                }
71
 
72
                        }
73
                });
74
 
75
 
76
        });
77
 
78
</script>
79
<style>
80
 
81
        body {
82
                margin-top: 40px;
83
                text-align: center;
84
                font-size: 14px;
85
                font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
86
        }
87
 
88
        #wrap {
89
                width: 1100px;
90
                margin: 0 auto;
91
        }
92
 
93
        #external-events {
94
                float: left;
95
                width: 150px;
96
                padding: 0 10px;
97
                border: 1px solid #ccc;
98
                background: #eee;
99
                text-align: left;
100
        }
101
 
102
        #external-events h4 {
103
                font-size: 16px;
104
                margin-top: 0;
105
                padding-top: 1em;
106
        }
107
 
108
        #external-events .fc-event {
109
                margin: 10px 0;
110
                cursor: pointer;
111
        }
112
 
113
        #external-events p {
114
                margin: 1.5em 0;
115
                font-size: 11px;
116
                color: #666;
117
        }
118
 
119
        #external-events p input {
120
                margin: 0;
121
                vertical-align: middle;
122
        }
123
 
124
        #calendar {
125
                float: right;
126
                width: 900px;
127
        }
128
 
129
</style>
130
</head>
131
<body>
132
        <div id='wrap'>
133
 
134
                <div id='external-events'>
135
                        <h4>Draggable Events</h4>
136
                        <div class='fc-event'>My Event 1</div>
137
                        <div class='fc-event'>My Event 2</div>
138
                        <div class='fc-event'>My Event 3</div>
139
                        <div class='fc-event'>My Event 4</div>
140
                        <div class='fc-event'>My Event 5</div>
141
                        <p>
142
                                <input type='checkbox' id='drop-remove' />
143
                                <label for='drop-remove'>remove after drop</label>
144
                        </p>
145
                </div>
146
 
147
                <div id='calendar'></div>
148
 
149
                <div style='clear:both'></div>
150
 
151
        </div>
152
</body>
153
</html>