Merge pull request #800 from ZasoGD/Bookmarks-2.9

Bookmarks 2.9
This commit is contained in:
Jon Atkins 2014-05-06 04:59:44 +01:00
commit d7207137ab
2 changed files with 188 additions and 16 deletions

View File

@ -2,7 +2,7 @@
// @id iitc-plugin-bookmarks@ZasoGD
// @name IITC plugin: Bookmarks for maps and portals
// @category Controls
// @version 0.2.8.@@DATETIMEVERSION@@
// @version 0.2.9.@@DATETIMEVERSION@@
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
// @updateURL @@UPDATEURL@@
// @downloadURL @@DOWNLOADURL@@
@ -219,7 +219,7 @@
// Create a label and a anchor for the sortable
var folderDelete = '<span class="folderLabel"><a class="bookmarksRemoveFrom" onclick="window.plugin.bookmarks.removeElement(this, \'folder\');return false;" title="Remove this folder">X</a>';
var folderName = '<a class="bookmarksAnchor" onclick="window.plugin.bookmarks.openFolder(this);return false"><span></span>'+folders['label']+'</a><span><span></span></span></span>';
var folderName = '<a class="bookmarksAnchor" onclick="window.plugin.bookmarks.openFolder(this);return false"><span></span>'+folders['label']+'</a></span>';//<span><span></span></span>';
var folderLabel = folderDelete+folderName;
if(folders['state']) { active = ' open'; }
@ -235,6 +235,12 @@
for(var idBkmrk in fold) {
var btn_link;
var btn_remove = '<a class="bookmarksRemoveFrom" onclick="window.plugin.bookmarks.removeElement(this, \''+typeList+'\');return false;" title="Remove from bookmarks">X</a>';
var btn_move = '';
if(window.plugin.bookmarks.isSmart) {
btn_move = '<a class="bookmarksMoveIn" onclick="window.plugin.bookmarks.dialogMobileSort(\''+typeList+'\', this);return false;">=</a>';
}
var bkmrk = fold[idBkmrk];
var label = bkmrk['label'];
var latlng = bkmrk['latlng'];
@ -250,7 +256,7 @@
var btn_link = '<a class="bookmarksLink" onclick="$(\'a.bookmarksLink.selected\').removeClass(\'selected\');'+returnToMap+'window.zoomToAndShowPortal(\''+guid+'\', ['+latlng+']);return false;">'+label+'</a>';
}
// Create the bookmark
elementTemp += '<li class="bkmrk" id="'+idBkmrk+'">'+btn_remove+btn_link+'</li>';
elementTemp += '<li class="bkmrk" id="'+idBkmrk+'">'+btn_remove+btn_move+btn_link+'</li>';
}
elementTemp += '</li></ul>';
@ -427,9 +433,47 @@
}
window.plugin.bookmarks.deleteMode = function() {
$('#bookmarksBox').toggleClass('deleteMode');
$('#bookmarksBox').removeClass('moveMode').toggleClass('deleteMode');
}
window.plugin.bookmarks.moveMode = function() {
$('#bookmarksBox').removeClass('deleteMode').toggleClass('moveMode');
}
window.plugin.bookmarks.mobileSortIDb = '';
window.plugin.bookmarks.mobileSortIDf = '';
window.plugin.bookmarks.dialogMobileSort = function(type, elem){
window.plugin.bookmarks.mobileSortIDb = $(elem).parent('li.bkmrk').attr('id');
window.plugin.bookmarks.mobileSortIDf = $(elem).parent('li.bkmrk').parent('ul').parent('li.bookmarkFolder').attr('id');
if(type === 'maps'){ type = 1; }
else if(type === 'portals'){ type = 2; }
dialog({
html: window.plugin.bookmarks.dialogLoadListFolders('bookmarksDialogMobileSort', 'window.plugin.bookmarks.mobileSort', true, type),
dialogClass: 'ui-dialog-bkmrksSet-copy',
title: 'Bookmarks - Move Bookmark'
});
}
window.plugin.bookmarks.mobileSort = function(elem){
var type = $(elem).data('type');
var idBkmrk = window.plugin.bookmarks.mobileSortIDb;
var newFold = $(elem).data('id');
var oldFold = window.plugin.bookmarks.mobileSortIDf;
var Bkmrk = window.plugin.bookmarks.bkmrksObj[type][oldFold].bkmrk[idBkmrk];
delete window.plugin.bookmarks.bkmrksObj[type][oldFold].bkmrk[idBkmrk];
window.plugin.bookmarks.bkmrksObj[type][newFold].bkmrk[idBkmrk] = Bkmrk;
window.plugin.bookmarks.saveStorage();
window.plugin.bookmarks.refreshBkmrks();
window.runHooks('pluginBkmrksEdit', {"target": "bookmarks", "action": "sort"});
window.plugin.bookmarks.mobileSortIDf = newFold;
console.log('Move Bookmarks '+type+' ID:'+idBkmrk+' from folder ID:'+oldFold+' to folder ID:'+newFold);
}
/***************************************************************************************************************************************************************/
@ -613,6 +657,77 @@
}
}
window.plugin.bookmarks.dialogLoadListFolders = function(idBox, clickAction, showOthersF, scanType/*0 = maps&portals; 1 = maps; 2 = portals*/) {
var list = JSON.parse(localStorage['plugin-bookmarks']);
var listHTML = '';
var foldHTML = '';
var elemGenericFolder = '';
// For each type and folder
for(var type in list){
if(scanType === 0 || (scanType === 1 && type === 'maps') || (scanType === 2 && type === 'portals')){
listHTML += '<h3>'+type+':</h3>';
for(var idFolders in list[type]) {
var label = list[type][idFolders]['label'];
// Create a folder
foldHTML = '<div class="bookmarkFolder" id="'+idFolders+'" data-type="'+type+'" data-id="'+idFolders+'" onclick="'+clickAction+'(this)";return false;">'+label+'</div>';
if(idFolders !== window.plugin.bookmarks.KEY_OTHER_BKMRK) {
listHTML += foldHTML;
} else {
if(showOthersF === true){
elemGenericFolder = foldHTML;
}
}
}
}
listHTML += elemGenericFolder;
elemGenericFolder = '';
}
// Append all folders
var r = '<div class="bookmarksDialog" id="'+idBox+'">'
+ listHTML
+ '</div>';
return r;
}
window.plugin.bookmarks.renameFolder = function(elem){
var type = $(elem).data('type');
var idFold = $(elem).data('id');
var promptAction = prompt('Insert a new name.', '');
if(promptAction !== null && promptAction !== '') {
try {
var newName = window.plugin.bookmarks.escapeHtml(promptAction);
window.plugin.bookmarks.bkmrksObj[type][idFold].label = newName;
$('#bookmarksDialogRenameF #'+idFold).text(newName);
window.plugin.bookmarks.saveStorage();
window.plugin.bookmarks.refreshBkmrks();
window.runHooks('pluginBkmrksEdit', {"target": "all", "action": "import"});
console.log('BOOKMARKS: renamed bookmarks folder');
window.plugin.bookmarks.optAlert('Successful. ');
} catch(e) {
console.warn('BOOKMARKS: failed to rename folder: '+e);
window.plugin.bookmarks.optAlert('<span style="color: #f88">Rename failed </span>');
return;
}
}
}
window.plugin.bookmarks.optRenameF = function() {
dialog({
html: window.plugin.bookmarks.dialogLoadListFolders('bookmarksDialogRenameF', 'window.plugin.bookmarks.renameFolder', false, 0),
dialogClass: 'ui-dialog-bkmrksSet-copy',
title: 'Bookmarks Rename Folder'
});
}
/***************************************************************************************************************************************************************/
/** AUTO DRAW **************************************************************************************************************************************************/
/***************************************************************************************************************************************************************/
@ -971,6 +1086,7 @@
plugin.bookmarks.htmlStar = '<a class="bkmrksStar" onclick="window.plugin.bookmarks.switchStarPortal();return false;" title="Save this portal in your bookmarks"><span></span></a>';
plugin.bookmarks.htmlCalldrawBox = '<a onclick="window.plugin.bookmarks.dialogDrawer();return false;" title="Draw lines/triangles between bookmarked portals">Auto draw</a>';
plugin.bookmarks.htmlCallSetBox = '<a onclick="window.plugin.bookmarks.manualOpt();return false;">Bookmarks Opt</a>';
plugin.bookmarks.htmlMoveBtn = '<a id="bookmarksMove" class="btn" onclick="window.plugin.bookmarks.moveMode();return false;">Show/Hide "Move" button</a>'
var actions = '';
actions += '<a onclick="window.plugin.bookmarks.optReset();return false;">Reset bookmarks</a>';
@ -980,7 +1096,9 @@
if(plugin.bookmarks.isAndroid()) {
actions += '<a onclick="window.plugin.bookmarks.optImport();return false;">Import bookmarks</a>';
actions += '<a onclick="window.plugin.bookmarks.optExport();return false;">Export bookmarks</a>';
} else {
}
actions += '<a onclick="window.plugin.bookmarks.optRenameF();return false;">Rename Folder</a>'
if(!plugin.bookmarks.isAndroid()) {
actions += '<a onclick="window.plugin.bookmarks.optBox(\'save\');return false;">Save box position</a>';
actions += '<a onclick="window.plugin.bookmarks.optBox(\'reset\');return false;">Reset box position</a>';
}
@ -1031,6 +1149,11 @@
}
$('#toolbox').append(window.plugin.bookmarks.htmlCallSetBox+window.plugin.bookmarks.htmlCalldrawBox);
if(window.plugin.bookmarks.isSmart) {
// $('#bookmarksBox.mobile #topBar').prepend(window.plugin.bookmarks.htmlCallSetBox+window.plugin.bookmarks.htmlCalldrawBox); // wonk in progress
$('#bookmarksBox.mobile #topBar').append(plugin.bookmarks.htmlMoveBtn);
}
window.plugin.bookmarks.loadList('maps');
window.plugin.bookmarks.loadList('portals');
window.plugin.bookmarks.jquerySortableScript();

