diff --git a/dist/jquery.imagemapster.js b/dist/jquery.imagemapster.js
index 0bda1f0..2a5043e 100644
--- a/dist/jquery.imagemapster.js
+++ b/dist/jquery.imagemapster.js
@@ -1,5 +1,5 @@
/*!
-* imagemapster - v1.6.0 - 2024-03-12
+* imagemapster - v1.6.0 - 2024-04-05
* https://github.com/jamietre/ImageMapster/
* Copyright (c) 2011 - 2024 James Treworgy
* License: MIT
@@ -31,7 +31,7 @@
factory(jQuery);
}
}(function (jQuery) {
- /*
+/*
jqueryextensions.js
Extend/intercept jquery behavior
*/
@@ -699,8 +699,8 @@
return d && d.g_vml_
? false
: $('')[0].getContext
- ? true
- : false;
+ ? true
+ : false;
}
/**
@@ -2606,8 +2606,8 @@
return !ar
? ''
: ar.isPrimary
- ? ar.key
- : this.getPrimaryKeysForMapAreas(ar.areas()).join(',');
+ ? ar.key
+ : this.getPrimaryKeysForMapAreas(ar.areas()).join(',');
},
/**
@@ -2948,8 +2948,8 @@
sel = m.hasVml()
? 'area'
: default_group
- ? 'area[coords]'
- : 'area[' + opts.mapKey + ']';
+ ? 'area[coords]'
+ : 'area[' + opts.mapKey + ']';
areas = $(me.map).find(sel).off('.mapster');
@@ -3354,22 +3354,22 @@
return u.isBool(this.selected)
? this.selected
: u.isBool(this.owner.area_options.selected)
- ? this.owner.area_options.selected
- : false;
+ ? this.owner.area_options.selected
+ : false;
},
isSelectable: function () {
return u.isBool(this.effectiveOptions().staticState)
? false
: u.isBool(this.owner.options.staticState)
- ? false
- : u.boolOrDefault(this.effectiveOptions().isSelectable, true);
+ ? false
+ : u.boolOrDefault(this.effectiveOptions().isSelectable, true);
},
isDeselectable: function () {
return u.isBool(this.effectiveOptions().staticState)
? false
: u.isBool(this.owner.options.staticState)
- ? false
- : u.boolOrDefault(this.effectiveOptions().isDeselectable, true);
+ ? false
+ : u.boolOrDefault(this.effectiveOptions().isDeselectable, true);
},
isNotRendered: function () {
return isNoHref(this.area) || this.effectiveOptions().isMask;
@@ -4603,4 +4603,4 @@
};
})(jQuery);
-}));
\ No newline at end of file
+}));
diff --git a/dist/jquery.imagemapster.min.js b/dist/jquery.imagemapster.min.js
index 7ff881a..320217e 100644
--- a/dist/jquery.imagemapster.min.js
+++ b/dist/jquery.imagemapster.min.js
@@ -1,5 +1,5 @@
/*!
-* imagemapster - v1.6.0 - 2024-03-12
+* imagemapster - v1.6.0 - 2024-04-05
* https://github.com/jamietre/ImageMapster/
* Copyright (c) 2011 - 2024 James Treworgy
* License: MIT
diff --git a/dist/jquery.imagemapster.min.js.map b/dist/jquery.imagemapster.min.js.map
index 0a3eafe..8d51ac1 100644
--- a/dist/jquery.imagemapster.min.js.map
+++ b/dist/jquery.imagemapster.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"jquery.imagemapster.min.js","sources":["jquery.imagemapster.js"],"names":["factory","define","amd","module","exports","root","jQuery","undefined","window","require","$","event","special","setupListener","supportsPassive","opts","Object","defineProperty","get","addEventListener","removeEventListener","e","ns","type","listener","includes","this","passive","touchstart","setup","_","call","touchend","mapster_version","m","fn","mapster","method","impl","utils","isFunction","apply","Array","prototype","slice","arguments","error","bind","version","render_defaults","isSelectable","isDeselectable","fade","fadeDuration","fill","fillColor","fillColorMask","fillOpacity","highlight","stroke","strokeColor","strokeOpacity","strokeWidth","includeKeys","altImage","altImageId","altImages","defaults","clickNavigate","navigateMode","wrapClass","wrapCss","onGetList","sortList","listenToList","mapKey","mapValue","singleSelect","listKey","listSelectedAttribute","listSelectedClass","onClick","onMouseover","onMouseout","mouseoutDelay","onStateChange","boundList","onConfigured","configTimeout","noHrefIsMask","scaleMap","enableAutoResizeSupport","autoResize","autoResizeDelay","autoResizeDuration","onAutoResize","safeLoad","areas","shared_defaults","render_highlight","render_select","staticState","selected","area_defaults","isMask","canvas_style","position","left","top","padding","border","hasCanvas","map_cache","hooks","addHook","name","callback","push","callHooks","context","each","when","all","deferredArray","Promise","defer","promise","resolve","reject","then","catch","subclass","BaseClass","constr","Subclass","me","args","base","init","constructor","asArray","obj","split","text","cb","el","arr","i","length","trim","splice","updateProps","_target","_template","target","template","isEmptyObject","onlyProps","prop","src","p","inArray","isPlainObject","extend","isElement","o","HTMLElement","nodeType","nodeName","indexOf","indexOfProp","val","result","boolOrDefault","def","isBool","isUndef","ifFunction","that","size","image","raw","u","width","naturalWidth","imgWidth","height","naturalHeight","imgHeight","complete","setOpacity","opacity","style","css","fader","fade_func","op","endOp","duration","index","cbIntervals","elements","lastKey","setTimeout","getShape","areaEl","shape","toLowerCase","hasAttribute","attrName","attr","getBoundList","key_list","key","list","is","add","getMapDataIndex","img","id","tagName","parent","getMapData","queueCommand","map_data","command","currentAction","commands","unload","off","ap","capProp","substr","toUpperCase","jqwidth","Method","func_map","func_area","output","input","first","allowAsync","go","data","ar","area_list","len","getData","addMap","removeMap","hasVml","a","appendTo","b","html","firstChild","has","behavior","adj","remove","namespaces","document","d","g_vml_","getContext","merge_areas","map_areas","options","getDataForKey","merge_options","temp_opts","area_options","md","getSelected","isSelected","defaultReturn","highlightId","ensureNoHighlight","keys","keyList","addUniqueKeys","getKeysForGroup","getDataForArea","join","ad","concat","select","set","deselect","lastMap","addArea","finishSetForMap","setSelection","toggle","removeSelectionFinish","filter","toString","unbind","preserveState","clearEvents","clearMapData","rebind","configureOptions","bindImages","buildDataset","get_options","effective","eff","effectiveOptions","set_options","graphics","snapshot","base_canvas","createVisibleCanvas","before","state","map","usemap","getAttribute","MapData","initialize","useCanvas","shapes","value","v","createStyleSheet","addRule","test","eval","canvasMethods","vmlMethods","addShapeGroupImpl","areaData","nohref","addShape","hex_to_decimal","hex","Math","max","min","parseInt","css3color","color","noop","Graphics","active","canvas","masks","begin","elementName","c","mapArea","mapData","createCanvasFor","addClass","addShapeGroup","mode","effectiveRenderOptions","areaId","overlay_canvas","render","find","not","renderShape","offset","coords","rect","moveTo","lineTo","arc","PI","addAltImage","beginPath","closePath","clip","globalAlpha","altImageOpacity","drawImage","owner","scaleInfo","maskCanvas","maskContext","hasMasks","shapeCanvas","shapeContext","clearRect","save","lineWidth","fillStyle","restore","s","images","strokeStyle","globalCompositeOperation","clearHighlight","refreshSelections","canvas_temp","hide","redrawSelections","show","cssclass","el_name","el_class","t_fill","append","w","h","children","removeSelections","area_id","MapImages","clear","status","_add","ids","on","imageLoaded","imageLoadError","triesLeft","check","isLoaded","imgTimeout","deferred","resolver","clearTimeout","queueMouseEvent","delay","area","activeAreaEvent","completeAction","currentAreaId","shouldNavigateTo","href","mousedown","blur","preventDefault","imgCssText","cssText","mapAreas","_xref","_tooltip_events","autoResizeTimer","mouseover","arData","getAllDataForArea","isNotRendered","clearEffects","showToolTip","toolTip","mouseout","relatedTarget","click","list_target","newSelectionState","canChangeState","cbResult","areaOpts","navigateTo","open","location","getNavDetails","defaultHref","useEl","elHref","hrefTarget","clickArea","listTarget","navDetails","toolTipClose","activeToolTip","clearToolTip","mi","e2","isActive","resizing","zoomed","zoomedArea","wrapId","instanceEventNamespace","_idFromKey","hasOwnProperty","atMost","isPrimary","getPrimaryKeysForMapAreas","changeState","setHighlightId","clearSelections","setAreaOptions","drawSelections","key_arr","drawSelection","isSelectedOrStatic","setBoundListProperties","removeClass","clearBoundListProperties","refreshBoundList","setBoundList","sort_func","sorted_list","sort","wrap","scale","parentId","substring","className","wrapper","imgCopy","display","processCommandQueue","configureAutoResize","$img","sel","j","$area","curKey","mapAreaId","group_value","dataItem","default_group","addAreaData","AreaData","String","configure","areaDataXref","MapArea","areasXref","cur","_clearCanvases","reset","g","isNoHref","staticStateOverridden","optsCache","constuctor","newOptsCache","hasOptions","changeOptions","isDrawn","selectedHasChanged","updateSelected","partial","prevSelected","allOpts","state_type","originalCoords","parseFloat","areaCorners","container","pos","found","minX","minY","maxX","maxY","bestMinX","bestMaxX","bestMinY","bestMaxY","curX","curY","nest","rootx","rooty","iCoords","radius","angle","offsetx","offsety","body","cos","sin","getScaleInfo","actual","pct","scalePct","realWidth","realHeight","ratio","imageRaw","vis","resize","promises","newsize","sizeCanvas","finishResize","tempOptions","resizeMapData","round","els","animate","easing","resizeMap","percent","coordOffset","newCoords","noDimensions","isAutoResize","createToolTip","tooltip","clone","bindToolTipClose","bindOption","beforeClose","onClose","tooltip_ns","event_name","ttopts","corners","outerWidth","outerHeight","tooltipCss","actalOpacity","zindex","getHtmlFromOptions","jquery","content","getOptionsFromOptions","toolTipContainer","toolTipFade","onShowToolTip","onHideToolTip","stop","activeToolTipID","closeOpts","closeEvents","effectiveContent","tipClosed","areaOptions","defaultTarget"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"jquery.imagemapster.min.js","sources":["jquery.imagemapster.js"],"names":["factory","define","amd","module","exports","root","jQuery","undefined","window","require","$","event","special","setupListener","supportsPassive","opts","Object","defineProperty","get","addEventListener","removeEventListener","e","ns","type","listener","includes","this","passive","touchstart","setup","_","call","touchend","mapster_version","m","fn","mapster","method","impl","utils","isFunction","apply","Array","prototype","slice","arguments","error","bind","version","render_defaults","isSelectable","isDeselectable","fade","fadeDuration","fill","fillColor","fillColorMask","fillOpacity","highlight","stroke","strokeColor","strokeOpacity","strokeWidth","includeKeys","altImage","altImageId","altImages","defaults","clickNavigate","navigateMode","wrapClass","wrapCss","onGetList","sortList","listenToList","mapKey","mapValue","singleSelect","listKey","listSelectedAttribute","listSelectedClass","onClick","onMouseover","onMouseout","mouseoutDelay","onStateChange","boundList","onConfigured","configTimeout","noHrefIsMask","scaleMap","enableAutoResizeSupport","autoResize","autoResizeDelay","autoResizeDuration","onAutoResize","safeLoad","areas","shared_defaults","render_highlight","render_select","staticState","selected","area_defaults","isMask","canvas_style","position","left","top","padding","border","hasCanvas","map_cache","hooks","addHook","name","callback","push","callHooks","context","each","when","all","deferredArray","Promise","defer","promise","resolve","reject","then","catch","subclass","BaseClass","constr","Subclass","me","args","base","init","constructor","asArray","obj","split","text","cb","el","arr","i","length","trim","splice","updateProps","_target","_template","target","template","isEmptyObject","onlyProps","prop","src","p","inArray","isPlainObject","extend","isElement","o","HTMLElement","nodeType","nodeName","indexOf","indexOfProp","val","result","boolOrDefault","def","isBool","isUndef","ifFunction","that","size","image","raw","u","width","naturalWidth","imgWidth","height","naturalHeight","imgHeight","complete","setOpacity","opacity","style","css","fader","fade_func","op","endOp","duration","index","cbIntervals","elements","lastKey","setTimeout","getShape","areaEl","shape","toLowerCase","hasAttribute","attrName","attr","getBoundList","key_list","key","list","is","add","getMapDataIndex","img","id","tagName","parent","getMapData","queueCommand","map_data","command","currentAction","commands","unload","off","ap","capProp","substr","toUpperCase","jqwidth","Method","func_map","func_area","output","input","first","allowAsync","go","data","ar","area_list","len","getData","addMap","removeMap","hasVml","a","appendTo","b","html","firstChild","has","behavior","adj","remove","namespaces","document","d","g_vml_","getContext","merge_areas","map_areas","options","getDataForKey","merge_options","temp_opts","area_options","md","getSelected","isSelected","defaultReturn","highlightId","ensureNoHighlight","keys","keyList","addUniqueKeys","getKeysForGroup","getDataForArea","join","ad","concat","select","set","deselect","lastMap","addArea","finishSetForMap","setSelection","toggle","removeSelectionFinish","filter","toString","unbind","preserveState","clearEvents","clearMapData","rebind","configureOptions","bindImages","buildDataset","get_options","effective","eff","effectiveOptions","set_options","graphics","snapshot","base_canvas","createVisibleCanvas","before","state","map","usemap","getAttribute","MapData","initialize","useCanvas","shapes","value","v","createStyleSheet","addRule","test","eval","canvasMethods","vmlMethods","addShapeGroupImpl","areaData","nohref","addShape","hex_to_decimal","hex","Math","max","min","parseInt","css3color","color","noop","Graphics","active","canvas","masks","begin","elementName","c","mapArea","mapData","createCanvasFor","addClass","addShapeGroup","mode","effectiveRenderOptions","areaId","overlay_canvas","render","find","not","renderShape","offset","coords","rect","moveTo","lineTo","arc","PI","addAltImage","beginPath","closePath","clip","globalAlpha","altImageOpacity","drawImage","owner","scaleInfo","maskCanvas","maskContext","hasMasks","shapeCanvas","shapeContext","clearRect","save","lineWidth","fillStyle","restore","s","images","strokeStyle","globalCompositeOperation","clearHighlight","refreshSelections","canvas_temp","hide","redrawSelections","show","cssclass","el_name","el_class","t_fill","append","w","h","children","removeSelections","area_id","MapImages","clear","status","_add","ids","on","imageLoaded","imageLoadError","triesLeft","check","isLoaded","imgTimeout","deferred","resolver","clearTimeout","queueMouseEvent","delay","area","activeAreaEvent","completeAction","currentAreaId","shouldNavigateTo","href","mousedown","blur","preventDefault","imgCssText","cssText","mapAreas","_xref","_tooltip_events","autoResizeTimer","mouseover","arData","getAllDataForArea","isNotRendered","clearEffects","showToolTip","toolTip","mouseout","relatedTarget","click","list_target","newSelectionState","canChangeState","cbResult","areaOpts","navigateTo","open","location","getNavDetails","defaultHref","useEl","elHref","hrefTarget","clickArea","listTarget","navDetails","toolTipClose","activeToolTip","clearToolTip","mi","e2","isActive","resizing","zoomed","zoomedArea","wrapId","instanceEventNamespace","_idFromKey","hasOwnProperty","atMost","isPrimary","getPrimaryKeysForMapAreas","changeState","setHighlightId","clearSelections","setAreaOptions","drawSelections","key_arr","drawSelection","isSelectedOrStatic","setBoundListProperties","removeClass","clearBoundListProperties","refreshBoundList","setBoundList","sort_func","sorted_list","sort","wrap","scale","parentId","substring","className","wrapper","imgCopy","display","processCommandQueue","configureAutoResize","$img","sel","j","$area","curKey","mapAreaId","group_value","dataItem","default_group","addAreaData","AreaData","String","configure","areaDataXref","MapArea","areasXref","cur","_clearCanvases","reset","g","isNoHref","staticStateOverridden","optsCache","constuctor","newOptsCache","hasOptions","changeOptions","isDrawn","selectedHasChanged","updateSelected","partial","prevSelected","allOpts","state_type","originalCoords","parseFloat","areaCorners","container","pos","found","minX","minY","maxX","maxY","bestMinX","bestMaxX","bestMinY","bestMaxY","curX","curY","nest","rootx","rooty","iCoords","radius","angle","offsetx","offsety","body","cos","sin","getScaleInfo","actual","pct","scalePct","realWidth","realHeight","ratio","imageRaw","vis","resize","promises","newsize","sizeCanvas","finishResize","tempOptions","resizeMapData","round","els","animate","easing","resizeMap","percent","coordOffset","newCoords","noDimensions","isAutoResize","createToolTip","tooltip","clone","bindToolTipClose","bindOption","beforeClose","onClose","tooltip_ns","event_name","ttopts","corners","outerWidth","outerHeight","tooltipCss","actalOpacity","zindex","getHtmlFromOptions","jquery","content","getOptionsFromOptions","toolTipContainer","toolTipFade","onShowToolTip","onHideToolTip","stop","activeToolTipID","closeOpts","closeEvents","effectiveContent","tipClosed","areaOptions","defaultTarget"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/jquery.imagemapster.min.mjs b/dist/jquery.imagemapster.min.mjs
new file mode 100644
index 0000000..540763f
--- /dev/null
+++ b/dist/jquery.imagemapster.min.mjs
@@ -0,0 +1,8 @@
+/*!
+* imagemapster - v1.6.0 - 2024-04-05
+* https://github.com/jamietre/ImageMapster/
+* Copyright (c) 2011 - 2024 James Treworgy
+* License: MIT
+*/
+import jQuery from"jquery";function imagemapsterFactory(jQuery){!function(e){"use strict";if(e.event&&e.event.special){var i,t=!1;try{var a=Object.defineProperty({},"passive",{get:function(){return t=!0}});window.addEventListener("testPassive.mapster",function(){},a),window.removeEventListener("testPassive.mapster",function(){},a)}catch(e){}t&&(i=function(e,t,a){if(!e.includes("mapster")||!e.includes("noPreventDefault"))return!1;this.addEventListener(t,a,{passive:!0})},e.event.special.touchstart={setup:function(e,t,a){return i.call(this,t,"touchstart",a)}},e.event.special.touchend={setup:function(e,t,a){return i.call(this,t,"touchend",a)}})}}(jQuery),!function($){"use strict";var mapster_version="1.6.0",m=($.fn.mapster=function(e){var t=$.mapster.impl;return $.mapster.utils.isFunction(t[e])?t[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void $.error("Method "+e+" does not exist on jQuery.mapster"):t.bind.apply(this,arguments)},$.mapster={version:mapster_version,render_defaults:{isSelectable:!0,isDeselectable:!0,fade:!1,fadeDuration:150,fill:!0,fillColor:"000000",fillColorMask:"FFFFFF",fillOpacity:.7,highlight:!0,stroke:!1,strokeColor:"ff0000",strokeOpacity:1,strokeWidth:1,includeKeys:"",altImage:null,altImageId:null,altImages:{}},defaults:{clickNavigate:!1,navigateMode:"location",wrapClass:null,wrapCss:null,onGetList:null,sortList:!1,listenToList:!1,mapKey:"",mapValue:"",singleSelect:!1,listKey:"value",listSelectedAttribute:"selected",listSelectedClass:null,onClick:null,onMouseover:null,onMouseout:null,mouseoutDelay:0,onStateChange:null,boundList:null,onConfigured:null,configTimeout:3e4,noHrefIsMask:!0,scaleMap:!0,enableAutoResizeSupport:!1,autoResize:!1,autoResizeDelay:0,autoResizeDuration:0,onAutoResize:null,safeLoad:!1,areas:[]},shared_defaults:{render_highlight:{fade:!0},render_select:{fade:!1},staticState:null,selected:null},area_defaults:{includeKeys:"",isMask:!1},canvas_style:{position:"absolute",left:0,top:0,padding:0,border:0},hasCanvas:null,map_cache:[],hooks:{},addHook:function(e,t){this.hooks[e]=(this.hooks[e]||[]).push(t)},callHooks:function(e,a){$.each(this.hooks[e]||[],function(e,t){t.apply(a)})},utils:{when:{all:function(e){return Promise.all(e)},defer:function(){return new function(){this.promise=new Promise(function(e,t){this.resolve=e,this.reject=t}.bind(this)),this.then=this.promise.then.bind(this.promise),this.catch=this.promise.catch.bind(this.promise)}}},defer:function(){return this.when.defer()},subclass:function(a,i){function e(){var e=this,t=Array.prototype.slice.call(arguments,0);e.base=a.prototype,e.base.init=function(){a.prototype.constructor.apply(e,t)},i.apply(e,t)}return(e.prototype=new a).constructor=e},asArray:function(e){return e.constructor===Array?e:this.split(e)},split:function(e,t){for(var a,i=e.split(","),n=0;n=e.index;t--)m.map_cache[t].index--};function hasVml(){var e=$("").appendTo("body"),t=(e.html(''),e[0].firstChild),t=(t.style.behavior="url(#default#VML)",!t||"object"==typeof t.adj);return e.remove(),t}function namespaces(){return"object"==typeof document.namespaces?document.namespaces:null}function hasCanvas(){var e=namespaces();return!(e&&e.g_vml_||!$("")[0].getContext)}function merge_areas(a,e){var i,n=a.options.areas;e&&$.each(e,function(e,t){t&&t.key&&(0<=(i=u.indexOfProp(n,"key",t.key))?$.extend(n[i],t):n.push(t),i=a.getDataForKey(t.key))&&$.extend(i.options,t)})}function merge_options(e,t){var a=u.updateProps({},t);delete a.areas,u.updateProps(e.options,a),merge_areas(e,t.areas),u.updateProps(e.area_options,e.options)}return me.get=function(e){var t=m.getMapData(this);if(t&&t.complete)return new m.Method(this,function(){return this.getSelected()},function(){return this.isSelected()},{name:"get",args:arguments,key:e,first:!0,allowAsync:!0,defaultReturn:""}).go();throw"Can't access data until binding complete."},me.data=function(e){return new m.Method(this,null,function(){return this},{name:"data",args:arguments,key:e}).go()},me.highlight=function(t){return new m.Method(this,function(){var e;if(!1!==t)return 0<=(e=this.highlightId)?this.data[e].key:null;this.ensureNoHighlight()},function(){this.highlight()},{name:"highlight",args:arguments,key:t,first:!0}).go()},me.keys=function(e,i){var n=[],a=m.getMapData(this);if(a&&a.complete)return a&&a.complete?("string"==typeof e?i?s(a.getDataForKey(e)):n=[a.getKeysForGroup(e)]:(i=e,this.each(function(e,t){"AREA"===t.nodeName&&s(a.getDataForArea(t))})),n.join(",")):"";throw"Can't access data until binding complete.";function s(e){var t,a=[];i?(t=e.areas(),$.each(t,function(e,t){a=a.concat(t.keys)})):a.push(e.key),$.each(a,function(e,t){$.inArray(t,n)<0&&n.push(t)})}},me.select=function(){me.set.call(this,!0)},me.deselect=function(){me.set.call(this,!1)},me.set=function(i,n,e){var s,o,r,c,l=e;function h(e){e&&$.inArray(e,c)<0&&(c.push(e),r+=(""===r?"":",")+e.key)}function p(e){$.each(c,function(e,t){var a=t;if(a)switch(i){case!0:a.select(l);break;case!1:a.deselect(!0);break;default:a.toggle(l)}}),i||e.removeSelectionFinish()}return this.filter("img,area").each(function(e,t){var a;(o=m.getMapData(t))!==s&&(s&&p(s),c=[],r=""),o&&(a="","IMG"===t.nodeName.toUpperCase()?m.queueCommand(o,$(t),"set",[i,n,l])||(n instanceof Array?n.length&&(a=n.join(",")):a=n,a&&$.each(u.split(a),function(e,t){h(o.getDataForKey(t.toString())),s=o})):(l=n,m.queueCommand(o,$(t),"set",[i,l])||(h(o.getDataForArea(t)),s=o)))}),o&&p(o),this},me.unbind=function(e){return new m.Method(this,function(){this.clearEvents(),this.clearMapData(e),removeMap(this)},null,{name:"unbind",args:arguments}).go()},me.rebind=function(t){return new m.Method(this,function(){var e=this;e.complete=!1,e.configureOptions(t),e.bindImages().then(function(){e.buildDataset(!0),e.complete=!0,e.onConfigured()})},null,{name:"rebind",args:arguments}).go()},me.get_options=function(e,t){var a=u.isBool(e)?e:t;return new m.Method(this,function(){var e=$.extend({},this.options);return a&&(e.render_select=u.updateProps({},m.render_defaults,e,e.render_select),e.render_highlight=u.updateProps({},m.render_defaults,e,e.render_highlight)),e},function(){return a?this.effectiveOptions():this.options},{name:"get_options",args:arguments,first:!0,allowAsync:!0,key:e}).go()},me.set_options=function(e){return new m.Method(this,function(){merge_options(this,e)},null,{name:"set_options",args:arguments}).go()},me.unload=function(){for(var e=m.map_cache.length-1;0<=e;e--)m.map_cache[e]&&me.unbind.call($(m.map_cache[e].image));me.graphics=null},me.snapshot=function(){return new m.Method(this,function(){$.each(this.data,function(e,t){t.selected=!1}),this.base_canvas=this.graphics.createVisibleCanvas(this),$(this.image).before(this.base_canvas)},null,{name:"snapshot"}).go()},me.state=function(){var a,i=null;return $(this).each(function(e,t){if("IMG"===t.nodeName)return(a=m.getMapData(t))&&(i=a.state()),!1}),i},me.bind=function(s){return this.each(function(e,t){var a,i=$(t),n=m.getMapData(t);if(n){if(me.unbind.apply(i),!n.complete)return!0;n=null}if(a=(t=this.getAttribute("usemap"))&&$('map[name="'+t.substr(1)+'"]'),!(i.is("img")&&t&&0')[0]},clearHighlight:function(){var e=this.map_data.overlay_canvas;e.getContext("2d").clearRect(0,0,e.width,e.height)},refreshSelections:function(){var e=this.map_data,t=e.base_canvas;e.base_canvas=this.createVisibleCanvas(e),h(e.base_canvas).hide(),h(t).before(e.base_canvas),e.redrawSelections(),h(e.base_canvas).show(),h(t).remove()}},s={renderShape:function(e,t,a){var i,n=this,s=e.coords(),o=n.elementName?'name="'+n.elementName+'" ':"",r=a?'class="'+a+'" ':"",c='',l=t.stroke?" strokeweight="+t.strokeWidth+' stroked="t" strokecolor="#'+t.strokeColor+'"':' stroked="f"',u=t.fill?' filled="t"':' filled="f"';switch(e.shape){case"rect":case"rectangle":i="'+c+"";break;case"poly":case"polygon":i="'+c+"";break;case"circ":case"circle":i="'+c+""}return a=h(i),h(n.canvas).append(a),a},render:function(){var a,i=this;return h.each(this.shapes,function(e,t){i.renderShape(t.mapArea,t.options)}),this.masks.length&&h.each(this.masks,function(e,t){a=c.updateProps({},t.options,{fillOpacity:1,fillColor:t.options.fillColorMask}),i.renderShape(t.mapArea,a,"mapster_mask")}),this.active=!1,this.canvas},createCanvasFor:function(e){var t=e.scaleInfo.width,e=e.scaleInfo.height;return h('')[0]},clearHighlight:function(){h(this.map_data.overlay_canvas).children().remove()},removeSelections:function(e){(0<=e?h(this.map_data.base_canvas).find('[name="static_'+e.toString()+'"]'):h(this.map_data.base_canvas).children()).remove()}},h.each(["renderShape","addAltImage","render","createCanvasFor","clearHighlight","removeSelections","refreshSelections"],function(e,t){var a;i[t]=(a=t,function(){return i[a]=(r.hasCanvas()?n:s)[a]||o,i[a].apply(this,arguments)})})}(jQuery),!function(s){"use strict";var e=s.mapster,n=e.utils,t=[];e.MapImages=function(e){this.owner=e,this.clear()},e.MapImages.prototype={constructor:e.MapImages,slice:function(){return t.slice.apply(this,arguments)},splice:function(){return t.slice.apply(this.status,arguments),t.slice.apply(this,arguments)},complete:function(){return s.inArray(!1,this.status)<0},_add:function(e){e=t.push.call(this,e)-1;return this.status[e]=!1,e},indexOf:function(e){return n.indexOf(this,e)},clear:function(){var a=this;a.ids&&0").addClass("mapster_el").hide(),a=n._add(e[0]),e.on("load.mapster",function(e){n.imageLoaded.call(n,e)}).on("error.mapster",function(e){n.imageLoadError.call(n,e)}),e.attr("src",i)}else a=n._add(s(e)[0]);if(t){if(this[t])throw t+" is already used or is not available as an altImage alias.";n.ids.push(t),n[t]=n[a]}return a}},bind:function(){var t=this,a=t.owner.options.configTimeout/200,i=function(){for(var e=t.length;0'),l.wrapClass&&(!0===l.wrapClass?a.addClass(o[0].className):a.addClass(l.wrapClass))),c.wrapper=a,c.scaleInfo=r=d.scaleMap(c.images[0],c.images[1],l.scaleMap),c.base_canvas=e=c.graphics.createVisibleCanvas(c),c.overlay_canvas=t=c.graphics.createVisibleCanvas(c),i=y(c.images[1]).addClass("mapster_el "+c.images[0].className).attr({id:null,usemap:null}),(s=d.size(c.images[0])).complete&&i.css({width:s.width,height:s.height}),c.buildDataset(),i=y.extend({display:"block",position:"relative",padding:0},!0===l.enableAutoResizeSupport?{}:{width:r.width,height:r.height}),l.wrapCss&&y.extend(i,l.wrapCss),o.parent()[0]!==c.wrapper[0]&&o.before(c.wrapper),a.css(i),y(c.images.slice(2)).hide(),n=1;nw&&t[1]>b)return v=t,!(o=!0)}),o||(v=[l,u])),v}}(jQuery),!function(d){"use strict";var f=d.mapster,m=f.utils,e=f.MapArea.prototype;f.utils.getScaleInfo=function(e,t){var a;return t?.98<(a=e.width/t.width||e.height/t.height)&&a<1.02&&(a=1):(a=1,t=e),{scale:1!==a,scalePct:a,realWidth:t.width,realHeight:t.height,width:e.width,height:e.height,ratio:e.width/e.height}},f.utils.scaleMap=function(e,t,a){e=m.size(e),t=m.size(t,!0);if(t.complete())return e.complete()||(e=t),this.getScaleInfo(e,a?t:null);throw"Another script, such as an extension, appears to be interfering with image loading. Please let us know about this."},f.MapData.prototype.resize=function(t,a,i,n){var s,o,r,c,e,l=this;function u(e,t,a){f.hasCanvas()?(e.width=t,e.height=a):(d(e).width(t),d(e).height(a))}function h(){var e;u(l.overlay_canvas,t,a),0<=c&&((e=l.data[c]).tempOptions={fade:!1},l.getDataForKey(e.key).highlight(),e.tempOptions=null),u(l.base_canvas,t,a),l.redrawSelections(),l.currentAction="",m.isFunction(n)&&n(),l.processCommandQueue()}function p(){d(l.image).css(r),l.scaleInfo=m.getScaleInfo({width:t,height:a},{width:l.scaleInfo.realWidth,height:l.scaleInfo.realHeight}),d.each(l.data,function(e,t){d.each(t.areas(),function(e,t){t.resize()})})}n=n||i,l.scaleInfo.width===t&&l.scaleInfo.height===a||(c=l.highlightId,t||(e=a/l.scaleInfo.realHeight,t=Math.round(l.scaleInfo.realWidth*e)),a||(e=t/l.scaleInfo.realWidth,a=Math.round(l.scaleInfo.realHeight*e)),r={width:String(t)+"px",height:String(a)+"px"},f.hasCanvas()||d(l.base_canvas).children().remove(),e=d(l.wrapper).find(".mapster_el"),!0!==l.options.enableAutoResizeSupport&&(e=e.add(l.wrapper)),i?(o=[],l.currentAction="resizing",e.filter(":visible").each(function(e,t){s=m.defer(),o.push(s),d(t).animate(r,{duration:i,complete:s.resolve,easing:"linear"})}),e.filter(":hidden").css(r),s=m.defer(),o.push(s),m.when.all(o).then(h),p(),s.resolve()):(e.css(r),p(),h()))},f.MapData.prototype.autoResize=function(e,t){this.resize(d(this.wrapper).width(),null,e,t)},f.MapData.prototype.configureAutoResize=function(){var e=this,t=e.instanceEventNamespace();function a(){!0===e.options.autoResize&&e.autoResize(e.options.autoResizeDuration,e.options.onAutoResize)}d(e.image).on("load"+t,a),d(window).on("focus"+t,a),d(window).on("resize"+t,function(){e.autoResizeTimer&&clearTimeout(e.autoResizeTimer),e.autoResizeTimer=setTimeout(a,e.options.autoResizeDelay)}),d(window).on("readystatechange"+t,a),d(window.document).on("fullscreenchange"+t,a),a()},f.MapArea=m.subclass(f.MapArea,function(){this.base.init(),this.owner.scaleInfo.scale&&this.resize()}),e.coords=function(e,t){var a,i=[],n=e||this.owner.scaleInfo.scalePct,s=t||0;if(1===n&&0===t)return this.originalCoords;for(a=0;a',showToolTip:!1,toolTip:null,toolTipFade:!0,toolTipClose:["area-mouseout","image-mouseout","generic-mouseout"],onShowToolTip:null,onHideToolTip:null}),c.extend(e.area_defaults,{toolTip:null,toolTipClose:null}),e.MapData.prototype.clearToolTip=function(){this.activeToolTip&&(this.activeToolTip.stop().remove(),this.activeToolTip=null,this.activeToolTipID=null,l.ifFunction(this.options.onHideToolTip,this))},e.AreaData.prototype.showToolTip=function(e,t){var a,i,n,s=this,o=s.owner,r=s.effectiveOptions();if(t=t?c.extend({},t):{},e=e||r.toolTip,a=t.closeEvents||r.toolTipClose||o.options.toolTipClose||"tooltip-click",n=void 0!==t.template?t.template:o.options.toolTipContainer,t.closeEvents="string"==typeof a?a=l.split(a):a,t.fadeDuration=t.fadeDuration||(o.options.toolTipFade?o.options.fadeDuration||r.fadeDuration:0),i=s.area||c.map(s.areas(),function(e){return e.area}),o.activeToolTipID!==s.areaId){o.clearToolTip();var e=l.isFunction(e)?e({key:this.key,target:i}):e;if(e)return o.activeToolTip=e=u(e,n,t.css),o.activeToolTipID=s.areaId,n=function(){o.clearToolTip()},h(a,"area-click","click",c(o.map),null,n),h(a,"tooltip-click","click",e,null,n),h(a,"image-mouseout","mouseout",c(o.image),function(e){return e.relatedTarget&&"AREA"!==e.relatedTarget.nodeName&&e.relatedTarget!==s.area},n),h(a,"image-click","click",c(o.image),null,n),p(e,i,o.image,t.container,t),l.ifFunction(o.options.onShowToolTip,s.area,{toolTip:e,options:{},areaOptions:r,key:s.key,selected:s.isSelected()}),e}},e.impl.tooltip=function(o,r){return new e.Method(this,function(){var e,t,a,i,n,s=this;o?(n=(e=c(o))&&0= 0) {
+ var p = src[prop];
+
+ if ($.isPlainObject(p)) {
+ // not recursive - only copies 1 level of subobjects, and always merges
+ target[prop] = $.extend(target[prop] || {}, p);
+ } else if (p && p.constructor === Array) {
+ target[prop] = p.slice(0);
+ } else if (typeof p !== 'undefined') {
+ target[prop] = src[prop];
+ }
+ }
+ });
+ });
+ return target;
+ },
+ isElement: function (o) {
+ return typeof HTMLElement === 'object'
+ ? o instanceof HTMLElement
+ : o &&
+ typeof o === 'object' &&
+ o.nodeType === 1 &&
+ typeof o.nodeName === 'string';
+ },
+ /**
+ * Basic indexOf implementation for IE7-8. Though we use $.inArray, some jQuery versions will try to
+ * use a prototpye on the calling object, defeating the purpose of using $.inArray in the first place.
+ *
+ * This will be replaced with the array prototype if it's available.
+ *
+ * @param {Array} arr The array to search
+ * @param {Object} target The item to search for
+ * @return {Number} The index of the item, or -1 if not found
+ */
+ indexOf: function (arr, target) {
+ if (Array.prototype.indexOf) {
+ return Array.prototype.indexOf.call(arr, target);
+ } else {
+ for (var i = 0; i < arr.length; i++) {
+ if (arr[i] === target) {
+ return i;
+ }
+ }
+ return -1;
+ }
+ },
+
+ // finds element of array or object with a property "prop" having value "val"
+ // if prop is not defined, then just looks for property with value "val"
+ indexOfProp: function (obj, prop, val) {
+ var result = obj.constructor === Array ? -1 : null;
+ $.each(obj, function (i, e) {
+ if (e && (prop ? e[prop] : e) === val) {
+ result = i;
+ return false;
+ }
+ });
+ return result;
+ },
+ // returns "obj" if true or false, or "def" if not true/false
+ boolOrDefault: function (obj, def) {
+ return this.isBool(obj) ? obj : def || false;
+ },
+ isBool: function (obj) {
+ return typeof obj === 'boolean';
+ },
+ isUndef: function (obj) {
+ return typeof obj === 'undefined';
+ },
+ isFunction: function (obj) {
+ return typeof obj === 'function';
+ },
+ // evaluates "obj", if function, calls it with args
+ // (todo - update this to handle variable lenght/more than one arg)
+ ifFunction: function (obj, that, args) {
+ if (this.isFunction(obj)) {
+ obj.call(that, args);
+ }
+ },
+ size: function (image, raw) {
+ var u = $.mapster.utils;
+ return {
+ width: raw
+ ? image.width || image.naturalWidth
+ : u.imgWidth(image, true),
+ height: raw
+ ? image.height || image.naturalHeight
+ : u.imgHeight(image, true),
+ complete: function () {
+ return !!this.height && !!this.width;
+ }
+ };
+ },
+
+ /**
+ * Set the opacity of the element. This is an IE<8 specific function for handling VML.
+ * When using VML we must override the "setOpacity" utility function (monkey patch ourselves).
+ * jQuery does not deal with opacity correctly for VML elements. This deals with that.
+ *
+ * @param {Element} el The DOM element
+ * @param {double} opacity A value between 0 and 1 inclusive.
+ */
+
+ setOpacity: function (el, opacity) {
+ if ($.mapster.hasCanvas()) {
+ el.style.opacity = opacity;
+ } else {
+ $(el).each(function (_, e) {
+ if (typeof e.opacity !== 'undefined') {
+ e.opacity = opacity;
+ } else {
+ $(e).css('opacity', opacity);
+ }
+ });
+ }
+ },
+
+ // fade "el" from opacity "op" to "endOp" over a period of time "duration"
+
+ fader: (function () {
+ var elements = {},
+ lastKey = 0,
+ fade_func = function (el, op, endOp, duration) {
+ var index,
+ cbIntervals = duration / 15,
+ obj,
+ u = $.mapster.utils;
+
+ if (typeof el === 'number') {
+ obj = elements[el];
+ if (!obj) {
+ return;
+ }
+ } else {
+ index = u.indexOfProp(elements, null, el);
+ if (index) {
+ delete elements[index];
+ }
+ elements[++lastKey] = obj = el;
+ el = lastKey;
+ }
+
+ endOp = endOp || 1;
+
+ op =
+ op + endOp / cbIntervals > endOp - 0.01
+ ? endOp
+ : op + endOp / cbIntervals;
+
+ u.setOpacity(obj, op);
+ if (op < endOp) {
+ setTimeout(function () {
+ fade_func(el, op, endOp, duration);
+ }, 15);
+ }
+ };
+ return fade_func;
+ })(),
+ getShape: function (areaEl) {
+ // per HTML spec, invalid value and missing value default is 'rect'
+ // Handling as follows:
+ // - Missing/Empty value will be treated as 'rect' per spec
+ // - Avoid handling invalid values do to perf impact
+ // Note - IM currently does not support shape of 'default' so while its technically
+ // a valid attribute value it should not be used.
+ // https://html.spec.whatwg.org/multipage/image-maps.html#the-area-element
+ return (areaEl.shape || 'rect').toLowerCase();
+ },
+ hasAttribute: function (el, attrName) {
+ var attr = $(el).attr(attrName);
+ // For some browsers, `attr` is undefined; for others, `attr` is false.
+ return typeof attr !== 'undefined' && attr !== false;
+ }
+ },
+ getBoundList: function (opts, key_list) {
+ if (!opts.boundList) {
+ return null;
+ }
+ var index,
+ key,
+ result = $(),
+ list = $.mapster.utils.split(key_list);
+ opts.boundList.each(function (_, e) {
+ for (index = 0; index < list.length; index++) {
+ key = list[index];
+ if ($(e).is('[' + opts.listKey + '="' + key + '"]')) {
+ result = result.add(e);
+ }
+ }
+ });
+ return result;
+ },
+ getMapDataIndex: function (obj) {
+ var img, id;
+ switch (obj.tagName && obj.tagName.toLowerCase()) {
+ case 'area':
+ id = $(obj).parent().attr('name');
+ img = $("img[usemap='#" + id + "']")[0];
+ break;
+ case 'img':
+ img = obj;
+ break;
+ }
+ return img ? this.utils.indexOfProp(this.map_cache, 'image', img) : -1;
+ },
+ getMapData: function (obj) {
+ var index = this.getMapDataIndex(obj.length ? obj[0] : obj);
+ if (index >= 0) {
+ return index >= 0 ? this.map_cache[index] : null;
+ }
+ },
+ /**
+ * Queue a command to be run after the active async operation has finished
+ * @param {MapData} map_data The target MapData object
+ * @param {jQuery} that jQuery object on which the command was invoked
+ * @param {string} command the ImageMapster method name
+ * @param {object[]} args arguments passed to the method
+ * @return {bool} true if the command was queued, false if not (e.g. there was no need to)
+ */
+ queueCommand: function (map_data, that, command, args) {
+ if (!map_data) {
+ return false;
+ }
+ if (!map_data.complete || map_data.currentAction) {
+ map_data.commands.push({
+ that: that,
+ command: command,
+ args: args
+ });
+ return true;
+ }
+ return false;
+ },
+ unload: function () {
+ this.impl.unload();
+ this.utils = null;
+ this.impl = null;
+ $.fn.mapster = null;
+ $.mapster = null;
+ return $('*').off('.mapster');
+ }
+ };
+
+ // Config for object prototypes
+ // first: use only first object (for things that should not apply to lists)
+ /// calls back one of two fuinctions, depending on whether an area was obtained.
+ // opts: {
+ // name: 'method name',
+ // key: 'key,
+ // args: 'args'
+ //
+ //}
+ // name: name of method (required)
+ // args: arguments to re-call with
+ // Iterates through all the objects passed, and determines whether it's an area or an image, and calls the appropriate
+ // callback for each. If anything is returned from that callback, the process is stopped and that data return. Otherwise,
+ // the object itself is returned.
+
+ var m = $.mapster,
+ u = m.utils,
+ ap = Array.prototype;
+
+ // jQuery's width() and height() are broken on IE9 in some situations. This tries everything.
+ $.each(['width', 'height'], function (_, e) {
+ var capProp = e.substr(0, 1).toUpperCase() + e.substr(1);
+ // when jqwidth parm is passed, it also checks the jQuery width()/height() property
+ // the issue is that jQUery width() can report a valid size before the image is loaded in some browsers
+ // without it, we can read zero even when image is loaded in other browsers if its not visible
+ // we must still check because stuff like adblock can temporarily block it
+ // what a goddamn headache
+ u['img' + capProp] = function (img, jqwidth) {
+ return (
+ (jqwidth ? $(img)[e]() : 0) ||
+ img[e] ||
+ img['natural' + capProp] ||
+ img['client' + capProp] ||
+ img['offset' + capProp]
+ );
+ };
+ });
+
+ /**
+ * The Method object encapsulates the process of testing an ImageMapster method to see if it's being
+ * invoked on an image, or an area; then queues the command if the MapData is in an active state.
+ *
+ * @param {[jQuery]} that The target of the invocation
+ * @param {[function]} func_map The callback if the target is an imagemap
+ * @param {[function]} func_area The callback if the target is an area
+ * @param {[object]} opt Options: { key: a map key if passed explicitly
+ * name: the command name, if it can be queued,
+ * args: arguments to the method
+ * }
+ */
+
+ m.Method = function (that, func_map, func_area, opts) {
+ var me = this;
+ me.name = opts.name;
+ me.output = that;
+ me.input = that;
+ me.first = opts.first || false;
+ me.args = opts.args ? ap.slice.call(opts.args, 0) : [];
+ me.key = opts.key;
+ me.func_map = func_map;
+ me.func_area = func_area;
+ //$.extend(me, opts);
+ me.name = opts.name;
+ me.allowAsync = opts.allowAsync || false;
+ };
+ m.Method.prototype = {
+ constructor: m.Method,
+ go: function () {
+ var i,
+ data,
+ ar,
+ len,
+ result,
+ src = this.input,
+ area_list = [],
+ me = this;
+
+ len = src.length;
+ for (i = 0; i < len; i++) {
+ data = $.mapster.getMapData(src[i]);
+ if (data) {
+ if (
+ !me.allowAsync &&
+ m.queueCommand(data, me.input, me.name, me.args)
+ ) {
+ if (this.first) {
+ result = '';
+ }
+ continue;
+ }
+
+ ar = data.getData(src[i].nodeName === 'AREA' ? src[i] : this.key);
+ if (ar) {
+ if ($.inArray(ar, area_list) < 0) {
+ area_list.push(ar);
+ }
+ } else {
+ result = this.func_map.apply(data, me.args);
+ }
+ if (this.first || typeof result !== 'undefined') {
+ break;
+ }
+ }
+ }
+ // if there were areas, call the area function for each unique group
+ $(area_list).each(function (_, e) {
+ result = me.func_area.apply(e, me.args);
+ });
+
+ if (typeof result !== 'undefined') {
+ return result;
+ } else {
+ return this.output;
+ }
+ }
+ };
+
+ $.mapster.impl = (function () {
+ var me = {},
+ addMap = function (map_data) {
+ return m.map_cache.push(map_data) - 1;
+ },
+ removeMap = function (map_data) {
+ m.map_cache.splice(map_data.index, 1);
+ for (var i = m.map_cache.length - 1; i >= map_data.index; i--) {
+ m.map_cache[i].index--;
+ }
+ };
+
+ /**
+ * Test whether the browser supports VML. Credit: google.
+ * http://stackoverflow.com/questions/654112/how-do-you-detect-support-for-vml-or-svg-in-a-browser
+ *
+ * @return {bool} true if vml is supported, false if not
+ */
+
+ function hasVml() {
+ var a = $('').appendTo('body');
+ a.html('');
+
+ var b = a[0].firstChild;
+ b.style.behavior = 'url(#default#VML)';
+ var has = b ? typeof b.adj === 'object' : true;
+ a.remove();
+ return has;
+ }
+
+ /**
+ * Return a reference to the IE namespaces object, if available, or an empty object otherwise
+ * @return {obkect} The document.namespaces object.
+ */
+ function namespaces() {
+ return typeof document.namespaces === 'object'
+ ? document.namespaces
+ : null;
+ }
+
+ /**
+ * Test for the presence of HTML5 Canvas support. This also checks to see if excanvas.js has been
+ * loaded and is faking it; if so, we assume that canvas is not supported.
+ *
+ * @return {bool} true if HTML5 canvas support, false if not
+ */
+
+ function hasCanvas() {
+ var d = namespaces();
+ // when g_vml_ is present, then we can be sure excanvas is active, meaning there's not a real canvas.
+
+ return d && d.g_vml_
+ ? false
+ : $('')[0].getContext
+ ? true
+ : false;
+ }
+
+ /**
+ * Merge new area data into existing area options on a MapData object. Used for rebinding.
+ *
+ * @param {[MapData]} map_data The MapData object
+ * @param {[object[]]} areas areas array to merge
+ */
+
+ function merge_areas(map_data, areas) {
+ var ar,
+ index,
+ map_areas = map_data.options.areas;
+
+ if (areas) {
+ $.each(areas, function (_, e) {
+ // Issue #68 - ignore invalid data in areas array
+
+ if (!e || !e.key) {
+ return;
+ }
+
+ index = u.indexOfProp(map_areas, 'key', e.key);
+
+ if (index >= 0) {
+ $.extend(map_areas[index], e);
+ } else {
+ map_areas.push(e);
+ }
+ ar = map_data.getDataForKey(e.key);
+ if (ar) {
+ $.extend(ar.options, e);
+ }
+ });
+ }
+ }
+ function merge_options(map_data, options) {
+ var temp_opts = u.updateProps({}, options);
+ delete temp_opts.areas;
+
+ u.updateProps(map_data.options, temp_opts);
+
+ merge_areas(map_data, options.areas);
+ // refresh the area_option template
+ u.updateProps(map_data.area_options, map_data.options);
+ }
+
+ // Most methods use the "Method" object which handles figuring out whether it's an image or area called and
+ // parsing key parameters. The constructor wants:
+ // this, the jQuery object
+ // a function that is called when an image was passed (with a this context of the MapData)
+ // a function that is called when an area was passed (with a this context of the AreaData)
+ // options: first = true means only the first member of a jQuery object is handled
+ // key = the key parameters passed
+ // defaultReturn: a value to return other than the jQuery object (if its not chainable)
+ // args: the arguments
+ // Returns a comma-separated list of user-selected areas. "staticState" areas are not considered selected for the purposes of this method.
+
+ me.get = function (key) {
+ var md = m.getMapData(this);
+ if (!(md && md.complete)) {
+ throw "Can't access data until binding complete.";
+ }
+
+ return new m.Method(
+ this,
+ function () {
+ // map_data return
+ return this.getSelected();
+ },
+ function () {
+ return this.isSelected();
+ },
+ {
+ name: 'get',
+ args: arguments,
+ key: key,
+ first: true,
+ allowAsync: true,
+ defaultReturn: ''
+ }
+ ).go();
+ };
+ me.data = function (key) {
+ return new m.Method(
+ this,
+ null,
+ function () {
+ return this;
+ },
+ { name: 'data', args: arguments, key: key }
+ ).go();
+ };
+
+ // Set or return highlight state.
+ // $(img).mapster('highlight') -- return highlighted area key, or null if none
+ // $(area).mapster('highlight') -- highlight an area
+ // $(img).mapster('highlight','area_key') -- highlight an area
+ // $(img).mapster('highlight',false) -- remove highlight
+ me.highlight = function (key) {
+ return new m.Method(
+ this,
+ function () {
+ if (key === false) {
+ this.ensureNoHighlight();
+ } else {
+ var id = this.highlightId;
+ return id >= 0 ? this.data[id].key : null;
+ }
+ },
+ function () {
+ this.highlight();
+ },
+ { name: 'highlight', args: arguments, key: key, first: true }
+ ).go();
+ };
+ // Return the primary keys for an area or group key.
+ // $(area).mapster('key')
+ // includes all keys (not just primary keys)
+ // $(area).mapster('key',true)
+ // $(img).mapster('key','group-key')
+
+ // $(img).mapster('key','group-key', true)
+ me.keys = function (key, all) {
+ var keyList = [],
+ md = m.getMapData(this);
+
+ if (!(md && md.complete)) {
+ throw "Can't access data until binding complete.";
+ }
+
+ function addUniqueKeys(ad) {
+ var areas,
+ keys = [];
+ if (!all) {
+ keys.push(ad.key);
+ } else {
+ areas = ad.areas();
+ $.each(areas, function (_, e) {
+ keys = keys.concat(e.keys);
+ });
+ }
+ $.each(keys, function (_, e) {
+ if ($.inArray(e, keyList) < 0) {
+ keyList.push(e);
+ }
+ });
+ }
+
+ if (!(md && md.complete)) {
+ return '';
+ }
+ if (typeof key === 'string') {
+ if (all) {
+ addUniqueKeys(md.getDataForKey(key));
+ } else {
+ keyList = [md.getKeysForGroup(key)];
+ }
+ } else {
+ all = key;
+ this.each(function (_, e) {
+ if (e.nodeName === 'AREA') {
+ addUniqueKeys(md.getDataForArea(e));
+ }
+ });
+ }
+ return keyList.join(',');
+ };
+ me.select = function () {
+ me.set.call(this, true);
+ };
+ me.deselect = function () {
+ me.set.call(this, false);
+ };
+
+ /**
+ * Select or unselect areas. Areas can be identified by a single string key, a comma-separated list of keys,
+ * or an array of strings.
+ *
+ *
+ * @param {boolean} selected Determines whether areas are selected or deselected
+ * @param {string|string[]} key A string, comma-separated string, or array of strings indicating
+ * the areas to select or deselect
+ * @param {object} options Rendering options to apply when selecting an area
+ */
+
+ me.set = function (selected, key, options) {
+ var lastMap,
+ map_data,
+ opts = options,
+ key_list,
+ area_list; // array of unique areas passed
+
+ function setSelection(ar) {
+ var newState = selected;
+ if (ar) {
+ switch (selected) {
+ case true:
+ ar.select(opts);
+ break;
+ case false:
+ ar.deselect(true);
+ break;
+ default:
+ newState = ar.toggle(opts);
+ break;
+ }
+ return newState;
+ }
+ }
+ function addArea(ar) {
+ if (ar && $.inArray(ar, area_list) < 0) {
+ area_list.push(ar);
+ key_list += (key_list === '' ? '' : ',') + ar.key;
+ }
+ }
+ // Clean up after a group that applied to the same map
+ function finishSetForMap(map_data) {
+ $.each(area_list, function (_, el) {
+ setSelection(el);
+ });
+ if (!selected) {
+ map_data.removeSelectionFinish();
+ }
+ }
+
+ this.filter('img,area').each(function (_, e) {
+ var keys;
+ map_data = m.getMapData(e);
+
+ if (map_data !== lastMap) {
+ if (lastMap) {
+ finishSetForMap(lastMap);
+ }
+
+ area_list = [];
+ key_list = '';
+ }
+
+ if (map_data) {
+ keys = '';
+ if (e.nodeName.toUpperCase() === 'IMG') {
+ if (!m.queueCommand(map_data, $(e), 'set', [selected, key, opts])) {
+ if (key instanceof Array) {
+ if (key.length) {
+ keys = key.join(',');
+ }
+ } else {
+ keys = key;
+ }
+
+ if (keys) {
+ $.each(u.split(keys), function (_, key) {
+ addArea(map_data.getDataForKey(key.toString()));
+ lastMap = map_data;
+ });
+ }
+ }
+ } else {
+ opts = key;
+ if (!m.queueCommand(map_data, $(e), 'set', [selected, opts])) {
+ addArea(map_data.getDataForArea(e));
+ lastMap = map_data;
+ }
+ }
+ }
+ });
+
+ if (map_data) {
+ finishSetForMap(map_data);
+ }
+
+ return this;
+ };
+ me.unbind = function (preserveState) {
+ return new m.Method(
+ this,
+ function () {
+ this.clearEvents();
+ this.clearMapData(preserveState);
+ removeMap(this);
+ },
+ null,
+ { name: 'unbind', args: arguments }
+ ).go();
+ };
+
+ // refresh options and update selection information.
+ me.rebind = function (options) {
+ return new m.Method(
+ this,
+ function () {
+ var me = this;
+
+ me.complete = false;
+ me.configureOptions(options);
+ me.bindImages().then(function () {
+ me.buildDataset(true);
+ me.complete = true;
+ me.onConfigured();
+ });
+ //this.redrawSelections();
+ },
+ null,
+ {
+ name: 'rebind',
+ args: arguments
+ }
+ ).go();
+ };
+ // get options. nothing or false to get, or "true" to get effective options (versus passed options)
+ me.get_options = function (key, effective) {
+ var eff = u.isBool(key) ? key : effective; // allow 2nd parm as "effective" when no key
+ return new m.Method(
+ this,
+ function () {
+ var opts = $.extend({}, this.options);
+ if (eff) {
+ opts.render_select = u.updateProps(
+ {},
+ m.render_defaults,
+ opts,
+ opts.render_select
+ );
+
+ opts.render_highlight = u.updateProps(
+ {},
+ m.render_defaults,
+ opts,
+ opts.render_highlight
+ );
+ }
+ return opts;
+ },
+ function () {
+ return eff ? this.effectiveOptions() : this.options;
+ },
+ {
+ name: 'get_options',
+ args: arguments,
+ first: true,
+ allowAsync: true,
+ key: key
+ }
+ ).go();
+ };
+
+ // set options - pass an object with options to set,
+ me.set_options = function (options) {
+ return new m.Method(
+ this,
+ function () {
+ merge_options(this, options);
+ },
+ null,
+ {
+ name: 'set_options',
+ args: arguments
+ }
+ ).go();
+ };
+ me.unload = function () {
+ var i;
+ for (i = m.map_cache.length - 1; i >= 0; i--) {
+ if (m.map_cache[i]) {
+ me.unbind.call($(m.map_cache[i].image));
+ }
+ }
+ me.graphics = null;
+ };
+
+ me.snapshot = function () {
+ return new m.Method(
+ this,
+ function () {
+ $.each(this.data, function (_, e) {
+ e.selected = false;
+ });
+
+ this.base_canvas = this.graphics.createVisibleCanvas(this);
+ $(this.image).before(this.base_canvas);
+ },
+ null,
+ { name: 'snapshot' }
+ ).go();
+ };
+
+ // do not queue this function
+
+ me.state = function () {
+ var md,
+ result = null;
+ $(this).each(function (_, e) {
+ if (e.nodeName === 'IMG') {
+ md = m.getMapData(e);
+ if (md) {
+ result = md.state();
+ }
+ return false;
+ }
+ });
+ return result;
+ };
+
+ me.bind = function (options) {
+ return this.each(function (_, e) {
+ var img, map, usemap, md;
+
+ // save ref to this image even if we can't access it yet. commands will be queued
+ img = $(e);
+
+ md = m.getMapData(e);
+
+ // if already bound completely, do a total rebind
+
+ if (md) {
+ me.unbind.apply(img);
+ if (!md.complete) {
+ // will be queued
+ return true;
+ }
+ md = null;
+ }
+
+ // ensure it's a valid image
+ // jQuery bug with Opera, results in full-url#usemap being returned from jQuery's attr.
+ // So use raw getAttribute instead.
+
+ usemap = this.getAttribute('usemap');
+ map = usemap && $('map[name="' + usemap.substr(1) + '"]');
+ if (!(img.is('img') && usemap && map.length > 0)) {
+ return true;
+ }
+
+ // sorry - your image must have border:0, things are too unpredictable otherwise.
+ img.css('border', 0);
+
+ if (!md) {
+ md = new m.MapData(this, options);
+
+ md.index = addMap(md);
+ md.map = map;
+ md.bindImages().then(function () {
+ md.initialize();
+ });
+ }
+ });
+ };
+
+ me.init = function (useCanvas) {
+ var style, shapes;
+
+ // for testing/debugging, use of canvas can be forced by initializing
+ // manually with "true" or "false". But generally we test for it.
+
+ m.hasCanvas = function () {
+ if (!u.isBool(m.hasCanvas.value)) {
+ m.hasCanvas.value = u.isBool(useCanvas) ? useCanvas : hasCanvas();
+ }
+ return m.hasCanvas.value;
+ };
+
+ m.hasVml = function () {
+ if (!u.isBool(m.hasVml.value)) {
+ // initialize VML the first time we detect its presence.
+ var d = namespaces();
+
+ if (d && !d.v) {
+ d.add('v', 'urn:schemas-microsoft-com:vml');
+ style = document.createStyleSheet();
+ shapes = [
+ 'shape',
+ 'rect',
+ 'oval',
+ 'circ',
+ 'fill',
+ 'stroke',
+ 'imagedata',
+ 'group',
+ 'textbox'
+ ];
+ $.each(shapes, function (_, el) {
+ style.addRule(
+ 'v\\:' + el,
+ 'behavior: url(#default#VML); antialias:true'
+ );
+ });
+ }
+ m.hasVml.value = hasVml();
+ }
+
+ return m.hasVml.value;
+ };
+
+ $.extend(m.defaults, m.render_defaults, m.shared_defaults);
+ $.extend(m.area_defaults, m.render_defaults, m.shared_defaults);
+ };
+ me.test = function (obj) {
+ return eval(obj);
+ };
+ return me;
+ })();
+
+ $.mapster.impl.init();
+})(jQuery);
+
+/*
+ graphics.js
+ Graphics object handles all rendering.
+*/
+
+(function ($) {
+ 'use strict';
+
+ var p,
+ m = $.mapster,
+ u = m.utils,
+ canvasMethods,
+ vmlMethods;
+
+ /**
+ * Implemenation to add each area in an AreaData object to the canvas
+ * @param {Graphics} graphics The target graphics object
+ * @param {AreaData} areaData The AreaData object (a collection of area elements and metadata)
+ * @param {object} options Rendering options to apply when rendering this group of areas
+ */
+ function addShapeGroupImpl(graphics, areaData, options) {
+ var me = graphics,
+ md = me.map_data,
+ isMask = options.isMask;
+
+ // first get area options. Then override fade for selecting, and finally merge in the
+ // "select" effect options.
+
+ $.each(areaData.areas(), function (_, e) {
+ options.isMask = isMask || (e.nohref && md.options.noHrefIsMask);
+ me.addShape(e, options);
+ });
+
+ // it's faster just to manipulate the passed options isMask property and restore it, than to
+ // copy the object each time
+
+ options.isMask = isMask;
+ }
+
+ /**
+ * Convert a hex value to decimal
+ * @param {string} hex A hexadecimal toString
+ * @return {int} Integer represenation of the hex string
+ */
+
+ function hex_to_decimal(hex) {
+ return Math.max(0, Math.min(parseInt(hex, 16), 255));
+ }
+ function css3color(color, opacity) {
+ return (
+ 'rgba(' +
+ hex_to_decimal(color.substr(0, 2)) +
+ ',' +
+ hex_to_decimal(color.substr(2, 2)) +
+ ',' +
+ hex_to_decimal(color.substr(4, 2)) +
+ ',' +
+ opacity +
+ ')'
+ );
+ }
+ /**
+ * An object associated with a particular map_data instance to manage renderin.
+ * @param {MapData} map_data The MapData object bound to this instance
+ */
+
+ m.Graphics = function (map_data) {
+ //$(window).unload($.mapster.unload);
+ // create graphics functions for canvas and vml browsers. usage:
+ // 1) init with map_data, 2) call begin with canvas to be used (these are separate b/c may not require canvas to be specified
+ // 3) call add_shape_to for each shape or mask, 4) call render() to finish
+
+ var me = this;
+ me.active = false;
+ me.canvas = null;
+ me.width = 0;
+ me.height = 0;
+ me.shapes = [];
+ me.masks = [];
+ me.map_data = map_data;
+ };
+
+ p = m.Graphics.prototype = {
+ constructor: m.Graphics,
+
+ /**
+ * Initiate a graphics request for a canvas
+ * @param {Element} canvas The canvas element that is the target of this operation
+ * @param {string} [elementName] The name to assign to the element (VML only)
+ */
+
+ begin: function (canvas, elementName) {
+ var c = $(canvas);
+
+ this.elementName = elementName;
+ this.canvas = canvas;
+
+ this.width = c.width();
+ this.height = c.height();
+ this.shapes = [];
+ this.masks = [];
+ this.active = true;
+ },
+
+ /**
+ * Add an area to be rendered to this canvas.
+ * @param {MapArea} mapArea The MapArea object to render
+ * @param {object} options An object containing any rendering options that should override the
+ * defaults for the area
+ */
+
+ addShape: function (mapArea, options) {
+ var addto = options.isMask ? this.masks : this.shapes;
+ addto.push({ mapArea: mapArea, options: options });
+ },
+
+ /**
+ * Create a canvas that is sized and styled for the MapData object
+ * @param {MapData} mapData The MapData object that will receive this new canvas
+ * @return {Element} A canvas element
+ */
+
+ createVisibleCanvas: function (mapData) {
+ return $(this.createCanvasFor(mapData))
+ .addClass('mapster_el')
+ .css(m.canvas_style)[0];
+ },
+
+ /**
+ * Add a group of shapes from an AreaData object to the canvas
+ *
+ * @param {AreaData} areaData An AreaData object (a set of area elements)
+ * @param {string} mode The rendering mode, "select" or "highlight". This determines the target
+ * canvas and which default options to use.
+ * @param {striong} options Rendering options
+ */
+
+ addShapeGroup: function (areaData, mode, options) {
+ // render includeKeys first - because they could be masks
+ var me = this,
+ list,
+ name,
+ canvas,
+ map_data = this.map_data,
+ opts = areaData.effectiveRenderOptions(mode);
+
+ if (options) {
+ $.extend(opts, options);
+ }
+
+ if (mode === 'select') {
+ name = 'static_' + areaData.areaId.toString();
+ canvas = map_data.base_canvas;
+ } else {
+ canvas = map_data.overlay_canvas;
+ }
+
+ me.begin(canvas, name);
+
+ if (opts.includeKeys) {
+ list = u.split(opts.includeKeys);
+ $.each(list, function (_, e) {
+ var areaData = map_data.getDataForKey(e.toString());
+ addShapeGroupImpl(
+ me,
+ areaData,
+ areaData.effectiveRenderOptions(mode)
+ );
+ });
+ }
+
+ addShapeGroupImpl(me, areaData, opts);
+ me.render();
+ if (opts.fade) {
+ // fading requires special handling for IE. We must access the fill elements directly. The fader also has to deal with
+ // the "opacity" attribute (not css)
+
+ u.fader(
+ m.hasCanvas()
+ ? canvas
+ : $(canvas).find('._fill').not('.mapster_mask'),
+ 0,
+ m.hasCanvas() ? 1 : opts.fillOpacity,
+ opts.fadeDuration
+ );
+ }
+ }
+
+ // These prototype methods are implementation dependent
+ };
+
+ function noop() {}
+
+ // configure remaining prototype methods for ie or canvas-supporting browser
+
+ canvasMethods = {
+ renderShape: function (context, mapArea, offset) {
+ var i,
+ c = mapArea.coords(null, offset);
+
+ switch (mapArea.shape) {
+ case 'rect':
+ case 'rectangle':
+ context.rect(c[0], c[1], c[2] - c[0], c[3] - c[1]);
+ break;
+ case 'poly':
+ case 'polygon':
+ context.moveTo(c[0], c[1]);
+
+ for (i = 2; i < mapArea.length; i += 2) {
+ context.lineTo(c[i], c[i + 1]);
+ }
+ context.lineTo(c[0], c[1]);
+ break;
+ case 'circ':
+ case 'circle':
+ context.arc(c[0], c[1], c[2], 0, Math.PI * 2, false);
+ break;
+ }
+ },
+ addAltImage: function (context, image, mapArea, options) {
+ context.beginPath();
+
+ this.renderShape(context, mapArea);
+ context.closePath();
+ context.clip();
+
+ context.globalAlpha = options.altImageOpacity || options.fillOpacity;
+
+ context.drawImage(
+ image,
+ 0,
+ 0,
+ mapArea.owner.scaleInfo.width,
+ mapArea.owner.scaleInfo.height
+ );
+ },
+ render: function () {
+ // firefox 6.0 context.save() seems to be broken. to work around, we have to draw the contents on one temp canvas,
+ // the mask on another, and merge everything. ugh. fixed in 1.2.2. unfortunately this is a lot more code for masks,
+ // but no other way around it that i can see.
+
+ var maskCanvas,
+ maskContext,
+ me = this,
+ md = me.map_data,
+ hasMasks = me.masks.length,
+ shapeCanvas = me.createCanvasFor(md),
+ shapeContext = shapeCanvas.getContext('2d'),
+ context = me.canvas.getContext('2d');
+
+ if (hasMasks) {
+ maskCanvas = me.createCanvasFor(md);
+ maskContext = maskCanvas.getContext('2d');
+ maskContext.clearRect(0, 0, maskCanvas.width, maskCanvas.height);
+
+ $.each(me.masks, function (_, e) {
+ maskContext.save();
+ maskContext.beginPath();
+ me.renderShape(maskContext, e.mapArea);
+ maskContext.closePath();
+ maskContext.clip();
+ maskContext.lineWidth = 0;
+ maskContext.fillStyle = '#000';
+ maskContext.fill();
+ maskContext.restore();
+ });
+ }
+
+ $.each(me.shapes, function (_, s) {
+ shapeContext.save();
+ if (s.options.fill) {
+ if (s.options.altImageId) {
+ me.addAltImage(
+ shapeContext,
+ md.images[s.options.altImageId],
+ s.mapArea,
+ s.options
+ );
+ } else {
+ shapeContext.beginPath();
+ me.renderShape(shapeContext, s.mapArea);
+ shapeContext.closePath();
+ //shapeContext.clip();
+ shapeContext.fillStyle = css3color(
+ s.options.fillColor,
+ s.options.fillOpacity
+ );
+ shapeContext.fill();
+ }
+ }
+ shapeContext.restore();
+ });
+
+ // render strokes at end since masks get stroked too
+
+ $.each(me.shapes.concat(me.masks), function (_, s) {
+ var offset = s.options.strokeWidth === 1 ? 0.5 : 0;
+ // offset applies only when stroke width is 1 and stroke would render between pixels.
+
+ if (s.options.stroke) {
+ shapeContext.save();
+ shapeContext.strokeStyle = css3color(
+ s.options.strokeColor,
+ s.options.strokeOpacity
+ );
+ shapeContext.lineWidth = s.options.strokeWidth;
+
+ shapeContext.beginPath();
+
+ me.renderShape(shapeContext, s.mapArea, offset);
+ shapeContext.closePath();
+ shapeContext.stroke();
+ shapeContext.restore();
+ }
+ });
+
+ if (hasMasks) {
+ // render the new shapes against the mask
+
+ maskContext.globalCompositeOperation = 'source-out';
+ maskContext.drawImage(shapeCanvas, 0, 0);
+
+ // flatten into the main canvas
+ context.drawImage(maskCanvas, 0, 0);
+ } else {
+ context.drawImage(shapeCanvas, 0, 0);
+ }
+
+ me.active = false;
+ return me.canvas;
+ },
+
+ // create a canvas mimicing dimensions of an existing element
+ createCanvasFor: function (md) {
+ return $(
+ ''
+ )[0];
+ },
+ clearHighlight: function () {
+ var c = this.map_data.overlay_canvas;
+ c.getContext('2d').clearRect(0, 0, c.width, c.height);
+ },
+ // Draw all items from selected_list to a new canvas, then swap with the old one. This is used to delete items when using canvases.
+ refreshSelections: function () {
+ var canvas_temp,
+ map_data = this.map_data;
+ // draw new base canvas, then swap with the old one to avoid flickering
+ canvas_temp = map_data.base_canvas;
+
+ map_data.base_canvas = this.createVisibleCanvas(map_data);
+ $(map_data.base_canvas).hide();
+ $(canvas_temp).before(map_data.base_canvas);
+
+ map_data.redrawSelections();
+
+ $(map_data.base_canvas).show();
+ $(canvas_temp).remove();
+ }
+ };
+
+ vmlMethods = {
+ renderShape: function (mapArea, options, cssclass) {
+ var me = this,
+ fill,
+ stroke,
+ e,
+ t_fill,
+ el_name,
+ el_class,
+ template,
+ c = mapArea.coords();
+ el_name = me.elementName ? 'name="' + me.elementName + '" ' : '';
+ el_class = cssclass ? 'class="' + cssclass + '" ' : '';
+
+ t_fill =
+ '';
+
+ stroke = options.stroke
+ ? ' strokeweight=' +
+ options.strokeWidth +
+ ' stroked="t" strokecolor="#' +
+ options.strokeColor +
+ '"'
+ : ' stroked="f"';
+
+ fill = options.fill ? ' filled="t"' : ' filled="f"';
+
+ switch (mapArea.shape) {
+ case 'rect':
+ case 'rectangle':
+ template =
+ '' +
+ t_fill +
+ '';
+ break;
+ case 'poly':
+ case 'polygon':
+ template =
+ '' +
+ t_fill +
+ '';
+ break;
+ case 'circ':
+ case 'circle':
+ template =
+ '' +
+ t_fill +
+ '';
+ break;
+ }
+ e = $(template);
+ $(me.canvas).append(e);
+
+ return e;
+ },
+ render: function () {
+ var opts,
+ me = this;
+
+ $.each(this.shapes, function (_, e) {
+ me.renderShape(e.mapArea, e.options);
+ });
+
+ if (this.masks.length) {
+ $.each(this.masks, function (_, e) {
+ opts = u.updateProps({}, e.options, {
+ fillOpacity: 1,
+ fillColor: e.options.fillColorMask
+ });
+ me.renderShape(e.mapArea, opts, 'mapster_mask');
+ });
+ }
+
+ this.active = false;
+ return this.canvas;
+ },
+
+ createCanvasFor: function (md) {
+ var w = md.scaleInfo.width,
+ h = md.scaleInfo.height;
+ return $(
+ ''
+ )[0];
+ },
+
+ clearHighlight: function () {
+ $(this.map_data.overlay_canvas).children().remove();
+ },
+ // remove single or all selections
+ removeSelections: function (area_id) {
+ if (area_id >= 0) {
+ $(this.map_data.base_canvas)
+ .find('[name="static_' + area_id.toString() + '"]')
+ .remove();
+ } else {
+ $(this.map_data.base_canvas).children().remove();
+ }
+ }
+ };
+
+ // for all methods with two implemenatations, add a function that will automatically replace itself with the correct
+ // method on first invocation
+
+ $.each(
+ [
+ 'renderShape',
+ 'addAltImage',
+ 'render',
+ 'createCanvasFor',
+ 'clearHighlight',
+ 'removeSelections',
+ 'refreshSelections'
+ ],
+ function (_, e) {
+ p[e] = (function (method) {
+ return function () {
+ p[method] =
+ (m.hasCanvas() ? canvasMethods[method] : vmlMethods[method]) ||
+ noop;
+
+ return p[method].apply(this, arguments);
+ };
+ })(e);
+ }
+ );
+})(jQuery);
+
+/*
+ mapimage.js
+ The MapImage object, repesents an instance of a single bound imagemap
+*/
+
+(function ($) {
+ 'use strict';
+
+ var m = $.mapster,
+ u = m.utils,
+ ap = [];
+ /**
+ * An object encapsulating all the images used by a MapData.
+ */
+
+ m.MapImages = function (owner) {
+ this.owner = owner;
+ this.clear();
+ };
+
+ m.MapImages.prototype = {
+ constructor: m.MapImages,
+
+ /* interface to make this array-like */
+
+ slice: function () {
+ return ap.slice.apply(this, arguments);
+ },
+ splice: function () {
+ ap.slice.apply(this.status, arguments);
+ var result = ap.slice.apply(this, arguments);
+ return result;
+ },
+
+ /**
+ * a boolean value indicates whether all images are done loading
+ * @return {bool} true when all are done
+ */
+ complete: function () {
+ return $.inArray(false, this.status) < 0;
+ },
+
+ /**
+ * Save an image in the images array and return its index
+ * @param {Image} image An Image object
+ * @return {int} the index of the image
+ */
+
+ _add: function (image) {
+ var index = ap.push.call(this, image) - 1;
+ this.status[index] = false;
+ return index;
+ },
+
+ /**
+ * Return the index of an Image within the images array
+ * @param {Image} img An Image
+ * @return {int} the index within the array, or -1 if it was not found
+ */
+
+ indexOf: function (image) {
+ return u.indexOf(this, image);
+ },
+
+ /**
+ * Clear this object and reset it to its initial state after binding.
+ */
+
+ clear: function () {
+ var me = this;
+
+ if (me.ids && me.ids.length > 0) {
+ $.each(me.ids, function (_, e) {
+ delete me[e];
+ });
+ }
+
+ /**
+ * A list of the cross-reference IDs bound to this object
+ * @type {string[]}
+ */
+
+ me.ids = [];
+
+ /**
+ * Length property for array-like behavior, set to zero when initializing. Array prototype
+ * methods will update it after that.
+ *
+ * @type {int}
+ */
+
+ me.length = 0;
+
+ /**
+ * the loaded status of the corresponding image
+ * @type {boolean[]}
+ */
+
+ me.status = [];
+
+ // actually erase the images
+
+ me.splice(0);
+ },
+
+ /**
+ * Bind an image to the map and add it to the queue to be loaded; return an ID that
+ * can be used to reference the
+ *
+ * @param {Image|string} image An Image object or a URL to an image
+ * @param {string} [id] An id to refer to this image
+ * @returns {int} an ID referencing the index of the image object in
+ * map_data.images
+ */
+
+ add: function (image, id) {
+ var index,
+ src,
+ me = this;
+
+ if (!image) {
+ return;
+ }
+
+ if (typeof image === 'string') {
+ src = image;
+ image = me[src];
+ if (typeof image === 'object') {
+ return me.indexOf(image);
+ }
+
+ image = $('
').addClass('mapster_el').hide();
+
+ index = me._add(image[0]);
+
+ image
+ .on('load.mapster', function (e) {
+ me.imageLoaded.call(me, e);
+ })
+ .on('error.mapster', function (e) {
+ me.imageLoadError.call(me, e);
+ });
+
+ image.attr('src', src);
+ } else {
+ // use attr because we want the actual source, not the resolved path the browser will return directly calling image.src
+
+ index = me._add($(image)[0]);
+ }
+ if (id) {
+ if (this[id]) {
+ throw (
+ id + ' is already used or is not available as an altImage alias.'
+ );
+ }
+ me.ids.push(id);
+ me[id] = me[index];
+ }
+ return index;
+ },
+
+ /**
+ * Bind the images in this object,
+ * @return {Promise} a promise that resolves when the images have finished loading
+ */
+
+ bind: function () {
+ var me = this,
+ promise,
+ triesLeft = me.owner.options.configTimeout / 200,
+ /* A recursive function to continue checking that the images have been
+ loaded until a timeout has elapsed */
+
+ check = function () {
+ var i;
+
+ // refresh status of images
+
+ i = me.length;
+
+ while (i-- > 0) {
+ if (!me.isLoaded(i)) {
+ break;
+ }
+ }
+
+ // check to see if every image has already been loaded
+
+ if (me.complete()) {
+ me.resolve();
+ } else {
+ // to account for failure of onLoad to fire in rare situations
+ if (triesLeft-- > 0) {
+ me.imgTimeout = window.setTimeout(function () {
+ check.call(me, true);
+ }, 50);
+ } else {
+ me.imageLoadError.call(me);
+ }
+ }
+ };
+
+ promise = me.deferred = u.defer();
+
+ check();
+ return promise;
+ },
+
+ resolve: function () {
+ var me = this,
+ resolver = me.deferred;
+
+ if (resolver) {
+ // Make a copy of the resolver before calling & removing it to ensure
+ // it is not called twice
+ me.deferred = null;
+ resolver.resolve();
+ }
+ },
+
+ /**
+ * Event handler for image onload
+ * @param {object} e jQuery event data
+ */
+
+ imageLoaded: function (e) {
+ var me = this,
+ index = me.indexOf(e.target);
+
+ if (index >= 0) {
+ me.status[index] = true;
+ if ($.inArray(false, me.status) < 0) {
+ me.resolve();
+ }
+ }
+ },
+
+ /**
+ * Event handler for onload error
+ * @param {object} e jQuery event data
+ */
+
+ imageLoadError: function (e) {
+ clearTimeout(this.imgTimeout);
+ this.triesLeft = 0;
+ var err = e
+ ? 'The image ' + e.target.src + ' failed to load.'
+ : 'The images never seemed to finish loading. You may just need to increase the configTimeout if images could take a long time to load.';
+ throw err;
+ },
+ /**
+ * Test if the image at specificed index has finished loading
+ * @param {int} index The image index
+ * @return {boolean} true if loaded, false if not
+ */
+
+ isLoaded: function (index) {
+ var img,
+ me = this,
+ status = me.status;
+
+ if (status[index]) {
+ return true;
+ }
+ img = me[index];
+
+ if (typeof img.complete !== 'undefined') {
+ status[index] = img.complete;
+ } else {
+ status[index] = !!u.imgWidth(img);
+ }
+ // if complete passes, the image is loaded, but may STILL not be available because of stuff like adblock.
+ // make sure it is.
+
+ return status[index];
+ }
+ };
+})(jQuery);
+
+/*
+ mapdata.js
+ The MapData object, repesents an instance of a single bound imagemap
+*/
+
+(function ($) {
+ 'use strict';
+
+ var m = $.mapster,
+ u = m.utils;
+
+ /**
+ * Set default values for MapData object properties
+ * @param {MapData} me The MapData object
+ */
+
+ function initializeDefaults(me) {
+ $.extend(me, {
+ complete: false, // (bool) when configuration is complete
+ map: null, // ($) the image map
+ base_canvas: null, // (canvas|var) where selections are rendered
+ overlay_canvas: null, // (canvas|var) where highlights are rendered
+ commands: [], // {} commands that were run before configuration was completed (b/c images weren't loaded)
+ data: [], // MapData[] area groups
+ mapAreas: [], // MapArea[] list. AreaData entities contain refs to this array, so options are stored with each.
+ _xref: {}, // (int) xref of mapKeys to data[]
+ highlightId: -1, // (int) the currently highlighted element.
+ currentAreaId: -1,
+ _tooltip_events: [], // {} info on events we bound to a tooltip container, so we can properly unbind them
+ scaleInfo: null, // {} info about the image size, scaling, defaults
+ index: -1, // index of this in map_cache - so we have an ID to use for wraper div
+ activeAreaEvent: null,
+ autoResizeTimer: null // tracks autoresize timer based on options.autoResizeDelay
+ });
+ }
+
+ /**
+ * Return an array of all image-containing options from an options object;
+ * that is, containers that may have an "altImage" property
+ *
+ * @param {object} obj An options object
+ * @return {object[]} An array of objects
+ */
+ function getOptionImages(obj) {
+ return [obj, obj.render_highlight, obj.render_select];
+ }
+
+ /**
+ * Parse all the altImage references, adding them to the library so they can be preloaded
+ * and aliased.
+ *
+ * @param {MapData} me The MapData object on which to operate
+ */
+ function configureAltImages(me) {
+ var opts = me.options,
+ mi = me.images;
+
+ // add alt images
+
+ if (m.hasCanvas()) {
+ // map altImage library first
+
+ $.each(opts.altImages || {}, function (i, e) {
+ mi.add(e, i);
+ });
+
+ // now find everything else
+
+ $.each([opts].concat(opts.areas), function (_, e) {
+ $.each(getOptionImages(e), function (_, e2) {
+ if (e2 && e2.altImage) {
+ e2.altImageId = mi.add(e2.altImage);
+ }
+ });
+ });
+ }
+
+ // set area_options
+ me.area_options = u.updateProps(
+ {}, // default options for any MapArea
+ m.area_defaults,
+ opts
+ );
+ }
+
+ /**
+ * Queue a mouse move action based on current delay settings
+ * (helper for mouseover/mouseout handlers)
+ *
+ * @param {MapData} me The MapData context
+ * @param {number} delay The number of milliseconds to delay the action
+ * @param {AreaData} area AreaData affected
+ * @param {Deferred} deferred A deferred object to return (instead of a new one)
+ * @return {Promise} A promise that resolves when the action is completed
+ */
+ function queueMouseEvent(me, delay, area, deferred) {
+ deferred = deferred || u.when.defer();
+
+ function cbFinal(areaId) {
+ if (me.currentAreaId !== areaId && me.highlightId >= 0) {
+ deferred.resolve({ completeAction: true });
+ }
+ }
+ if (me.activeAreaEvent) {
+ window.clearTimeout(me.activeAreaEvent);
+ me.activeAreaEvent = 0;
+ }
+ if (delay < 0) {
+ deferred.resolve({ completeAction: false });
+ } else {
+ if (area.owner.currentAction || delay) {
+ me.activeAreaEvent = window.setTimeout(
+ (function () {
+ return function () {
+ queueMouseEvent(me, 0, area, deferred);
+ };
+ })(area),
+ delay || 100
+ );
+ } else {
+ cbFinal(area.areaId);
+ }
+ }
+ return deferred;
+ }
+
+ function shouldNavigateTo(href) {
+ return !!href && href !== '#';
+ }
+
+ /**
+ * Mousedown event. This is captured only to prevent browser from drawing an outline around an
+ * area when it's clicked.
+ *
+ * @param {EventData} e jQuery event data
+ */
+
+ function mousedown(e) {
+ if (!m.hasCanvas()) {
+ this.blur();
+ }
+ e.preventDefault();
+ }
+
+ /**
+ * Mouseover event. Handle highlight rendering and client callback on mouseover
+ *
+ * @param {MapData} me The MapData context
+ * @param {EventData} e jQuery event data
+ * @return {[type]} [description]
+ */
+
+ function mouseover(me, e) {
+ var arData = me.getAllDataForArea(this),
+ ar = arData.length ? arData[0] : null;
+
+ // mouseover events are ignored entirely while resizing, though we do care about mouseout events
+ // and must queue the action to keep things clean.
+
+ if (!ar || ar.isNotRendered() || ar.owner.currentAction) {
+ return;
+ }
+
+ if (me.currentAreaId === ar.areaId) {
+ return;
+ }
+ if (me.highlightId !== ar.areaId) {
+ me.clearEffects();
+
+ ar.highlight();
+
+ if (me.options.showToolTip) {
+ $.each(arData, function (_, e) {
+ if (e.effectiveOptions().toolTip) {
+ e.showToolTip();
+ }
+ });
+ }
+ }
+
+ me.currentAreaId = ar.areaId;
+
+ if (u.isFunction(me.options.onMouseover)) {
+ me.options.onMouseover.call(this, {
+ e: e,
+ options: ar.effectiveOptions(),
+ key: ar.key,
+ selected: ar.isSelected()
+ });
+ }
+ }
+
+ /**
+ * Mouseout event.
+ *
+ * @param {MapData} me The MapData context
+ * @param {EventData} e jQuery event data
+ * @return {[type]} [description]
+ */
+
+ function mouseout(me, e) {
+ var newArea,
+ ar = me.getDataForArea(this),
+ opts = me.options;
+
+ if (me.currentAreaId < 0 || !ar) {
+ return;
+ }
+
+ newArea = me.getDataForArea(e.relatedTarget);
+
+ if (newArea === ar) {
+ return;
+ }
+
+ me.currentAreaId = -1;
+ ar.area = null;
+
+ queueMouseEvent(me, opts.mouseoutDelay, ar).then(function (result) {
+ if (!result.completeAction) {
+ return;
+ }
+ me.clearEffects();
+ });
+
+ if (u.isFunction(opts.onMouseout)) {
+ opts.onMouseout.call(this, {
+ e: e,
+ options: opts,
+ key: ar.key,
+ selected: ar.isSelected()
+ });
+ }
+ }
+
+ /**
+ * Clear any active tooltip or highlight
+ *
+ * @param {MapData} me The MapData context
+ * @param {EventData} e jQuery event data
+ * @return {[type]} [description]
+ */
+
+ function clearEffects(me) {
+ var opts = me.options;
+
+ me.ensureNoHighlight();
+
+ if (
+ opts.toolTipClose &&
+ $.inArray('area-mouseout', opts.toolTipClose) >= 0 &&
+ me.activeToolTip
+ ) {
+ me.clearToolTip();
+ }
+ }
+
+ /**
+ * Mouse click event handler
+ *
+ * @param {MapData} me The MapData context
+ * @param {EventData} e jQuery event data
+ * @return {[type]} [description]
+ */
+
+ function click(me, e) {
+ var list,
+ list_target,
+ newSelectionState,
+ canChangeState,
+ cbResult,
+ that = this,
+ ar = me.getDataForArea(this),
+ opts = me.options,
+ navDetails,
+ areaOpts;
+
+ function navigateTo(mode, href, target) {
+ switch (mode) {
+ // if no target is specified, use legacy
+ // behavior and change current window
+ case 'open':
+ window.open(href, target || '_self');
+ return;
+
+ // default legacy behavior of ImageMapster
+ default:
+ window.location.href = href;
+ return;
+ }
+ }
+
+ function getNavDetails(ar, mode, defaultHref) {
+ if (mode === 'open') {
+ var elHref = $(ar.area).attr('href'),
+ useEl = shouldNavigateTo(elHref);
+
+ return {
+ href: useEl ? elHref : ar.href,
+ target: useEl ? $(ar.area).attr('target') : ar.hrefTarget
+ };
+ }
+
+ return {
+ href: defaultHref
+ };
+ }
+
+ function clickArea(ar) {
+ var target;
+ canChangeState =
+ ar.isSelectable() && (ar.isDeselectable() || !ar.isSelected());
+
+ if (canChangeState) {
+ newSelectionState = !ar.isSelected();
+ } else {
+ newSelectionState = ar.isSelected();
+ }
+
+ list_target = m.getBoundList(opts, ar.key);
+
+ if (u.isFunction(opts.onClick)) {
+ cbResult = opts.onClick.call(that, {
+ e: e,
+ listTarget: list_target,
+ key: ar.key,
+ selected: newSelectionState
+ });
+
+ if (u.isBool(cbResult)) {
+ if (!cbResult) {
+ return false;
+ }
+ target = getNavDetails(
+ ar,
+ opts.navigateMode,
+ $(ar.area).attr('href')
+ );
+ if (shouldNavigateTo(target.href)) {
+ navigateTo(opts.navigateMode, target.href, target.target);
+ return false;
+ }
+ }
+ }
+
+ if (canChangeState) {
+ ar.toggle();
+ }
+ }
+
+ mousedown.call(this, e);
+
+ navDetails = getNavDetails(ar, opts.navigateMode, ar.href);
+ if (opts.clickNavigate && shouldNavigateTo(navDetails.href)) {
+ navigateTo(opts.navigateMode, navDetails.href, navDetails.target);
+ return;
+ }
+
+ if (ar && !ar.owner.currentAction) {
+ opts = me.options;
+ clickArea(ar);
+ areaOpts = ar.effectiveOptions();
+ if (areaOpts.includeKeys) {
+ list = u.split(areaOpts.includeKeys);
+ $.each(list, function (_, e) {
+ var ar = me.getDataForKey(e.toString());
+ if (!ar.options.isMask) {
+ clickArea(ar);
+ }
+ });
+ }
+ }
+ }
+
+ /**
+ * Prototype for a MapData object, representing an ImageMapster bound object
+ * @param {Element} image an IMG element
+ * @param {object} options ImageMapster binding options
+ */
+ m.MapData = function (image, options) {
+ var me = this;
+
+ // (Image) main map image
+
+ me.image = image;
+
+ me.images = new m.MapImages(me);
+ me.graphics = new m.Graphics(me);
+
+ // save the initial style of the image for unbinding. This is problematic, chrome
+ // duplicates styles when assigning, and cssText is apparently not universally supported.
+ // Need to do something more robust to make unbinding work universally.
+
+ me.imgCssText = image.style.cssText || null;
+
+ initializeDefaults(me);
+
+ me.configureOptions(options);
+
+ // create context-bound event handlers from our private functions
+
+ me.mouseover = function (e) {
+ mouseover.call(this, me, e);
+ };
+ me.mouseout = function (e) {
+ mouseout.call(this, me, e);
+ };
+ me.click = function (e) {
+ click.call(this, me, e);
+ };
+ me.clearEffects = function (e) {
+ clearEffects.call(this, me, e);
+ };
+ me.mousedown = function (e) {
+ mousedown.call(this, e);
+ };
+ };
+
+ m.MapData.prototype = {
+ constructor: m.MapData,
+
+ /**
+ * Set target.options from defaults + options
+ * @param {[type]} target The target
+ * @param {[type]} options The options to merge
+ */
+
+ configureOptions: function (options) {
+ this.options = u.updateProps({}, m.defaults, options);
+ },
+
+ /**
+ * Ensure all images are loaded
+ * @return {Promise} A promise that resolves when the images have finished loading (or fail)
+ */
+
+ bindImages: function () {
+ var me = this,
+ mi = me.images;
+
+ // reset the images if this is a rebind
+
+ if (mi.length > 2) {
+ mi.splice(2);
+ } else if (mi.length === 0) {
+ // add the actual main image
+ mi.add(me.image);
+ // will create a duplicate of the main image, we need this to get raw size info
+ mi.add(me.image.src);
+ }
+
+ configureAltImages(me);
+
+ return me.images.bind();
+ },
+
+ /**
+ * Test whether an async action is currently in progress
+ * @return {Boolean} true or false indicating state
+ */
+
+ isActive: function () {
+ return !this.complete || this.currentAction;
+ },
+
+ /**
+ * Return an object indicating the various states. This isn't really used by
+ * production code.
+ *
+ * @return {object} An object with properties for various states
+ */
+
+ state: function () {
+ return {
+ complete: this.complete,
+ resizing: this.currentAction === 'resizing',
+ zoomed: this.zoomed,
+ zoomedArea: this.zoomedArea,
+ scaleInfo: this.scaleInfo
+ };
+ },
+
+ /**
+ * Get a unique ID for the wrapper of this imagemapster
+ * @return {string} A string that is unique to this image
+ */
+
+ wrapId: function () {
+ return 'mapster_wrap_' + this.index;
+ },
+ instanceEventNamespace: function () {
+ return '.mapster.' + this.wrapId();
+ },
+ _idFromKey: function (key) {
+ return typeof key === 'string' &&
+ Object.prototype.hasOwnProperty.call(this._xref, key)
+ ? this._xref[key]
+ : -1;
+ },
+
+ /**
+ * Return a comma-separated string of all selected keys
+ * @return {string} CSV of all keys that are currently selected
+ */
+
+ getSelected: function () {
+ var result = '';
+ $.each(this.data, function (_, e) {
+ if (e.isSelected()) {
+ result += (result ? ',' : '') + this.key;
+ }
+ });
+ return result;
+ },
+
+ /**
+ * Get an array of MapAreas associated with a specific AREA based on the keys for that area
+ * @param {Element} area An HTML AREA
+ * @param {number} atMost A number limiting the number of areas to be returned (typically 1 or 0 for no limit)
+ * @return {MapArea[]} Array of MapArea objects
+ */
+
+ getAllDataForArea: function (area, atMost) {
+ var i,
+ ar,
+ result,
+ me = this,
+ key = $(area).filter('area').attr(me.options.mapKey);
+
+ if (key) {
+ result = [];
+ key = u.split(key);
+
+ for (i = 0; i < (atMost || key.length); i++) {
+ ar = me.data[me._idFromKey(key[i])];
+ if (ar) {
+ ar.area = area.length ? area[0] : area;
+ // set the actual area moused over/selected
+ // TODO: this is a brittle model for capturing which specific area - if this method was not used,
+ // ar.area could have old data. fix this.
+ result.push(ar);
+ }
+ }
+ }
+
+ return result;
+ },
+ getDataForArea: function (area) {
+ var ar = this.getAllDataForArea(area, 1);
+ return ar ? ar[0] || null : null;
+ },
+ getDataForKey: function (key) {
+ return this.data[this._idFromKey(key)];
+ },
+
+ /**
+ * Get the primary keys associated with an area group.
+ * If this is a primary key, it will be returned.
+ *
+ * @param {string key An area key
+ * @return {string} A CSV of area keys
+ */
+
+ getKeysForGroup: function (key) {
+ var ar = this.getDataForKey(key);
+
+ return !ar
+ ? ''
+ : ar.isPrimary
+ ? ar.key
+ : this.getPrimaryKeysForMapAreas(ar.areas()).join(',');
+ },
+
+ /**
+ * given an array of MapArea object, return an array of its unique primary keys
+ * @param {MapArea[]} areas The areas to analyze
+ * @return {string[]} An array of unique primary keys
+ */
+
+ getPrimaryKeysForMapAreas: function (areas) {
+ var keys = [];
+ $.each(areas, function (_, e) {
+ if ($.inArray(e.keys[0], keys) < 0) {
+ keys.push(e.keys[0]);
+ }
+ });
+ return keys;
+ },
+ getData: function (obj) {
+ if (typeof obj === 'string') {
+ return this.getDataForKey(obj);
+ } else if ((obj && obj.mapster) || u.isElement(obj)) {
+ return this.getDataForArea(obj);
+ } else {
+ return null;
+ }
+ },
+ // remove highlight if present, raise event
+ ensureNoHighlight: function () {
+ var ar;
+ if (this.highlightId >= 0) {
+ this.graphics.clearHighlight();
+ ar = this.data[this.highlightId];
+ ar.changeState('highlight', false);
+ this.setHighlightId(-1);
+ }
+ },
+ setHighlightId: function (id) {
+ this.highlightId = id;
+ },
+
+ /**
+ * Clear all active selections on this map
+ */
+
+ clearSelections: function () {
+ $.each(this.data, function (_, e) {
+ if (e.selected) {
+ e.deselect(true);
+ }
+ });
+ this.removeSelectionFinish();
+ },
+
+ /**
+ * Set area options from an array of option data.
+ *
+ * @param {object[]} areas An array of objects containing area-specific options
+ */
+
+ setAreaOptions: function (areas) {
+ var i, area_options, ar;
+ areas = areas || [];
+
+ // refer by: map_data.options[map_data.data[x].area_option_id]
+
+ for (i = areas.length - 1; i >= 0; i--) {
+ area_options = areas[i];
+ if (area_options) {
+ ar = this.getDataForKey(area_options.key);
+ if (ar) {
+ u.updateProps(ar.options, area_options);
+
+ // TODO: will not deselect areas that were previously selected, so this only works
+ // for an initial bind.
+
+ if (u.isBool(area_options.selected)) {
+ ar.selected = area_options.selected;
+ }
+ }
+ }
+ }
+ },
+ // keys: a comma-separated list
+ drawSelections: function (keys) {
+ var i,
+ key_arr = u.asArray(keys);
+
+ for (i = key_arr.length - 1; i >= 0; i--) {
+ this.data[key_arr[i]].drawSelection();
+ }
+ },
+ redrawSelections: function () {
+ $.each(this.data, function (_, e) {
+ if (e.isSelectedOrStatic()) {
+ e.drawSelection();
+ }
+ });
+ },
+ // Causes changes to the bound list based on the user action (select or deselect)
+ // area: the jQuery area object
+ // returns the matching elements from the bound list for the first area passed
+ // (normally only one should be passed, but a list can be passed)
+ setBoundListProperties: function (opts, target, selected) {
+ target.each(function (_, e) {
+ if (opts.listSelectedClass) {
+ if (selected) {
+ $(e).addClass(opts.listSelectedClass);
+ } else {
+ $(e).removeClass(opts.listSelectedClass);
+ }
+ }
+ if (opts.listSelectedAttribute) {
+ $(e).prop(opts.listSelectedAttribute, selected);
+ }
+ });
+ },
+ clearBoundListProperties: function (opts) {
+ var me = this;
+ if (!opts.boundList) {
+ return;
+ }
+ me.setBoundListProperties(opts, opts.boundList, false);
+ },
+ refreshBoundList: function (opts) {
+ var me = this;
+ me.clearBoundListProperties(opts);
+ me.setBoundListProperties(
+ opts,
+ m.getBoundList(opts, me.getSelected()),
+ true
+ );
+ },
+ setBoundList: function (opts) {
+ var me = this,
+ sorted_list = me.data.slice(0),
+ sort_func;
+ if (opts.sortList) {
+ if (opts.sortList === 'desc') {
+ sort_func = function (a, b) {
+ return a === b ? 0 : a > b ? -1 : 1;
+ };
+ } else {
+ sort_func = function (a, b) {
+ return a === b ? 0 : a < b ? -1 : 1;
+ };
+ }
+
+ sorted_list.sort(function (a, b) {
+ a = a.value;
+ b = b.value;
+ return sort_func(a, b);
+ });
+ }
+ me.options.boundList = opts.onGetList.call(me.image, sorted_list);
+ },
+ ///called when images are done loading
+ initialize: function () {
+ var imgCopy,
+ base_canvas,
+ overlay_canvas,
+ wrap,
+ parentId,
+ css,
+ i,
+ size,
+ img,
+ scale,
+ me = this,
+ opts = me.options;
+
+ if (me.complete) {
+ return;
+ }
+
+ img = $(me.image);
+
+ parentId = img.parent().attr('id');
+
+ // create a div wrapper only if there's not already a wrapper, otherwise, own it
+
+ if (
+ parentId &&
+ parentId.length >= 12 &&
+ parentId.substring(0, 12) === 'mapster_wrap'
+ ) {
+ wrap = img.parent();
+ wrap.attr('id', me.wrapId());
+ } else {
+ wrap = $('');
+
+ if (opts.wrapClass) {
+ if (opts.wrapClass === true) {
+ wrap.addClass(img[0].className);
+ } else {
+ wrap.addClass(opts.wrapClass);
+ }
+ }
+ }
+ me.wrapper = wrap;
+
+ // me.images[1] is the copy of the original image. It should be loaded & at its native size now so we can obtain the true
+ // width & height. This is needed to scale the imagemap if not being shown at its native size. It is also needed purely
+ // to finish binding in case the original image was not visible. It can be impossible in some browsers to obtain the
+ // native size of a hidden image.
+
+ me.scaleInfo = scale = u.scaleMap(
+ me.images[0],
+ me.images[1],
+ opts.scaleMap
+ );
+
+ me.base_canvas = base_canvas = me.graphics.createVisibleCanvas(me);
+ me.overlay_canvas = overlay_canvas = me.graphics.createVisibleCanvas(me);
+
+ // Now we got what we needed from the copy -clone from the original image again to make sure any other attributes are copied
+ imgCopy = $(me.images[1])
+ .addClass('mapster_el ' + me.images[0].className)
+ .attr({ id: null, usemap: null });
+
+ size = u.size(me.images[0]);
+
+ if (size.complete) {
+ imgCopy.css({
+ width: size.width,
+ height: size.height
+ });
+ }
+
+ me.buildDataset();
+
+ // now that we have processed all the areas, set css for wrapper, scale map if needed
+
+ css = $.extend(
+ {
+ display: 'block',
+ position: 'relative',
+ padding: 0
+ },
+ opts.enableAutoResizeSupport === true
+ ? {}
+ : {
+ width: scale.width,
+ height: scale.height
+ }
+ );
+
+ if (opts.wrapCss) {
+ $.extend(css, opts.wrapCss);
+ }
+ // if we were rebinding with an existing wrapper, the image will aready be in it
+ if (img.parent()[0] !== me.wrapper[0]) {
+ img.before(me.wrapper);
+ }
+
+ wrap.css(css);
+
+ // move all generated images into the wrapper for easy removal later
+
+ $(me.images.slice(2)).hide();
+ for (i = 1; i < me.images.length; i++) {
+ wrap.append(me.images[i]);
+ }
+
+ //me.images[1].style.cssText = me.image.style.cssText;
+
+ wrap
+ .append(base_canvas)
+ .append(overlay_canvas)
+ .append(img.css(m.canvas_style));
+
+ // images[0] is the original image with map, images[1] is the copy/background that is visible
+
+ u.setOpacity(me.images[0], 0);
+ $(me.images[1]).show();
+
+ u.setOpacity(me.images[1], 1);
+
+ me.complete = true;
+ me.processCommandQueue();
+
+ if (opts.enableAutoResizeSupport === true) {
+ me.configureAutoResize();
+ }
+
+ me.onConfigured();
+ },
+
+ onConfigured: function () {
+ var me = this,
+ $img = $(me.image),
+ opts = me.options;
+
+ if (opts.onConfigured && typeof opts.onConfigured === 'function') {
+ opts.onConfigured.call($img, true);
+ }
+ },
+
+ // when rebind is true, the MapArea data will not be rebuilt.
+ buildDataset: function (rebind) {
+ var sel,
+ areas,
+ j,
+ area_id,
+ $area,
+ area,
+ curKey,
+ mapArea,
+ key,
+ keys,
+ mapAreaId,
+ group_value,
+ dataItem,
+ href,
+ me = this,
+ opts = me.options,
+ default_group;
+
+ function addAreaData(key, value) {
+ var dataItem = new m.AreaData(me, key, value);
+ dataItem.areaId = me._xref[key] = me.data.push(dataItem) - 1;
+ return dataItem.areaId;
+ }
+
+ me._xref = {};
+ me.data = [];
+ if (!rebind) {
+ me.mapAreas = [];
+ }
+
+ default_group = !opts.mapKey;
+ if (default_group) {
+ opts.mapKey = 'data-mapster-key';
+ }
+
+ // the [attribute] selector is broken on old IE with jQuery. hasVml() is a quick and dirty
+ // way to test for that
+
+ sel = m.hasVml()
+ ? 'area'
+ : default_group
+ ? 'area[coords]'
+ : 'area[' + opts.mapKey + ']';
+
+ areas = $(me.map).find(sel).off('.mapster');
+
+ for (mapAreaId = 0; mapAreaId < areas.length; mapAreaId++) {
+ area_id = 0;
+ area = areas[mapAreaId];
+ $area = $(area);
+
+ // skip areas with no coords - selector broken for older ie
+ if (!area.coords) {
+ continue;
+ }
+ // Create a key if none was assigned by the user
+
+ if (default_group) {
+ curKey = String(mapAreaId);
+ $area.attr('data-mapster-key', curKey);
+ } else {
+ curKey = area.getAttribute(opts.mapKey);
+ }
+
+ // conditions for which the area will be bound to mouse events
+ // only bind to areas that don't have nohref. ie 6&7 cannot detect the presence of nohref, so we have to also not bind if href is missing.
+
+ if (rebind) {
+ mapArea = me.mapAreas[$area.data('mapster') - 1];
+ mapArea.configure(curKey);
+ mapArea.areaDataXref = [];
+ } else {
+ mapArea = new m.MapArea(me, area, curKey);
+ me.mapAreas.push(mapArea);
+ }
+
+ keys = mapArea.keys; // converted to an array by mapArea
+
+ // Iterate through each mapKey assigned to this area
+ for (j = keys.length - 1; j >= 0; j--) {
+ key = keys[j];
+
+ if (opts.mapValue) {
+ group_value = $area.attr(opts.mapValue);
+ }
+ if (default_group) {
+ // set an attribute so we can refer to the area by index from the DOM object if no key
+ area_id = addAreaData(me.data.length, group_value);
+ dataItem = me.data[area_id];
+ dataItem.key = key = area_id.toString();
+ } else {
+ area_id = me._xref[key];
+ if (area_id >= 0) {
+ dataItem = me.data[area_id];
+ if (group_value && !me.data[area_id].value) {
+ dataItem.value = group_value;
+ }
+ } else {
+ area_id = addAreaData(key, group_value);
+ dataItem = me.data[area_id];
+ dataItem.isPrimary = j === 0;
+ }
+ }
+ mapArea.areaDataXref.push(area_id);
+ dataItem.areasXref.push(mapAreaId);
+ }
+
+ href = $area.attr('href');
+ if (shouldNavigateTo(href) && !dataItem.href) {
+ dataItem.href = href;
+ dataItem.hrefTarget = $area.attr('target');
+ }
+
+ if (!mapArea.nohref) {
+ $area
+ .on('click.mapster', me.click)
+ .on(
+ 'mouseover.mapster touchstart.mapster.noPreventDefault',
+ me.mouseover
+ )
+ .on(
+ 'mouseout.mapster touchend.mapster.noPreventDefault',
+ me.mouseout
+ )
+ .on('mousedown.mapster', me.mousedown);
+ }
+
+ // store an ID with each area.
+ $area.data('mapster', mapAreaId + 1);
+ }
+
+ // TODO listenToList
+ // if (opts.listenToList && opts.nitG) {
+ // opts.nitG.bind('click.mapster', event_hooks[map_data.hooks_index].listclick_hook);
+ // }
+
+ // populate areas from config options
+ me.setAreaOptions(opts.areas);
+ if (opts.onGetList) {
+ me.setBoundList(opts);
+ }
+
+ if (opts.boundList && opts.boundList.length > 0) {
+ me.refreshBoundList(opts);
+ }
+
+ if (rebind) {
+ me.graphics.removeSelections();
+ me.graphics.refreshSelections();
+ } else {
+ me.redrawSelections();
+ }
+ },
+ processCommandQueue: function () {
+ var cur,
+ me = this;
+ while (!me.currentAction && me.commands.length) {
+ cur = me.commands[0];
+ me.commands.splice(0, 1);
+ m.impl[cur.command].apply(cur.that, cur.args);
+ }
+ },
+ clearEvents: function () {
+ $(this.map).find('area').off('.mapster');
+ $(this.images).off('.mapster');
+ $(window).off(this.instanceEventNamespace());
+ $(window.document).off(this.instanceEventNamespace());
+ },
+ _clearCanvases: function (preserveState) {
+ // remove the canvas elements created
+ if (!preserveState) {
+ $(this.base_canvas).remove();
+ }
+ $(this.overlay_canvas).remove();
+ },
+ clearMapData: function (preserveState) {
+ var me = this;
+ this._clearCanvases(preserveState);
+
+ // release refs to DOM elements
+ $.each(this.data, function (_, e) {
+ e.reset();
+ });
+ this.data = null;
+ if (!preserveState) {
+ // get rid of everything except the original image
+ this.image.style.cssText = this.imgCssText;
+ $(this.wrapper).before(this.image).remove();
+ }
+
+ me.images.clear();
+
+ if (me.autoResizeTimer) {
+ clearTimeout(me.autoResizeTimer);
+ }
+ me.autoResizeTimer = null;
+ this.image = null;
+ u.ifFunction(this.clearToolTip, this);
+ },
+
+ // Compelete cleanup process for deslecting items. Called after a batch operation, or by AreaData for single
+ // operations not flagged as "partial"
+
+ removeSelectionFinish: function () {
+ var g = this.graphics;
+
+ g.refreshSelections();
+ // do not call ensure_no_highlight- we don't really want to unhilight it, just remove the effect
+ g.clearHighlight();
+ }
+ };
+})(jQuery);
+
+/* areadata.js
+ AreaData and MapArea protoypes
+*/
+
+(function ($) {
+ 'use strict';
+
+ var m = $.mapster,
+ u = m.utils;
+
+ function optsAreEqual(opts1, opts2) {
+ // deep compare is not trivial and current testing framework
+ // doesn't provide a way to detect this accurately so only
+ // implementing basic compare at this time.
+ // TODO: Implement deep obj compare or for perf reasons shallow
+ // with a short-circuit if deep is required for full compare
+ // since config options should only require shallow
+ return opts1 === opts2;
+ }
+
+ /**
+ * Update selected state of this area
+ *
+ * @param {boolean} selected Determines whether areas are selected or deselected
+ */
+ function updateSelected(selected) {
+ var me = this,
+ prevSelected = me.selected;
+
+ me.selected = selected;
+ me.staticStateOverridden = u.isBool(me.effectiveOptions().staticState)
+ ? true
+ : false;
+
+ return prevSelected !== selected;
+ }
+
+ /**
+ * Select this area
+ *
+ * @param {AreaData} me AreaData context
+ * @param {object} options Options for rendering the selection
+ */
+ function select(options) {
+ function buildOptions() {
+ // map the altImageId if an altimage was passed
+ return $.extend(me.effectiveRenderOptions('select'), options, {
+ altImageId: o.images.add(options.altImage)
+ });
+ }
+
+ var me = this,
+ o = me.owner,
+ hasOptions = !$.isEmptyObject(options),
+ newOptsCache = hasOptions ? buildOptions() : null,
+ // Per docs, options changed via set_options for an area that is
+ // already selected will not be reflected until the next time
+ // the area becomes selected.
+ changeOptions = hasOptions
+ ? !optsAreEqual(me.optsCache, newOptsCache)
+ : false,
+ selectedHasChanged = false,
+ isDrawn = me.isSelectedOrStatic();
+
+ // This won't clear staticState === true areas that have not been overridden via API set/select/deselect.
+ // This could be optimized to only clear if we are the only one selected. However, there are scenarios
+ // that do not respect singleSelect (e.g. initialization) so we force clear if there should only be one.
+ // TODO: Only clear if we aren't the only one selected (depends on #370)
+ if (o.options.singleSelect) {
+ o.clearSelections();
+ // we may (staticState === true) or may not still be visible
+ isDrawn = me.isSelectedOrStatic();
+ }
+
+ if (changeOptions) {
+ me.optsCache = newOptsCache;
+ }
+
+ // Update before we start drawing for methods
+ // that rely on internal selected value.
+ // Force update because area can be selected
+ // at multiple levels (selected / area_options.selected / staticState / etc.)
+ // and could have been cleared.
+ selectedHasChanged = me.updateSelected(true);
+
+ if (isDrawn && changeOptions) {
+ // no way to remove just this area from canvas so must refresh everything
+
+ // explicitly remove vml element since it uses removeSelections instead of refreshSelections
+ // TODO: Not sure why removeSelections isn't incorporated in to refreshSelections
+ // need to investigate and possibly consolidate
+ o.graphics.removeSelections(me.areaId);
+ o.graphics.refreshSelections();
+ } else if (!isDrawn) {
+ me.drawSelection();
+ }
+
+ // don't fire until everything is done
+ if (selectedHasChanged) {
+ me.changeState('select', true);
+ }
+ }
+
+ /**
+ * Deselect this area, optionally deferring finalization so additional areas can be deselected
+ * in a single operation
+ *
+ * @param {boolean} partial when true, the caller must invoke "finishRemoveSelection" to render
+ */
+
+ function deselect(partial) {
+ var me = this,
+ selectedHasChanged = false;
+
+ // update before we start drawing for methods
+ // that rely on internal selected value
+ // force update because area can be selected
+ // at multiple levels (selected / area_options.selected / staticState / etc.)
+ selectedHasChanged = me.updateSelected(false);
+
+ // release information about last area options when deselecting.
+ me.optsCache = null;
+ me.owner.graphics.removeSelections(me.areaId);
+
+ // Complete selection removal process. This is separated because it's very inefficient to perform the whole
+ // process for multiple removals, as the canvas must be totally redrawn at the end of the process.ar.remove
+ if (!partial) {
+ me.owner.removeSelectionFinish();
+ }
+
+ // don't fire until everything is done
+ if (selectedHasChanged) {
+ me.changeState('select', false);
+ }
+ }
+
+ /**
+ * Toggle the selection state of this area
+ * @param {object} options Rendering options, if toggling on
+ * @return {bool} The new selection state
+ */
+ function toggle(options) {
+ var me = this;
+ if (!me.isSelected()) {
+ me.select(options);
+ } else {
+ me.deselect();
+ }
+ return me.isSelected();
+ }
+
+ function isNoHref(areaEl) {
+ var $area = $(areaEl);
+ return u.hasAttribute($area, 'nohref') || !u.hasAttribute($area, 'href');
+ }
+
+ /**
+ * An AreaData object; represents a conceptual area that can be composed of
+ * one or more MapArea objects
+ *
+ * @param {MapData} owner The MapData object to which this belongs
+ * @param {string} key The key for this area
+ * @param {string} value The mapValue string for this area
+ */
+
+ m.AreaData = function (owner, key, value) {
+ $.extend(this, {
+ owner: owner,
+ key: key || '',
+ // means this represents the first key in a list of keys (it's the area group that gets highlighted on mouseover)
+ isPrimary: true,
+ areaId: -1,
+ href: '',
+ hrefTarget: null,
+ value: value || '',
+ options: {},
+ // "null" means unchanged. Use "isSelected" method to just test true/false
+ selected: null,
+ // "true" means selected has been set via API AND staticState is true/false
+ staticStateOverridden: false,
+ // xref to MapArea objects
+ areasXref: [],
+ // (temporary storage) - the actual area moused over
+ area: null,
+ // the last options used to render this. Cache so when re-drawing after a remove, changes in options won't
+ // break already selected things.
+ optsCache: null
+ });
+ };
+
+ /**
+ * The public API for AreaData object
+ */
+
+ m.AreaData.prototype = {
+ constuctor: m.AreaData,
+ select: select,
+ deselect: deselect,
+ toggle: toggle,
+ updateSelected: updateSelected,
+ areas: function () {
+ var i,
+ result = [];
+ for (i = 0; i < this.areasXref.length; i++) {
+ result.push(this.owner.mapAreas[this.areasXref[i]]);
+ }
+ return result;
+ },
+ // return all coordinates for all areas
+ coords: function (offset) {
+ var coords = [];
+ $.each(this.areas(), function (_, el) {
+ coords = coords.concat(el.coords(offset));
+ });
+ return coords;
+ },
+ reset: function () {
+ $.each(this.areas(), function (_, e) {
+ e.reset();
+ });
+ this.areasXref = [];
+ this.options = null;
+ },
+ // Return the effective selected state of an area, incorporating staticState
+ isSelectedOrStatic: function () {
+ var o = this.effectiveOptions();
+ return !u.isBool(o.staticState) || this.staticStateOverridden
+ ? this.isSelected()
+ : o.staticState;
+ },
+ isSelected: function () {
+ return u.isBool(this.selected)
+ ? this.selected
+ : u.isBool(this.owner.area_options.selected)
+ ? this.owner.area_options.selected
+ : false;
+ },
+ isSelectable: function () {
+ return u.isBool(this.effectiveOptions().staticState)
+ ? false
+ : u.isBool(this.owner.options.staticState)
+ ? false
+ : u.boolOrDefault(this.effectiveOptions().isSelectable, true);
+ },
+ isDeselectable: function () {
+ return u.isBool(this.effectiveOptions().staticState)
+ ? false
+ : u.isBool(this.owner.options.staticState)
+ ? false
+ : u.boolOrDefault(this.effectiveOptions().isDeselectable, true);
+ },
+ isNotRendered: function () {
+ return isNoHref(this.area) || this.effectiveOptions().isMask;
+ },
+ /**
+ * Return the overall options effective for this area.
+ * This should get the default options, and merge in area-specific options, finally
+ * overlaying options passed by parameter
+ *
+ * @param {[type]} options options which will supercede all other options for this area
+ * @return {[type]} the combined options
+ */
+
+ effectiveOptions: function (options) {
+ var opts = u.updateProps(
+ {},
+ this.owner.area_options,
+ this.options,
+ options || {},
+ {
+ id: this.areaId
+ }
+ );
+
+ opts.selected = this.isSelected();
+
+ return opts;
+ },
+
+ /**
+ * Return the options effective for this area for a "render" or "highlight" mode.
+ * This should get the default options, merge in the areas-specific options,
+ * and then the mode-specific options.
+ * @param {string} mode 'render' or 'highlight'
+ * @param {[type]} options options which will supercede all other options for this area
+ * @return {[type]} the combined options
+ */
+
+ effectiveRenderOptions: function (mode, options) {
+ var allOpts,
+ opts = this.optsCache;
+
+ if (!opts || mode === 'highlight') {
+ allOpts = this.effectiveOptions(options);
+ opts = u.updateProps({}, allOpts, allOpts['render_' + mode]);
+
+ if (mode !== 'highlight') {
+ this.optsCache = opts;
+ }
+ }
+ return $.extend({}, opts);
+ },
+
+ // Fire callback on area state change
+ changeState: function (state_type, state) {
+ if (u.isFunction(this.owner.options.onStateChange)) {
+ this.owner.options.onStateChange.call(this.owner.image, {
+ key: this.key,
+ state: state_type,
+ selected: state
+ });
+ }
+ if (state_type === 'select' && this.owner.options.boundList) {
+ this.owner.setBoundListProperties(
+ this.owner.options,
+ m.getBoundList(this.owner.options, this.key),
+ state
+ );
+ }
+ },
+
+ // highlight this area
+
+ highlight: function (options) {
+ var o = this.owner;
+ o.ensureNoHighlight();
+ if (this.effectiveOptions().highlight) {
+ o.graphics.addShapeGroup(this, 'highlight', options);
+ }
+ o.setHighlightId(this.areaId);
+ this.changeState('highlight', true);
+ },
+
+ // select this area. if "callEvent" is true then the state change event will be called. (This method can be used
+ // during config operations, in which case no event is indicated)
+
+ drawSelection: function () {
+ this.owner.graphics.addShapeGroup(this, 'select');
+ }
+ };
+ // represents an HTML area
+ m.MapArea = function (owner, areaEl, keys) {
+ if (!owner) {
+ return;
+ }
+ var me = this;
+ me.owner = owner; // a MapData object
+ me.area = areaEl;
+ me.areaDataXref = []; // a list of map_data.data[] id's for each areaData object containing this
+ me.originalCoords = [];
+ $.each(u.split(areaEl.coords), function (_, el) {
+ me.originalCoords.push(parseFloat(el));
+ });
+ me.length = me.originalCoords.length;
+ me.shape = u.getShape(areaEl);
+ me.nohref = isNoHref(areaEl);
+ me.configure(keys);
+ };
+ m.MapArea.prototype = {
+ constructor: m.MapArea,
+ configure: function (keys) {
+ this.keys = u.split(keys);
+ },
+ reset: function () {
+ this.area = null;
+ },
+ coords: function (offset) {
+ return $.map(this.originalCoords, function (e) {
+ return offset ? e : e + offset;
+ });
+ }
+ };
+})(jQuery);
+
+/* areacorners.js
+ determine the best place to put a box of dimensions (width,height) given a circle, rect or poly
+*/
+
+(function ($) {
+ 'use strict';
+
+ var u = $.mapster.utils;
+
+ /**
+ * Compute positions that will place a target with dimensions [width,height] outside
+ * but near the boundaries of the elements "elements". When an imagemap is passed, the
+ *
+ * @param {Element|Element[]} elements An element or an array of elements (such as a jQuery object)
+ * @param {Element} image The image to which area elements are bound, if this is an image map.
+ * @param {Element} container The contianer in which the target must be constrained (or document, if missing)
+ * @param {int} width The width of the target object
+ * @return {object} a structure with the x and y positions
+ */
+ u.areaCorners = function (elements, image, container, width, height) {
+ var pos,
+ found,
+ minX,
+ minY,
+ maxX,
+ maxY,
+ bestMinX,
+ bestMaxX,
+ bestMinY,
+ bestMaxY,
+ curX,
+ curY,
+ nest,
+ j,
+ offsetx = 0,
+ offsety = 0,
+ rootx,
+ rooty,
+ iCoords,
+ radius,
+ angle,
+ el,
+ coords = [];
+
+ // if a single element was passed, map it to an array
+
+ elements = elements.length ? elements : [elements];
+
+ container = container ? $(container) : $(document.body);
+
+ // get the relative root of calculation
+
+ pos = container.offset();
+ rootx = pos.left;
+ rooty = pos.top;
+
+ // with areas, all we know about is relative to the top-left corner of the image. We need to add an offset compared to
+ // the actual container. After this calculation, offsetx/offsety can be added to either the area coords, or the target's
+ // absolute position to get the correct top/left boundaries of the container.
+
+ if (image) {
+ pos = $(image).offset();
+ offsetx = pos.left;
+ offsety = pos.top;
+ }
+
+ // map the coordinates of any type of shape to a poly and use the logic. simpler than using three different
+ // calculation methods. Circles use a 20 degree increment for this estimation.
+
+ for (j = 0; j < elements.length; j++) {
+ el = elements[j];
+ if (el.nodeName === 'AREA') {
+ iCoords = u.split(el.coords, parseInt);
+
+ switch (u.getShape(el)) {
+ case 'circle':
+ case 'circ':
+ curX = iCoords[0];
+ curY = iCoords[1];
+ radius = iCoords[2];
+ coords = [];
+ for (j = 0; j < 360; j += 20) {
+ angle = (j * Math.PI) / 180;
+ coords.push(
+ curX + radius * Math.cos(angle),
+ curY + radius * Math.sin(angle)
+ );
+ }
+ break;
+ case 'rectangle':
+ case 'rect':
+ coords.push(
+ iCoords[0],
+ iCoords[1],
+ iCoords[2],
+ iCoords[1],
+ iCoords[2],
+ iCoords[3],
+ iCoords[0],
+ iCoords[3]
+ );
+ break;
+ default:
+ coords = coords.concat(iCoords);
+ break;
+ }
+
+ // map area positions to it's real position in the container
+
+ for (j = 0; j < coords.length; j += 2) {
+ coords[j] = parseInt(coords[j], 10) + offsetx;
+ coords[j + 1] = parseInt(coords[j + 1], 10) + offsety;
+ }
+ } else {
+ el = $(el);
+ pos = el.position();
+ coords.push(
+ pos.left,
+ pos.top,
+ pos.left + el.width(),
+ pos.top,
+ pos.left + el.width(),
+ pos.top + el.height(),
+ pos.left,
+ pos.top + el.height()
+ );
+ }
+ }
+
+ minX = minY = bestMinX = bestMinY = 999999;
+ maxX = maxY = bestMaxX = bestMaxY = -1;
+
+ for (j = coords.length - 2; j >= 0; j -= 2) {
+ curX = coords[j];
+ curY = coords[j + 1];
+
+ if (curX < minX) {
+ minX = curX;
+ bestMaxY = curY;
+ }
+ if (curX > maxX) {
+ maxX = curX;
+ bestMinY = curY;
+ }
+ if (curY < minY) {
+ minY = curY;
+ bestMaxX = curX;
+ }
+ if (curY > maxY) {
+ maxY = curY;
+ bestMinX = curX;
+ }
+ }
+
+ // try to figure out the best place for the tooltip
+
+ if (width && height) {
+ found = false;
+ $.each(
+ [
+ [bestMaxX - width, minY - height],
+ [bestMinX, minY - height],
+ [minX - width, bestMaxY - height],
+ [minX - width, bestMinY],
+ [maxX, bestMaxY - height],
+ [maxX, bestMinY],
+ [bestMaxX - width, maxY],
+ [bestMinX, maxY]
+ ],
+ function (_, e) {
+ if (!found && e[0] > rootx && e[1] > rooty) {
+ nest = e;
+ found = true;
+ return false;
+ }
+ }
+ );
+
+ // default to lower-right corner if nothing fit inside the boundaries of the image
+
+ if (!found) {
+ nest = [maxX, maxY];
+ }
+ }
+ return nest;
+ };
+})(jQuery);
+
+/*
+ scale.js
+ Resize and zoom functionality
+ Requires areacorners.js
+*/
+
+(function ($) {
+ 'use strict';
+
+ var m = $.mapster,
+ u = m.utils,
+ p = m.MapArea.prototype;
+
+ m.utils.getScaleInfo = function (eff, actual) {
+ var pct;
+ if (!actual) {
+ pct = 1;
+ actual = eff;
+ } else {
+ pct = eff.width / actual.width || eff.height / actual.height;
+ // make sure a float error doesn't muck us up
+ if (pct > 0.98 && pct < 1.02) {
+ pct = 1;
+ }
+ }
+ return {
+ scale: pct !== 1,
+ scalePct: pct,
+ realWidth: actual.width,
+ realHeight: actual.height,
+ width: eff.width,
+ height: eff.height,
+ ratio: eff.width / eff.height
+ };
+ };
+ // Scale a set of AREAs, return old data as an array of objects
+ m.utils.scaleMap = function (image, imageRaw, scale) {
+ // stunningly, jQuery width can return zero even as width does not, seems to happen only
+ // with adBlock or maybe other plugins. These must interfere with onload events somehow.
+
+ var vis = u.size(image),
+ raw = u.size(imageRaw, true);
+
+ if (!raw.complete()) {
+ throw 'Another script, such as an extension, appears to be interfering with image loading. Please let us know about this.';
+ }
+ if (!vis.complete()) {
+ vis = raw;
+ }
+ return this.getScaleInfo(vis, scale ? raw : null);
+ };
+
+ /**
+ * Resize the image map. Only one of newWidth and newHeight should be passed to preserve scale
+ *
+ * @param {int} width The new width OR an object containing named parameters matching this function sig
+ * @param {int} height The new height
+ * @param {int} effectDuration Time in ms for the resize animation, or zero for no animation
+ * @param {function} callback A function to invoke when the operation finishes
+ * @return {promise} NOT YET IMPLEMENTED
+ */
+
+ m.MapData.prototype.resize = function (width, height, duration, callback) {
+ var p,
+ promises,
+ newsize,
+ els,
+ highlightId,
+ ratio,
+ me = this;
+
+ // allow omitting duration
+ callback = callback || duration;
+
+ function sizeCanvas(canvas, w, h) {
+ if (m.hasCanvas()) {
+ canvas.width = w;
+ canvas.height = h;
+ } else {
+ $(canvas).width(w);
+ $(canvas).height(h);
+ }
+ }
+
+ // Finalize resize action, do callback, pass control to command queue
+
+ function cleanupAndNotify() {
+ me.currentAction = '';
+
+ if (u.isFunction(callback)) {
+ callback();
+ }
+
+ me.processCommandQueue();
+ }
+
+ // handle cleanup after the inner elements are resized
+
+ function finishResize() {
+ sizeCanvas(me.overlay_canvas, width, height);
+
+ // restore highlight state if it was highlighted before
+ if (highlightId >= 0) {
+ var areaData = me.data[highlightId];
+ areaData.tempOptions = { fade: false };
+ me.getDataForKey(areaData.key).highlight();
+ areaData.tempOptions = null;
+ }
+ sizeCanvas(me.base_canvas, width, height);
+ me.redrawSelections();
+ cleanupAndNotify();
+ }
+
+ function resizeMapData() {
+ $(me.image).css(newsize);
+ // start calculation at the same time as effect
+ me.scaleInfo = u.getScaleInfo(
+ {
+ width: width,
+ height: height
+ },
+ {
+ width: me.scaleInfo.realWidth,
+ height: me.scaleInfo.realHeight
+ }
+ );
+ $.each(me.data, function (_, e) {
+ $.each(e.areas(), function (_, e) {
+ e.resize();
+ });
+ });
+ }
+
+ if (me.scaleInfo.width === width && me.scaleInfo.height === height) {
+ return;
+ }
+
+ highlightId = me.highlightId;
+
+ if (!width) {
+ ratio = height / me.scaleInfo.realHeight;
+ width = Math.round(me.scaleInfo.realWidth * ratio);
+ }
+ if (!height) {
+ ratio = width / me.scaleInfo.realWidth;
+ height = Math.round(me.scaleInfo.realHeight * ratio);
+ }
+
+ newsize = { width: String(width) + 'px', height: String(height) + 'px' };
+ if (!m.hasCanvas()) {
+ $(me.base_canvas).children().remove();
+ }
+
+ // resize all the elements that are part of the map except the image itself (which is not visible)
+ // but including the div wrapper
+ els = $(me.wrapper).find('.mapster_el');
+ if (me.options.enableAutoResizeSupport !== true) {
+ els = els.add(me.wrapper);
+ }
+
+ if (duration) {
+ promises = [];
+ me.currentAction = 'resizing';
+ els.filter(':visible').each(function (_, e) {
+ p = u.defer();
+ promises.push(p);
+
+ $(e).animate(newsize, {
+ duration: duration,
+ complete: p.resolve,
+ easing: 'linear'
+ });
+ });
+ els.filter(':hidden').css(newsize);
+
+ p = u.defer();
+ promises.push(p);
+
+ // though resizeMapData is not async, it needs to be finished just the same as the animations,
+ // so add it to the "to do" list.
+
+ u.when.all(promises).then(finishResize);
+ resizeMapData();
+ p.resolve();
+ } else {
+ els.css(newsize);
+ resizeMapData();
+ finishResize();
+ }
+ };
+
+ m.MapData.prototype.autoResize = function (duration, callback) {
+ var me = this;
+ me.resize($(me.wrapper).width(), null, duration, callback);
+ };
+
+ m.MapData.prototype.configureAutoResize = function () {
+ var me = this,
+ ns = me.instanceEventNamespace();
+
+ function resizeMap() {
+ // Evaluate this at runtime to allow for set_options
+ // to change behavior as set_options intentionally
+ // does not change any rendering behavior when invoked.
+ // To improve perf, in next major release this should
+ // be refactored to add/remove listeners when autoResize
+ // changes rather than always having listeners attached
+ // and conditionally resizing
+ if (me.options.autoResize !== true) {
+ return;
+ }
+
+ me.autoResize(me.options.autoResizeDuration, me.options.onAutoResize);
+ }
+
+ function debounce() {
+ if (me.autoResizeTimer) {
+ clearTimeout(me.autoResizeTimer);
+ }
+ me.autoResizeTimer = setTimeout(resizeMap, me.options.autoResizeDelay);
+ }
+
+ $(me.image).on('load' + ns, resizeMap); //Detect late image loads in IE11
+ $(window).on('focus' + ns, resizeMap);
+ $(window).on('resize' + ns, debounce);
+ $(window).on('readystatechange' + ns, resizeMap);
+ $(window.document).on('fullscreenchange' + ns, resizeMap);
+ resizeMap();
+ };
+
+ m.MapArea = u.subclass(m.MapArea, function () {
+ //change the area tag data if needed
+ this.base.init();
+ if (this.owner.scaleInfo.scale) {
+ this.resize();
+ }
+ });
+
+ p.coords = function (percent, coordOffset) {
+ var j,
+ newCoords = [],
+ pct = percent || this.owner.scaleInfo.scalePct,
+ offset = coordOffset || 0;
+
+ if (pct === 1 && coordOffset === 0) {
+ return this.originalCoords;
+ }
+
+ for (j = 0; j < this.length; j++) {
+ //amount = j % 2 === 0 ? xPct : yPct;
+ newCoords.push(Math.round(this.originalCoords[j] * pct) + offset);
+ }
+ return newCoords;
+ };
+ p.resize = function () {
+ this.area.coords = this.coords().join(',');
+ };
+
+ p.reset = function () {
+ this.area.coords = this.coords(1).join(',');
+ };
+
+ m.impl.resize = function (width, height, duration, callback) {
+ var x = new m.Method(
+ this,
+ function () {
+ var me = this,
+ noDimensions = !width && !height,
+ isAutoResize =
+ me.options.enableAutoResizeSupport &&
+ me.options.autoResize &&
+ noDimensions;
+
+ if (isAutoResize) {
+ me.autoResize(duration, callback);
+ return;
+ }
+
+ if (noDimensions) {
+ return false;
+ }
+
+ me.resize(width, height, duration, callback);
+ },
+ null,
+ {
+ name: 'resize',
+ args: arguments
+ }
+ ).go();
+ return x;
+ };
+
+ /*
+ m.impl.zoom = function (key, opts) {
+ var options = opts || {};
+
+ function zoom(areaData) {
+ // this will be MapData object returned by Method
+
+ var scroll, corners, height, width, ratio,
+ diffX, diffY, ratioX, ratioY, offsetX, offsetY, newWidth, newHeight, scrollLeft, scrollTop,
+ padding = options.padding || 0,
+ scrollBarSize = areaData ? 20 : 0,
+ me = this,
+ zoomOut = false;
+
+ if (areaData) {
+ // save original state on first zoom operation
+ if (!me.zoomed) {
+ me.zoomed = true;
+ me.preZoomWidth = me.scaleInfo.width;
+ me.preZoomHeight = me.scaleInfo.height;
+ me.zoomedArea = areaData;
+ if (options.scroll) {
+ me.wrapper.css({ overflow: 'auto' });
+ }
+ }
+ corners = $.mapster.utils.areaCorners(areaData.coords(1, 0));
+ width = me.wrapper.innerWidth() - scrollBarSize - padding * 2;
+ height = me.wrapper.innerHeight() - scrollBarSize - padding * 2;
+ diffX = corners.maxX - corners.minX;
+ diffY = corners.maxY - corners.minY;
+ ratioX = width / diffX;
+ ratioY = height / diffY;
+ ratio = Math.min(ratioX, ratioY);
+ offsetX = (width - diffX * ratio) / 2;
+ offsetY = (height - diffY * ratio) / 2;
+
+ newWidth = me.scaleInfo.realWidth * ratio;
+ newHeight = me.scaleInfo.realHeight * ratio;
+ scrollLeft = (corners.minX) * ratio - padding - offsetX;
+ scrollTop = (corners.minY) * ratio - padding - offsetY;
+ } else {
+ if (!me.zoomed) {
+ return;
+ }
+ zoomOut = true;
+ newWidth = me.preZoomWidth;
+ newHeight = me.preZoomHeight;
+ scrollLeft = null;
+ scrollTop = null;
+ }
+
+ this.resize({
+ width: newWidth,
+ height: newHeight,
+ duration: options.duration,
+ scroll: scroll,
+ scrollLeft: scrollLeft,
+ scrollTop: scrollTop,
+ // closure so we can be sure values are correct
+ callback: (function () {
+ var isZoomOut = zoomOut,
+ scroll = options.scroll,
+ areaD = areaData;
+ return function () {
+ if (isZoomOut) {
+ me.preZoomWidth = null;
+ me.preZoomHeight = null;
+ me.zoomed = false;
+ me.zoomedArea = false;
+ if (scroll) {
+ me.wrapper.css({ overflow: 'inherit' });
+ }
+ } else {
+ // just to be sure it wasn't canceled & restarted
+ me.zoomedArea = areaD;
+ }
+ };
+ } ())
+ });
+ }
+ return (new m.Method(this,
+ function (opts) {
+ zoom.call(this);
+ },
+ function () {
+ zoom.call(this.owner, this);
+ },
+ {
+ name: 'zoom',
+ args: arguments,
+ first: true,
+ key: key
+ }
+ )).go();
+ };
+ */
+})(jQuery);
+
+/*
+ tooltip.js
+ Tooltip functionality
+ Requires areacorners.js
+*/
+
+(function ($) {
+ 'use strict';
+
+ var m = $.mapster,
+ u = m.utils;
+
+ $.extend(m.defaults, {
+ toolTipContainer:
+ '',
+ showToolTip: false,
+ toolTip: null,
+ toolTipFade: true,
+ toolTipClose: ['area-mouseout', 'image-mouseout', 'generic-mouseout'],
+ onShowToolTip: null,
+ onHideToolTip: null
+ });
+
+ $.extend(m.area_defaults, {
+ toolTip: null,
+ toolTipClose: null
+ });
+
+ /**
+ * Show a tooltip positioned near this area.
+ *
+ * @param {string|jquery} html A string of html or a jQuery object containing the tooltip content.
+ * @param {string|jquery} [template] The html template in which to wrap the content
+ * @param {string|object} [css] CSS to apply to the outermost element of the tooltip
+ * @return {jquery} The tooltip that was created
+ */
+
+ function createToolTip(html, template, css) {
+ var tooltip;
+
+ // wrap the template in a jQuery object, or clone the template if it's already one.
+ // This assumes that anything other than a string is a jQuery object; if it's not jQuery will
+ // probably throw an error.
+
+ if (template) {
+ tooltip =
+ typeof template === 'string' ? $(template) : $(template).clone();
+
+ tooltip.append(html);
+ } else {
+ tooltip = $(html);
+ }
+
+ // always set display to block, or the positioning css won't work if the end user happened to
+ // use a non-block type element.
+
+ tooltip
+ .css(
+ $.extend(css || {}, {
+ display: 'block',
+ position: 'absolute'
+ })
+ )
+ .hide();
+
+ $('body').append(tooltip);
+
+ // we must actually add the tooltip to the DOM and "show" it in order to figure out how much space it
+ // consumes, and then reposition it with that knowledge.
+ // We also cache the actual opacity setting to restore finally.
+
+ tooltip.attr('data-opacity', tooltip.css('opacity')).css('opacity', 0);
+
+ // doesn't really show it because opacity=0
+
+ return tooltip.show();
+ }
+
+ /**
+ * Show a tooltip positioned near this area.
+ *
+ * @param {jquery} tooltip The tooltip
+ * @param {object} [options] options for displaying the tooltip.
+ * @config {int} [left] The 0-based absolute x position for the tooltip
+ * @config {int} [top] The 0-based absolute y position for the tooltip
+ * @config {string|object} [css] CSS to apply to the outermost element of the tooltip
+ * @config {bool} [fadeDuration] When non-zero, the duration in milliseconds of a fade-in effect for the tooltip.
+ */
+
+ function showToolTipImpl(tooltip, options) {
+ var tooltipCss = {
+ left: options.left + 'px',
+ top: options.top + 'px'
+ },
+ actalOpacity = tooltip.attr('data-opacity') || 0,
+ zindex = tooltip.css('z-index');
+
+ if (parseInt(zindex, 10) === 0 || zindex === 'auto') {
+ tooltipCss['z-index'] = 9999;
+ }
+
+ tooltip.css(tooltipCss).addClass('mapster_tooltip');
+
+ if (options.fadeDuration && options.fadeDuration > 0) {
+ u.fader(tooltip[0], 0, actalOpacity, options.fadeDuration);
+ } else {
+ u.setOpacity(tooltip[0], actalOpacity);
+ }
+ }
+
+ /**
+ * Hide and remove active tooltips
+ *
+ * @param {MapData} this The mapdata object to which the tooltips belong
+ */
+
+ m.MapData.prototype.clearToolTip = function () {
+ if (this.activeToolTip) {
+ this.activeToolTip.stop().remove();
+ this.activeToolTip = null;
+ this.activeToolTipID = null;
+ u.ifFunction(this.options.onHideToolTip, this);
+ }
+ };
+
+ /**
+ * Configure the binding between a named tooltip closing option, and a mouse event.
+ *
+ * If a callback is passed, it will be called when the activating event occurs, and the tooltip will
+ * only closed if it returns true.
+ *
+ * @param {MapData} [this] The MapData object to which this tooltip belongs.
+ * @param {String} option The name of the tooltip closing option
+ * @param {String} event UI event to bind to this option
+ * @param {Element} target The DOM element that is the target of the event
+ * @param {Function} [beforeClose] Callback when the tooltip is closed
+ * @param {Function} [onClose] Callback when the tooltip is closed
+ */
+ function bindToolTipClose(
+ options,
+ bindOption,
+ event,
+ target,
+ beforeClose,
+ onClose
+ ) {
+ var tooltip_ns = '.mapster.tooltip',
+ event_name = event + tooltip_ns;
+
+ if ($.inArray(bindOption, options) >= 0) {
+ target.off(event_name).on(event_name, function (e) {
+ if (!beforeClose || beforeClose.call(this, e)) {
+ target.off(tooltip_ns);
+ if (onClose) {
+ onClose.call(this);
+ }
+ }
+ });
+
+ return {
+ object: target,
+ event: event_name
+ };
+ }
+ }
+
+ /**
+ * Show a tooltip.
+ *
+ * @param {string|jquery} [tooltip] A string of html or a jQuery object containing the tooltip content.
+ *
+ * @param {string|jquery} [target] The target of the tooltip, to be used to determine positioning. If null,
+ * absolute position values must be passed with left and top.
+ *
+ * @param {string|jquery} [image] If target is an [area] the image that owns it
+ *
+ * @param {string|jquery} [container] An element within which the tooltip must be bounded
+ *
+ * @param {object|string|jQuery} [options] options to apply when creating this tooltip
+ * @config {int} [offsetx] the horizontal amount to offset the tooltip
+ * @config {int} [offsety] the vertical amount to offset the tooltip
+ * @config {string|object} [css] CSS to apply to the outermost element of the tooltip
+ * @config {bool} [fadeDuration] When non-zero, the duration in milliseconds of a fade-in effect for the tooltip.
+ * @config {int} [left] The 0-based absolute x position for the tooltip (only used if target is not specified)
+ * @config {int} [top] The 0-based absolute y position for the tooltip (only used if target it not specified)
+ */
+
+ function showToolTip(tooltip, target, image, container, options) {
+ var corners,
+ ttopts = {};
+
+ options = options || {};
+
+ if (target) {
+ corners = u.areaCorners(
+ target,
+ image,
+ container,
+ tooltip.outerWidth(true),
+ tooltip.outerHeight(true)
+ );
+
+ // Try to upper-left align it first, if that doesn't work, change the parameters
+
+ ttopts.left = corners[0];
+ ttopts.top = corners[1];
+ } else {
+ ttopts.left = options.left;
+ ttopts.top = options.top;
+ }
+
+ ttopts.left += options.offsetx || 0;
+ ttopts.top += options.offsety || 0;
+
+ ttopts.css = options.css;
+ ttopts.fadeDuration = options.fadeDuration;
+
+ showToolTipImpl(tooltip, ttopts);
+
+ return tooltip;
+ }
+
+ /**
+ * Show a tooltip positioned near this area.
+ *
+ * @param {string|jquery|function} [content] A string of html, jQuery object or function that returns same containing the tooltip content.
+
+ * @param {object} [options] options to apply when creating this tooltip
+ * @config {string|jquery} [container] An element within which the tooltip must be bounded
+ * @config {bool} [template] a template to use instead of the default. If this property exists and is null,
+ * then no template will be used.
+ * @config {string} [closeEvents] A string with one or more comma-separated values that determine when the tooltip
+ * closes: 'area-click','tooltip-click','image-mouseout','image-click' are valid values
+ * then no template will be used.
+ * @config {int} [offsetx] the horizontal amount to offset the tooltip
+ * @config {int} [offsety] the vertical amount to offset the tooltip
+ * @config {string|object} [css] CSS to apply to the outermost element of the tooltip
+ * @config {bool} [fadeDuration] When non-zero, the duration in milliseconds of a fade-in effect for the tooltip.
+ */
+ m.AreaData.prototype.showToolTip = function (content, options) {
+ var tooltip,
+ closeOpts,
+ target,
+ tipClosed,
+ template,
+ ttopts = {},
+ ad = this,
+ md = ad.owner,
+ areaOpts = ad.effectiveOptions();
+
+ // copy the options object so we can update it
+ options = options ? $.extend({}, options) : {};
+
+ content = content || areaOpts.toolTip;
+ closeOpts =
+ options.closeEvents ||
+ areaOpts.toolTipClose ||
+ md.options.toolTipClose ||
+ 'tooltip-click';
+
+ template =
+ typeof options.template !== 'undefined'
+ ? options.template
+ : md.options.toolTipContainer;
+
+ options.closeEvents =
+ typeof closeOpts === 'string'
+ ? (closeOpts = u.split(closeOpts))
+ : closeOpts;
+
+ options.fadeDuration =
+ options.fadeDuration ||
+ (md.options.toolTipFade
+ ? md.options.fadeDuration || areaOpts.fadeDuration
+ : 0);
+
+ target = ad.area
+ ? ad.area
+ : $.map(ad.areas(), function (e) {
+ return e.area;
+ });
+
+ if (md.activeToolTipID === ad.areaId) {
+ return;
+ }
+
+ md.clearToolTip();
+
+ var effectiveContent = u.isFunction(content)
+ ? content({ key: this.key, target: target })
+ : content;
+
+ if (!effectiveContent) {
+ return;
+ }
+
+ md.activeToolTip = tooltip = createToolTip(
+ effectiveContent,
+ template,
+ options.css
+ );
+
+ md.activeToolTipID = ad.areaId;
+
+ tipClosed = function () {
+ md.clearToolTip();
+ };
+
+ bindToolTipClose(
+ closeOpts,
+ 'area-click',
+ 'click',
+ $(md.map),
+ null,
+ tipClosed
+ );
+ bindToolTipClose(
+ closeOpts,
+ 'tooltip-click',
+ 'click',
+ tooltip,
+ null,
+ tipClosed
+ );
+ bindToolTipClose(
+ closeOpts,
+ 'image-mouseout',
+ 'mouseout',
+ $(md.image),
+ function (e) {
+ return (
+ e.relatedTarget &&
+ e.relatedTarget.nodeName !== 'AREA' &&
+ e.relatedTarget !== ad.area
+ );
+ },
+ tipClosed
+ );
+ bindToolTipClose(
+ closeOpts,
+ 'image-click',
+ 'click',
+ $(md.image),
+ null,
+ tipClosed
+ );
+
+ showToolTip(tooltip, target, md.image, options.container, options);
+
+ u.ifFunction(md.options.onShowToolTip, ad.area, {
+ toolTip: tooltip,
+ options: ttopts,
+ areaOptions: areaOpts,
+ key: ad.key,
+ selected: ad.isSelected()
+ });
+
+ return tooltip;
+ };
+
+ /**
+ * Parse an object that could be a string, a jquery object, or an object with a "contents" property
+ * containing html or a jQuery object.
+ *
+ * @param {object|string|jQuery} options The parameter to parse
+ * @return {string|jquery} A string or jquery object
+ */
+ function getHtmlFromOptions(options) {
+ // see if any html was passed as either the options object itself, or the content property
+
+ return options
+ ? typeof options === 'string' || options.jquery || u.isFunction(options)
+ ? options
+ : options.content
+ : null;
+ }
+
+ function getOptionsFromOptions(options) {
+ return options
+ ? typeof options == 'string' || options.jquery || u.isFunction(options)
+ ? { content: options }
+ : options
+ : {};
+ }
+
+ /**
+ * Activate or remove a tooltip for an area. When this method is called on an area, the
+ * key parameter doesn't apply and "options" is the first parameter.
+ *
+ * When called with no parameters, or "key" is a falsy value, any active tooltip is cleared.
+ *
+ * When only a key is provided, the default tooltip for the area is used.
+ *
+ * When html is provided, this is used instead of the default tooltip.
+ *
+ * When "noTemplate" is true, the default tooltip template will not be used either, meaning only
+ * the actual html passed will be used.
+ *
+ * @param {string|AreaElement|HTMLElement} key The area key or element for which to activate a tooltip, or a DOM element/selector.
+ *
+ * @param {object|string|jquery} [options] options to apply when creating this tooltip - OR -
+ * The markup, or a jquery object, containing the data for the tooltip
+ * @config {string|jQuery|function} [content] the inner content of the tooltip; the tooltip text, HTML or function that returns same
+ * @config {Element|jQuery} [container] the inner content of the tooltip; the tooltip text or HTML
+ * @config {bool} [template] a template to use instead of the default. If this property exists and is null,
+ * then no template will be used.
+ * @config {string} [closeEvents] A string with one or more comma-separated values that determine when the tooltip
+ * closes: 'area-click','tooltip-click','image-mouseout','image-click','generic-click','generic-mouseout' are valid values
+ * @config {int} [offsetx] the horizontal amount to offset the tooltip.
+ * @config {int} [offsety] the vertical amount to offset the tooltip.
+ * @config {string|object} [css] CSS to apply to the outermost element of the tooltip
+ * @config {bool} [fadeDuration] When non-zero, the duration in milliseconds of a fade-in effect for the tooltip.
+ * @return {jQuery} The jQuery object
+ */
+
+ m.impl.tooltip = function (key, options) {
+ return new m.Method(
+ this,
+ function mapData() {
+ var tooltip,
+ target,
+ defaultTarget,
+ closeOpts,
+ tipClosed,
+ md = this;
+ if (!key) {
+ md.clearToolTip();
+ } else {
+ target = $(key);
+ defaultTarget = target && target.length > 0 ? target[0] : null;
+ if (md.activeToolTipID === defaultTarget) {
+ return;
+ }
+
+ md.clearToolTip();
+ if (!defaultTarget) {
+ return;
+ }
+
+ var content = getHtmlFromOptions(options),
+ effectiveContent = u.isFunction(content)
+ ? content({ key: this.key, target: target })
+ : content;
+
+ if (!effectiveContent) {
+ return;
+ }
+
+ options = getOptionsFromOptions(options);
+
+ closeOpts =
+ options.closeEvents || md.options.toolTipClose || 'tooltip-click';
+
+ options.closeEvents =
+ typeof closeOpts === 'string'
+ ? (closeOpts = u.split(closeOpts))
+ : closeOpts;
+
+ options.fadeDuration =
+ options.fadeDuration ||
+ (md.options.toolTipFade ? md.options.fadeDuration : 0);
+
+ tipClosed = function () {
+ md.clearToolTip();
+ };
+
+ md.activeToolTip = tooltip = createToolTip(
+ effectiveContent,
+ options.template || md.options.toolTipContainer,
+ options.css
+ );
+ md.activeToolTipID = defaultTarget;
+
+ bindToolTipClose(
+ closeOpts,
+ 'tooltip-click',
+ 'click',
+ tooltip,
+ null,
+ tipClosed
+ );
+
+ bindToolTipClose(
+ closeOpts,
+ 'generic-mouseout',
+ 'mouseout',
+ target,
+ null,
+ tipClosed
+ );
+
+ bindToolTipClose(
+ closeOpts,
+ 'generic-click',
+ 'click',
+ target,
+ null,
+ tipClosed
+ );
+
+ md.activeToolTip = tooltip = showToolTip(
+ tooltip,
+ target,
+ md.image,
+ options.container,
+ options
+ );
+ }
+ },
+ function areaData() {
+ if ($.isPlainObject(key) && !options) {
+ options = key;
+ }
+
+ this.showToolTip(
+ getHtmlFromOptions(options),
+ getOptionsFromOptions(options)
+ );
+ },
+ {
+ name: 'tooltip',
+ args: arguments,
+ key: key
+ }
+ ).go();
+ };
+})(jQuery);
+
+};
+
+imagemapsterFactory(jQuery);
+export { jQuery, jQuery as $ };
+export default jQuery;
diff --git a/dist/jquery.imagemapster.zepto.js b/dist/jquery.imagemapster.zepto.js
index bc32749..8a03ac4 100644
--- a/dist/jquery.imagemapster.zepto.js
+++ b/dist/jquery.imagemapster.zepto.js
@@ -1,5 +1,5 @@
/*!
-* imagemapster - v1.6.0 - 2024-03-12
+* imagemapster - v1.6.0 - 2024-04-05
* https://github.com/jamietre/ImageMapster/
* Copyright (c) 2011 - 2024 James Treworgy
* License: MIT
@@ -31,7 +31,7 @@
factory(root.jQuery || root.Zepto);
}
}(typeof self !== 'undefined' ? self : this, function (jQuery) {
- /*
+/*
zepto.js
Monkey patch for Zepto to add some methods ImageMapster needs
*/
@@ -725,8 +725,8 @@
return d && d.g_vml_
? false
: $('')[0].getContext
- ? true
- : false;
+ ? true
+ : false;
}
/**
@@ -2632,8 +2632,8 @@
return !ar
? ''
: ar.isPrimary
- ? ar.key
- : this.getPrimaryKeysForMapAreas(ar.areas()).join(',');
+ ? ar.key
+ : this.getPrimaryKeysForMapAreas(ar.areas()).join(',');
},
/**
@@ -2974,8 +2974,8 @@
sel = m.hasVml()
? 'area'
: default_group
- ? 'area[coords]'
- : 'area[' + opts.mapKey + ']';
+ ? 'area[coords]'
+ : 'area[' + opts.mapKey + ']';
areas = $(me.map).find(sel).off('.mapster');
@@ -3380,22 +3380,22 @@
return u.isBool(this.selected)
? this.selected
: u.isBool(this.owner.area_options.selected)
- ? this.owner.area_options.selected
- : false;
+ ? this.owner.area_options.selected
+ : false;
},
isSelectable: function () {
return u.isBool(this.effectiveOptions().staticState)
? false
: u.isBool(this.owner.options.staticState)
- ? false
- : u.boolOrDefault(this.effectiveOptions().isSelectable, true);
+ ? false
+ : u.boolOrDefault(this.effectiveOptions().isSelectable, true);
},
isDeselectable: function () {
return u.isBool(this.effectiveOptions().staticState)
? false
: u.isBool(this.owner.options.staticState)
- ? false
- : u.boolOrDefault(this.effectiveOptions().isDeselectable, true);
+ ? false
+ : u.boolOrDefault(this.effectiveOptions().isDeselectable, true);
},
isNotRendered: function () {
return isNoHref(this.area) || this.effectiveOptions().isMask;
@@ -4629,4 +4629,4 @@
};
})(jQuery);
-}));
\ No newline at end of file
+}));
diff --git a/dist/jquery.imagemapster.zepto.min.js b/dist/jquery.imagemapster.zepto.min.js
index d4a489f..670eccf 100644
--- a/dist/jquery.imagemapster.zepto.min.js
+++ b/dist/jquery.imagemapster.zepto.min.js
@@ -1,5 +1,5 @@
/*!
-* imagemapster - v1.6.0 - 2024-03-12
+* imagemapster - v1.6.0 - 2024-04-05
* https://github.com/jamietre/ImageMapster/
* Copyright (c) 2011 - 2024 James Treworgy
* License: MIT
diff --git a/dist/jquery.imagemapster.zepto.min.js.map b/dist/jquery.imagemapster.zepto.min.js.map
index 8245d31..763884b 100644
--- a/dist/jquery.imagemapster.zepto.min.js.map
+++ b/dist/jquery.imagemapster.zepto.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"jquery.imagemapster.zepto.min.js","sources":["jquery.imagemapster.zepto.js"],"names":["root","factory","define","amd","module","exports","jQuery","undefined","window","require","Zepto","self","this","$","fn","stop","each","_","name","funcName","toLowerCase","event","special","setupListener","supportsPassive","opts","Object","defineProperty","get","addEventListener","removeEventListener","e","ns","type","listener","includes","passive","touchstart","setup","call","touchend","mapster_version","m","mapster","method","impl","utils","isFunction","apply","Array","prototype","slice","arguments","error","bind","version","render_defaults","isSelectable","isDeselectable","fade","fadeDuration","fill","fillColor","fillColorMask","fillOpacity","highlight","stroke","strokeColor","strokeOpacity","strokeWidth","includeKeys","altImage","altImageId","altImages","defaults","clickNavigate","navigateMode","wrapClass","wrapCss","onGetList","sortList","listenToList","mapKey","mapValue","singleSelect","listKey","listSelectedAttribute","listSelectedClass","onClick","onMouseover","onMouseout","mouseoutDelay","onStateChange","boundList","onConfigured","configTimeout","noHrefIsMask","scaleMap","enableAutoResizeSupport","autoResize","autoResizeDelay","autoResizeDuration","onAutoResize","safeLoad","areas","shared_defaults","render_highlight","render_select","staticState","selected","area_defaults","isMask","canvas_style","position","left","top","padding","border","hasCanvas","map_cache","hooks","addHook","callback","push","callHooks","context","when","all","deferredArray","Promise","defer","promise","resolve","reject","then","catch","subclass","BaseClass","constr","Subclass","me","args","base","init","constructor","asArray","obj","split","text","cb","el","arr","i","length","trim","splice","updateProps","_target","_template","target","template","isEmptyObject","onlyProps","prop","src","p","inArray","isPlainObject","extend","isElement","o","HTMLElement","nodeType","nodeName","indexOf","indexOfProp","val","result","boolOrDefault","def","isBool","isUndef","ifFunction","that","size","image","raw","u","width","naturalWidth","imgWidth","height","naturalHeight","imgHeight","complete","setOpacity","opacity","style","css","fader","fade_func","op","endOp","duration","index","cbIntervals","elements","lastKey","setTimeout","getShape","areaEl","shape","hasAttribute","attrName","attr","getBoundList","key_list","key","list","is","add","getMapDataIndex","img","id","tagName","parent","getMapData","queueCommand","map_data","command","currentAction","commands","unload","off","ap","capProp","substr","toUpperCase","jqwidth","Method","func_map","func_area","output","input","first","allowAsync","go","data","ar","area_list","len","getData","addMap","removeMap","hasVml","a","appendTo","b","html","firstChild","has","behavior","adj","remove","namespaces","document","d","g_vml_","getContext","merge_areas","map_areas","options","getDataForKey","merge_options","temp_opts","area_options","md","getSelected","isSelected","defaultReturn","highlightId","ensureNoHighlight","keys","keyList","addUniqueKeys","getKeysForGroup","getDataForArea","join","ad","concat","select","set","deselect","lastMap","addArea","finishSetForMap","setSelection","toggle","removeSelectionFinish","filter","toString","unbind","preserveState","clearEvents","clearMapData","rebind","configureOptions","bindImages","buildDataset","get_options","effective","eff","effectiveOptions","set_options","graphics","snapshot","base_canvas","createVisibleCanvas","before","state","map","usemap","getAttribute","MapData","initialize","useCanvas","shapes","value","v","createStyleSheet","addRule","test","eval","canvasMethods","vmlMethods","addShapeGroupImpl","areaData","nohref","addShape","hex_to_decimal","hex","Math","max","min","parseInt","css3color","color","noop","Graphics","active","canvas","masks","begin","elementName","c","mapArea","mapData","createCanvasFor","addClass","addShapeGroup","mode","effectiveRenderOptions","areaId","overlay_canvas","render","find","not","renderShape","offset","coords","rect","moveTo","lineTo","arc","PI","addAltImage","beginPath","closePath","clip","globalAlpha","altImageOpacity","drawImage","owner","scaleInfo","maskCanvas","maskContext","hasMasks","shapeCanvas","shapeContext","clearRect","save","lineWidth","fillStyle","restore","s","images","strokeStyle","globalCompositeOperation","clearHighlight","refreshSelections","canvas_temp","hide","redrawSelections","show","cssclass","el_name","el_class","t_fill","append","w","h","children","removeSelections","area_id","MapImages","clear","status","_add","ids","on","imageLoaded","imageLoadError","triesLeft","check","isLoaded","imgTimeout","deferred","resolver","clearTimeout","queueMouseEvent","delay","area","activeAreaEvent","completeAction","currentAreaId","shouldNavigateTo","href","mousedown","blur","preventDefault","imgCssText","cssText","mapAreas","_xref","_tooltip_events","autoResizeTimer","mouseover","arData","getAllDataForArea","isNotRendered","clearEffects","showToolTip","toolTip","mouseout","relatedTarget","click","list_target","newSelectionState","canChangeState","cbResult","areaOpts","navigateTo","open","location","getNavDetails","defaultHref","useEl","elHref","hrefTarget","clickArea","listTarget","navDetails","toolTipClose","activeToolTip","clearToolTip","mi","e2","isActive","resizing","zoomed","zoomedArea","wrapId","instanceEventNamespace","_idFromKey","hasOwnProperty","atMost","isPrimary","getPrimaryKeysForMapAreas","changeState","setHighlightId","clearSelections","setAreaOptions","drawSelections","key_arr","drawSelection","isSelectedOrStatic","setBoundListProperties","removeClass","clearBoundListProperties","refreshBoundList","setBoundList","sort_func","sorted_list","sort","wrap","scale","parentId","substring","className","wrapper","imgCopy","display","processCommandQueue","configureAutoResize","$img","sel","j","$area","curKey","mapAreaId","group_value","dataItem","default_group","addAreaData","AreaData","String","configure","areaDataXref","MapArea","areasXref","cur","_clearCanvases","reset","g","isNoHref","staticStateOverridden","optsCache","constuctor","newOptsCache","hasOptions","changeOptions","isDrawn","selectedHasChanged","updateSelected","partial","prevSelected","allOpts","state_type","originalCoords","parseFloat","areaCorners","container","pos","found","minX","minY","maxX","maxY","bestMinX","bestMaxX","bestMinY","bestMaxY","curX","curY","nest","rootx","rooty","iCoords","radius","angle","offsetx","offsety","body","cos","sin","getScaleInfo","actual","pct","scalePct","realWidth","realHeight","ratio","imageRaw","vis","resize","promises","newsize","sizeCanvas","finishResize","tempOptions","resizeMapData","round","els","animate","easing","resizeMap","percent","coordOffset","newCoords","noDimensions","isAutoResize","createToolTip","tooltip","clone","bindToolTipClose","bindOption","beforeClose","onClose","tooltip_ns","event_name","ttopts","corners","outerWidth","outerHeight","tooltipCss","actalOpacity","zindex","getHtmlFromOptions","jquery","content","getOptionsFromOptions","toolTipContainer","toolTipFade","onShowToolTip","onHideToolTip","activeToolTipID","closeOpts","closeEvents","effectiveContent","tipClosed","areaOptions","defaultTarget"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"jquery.imagemapster.zepto.min.js","sources":["jquery.imagemapster.zepto.js"],"names":["root","factory","define","amd","module","exports","jQuery","undefined","window","require","Zepto","self","this","$","fn","stop","each","_","name","funcName","toLowerCase","event","special","setupListener","supportsPassive","opts","Object","defineProperty","get","addEventListener","removeEventListener","e","ns","type","listener","includes","passive","touchstart","setup","call","touchend","mapster_version","m","mapster","method","impl","utils","isFunction","apply","Array","prototype","slice","arguments","error","bind","version","render_defaults","isSelectable","isDeselectable","fade","fadeDuration","fill","fillColor","fillColorMask","fillOpacity","highlight","stroke","strokeColor","strokeOpacity","strokeWidth","includeKeys","altImage","altImageId","altImages","defaults","clickNavigate","navigateMode","wrapClass","wrapCss","onGetList","sortList","listenToList","mapKey","mapValue","singleSelect","listKey","listSelectedAttribute","listSelectedClass","onClick","onMouseover","onMouseout","mouseoutDelay","onStateChange","boundList","onConfigured","configTimeout","noHrefIsMask","scaleMap","enableAutoResizeSupport","autoResize","autoResizeDelay","autoResizeDuration","onAutoResize","safeLoad","areas","shared_defaults","render_highlight","render_select","staticState","selected","area_defaults","isMask","canvas_style","position","left","top","padding","border","hasCanvas","map_cache","hooks","addHook","callback","push","callHooks","context","when","all","deferredArray","Promise","defer","promise","resolve","reject","then","catch","subclass","BaseClass","constr","Subclass","me","args","base","init","constructor","asArray","obj","split","text","cb","el","arr","i","length","trim","splice","updateProps","_target","_template","target","template","isEmptyObject","onlyProps","prop","src","p","inArray","isPlainObject","extend","isElement","o","HTMLElement","nodeType","nodeName","indexOf","indexOfProp","val","result","boolOrDefault","def","isBool","isUndef","ifFunction","that","size","image","raw","u","width","naturalWidth","imgWidth","height","naturalHeight","imgHeight","complete","setOpacity","opacity","style","css","fader","fade_func","op","endOp","duration","index","cbIntervals","elements","lastKey","setTimeout","getShape","areaEl","shape","hasAttribute","attrName","attr","getBoundList","key_list","key","list","is","add","getMapDataIndex","img","id","tagName","parent","getMapData","queueCommand","map_data","command","currentAction","commands","unload","off","ap","capProp","substr","toUpperCase","jqwidth","Method","func_map","func_area","output","input","first","allowAsync","go","data","ar","area_list","len","getData","addMap","removeMap","hasVml","a","appendTo","b","html","firstChild","has","behavior","adj","remove","namespaces","document","d","g_vml_","getContext","merge_areas","map_areas","options","getDataForKey","merge_options","temp_opts","area_options","md","getSelected","isSelected","defaultReturn","highlightId","ensureNoHighlight","keys","keyList","addUniqueKeys","getKeysForGroup","getDataForArea","join","ad","concat","select","set","deselect","lastMap","addArea","finishSetForMap","setSelection","toggle","removeSelectionFinish","filter","toString","unbind","preserveState","clearEvents","clearMapData","rebind","configureOptions","bindImages","buildDataset","get_options","effective","eff","effectiveOptions","set_options","graphics","snapshot","base_canvas","createVisibleCanvas","before","state","map","usemap","getAttribute","MapData","initialize","useCanvas","shapes","value","v","createStyleSheet","addRule","test","eval","canvasMethods","vmlMethods","addShapeGroupImpl","areaData","nohref","addShape","hex_to_decimal","hex","Math","max","min","parseInt","css3color","color","noop","Graphics","active","canvas","masks","begin","elementName","c","mapArea","mapData","createCanvasFor","addClass","addShapeGroup","mode","effectiveRenderOptions","areaId","overlay_canvas","render","find","not","renderShape","offset","coords","rect","moveTo","lineTo","arc","PI","addAltImage","beginPath","closePath","clip","globalAlpha","altImageOpacity","drawImage","owner","scaleInfo","maskCanvas","maskContext","hasMasks","shapeCanvas","shapeContext","clearRect","save","lineWidth","fillStyle","restore","s","images","strokeStyle","globalCompositeOperation","clearHighlight","refreshSelections","canvas_temp","hide","redrawSelections","show","cssclass","el_name","el_class","t_fill","append","w","h","children","removeSelections","area_id","MapImages","clear","status","_add","ids","on","imageLoaded","imageLoadError","triesLeft","check","isLoaded","imgTimeout","deferred","resolver","clearTimeout","queueMouseEvent","delay","area","activeAreaEvent","completeAction","currentAreaId","shouldNavigateTo","href","mousedown","blur","preventDefault","imgCssText","cssText","mapAreas","_xref","_tooltip_events","autoResizeTimer","mouseover","arData","getAllDataForArea","isNotRendered","clearEffects","showToolTip","toolTip","mouseout","relatedTarget","click","list_target","newSelectionState","canChangeState","cbResult","areaOpts","navigateTo","open","location","getNavDetails","defaultHref","useEl","elHref","hrefTarget","clickArea","listTarget","navDetails","toolTipClose","activeToolTip","clearToolTip","mi","e2","isActive","resizing","zoomed","zoomedArea","wrapId","instanceEventNamespace","_idFromKey","hasOwnProperty","atMost","isPrimary","getPrimaryKeysForMapAreas","changeState","setHighlightId","clearSelections","setAreaOptions","drawSelections","key_arr","drawSelection","isSelectedOrStatic","setBoundListProperties","removeClass","clearBoundListProperties","refreshBoundList","setBoundList","sort_func","sorted_list","sort","wrap","scale","parentId","substring","className","wrapper","imgCopy","display","processCommandQueue","configureAutoResize","$img","sel","j","$area","curKey","mapAreaId","group_value","dataItem","default_group","addAreaData","AreaData","String","configure","areaDataXref","MapArea","areasXref","cur","_clearCanvases","reset","g","isNoHref","staticStateOverridden","optsCache","constuctor","newOptsCache","hasOptions","changeOptions","isDrawn","selectedHasChanged","updateSelected","partial","prevSelected","allOpts","state_type","originalCoords","parseFloat","areaCorners","container","pos","found","minX","minY","maxX","maxY","bestMinX","bestMaxX","bestMinY","bestMaxY","curX","curY","nest","rootx","rooty","iCoords","radius","angle","offsetx","offsety","body","cos","sin","getScaleInfo","actual","pct","scalePct","realWidth","realHeight","ratio","imageRaw","vis","resize","promises","newsize","sizeCanvas","finishResize","tempOptions","resizeMapData","round","els","animate","easing","resizeMap","percent","coordOffset","newCoords","noDimensions","isAutoResize","createToolTip","tooltip","clone","bindToolTipClose","bindOption","beforeClose","onClose","tooltip_ns","event_name","ttopts","corners","outerWidth","outerHeight","tooltipCss","actalOpacity","zindex","getHtmlFromOptions","jquery","content","getOptionsFromOptions","toolTipContainer","toolTipFade","onShowToolTip","onHideToolTip","activeToolTipID","closeOpts","closeEvents","effectiveContent","tipClosed","areaOptions","defaultTarget"],"mappings":"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"}
\ No newline at end of file
diff --git a/gruntfile.js b/gruntfile.js
index d49ad31..9cc71f0 100644
--- a/gruntfile.js
+++ b/gruntfile.js
@@ -48,6 +48,14 @@ module.exports = function (grunt) {
src: '<%= umd.jquery.options.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.js'
},
+ jqueryesmdist: {
+ options: {
+ banner: '<%= banner %>',
+ process: true
+ },
+ src: '<%= umd.jqueryesm.options.dest %>',
+ dest: 'dist/jquery.<%= pkg.name %>.mjs'
+ },
zeptodist: {
options: {
banner: '<%= banner %>',
@@ -68,6 +76,10 @@ module.exports = function (grunt) {
src: '<%= concat.jquerydist.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.min.js'
},
+ jqueryesm: {
+ src: '<%= concat.jqueryesmdist.dest %>',
+ dest: 'dist/jquery.<%= pkg.name %>.min.mjs'
+ },
zepto: {
src: '<%= concat.zeptodist.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.zepto.min.js'
@@ -81,6 +93,13 @@ module.exports = function (grunt) {
template: 'jqueryplugin.hbs'
}
},
+ jqueryesm: {
+ options: {
+ src: '<%= concat.jquery.dest %>',
+ dest: 'build/jquery.<%= pkg.name %>.jquery.esm.js',
+ template: 'jqueryplugin.esm.hbs'
+ }
+ },
zepto: {
options: {
src: '<%= concat.zepto.dest %>',
@@ -220,8 +239,10 @@ module.exports = function (grunt) {
'concat:jquery',
'concat:zepto',
'umd:jquery',
+ 'umd:jqueryesm',
'umd:zepto',
'concat:jquerydist',
+ 'concat:jqueryesmdist',
'concat:zeptodist'
]);
grunt.registerTask('dist', ['build', 'uglify']);
diff --git a/jqueryplugin.esm.hbs b/jqueryplugin.esm.hbs
new file mode 100644
index 0000000..faa8193
--- /dev/null
+++ b/jqueryplugin.esm.hbs
@@ -0,0 +1,9 @@
+import jQuery from 'jquery';
+
+function imagemapsterFactory(jQuery) {
+{{{code}}}
+};
+
+imagemapsterFactory(jQuery);
+export { jQuery, jQuery as $ };
+export default jQuery;
diff --git a/jqueryplugin.hbs b/jqueryplugin.hbs
index 24fc621..99408e1 100644
--- a/jqueryplugin.hbs
+++ b/jqueryplugin.hbs
@@ -25,5 +25,5 @@
factory(jQuery);
}
}(function (jQuery) {
- {{{code}}}
-}));
\ No newline at end of file
+{{{code}}}
+}));
diff --git a/package.json b/package.json
index a4e5fc0..4cd799b 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,20 @@
"version": "1.6.0",
"description": "jQuery plugin that activates areas in HTML imagemaps with support for highlighting, selecting, tooltips, resizing and more",
"main": "dist/jquery.imagemapster.min.js",
+ "module": "dist/jquery.imagemapster.min.mjs",
+ "exports": {
+ ".": {
+ "import": {
+ "development": "./dist/jquery.imagemapster.mjs",
+ "default": "./dist/jquery.imagemapster.min.mjs"
+ },
+ "require": {
+ "development": "./dist/jquery.imagemapster.js",
+ "default": "./dist/jquery.imagemapster.min.js"
+ },
+ "default": "./dist/jquery.imagemapster.min.js"
+ }
+ },
"files": [
"dist/**/*"
],
diff --git a/zeptoplugin.hbs b/zeptoplugin.hbs
index a3ead73..0303b27 100644
--- a/zeptoplugin.hbs
+++ b/zeptoplugin.hbs
@@ -25,5 +25,5 @@
factory(root.jQuery || root.Zepto);
}
}(typeof self !== 'undefined' ? self : this, function (jQuery) {
- {{{code}}}
-}));
\ No newline at end of file
+{{{code}}}
+}));