Changeset 6857


Ignore:
Timestamp:
07/24/12 10:20:48 (12 years ago)
Author:
marcieli
Message:

Ticket #2966 - Listagem e consulta separada por tipo (evento, tarefa, atividade).

Location:
sandbox/2.4.2-expresso1/prototype/modules/calendar
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.2-expresso1/prototype/modules/calendar/js/helpers.js

    r6820 r6857  
    19271927} 
    19281928 
    1929 function getSelectedCalendars( reverse ){ 
     1929function getSelectedCalendars( reverse, type ){ 
     1930        var selector = ""; 
     1931        if(type == 0) 
     1932                selector = ".my-calendars"; 
     1933        if(type == 1) 
     1934                selector = ".my-groups-task"; 
    19301935    var selecteds = {}; 
    19311936    var cont = 0;  
    19321937    jQuery(function() { 
    1933         jQuery(".my-calendars .calendar-view").each(function(i, obj) {  
     1938        jQuery(selector+" .calendar-view").each(function(i, obj) {  
    19341939            var check_box = obj; 
    19351940            if( reverse ? !check_box.checked : check_box.checked ) { 
     
    19891994 
    19901995function remove_event(eventId, idCalendar){ 
    1991     $.Zebra_Dialog('Tem certeza que deseja excluir o evento?', { 
     1996    $.Zebra_Dialog('Tem certeza que deseja excluir?', { 
    19921997        'type':     'question', 
    19931998        'overlay_opacity': '0.5', 
     
    23192324} 
    23202325 
    2321 function add_events_list(keyword) 
     2326function add_events_list(keyword, type) 
    23222327{ 
    23232328    var tab_title = "";  
    23242329    if (keyword){ 
    2325         if(keyword.length < 10) 
    2326             tab_title = keyword;  
    2327         else 
    2328             tab_title = keyword.substr(0,10) + '..."';  
     2330                type = 2; 
     2331                if(keyword.length < 10) 
     2332                        tab_title = keyword;  
     2333                else 
     2334                        tab_title = keyword.substr(0,10) + '..."';  
    23292335    }else{ 
    2330         tab_title = "Lista de eventos"; 
    2331     } 
     2336                if(type){ 
     2337                        if(!!parseInt(type)) 
     2338                                tab_title = "Lista de tarefas"; 
     2339                        else 
     2340                                tab_title = "Lista de eventos"; 
     2341                } 
     2342    } 
     2343        var tab_selector = ['tab_events_list_', 'tab_tasks_list_', 'tab_all_list_']; 
    23322344    keyword = ( keyword || '' ).replace( /\s+/g, "_" ); 
    23332345         
    2334     if(!(document.getElementById('tab_events_list_' + (Base64.encode(keyword)).replace(/[^\w\s]/gi, "") )))      
     2346    if(!(document.getElementById(tab_selector[type] + (Base64.encode(keyword)).replace(/[^\w\s]/gi, "") )))      
    23352347    { 
    23362348        Encoder.EncodeType = "entity"; 
    2337         $tabs.tabs( "add", "#tab_events_list_" + (Base64.encode(keyword)).replace(/[^\w\s]/gi, ""), Encoder.htmlEncode(tab_title) ); 
     2349        $tabs.tabs( "add", "#"+tab_selector[type] + (Base64.encode(keyword)).replace(/[^\w\s]/gi, ""), Encoder.htmlEncode(tab_title) ); 
    23382350    } 
    23392351    else /* Tab already opened */ 
    23402352    { 
    2341         $tabs.tabs("option", "selected", 2); 
    2342     } 
    2343          
    2344     pageselectCallback(keyword, 0); // load page 1 and insert data on event_list.ejs 
     2353                //$tabs.tabs("option", "selected", 2); 
     2354        } 
     2355         
     2356    pageselectCallback(keyword, 0, false, false, type); // load page 1 and insert data on event_list.ejs 
    23452357         
    23462358    $('.preferences-win.active .button.save, .preferences-win.active .button.cancel, .preferences-win.active .button.import, .preferences-win.active .button.export').button(); 
     
    25532565} 
    25542566 
    2555 function pageselectCallback(keyword, page_index, jq, view){ 
     2567function pageselectCallback(keyword, page_index, jq, view, type){ 
    25562568    $('.qtip.qtip-blue').remove(); 
    25572569         
    2558     var selecteds = getSelectedCalendars(); 
    2559     if(!selecteds && (keyword != '' && keyword != null)){        
    2560         jQuery('#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "")|| '')).html( 
    2561             '<div title="Lista de eventos" class="events-list events-list-win active empty">' + 
    2562             '<label>Por favor selecione ao menos uma agenda.</label>' + 
     2570        var tab_selector = ['tab_events_list_', 'tab_tasks_list_', 'tab_all_list_']; 
     2571        var tab_title = ['Lista de eventos', 'Lista de tarefas']; 
     2572        var label_noselect_calendar = ['Por favor selecione ao menos uma agenda.', 'Por favor selecione ao menos um grupo.', 'Por favor selecione ao menos uma agenda ou grupo.']; 
     2573        var label_nofound_search = ['Não foi encontrado nenhum evento correspondente à sua pesquisa.', 'Não foi encontrado nenhuma tarefa ou atividade correspondente à sua pesquisa.', 'Não foi encontrado nenhum evento ou tarefa ou atividade correspondente à sua pesquisa.']; 
     2574        var label_nofound = ['Não foram encontrados eventos neste intervalo.', 'Não foram encontradas tarefas ou atividades neste intervalo.', 'Não foram encontrados eventos ou tarefas ou atividades neste intervalo.']; 
     2575        var selecteds = getSelectedCalendars(false, type); 
     2576     
     2577        if(!selecteds && (keyword != '' && keyword != null)){    
     2578        jQuery('#'+tab_selector[type] + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "")|| '')).html( 
     2579            '<div title="'+tab_title[type]+'" class="events-list events-list-win active empty">' + 
     2580            '<label>'+label_noselect_calendar[type]+'</label>' + 
    25632581            '</div>' 
    25642582            ); 
     
    25802598    var results = DataLayer.get('schedulable:detail', criteria); 
    25812599    keyword = ( keyword || '' ).replace( /\s+/g, "_" );  
    2582 } 
     2600        } 
    25832601// não há resultados     
    25842602 
    2585 var currentView = '#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "") || ''); 
     2603var currentView = '#'+tab_selector[type] + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "") || ''); 
    25862604 
    25872605if ((((typeof(results) == 'undefined') || (!results.events_list )) && selecteds) &&(keyword != '' && keyword != null)) { 
    25882606    $(currentView).html( 
    2589                 '<div title="Lista de eventos" class="events-list events-list-win active empty">' + 
    2590                 '<label>Não foi encontrado nenhum evento correspondente à sua pesquisa.</label>' + 
     2607                '<div title="'+title+'" class="events-list events-list-win active empty">' + 
     2608                '<label>'+label_nofound_search[type]+'</label>' + 
    25912609                '</div>' 
    25922610        ); 
     
    25962614                results['page_index'] = page_index; 
    25972615                results['keyword'] = keyword; 
    2598                                  
     2616                results['tab_title'] = tab_title[type];  
    25992617                DataLayer.render( 'templates/event_list.ejs', results, function( html ){ 
    26002618                         
     
    26112629                                remove_event(eventId, calendarId); 
    26122630                        }) 
    2613                         .end().find('.button.edit').click(function(){                            
    2614                                 eventDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true );                                        
     2631                        .end().find('.button.edit').click(function(){    
     2632                                if($(this).siblings('[name="eventtype"]').val() == 1) 
     2633                                        eventDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true );                
     2634                                else 
     2635                                        taskDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true ); 
    26152636                        }); 
    26162637 
     
    26202641    }else{ 
    26212642                $(currentView).html( 
    2622                         '<div title="Lista de eventos" class="events-list events-list-win active empty">' + 
     2643                        '<div title="'+title+'" class="events-list events-list-win active empty">' + 
    26232644                        '<input type="hidden" name="page_index" value="'+page_index+'"></inpunt>'+ 
    26242645                        '<input type="hidden" name="keyword" value="'+keyword+'"></inpunt>'+ 
    2625                         '<label class="empty-result">Não foram encontrados eventos neste intervalo.</label>' + 
     2646                        '<label class="empty-result">'+label_nofound[type]+'</label>' + 
    26262647                        '</div>' 
    26272648                        ); 
     
    26292650    } 
    26302651} 
    2631         if(currentView != '#tab_events_list_') 
     2652        if(currentView != '#'+tab_selector[type]) 
    26322653            $tabs.tabs("select", currentView); 
    26332654} 
  • sandbox/2.4.2-expresso1/prototype/modules/calendar/js/init.js

    r6832 r6857  
    321321                         * TODO - Encontrar icones mais filé 
    322322                         */ 
    323             element.find(".fc-event-inner.fc-event-skin").prepend($('<img class="" src="../prototype/modules/calendar/img/' + ( (event.type == 1) ? "event" : "task" ) + '.png"></img>')); 
     323                        var img_icon = ""; 
     324                        if(event.type == 1) 
     325                                img_icon = "event.png"; 
     326                        if(event.type == 2) 
     327                                img_icon = "task.png"; 
     328                        if(event.type == 3) 
     329                                img_icon = "activity_icon.jpg"; 
     330            element.find(".fc-event-inner.fc-event-skin").prepend($('<img class="" src="../prototype/modules/calendar/img/' + img_icon + '"></img>')); 
    324331                }, 
    325332                 
  • sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/event_list.ejs

    r6525 r6857  
    1 <div title="Lista de eventos" class="events-list events-list-win active"> 
     1<div title="<%=data.tab_title%>" class="events-list events-list-win active"> 
    22         
    33         
     
    4343                                        <td> 
    4444                                                <span> 
     45                                                        <% 
     46                                                        var img_type = ""; 
     47                                                        var title_type = ""; 
     48                                                        if(_event.type == 1){ 
     49                                                                img_type = "../prototype/modules/calendar/img/event.png"; 
     50                                                                title_type = "Evento"; 
     51                                                        }if(_event.type == 2){ 
     52                                                                img_type = "../prototype/modules/calendar/img/task.png";  
     53                                                                title_type = "Tarefa"; 
     54                                                        }if(_event.type == 3){ 
     55                                                                img_type = "../prototype/modules/calendar/img/activity_icon.jpg";  
     56                                                                title_type = "Atividade"; 
     57                                                        } 
     58                                                        %> 
     59                                                        <img title="<%= title_type %>" src="<%= img_type %>">  
    4560                                                        <a class="title event-details-item" title='<%= _event.summary %>' aria-expanded='false' role='button' tabindex='0'><%= _event.summary %></a> 
    4661                                                        <!-- TODO: FAZER FUNCIONAR DESTA FORMA --> 
     
    108123                                                                        </p> 
    109124                                                                <%}%> 
    110                                                                 <%if(_event.repeat ){%> 
     125                                                                <%if(_event.type == 1){ 
     126                                                                        if(_event.repeat ){%> 
    111127                                                                    <p class="input-group"> 
    112128                                                                        <label>Repetição</label> 
    113129                                                                        <span><%= _event.repeat %></span> 
    114130                                                                    </p> 
    115                                                                 <%}%> 
     131                                                                <%}}%> 
    116132                                                                <p class="input-group"> 
    117133                                                                        <label>Lembretes</label> 
    118                                                                         <% if(_event.alarms) { %> 
     134                                                                        <% if(_event.alarms) {  
     135                                                                                        var string_alarm = ""; 
     136                                                                                        if(_event.type == 1) 
     137                                                                                                string_alarm = 'do evento';  
     138                                                                                        if(_event.type == 2) 
     139                                                                                                string_alarm = 'da tarefa'; 
     140                                                                                        if(_event.type == 2) 
     141                                                                                                string_alarm = 'da atividade'; 
     142                                                                                        %> 
    119143                                                                                <span class="large" > 
    120144                                                                                        <% for (var l=0; l < _event.alarms.length; l++) { %> 
    121                                                                                                 <span class="large" >Você será notificado por um <%=dateCalendar.alarmtype[_event.alarms[l].type]%> <%= _event.alarms[l].time %> <%= dateCalendar.timeunit[_event.alarms[l].unit]%><%=_event.alarms[l].time > 1 ? 's' : '' %> antes do evento</span> 
     145                                                                                                <span class="large" >Você será notificado por um <%=dateCalendar.alarmtype[_event.alarms[l].type]%> <%= _event.alarms[l].time %> <%= dateCalendar.timeunit[_event.alarms[l].unit]%><%=_event.alarms[l].time > 1 ? 's' : '' %> antes <%=string_alarm%></span> 
    122146                                                                                        <% } %> 
    123147                                                                                </span> 
    124148                                                                        <% } %> 
    125149                                                                </p> 
     150                                                                <%if(_event.type == 1){%> 
    126151                                                                <p class="input-group"> 
    127152                                                                        <label>Local</label> 
    128153                                                                        <span><%= _event.location %></span> 
    129154                                                                </p> 
     155                                                                <%}%> 
    130156                                                                <p class="input-group"> 
    131157                                                                        <label>Descrição </label> 
    132158                                                                        <span class="large" ><%= _event.description %></span> 
    133159                                                                </p> 
    134                                                                 <!--<p class="input-group"> 
     160                                                                <%if(_event.type != 1){%> 
     161                                                                <p class="input-group"> 
     162                                                                        <label>Prioridade </label> 
     163                                                                        <span><%= _event.priority %></span> 
     164                                                                </p> 
     165                                                                <p class="input-group"> 
     166                                                                        <label>Porcentagem de Conlusão </label> 
     167                                                                        <span><%= _event.percent %></span> 
     168                                                                </p> 
     169                                                                <p class="input-group"> 
     170                                                                        <label>Status </label> 
     171                                                                        <span><%= _event.status %></span> 
     172                                                                </p> 
     173                                                                <% } %> 
     174                                                                <!-- <p class="input-group"> 
    135175                                                                        <label>Privacidade</label> 
    136176                                                                        <span><%= _event.privacy %></span> 
    137                                                                 </p>--> 
     177                                                                </p> --> 
     178                                                                <%if(_event.type == 1){%> 
    138179                                                                <p class="input-group"> 
    139180                                                                        <label>Organizador</label> 
    140181                                                                        <span class="large"><%= _event.organizer.user ? _event.organizer.user.name : _event.organizer.name %>  (<%= _event.organizer.user ? _event.organizer.user.mail : _event.organizer.mail %>)</span> 
    141182                                                                </p> 
     183                                                                <%} 
     184                                                                if(_event.type != 3){%> 
    142185                                                                <p class="input-group"> 
    143186                                                                        <label>Participantes</label> 
     
    150193                                                                        <% } %> 
    151194                                                                </p> 
     195                                                                <%} 
     196                                                                if(_event.type == 3){%> 
     197                                                                <p class="input-group"> 
     198                                                                        <label>Tarefas</label> 
     199                                                                        <% if(_event.tasks) { %> 
     200                                                                                <span class="large" > 
     201                                                                                        <% for (var m=0; m < _event.tasks.length; m++) { %> 
     202                                                                                                <span class="large"><%=_event.tasks[m].description%></span> 
     203                                                                                        <%}%> 
     204                                                                                </span> 
     205                                                                        <% } %> 
     206                                                                </p> 
     207                                                                <%} 
     208                                                                if(_event.type == 1){%> 
    152209                                                                <p class="input-group"> 
    153210                                                                        <label>Presença</label> 
     
    164221                                                                        </span> <!-- Ta hardcodificado isso aqui? --> 
    165222                                                                </p> 
     223                                                                <%}%> 
    166224                                                        </fieldset> 
    167225                                                        <div class="menu-container footer-container"> 
    168226                                                                <input name="eventid" type="hidden" value="<%=_event.id%>"></input> 
    169                                                                 <input name="calendarid" type="hidden" value="<%=_event.calendar%>"></input> 
     227                                                                <input name="eventtype" type="hidden" value="<%=_event.type%>"></input> 
     228                                <input name="calendarid" type="hidden" value="<%=_event.calendar%>"></input> 
    170229                                                                <a title="Excluir" class="button delete" href="#">Excluir</a> 
    171230                                                                <a title="Editar" class="button edit" href="#">Editar</a> 
  • sandbox/2.4.2-expresso1/prototype/modules/calendar/templates/index.ejs

    r6815 r6857  
    138138                        <ul> 
    139139                                <li><a href="#calendar">Agenda</a></li> 
    140                                 <li><a href="#tab_events_list_" onclick="add_events_list();">Lista de Eventos</a></li> 
     140                                <li><a href="#tab_events_list_" onclick="add_events_list(false, 0);">Lista de Eventos</a></li> 
     141                                <li><a href="#tab_tasks_list_" onclick="add_events_list(false, 1);">Lista de Tarefas</a></li> 
    141142                                <!--<li><a href="#sandbox2">Sandbox</a></li>--> 
    142143                        </ul> 
    143144                        <div id="calendar"> </div> 
    144145                        <div id="tab_events_list_"> </div> 
     146                        <div id="tab_tasks_list_"> </div> 
    145147                        <div id="sandbox2">     </div> 
    146148                        <div id="calendarShared">       </div> 
Note: See TracChangeset for help on using the changeset viewer.