View File

@ -440,16 +440,6 @@
display:none !important;
}
#bookmarksBox.mobile #topBar #bookmarksDel{
width:100%;
height:34px !important;
font-size:13px;
color:#fff;
font-weight:normal;
padding-top:11px;
text-indent:0;
}
#bookmarksBox.mobile #bookmarksTypeBar h5{
cursor:pointer;
text-align:center;
@ -665,3 +655,62 @@
height:120px;
resize:vertical;
}
/*--- Other Opt css ---*/
#bookmarksBox.mobile a.bookmarksMoveIn{
display:none !important;
}
#bookmarksBox.mobile .bookmarkList ul li ul li.bkmrk a.bookmarksMoveIn{
background:none !important;
text-align:center;
color:#fff;
box-shadow: inset 0 1px 0 #20A8B1,inset -1px 0 0 #20A8B1 !important;
width:10%;
}
#bookmarksBox.mobile.moveMode a.bookmarksMoveIn{
display:block !important;
}
#bookmarksBox.moveMode ul .bookmarksLink,
#bookmarksBox.moveMode ul .othersBookmarks .bookmarksLink{
width:90% !important;
}
.bookmarksDialog h3{
text-transform:capitalize;margin-top:10px;
}
.bookmarksDialog .bookmarkFolder{
margin-bottom:4px;
border:1px solid #20a8b1;
background:#069;
padding:4px 10px;
color:#fff;
cursor:pointer;
}
.bookmarksDialog .bookmarkFolder:hover{
text-decoration:underline;
}
#bookmarksBox.mobile #topBar .btn{
width:100%;height:45px !important;
font-size:13px;
color:#fff;
font-weight:normal;
padding-top:17px;
text-indent:0 !important;
}
#bookmarksBox.mobile .btn{
width:50% !important;
background:#222;
}
#bookmarksBox.mobile .btn.left{
border-right:1px solid #20a8b1 !important;
}
#bookmarksBox.mobile .btn#bookmarksMove{
background:#B42E2E;
}
#bkmrksSetbox{
text-align:center;
}