PowerApps: Sharepoint Listesi ile Komponent Gizle/Göster
Merhaba, Power Apps ile uygulama içerisindeki komponentlerin görünürlülük durumlarını nasıl yönetebileceğimiz ile ilgili küçük bir uygulama yapacağız. Bu işlemi yaparken Sharepointten faydalanacağız.
Öncelikle Sharepoint üzerinde Kullanıcı Rol Listesi adında bir liste oluşturalım. Bu listede 2 çeşit kullanıcı rolü olacak: Admin ve User Rol’ü. Uygulama içerisinde admin rolüne sahip kişiler sayfadaki galeri komponentini görüntüleyebilirken; user rolüne sahip kullanıcılar bu komponenti göremeyecekler.
Hızlı bir şekilde Sharepoint listemizi oluşturalım.
Kullanıcı Rol Listesi adını verdiğimiz listemizdeki kullanıcı ve rol sütunlarını oluştururken dikkat etmemiz gereken iki tane nokta var. User kolonu tipi Person or Group olmalı; Role sütunun tipi ise Choice olmalı.
Listemize Outlook üzerinde ekli olan mail adresindeki isimleri sırası ile ekleyelim:
New butonu vasıtası ile eklemek istediğimiz kullanıcı ve rollerini ekleyelim.
İki adet admin, geri kalan kullanıcıların rolü User olarak listeyi aşağıdaki şekilde oluşturdum. (Dilerseniz isimleri excellden çekerek de ekleyebilirsiniz. Ben manuel olarak birkaç örnek isim ekledim.)
Şimdi bir tane örnek Canvas App açarak sayfamızdaki değişiklikleri görmek için ilgili formülleri ekleyelim: Görüldüğü üzere uygulama lutfi.dereli@peakup.org kullanıcısı ile açılmış, Sharepoint listesini kontrol ederseniz Lütfi Dereli kullanıcısının Admin yetkisine sahip kullanıcı olduğunu görürsünüz.
Buna göre eklediğimiz Sharepoint listesindeki kullanıcı isim ve rollerini bir galeri vasıtası ile sayfamızda listeleyelim. Bir tane galeri ekleyerek Layout’unu Title and Subtitle olarak değiştirelim:
Uygulamamızın içerisine Sharepoint datasını ekledikten sonra galerinin itemlerini oluşturduğumuz Kullanıcı Rol Listesi’ni ekleyerek sonuçları listeleyelim.
Birkaç font ve renk düzenlemesinden sonra son hali aşağıdakine benzer şekilde olacaktır:
Galerinin başlık kısmında kullanıcı rolleri, alt başlık kısmında da eklediğimiz kullanıcıların isimlerini görmekteyiz.
Uygulama başlatıldığında yapmasını istediğimiz işlemleri App kısmına ait RunOnStart propertysine aşağıdaki formülü ekleyelim:
Set(varUserEmail,User().Email);
Set(varIsAdmin,!IsBlank(LookUp(‘Kullanıcı Rol Listesi’,
And(
User.Email = varUserEmail,
Role.Value = “Admin”
))));
Set(varUserEmail,User().Email): Bir adet değişken ile uygulamaya giriş yapan kullanıcının bilgisini varUserMail değişkenine atayalım.
Set(varIsAdmin,!IsBlank(LookUp(‘Kullanıcı Rol Listesi’,
And(
User.Email = varUserEmail,
Role.Value = “Admin”
)))): Kullanıcının admin olup olmadığını kontrol etmek için bir adet değişken oluşturduk. Sharepoint Kullanıcı Rol Listesi’ne giderek user email’in uygulamadaki user ve rolünün “admin” olduğunun kontrolünü sağlayarak ana ekranda oluşturduğumuz galerinin görününürlüğünü yöneteceğiz.
Son olarak Galeriye bir kez tıklayıp, Visible özelliğine varIsAdmin değişkenini ekleyelim, bu sayede Sharepoint listesi üzerinde yapılan değişikliğe göre galerinin ekrandan görünüp gizlenmesini yönetebiliriz. Bunu daha iyi anlamak için Sharepoint listesi üzerindeki, Lütfi Dereli kullanıcısının rolünü User olarak değiştirelim ve uygulamayı tekrar başlatalım.
Yaptığımız değişikliği görmek için galerinin yanına bir adet Label ekleyerek, yaptığımız değişikliklerin sağlamasını yapabiliriz.
Sharepoint listesi üzerinden Lütfi Dereli kullanıcısının rolünü User olarak değiştirdiğimizde, Galeri görünümünün property’si false olarak yeniden set edilerek, eklediğimiz label’in texti aşağıdaki şekilde olacaktır.
Basit olarak sadece komponentin ekrandan gizlenmesi olarak oluşturulan bu uygulamada dilerseniz sahip olduğunuz logic’e göre birçok farklı işlem yapabilirsiniz.
Umarım Sharepoint ile çalışırken işinize yarayacak bir örnek uygulama olmuştur. İyi çalışmalar.