Informações de referência sobre o modelo de tela de pessoal para aplicativos de tela

Para aplicativos de tela no Power Apps, entenda como cada controle significativo no modelo de tela de pessoas 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 sobre a funcionalidade padrão desta tela, consulte a visão geral da tela de pessoas.

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.

Controle TextSearchBox.

Alguns outros controles interagem ou dependem da caixa de pesquisa de texto:

  • Se um usuário começar a digitar qualquer texto, UserBrowseGallery se tornará visível.
  • Quando um usuário selecionar uma pessoa em UserBrowseGallery, o conteúdo da pesquisa será redefinido.

Controle UserBrowseGallery.

  • Propriedade: Items
    Valor: lógica para procurar usuários quando o usuário começa a digitar:

    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)) ... ) porque você só precisa chamar a operação quando a caixa de pesquisa contiver texto inserido pelo usuário. Isso melhora o desempenho.

Controle Título de UserBrowseGallery

Controle UserBrowseGallery Title.

  • 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:

  • Defina a variável _selectedUser para o item selecionado.
  • Redefine o termo de pesquisa em TextSearchBox.
  • Adicione o item selecionado à coleção MyPeople, uma coleção de todas as pessoas que o usuário do aplicativo selecionou.

Controle UserBrowseGallery ProfileImage

Controle UserBrowseGallery ProfileImage.

  • Propriedade: Image
    Valor: lógica para recuperar a foto do perfil de um usuário.

    If( !IsBlank( ThisItem.Id ) && 
            'Office365Users'.UserPhotoMetadata( ThisItem.Id ).HasPhoto,
        'Office365Users'.UserPhoto( ThisItem.Id )
    )
    

O controle Image recupera a imagem do usuário com a operação Office365Users.UserPhoto. No entanto, antes de fazer isso, ele verifica duas coisas:

  • Se o campo de ID está vazio ou não. Isso evita que o controle Image tente recuperar uma foto do usuário antes que a galeria seja preenchida com os resultados da pesquisa.
  • Se o usuário tem uma foto (com a operação Office365Users.UserPhotoMetadata). Isso impede que a pesquisa Office365Users.UserPhoto retorne uma exceção, se o usuário não tiver uma foto do perfil.

Observe que, se uma imagem não for recuperada, o controle Image está em branco e o controle iconUser fica visível.

Controle PeopleAddedGallery.

  • Propriedade: Items
    Valor: MyPeople

Essa é a coleção de pessoas inicializadas ou adicionadas por meio da seleção do controle UserBrowseGallery Title.

Controle PeopleAddedGallery Title

Controle PeopleAddedGallery Title.

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

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

Controle PeopleAddedGallery iconRemove

Controle PeopleAddedGallery iconRemove.

  • 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, em seguida, remove esse registro da coleção.

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).