add DataTables for dynamic & interactive track messages table (data tab)

This commit is contained in:
Norbert Renner 2014-09-02 20:56:04 +02:00
parent bb371a30a7
commit 21cd1fbf2a
5 changed files with 87 additions and 0 deletions

View file

@ -0,0 +1,51 @@
BR.TrackMessages = L.Class.extend({
initialize: function () {
},
update: function (polyline, segments) {
var i,
messages,
data = [],
columns;
if (!segments || segments.length === 0)
return;
for (i = 0; segments && i < segments.length; i++) {
messages = segments[i].feature.properties.messages;
if (i === 0) {
columns = this._getColumns(messages[0]);
}
data = data.concat(messages.slice(1));
}
$('#datatable').DataTable({
destroy: true,
data: data,
columns: columns,
paging: false,
searching: false,
info: false,
scrollY: 330,
scrollX: 370,
scrollCollapse: true,
order: []
});
},
_getColumns: function(headings) {
var columns = [];
for (k = 0; k < headings.length; k++) {
// http://datatables.net/reference/option/#Columns
columns.push({
title: headings[k]
});
}
return columns;
}
});
BR.TrackMessages.include(L.Mixin.Events);