gaia uploader v3.1.1
This commit is contained in:
@@ -3,8 +3,9 @@
|
|||||||
// @namespace https://greasyfork.org/users/583371
|
// @namespace https://greasyfork.org/users/583371
|
||||||
// @description Allow the user to upload multiple files at once and more than 1000 waypoints
|
// @description Allow the user to upload multiple files at once and more than 1000 waypoints
|
||||||
// @grant none
|
// @grant none
|
||||||
// @version 3.1
|
// @version 3.1.1
|
||||||
// @author Franzz
|
// @author Franzz
|
||||||
|
// @license GNU GPLv3
|
||||||
// @match https://www.gaiagps.com/map/*
|
// @match https://www.gaiagps.com/map/*
|
||||||
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
|
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
|
||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
@@ -109,13 +110,13 @@ gpxParser.prototype.parse = function (gpxstring) {
|
|||||||
route.cmt = keepThis.getElementValue(rte, "cmt");
|
route.cmt = keepThis.getElementValue(rte, "cmt");
|
||||||
route.desc = keepThis.getElementValue(rte, "desc");
|
route.desc = keepThis.getElementValue(rte, "desc");
|
||||||
route.src = keepThis.getElementValue(rte, "src");
|
route.src = keepThis.getElementValue(rte, "src");
|
||||||
route.number = keepThis.getElementValue(rte, "number");
|
route.number= keepThis.getElementValue(rte, "number");
|
||||||
|
|
||||||
let type = keepThis.queryDirectSelector(rte, "type");
|
let type = keepThis.queryDirectSelector(rte, "type");
|
||||||
route.type = type != null ? type.innerHTML : null;
|
route.type = type != null ? type.innerHTML : null;
|
||||||
|
|
||||||
let link = {};
|
let link = {};
|
||||||
let linkElem = rte.querySelector('link');
|
let linkElem= rte.querySelector('link');
|
||||||
if(linkElem != null){
|
if(linkElem != null){
|
||||||
link.href = linkElem.getAttribute('href');
|
link.href = linkElem.getAttribute('href');
|
||||||
link.text = keepThis.getElementValue(linkElem, "text");
|
link.text = keepThis.getElementValue(linkElem, "text");
|
||||||
@@ -159,7 +160,7 @@ gpxParser.prototype.parse = function (gpxstring) {
|
|||||||
track.cmt = keepThis.getElementValue(trk, "cmt");
|
track.cmt = keepThis.getElementValue(trk, "cmt");
|
||||||
track.desc = keepThis.getElementValue(trk, "desc");
|
track.desc = keepThis.getElementValue(trk, "desc");
|
||||||
track.src = keepThis.getElementValue(trk, "src");
|
track.src = keepThis.getElementValue(trk, "src");
|
||||||
track.number = keepThis.getElementValue(trk, "number");
|
track.number= keepThis.getElementValue(trk, "number");
|
||||||
track.color = keepThis.getElementValue(trk, "DisplayColor");
|
track.color = keepThis.getElementValue(trk, "DisplayColor");
|
||||||
track.time = keepThis.metadata.time;
|
track.time = keepThis.metadata.time;
|
||||||
|
|
||||||
@@ -167,7 +168,7 @@ gpxParser.prototype.parse = function (gpxstring) {
|
|||||||
track.type = type != null ? type.innerHTML : null;
|
track.type = type != null ? type.innerHTML : null;
|
||||||
|
|
||||||
let link = {};
|
let link = {};
|
||||||
let linkElem = trk.querySelector('link');
|
let linkElem= trk.querySelector('link');
|
||||||
if(linkElem != null){
|
if(linkElem != null){
|
||||||
link.href = linkElem.getAttribute('href');
|
link.href = linkElem.getAttribute('href');
|
||||||
link.text = keepThis.getElementValue(linkElem, "text");
|
link.text = keepThis.getElementValue(linkElem, "text");
|
||||||
@@ -305,17 +306,18 @@ class Gaia {
|
|||||||
}
|
}
|
||||||
|
|
||||||
feedback(sType, sMsg) {
|
feedback(sType, sMsg) {
|
||||||
var sFormattedMsg = sType.charAt(0).toUpperCase()+sType.slice(1)+': '+sMsg+(sMsg.slice(-1)=='.'?'':'.');
|
let sColor = 'black';
|
||||||
|
let sIcon = '';
|
||||||
|
switch(sType) {
|
||||||
|
case 'error': sColor = 'red'; sIcon = '\u274C'; break;
|
||||||
|
case 'warning': sColor = 'orange'; sIcon = '\u26A0'; break;
|
||||||
|
case 'info': sColor = '#2D5E38'; sIcon = '\u2713'; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
var sFormattedMsg = sIcon+' '+sMsg+(sMsg.slice(-1)=='.'?'':'.');
|
||||||
console.log(sFormattedMsg);
|
console.log(sFormattedMsg);
|
||||||
|
|
||||||
let sColor = 'black';
|
|
||||||
switch(sType) {
|
|
||||||
case 'error': sColor = 'red'; break;
|
|
||||||
case 'warning': sColor = 'orange'; break;
|
|
||||||
case 'info': sColor = '#2D5E38'; break;
|
|
||||||
}
|
|
||||||
this.$Feedback.append($('<p>', {'style': 'color: '+sColor+';'}).text(sFormattedMsg));
|
this.$Feedback.append($('<p>', {'style': 'color: '+sColor+';'}).text(sFormattedMsg));
|
||||||
|
|
||||||
this.$Feedback.scrollTop(this.$Feedback.prop("scrollHeight"));
|
this.$Feedback.scrollTop(this.$Feedback.prop("scrollHeight"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -658,13 +660,15 @@ class Gaia {
|
|||||||
iIndex++;
|
iIndex++;
|
||||||
this.incProgress();
|
this.incProgress();
|
||||||
if(iIndex < this.aoWaypoints.length) this.uploadWayPoints(iIndex);
|
if(iIndex < this.aoWaypoints.length) this.uploadWayPoints(iIndex);
|
||||||
else this.assignElementsToFolders();
|
//else this.assignElementsToFolders();
|
||||||
|
else this.feedback('info', 'Done');
|
||||||
}).fail(() => {
|
}).fail(() => {
|
||||||
this.feedback('error', 'Failed to upload waypoint #'+(iIndex + 1)+' "'+asWaypoint.properties.title+'" (Stage 2). Trying again...');
|
this.feedback('error', 'Failed to upload waypoint #'+(iIndex + 1)+' "'+asWaypoint.properties.title+'" (Stage 2). Trying again...');
|
||||||
this.confirmWayPoint(iIndex, asWaypoint, sPostedData);
|
this.confirmWayPoint(iIndex, asWaypoint, sPostedData);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
assignElementsToFolders(iIndex) {
|
assignElementsToFolders(iIndex) {
|
||||||
iIndex = iIndex || 0;
|
iIndex = iIndex || 0;
|
||||||
let asFolders = Object.keys(this.asFolders).map(key => this.asFolders[key]);
|
let asFolders = Object.keys(this.asFolders).map(key => this.asFolders[key]);
|
||||||
@@ -710,6 +714,7 @@ class Gaia {
|
|||||||
this.assignElementsToFolders(iIndex);
|
this.assignElementsToFolders(iIndex);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static getIconName(sGarminName) {
|
static getIconName(sGarminName) {
|
||||||
var asMapping = {
|
var asMapping = {
|
||||||
@@ -746,7 +751,7 @@ class Gaia {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('Loading GaiaGps Uploader 3.1');
|
console.log('Loading GaiaGps Uploader 3.1.1');
|
||||||
let oGaia = new Gaia();
|
let oGaia = new Gaia();
|
||||||
|
|
||||||
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
|
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
|
||||||
@@ -759,10 +764,6 @@ let observer = new MutationObserver((mutations, observer) => {
|
|||||||
observer.disconnect();
|
observer.disconnect();
|
||||||
$Import.parent('li').on('click', () => { setTimeout(() => { oGaia.setLayout(); }, 500)});
|
$Import.parent('li').on('click', () => { setTimeout(() => { oGaia.setLayout(); }, 500)});
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
observer.observe(document, {
|
observer.observe(document, { subtree: true, attributes: true});
|
||||||
subtree: true,
|
|
||||||
attributes: true
|
|
||||||
});
|
|
||||||
Reference in New Issue
Block a user