add DataTables for dynamic & interactive track messages table (data tab)
This commit is contained in:
parent
bb371a30a7
commit
21cd1fbf2a
5 changed files with 87 additions and 0 deletions
51
js/control/TrackMessages.js
Normal file
51
js/control/TrackMessages.js
Normal 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);
|
||||
Loading…
Add table
Add a link
Reference in a new issue