source: trunk/prototype/modules/calendar/js/calendar.contentMenu.js @ 6533

Revision 6533, 3.0 KB checked in by acoutinho, 12 years ago (diff)

Ticket #2864 - Problema com os eventos que contem repeticao

Line 
1function contentMenu(){
2        $('.fullcalendar-not-context-menu').bind('contextmenu', function(event){
3                event.preventDefault();
4        });
5         
6        $('.fullcalendar-context-menu').bind('contextmenu', function(event){
7                event.preventDefault();
8               
9                var classes = $(this).attr('class').split(" ");
10                var idEvent = false, idRecurrence = false, idCalendar = false;
11               
12                //recupera o id do calendar eo id do evento para tratamento
13                for(var i = 0; i < classes.length; i++){
14                    if (classes[i].indexOf("event-id-") >= 0 ){
15                        idEvent = classes[i].replace(/[a-zA-Z-]+/g, '');
16                        continue;
17                    }else if (classes[i].indexOf("Recurrence-id-") >= 0 ){
18                        idRecurrence = classes[i].replace(/[a-zA-Z-]+/g, '');
19                        continue;
20                    }else if (classes[i].indexOf("calendar-id-") >= 0 ){
21                        idCalendar = classes[i].replace(/[a-zA-Z-]+/g, '');
22                        continue;
23                    }
24                }
25
26                var schedulable = DataLayer.get('schedulable', idEvent);
27
28                var isRecurrence = DataLayer.get('repeat', schedulable.repeat).frequency || false;
29
30                var top = $('#divAppbox').scrollTop();
31
32                var template = DataLayer.render( 'templates/menu_context_event.ejs', {event: schedulable.id ,
33                    top: (event.clientY - 135 + top), left: (event.clientX - 445),
34                    signature: Calendar.signatureOf[idCalendar],
35                    calendars: Calendar.calendars, isRecurrence: (!isRecurrence || isRecurrence == 'none') ? false : true,
36                    idRecurrence: idRecurrence
37                });
38
39                $('#context-menu-event').html(template);
40
41                var method = function(value){
42                    switch (value){
43                        case "ocurrency":
44                            return '2'
45                        case "copy":
46                            return '1';
47                        case "move":
48                            return '0';
49                    }
50                }
51               
52                $('#context-menu-event').find('li.menu-item').hover(
53                        function () {
54                                $(this).addClass("li-hover").find('a').addClass('ui-state-hover');
55                                if($(this).hasClass('copy') || $(this).hasClass('move')) {
56                                       
57                                        $(this).parents().find('.calendar-copy-move input[name="typeEvent"]').val( method($(this).attr('class').split(" ")[0]));
58                                        $(this).parents().find('.calendar-copy-move').show();
59                               
60                                }       
61                        },
62                        function () {
63                                $(this).removeClass("li-hover").find('a').removeClass('ui-state-hover');
64                                if(!$(this).hasClass('copy') && !$(this).hasClass('move') )
65                                        $(this).parents().find('.calendar-copy-move').hide()
66                        }
67                );     
68               
69                $('#context-menu-event').find('li.calendar-list').hover(
70                        function () {
71                                $(this).addClass("li-hover").find('a').addClass('ui-state-hover');
72                        },
73                        function () {
74                                $(this).removeClass("li-hover").find('a').removeClass('ui-state-hover');
75                        }
76                );     
77       
78                event.preventDefault();
79        });
80}
Note: See TracBrowser for help on using the repository browser.