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. |
According to the use of Standard or Simple api you must have a Token , Geodi Project name and Geodi URL information.
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.
Ş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.
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> |
<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.
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.