From 59b926ff335529e1cc7ee2df22c19e8d4bfd50d3 Mon Sep 17 00:00:00 2001 From: Chen Fengyuan Date: Sat, 4 Mar 2017 16:20:43 +0800 Subject: [PATCH] Release v0.6.2 --- CHANGELOG.md | 5 +++++ dist/viewer.css | 4 ++-- dist/viewer.js | 6 +++--- dist/viewer.min.css | 4 ++-- dist/viewer.min.js | 6 +++--- docs/css/main.css | 4 ++-- docs/css/viewer.css | 4 ++-- docs/index.html | 2 +- docs/js/viewer.js | 6 +++--- package.json | 8 ++++---- 10 files changed, 27 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e40dbc..c99ef3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ # Changelog +## 0.6.2 (Mar 4, 2017) + +- Fixed the issue of touch and move problem (#63). + + ## 0.6.1 (Feb 18, 2017) - Prevented the default behaviour of drag action (#63). diff --git a/dist/viewer.css b/dist/viewer.css index c52c096..40a7965 100644 --- a/dist/viewer.css +++ b/dist/viewer.css @@ -1,11 +1,11 @@ /*! - * Viewer.js v0.6.1 + * Viewer.js v0.6.2 * https://github.com/fengyuanchen/viewerjs * * Copyright (c) 2017 Fengyuan Chen * Released under the MIT license * - * Date: 2017-02-18T06:33:56.595Z + * Date: 2017-03-04T08:19:00.870Z */ .viewer-zoom-in::before, diff --git a/dist/viewer.js b/dist/viewer.js index 513c03c..fd9d94e 100644 --- a/dist/viewer.js +++ b/dist/viewer.js @@ -1,11 +1,11 @@ /*! - * Viewer.js v0.6.1 + * Viewer.js v0.6.2 * https://github.com/fengyuanchen/viewerjs * * Copyright (c) 2017 Fengyuan Chen * Released under the MIT license * - * Date: 2017-02-18T06:33:56.595Z + * Date: 2017-03-04T08:19:00.870Z */ (function (global, factory) { @@ -1348,7 +1348,7 @@ var handlers = { if (e.changedTouches) { each(e.changedTouches, function (touch) { - extend(pointers[touch.identifier], getPointer(touch), true); + extend(pointers[touch.identifier], getPointer(touch, true)); }); } else { extend(pointers[e.pointerId || 0], getPointer(e, true)); diff --git a/dist/viewer.min.css b/dist/viewer.min.css index 5366968..e9a11ba 100644 --- a/dist/viewer.min.css +++ b/dist/viewer.min.css @@ -1,11 +1,11 @@ /*! - * Viewer.js v0.6.1 + * Viewer.js v0.6.2 * https://github.com/fengyuanchen/viewerjs * * Copyright (c) 2017 Fengyuan Chen * Released under the MIT license * - * Date: 2017-02-18T06:33:56.595Z + * Date: 2017-03-04T08:19:00.870Z */ .viewer-close:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen-exit:before,.viewer-fullscreen:before,.viewer-next:before,.viewer-one-to-one:before,.viewer-play:before,.viewer-prev:before,.viewer-reset:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-zoom-in:before,.viewer-zoom-out:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC");background-repeat:no-repeat;display:block;height:20px;width:20px;font-size:0;line-height:0;color:transparent}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{background-color:rgba(0,0,0,.5);direction:ltr;font-size:0;line-height:0;overflow:hidden;-webkit-tap-highlight-color:transparent;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;top:0;right:0;bottom:0;left:0}.viewer-container::-moz-selection,.viewer-container ::-moz-selection{background-color:transparent}.viewer-container::selection,.viewer-container ::selection{background-color:transparent}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:rgba(0,0,0,.5);overflow:hidden}.viewer-list{box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{cursor:pointer;float:left;height:50px;opacity:.5;overflow:hidden;width:30px;font-size:0;line-height:0;color:transparent}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-active{opacity:1}.viewer-player{background-color:#000;cursor:none;display:none;right:0;bottom:0}.viewer-player,.viewer-player>img{position:absolute;top:0;left:0}.viewer-toolbar{margin:0 auto 5px;overflow:hidden;padding:3px 0;width:280px}.viewer-toolbar>li{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;width:24px}.viewer-toolbar>li:hover{background-color:rgba(0,0,0,.8)}.viewer-toolbar>li:before{margin:2px}.viewer-toolbar>li+li{margin-left:1px}.viewer-toolbar>.viewer-play{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>.viewer-play:before{margin:5px}.viewer-tooltip{background-color:rgba(0,0,0,.8);border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1;margin:0 5% 5px;max-width:90%;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;width:80px}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:-webkit-grab;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{-webkit-transition:all .3s;transition:all .3s}@media (max-width:767px){.viewer-hide-xs-down{display:none}}@media (max-width:991px){.viewer-hide-sm-down{display:none}}@media (max-width:1199px){.viewer-hide-md-down{display:none}} \ No newline at end of file diff --git a/dist/viewer.min.js b/dist/viewer.min.js index aac976f..ee3ee46 100644 --- a/dist/viewer.min.js +++ b/dist/viewer.min.js @@ -1,11 +1,11 @@ /*! - * Viewer.js v0.6.1 + * Viewer.js v0.6.2 * https://github.com/fengyuanchen/viewerjs * * Copyright (c) 2017 Fengyuan Chen * Released under the MIT license * - * Date: 2017-02-18T06:33:56.595Z + * Date: 2017-03-04T08:19:00.870Z */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Viewer=t()}(this,function(){"use strict";function e(e){return Q.call(e).slice(8,-1).toLowerCase()}function t(e){return"string"==typeof e}function i(e){return"number"==typeof e&&!isNaN(e)}function n(e){return"undefined"==typeof e}function a(e){return"object"===("undefined"==typeof e?"undefined":K(e))&&null!==e}function r(e){if(!a(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&ee.call(i,"isPrototypeOf")}catch(e){return!1}}function o(t){return"function"===e(t)}function l(t){return Array.isArray?Array.isArray(t):"array"===e(t)}function s(e,t){return t=t>=0?t:0,Array.from?Array.from(e).slice(t):te.call(e,t)}function c(e,t){var i=-1;return t.indexOf?t.indexOf(e):(t.forEach(function(t,n){t===e&&(i=n)}),i)}function u(e){return t(e)&&(e=e.trim?e.trim():e.replace(G,"1")),e}function d(e,t){if(e&&o(t)){var n=void 0;if(l(e)||i(e.length)){var r=e.length;for(n=0;n1?t-1:0),n=1;n0){if(Object.assign)return Object.assign.apply(Object,[e].concat(i));i.forEach(function(t){a(t)&&Object.keys(t).forEach(function(i){e[i]=t[i]})})}return e}function f(e,t){for(var i=arguments.length,n=Array(i>2?i-2:0),a=2;a-1}function g(e,t){if(t){if(i(e.length))return void d(e,function(e){g(e,t)});if(e.classList)return void e.classList.add(t);var n=u(e.className);n?n.indexOf(t)<0&&(e.className=n+" "+t):e.className=t}}function p(e,t){if(t)return i(e.length)?void d(e,function(e){p(e,t)}):e.classList?void e.classList.remove(t):void(e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function b(e,t,n){if(t)return i(e.length)?void d(e,function(e){b(e,t,n)}):void(n?g(e,t):p(e,t))}function y(e){return e.replace($,"$1-$2").toLowerCase()}function x(e,t){return a(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-"+y(t))}function k(e,t,i){a(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-"+y(t),i)}function z(e,t){if(a(e[t]))delete e[t];else if(e.dataset)try{delete e.dataset[t]}catch(i){e.dataset[t]=null}else e.removeAttribute("data-"+y(t))}function D(e,t,i){var n=u(t).split(U);return n.length>1?void d(n,function(t){D(e,t,i)}):void(e.removeEventListener?e.removeEventListener(t,i,!1):e.detachEvent&&e.detachEvent("on"+t,i))}function E(e,t,i,n){var a=u(t).split(U),r=i;return a.length>1?void d(a,function(t){E(e,t,i)}):(n&&(i=function(){for(var n=arguments.length,a=Array(n),o=0;o
',K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},Z=function(){function e(e,t){for(var i=0;i"))}),a.innerHTML=r.join(""),d(M(a,"img"),function(t){k(t,"filled",!0),E(t,"load",f(e.loadImage,e),!0)}),e.items=M(a,"li"),i.transition&&E(n,"viewed",function(){g(a,"viewer-transition")},!0)},renderList:function(e){var t=this,i=e||t.index,n=t.items[i].offsetWidth||30,a=n+1;m(t.list,{width:a*t.length,marginLeft:(t.viewerData.width-n)/2-a*i})},resetList:function(){var e=this;X(e.list),p(e.list,"viewer-transition"),m({marginLeft:0})},initImage:function(e){var t=this,i=t.options,n=t.image,a=t.viewerData,r=t.footer.offsetHeight,l=a.width,s=Math.max(a.height-r,r),c=t.imageData||{};O(n,function(n,a){var r=n/a,u=l,d=s;s*r>l?d=l/r:u=s*r,u=Math.min(.9*u,n),d=Math.min(.9*d,a);var f={naturalWidth:n,naturalHeight:a,aspectRatio:r,ratio:u/n,width:u,height:d,left:(l-u)/2,top:(s-d)/2},m=v({},f);i.rotatable&&(f.rotate=c.rotate||0,m.rotate=0),i.scalable&&(f.scaleX=c.scaleX||1,f.scaleY=c.scaleY||1,m.scaleX=1,m.scaleY=1),t.imageData=f,t.initialImageData=m,o(e)&&e()})},renderImage:function(e){var t=this,i=t.image,n=t.imageData,a=R(n);m(i,{width:n.width,height:n.height,marginLeft:n.left,marginTop:n.top,WebkitTransform:a,msTransform:a,transform:a}),o(e)&&(t.transitioning?E(i,"transitionend",e,!0):e())},resetImage:function(){var e=this;e.image&&(N(e.image),e.image=null)}},ne="undefined"!=typeof window?window.PointerEvent:null,ae=ne?"pointerdown":"touchstart mousedown",re=ne?"pointermove":"mousemove touchmove",oe=ne?"pointerup pointercancel":"touchend touchcancel mouseup",le="wheel mousewheel DOMMouseScroll",se="keydown",ce="dragstart",ue="click",de="resize",ve="view",fe="viewed",me={bind:function(){var e=this,t=e.options,i=e.element,n=e.viewer;o(t.view)&&E(i,ve,t.view),o(t.viewed)&&E(i,fe,t.viewed),E(n,ue,e.onClick=f(e.click,e)),E(n,le,e.onWheel=f(e.wheel,e)),E(n,ce,e.onDragstart=f(e.dragstart,e)),E(e.canvas,ae,e.onMousedown=f(e.mousedown,e)),E(document,re,e.onMousemove=f(e.mousemove,e)),E(document,oe,e.onMouseup=f(e.mouseup,e)),E(document,se,e.onKeydown=f(e.keydown,e)),E(window,de,e.onResize=f(e.resize,e))},unbind:function(){var e=this,t=e.options,i=e.element,n=e.viewer;o(t.view)&&D(i,ve,t.view),o(t.viewed)&&D(i,fe,t.viewed),D(n,ue,e.onClick),D(n,le,e.onWheel),D(n,ce,e.onDragstart),D(e.canvas,ae,e.onMousedown),D(document,re,e.onMousemove),D(document,oe,e.onMouseup),D(document,se,e.onKeydown),D(window,de,e.onResize)}},he={start:function(e){var t=this,i=T(e),n=i.target;"img"===n.tagName.toLowerCase()&&(t.target=n,t.show())},click:function(e){var t=this,i=T(e),n=i.target,a=x(n,"action"),r=t.imageData;switch(a){case"mix":t.played?t.stop():t.options.inline?t.fulled?t.exit():t.full():t.hide();break;case"view":t.view(x(n,"index"));break;case"zoom-in":t.zoom(.1,!0);break;case"zoom-out":t.zoom(-.1,!0);break;case"one-to-one":t.toggle();break;case"reset":t.reset();break;case"prev":t.prev();break;case"play":t.play();break;case"next":t.next();break;case"rotate-left":t.rotate(-90);break;case"rotate-right":t.rotate(90);break;case"flip-horizontal":t.scaleX(-r.scaleX||-1);break;case"flip-vertical":t.scaleY(-r.scaleY||-1);break;default:t.played&&t.stop()}},load:function(){var e=this,t=e.options,i=e.image,n=e.index,a=e.viewerData;e.timeout&&(clearTimeout(e.timeout),e.timeout=!1),p(i,"viewer-invisible"),i.style.cssText="width:0;height:0;"+("margin-left:"+a.width/2+"px;")+("margin-top:"+a.height/2+"px;")+"max-width:none!important;visibility:visible;",e.initImage(function(){b(i,"viewer-transition",t.transition),b(i,"viewer-move",t.movable),e.renderImage(function(){e.viewed=!0,I(e.element,"viewed",{originalImage:e.images[n],index:n,image:i})})})},loadImage:function(e){var t=T(e),i=t.target,n=i.parentNode,a=n.offsetWidth||30,r=n.offsetHeight||50,o=!!x(i,"filled");O(i,function(e,t){var n=e/t,l=a,s=r;r*n>a?o?l=r*n:s=a/n:o?s=a/n:l=r*n,m(i,{width:l,height:s,marginLeft:(a-l)/2,marginTop:(r-s)/2})})},resize:function(){var e=this;e.initContainer(),e.initViewer(),e.renderViewer(),e.renderList(),e.viewed&&e.initImage(function(){e.renderImage()}),e.played&&d(M(e.player,"img"),function(t){E(t,"load",f(e.loadImage,e),!0),I(t,"load")})},wheel:function(e){var t=this,i=T(e);if(t.viewed&&(i.preventDefault(),!t.wheeling)){t.wheeling=!0,setTimeout(function(){t.wheeling=!1},50);var n=Number(t.options.zoomRatio)||.1,a=1;i.deltaY?a=i.deltaY>0?1:-1:i.wheelDelta?a=-i.wheelDelta/120:i.detail&&(a=i.detail>0?1:-1),t.zoom(-a*n,!0,i)}},keydown:function(e){var t=this,i=T(e),n=t.options,a=i.keyCode||i.which||i.charCode;if(t.fulled&&n.keyboard)switch(a){case 27:t.played?t.stop():n.inline?t.fulled&&t.exit():t.hide();break;case 32:t.played&&t.stop();break;case 37:t.prev();break;case 38:i.preventDefault(),t.zoom(n.zoomRatio,!0);break;case 39:t.next();break;case 40:i.preventDefault(),t.zoom(-n.zoomRatio,!0);break;case 48:case 49:(i.ctrlKey||i.shiftKey)&&(i.preventDefault(),t.toggle())}},dragstart:function(e){"img"===e.target.tagName.toLowerCase()&&e.preventDefault()},mousedown:function(e){var t=this,i=t.options,n=t.pointers,a=T(e);if(t.viewed){a.changedTouches?d(a.changedTouches,function(e){n[e.identifier]=q(e)}):n[a.pointerId||0]=q(a);var r=!!i.movable&&"move";Object.keys(n).length>1?r="zoom":"touch"!==a.pointerType&&"touchmove"!==a.type||!t.isSwitchable()||(r="switch"),t.action=r}},mousemove:function(e){var t=this,i=t.options,n=t.pointers,a=T(e),r=t.action,o=t.image;t.viewed&&r&&(a.preventDefault(),a.changedTouches?d(a.changedTouches,function(e){v(n[e.identifier],q(e),!0)}):v(n[a.pointerId||0],q(a,!0)),"move"===r&&i.transition&&w(o,"viewer-transition")&&p(o,"viewer-transition"),t.change(a))},mouseup:function(e){var t=this,i=t.pointers,n=T(e),a=t.action;a&&(n.changedTouches?d(n.changedTouches,function(e){delete i[e.identifier]}):delete i[n.pointerId||0],Object.keys(i).length||("move"===a&&t.options.transition&&g(t.image,"viewer-transition"),t.action=!1))}},we={show:function(){var e=this,t=e.options,i=e.element;if(t.inline||e.transitioning)return e;if(e.ready||e.build(),o(t.show)&&E(i,"show",t.show,!0),I(i,"show")===!1)return e;e.open();var n=e.viewer;return p(n,"viewer-hide"),E(i,"shown",function(){e.view(e.target?c(e.target,s(e.images)):e.index),e.target=!1},!0),t.transition?(e.transitioning=!0,g(n,"viewer-transition"),S(n),E(n,"transitionend",f(e.shown,e),!0),g(n,"viewer-in")):(g(n,"viewer-in"),e.shown()),e},hide:function(){var e=this,t=e.options,i=e.element,n=e.viewer;return t.inline||e.transitioning||!e.visible?e:(o(t.hide)&&E(i,"hide",t.hide,!0),I(i,"hide")===!1?e:(e.viewed&&t.transition?(e.transitioning=!0,E(e.image,"transitionend",function(){E(n,"transitionend",f(e.hidden,e),!0),p(n,"viewer-in")},!0),e.zoomTo(0,!1,!1,!0)):(p(n,"viewer-in"),e.hidden()),e))},view:function(e){var t=this,i=t.element,n=t.title,a=t.canvas;if(e=Number(e)||0,!t.ready||!t.visible||t.played||e<0||e>=t.length||t.viewed&&e===t.index)return t;var r=t.items[e],o=M(r,"img")[0],l=x(o,"originalUrl"),s=o.getAttribute("alt"),c=document.createElement("img");return c.src=l,c.alt=s,I(i,"view",{originalImage:t.images[e],index:e,image:c})===!1?t:(t.image=c,t.viewed&&p(t.items[t.index],"viewer-active"),g(r,"viewer-active"),t.viewed=!1,t.index=e,t.imageData=null,g(c,"viewer-invisible"),X(a),Y(a,c),t.renderList(),X(n),E(i,"viewed",function(){var e=t.imageData;A(n,s+" ("+e.naturalWidth+" × "+e.naturalHeight+")")},!0),c.complete?t.load():(E(c,"load",f(t.load,t),!0),t.timeout&&clearTimeout(t.timeout),t.timeout=setTimeout(function(){p(c,"viewer-invisible"),t.timeout=!1},1e3)),t)},prev:function(){var e=this;return e.view(Math.max(e.index-1,0)),e},next:function(){var e=this;return e.view(Math.min(e.index+1,e.length-1)),e},move:function(e,t){var i=this,a=i.imageData;return i.moveTo(n(e)?e:a.left+Number(e),n(t)?t:a.top+Number(t)),i},moveTo:function(e,t){var a=this,r=a.imageData;if(n(t)&&(t=e),e=Number(e),t=Number(t),a.viewed&&!a.played&&a.options.movable){var o=!1;i(e)&&(r.left=e,o=!0),i(t)&&(r.top=t,o=!0),o&&a.renderImage()}return a},zoom:function(e,t,i){var n=this,a=n.imageData;return e=Number(e),e=e<0?1/(1-e):1+e,n.zoomTo(a.width*e/a.naturalWidth,t,i),n},zoomTo:function(e,t,n,a){var r=this,o=r.options,l=r.pointers,s=r.imageData;if(e=Math.max(0,e),i(e)&&r.viewed&&!r.played&&(a||o.zoomable)){if(!a){var c=Math.max(.01,o.minZoomRatio),u=Math.min(100,o.maxZoomRatio);e=Math.min(Math.max(e,c),u)}e>.95&&e<1.05&&(e=1);var d=s.naturalWidth*e,v=s.naturalHeight*e;if(n){var f=L(r.viewer),m=l&&Object.keys(l).length?H(l):{pageX:n.pageX,pageY:n.pageY};s.left-=(d-s.width)*((m.pageX-f.left-s.left)/s.width),s.top-=(v-s.height)*((m.pageY-f.top-s.top)/s.height)}else s.left-=(d-s.width)/2,s.top-=(v-s.height)/2;s.width=d,s.height=v,s.ratio=e,r.renderImage(),t&&r.tooltip()}return r},rotate:function(e){var t=this;return t.rotateTo((t.imageData.rotate||0)+Number(e)),t},rotateTo:function(e){var t=this,n=t.imageData;return e=Number(e),i(e)&&t.viewed&&!t.played&&t.options.rotatable&&(n.rotate=e,t.renderImage()),t},scale:function(e,t){var a=this,r=a.imageData;if(n(t)&&(t=e),e=Number(e),t=Number(t),a.viewed&&!a.played&&a.options.scalable){var o=!1;i(e)&&(r.scaleX=e,o=!0),i(t)&&(r.scaleY=t,o=!0),o&&a.renderImage()}return a},scaleX:function(e){var t=this;return t.scale(e,t.imageData.scaleY),t},scaleY:function(e){var t=this;return t.scale(t.imageData.scaleX,e),t},play:function(){var e=this,t=e.options,n=e.player,a=f(e.loadImage,e),r=[],o=0,l=0;return!e.visible||e.played?e:(t.fullscreen&&e.requestFullscreen(),e.played=!0,g(n,"viewer-show"),d(e.items,function(e,i){var s=M(e,"img")[0],c=document.createElement("img");c.src=x(s,"originalUrl"),c.alt=s.getAttribute("alt"),o++,g(c,"viewer-fade"),b(c,"viewer-transition",t.transition),w(e,"viewer-active")&&(g(c,"viewer-in"),l=i),r.push(c),E(c,"load",a,!0),Y(n,c)}),i(t.interval)&&t.interval>0&&!function(){var i=function i(){e.playing=setTimeout(function(){p(r[l],"viewer-in"),l++,l=l1&&i()}(),e)},stop:function(){var e=this,t=e.player;return e.played?(e.options.fullscreen&&e.exitFullscreen(),e.played=!1,clearTimeout(e.playing),p(t,"viewer-show"),X(t),e):e},full:function(){var e=this,t=e.options,i=e.viewer,n=e.image,a=e.list;return!e.visible||e.played||e.fulled||!t.inline?e:(e.fulled=!0,e.open(),g(e.button,"viewer-fullscreen-exit"),t.transition&&(p(n,"viewer-transition"),p(a,"viewer-transition")),g(i,"viewer-fixed"),i.setAttribute("style",""),m(i,{zIndex:t.zIndex}),e.initContainer(),e.viewerData=v({},e.containerData),e.renderList(),e.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){g(n,"viewer-transition"),g(a,"viewer-transition")},0)})}),e)},exit:function(){var e=this,t=e.options,i=e.viewer,n=e.image,a=e.list;return e.fulled?(e.fulled=!1,e.close(),p(e.button,"viewer-fullscreen-exit"),t.transition&&(p(n,"viewer-transition"),p(a,"viewer-transition")),p(i,"viewer-fixed"),m(i,{zIndex:t.zIndexInline}),e.viewerData=v({},e.parentData),e.renderViewer(),e.renderList(),e.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){g(n,"viewer-transition"),g(a,"viewer-transition")},0)})}),e):e},tooltip:function(){var e=this,t=e.options,i=e.tooltipBox,n=e.imageData;return e.viewed&&!e.played&&t.tooltip?(A(i,Math.round(100*n.ratio)+"%"),e.tooltiping?clearTimeout(e.tooltiping):t.transition?(e.fading&&I(i,"transitionend"),g(i,"viewer-show"),g(i,"viewer-fade"),g(i,"viewer-transition"),S(i),g(i,"viewer-in")):g(i,"viewer-show"),e.tooltiping=setTimeout(function(){t.transition?(E(i,"transitionend",function(){p(i,"viewer-show"),p(i,"viewer-fade"),p(i,"viewer-transition"),e.fading=!1},!0),p(i,"viewer-in"),e.fading=!0):p(i,"viewer-show"),e.tooltiping=!1},1e3),e):e},toggle:function(){var e=this;return 1===e.imageData.ratio?e.zoomTo(e.initialImageData.ratio,!0):e.zoomTo(1,!0),e},reset:function(){var e=this;return e.viewed&&!e.played&&(e.imageData=v({},e.initialImageData),e.renderImage()),e},update:function(){var e=this,t=[];if(e.isImg&&!e.element.parentNode)return e.destroy();if(e.length=e.images.length,e.ready&&(d(e.items,function(i,n){var a=M(i,"img")[0],r=e.images[n];r?r.src!==a.src&&t.push(n):t.push(n)}),m(e.list,{width:"auto"}),e.initList(),e.visible))if(e.length){if(e.viewed){var i=c(e.index,t);i>=0?(e.viewed=!1,e.view(Math.max(e.index-(i+1),0))):g(e.items[e.index],"viewer-active")}}else e.image=null,e.viewed=!1,e.index=0,e.imageData=null,X(e.canvas),X(e.title);return e},destroy:function(){var e=this,t=e.element;return e.options.inline?e.unbind():(e.visible&&e.unbind(),D(t,"click",e.onStart)),e.unbuild(),z(t,"viewer"),e}},ge={open:function(){var e=this.body;g(e,"viewer-open"),e.style.paddingRight=this.scrollbarWidth+"px"},close:function(){var e=this.body;p(e,"viewer-open"),e.style.paddingRight=0},shown:function(){var e=this,t=e.options,i=e.element;e.transitioning=!1,e.fulled=!0,e.visible=!0,e.render(),e.bind(),o(t.shown)&&E(i,"shown",t.shown,!0),I(i,"shown")},hidden:function(){var e=this,t=e.options,i=e.element;e.transitioning=!1,e.viewed=!1,e.fulled=!1,e.visible=!1,e.unbind(),e.close(),g(e.viewer,"viewer-hide"),e.resetList(),e.resetImage(),o(t.hidden)&&E(i,"hidden",t.hidden,!0),I(i,"hidden")},requestFullscreen:function(){var e=this,t=document.documentElement;!e.fulled||document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement||(t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT))},exitFullscreen:function(){var e=this;e.fulled&&(document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen())},change:function(e){var t=this,i=t.pointers,n=i[Object.keys(i)[0]],a=n.endX-n.startX,r=n.endY-n.startY;switch(t.action){case"move":t.move(a,r);break;case"zoom":t.zoom(j(i),!1,e);break;case"switch":t.action="switched",Math.abs(a)>Math.abs(r)&&(a>1?t.prev():a<-1&&t.next())}d(i,function(e){e.startX=e.endX,e.startY=e.endY})},isSwitchable:function(){var e=this,t=e.imageData,i=e.viewerData;return e.length>1&&t.left>=0&&t.top>=0&&t.width<=i.width&&t.height<=i.height}},pe="undefined"!=typeof document.createElement("viewer").style.transition,be=void 0,ye=function(){function e(t,i){P(this,e);var n=this;n.element=t,n.options=v({},V,r(i)&&i),n.isImg=!1,n.ready=!1,n.visible=!1,n.viewed=!1,n.fulled=!1,n.played=!1,n.wheeling=!1,n.playing=!1,n.fading=!1,n.tooltiping=!1,n.transitioning=!1,n.action=!1,n.target=!1,n.timeout=!1,n.index=0,n.length=0,n.pointers={},n.init()}return Z(e,[{key:"init",value:function(){var e=this,t=e.options,i=e.element;if(!x(i,"viewer")){k(i,"viewer",e);var n="img"===i.tagName.toLowerCase(),a=n?[i]:M(i,"img"),r=a.length;r&&(o(t.ready)&&E(i,"ready",t.ready,!0),pe||(t.transition=!1),e.isImg=n,e.length=r,e.count=0,e.images=a,e.body=document.body,e.scrollbarWidth=window.innerWidth-document.body.clientWidth,t.inline?!function(){var t=f(e.progress,e);E(i,"ready",function(){e.view()},!0),d(a,function(e){e.complete?t():E(e,"load",t,!0)})}():E(i,"click",e.onStart=f(e.start,e)))}}},{key:"progress",value:function(){var e=this;e.count++,e.count===e.length&&e.build()}},{key:"build",value:function(){var e=this,t=e.options,i=e.element;if(!e.ready){var n=document.createElement("div"),a=void 0,r=void 0,o=void 0,l=void 0,s=void 0,c=void 0;if(n.innerHTML=B,e.parent=a=i.parentNode,e.viewer=r=C(n,"viewer-container")[0],e.canvas=C(r,"viewer-canvas")[0],e.footer=C(r,"viewer-footer")[0],e.title=c=C(r,"viewer-title")[0],e.toolbar=l=C(r,"viewer-toolbar")[0],e.navbar=s=C(r,"viewer-navbar")[0],e.button=o=C(r,"viewer-button")[0],e.tooltipBox=C(r,"viewer-tooltip")[0],e.player=C(r,"viewer-player")[0],e.list=C(r,"viewer-list")[0],g(c,t.title?W(t.title):"viewer-hide"),g(l,t.toolbar?W(t.toolbar):"viewer-hide"),g(s,t.navbar?W(t.navbar):"viewer-hide"),b(o,"viewer-hide",!t.button),b(l.querySelector(".viewer-one-to-one"),"viewer-invisible",!t.zoomable),b(l.querySelectorAll('li[class*="zoom"]'),"viewer-invisible",!t.zoomable),b(l.querySelectorAll('li[class*="flip"]'),"viewer-invisible",!t.scalable),!t.rotatable){var u=l.querySelectorAll('li[class*="rotate"]');g(u,"viewer-invisible"),Y(l,u)}t.inline?(g(o,"viewer-fullscreen"),m(r,{zIndex:t.zIndexInline}),"static"===h(a).position&&m(a,{position:"relative"})):(g(o,"viewer-close"),g(r,"viewer-fixed"),g(r,"viewer-fade"),g(r,"viewer-hide"),m(r,{zIndex:t.zIndex})),a.insertBefore(r,i.nextSibling),t.inline&&(e.render(),e.bind(),e.visible=!0),e.ready=!0,I(i,"ready")}}},{key:"unbuild",value:function(){var e=this;e.ready&&(e.ready=!1,N(e.viewer))}}],[{key:"noConflict",value:function(){return window.Viewer=be,e}},{key:"setDefaults",value:function(e){v(V,r(e)&&e)}}]),e}();return v(ye.prototype,ie),v(ye.prototype,me),v(ye.prototype,he),v(ye.prototype,we),v(ye.prototype,ge),"undefined"!=typeof window&&(be=window.Viewer,window.Viewer=ye),ye}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Viewer=t()}(this,function(){"use strict";function e(e){return U.call(e).slice(8,-1).toLowerCase()}function t(e){return"string"==typeof e}function i(e){return"number"==typeof e&&!isNaN(e)}function n(e){return void 0===e}function a(e){return"object"===(void 0===e?"undefined":B(e))&&null!==e}function r(e){if(!a(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&_.call(i,"isPrototypeOf")}catch(e){return!1}}function o(t){return"function"===e(t)}function l(t){return Array.isArray?Array.isArray(t):"array"===e(t)}function s(e,t){return t=t>=0?t:0,Array.from?Array.from(e).slice(t):G.call(e,t)}function c(e,t){var i=-1;return t.indexOf?t.indexOf(e):(t.forEach(function(t,n){t===e&&(i=n)}),i)}function u(e){return t(e)&&(e=e.trim?e.trim():e.replace(/^\s+(.*)\s+$/,"1")),e}function d(e,t){if(e&&o(t)){var n=void 0;if(l(e)||i(e.length)){var r=e.length;for(n=0;n1?t-1:0),n=1;n0){if(Object.assign)return Object.assign.apply(Object,[e].concat(i));i.forEach(function(t){a(t)&&Object.keys(t).forEach(function(i){e[i]=t[i]})})}return e}function f(e,t){for(var i=arguments.length,n=Array(i>2?i-2:0),a=2;a-1}function g(e,t){if(t){if(i(e.length))return void d(e,function(e){g(e,t)});if(e.classList)return void e.classList.add(t);var n=u(e.className);n?n.indexOf(t)<0&&(e.className=n+" "+t):e.className=t}}function p(e,t){if(t)return i(e.length)?void d(e,function(e){p(e,t)}):e.classList?void e.classList.remove(t):void(e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function b(e,t,n){if(t)return i(e.length)?void d(e,function(e){b(e,t,n)}):void(n?g(e,t):p(e,t))}function y(e){return e.replace(/([a-z\d])([A-Z])/g,"$1-$2").toLowerCase()}function x(e,t){return a(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-"+y(t))}function k(e,t,i){a(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-"+y(t),i)}function z(e,t){if(a(e[t]))delete e[t];else if(e.dataset)try{delete e.dataset[t]}catch(i){e.dataset[t]=null}else e.removeAttribute("data-"+y(t))}function D(e,t,i){var n=u(t).split(/\s+/);if(n.length>1)return void d(n,function(t){D(e,t,i)});e.removeEventListener?e.removeEventListener(t,i,!1):e.detachEvent&&e.detachEvent("on"+t,i)}function E(e,t,i,n){var a=u(t).split(/\s+/),r=i;if(a.length>1)return void d(a,function(t){E(e,t,i)});n&&(i=function(){for(var n=arguments.length,a=Array(n),o=0;o'+l+''))}),a.innerHTML=r.join(""),d(M(a,"img"),function(t){k(t,"filled",!0),E(t,"load",f(e.loadImage,e),!0)}),e.items=M(a,"li"),i.transition&&E(n,"viewed",function(){g(a,"viewer-transition")},!0)},renderList:function(e){var t=this,i=e||t.index,n=t.items[i].offsetWidth||30,a=n+1;m(t.list,{width:a*t.length,marginLeft:(t.viewerData.width-n)/2-a*i})},resetList:function(){var e=this;X(e.list),p(e.list,"viewer-transition"),m({marginLeft:0})},initImage:function(e){var t=this,i=t.options,n=t.image,a=t.viewerData,r=t.footer.offsetHeight,l=a.width,s=Math.max(a.height-r,r),c=t.imageData||{};O(n,function(n,a){var r=n/a,u=l,d=s;s*r>l?d=l/r:u=s*r,u=Math.min(.9*u,n),d=Math.min(.9*d,a);var f={naturalWidth:n,naturalHeight:a,aspectRatio:r,ratio:u/n,width:u,height:d,left:(l-u)/2,top:(s-d)/2},m=v({},f);i.rotatable&&(f.rotate=c.rotate||0,m.rotate=0),i.scalable&&(f.scaleX=c.scaleX||1,f.scaleY=c.scaleY||1,m.scaleX=1,m.scaleY=1),t.imageData=f,t.initialImageData=m,o(e)&&e()})},renderImage:function(e){var t=this,i=t.image,n=t.imageData,a=R(n);m(i,{width:n.width,height:n.height,marginLeft:n.left,marginTop:n.top,WebkitTransform:a,msTransform:a,transform:a}),o(e)&&(t.transitioning?E(i,"transitionend",e,!0):e())},resetImage:function(){var e=this;e.image&&(N(e.image),e.image=null)}},Q="undefined"!=typeof window?window.PointerEvent:null,ee=Q?"pointerdown":"touchstart mousedown",te=Q?"pointermove":"mousemove touchmove",ie=Q?"pointerup pointercancel":"touchend touchcancel mouseup",ne={bind:function(){var e=this,t=e.options,i=e.element,n=e.viewer;o(t.view)&&E(i,"view",t.view),o(t.viewed)&&E(i,"viewed",t.viewed),E(n,"click",e.onClick=f(e.click,e)),E(n,"wheel mousewheel DOMMouseScroll",e.onWheel=f(e.wheel,e)),E(n,"dragstart",e.onDragstart=f(e.dragstart,e)),E(e.canvas,ee,e.onMousedown=f(e.mousedown,e)),E(document,te,e.onMousemove=f(e.mousemove,e)),E(document,ie,e.onMouseup=f(e.mouseup,e)),E(document,"keydown",e.onKeydown=f(e.keydown,e)),E(window,"resize",e.onResize=f(e.resize,e))},unbind:function(){var e=this,t=e.options,i=e.element,n=e.viewer;o(t.view)&&D(i,"view",t.view),o(t.viewed)&&D(i,"viewed",t.viewed),D(n,"click",e.onClick),D(n,"wheel mousewheel DOMMouseScroll",e.onWheel),D(n,"dragstart",e.onDragstart),D(e.canvas,ee,e.onMousedown),D(document,te,e.onMousemove),D(document,ie,e.onMouseup),D(document,"keydown",e.onKeydown),D(window,"resize",e.onResize)}},ae={start:function(e){var t=this,i=T(e),n=i.target;"img"===n.tagName.toLowerCase()&&(t.target=n,t.show())},click:function(e){var t=this,i=T(e),n=i.target,a=x(n,"action"),r=t.imageData;switch(a){case"mix":t.played?t.stop():t.options.inline?t.fulled?t.exit():t.full():t.hide();break;case"view":t.view(x(n,"index"));break;case"zoom-in":t.zoom(.1,!0);break;case"zoom-out":t.zoom(-.1,!0);break;case"one-to-one":t.toggle();break;case"reset":t.reset();break;case"prev":t.prev();break;case"play":t.play();break;case"next":t.next();break;case"rotate-left":t.rotate(-90);break;case"rotate-right":t.rotate(90);break;case"flip-horizontal":t.scaleX(-r.scaleX||-1);break;case"flip-vertical":t.scaleY(-r.scaleY||-1);break;default:t.played&&t.stop()}},load:function(){var e=this,t=e.options,i=e.image,n=e.index,a=e.viewerData;e.timeout&&(clearTimeout(e.timeout),e.timeout=!1),p(i,"viewer-invisible"),i.style.cssText="width:0;height:0;margin-left:"+a.width/2+"px;margin-top:"+a.height/2+"px;max-width:none!important;visibility:visible;",e.initImage(function(){b(i,"viewer-transition",t.transition),b(i,"viewer-move",t.movable),e.renderImage(function(){e.viewed=!0,I(e.element,"viewed",{originalImage:e.images[n],index:n,image:i})})})},loadImage:function(e){var t=T(e),i=t.target,n=i.parentNode,a=n.offsetWidth||30,r=n.offsetHeight||50,o=!!x(i,"filled");O(i,function(e,t){var n=e/t,l=a,s=r;r*n>a?o?l=r*n:s=a/n:o?s=a/n:l=r*n,m(i,{width:l,height:s,marginLeft:(a-l)/2,marginTop:(r-s)/2})})},resize:function(){var e=this;e.initContainer(),e.initViewer(),e.renderViewer(),e.renderList(),e.viewed&&e.initImage(function(){e.renderImage()}),e.played&&d(M(e.player,"img"),function(t){E(t,"load",f(e.loadImage,e),!0),I(t,"load")})},wheel:function(e){var t=this,i=T(e);if(t.viewed&&(i.preventDefault(),!t.wheeling)){t.wheeling=!0,setTimeout(function(){t.wheeling=!1},50);var n=Number(t.options.zoomRatio)||.1,a=1;i.deltaY?a=i.deltaY>0?1:-1:i.wheelDelta?a=-i.wheelDelta/120:i.detail&&(a=i.detail>0?1:-1),t.zoom(-a*n,!0,i)}},keydown:function(e){var t=this,i=T(e),n=t.options,a=i.keyCode||i.which||i.charCode;if(t.fulled&&n.keyboard)switch(a){case 27:t.played?t.stop():n.inline?t.fulled&&t.exit():t.hide();break;case 32:t.played&&t.stop();break;case 37:t.prev();break;case 38:i.preventDefault(),t.zoom(n.zoomRatio,!0);break;case 39:t.next();break;case 40:i.preventDefault(),t.zoom(-n.zoomRatio,!0);break;case 48:case 49:(i.ctrlKey||i.shiftKey)&&(i.preventDefault(),t.toggle())}},dragstart:function(e){"img"===e.target.tagName.toLowerCase()&&e.preventDefault()},mousedown:function(e){var t=this,i=t.options,n=t.pointers,a=T(e);if(t.viewed){a.changedTouches?d(a.changedTouches,function(e){n[e.identifier]=q(e)}):n[a.pointerId||0]=q(a);var r=!!i.movable&&"move";Object.keys(n).length>1?r="zoom":"touch"!==a.pointerType&&"touchmove"!==a.type||!t.isSwitchable()||(r="switch"),t.action=r}},mousemove:function(e){var t=this,i=t.options,n=t.pointers,a=T(e),r=t.action,o=t.image;t.viewed&&r&&(a.preventDefault(),a.changedTouches?d(a.changedTouches,function(e){v(n[e.identifier],q(e,!0))}):v(n[a.pointerId||0],q(a,!0)),"move"===r&&i.transition&&w(o,"viewer-transition")&&p(o,"viewer-transition"),t.change(a))},mouseup:function(e){var t=this,i=t.pointers,n=T(e),a=t.action;a&&(n.changedTouches?d(n.changedTouches,function(e){delete i[e.identifier]}):delete i[n.pointerId||0],Object.keys(i).length||("move"===a&&t.options.transition&&g(t.image,"viewer-transition"),t.action=!1))}},re={show:function(){var e=this,t=e.options,i=e.element;if(t.inline||e.transitioning)return e;if(e.ready||e.build(),o(t.show)&&E(i,"show",t.show,!0),I(i,"show")===!1)return e;e.open();var n=e.viewer;return p(n,"viewer-hide"),E(i,"shown",function(){e.view(e.target?c(e.target,s(e.images)):e.index),e.target=!1},!0),t.transition?(e.transitioning=!0,g(n,"viewer-transition"),A(n),E(n,"transitionend",f(e.shown,e),!0),g(n,"viewer-in")):(g(n,"viewer-in"),e.shown()),e},hide:function(){var e=this,t=e.options,i=e.element,n=e.viewer;return t.inline||e.transitioning||!e.visible?e:(o(t.hide)&&E(i,"hide",t.hide,!0),I(i,"hide")===!1?e:(e.viewed&&t.transition?(e.transitioning=!0,E(e.image,"transitionend",function(){E(n,"transitionend",f(e.hidden,e),!0),p(n,"viewer-in")},!0),e.zoomTo(0,!1,!1,!0)):(p(n,"viewer-in"),e.hidden()),e))},view:function(e){var t=this,i=t.element,n=t.title,a=t.canvas;if(e=Number(e)||0,!t.ready||!t.visible||t.played||e<0||e>=t.length||t.viewed&&e===t.index)return t;var r=t.items[e],o=M(r,"img")[0],l=x(o,"originalUrl"),s=o.getAttribute("alt"),c=document.createElement("img");return c.src=l,c.alt=s,I(i,"view",{originalImage:t.images[e],index:e,image:c})===!1?t:(t.image=c,t.viewed&&p(t.items[t.index],"viewer-active"),g(r,"viewer-active"),t.viewed=!1,t.index=e,t.imageData=null,g(c,"viewer-invisible"),X(a),Y(a,c),t.renderList(),X(n),E(i,"viewed",function(){var e=t.imageData;S(n,s+" ("+e.naturalWidth+" × "+e.naturalHeight+")")},!0),c.complete?t.load():(E(c,"load",f(t.load,t),!0),t.timeout&&clearTimeout(t.timeout),t.timeout=setTimeout(function(){p(c,"viewer-invisible"),t.timeout=!1},1e3)),t)},prev:function(){var e=this;return e.view(Math.max(e.index-1,0)),e},next:function(){var e=this;return e.view(Math.min(e.index+1,e.length-1)),e},move:function(e,t){var i=this,a=i.imageData;return i.moveTo(n(e)?e:a.left+Number(e),n(t)?t:a.top+Number(t)),i},moveTo:function(e,t){var a=this,r=a.imageData;if(n(t)&&(t=e),e=Number(e),t=Number(t),a.viewed&&!a.played&&a.options.movable){var o=!1;i(e)&&(r.left=e,o=!0),i(t)&&(r.top=t,o=!0),o&&a.renderImage()}return a},zoom:function(e,t,i){var n=this,a=n.imageData;return e=Number(e),e=e<0?1/(1-e):1+e,n.zoomTo(a.width*e/a.naturalWidth,t,i),n},zoomTo:function(e,t,n,a){var r=this,o=r.options,l=r.pointers,s=r.imageData;if(e=Math.max(0,e),i(e)&&r.viewed&&!r.played&&(a||o.zoomable)){if(!a){var c=Math.max(.01,o.minZoomRatio),u=Math.min(100,o.maxZoomRatio);e=Math.min(Math.max(e,c),u)}e>.95&&e<1.05&&(e=1);var d=s.naturalWidth*e,v=s.naturalHeight*e;if(n){var f=L(r.viewer),m=l&&Object.keys(l).length?H(l):{pageX:n.pageX,pageY:n.pageY};s.left-=(d-s.width)*((m.pageX-f.left-s.left)/s.width),s.top-=(v-s.height)*((m.pageY-f.top-s.top)/s.height)}else s.left-=(d-s.width)/2,s.top-=(v-s.height)/2;s.width=d,s.height=v,s.ratio=e,r.renderImage(),t&&r.tooltip()}return r},rotate:function(e){var t=this;return t.rotateTo((t.imageData.rotate||0)+Number(e)),t},rotateTo:function(e){var t=this,n=t.imageData;return e=Number(e),i(e)&&t.viewed&&!t.played&&t.options.rotatable&&(n.rotate=e,t.renderImage()),t},scale:function(e,t){var a=this,r=a.imageData;if(n(t)&&(t=e),e=Number(e),t=Number(t),a.viewed&&!a.played&&a.options.scalable){var o=!1;i(e)&&(r.scaleX=e,o=!0),i(t)&&(r.scaleY=t,o=!0),o&&a.renderImage()}return a},scaleX:function(e){var t=this;return t.scale(e,t.imageData.scaleY),t},scaleY:function(e){var t=this;return t.scale(t.imageData.scaleX,e),t},play:function(){var e=this,t=e.options,n=e.player,a=f(e.loadImage,e),r=[],o=0,l=0;return!e.visible||e.played?e:(t.fullscreen&&e.requestFullscreen(),e.played=!0,g(n,"viewer-show"),d(e.items,function(e,i){var s=M(e,"img")[0],c=document.createElement("img");c.src=x(s,"originalUrl"),c.alt=s.getAttribute("alt"),o++,g(c,"viewer-fade"),b(c,"viewer-transition",t.transition),w(e,"viewer-active")&&(g(c,"viewer-in"),l=i),r.push(c),E(c,"load",a,!0),Y(n,c)}),i(t.interval)&&t.interval>0&&function(){var i=function i(){e.playing=setTimeout(function(){p(r[l],"viewer-in"),l++,l=l1&&i()}(),e)},stop:function(){var e=this,t=e.player;return e.played?(e.options.fullscreen&&e.exitFullscreen(),e.played=!1,clearTimeout(e.playing),p(t,"viewer-show"),X(t),e):e},full:function(){var e=this,t=e.options,i=e.viewer,n=e.image,a=e.list;return!e.visible||e.played||e.fulled||!t.inline?e:(e.fulled=!0,e.open(),g(e.button,"viewer-fullscreen-exit"),t.transition&&(p(n,"viewer-transition"),p(a,"viewer-transition")),g(i,"viewer-fixed"),i.setAttribute("style",""),m(i,{zIndex:t.zIndex}),e.initContainer(),e.viewerData=v({},e.containerData),e.renderList(),e.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){g(n,"viewer-transition"),g(a,"viewer-transition")},0)})}),e)},exit:function(){var e=this,t=e.options,i=e.viewer,n=e.image,a=e.list;return e.fulled?(e.fulled=!1,e.close(),p(e.button,"viewer-fullscreen-exit"),t.transition&&(p(n,"viewer-transition"),p(a,"viewer-transition")),p(i,"viewer-fixed"),m(i,{zIndex:t.zIndexInline}),e.viewerData=v({},e.parentData),e.renderViewer(),e.renderList(),e.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){g(n,"viewer-transition"),g(a,"viewer-transition")},0)})}),e):e},tooltip:function(){var e=this,t=e.options,i=e.tooltipBox,n=e.imageData;return e.viewed&&!e.played&&t.tooltip?(S(i,Math.round(100*n.ratio)+"%"),e.tooltiping?clearTimeout(e.tooltiping):t.transition?(e.fading&&I(i,"transitionend"),g(i,"viewer-show"),g(i,"viewer-fade"),g(i,"viewer-transition"),A(i),g(i,"viewer-in")):g(i,"viewer-show"),e.tooltiping=setTimeout(function(){t.transition?(E(i,"transitionend",function(){p(i,"viewer-show"),p(i,"viewer-fade"),p(i,"viewer-transition"),e.fading=!1},!0),p(i,"viewer-in"),e.fading=!0):p(i,"viewer-show"),e.tooltiping=!1},1e3),e):e},toggle:function(){var e=this;return 1===e.imageData.ratio?e.zoomTo(e.initialImageData.ratio,!0):e.zoomTo(1,!0),e},reset:function(){var e=this;return e.viewed&&!e.played&&(e.imageData=v({},e.initialImageData),e.renderImage()),e},update:function(){var e=this,t=[];if(e.isImg&&!e.element.parentNode)return e.destroy();if(e.length=e.images.length,e.ready&&(d(e.items,function(i,n){var a=M(i,"img")[0],r=e.images[n];r?r.src!==a.src&&t.push(n):t.push(n)}),m(e.list,{width:"auto"}),e.initList(),e.visible))if(e.length){if(e.viewed){var i=c(e.index,t);i>=0?(e.viewed=!1,e.view(Math.max(e.index-(i+1),0))):g(e.items[e.index],"viewer-active")}}else e.image=null,e.viewed=!1,e.index=0,e.imageData=null,X(e.canvas),X(e.title);return e},destroy:function(){var e=this,t=e.element;return e.options.inline?e.unbind():(e.visible&&e.unbind(),D(t,"click",e.onStart)),e.unbuild(),z(t,"viewer"),e}},oe={open:function(){var e=this.body;g(e,"viewer-open"),e.style.paddingRight=this.scrollbarWidth+"px"},close:function(){var e=this.body;p(e,"viewer-open"),e.style.paddingRight=0},shown:function(){var e=this,t=e.options,i=e.element;e.transitioning=!1,e.fulled=!0,e.visible=!0,e.render(),e.bind(),o(t.shown)&&E(i,"shown",t.shown,!0),I(i,"shown")},hidden:function(){var e=this,t=e.options,i=e.element;e.transitioning=!1,e.viewed=!1,e.fulled=!1,e.visible=!1,e.unbind(),e.close(),g(e.viewer,"viewer-hide"),e.resetList(),e.resetImage(),o(t.hidden)&&E(i,"hidden",t.hidden,!0),I(i,"hidden")},requestFullscreen:function(){var e=this,t=document.documentElement;!e.fulled||document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement||(t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT))},exitFullscreen:function(){this.fulled&&(document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen())},change:function(e){var t=this,i=t.pointers,n=i[Object.keys(i)[0]],a=n.endX-n.startX,r=n.endY-n.startY;switch(t.action){case"move":t.move(a,r);break;case"zoom":t.zoom(j(i),!1,e);break;case"switch":t.action="switched",Math.abs(a)>Math.abs(r)&&(a>1?t.prev():a<-1&&t.next())}d(i,function(e){e.startX=e.endX,e.startY=e.endY})},isSwitchable:function(){var e=this,t=e.imageData,i=e.viewerData;return e.length>1&&t.left>=0&&t.top>=0&&t.width<=i.width&&t.height<=i.height}},le=void 0!==document.createElement("viewer").style.transition,se=void 0,ce=function(){function e(t,i){K(this,e);var n=this;n.element=t,n.options=v({},V,r(i)&&i),n.isImg=!1,n.ready=!1,n.visible=!1,n.viewed=!1,n.fulled=!1,n.played=!1,n.wheeling=!1,n.playing=!1,n.fading=!1,n.tooltiping=!1,n.transitioning=!1,n.action=!1,n.target=!1,n.timeout=!1,n.index=0,n.length=0,n.pointers={},n.init()}return P(e,[{key:"init",value:function(){var e=this,t=e.options,i=e.element;if(!x(i,"viewer")){k(i,"viewer",e);var n="img"===i.tagName.toLowerCase(),a=n?[i]:M(i,"img"),r=a.length;r&&(o(t.ready)&&E(i,"ready",t.ready,!0),le||(t.transition=!1),e.isImg=n,e.length=r,e.count=0,e.images=a,e.body=document.body,e.scrollbarWidth=window.innerWidth-document.body.clientWidth,t.inline?function(){var t=f(e.progress,e);E(i,"ready",function(){e.view()},!0),d(a,function(e){e.complete?t():E(e,"load",t,!0)})}():E(i,"click",e.onStart=f(e.start,e)))}}},{key:"progress",value:function(){var e=this;e.count++,e.count===e.length&&e.build()}},{key:"build",value:function(){var e=this,t=e.options,i=e.element;if(!e.ready){var n=document.createElement("div"),a=void 0,r=void 0,o=void 0,l=void 0,s=void 0,c=void 0;if(n.innerHTML='
',e.parent=a=i.parentNode,e.viewer=r=C(n,"viewer-container")[0],e.canvas=C(r,"viewer-canvas")[0],e.footer=C(r,"viewer-footer")[0],e.title=c=C(r,"viewer-title")[0],e.toolbar=l=C(r,"viewer-toolbar")[0],e.navbar=s=C(r,"viewer-navbar")[0],e.button=o=C(r,"viewer-button")[0],e.tooltipBox=C(r,"viewer-tooltip")[0],e.player=C(r,"viewer-player")[0],e.list=C(r,"viewer-list")[0],g(c,t.title?W(t.title):"viewer-hide"),g(l,t.toolbar?W(t.toolbar):"viewer-hide"),g(s,t.navbar?W(t.navbar):"viewer-hide"),b(o,"viewer-hide",!t.button),b(l.querySelector(".viewer-one-to-one"),"viewer-invisible",!t.zoomable),b(l.querySelectorAll('li[class*="zoom"]'),"viewer-invisible",!t.zoomable),b(l.querySelectorAll('li[class*="flip"]'),"viewer-invisible",!t.scalable),!t.rotatable){var u=l.querySelectorAll('li[class*="rotate"]');g(u,"viewer-invisible"),Y(l,u)}t.inline?(g(o,"viewer-fullscreen"),m(r,{zIndex:t.zIndexInline}),"static"===h(a).position&&m(a,{position:"relative"})):(g(o,"viewer-close"),g(r,"viewer-fixed"),g(r,"viewer-fade"),g(r,"viewer-hide"),m(r,{zIndex:t.zIndex})),a.insertBefore(r,i.nextSibling),t.inline&&(e.render(),e.bind(),e.visible=!0),e.ready=!0,I(i,"ready")}}},{key:"unbuild",value:function(){var e=this;e.ready&&(e.ready=!1,N(e.viewer))}}],[{key:"noConflict",value:function(){return window.Viewer=se,e}},{key:"setDefaults",value:function(e){v(V,r(e)&&e)}}]),e}();return v(ce.prototype,J),v(ce.prototype,ne),v(ce.prototype,ae),v(ce.prototype,re),v(ce.prototype,oe),"undefined"!=typeof window&&(se=window.Viewer,window.Viewer=ce),ce}); \ No newline at end of file diff --git a/docs/css/main.css b/docs/css/main.css index 7faff64..fda4fa8 100644 --- a/docs/css/main.css +++ b/docs/css/main.css @@ -45,7 +45,7 @@ body { @media (min-width: 992px) { .docs-jumbotron h1, .docs-jumbotron p { - margin-right: 360px; + margin-right: 380px; } } @@ -55,7 +55,7 @@ body { .docs-carbonads { font-size: .875rem; - max-width: 330px; + max-width: 360px; padding: 1rem; border: 1px solid #ccc; border-radius: .25rem; diff --git a/docs/css/viewer.css b/docs/css/viewer.css index c52c096..40a7965 100644 --- a/docs/css/viewer.css +++ b/docs/css/viewer.css @@ -1,11 +1,11 @@ /*! - * Viewer.js v0.6.1 + * Viewer.js v0.6.2 * https://github.com/fengyuanchen/viewerjs * * Copyright (c) 2017 Fengyuan Chen * Released under the MIT license * - * Date: 2017-02-18T06:33:56.595Z + * Date: 2017-03-04T08:19:00.870Z */ .viewer-zoom-in::before, diff --git a/docs/index.html b/docs/index.html index 0a36a52..422c2a7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -39,7 +39,7 @@
-

Viewer.js v0.6.1

+

Viewer.js v0.6.2

JavaScript image viewer.

diff --git a/docs/js/viewer.js b/docs/js/viewer.js index 513c03c..fd9d94e 100644 --- a/docs/js/viewer.js +++ b/docs/js/viewer.js @@ -1,11 +1,11 @@ /*! - * Viewer.js v0.6.1 + * Viewer.js v0.6.2 * https://github.com/fengyuanchen/viewerjs * * Copyright (c) 2017 Fengyuan Chen * Released under the MIT license * - * Date: 2017-02-18T06:33:56.595Z + * Date: 2017-03-04T08:19:00.870Z */ (function (global, factory) { @@ -1348,7 +1348,7 @@ var handlers = { if (e.changedTouches) { each(e.changedTouches, function (touch) { - extend(pointers[touch.identifier], getPointer(touch), true); + extend(pointers[touch.identifier], getPointer(touch, true)); }); } else { extend(pointers[e.pointerId || 0], getPointer(e, true)); diff --git a/package.json b/package.json index 02dcd3f..501750f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "viewerjs", "description": "JavaScript image viewer.", - "version": "0.6.1", + "version": "0.6.2", "main": "dist/viewer.js", "license": "MIT", "repository": "fengyuanchen/viewerjs", @@ -37,13 +37,13 @@ "postbuild": "npm run compress && node build", "prebuild": "npm run lint && npm test", "start": "npm-run-all --parallel watch:*", - "test": "node-qunit-phantomjs test/index.html" + "test": "node-qunit-phantomjs test/index.html --timeout 10" }, "devDependencies": { "babel-plugin-external-helpers": "^6.22.0", "babel-preset-es2015": "^6.22.0", "cssnano": "^3.10.0", - "eslint": "^3.14.0", + "eslint": "^3.17.0", "eslint-config-airbnb-base": "^10.0.1", "eslint-plugin-import": "^2.2.0", "node-qunit-phantomjs": "^1.5.0", @@ -54,6 +54,6 @@ "rollup": "^0.36.4", "rollup-plugin-babel": "^2.7.1", "rollup-watch": "^2.5.0", - "uglify-js": "^2.7.5" + "uglify-js": "^2.8.5" } }