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, 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 | } |
---|