Compartilhar via


Informações de referência sobre o modelo de tela de email em aplicativos de tela

Para aplicativos de tela no Power Apps, entenda como cada controle significativo no modelo da tela de email contribui para a funcionalidade padrão geral da tela. Este mergulho profundo apresenta as fórmulas de comportamento e os valores de outras propriedades que determinam como os controles respondem à entrada do usuário. Para uma discussão de alto nível da funcionalidade padrão desta tela, consulte a visão geral da tela de email.

Este tópico destaca alguns controles significativos e explica as expressões ou fórmulas para as quais várias propriedades (como Items e OnSelect) desses controles são definidas:

Pré-requisito

Familiaridade com como adicionar e configurar telas e outros controles, conforme você cria um aplicativo no Power Apps.

Caixa de pesquisa de texto

Controle TextSearchBox.

Vários outros controles na tela dependem do controle Text search box:

  • Se um usuário começar a digitar qualquer texto, PeopleBrowseGallery será exibido.
  • Se um usuário digitar um endereço de email válido, AddIcon será exibido.
  • Quando um usuário selecionar uma pessoa em PeopleBrowseGallery, o conteúdo da pesquisa será redefinido.

Ícone Adicionar

Controle AddIcon.

O controle Add icon permite que os usuários do aplicativo adicionem pessoas que não existem na organização à lista de destinatários do email que está sendo redigido.

  • Propriedade: Visible
    Valor: lógica para mostrar o controle somente quando um usuário digita um endereço de email válido na caixa de pesquisa:

    !IsBlank( TextSearchBox.Text ) &&
        IsMatch( TextSearchBox.Text, Match.Email ) &&
        Not( Trim( TextSearchBox.Text ) in MyPeople.UserPrincipalName )
    

    Linha por linha, o bloco de código anterior diz que o controle Add icon só será visível se:

    • TextSearchBox contém texto.
    • O texto em TextSearchBox é um endereço de email válido.
    • O texto em TextSearchBox ainda não existe na coleção MyPeople.
  • Propriedade: OnSelect
    Valor: selecionar isso adiciona o endereço de email válido à coleção MyPeople. Essa coleção é usada pela tela como a lista de destinatários:

    Collect( MyPeople,
        { 
            DisplayName: TextSearchBox.Text, 
            UserPrincipalName: TextSearchBox.Text, 
            Mail: TextSearchBox.Text
        }
    );
    Reset( TextSearchBox )
    

    Esse bloco de código adiciona uma linha à coleção MyPeople e preenche três campos com o texto em TextSearchBox. Esses três campos são DisplayName, UserPrincipalName e Mail. Em seguida, redefine o conteúdo de TextSearchBox.

Galeria de navegação de pessoas

Controle PeopleBrowseGallery.

  • Propriedade: Items
    Valor: os 15 principais resultados do texto da pesquisa digitado no controle TextSearchBox:

    If( !IsBlank( Trim(TextSearchBox.Text ) ), 
        'Office365Users'.SearchUser( {searchTerm: Trim( TextSearchBox.Text ), top: 15} )
    )
    

    Os itens dessa galeria são preenchidos por resultados de pesquisa da operação Office365.SearchUser. A operação leva o texto em Trim(TextSearchBox) como seu termo de pesquisa e retorna os 15 principais resultados com base nessa pesquisa.

    TextSearchBox está encapsulado em uma função Trim() porque uma pesquisa de usuário em espaços é inválida. A operação Office365Users.SearchUser está encapsulada em uma função If(!IsBlank(Trim(TextSearchBox.Text)) ... ), o que significa que a operação só será executada se a caixa de pesquisa contiver texto inserido pelo usuário. Isso melhora o desempenho.

Controle de título Galeria de pesquisa de pessoas

Controle de título PeopleBrowseGallery.

  • Propriedade: Text
    Valor: ThisItem.DisplayName

    Exibe o nome de exibição da pessoa do seu perfil do Office 365.

  • Propriedade: OnSelect
    Valor: código para adicionar o usuário a uma coleção no nível do aplicativo e selecione o usuário:

    Concurrent(
        Set( _selectedUser, ThisItem ),
        Reset( TextSearchBox ),
        If( Not( ThisItem.UserPrincipalName in MyPeople.UserPrincipalName ), 
            Collect( MyPeople, ThisItem )
        )
    )
    

