From 5996846e2282cc0897fcb09f6d7b5ebc675ca409 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Wed, 15 Apr 2015 11:59:38 -0500 Subject: [PATCH 1/2] Add imageMap-resizer library - refs BT#9737 --- .../javascript/imagemap-resizer/imageMapResizer.min.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 main/inc/lib/javascript/imagemap-resizer/imageMapResizer.min.js diff --git a/main/inc/lib/javascript/imagemap-resizer/imageMapResizer.min.js b/main/inc/lib/javascript/imagemap-resizer/imageMapResizer.min.js new file mode 100644 index 0000000000..cb2ea640de --- /dev/null +++ b/main/inc/lib/javascript/imagemap-resizer/imageMapResizer.min.js @@ -0,0 +1,8 @@ +/*! Image Map Resizer (imageMapResizer.min.js ) - v0.5.3 - 2015-01-29 + * Desc: Resize HTML imageMap to scaled image. + * Copyright: (c) 2015 David J. Bradshaw - dave@bradshaw.net + * License: MIT + */ + +!function(){"use strict";function a(){function a(){function a(a){function c(a){return a*b[1===(d=1-d)?"width":"height"]}var d=0;return a.split(",").map(Number).map(c).map(Math.floor).join(",")}for(var b={width:i.width/j.width,height:i.height/j.height},c=0;g>c;c++)f[c].coords=a(h[c])}function b(){j.onload=function(){(i.width!==j.width||i.height!==j.height)&&a()},j.src=i.src}function c(){function b(){clearTimeout(k),k=setTimeout(a,250)}window.addEventListener?window.addEventListener("resize",b,!1):window.attachEvent&&window.attachEvent("onresize",b)}function d(a){return a.coords.replace(/ *, */g,",").replace(/ +/g,",")}var e=this,f=e.getElementsByTagName("area"),g=f.length,h=Array.prototype.map.call(f,d),i=document.querySelector('img[usemap="#'+e.name+'"]'),j=new Image,k=null;b(),c()}function b(){function b(b){if(!b.tagName)throw new TypeError("Object is not a valid DOM element");if("MAP"!==b.tagName.toUpperCase())throw new TypeError("Expected tag, found <"+b.tagName+">.");a.call(b)}return function(a){switch(typeof a){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(a||"map"),b);break;case"object":b(a);break;default:throw new TypeError("Unexpected data type ("+typeof a+").")}}}"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?module.exports=b():window.imageMapResize=b(),"jQuery"in window&&(jQuery.fn.imageMapResize=function(){return this.filter("map").each(a).end()})}(); +//# sourceMappingURL=imageMapResizer.map \ No newline at end of file From eea409b187f9f5269fefd62829e0ec560dfae72f Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Wed, 15 Apr 2015 12:00:08 -0500 Subject: [PATCH 2/2] Make responsive image maps - refs BT#9737 --- main/inc/lib/template.lib.php | 3 ++- main/template/default/layout/head.tpl | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/main/inc/lib/template.lib.php b/main/inc/lib/template.lib.php index 8ab7e14191..846e4a6275 100755 --- a/main/inc/lib/template.lib.php +++ b/main/inc/lib/template.lib.php @@ -559,7 +559,8 @@ class Template 'chosen/chosen.jquery.min.js', 'thickbox.js', 'bootstrap/bootstrap.js', - 'mediaelement/mediaelement-and-player.min.js' + 'mediaelement/mediaelement-and-player.min.js', + 'imagemap-resizer/imageMapResizer.min.js' ); if (api_is_global_chat_enabled()) { diff --git a/main/template/default/layout/head.tpl b/main/template/default/layout/head.tpl index 0ff71c5678..03fd57dc5f 100755 --- a/main/template/default/layout/head.tpl +++ b/main/template/default/layout/head.tpl @@ -368,6 +368,9 @@ $(function() { $(".td_actions").parent('tr').mouseout(function() { $(".td_actions").hide(); });*/ + + /* Make responsive image maps */ + $('map').imageMapResize(); }); {# Extra header configured in admin section, only shown to non-admins #}