Changeset 5627


Ignore:
Timestamp:
03/05/12 16:56:49 (12 years ago)
Author:
gustavo
Message:

Ticket #2088 - Melhorias no editor de regras de filtro de mensagens do Expresso

Location:
trunk/prototype/modules/filters
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/filters/filters.ejs

    r5341 r5627  
    22 
    33 
    4 <div class="expresso-window-container filter-manager-window" title="<%=get_lang('Regras de classificação de mensagem')%>"> 
     4<div class="expresso-window-container filter-manager-window" title="Regras de classificação de mensagem"> 
    55 
    66        <div class="rule-list-container"> 
    7             <%= view( { url: '../prototype/modules/filters/filter-list.ejs' },  { data: data } ) %> 
     7            <!-- Aqui embaixo colocar < % para fazer a compilação do template. Na verdade, o ideal é que não seja compilado aqui dentro. Ver o que fazer. --> 
     8                <!-- //view( { url: '../prototype/modules/filters/filter-list.ejs' },   { data: data } ) %> --> 
    89        </div> 
    910 
    1011<form action="filter:detail"> 
    11         <div class="rule-details-container hidden"> 
     12        <div class="rule-details-container"> 
    1213                <h3><a href="#">Critérios</a></h3> 
    1314                <div> 
  • trunk/prototype/modules/filters/filters.js

    r5601 r5627  
    137137                id: "vacation", 
    138138                name: "vacation", 
    139                 isExact: false 
    140  
     139                isExact: false, 
     140                applyMessages : "", 
     141                enabled : false 
    141142      } 
    142143 
     
    185186 
    186187                }), 
    187                 enabled : true, 
     188                enabled : false, 
    188189                applyMessages: allMessages? !$.isEmptyObject( selectedMessages ) ? 
    189190                keys( selectedMessages ) : allMessages : "" 
     
    643644*/  
    644645function list_filters(html){ 
     646        var filters = DataLayer.get("filter", true); 
     647        var outoffice_active = false; 
     648        var outoffice = false; 
     649        for(var index in filters){ 
     650                DataLayer.put( 'filter', filters[index].id, { enabled: (filters[index].enabled == "true" ? true: false)}); 
     651                if(filters[index].id == "vacation") 
     652                        outoffice = true; 
     653                if(filters[index].id == "vacation" && filters[index].enabled == "true"){ 
     654                        write_msg(get_lang("Attention, you are in out of office mode."), true);  
     655                        outoffice_active = true; 
     656                        break; 
     657                } 
     658        } 
     659        DataLayer.commit( 'filter' ); 
     660        if(!outoffice_active){ 
     661                clean_msg(); 
     662        } 
    645663        if(html){ 
    646664                if( ! $(".filters-windows").length ) 
     
    656674                    event.stopPropagation(); 
    657675                        if(list_container.find(".cancel").length) 
    658                                 list_container.find(".cancel").trigger('click');                     
     676                                list_container.find(".cancel").trigger('click');         
     677                        $(".dialog-head-buttonpane").hide(); 
    659678            }, 
    660679                open: function () { 
     
    665684                                $(".ui-icon-minusthick, .ui-icon-newwin").toggleClass('ui-icon-minusthick').toggleClass('ui-icon-newwin'); 
    666685                        }); 
     686                        $(".dialog-head-buttonpane").show(); 
    667687                }, 
    668688            autoOpen: false, 
     
    676696        $(".ui-dialog-titlebar").after("<div class='dialog-head-buttonpane ui-dialog-buttonpane ui-widget-content ui-helper-clearfix' style='background-color: rgb(224, 238, 238); '><div class='ui-dialog-buttonset header-buttonpane'></div></div>"); 
    677697        $(".dialog-head-buttonpane").css("padding", "5px"). 
    678         find(".header-buttonpane").html("<a href='#' class='button add' title='Adicionar nova regra'>Nova regra</a><!--<a href='#' class='button add vacation' title='Adicionar regra 'Fora do escritorio''>Fora do escritorio</a>-->").find(".button").button(); 
     698        find(".header-buttonpane").html("<a href='#' class='button add' title='Adicionar nova regra'>Nova regra</a>"+(!outoffice ? "<a href='#' class='button add vacation' title='Adicionar regra 'Fora do escritorio''>Fora do escritorio</a>" : "")).find(".button").button(); 
    679699         
    680700        $(".ui-dialog-buttonpane.ui-widget-content").css("background-color", "#E0EEEE"); 
     
    697717                text: false 
    698718        }).click(function(){ 
    699                 var id = $(this).parents("li.rule").find('.title').html(); 
     719                var id = $(this).parents("li.rule").find('.id').val(); 
    700720                var filters = DataLayer.get( 'filter', true); 
    701721                for(var i =0; i < filters.length; i++){ 
     
    751771                text: false 
    752772        }).click(function(){ 
    753                 var id = $(this).parents("li.rule").find('.title').html(); 
     773                var id = $(this).parents("li.rule").find('.id').val(); 
    754774                DataLayer.put( 'filter', id, { enabled: false  }); 
    755                 DataLayer.commit("filter"); 
    756                 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     775                DataLayer.commit("filter", false,function(){ 
     776                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     777                }); 
    757778        }).end() 
    758779 
     
    763784                text: false 
    764785        }).click(function(){ 
    765                 var id = $(this).parents("li.rule").find('.title').html(); 
     786                var id = $(this).parents("li.rule").find('.id').val(); 
    766787                DataLayer.put( 'filter', id, { enabled: true }); 
    767                 DataLayer.commit("filter"); 
    768                 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     788                DataLayer.commit("filter", false,function(){ 
     789                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     790                }); 
    769791        }).end() 
    770792         
     
    776798        }).click(function(){ 
    777799                $(event.target) 
    778                 .parents("li.rule").find('.title') 
     800                .parents("li.rule").find('.id') 
    779801                .each( function(){ 
    780                         DataLayer.remove( 'filter', $(this).html() ); 
     802                        DataLayer.remove( 'filter', $(this).val() ); 
    781803                }); 
    782                 DataLayer.commit("filter"); 
    783                 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     804                DataLayer.commit("filter", false,function(){ 
     805                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     806                }); 
    784807        }).end().removeClass("ui-button-icon-only"); 
    785808         
     
    800823                                else 
    801824                                        return; 
    802                                 DataLayer.commit( 'filter' ); 
    803                                 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     825                                DataLayer.commit( 'filter',false,function(){ 
     826                                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     827                                }); 
    804828                        }); 
    805829                });      
     
    815839                        }).end().filter(".submit").click(function(){ 
    816840                                $(this).submit(); 
    817                                 DataLayer.commit( 'filter' ); 
    818                                 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     841                                DataLayer.commit( 'filter',false,function(){ 
     842                                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     843                                }); 
    819844                        }); 
    820845                });      
Note: See TracChangeset for help on using the changeset viewer.