Makale Özeti

Bu makalemizde form üzerinde gösterilen uyarıların custom olarak oluşturulmasını inceleyeceğiz.

Makale

CRM’de kullanıcıları uyarmanın 2 yolu vardır:

1.    Javascript ile popup uyarılar vermek,

2.    Bir diğeride CRM’in kendi içerisinde form üzerinde verdiği uyarıdır.

Bu makalemizde form üzerinde gösterilen uyarıların custom olarak oluşturulmasını inceleyeceğiz.

Peki form üzerinde uyarı verdirmek ne demektir?

Basitçe bir formun üzerinde aşağıdaki gibi gösterilen şekilde bir kullanımı vardır.

Siz birden çok uyarı için farklı iconlar ekleyebilirsiniz.

Güncelleme veya silme işlemi öncesinde bildirim ekleyebilirsiniz. Bu görüntü (Name özelliğinin onChange eventi sonrasında gerçekleşti), Name özelliğine yeni birşeyler girildiğinde aşağıdaki gibi uyarılar oluştu. Önceki resim ile karşılaştırabilirsiniz.

Nasıl kullanacağız?

Adım 1: Aşağıdaki kodu Name nesnesinin OnLoad eventine yapıştırıyoruz.

//Gösterilecek mesajı,mesaj tipini ve uyarı ID’sini göndereceğimiz bir funtion hazırlıyoruz

 

addNotification = function(message, messageType, notificationId)

{

    var notificationsArea = document.getElementById('Notifications');

 

    //Form içerisinde uyarı alanı var mı? Eğer  yoksa form için custom uygulama kullanamayız

 

if (notificationsArea == null)

    {       

        if (messageType != 4)

        {     

          alert(message);

        }

        return;

    }

    var notificationDIV = document.getElementById('NotificationDiv_' + notificationId);

 

    //Silme işleminde uyarı vermek

    if (messageType == 4)

    {

        if (notificationDIV != null)

        {

            //Uyarıyı kaldırmak

            notificationsArea.removeChild(notificationDIV);

        }

        return;

    }   

    //Uyarı için kullanılan resmin değerini almak. Default olarak info için kullanılan resmi kullanılır.

    var notificationImage;

    switch (messageType)

    {

        case 1:

            notificationImage = '/_imgs/error/notif_icn_crit16.png';

            break;

        case 2:

            notificationImage = '/_imgs/error/notif_icn_info16.png';

            break;   

        case 3:

            notificationImage = '/_imgs/error/notif_icn_warn16.png';

            break;   

        default:

           notificationImage = '/_imgs/error/notif_icn_info16.png';

    }

    //Uyarı oluşturma

    var notificationTable = '<TABLE cellSpacing="0" cellPadding="0"><TBODY><TR><TD vAlign="top"><IMG class="ms-crm-Lookup-Item" alt="" src="' + notificationImage + '" /></TD><TD><SPAN>' + message +'</SPAN></TD></TR></TBODY></TABLE>';

   //Uyarılar için kullanılan aynı ID’ler varsa kontrol et

    if (notificationDIV == null)

    {   

        //Yeni bir uyarı oluştur

        var notificationHTML = '<DIV class="Notification" ID="NotificationDiv_' + notificationId + '">' + notificationTable + '</DIV>';

        notificationsArea.innerHTML += notificationHTML;

        notificationsArea.style.display = 'block';

    }

    else

    {

        //Uyarıyı günceleme

        notificationDIV.innerHTML = notificationTable;

    }

}

Adım 2: Bir uyarı verdirmek istediğinizde aşağıdaki function’a parametreleri göndermekle kullanabilirsiniz.

addNotification(string message, int messageType, string notificationId)

Parametreler:

·       message – Görüntülenecek mesaj içeriği

·       messageType – Duyuruda kullanacağımız icon’lar (1 – critical, 2 – info, 3 – warning, 4 – delete)

·       notificationId – Eğer bir fonksiyonda daha önceden tanımlanmış bir notificationId ile işlem yapıyorsak , uyarı güncellenecektir. Yoksa yeni bir uyarı oluşturulacaktır.

 Teşekkürler, Marco Amoedo.