diff --git a/css/gpxedit.css b/css/gpxedit.css
index 4ea204c..79dcd4b 100644
--- a/css/gpxedit.css
+++ b/css/gpxedit.css
@@ -782,6 +782,14 @@ h2.popupTitle{
margin-right: auto;
display:block;
}
+.popupOkButton, .layerLinkText, .layerLinkUrl, .layerLon, .layerLat, .layerName, select[role=symbol] {
+ min-height: 17px;
+ height: 17px;
+}
+.popupdatatable textarea {
+ min-height: 16px;
+ height: 20px;
+}
#clearButton {
width: 100%;
}
diff --git a/js/gpxedit.js b/js/gpxedit.js
index 62f32f7..510a635 100644
--- a/js/gpxedit.js
+++ b/js/gpxedit.js
@@ -453,6 +453,8 @@
buttonParent.find('input.layerName').val(gpxedit.layersData[id].name);
buttonParent.find('textarea.layerDesc').val(gpxedit.layersData[id].description);
buttonParent.find('textarea.layerCmt').val(gpxedit.layersData[id].comment);
+ buttonParent.find('input.layerLinkText').val(gpxedit.layersData[id].linkText);
+ buttonParent.find('input.layerLinkUrl').val(gpxedit.layersData[id].linkUrl);
if (gpxedit.layersData[id].layer.type === 'marker') {
if (symbolIcons.hasOwnProperty(gpxedit.layersData[id].symbol)) {
buttonParent.find('select[role=symbol]').val(gpxedit.layersData[id].symbol);
@@ -501,6 +503,10 @@
'
' + t('gpxedit', 'Name') + ' | |
' +
'' + t('gpxedit', 'Description') + ' | |
' +
'' + t('gpxedit', 'Comment') + ' | |
';
+ popupTxt = popupTxt + '' + t('gpxedit', 'Link text') +
+ ' | |
';
+ popupTxt = popupTxt + '' + t('gpxedit', 'Link URL') +
+ ' | |
';
if (type === 'marker') {
popupTxt = popupTxt + '' + t('gpxedit', 'Lat') +
' | |
';
@@ -541,6 +547,8 @@
name: gpxedit.layersData[layer.gpxedit_id].name,
description: gpxedit.layersData[layer.gpxedit_id].description,
comment: gpxedit.layersData[layer.gpxedit_id].comment,
+ linkUrl: gpxedit.layersData[layer.gpxedit_id].linkUrl,
+ linkText: gpxedit.layersData[layer.gpxedit_id].linkText,
symbol: gpxedit.layersData[layer.gpxedit_id].symbol,
time: gpxedit.layersData[layer.gpxedit_id].time,
layer: layer
@@ -565,6 +573,8 @@
name: '',
description: '',
comment: '',
+ linkUrl: '',
+ linkText: '',
symbol: '',
time: '',
layer: layer
@@ -699,6 +709,8 @@
var id = layer.gpxedit_id;
var name = gpxedit.layersData[id].name;
var comment = gpxedit.layersData[id].comment;
+ var linkText = gpxedit.layersData[id].linkText;
+ var linkUrl = gpxedit.layersData[id].linkUrl;
var description = gpxedit.layersData[id].description;
var time = gpxedit.layersData[id].time;
if (layer.type === 'marker') {
@@ -716,6 +728,9 @@
if (alt !== undefined) {
gpxText = gpxText + ' ' + alt + '\n';
}
+ if (linkText && linkUrl) {
+ gpxText = gpxText + ' ' + escapeHTML(linkText) + '\n';
+ }
if (comment) {
gpxText = gpxText + ' ' + escapeHTML(comment) + '\n';
}
@@ -741,6 +756,9 @@
if (comment) {
gpxText = gpxText + ' ' + escapeHTML(comment) + '\n';
}
+ if (linkText && linkUrl) {
+ gpxText = gpxText + ' ' + escapeHTML(linkText) + '\n';
+ }
if (description) {
gpxText = gpxText + ' ' + escapeHTML(description) + '\n';
}
@@ -772,6 +790,9 @@
if (comment) {
gpxText = gpxText + ' ' + escapeHTML(comment) + '\n';
}
+ if (linkText && linkUrl) {
+ gpxText = gpxText + ' ' + escapeHTML(linkText) + '\n';
+ }
if (description) {
gpxText = gpxText + ' ' + escapeHTML(description) + '\n';
}
@@ -797,7 +818,7 @@
}
// adds a marker and initialize its data
- function drawMarker(latlng, name, desc, cmt, sym, time) {
+ function drawMarker(latlng, name, desc, cmt, sym, time, linkText, linkUrl) {
var wst = $('#markerstyleselect').val();
var tst = $('#tooltipstyleselect').val();
var symboo = $('#symboloverwrite').is(':checked');
@@ -825,13 +846,15 @@
}
gpxedit.layersData[layer.gpxedit_id].name = name;
gpxedit.layersData[layer.gpxedit_id].comment = cmt;
+ gpxedit.layersData[layer.gpxedit_id].linkText = linkText;
+ gpxedit.layersData[layer.gpxedit_id].linkUrl = linkUrl;
gpxedit.layersData[layer.gpxedit_id].description = desc;
gpxedit.layersData[layer.gpxedit_id].symbol = sym;
gpxedit.layersData[layer.gpxedit_id].time = time;
}
// adds a polyline and initialize its data
- function drawLine(latlngs, name, desc, cmt, gpxtype, times) {
+ function drawLine(latlngs, name, desc, cmt, gpxtype, times, linkText, linkUrl) {
var wst = $('#markerstyleselect').val();
var tst = $('#tooltipstyleselect').val();
var p = L.polyline(latlngs);
@@ -853,6 +876,8 @@
}
gpxedit.layersData[layer.gpxedit_id].name = name;
gpxedit.layersData[layer.gpxedit_id].comment = cmt;
+ gpxedit.layersData[layer.gpxedit_id].linkText = linkText;
+ gpxedit.layersData[layer.gpxedit_id].linkUrl = linkUrl;
gpxedit.layersData[layer.gpxedit_id].description = desc;
}
@@ -879,11 +904,13 @@
var sym = $(this).find('sym').text();
var ele = $(this).find('ele').text();
var time = $(this).find('time').text();
+ var linkUrl = $(this).find('link').attr('href');
+ var linkText = $(this).find('link text').text();
if (ele !== '') {
- drawMarker([lat, lon, ele], name, desc, cmt, sym, time);
+ drawMarker([lat, lon, ele], name, desc, cmt, sym, time, linkText, linkUrl);
}
else{
- drawMarker([lat, lon], name, desc, cmt, sym, time);
+ drawMarker([lat, lon], name, desc, cmt, sym, time, linkText, linkUrl);
}
});
dom.find('trk').each(function() {
@@ -891,6 +918,8 @@
var name = $(this).find('>name').text();
var cmt = $(this).find('>cmt').text();
var desc = $(this).find('>desc').text();
+ var linkUrl = $(this).find('link').attr('href');
+ var linkText = $(this).find('link text').text();
var times = [];
$(this).find('trkseg').each(function() {
$(this).find('trkpt').each(function() {
@@ -907,13 +936,15 @@
}
});
});
- drawLine(latlngs, name, desc, cmt, 'track', times);
+ drawLine(latlngs, name, desc, cmt, 'track', times, linkText, linkUrl);
});
dom.find('rte').each(function() {
var latlngs = [];
var name = $(this).find('>name').text();
var cmt = $(this).find('>cmt').text();
var desc = $(this).find('>desc').text();
+ var linkUrl = $(this).find('link').attr('href');
+ var linkText = $(this).find('link text').text();
var times = [];
$(this).find('rtept').each(function() {
var lat = $(this).attr('lat');
@@ -928,7 +959,7 @@
latlngs.push([lat, lon]);
}
});
- drawLine(latlngs, name, desc, cmt, 'route', times);
+ drawLine(latlngs, name, desc, cmt, 'route', times, linkText, linkUrl);
});
}
@@ -1565,6 +1596,8 @@
$('body').on('click', 'button.popupOkButton', function(e) {
var id = parseInt($(this).attr('layerid'));
var name = $(this).parent().find('.layerName').val();
+ var linkText = $(this).parent().find('.layerLinkText').val();
+ var linkUrl = $(this).parent().find('.layerLinkUrl').val();
var description = $(this).parent().find('.layerDesc').val();
var comment = $(this).parent().find('.layerCmt').val();
var symbol = $(this).parent().find('select[role=symbol]').val();
@@ -1576,6 +1609,8 @@
gpxedit.layersData[id].name = name;
gpxedit.layersData[id].description = description;
gpxedit.layersData[id].comment = comment;
+ gpxedit.layersData[id].linkText = linkText;
+ gpxedit.layersData[id].linkUrl = linkUrl;
if (symbol !== 'unknown') {
gpxedit.layersData[id].symbol = symbol;
}