// ==UserScript==
// @author Zaso
// @name Draw tools plus
// @category Layer
// @version 0.1.10.20210103.185428
// @description Edit and improve Draw tools.
// @id draw-tools-plus@Zaso
// @namespace https://github.com/IITC-CE/ingress-intel-total-conversion
// @downloadURL https://raw.githubusercontent.com/IITC-CE/Community-plugins/master/dist/Zaso/draw-tools-plus.user.js
// @updateURL https://raw.githubusercontent.com/IITC-CE/Community-plugins/master/dist/Zaso/draw-tools-plus.meta.js
// @depends draw-tools@breunigs
// @match https://intel.ingress.com/*
// @grant none
// ==/UserScript==
function wrapper(plugin_info) {
// ensure plugin framework is there, even if iitc is not yet loaded
if(typeof window.plugin !== 'function') window.plugin = function() {};
//PLUGIN AUTHORS: writing a plugin outside of the IITC build environment? if so, delete these lines!!
//(leaving them in place might break the 'About IITC' page or break update checks)
plugin_info.buildName = 'ZasoItems';
plugin_info.dateTimeVersion = '2021-01-03-185428';
plugin_info.pluginId = 'draw-tools-plus';
//END PLUGIN AUTHORS NOTE
// PLUGIN START ////////////////////////////////////////////////////////
// history
// 0.1.10 stripped all code for EDF, merge and MPE
// 0.1.9 Headers updated. Ready for IITC-CE
// 0.1.8 Original script
/*
// "color" is optional
window.plugin.drawToolsPlus.drawPolyline(arrCoordArr, color);
window.plugin.drawToolsPlus.drawPolygon(arrCoordArr, color);
window.plugin.drawToolsPlus.drawCircle(coord, radius, color);
window.plugin.drawToolsPlus.drawMarker(coord, color);
*/
// use own namespace for plugin
window.plugin.drawToolsPlus = {};
// ---------------------------------------------------------------------------------
// MODDING DRAW TOOLS
// ---------------------------------------------------------------------------------
window.plugin.drawToolsPlus.boot = function(){
window.plugin.drawToolsPlus.storageKEY = 'plugin-draw-tools-layer';
// Add FA icon to sidebar
window.addHook('iitcLoaded', function(){
$('#toolbox a:contains(\'DrawTools Opt\')').addClass('list-group-item').prepend('');
});
};
// FUNCTIONS TO DRAW
window.plugin.drawToolsPlus.fireDraw = function(layer, layerType){
map.fire('draw:created', {
layer: layer,
layerType: layerType
});
}
window.plugin.drawToolsPlus.drawPolyline = function(arrCoordArr, color){
if(color !== undefined){
var oldColor = window.plugin.drawTools.currentColor;
window.plugin.drawTools.setDrawColor(color);
}
var drawOpt = window.plugin.drawTools.lineOptions;
var layer = L.geodesicPolyline(arrCoordArr, drawOpt);
var layerType = 'polyline';
window.plugin.drawToolsPlus.fireDraw(layer, layerType);
if(color !== undefined){ window.plugin.drawTools.setDrawColor(oldColor); }
return layer;
}
window.plugin.drawToolsPlus.drawPolygon = function(arrCoordArr, color){
if(color !== undefined){
var oldColor = window.plugin.drawTools.currentColor;
window.plugin.drawTools.setDrawColor(color);
}
var drawOpt = window.plugin.drawTools.polygonOptions;
var layer = L.geodesicPolygon(arrCoordArr, drawOpt);
var layerType = 'polygon';
window.plugin.drawToolsPlus.fireDraw(layer, layerType);
if(color !== undefined){ window.plugin.drawTools.setDrawColor(oldColor); }
return layer;
}
window.plugin.drawToolsPlus.drawCircle = function(coord, radius, color){
if(color !== undefined){
var oldColor = window.plugin.drawTools.currentColor;
window.plugin.drawTools.setDrawColor(color);
}
var drawOpt = window.plugin.drawTools.polygonOptions;
var layer = L.geodesicCircle(coord, radius, drawOpt);
var layerType = 'circle';
window.plugin.drawToolsPlus.fireDraw(layer, layerType);
if(color !== undefined){ window.plugin.drawTools.setDrawColor(oldColor); }
return layer;
}
window.plugin.drawToolsPlus.drawMarker = function(coord, color){
if(color !== undefined){
var oldColor = window.plugin.drawTools.currentColor;
window.plugin.drawTools.setDrawColor(color);
}
var drawOpt = window.plugin.drawTools.markerOptions;
var layer = L.marker(coord, drawOpt);
var layerType = 'marker';
window.plugin.drawToolsPlus.fireDraw(layer, layerType);
if(color !== undefined){ window.plugin.drawTools.setDrawColor(oldColor); }
return layer;
}
// *********************************************************************************
window.plugin.drawToolsPlus.setupCSS = function(){
$("