Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

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

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


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


Code Block
languagexml
[=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.  

Code Block
languagexml
<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.

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


Code Block
languagexml
<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.


Code Block
languagexml
<div>
	<a href='[=c["geodi.link"\].ViewerLink(d)]'> [=d.OutputGeodiContent.DisplayName] </a>
</div>