1var jvMap = (function(self,$) { 2 self.params = { 3 map : null, 4 settings : { 5 activeRegions : [], 6 activeRegionColor : "#0077bf", 7 backgroundColor : "#ffffff", 8 map : "world", 9 mapId : "jv-map", 10 focusOn : {x:0.45,y:0.43,scale:4.7}, 11 onRegionOver : null, 12 onRegionClick : null, 13 onRegionTipShow : null, 14 regionStyle : { 15 initial : { 16 fill : '#cccccc', 17 "fill-opacity": 1, 18 stroke : "#505050", 19 "stroke-width" : 0.2, 20 "stroke-opacity" : 1 21 }, 22 hover : { 23 fill : '#ffc40c', 24 } 25 }, 26 series : {} 27 } 28 }; 29 self.init = function(props) { 30 if ( typeof props === "object" ) { 31 for ( var prop in props ) { 32 self.params.settings[prop] = props[prop]; 33 } 34 } 35 self.map.render(); 36 }; 37 self.map = { 38 render : function() { 39 $("#" + self.params.settings.mapId).empty().vectorMap({ 40 backgroundColor : self.params.settings.backgroundColor, 41 map: self.params.settings.map, 42 focusOn: self.params.settings.focusOn, 43 onRegionClick: function(ev,iso) { 44 if ( self.params.settings.activeRegions.indexOf(iso) > -1 ) { 45 if ( typeof self.params.settings.onRegionClick === "function" ) { 46 self.params.settings.onRegionClick(ev,iso); 47 } 48 } 49 else { 50 ev.preventDefault(); 51 } 52 }, 53 onRegionOver: function(ev,iso) { 54 if ( self.params.settings.activeRegions.indexOf(iso) == -1 ) { 55 ev.preventDefault(); 56 } 57 else if ( typeof self.params.settings.onRegionOver === "function" ) { 58 self.params.settings.onRegionOver(ev,iso); 59 } 60 }, 61 onRegionTipShow : function(ev,el,iso) { 62 if ( self.params.settings.activeRegions.indexOf(iso) == -1 ) { 63 ev.preventDefault(); 64 } 65 else if ( typeof self.params.settings.onRegionTipShow === "function" ) { 66 self.params.settings.onRegionOver(ev,el,iso); 67 } 68 }, 69 regionStyle : self.params.settings.regionStyle, 70 zoomMax : 12, 71 series : self.prepareActiveRegions() 72 }); 73 self.params.map = $("#" + self.params.settings.mapId).vectorMap("get","mapObject"); 74 } 75 }; 76 self.prepareActiveRegions = function() { 77 var series = { 78 regions : [{ 79 values : {} 80 }] 81 }; 82 for ( var i = 0; i < self.params.settings.activeRegions.length; i++ ) { 83 var iso = self.params.settings.activeRegions[i]; 84 series.regions[0].values[iso] = self.params.settings.activeRegionColor; 85 } 86 return series; 87 }; 88 return self; 89}(jvMap || {},jQuery));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.