Changeset 5392 for trunk/expressoMail1_2/js
- Timestamp:
- 01/18/12 09:36:25 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/draw_api.js
r5391 r5392 2599 2599 subject.innerHTML = info_msg.subject; 2600 2600 subject.className = "header_message_field"; 2601 var new_event_logo = document.createElement("IMG"); 2602 new_event_logo.title = "Criar evento a partir deste email"; 2603 new_event_logo.alt = "Criar evento a partir deste email"; 2604 new_event_logo.src = "./templates/default/images/calendar_add.png"; 2605 new_event_logo.style.cursor = "pointer"; 2606 new_event_logo.style.marginLeft = "5px"; 2607 new_event_logo.onclick = function(){ 2608 DataLayer.dispatchPath = "../prototype/"; 2609 var path = "../prototype/modules/calendar/"; 2610 eventDetails({ 2611 summary : $("#subject_"+ID).text(), 2612 description : $("#body_" + ID).text(), 2613 startTime: $.now(), 2614 endTime:!!User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration != "" ? ($.now() + Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : (User.preferences.defaultDuration * 60000) 2615 : $.now() + (User.preferences.defaultDuration * 60000) 2616 }, true, path); 2617 2618 //TimePicker Não está funcionando corretamente, o motivo ainda é desconhecido. 2619 /* 2620 $(".new-event-win").find('input.time').timepicker({ 2621 closeText: 'Ok', 2622 hourGrid: 4, 2623 minuteGrid: 10, 2624 //ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 2625 timeFormat: "hh:mm tt", 2626 onSelect: function (selectedDateTime){ 2627 if(!(User.preferences.hourFormat.length == 5)) 2628 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 2629 }, 2630 onClose : function (selectedDateTime){ 2631 if(!(User.preferences.hourFormat.length == 5)) 2632 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 2633 } 2634 }); 2635 */ 2636 2637 var emails = $("#to_values_"+ID).val(); 2638 emails = emails.split(","); 2639 var blkAddAtendee = UI.dialogs.addEvent.find('#calendar_addevent_details6'); 2640 var onShowToolTip = function(arg0) { 2641 $('.qtip-active .button.close').button({ 2642 icons: {primary: "ui-icon-close"}, 2643 text: false 2601 if(new_agenda == "True" && $("#expressoCalendarid")[0]){ 2602 var new_event_logo = document.createElement("IMG"); 2603 new_event_logo.title = "Criar evento a partir deste email"; 2604 new_event_logo.alt = "Criar evento a partir deste email"; 2605 new_event_logo.src = "./templates/default/images/calendar_add.png"; 2606 new_event_logo.style.cursor = "pointer"; 2607 new_event_logo.style.marginLeft = "5px"; 2608 new_event_logo.onclick = function(){ 2609 DataLayer.dispatchPath = "../prototype/"; 2610 var path = "../prototype/modules/calendar/"; 2611 eventDetails({ 2612 summary : $("#subject_"+ID).text(), 2613 description : $("#body_" + ID).text(), 2614 startTime: $.now(), 2615 endTime:!!User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration != "" ? ($.now() + Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : (User.preferences.defaultDuration * 60000) 2616 : $.now() + (User.preferences.defaultDuration * 60000) 2617 }, true, path); 2618 2619 //TimePicker Não está funcionando corretamente, o motivo ainda é desconhecido. 2620 /* 2621 $(".new-event-win").find('input.time').timepicker({ 2622 closeText: 'Ok', 2623 hourGrid: 4, 2624 minuteGrid: 10, 2625 //ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 2626 timeFormat: "hh:mm tt", 2627 onSelect: function (selectedDateTime){ 2628 if(!(User.preferences.hourFormat.length == 5)) 2629 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 2630 }, 2631 onClose : function (selectedDateTime){ 2632 if(!(User.preferences.hourFormat.length == 5)) 2633 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 2634 } 2644 2635 }); 2645 $('.qtip-active .button').button() 2646 .filter('.save').click(function(event, ui) { 2647 if (saveContact()) { 2648 lastEditAttendeeToolTip.qtip("destroy"); 2649 } else { 2650 return false; 2651 } 2652 }).end() 2653 .filter('.cancel').click(function(event, ui) { 2654 lastEditAttendeeToolTip.qtip("destroy"); 2655 }) 2656 2657 /** 2658 * Trata o ENTER no campo da tooltip, equivalente a salvar 2659 * o novo convidado. 2660 */ 2661 $('.qtip-active input').keydown(function(event) { 2662 if (event.keyCode == '13') { 2636 */ 2637 2638 var emails = $("#to_values_"+ID).val(); 2639 emails = emails.split(","); 2640 var blkAddAtendee = UI.dialogs.addEvent.find('#calendar_addevent_details6'); 2641 var onShowToolTip = function(arg0) { 2642 $('.qtip-active .button.close').button({ 2643 icons: {primary: "ui-icon-close"}, 2644 text: false 2645 }); 2646 $('.qtip-active .button').button() 2647 .filter('.save').click(function(event, ui) { 2663 2648 if (saveContact()) { 2664 2649 lastEditAttendeeToolTip.qtip("destroy"); 2650 } else { 2651 return false; 2665 2652 } 2666 2653 }).end() 2654 .filter('.cancel').click(function(event, ui) { 2667 2655 lastEditAttendeeToolTip.qtip("destroy"); 2668 event.preventDefault(); 2669 } 2670 }) 2671 .filter('[name="name"]').Watermark("informe o nome do contato").end() 2672 .filter('[name="mail"]').Watermark("informe o email do contato"); 2673 } 2674 2675 $.each(emails, function(index, value) { 2676 var decoded = Encoder.htmlDecode(value); 2677 var newAttendeeName = ""; 2678 if(decoded.match(/<([^<]*)>[\s]*$/)){ 2679 var user = DataLayer.get('user', ["=", "mail", decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase()], true); 2680 if(!(!!user)){ 2681 newAttendeeName = decoded.match(/"([^"]*)"/)[1]; 2682 var newAttendeeEmail = decoded.match(/<([^<]*)>[\s]*$/)[1]; 2683 } 2684 } 2685 else{ 2686 var user = DataLayer.get('user', ["=", "mail", decoded], true); 2687 if(!(!!user)){ 2688 if(decoded.match(/^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/)) 2689 var newAttendeeEmail = decoded; 2690 else{ 2691 var newAttendeeEmail = ""; 2692 newAttendeeName = decoded; 2656 }) 2657 2658 /** 2659 * Trata o ENTER no campo da tooltip, equivalente a salvar 2660 * o novo convidado. 2661 */ 2662 $('.qtip-active input').keydown(function(event) { 2663 if (event.keyCode == '13') { 2664 if (saveContact()) { 2665 lastEditAttendeeToolTip.qtip("destroy"); 2666 } 2667 2668 lastEditAttendeeToolTip.qtip("destroy"); 2669 event.preventDefault(); 2670 } 2671 }) 2672 .filter('[name="name"]').Watermark("informe o nome do contato").end() 2673 .filter('[name="mail"]').Watermark("informe o email do contato"); 2674 } 2675 2676 $.each(emails, function(index, value) { 2677 var decoded = Encoder.htmlDecode(value); 2678 var newAttendeeName = ""; 2679 if(decoded.match(/<([^<]*)>[\s]*$/)){ 2680 var user = DataLayer.get('user', ["=", "mail", decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase()], true); 2681 if(!(!!user)){ 2682 newAttendeeName = decoded.match(/"([^"]*)"/)[1]; 2683 var newAttendeeEmail = decoded.match(/<([^<]*)>[\s]*$/)[1]; 2693 2684 } 2694 2685 } 2695 } 2696 2697 var isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 2698 var add = false; 2699 if(user){ 2700 if(!(blkAddAtendee.find('label.mail[title="' + user[0].mail + '"]').length)){ 2701 user[0].id = DataLayer.put('participant', {user: user[0].id, isExternal: isExternal}); 2686 else{ 2687 var user = DataLayer.get('user', ["=", "mail", decoded], true); 2688 if(!(!!user)){ 2689 if(decoded.match(/^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/)) 2690 var newAttendeeEmail = decoded; 2691 else{ 2692 var newAttendeeEmail = ""; 2693 newAttendeeName = decoded; 2694 } 2695 } 2696 } 2697 2698 var isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 2699 var add = false; 2700 if(user){ 2701 if(!(blkAddAtendee.find('label.mail[title="' + user[0].mail + '"]').length)){ 2702 user[0].id = DataLayer.put('participant', {user: user[0].id, isExternal: isExternal}); 2703 blkAddAtendee.find('dd.attendee-list ul.attendee-list').append( 2704 DataLayer.render(path+'templates/participants_add_itemlist.ejs', user) 2705 ) 2706 .find('.button.close').addClass('small').button({text:false, icons:{primary:'ui-icon-close'}}).click(function() { 2707 DataLayer.remove('participant', $(this).parent().find('[type=checkbox]').val()); 2708 $(this).parent().remove(); 2709 }).end() 2710 .scrollTo('max'); 2711 add = true; 2712 } 2713 }else{ 2714 userId = DataLayer.put('user', {name: newAttendeeName, mail: newAttendeeEmail, isExternal: isExternal}); 2715 newAttendeeId = DataLayer.put('participant', {user: userId, isExternal: isExternal}); 2716 2702 2717 blkAddAtendee.find('dd.attendee-list ul.attendee-list').append( 2703 DataLayer.render(path+'templates/participants_add_itemlist.ejs', user) 2704 ) 2705 .find('.button.close').addClass('small').button({text:false, icons:{primary:'ui-icon-close'}}).click(function() { 2718 DataLayer.render(path+'templates/participants_add_itemlist.ejs', [{id:newAttendeeId, name: newAttendeeName, mail: newAttendeeEmail, isExternal: 1}]) 2719 ).find('.button.close').addClass('small').button({text:false, icons:{primary:'ui-icon-close'}}).click(function() { 2706 2720 DataLayer.remove('participant', $(this).parent().find('[type=checkbox]').val()); 2707 2721 $(this).parent().remove(); … … 2710 2724 add = true; 2711 2725 } 2712 }else{ 2713 userId = DataLayer.put('user', {name: newAttendeeName, mail: newAttendeeEmail, isExternal: isExternal}); 2714 newAttendeeId = DataLayer.put('participant', {user: userId, isExternal: isExternal}); 2715 2716 blkAddAtendee.find('dd.attendee-list ul.attendee-list').append( 2717 DataLayer.render(path+'templates/participants_add_itemlist.ejs', [{id:newAttendeeId, name: newAttendeeName, mail: newAttendeeEmail, isExternal: 1}]) 2718 ).find('.button.close').addClass('small').button({text:false, icons:{primary:'ui-icon-close'}}).click(function() { 2719 DataLayer.remove('participant', $(this).parent().find('[type=checkbox]').val()); 2720 $(this).parent().remove(); 2721 }).end() 2722 .scrollTo('max'); 2723 add = true; 2724 } 2725 if(add){ 2726 lastEditAttendeeToolTip = blkAddAtendee.find('dd.attendee-list li:last'); 2727 lastEditAttendeeToolTip.qtip({ 2728 show: {ready: false, solo: true, when: {event: 'click'}}, 2729 hide: false, 2730 content: { 2731 text: $('<div></div>').html( DataLayer.render( path+'templates/attendee_quick_edit.ejs', {attendee:{name:( (!!user ? (!!user[0] ? (!!user[0].name ? !!user[0].name : newAttendeeName): newAttendeeName) : newAttendeeName)), mail:(!!user ? (!!user[0] ? (!!user[0].mail ? !!user[0].mail : newAttendeeEmail): newAttendeeEmail) : newAttendeeEmail)}} ) ), 2732 title: { 2733 text:'Detalhes do participante', 2734 button: '<a class="button close" href="#">close</a>' 2726 if(add){ 2727 lastEditAttendeeToolTip = blkAddAtendee.find('dd.attendee-list li:last'); 2728 lastEditAttendeeToolTip.qtip({ 2729 show: {ready: false, solo: true, when: {event: 'click'}}, 2730 hide: false, 2731 content: { 2732 text: $('<div></div>').html( DataLayer.render( path+'templates/attendee_quick_edit.ejs', {attendee:{name:( (!!user ? (!!user[0] ? (!!user[0].name ? user[0].name : newAttendeeName): newAttendeeName) : newAttendeeName)), mail:(!!user ? (!!user[0] ? (!!user[0].mail ? user[0].mail : newAttendeeEmail): newAttendeeEmail) : newAttendeeEmail)}} ) ), 2733 title: { 2734 text:'Detalhes do participante', 2735 button: '<a class="button close" href="#">close</a>' 2736 } 2737 }, 2738 style: {name: 'blue', tip: {corner: 'leftMiddle'}, border: {width: 4, radius: 8}, width: {min: 230, max:230}}, 2739 position: { 2740 corner: { 2741 target: 'rightMiddle', 2742 tooltip: 'leftMiddle' 2743 }, 2744 adjust: {x:0, y:0} 2735 2745 } 2736 }, 2737 style: {name: 'blue', tip: {corner: 'leftMiddle'}, border: {width: 4, radius: 8}, width: {min: 230, max:230}}, 2738 position: { 2739 corner: { 2740 target: 'rightMiddle', 2741 tooltip: 'leftMiddle' 2742 }, 2743 adjust: {x:0, y:0} 2744 } 2745 }); 2746 lastEditAttendeeToolTip.qtip("api").onShow = onShowToolTip; 2747 } 2748 }); 2749 } 2750 subject.appendChild(new_event_logo); 2746 }); 2747 lastEditAttendeeToolTip.qtip("api").onShow = onShowToolTip; 2748 } 2749 }); 2750 } 2751 subject.appendChild(new_event_logo); 2752 } 2751 2753 tr5.appendChild(td5); 2752 2754 tr5.appendChild(subject);
Note: See TracChangeset
for help on using the changeset viewer.