GEODI rest api servisleri sağlamaktadır. Sorgu servislerinden yararlanarak sorgu sonuçlarını uygulamanızda kullanabilirsiniz. Sonuçları GeodiQueryJS ile istediğiniz formatta gösterebileceğiniz gibi Angular.js Vue.js gibi kütüphanelerden de yararlanabilirsiniz.


(warning) Standart veya Basit api kullanımına göre bir Token, Geodi Proje adı ve Geodi URL'e bilgisine sahip olmalısınız.


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 - Doküman Arama servis dokümanından öğrenebilirsiniz.

(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.

Hazır şablonlar

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

<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>

Örnek Şablon ve Kullanımı


<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>


<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

Angular.js, Vue.js gibi araçların kullanımı

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.