diff --git a/plugins/bookmarks-by-zaso.user.js b/plugins/bookmarks-by-zaso.user.js
index f5fdab4d..5eae4362 100644
--- a/plugins/bookmarks-by-zaso.user.js
+++ b/plugins/bookmarks-by-zaso.user.js
@@ -30,7 +30,7 @@
// use own namespace for plugin
window.plugin.bookmarks = function() {};
- window.plugin.bookmarks.SYNC_DELAY = 5000;
+ window.plugin.bookmarks.SYNC_DELAY = 5;
window.plugin.bookmarks.KEY_OTHER_BKMRK = 'idOthers';
window.plugin.bookmarks.KEY_STORAGE = 'plugin-bookmarks';
@@ -322,12 +322,12 @@
}
// Switch the status of the star
- window.plugin.bookmarks.switchStarPortal = function() {
- var guid = window.selectedPortal;
+ window.plugin.bookmarks.switchStarPortal = function(guid) {
+ if(guid == undefined) guid = window.selectedPortal;
// If portal is saved in bookmarks: Remove this bookmark
- if($('.bkmrksStar').hasClass('favorite')) {
- var bkmrkData = window.plugin.bookmarks.findByGuid(guid);
+ var bkmrkData = window.plugin.bookmarks.findByGuid(guid);
+ if(bkmrkData) {
var list = window.plugin.bookmarks.bkmrksObj['portals'];
delete list[bkmrkData['id_folder']]['bkmrk'][bkmrkData['id_bookmark']];
$('.bkmrk#'+bkmrkData['id_bookmark']+'').remove();
@@ -342,24 +342,23 @@
else{
// Get portal name and coordinates
var p = window.portals[guid];
- var d = p.options.data;
- var label = d.title;
- var lat = p.getLatLng().lat;
- var lng = p.getLatLng().lng;
- var latlng = lat+','+lng;
-
- var ID = window.plugin.bookmarks.generateID();
-
- // Add bookmark in the localStorage
- window.plugin.bookmarks.bkmrksObj['portals'][window.plugin.bookmarks.KEY_OTHER_BKMRK]['bkmrk'][ID] = {"guid":guid,"latlng":latlng,"label":label};
-
- window.plugin.bookmarks.saveStorage();
- window.plugin.bookmarks.refreshBkmrks();
- window.runHooks('pluginBkmrksEdit', {"target": "portal", "action": "add", "id": ID});
- console.log('BOOKMARKS: added portal '+ID);
+ var ll = p.getLatLng();
+ plugin.bookmarks.addPortalBookmark(guid, ll.lat+','+ll.lng, p.options.data.title);
}
}
+ plugin.bookmarks.addPortalBookmark = function(guid, latlng, label) {
+ var ID = window.plugin.bookmarks.generateID();
+
+ // Add bookmark in the localStorage
+ window.plugin.bookmarks.bkmrksObj['portals'][window.plugin.bookmarks.KEY_OTHER_BKMRK]['bkmrk'][ID] = {"guid":guid,"latlng":latlng,"label":label};
+
+ window.plugin.bookmarks.saveStorage();
+ window.plugin.bookmarks.refreshBkmrks();
+ window.runHooks('pluginBkmrksEdit', {"target": "portal", "action": "add", "id": ID, "guid": guid});
+ console.log('BOOKMARKS: added portal '+ID);
+ }
+
// Add BOOKMARK/FOLDER
window.plugin.bookmarks.addElement = function(elem, type) {
var ID = window.plugin.bookmarks.generateID();
@@ -1031,7 +1030,7 @@
window.plugin.bookmarks.editStar = function(data) {
if(data.target === 'portal') {
if(data.action === 'add') {
- var guid = window.selectedPortal;
+ var guid = data.guid;
var latlng = window.portals[guid].getLatLng();
var lbl = window.portals[guid].options.data.title;
var starInLayer = window.plugin.bookmarks.starLayers[data.guid];
@@ -1053,7 +1052,61 @@
window.plugin.bookmarks.setupCSS = function() {
$('');
+ $("