diff --git a/plugins/bookmarks-by-zaso.user.js b/plugins/bookmarks-by-zaso.user.js index 54164f42..89eda9e9 100644 --- a/plugins/bookmarks-by-zaso.user.js +++ b/plugins/bookmarks-by-zaso.user.js @@ -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 = 'X'; - var folderName = ''+folders['label']+''; + var folderName = ''+folders['label']+'';//'; var folderLabel = folderDelete+folderName; if(folders['state']) { active = ' open'; } @@ -235,6 +235,12 @@ for(var idBkmrk in fold) { var btn_link; var btn_remove = 'X'; + + var btn_move = ''; + if(window.plugin.bookmarks.isSmart) { + btn_move = '='; + } + var bkmrk = fold[idBkmrk]; var label = bkmrk['label']; var latlng = bkmrk['latlng']; @@ -250,7 +256,7 @@ var btn_link = ''+label+''; } // Create the bookmark - elementTemp += '
  • '+btn_remove+btn_link+'
  • '; + elementTemp += '
  • '+btn_remove+btn_move+btn_link+'
  • '; } elementTemp += ''; @@ -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 += '

    '+type+':

    '; + + for(var idFolders in list[type]) { + var label = list[type][idFolders]['label']; + + // Create a folder + foldHTML = '
    '+label+'
    '; + + if(idFolders !== window.plugin.bookmarks.KEY_OTHER_BKMRK) { + listHTML += foldHTML; + } else { + if(showOthersF === true){ + elemGenericFolder = foldHTML; + } + } + } + } + listHTML += elemGenericFolder; + elemGenericFolder = ''; + } + + // Append all folders + var r = '
    ' + + listHTML + + '
    '; + + 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('Rename failed '); + 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 = ''; plugin.bookmarks.htmlCalldrawBox = 'Auto draw'; plugin.bookmarks.htmlCallSetBox = 'Bookmarks Opt'; + plugin.bookmarks.htmlMoveBtn = 'Show/Hide "Move" button' var actions = ''; actions += 'Reset bookmarks'; @@ -980,7 +1096,9 @@ if(plugin.bookmarks.isAndroid()) { actions += 'Import bookmarks'; actions += 'Export bookmarks'; - } else { + } + actions += 'Rename Folder' + if(!plugin.bookmarks.isAndroid()) { actions += 'Save box position'; actions += 'Reset box position'; } @@ -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(); @@ -1059,4 +1182,4 @@ // PLUGIN END ////////////////////////////////////////////////////////// -@@PLUGINEND@@ +@@PLUGINEND@@ \ No newline at end of file diff --git a/plugins/bookmarks-css.css b/plugins/bookmarks-css.css index a8630974..ef7d3a23 100644 --- a/plugins/bookmarks-css.css +++ b/plugins/bookmarks-css.css @@ -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; @@ -664,4 +654,63 @@ width:96%; 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; } \ No newline at end of file