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);
|
||||
|
|
@ -88,6 +88,7 @@
|
|||
elevation,
|
||||
download,
|
||||
profile,
|
||||
trackMessages,
|
||||
leftPaneId = 'leftpane',
|
||||
saveWarningShown = false;
|
||||
|
||||
|
|
@ -140,6 +141,7 @@
|
|||
BR.message.hideError();
|
||||
routingOptions.setCustomProfile(null);
|
||||
});
|
||||
trackMessages = new BR.TrackMessages();
|
||||
|
||||
routing = new BR.Routing({
|
||||
routing: {
|
||||
|
|
@ -177,6 +179,7 @@
|
|||
|
||||
elevation.update(track);
|
||||
stats.update(track, segments);
|
||||
trackMessages.update(track, segments);
|
||||
|
||||
if (latLngs.length > 1) {
|
||||
urls.gpx = router.getUrl(latLngs, 'gpx');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue