Referentne informacije o predlošku zaslona e-pošte u aplikacijama od gotovih gradivnih elemenata

Za aplikacije radnog područja u Power Apps shvatite kako svaka značajna kontrola u predlošku zaslona e-pošte doprinosi ukupnoj zadanoj funkcionalnosti zaslona. Ovaj duboki uvid predstavlja formule ponašanja i vrijednosti drugih svojstava koja određuju kako kontrole reagiraju na unos korisnika. Iznimno kvalitetnu raspravu o zadanoj funkcionalnosti ovog zaslona pogledajte u pregled zaslona e-pošte.

Ova tema naglašava neke značajne kontrole i objašnjava izraze ili formule kojima odgovaraju različita svojstva (kao što je Stavke i OnSelect) na koje su postavljene ove kontrole:

Preduvjet

Poznavanje načina dodavanja i konfiguriranja zaslona i drugih kontrola prilikom stvaranja aplikacije u Power Apps.

Kontrola TextSearchBox.

Nekoliko drugih kontrola na zaslonu ovise o kontroli Okvir za pretraživanje teksta:

  • Ako korisnik počne upisivati neki tekst, pojavljuje se Galerijapregledavanjeljudi.
  • Ako korisnik upisuje valjanu adresu e-pošte, pojavljuje se Dodajikonu.
  • Kad korisnik odabere osobu unutar Galerijapregledavanjeljudi, sadržaji pretraživanja vraćaju se na zadane.

Dodaj ikonu

Kontrola AddIcon.

Kontrola Dodaj ikonu omogućuje korisnicima aplikacije dodavanje osoba koje ne postoje unutar njihove organizacije na popis sudionika sastavljene e-pošte.

  • Svojstvo: Vidljivo
    Vrijednost: Logika za prikaz kontrole samo kad korisnik u okvir za pretraživanje upiše valjanu adresu e-pošte:

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

    Redak po redak, prethodni blok šifre govori da je kontrola Dodajikonu vidljiva samo ako:

    • Okvirzapretraživanjeteksta sadrži tekst.
    • Tekst u Okvirzapretraživanjeteksta je valjana adresa e-pošte.
    • Tekst u Okvirzapretraživanjeteksta ne postoji u zbirci Mojiljudi.
  • Svojstvo: OnSelect
    Vrijednost: Odabirom ove vrijednosti dodaje se valjana adresa e-pošte zbirci Mojiljudi. Zbirku zaslon koristi kao popis primatelja:

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

    Ovaj blok šifre dodaje redan zbirci Mojiljudi i ispunjava tri polja s tekstom u Okvirzapretraživanjeteksta. Ova tri polja su Nazivprikaza, Nazivglavnogkorisnika i Pošta. Zatim ponovno postavlja sadržaj Okvirzapretraživanjeteksta.

Kontrola PeopleBrowseGalery.

  • Svojstvo: Stavke
    Vrijednost: 15 najboljih rezultata pretraživanja teksta upisano u kontrolu Okvirzapretraživanjeteksta:

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

    Stavke ove galerije ispunjene su rezultatima pretraživanja iz Office365.SearchUser operacije. Operacija uzima tekst u Trim(TextSearchBox) kao svoj termin za pretraživanje i na temelju te pretrage vraća prvih 15 rezultata.

    Okvirzapretraživanjeteksta obuhvaćen je u funkciji Trim() jer korisničko pretraživanje na razmacima nije valjano. Operacija Office365Users.SearchUser je obuhvaćena u funkciji If(!IsBlank(Trim(TextSearchBox.Text)) ... ) što znači da se operacija izvodi samo ako okvir za pretraživanje sadrži tekst koji je unijeo korisnik. Ovo pospješuje izvedbu.

Naziv kontrole PeopleBrowseGallery.

  • Svojstvo: Tekst
    Vrijednost: ThisItem.DisplayName

    Prikazuje zaslonsko ime osobe s profila Office 365.

  • Svojstvo: OnSelect
    Vrijednost: Kodirajte da biste dodali korisnika u zbirku na razini aplikacije, a zatim odaberite korisnika:

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

Odabirom ove kontrole istovremeno se provode tri stvari:

  • Postavlja varijablu _odabranikorisnik na odabranu stavku.
  • Ponovno postavlja pojam za pretraživanje u Okvirzapretraživanjeteksta.
  • Dodajte odabranu stavku u zbirku Mojiljudi, zbirku svih odabranih korisnika koje zaslon e-pošte koristi kao skup primatelja.

Kontrola EmailPeopleGallery.

  • Svojstvo: Stavke
    Vrijednost: MyPeople

    Ovo je zbirka ljudi koji su inicijalizirani ili dodani odabirom kontrole Naziv Galerijapregledavanjeljudi.

  • Svojstvo: Visina
    Vrijednost: Logika za postavljanje visine na temelju broja stavki koje su trenutno u galeriji:

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

    Visina ove galerije prilagođava se broju stavki u galeriji, s maksimalnom visinom od 304.

    Potrebno je TemplateHeight + TemplatePadding * 2 kao ukupnu visinu jednog redka Galerijee-pošteljudi, a zatim ga množi brojem redaka. Od WrapCount = 2, broj točnih redaka je RoundUp(CountRows(EmailPeopleGallery.AllItems) / 2, 0).

  • Svojstvo: Pokažiklizač
    Vrijednost: EmailPeopleGallery.Height >= 304

    Kada visina galerije dosegne 304, vidljiv je klizač.

Kontrola naslova EmailPeopleGallery.

  • Svojstvo: OnSelect
    Vrijednost: Set(_selectedUser, ThisItem)

    Postavlja varijablu _odabranikorisnik na stavku odabranu u Galerijae-pošteljudi.

Naziv kontole Galerijamjesecdan.

  • Svojstvo: OnSelect
    Vrijednost: Remove( MyPeople, LookUp( MyPeople, UserPrincipalName = ThisItem.UserPrincipalName ) )

    Pretražite zapis u zbirci Mojiljudi gdje se Nazivglavnogkorisnika podudara s Nazivglavnogkorisnika odabrane stavke i uklanja taj zapis iz zbirke.

Ikona pošte

  • Svojstvo: OnSelect
    Vrijednost: Logika za slanje poruke e-pošte korisnika:

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

    Slanje poruke e-pošte zahtijeva niz adresa e-pošte odvojen točka zarezom. U prethodnom kodu:

    1. Prvi redak koda uzima polje Pošta iz svih redaka u zbirci Mojiljudi, skraćuje ih u jedan niz adresa e-pošte odvojen točka zarezom i postavlja varijablu _nizprimateljae-pošte na tu vrijednost niza.

    2. Zatim koristi operaciju Office365.SendEmail za slanje e-pošte na primatelje. Operacija koristi tri potrebna parametra Prima, Predmet i Tijelo i jedan neobvezni parametar Važnost. U prethodnom kodu, to su _nizprimateljae-pošte, Predmettekstae-pošte.Tekst, Porukatekstae-pošte.Tekst i Normalno.

    3. Naposlijetku, ponovno postavljanja kontrole Predmettekstae-pošte i Tekstporukee-pošte i briše zbirku Mojiljudi.

  • Svojstvo: Načinprikaza
    Vrijednost: If( Len( Trim( TextEmailSubject.Text ) ) > 0 && !IsEmpty( MyPeople ), DisplayMode.Edit, DisplayMode.Disabled ) Za slanje e-pošte, redak predmeta e-pošte mora imati tekst, a zbirka primatelja (Mojiljudi) ne smije biti prazna.

Sljedeći koraci