- Timestamp:
- 06/08/12 17:22:36 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.4/prototype/modules/calendar/js/calendar.codecs.js
r6420 r6453 144 144 }); 145 145 146 Refresh = {147 //Tempo em que após a ultima sincronização será verificado atualizações148 timeRefresh : 180,149 clookRefresh: false,150 151 init: function(){152 153 delete DataLayer.tasks[this.clookRefresh];154 155 //Realiza agendamentos de atualização de view somente se o módulo aberto for expressoCalendar156 if(User.moduleName == "expressoCalendar"){157 this.clookRefresh = (parseInt(($.now()) / 1000) + this.timeRefresh);158 159 DataLayer.task( this.clookRefresh , function(){160 Calendar.rerenderView(true);161 });162 }163 }164 }165 166 Calendar = {167 168 load: function(){169 this.lastView = 0;170 var filter = ['=', 'user', User.me.id];171 if(!!User.me.gidNumber){172 if(!$.isArray(User.me.gidNumber))173 User.me.gidNumber = [User.me.gidNumber];174 175 filter = ['OR', filter, ['IN', 'user', User.me.gidNumber]];176 }177 178 //var descart = DataLayer.get("calendarSignature", {filter: filter, criteria: {deepness: 2}});179 this.signatures = DataLayer.get("calendarSignature", {180 filter: filter,181 criteria: {182 deepness: 2183 }184 });185 186 var prevSources = this.sources;187 188 this.sources = DataLayer.encode( "calendarSignature:calendar", this.signatures );189 190 if( prevSources )191 {192 var newSources = this.sources.slice();193 194 for( var i = 0; i < newSources.length; i++ )195 $('#calendar').fullCalendar( 'addEventSource', newSources[i] );196 197 for( var i = 0; i < prevSources.length; i++ )198 $('#calendar').fullCalendar( 'removeEventSource', prevSources[i] );199 }200 201 this.calendarIds = [], this.signatureOf = {}, this.calendars = [], this.calendarOf= {};202 203 for( var i = 0; i < this.signatures.length; i++ ){204 if(this.signatures[i].isOwner == "0")205 this.signatures[i].permission = DataLayer.encode('calendarToPermission:detail', this.signatures[i].permission);206 this.signatureOf[ this.calendarIds[i] = ( this.calendars[ this.calendars.length ] = this.calendarOf[ this.signatures[i].id ] = this.signatures[i].calendar ).id ] = this.signatures[i];207 }208 209 delete Calendar.currentViewKey;210 Refresh.init();211 },212 213 rerenderView: function(force){214 //TODO - Remover if quando centralizar o objeto User que contem as informações do usuário logado em um local acessível a todos módulos215 if(User.moduleName == "expressoCalendar"){216 if((typeof($tabs) != "undefined") && $tabs.tabs('option' ,'selected') == 0){217 if(force){218 delete Calendar.currentViewKey;219 $('#calendar').fullCalendar( 'refetchEvents' );220 221 //Recarrega os alarmes de eventos222 Alarms.load();223 224 Refresh.init();225 }226 227 var calendarNotSelected = getSelectedCalendars( true );228 for(var i = 0; i < calendarNotSelected.length; i++)229 if(!!Calendar.currentView[ calendarNotSelected[i] ])230 Calendar.currentView[ calendarNotSelected[i] ].hidden = true;231 232 $('#calendar').fullCalendar( 'refetchEvents' );233 234 contentMenu();235 }else if((typeof($tabs) != "undefined") && $tabs.tabs('option' ,'selected') != 0)236 pageselectCallback($('.events-list-win.active [name=keyword]').val(), 0);237 }238 }239 }240 241 Alarms = {242 load: function(){243 var eventsDay = DataLayer.get('alarm:schedulable',['=', 'date', Date.today().getTime()]);244 if(eventsDay)245 for(var i = 0; i < eventsDay.length; i++){246 this.addAlarm( eventsDay[i] );247 }248 },249 250 addAlarm: function( eventDay ){251 if(!DataLayer.tasks[parseInt(eventDay.sendTime)]){252 DataLayer.task( parseInt(eventDay.sendTime) , function( timestamp ){253 var path = User.moduleName == 'expressoCalendar' ? '' : '../prototype/modules/calendar/';254 DataLayer.render(path+'templates/alarm.ejs',{255 event: eventDay256 }, function( html ){257 $.Zebra_Dialog(html , {258 'type': 'question',259 'overlay_opacity': '0.5',260 'buttons': ['Fechar'],261 'onClose': function(clicked) {}262 });263 });264 });265 }266 }267 }268 269 146 DataLayer.codec( "modulePreference", "detail", { 270 147 decoder: function( evtObj ){ … … 309 186 } 310 187 }); 311 312 User.init();313 Calendar.load();314 188 315 189 /*Todo Melhorias serão feitas na API*/ … … 475 349 return { 476 350 participant : meAttendee(form.attendee), 477 startTime: Date.parseExact(form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00'),478 endTime: Date.parseExact(form.endDate + ( !!form.allDay ? " 00:00": " "+$.trim(form.endHour)), formatString ).toString('yyyy-MM-dd HH:mm:00'), 351 startTime: Date.parseExact(form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 352 endTime: Date.parseExact(form.endDate + " "+$.trim(form.endHour), formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 479 353 allDay: ( !!form.allDay ? 1 : 0 ), 480 354 schedulable: form.idEvent … … 569 443 if(form.startDate){ 570 444 var tzId = DataLayer.get('schedulable', form.idEvent).timezone || User.preferences.timezone, 571 formatString = ( typeof form.allDay !== "undefined" && !!form.allDay )? pref.dateFormat+" HH:mm" :pref.dateFormat + " " + pref.hourFormat;445 formatString = pref.dateFormat + " " + pref.hourFormat; 572 446 573 447 DataLayer.put('notification', { … … 766 640 patati['byday'] = day.join(','); 767 641 768 var formatString = ( typeof form.allDay !== "undefined" && !!form.allDay )? User.preferences.dateFormat+" HH:mm" : User.preferences.dateFormat + " " + User.preferences.hourFormat; 769 770 var date = Date.parseExact( form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ); 771 772 patati['startTime'] = date.toString('yyyy-MM-dd HH:mm:00'); 642 var formatString = User.preferences.dateFormat + " " + User.preferences.hourFormat; 643 644 patati['startTime'] = Date.parseExact( form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'); 773 645 774 646 if( !patati['byday'] ) … … 782 654 break; 783 655 case 'yearly': 784 patati['byyearday'] = (1 + date.getDayOfYear()); 656 patati['byyearday'] = (1 + date.getDayOfYear()); 785 657 break; 786 658 default : … … 792 664 793 665 if (($(".endRepeat").val() == 'customDate')) 794 patati['endTime'] = Date.parseExact( $(".customDateEnd").val() + (!!form.allDay ? " 00:00": " "+$.trim(form.endHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00'); 795 796 666 patati['endTime'] = Date.parseExact( $(".customDateEnd").val() + (" "+$.trim(form.endHour)) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'); 667 668 patati['interval'] = $(".eventInterval").val(); 797 669 798 670 /** … … 841 713 var tzId = form.timezone || Calendar.signatureOf[form.calendar].calendar.timezone || User.preferences.timezone, 842 714 843 formatString = ( typeof form.allDay !== "undefined" && !!form.allDay )? pref.dateFormat+" HH:mm" :pref.dateFormat + " " + pref.hourFormat;715 formatString = pref.dateFormat + " " + pref.hourFormat; 844 716 845 717 var Owner = decodeOwnerCalendar(form.calendar); … … 847 719 return DataLayer.merge({ 848 720 "class": form["class"], 849 startTime: Date.parseExact(form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00'),850 endTime: Date.parseExact(form.endDate + ( !!form.allDay ? " 00:00": " "+$.trim(form.endHour)), formatString ).toString('yyyy-MM-dd HH:mm:00'), //+ (!!form.allDay ? 86400000 : 0) , 721 startTime: Date.parseExact(form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 722 endTime: Date.parseExact(form.endDate + " "+$.trim(form.endHour), formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), //+ (!!form.allDay ? 86400000 : 0) , 851 723 allDay: ( !!form.allDay ? 1 : 0 ), 852 724 id: form.idEvent, … … 1239 1111 }); 1240 1112 1241 Alarms.load();1113 User.init(); 1242 1114 1243 1115 // DataLayer.decoder( "participant", "detail", function( form ){
Note: See TracChangeset
for help on using the changeset viewer.