Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

GEODI provides rest api services. You can use query results in your application by taking advantage of Geodi Query APIs. With GeodiQueryJS, you can display the results in any format you want, or use libraries such as Angular.js and Vue.js.

(warning)According to the use of Standard or Simple api you must have a Token , Geodi Project name and Geodi URL information.


GeodiQueryJS

GeudiQueryJS.js kütüphanesini projenize dahil edip şablon belirleyerek sorgu sonuçlarını uygulamanızda gösterebilirsiniz. Template tanımlama şekli Angular, Vue.js gibi araçlar ile aynıdır.  Şablon  içerisinde kullanabileceğiniz nesne özelliklerini örnekleri çalıştırdığınız tarayıcının debug konsolundan veya Geodi Query API - Document Search servis dokümanından öğrenebilirsiniz.

  • data.DisplayName değerini göstermek için HTML şablon içeriğinde {{ data.DisplayName }} ifadesi kullanılmalıdır. 
  • Döngü ve koşullar için d:r tag ve data/visible attribute değerleri kullanılabilir. 
    • data : döngüde dolaşılacak veriyi belirlemekte kullanılır. Şablonun başlangıcında data değeri gelen sonuçların listesidir. data belirtilen her d:r tag içeriğinde data gezilen değere dönüşür. ihtiyaç halinde döngü dışındaki içeriğe data.parentdata ile erişilebilir.
      • Örnekler
        • <d:r data="[0,1,2,3]">-{{data}}- </d:r> 
        • <d:r data="data"><d:r data=data.AditionalValues>{{data}} </d:r> </d:r>
    • visible: koşul geçerli ise d:r alanı gösterilir. geçerli değilse içerik yok sayılır. data ile birlikte kullanılmasa dahi içinde blunduğu blok içeriksenki veri ile bir defa kontrol edilir. döngüdeki her item için kontrol yapılacaksa içeri bir d:r elementi daha oluşturulmalıdır.
    • Örnekler
      • <d:r data="[0,1,2,3]"> <d:r visible="data>2"> -{{data}}- </d:r> </d:r> 
  • Encode/decode işlemleri için HttpUtility yardımcı sınıfı kullanılabilir.

(warning) Şablon içinde kullanılan nesnenin özelliklerine ulaşmak için şablon içerisinde {{  debugger; }} ifadesi kullanıp konsol üzerinden data ve context nesnelerini  inceleyebilirsiniz.

Sample Templates

GeodiQuery.js hazır şablon tanımı içermektedir. Herhangi bir şablon tanımlamadan sonuç elde edebilirsiniz.

Example HTML
<script src="https://servis2.dece.com.tr/GUI/js/GeodiQueryJS.js"></script>
<div id=MyQueryResultArea></div>
<script>
 	var q = new GeodiQuery();
    q.wsName = "...";//wsName
    q.EndIndex = 8;
    q.ServerUrl = "...";// Server Url
    q.Token = "...";//Token
    q.SearchString = "";//Search Text
    q.UseRank = true;
	RenderDLV({ Query: q, TargetDiv: "#MyQueryResultArea" } )
</script>

Sample Template and Usage


Example Template
<script type="dece-template" id=MyTemplate>
	<div>
		{{data.length}} item : <br>
		<ul>
			<d:r data="data">
				<li title="{{data.AdditionalValues.Date}}">{{ data.DisplayName }} ( {{ data.MyMethod() }})</li>
			</d:r>
		</ul>
	</div>
</div>


Example HTML
<script src="https://servis2.dece.com.tr/GUI/js/GeodiQueryJS.js"></script>
<div id=MyQueryResultArea></div>
<script>
 	var q = new GeodiQuery();
    q.wsName = "...";//wsName
    q.EndIndex = 8;
    q.ServerUrl = "...";// Server Url
    q.Token = "...";//Token
    q.SearchString = "";//Search Text
    q.UseRank = true;
	RenderDLV(
				{ 
					Query: q, 
					TargetDiv: "#MyQueryResultArea", 
					Template: $("#MyTemplate"),
					OnStarting: function(args) { //before rest api call
						//...
					},
					OnStartRender: function() { //after rest api call, before render
						$.each(args.Data,function(i,d) { d.MyMethod=function() {return "SAMPLE";} });
					},
					OnEndRender: function(args) { // after render
						//...
					}
				} 
		)
	//$("#MyTemplate") yerine $("#MyTemplate").html() veya string ifade iletilebilir.
</script>


Daha fazla örnek için aşağıdaki canlı demo projelerimiz üzerinden çalışan aşağıdaki örneği incelyebilirsiniz. Misafir kullanıcı için alınmış token kullanılmaktadır.

Örnek koda  https://github.com/decesw/html/blob/master/DocumentQuery/Query_GeodiQueryJS.html adresinden erişebilirsiniz.


Template düzenlemeyi deneyebileceğiniz örnek arayüz için tıklayınız

Using tools like Angular.js and Vue.js

Rest api sonuçları template render destekleyen herhangi bir kütüphaneye verilebilir. Sorgu servislerinden elde edilecek JSON kütüphanenin istediği şekilde kullanılarak sonuçlar gösterilebilir. Bu konudaki tüm çalışabilir durumdaki örneklere https://github.com/decesw/html/tree/master/DocumentQuery adresinden ulaşabilirsiniz. Örnekler canlı demo projelerimiz üzerinden çalıştırılmaktadır. Misafir kullanıcı için alınmış token kullanılmaktadır. 

  • No labels