Doküman liste sonuçlarını düzenleme

Listedeki jquery olaylarını yakalayarak template değiştirme, data manupliasyon yapabilirsiniz. Bu yolla mevcut html geliştirmedeki özellikleri koruyarak sadece sonuçların görünümünü değiştirebilirsiniz.

  • GUI_DLVOnStarting  : Doküman listesi için istek yapılmadan önce tetiklenen olaydır.
  • GUI_DLVOnStartRender : Doküman listesi alındıktan sonra tetiklenen olaydır.
  • GUI_DLVOnEndRender : Tüm işlemler tamamlandıktan sonra tetiklenen olaydır.

Olaylara parametre olarak iletilen nesne üzerine Template değiştirebilirsiniz. nesneye Cancel=true değeri ekleyerek çalışmayı durdurabilir, tüm işlemleri ele alabilirsiniz. Template düzenleme için Template ile sonuç gösterimi dokümanını inceleyebilirsiniz. Template hazırlayabileceğiniz  örnek html için tıklayınız.

(warning)  Arayüzde dokümanlar birden fazla yerde listelenebilmektedir. Ana ekranda soru sonuçları, dokümana tıklandığında sağda benzer kopya dokümanlar gösterilmektedir. tamamı aynı eventi kullanmaktadır. sağdaki alanlar için args.Options.RenderSub değeri true gelmektedir. ihtiyaç halinde özelleştirilecek bölge için args.targetDom değeride kontrol edilebilir.

<script>
$(document.body).on("GUI_DLVOnStartRender",function(e,args) {
	if(!args.Options.RenderSub)  //benzer dokümanlar gibi özel liste alanları için RenderSub değeri true yapılmaktadır. 
	{
		args.Template="<d:r data='data'><div>{{ data.DisplayName }} </div></d:r>";
	}
})
</script>


TemplateSelector değerini değiştirerek her veri için farklı şablon kullanılmasını sağlayabilirsiniz.

<script type="dece-template" id=myTemplate>
	<div class="list-item pnl-query-item IsDoc DocALL docOpenLinkRoot DocArea" style="padding:5px !important">
		<h4>{{ data.DisplayName }} </h4>
		<hr>
		<a href="{{data.GetHref()}}" target="_blank">
				<img src="{{context.ResolveUrl('~/GeodiJSONService?op=getContentThumbnail&ContentIdentifier=' + data.RedirId + '&wsName=' + HttpUtility.UrlEncode(context.Options.Query.wsName) + '&rnd=' + window.___DomStartDate, false) }}" border=0 title="{{data.DisplayName}}" />
		</a>
	</div>
</script>

<script>
$(document.body).on("GUI_DLVOnStartRender",function(e,args) {
	if(!args.Options.RenderSub)  //benzer dokümanlar gibi özel liste alanları için RenderSub değeri true yapılmaktadır. 
	{
		args.TemplateSelectorOriginal=args.TemplateSelector;
		args.TemplateSelector= function(data,context) {
				if(data.ContentType=="filecontent:.pdf")
					return $("#myTemplate");
				if(args.TemplateSelectorOriginal)
					return args.TemplateSelectorOriginal(data,context);
			}
	}
})
</script>