Makrolar

Makrolar sunucu üzerinde çalıştırılan, geliştiriciler tarafından belirlenen kod parçalarıdır. 

Raporlarda, java Script dosyalarında, Tüm html içeriklerde Harita CSS içeriklerde makrolar kullanılabilir. Kullanılan yere göre sözdiziminde bazı basitleştirmeler yapılmış olmakla beraber genel kullanım şekli bu dokümandaki gibidir.

Makro dili C# olarak ayarlanmıştır. API üzerinden ulaşılan nesneye ait tüm metodlar kullanılabilir.

Makrolar [=...] şeklinde tanımlanır.  

Harita CSS ve bazı özel alanlarda köşeli parantez kullanılmaz. Bilgi ilgili dokümanlarda yer almaktadır.

 Köşeli parantez kullanımı gereken yerlerde makro içeriğinde ] kullanılması gerekirse \] olarak yazılmalıdır.

 

1 2 3 4 5 [=4*4] [=new Random().Next(0,500)] [=Math.Round(0.47) [=DateTime.Now] [="test".ToUpper()]

Makro ifadesi içerisinde kullanılabilecek context (c) ve Data (d)  isimli iki nesne yer alır. 

Data (d)

Makronun kullanıldığı yere göre tipi değişiklik gösterir. Makro kullanılan yerde data nesnesinin veri tipi bilinmelidir. Developer dokümanları ve Readme.txt dosyalarında tipler yazmaktadır.  GEODI raporlarında Data nesnesi GeodiEntry'dir.  

1 2 3 <div> <label> Dosya Adı : </label> [=d.OutputGeodiContent.DisplayName] </div>

context (c)

Makro kullanılan her yerde kullanılabilir. EvaluatorContext nesnesidir. Yardımcı yöntemler ve Harita çizimi için ölçek, çizilmekte olan geometri bilgileri içerir. Ölçek ve çizilmekte olan geometri bilgileri harita css dışında tanımsızdır.

1 [=c.ToString(DateTime.Now,"en-US","dd MMM yyyy")]

 

1 2 3 4 5 <div> <dcc:panel visible='c.HasPermission("DECE.SYSTEMMANAGER")'> Sistem Yöneticisisiniz. </dcc:panel> </div>

context içeriiğinde sınırlı sayıda yardımcı yöntem bulunmaktadır. context["HelperName"]  yöntemi ile daha fazla yardımcı metoda erişilebilir. Tüm yardımcı sınıfların listesine buradan ulaşabilirsiniz.

1 2 3 <div> <a href='[=c["geodi.link"\].ViewerLink(d)]'> [=d.OutputGeodiContent.DisplayName] </a> </div>