A seleção desse controle faz três coisas simultaneamente:

  • Define a variável _selectedUser para o item selecionado.
  • Redefine o termo de pesquisa em TextSearchBox.
  • Adiciona o item selecionado à coleção MyPeople, uma coleção de todos os usuários selecionados que a tela de email usa como um conjunto de destinatários.

Galeria Pessoas para email

Controle EmailPeopleGallery.

  • Propriedade: Items
    Valor: MyPeople

    Essa é a coleção de pessoas inicializadas ou adicionadas selecionando o controle PeopleBrowseGallery Title.

  • Propriedade: Height
    Valor: lógica para definir a altura, com base no número de itens atualmente na galeria:

    Min( 
        ( EmailPeopleGallery.TemplateHeight + EmailPeopleGallery.TemplatePadding * 2) *
            RoundUp(CountRows(EmailPeopleGallery.AllItems) / 2, 0 ),
        304
    )
    

    A altura dessa galeria se ajusta ao número de itens na galeria, com uma altura máxima de 304.

    Isso pega TemplateHeight + TemplatePadding * 2 como a altura total de uma única linha de EmailPeopleGallery, depois o multiplica pelo número de linhas. Desde WrapCount = 2, o número de linhas verdadeiras é RoundUp(CountRows(EmailPeopleGallery.AllItems) / 2, 0).

  • Propriedade: ShowScrollbar
    Valor: EmailPeopleGallery.Height >= 304

    Quando a altura da galeria atinge 304, a barra de rolagem fica visível.

Controle de título Galeria de pessoas de email

Controle de título EmailPeopleGallery.

  • Propriedade: OnSelect
    Valor: Set(_selectedUser, ThisItem)

    Define a variável selectedUser para o item selecionado em EmailPeopleGallery.

Controle iconRemove da galeria de pessoas de email

Controle de título MonthDayGallery.

  • Propriedade: OnSelect
    Valor: Remove( MyPeople, LookUp( MyPeople, UserPrincipalName = ThisItem.UserPrincipalName ) )

    Procura o registro na coleção MyPeople, onde UserPrincipalName corresponde a UserPrincipalName do item selecionado e remove esse registro da coleção.

Ícone de Email

  • Propriedade: OnSelect
    Valor: lógica para enviar a mensagem de email do usuário:

    Set( _emailRecipientString, Concat( MyPeople, Mail & ";" ) );
    'Office365'.SendEmail( _emailRecipientString, 
        TextEmailSubject.Text,  
        TextEmailMessage.Text, 
        { Importance:"Normal" }
    );
    Reset( TextEmailSubject );
    Reset( TextEmailMessage );
    Clear( MyPeople )
    

    O envio de uma mensagem de email requer uma cadeia de endereços de email separados por ponto e vírgula. No código anterior:

    1. A primeira linha de código pega o campo Mail de todas as linhas na coleção MyPeople, concatena-os em uma única cadeia de caracteres de endereços de email separados por ponto-e-vírgula e define a variável _emailRecipientString para esse valor de cadeia de caracteres.

    2. Ele então usa a operação Office365.SendEmail para enviar o email aos destinatários. A operação possui três parâmetros obrigatórios, To, Subject e Body e um parâmetro opcional - Importance. No código anterior, esses são _emailRecipientString, TextEmailSubject.Text, TextEmailMessage.Text e Normal, respectivamente.

    3. Por fim, redefine os controles TextEmailSubject e TextEmailMessage e limpa a coleção MyPeople.

  • Propriedade: DisplayMode
    Valor: If( Len( Trim( TextEmailSubject.Text ) ) > 0 && !IsEmpty( MyPeople ), DisplayMode.Edit, DisplayMode.Disabled ) Para que um email seja enviado, a linha de assunto do email deverá ter texto e a coleção destinatária (MyPeople) não deverá estar vazia.

Próximas etapas

Observação

Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)

A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).