1 | function 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 | } |
---|