[9.0.04] Image map responsive

This commit is contained in:
fredtempez 2019-03-11 11:36:23 +01:00
parent 7bde4a55af
commit 32058b3dcf
5 changed files with 28 additions and 2 deletions

View File

@ -2,10 +2,17 @@
## Version 9.0.04
- Corrections :
- Module form 1.5 :
- Module form 1.6 :
- erreur lors de la non sélection d'un groupe
- captcha inefficace
- Pour les testeurs : la mise à jour automatique n'est plus proposée lors d'une régression,version en ligne inférieure à la version installée.
- Ajout :
- Redimennsionneur d'image map : permet d'obtenir des images map fonctionnelles lorsque les dimensions de l'image sont réduites par le thème ou la taille de l'écran).
- La carte peut être générée par https://www.image-map.net/
- Article (en) : https://blog.travismclarke.com/project/imagemap/
- Git : https://github.com/clarketm/image-map
## Version 9.0.03
- Corrections :

View File

@ -491,7 +491,8 @@ class common {
// 'tinymce', Désactivé par défaut
// 'codemirror', // Désactivé par défaut
'tippy',
'zwiico'
'zwiico',
'imagemap'
],
'view' => ''
];

8
core/vendor/imagemap/image-map.min.js vendored Normal file
View File

@ -0,0 +1,8 @@
/**
* Copyright (c) 2018, Travis Clarke (https://www.travismclarke.com/)
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):e.ImageMap=t(e.$)}(this,function(e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function o(e){return i(e)||a(e)||u()}function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}}function a(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function u(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function c(e,t){return new s(e,t)}e=e&&e.hasOwnProperty("default")?e.default:e;var d="resize",f="load",l="complete",s=function(){function e(n,r){t(this,e),this.selector=n instanceof Array?n:o(document.querySelectorAll(n)),document.readyState!==l?window.addEventListener(f,this.update.bind(this)):this.update(),window.addEventListener(d,this.debounce(this.update,r).bind(this))}return r(e,[{key:"update",value:function(){var e=this;this.selector.forEach(function(t){if(void 0!==t.getAttribute("usemap")){t.cloneNode().addEventListener(f,e.handleImageLoad(t.offsetWidth,t.offsetHeight))}})}},{key:"debounce",value:function(e){var t,n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500;return function(){for(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=arguments[a];window.clearTimeout(t),t=window.setTimeout(function(t){return e.apply(t,i)},r,n)}}},{key:"handleImageLoad",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(r){var i=r.target.width,a=r.target.height,u=t/100,c=n/100,d=r.target.getAttribute("usemap").replace(/^#/,"")
;o(document.querySelectorAll(e.genAreaSelector(d))).forEach(function(e){var t=e.dataset.coords=e.dataset.coords||e.getAttribute("coords"),n=t.split(",");e.setAttribute("coords",""+n.map(function(e,t){return t%2==0?+(n[t]/i*100*u):+(n[t]/a*100*c)}))})}}}],[{key:"genAreaSelector",value:function(e){return'map[name="'.concat(e,'"] area')}}]),e}();return void 0!==e&&e.fn&&(e.fn.imageMap=function(e){return new s(this.toArray(),e)}),c.VERSION="1.1.5",c});

4
core/vendor/imagemap/inc.json vendored Normal file
View File

@ -0,0 +1,4 @@
[
"image-map.min.js",
"init.js"
]

6
core/vendor/imagemap/init.js vendored Normal file
View File

@ -0,0 +1,6 @@
/**
* Initialisation du redimensionner de mapf
*/
$(function() {
$('img[usemap]').imageMap();
});