Language
Login
Language Setting
X
English
日本語 [Japanese]
about this App
forked:ソート&検索可能なデータテーブル
useful
11
Loading...
var LV = LV || {}; // ※表示タイトル LV.title = "朔久のスタジアム検索アプリ"; // ※テーブルの項目名とプロパティの対応の設定 LV.property = [ ["ID", "0"], /* 必須 */ ["名称", "http://www.w3.org/2000/01/rdf-schema#label"], ["住所", "住所"], ["経度", "http://www.w3.org/2003/01/geo/wgs84_pos#long"], ["緯度", "http://www.w3.org/2003/01/geo/wgs84_pos#lat"] ] window.onload = function() { $("#result").append("<h1>" + LV.title + "</h1>"); $("#result").append("<table class='display' id='data_list'></table>" ); var colList=[]; $('#data_list').dataTable({ "aoColumns": setColName(colList), "asSorting": [[0,"desc"]], "bJQueryUI": true, "bAutoWidth": false, "bJQueryUI": true, /* 空の値が来たらハイフン表示(alert対策) */ "columnDefs": [{ "defaultContent": "-", "targets": "_all" }], /* 日本語化 */ "language": { "emptyTable" : "データが登録されていません。", "info" : "_TOTAL_ 件中 _START_ 件から _END_ 件までを表示", "infoEmpty" : "", "infoFiltered" : "(_MAX_ 件からの絞り込み表示)", "infoPostFix" : "", "thousands" : ",", "lengthMenu" : "1ページあたりの表示件数: _MENU_", "loadingRecords" : "ロード中", "processing" : "処理中...", "search" : "検索:", "zeroRecords" : "該当するデータが見つかりませんでした。", "paginate" : { "first" : "先頭", "previous" : "前へ", "next" : "次へ", "last" : "末尾" } } }); /* LinkDataからデータを取得 */ $.each(LinkData.getWorks(), function(workKey, workValue) { var propList = stringToUri(LV.property, workValue); $.each(LinkData.getFiles(workValue), function(fileKey, fileValue) { $.each(LinkData.getSubjects(workValue, fileValue), function(subjKey, subjValue) { var dataList = []; /* ID列のデータ取得 */ var sharp = decodeURIComponent(subjValue).split("#"); var slash = sharp[sharp.length-1].split("/"); var id = slash[slash.length-1]; dataList[0] = id; /* その他の列のデータを取得 */ $.each( LinkData.getProperties(workValue, fileValue), function(propKey, propValue) { $.each (propList, function(i, propUri){ if (propUri == propValue) { var objList = []; $.each( LinkData.getObjects(workValue, fileValue, subjValue, propValue), function(objkey, objValue) { objList.push(objValue); }); dataList[i+1] = addHtml(objList.toString()); } }); }); /* テーブルにデータを追加 */ $('#data_list').dataTable().fnAddData(dataList); }); }); }); } /* プロパティがリテラルで指定された場合にURIに変換 */ function stringToUri (p, workId) { var arr = []; $.each (p, function(){ if(this[1] != 0) { if(this[1].indexOf("http") != 0){ arr.push("http://linkdata.org/property/" + workId + "#" + encodeURIComponent(this[1])); } else { arr.push(this[1]); } } }) return arr; } /* カラム名を設定 */ function setColName(arr) { $.each(LV.property, function(){ var col = {}; col.sTitle = this[0]; arr.push(col); }) return arr; } /* データの値がURLの場合の処理 */ function addHtml(str) { if (str.indexOf("http") == 0) { if ((str.indexOf(".jpg" )>0 || str.indexOf(".gif" )>0 || str.indexOf(".png" )>0) || (str.indexOf(".JPG" )>0 || str.indexOf(".GIF" )>0 || str.indexOf(".PNG" )>0)) { str = '<img src="' + str + '" />'; } else { str = '<a href="' + str + '" target="_blank">' + str + '</a>'; } } return str; }
#result { margin: 10px; } #result h1 { background: #008cba none repeat scroll 0 0; color: #fff; font-size: 200%; padding: 10px; } #result img { max-width: 200px; max-height: 200px; }
<div id="result"></div>
Preview
Input Data
ReadMe
Snapshots
LinkData Work
Table Data
神奈川県のスタジアム
Contributor:sakuota
Update:Oct 8, 2017
115 Downloads, 2 Applications
神奈川県のスタジアムです。
yokohamasinosutajiamu
Add LinkData work(LinkData)
Link http://app.linkdata.org/run/app1s1532i?tab=readme
Initial content
https://cdn.datatables.net/s/zf-5.5.2/jqc-1.11.3,dt-1.10.10/datatables.min.js
Work
Add
Clear
insert work id or work name.