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

Revision 6286, 2.9 KB checked in by acoutinho, 12 years ago (diff)

Ticket #2479 - Iconsistencia ao remover evento de duas agendas simultaneas

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;
29
30                var template = DataLayer.render( 'templates/menu_context_event.ejs', {event: schedulable.id ,
31                    top: (event.clientY - 135), left: (event.clientX - 445),
32                    signature: Calendar.signatureOf[idCalendar],
33                    calendars: Calendar.calendars, isRecurrence: isRecurrence == 'none' ? false : true,
34                    idRecurrence: idRecurrence
35                });
36               
37                $('#context-menu-event').html(template);
38               
39                var method = function(value){
40                    switch (value){
41                        case "ocurrency":
42                            return '2'
43                        case "copy":
44                            return '1';
45                        case "move":
46                            return '0';
47                    }
48                }
49               
50                $('#context-menu-event').find('li.menu-item').hover(
51                        function () {
52                                $(this).addClass("li-hover").find('a').addClass('ui-state-hover');
53                                if($(this).hasClass('copy') || $(this).hasClass('move')) {
54                                       
55                                        $(this).parents().find('.calendar-copy-move input[name="typeEvent"]').val( method($(this).attr('class').split(" ")[0]));
56                                        $(this).parents().find('.calendar-copy-move').show();
57                               
58                                }       
59                        },
60                        function () {
61                                $(this).removeClass("li-hover").find('a').removeClass('ui-state-hover');
62                                if(!$(this).hasClass('copy') && !$(this).hasClass('move') )
63                                        $(this).parents().find('.calendar-copy-move').hide()
64                        }
65                );     
66               
67                $('#context-menu-event').find('li.calendar-list').hover(
68                        function () {
69                                $(this).addClass("li-hover").find('a').addClass('ui-state-hover');
70                        },
71                        function () {
72                                $(this).removeClass("li-hover").find('a').removeClass('ui-state-hover');
73                        }
74                );     
75       
76                event.preventDefault();
77        });
78}
Note: See TracBrowser for help on using the repository browser.