Seleção angular da interface do usuário filtrando apenas um campo

A SITUAÇÃO:

Eu tenho um aplicativo angular usandoseleção ui angular para pesquisar e selecionar pessoas de um banco de dados.

Está funcionando bem, exceto por uma coisa. O usuário deve poder filtrar entre as pessoas usando dois critérios: nome e email.

Usando o filtro angular normal, sou capaz de filtrar apenas um deles. Se eu tentar filtrar os dois campos, ele não funcionará mais.

EXEMPLO DE TRABALHO COM UM CAMPO:

 <ui-select multiple ng-model="database_people.selectedPeople" theme="select2" ng-disabled="disabled" style="width:100%">

    <ui-select-match placeholder="Select person...">{{$item.name}} &lt; {{$item.email}} &gt;</ui-select-match>

    <ui-select-choices repeat="person2 in list_people | filter: {name: $select.search, db_data_type_id: 5}">

            <div ng-bind-html="person2.name | highlight: $select.search"></div>

                <small>
                    email: <span ng-bind-html="''+person2.email | highlight: $select.search"></span>
               </small>

    </ui-select-choices>

 </ui-select>


EXEMPLO NÃO FUNCIONA COM DOIS CAMPOS NO FILTRO:

 <ui-select multiple ng-model="database_people.selectedPeople" theme="select2" ng-disabled="disabled" style="width:100%">

    <ui-select-match placeholder="Select person...">{{$item.name}} &lt; {{$item.email}} &gt;</ui-select-match>

    <ui-select-choices repeat="person2 in list_people | filter: {name: $select.search, email: $select.search, db_data_type_id: 5}">

            <div ng-bind-html="person2.name | highlight: $select.search"></div>

                <small>
                    email: <span ng-bind-html="''+person2.email | highlight: $select.search"></span>
               </small>

    </ui-select-choices>

 </ui-select>

O estranho é que ele realmente funciona, mas apenas para o primeiro personagem. Quando digito o primeiro caractere, ele é destacado nos dois campos, nome e email. Mas quando eu digito o segundo caractere, ele não funciona mais (não recebi nenhum erro no console).


ATTEMP USANDO O PROPSFILTER DEAMOSTRAS ANGULARES:

 <ui-select multiple ng-model="database_people.selectedPeople" theme="select2" ng-disabled="disabled" style="width:100%">

    <ui-select-match placeholder="Select person...">{{$item.name}} &lt; {{$item.email}} &gt;</ui-select-match>

    <ui-select-choices repeat="person2 in list_people | propsFilter: {name: $select.search, email: $select.search, db_data_type_id: 5}">

            <div ng-bind-html="person2.name | highlight: $select.search"></div>

                <small>
                    email: <span ng-bind-html="''+person2.email | highlight: $select.search"></span>
               </small>

    </ui-select-choices>

 </ui-select>

Nesse caso, ele quebrou completamente, não há mais dados no select2 e eu recebo alguns erros no console:

Cannot read property 'toString' of null

Cannot read property 'length' of undefined


AS QUESTÕES):

Como posso filtrar entre vários campos? Posso fazer isso usando filtro normal? Ou eu tenho que usar um filtro personalizado? Mas neste caso, por que não está funcionando corretamente?

Muito obrigado!

questionAnswers(4)

yourAnswerToTheQuestion