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

Revision 7106, 2.8 KB checked in by marcosw, 12 years ago (diff)

Ticket #3073 - Correção cópia tarefas e exibição calendarios/grupos

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