diff --git a/dist/swup.js b/dist/swup.js index fad5b368..7d2e7765 100644 --- a/dist/swup.js +++ b/dist/swup.js @@ -341,6 +341,7 @@ var Swup = function () { animationInDone: [], pageRetrievedFromCache: [], popState: [], + openPageInNewTab: [], submitForm: [], enabled: [], disabled: [] diff --git a/dist/swup.min.js b/dist/swup.min.js index 30d9dc89..0c145faa 100644 --- a/dist/swup.min.js +++ b/dist/swup.min.js @@ -1 +1 @@ -(function e(t,n){if(typeof exports==="object"&&typeof module==="object")module.exports=n();else if(typeof define==="function"&&define.amd)define([],n);else if(typeof exports==="object")exports["Swup"]=n();else t["Swup"]=n()})(window,function(){return function(e){var t={};function n(o){if(t[o]){return t[o].exports}var i=t[o]={i:o,l:false,exports:{}};e[o].call(i.exports,i,i.exports,n);i.l=true;return i.exports}n.m=e;n.c=t;n.d=function(e,t,o){if(!n.o(e,t)){Object.defineProperty(e,t,{enumerable:true,get:o})}};n.r=function(e){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})};n.t=function(e,t){if(t&1)e=n(e);if(t&8)return e;if(t&4&&typeof e==="object"&&e&&e.__esModule)return e;var o=Object.create(null);n.r(o);Object.defineProperty(o,"default",{enumerable:true,value:e});if(t&2&&typeof e!="string")for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o};n.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};n.d(t,"a",t);return t};n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};n.p="";return n(n.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var o=function(){function e(e,t){for(var n=0;n1&&arguments[1]!==undefined?arguments[1]:false;var n={url:window.location.pathname+window.location.search,method:"GET",data:null};var i=o({},n,e);var r=new XMLHttpRequest;r.onreadystatechange=function(){if(r.readyState===4){if(r.status!==500){t(r.responseText,r)}else{t(null,r)}}};r.open(i.method,i.url,true);r.setRequestHeader("X-Requested-With","swup");r.send(i.data);return r}},function(e,t,n){"use strict";e.exports=function(e,t){var n=this;var o=e.replace("","");var i=document.createElement("div");i.innerHTML=o;var r=[];for(var s=0;s2&&arguments[2]!==undefined?arguments[2]:this.options.animateScroll;var i=1-this.options.scrollFriction;var r=this.options.scrollAcceleration;var s=0;var a=0;var l=0;var u=0;var c=0;var d=null;function f(){return document.body.scrollTop||document.documentElement.scrollTop}var h=function e(){var t=p();m();if(c===1&&l>s||c===-1&&lt?-1:1;u=t+c;l=t;a=0;if(s!=l){h()}else{n.triggerEvent("scrollDone")}};this.triggerEvent("scrollStart");if(o==0){window.scrollTo(0,t);this.triggerEvent("scrollDone")}else{v(t)}}},function(e,t,n){"use strict";e.exports=function(e){var t=e.toString().toLowerCase().replace(/\s+/g,"-").replace(/\//g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"");if(t[0]=="/")t=t.splice(1);if(t=="")t="homepage";return t}},function(e,t,n){"use strict";e.exports=function(e){if(this.options.scroll&&(!e||this.options.animateHistoryBrowsing)){if(this.scrollToElement!=null){var t=document.querySelector(this.scrollToElement);if(t!=null){var n=t.getBoundingClientRect().top+window.pageYOffset;this.scrollTo(document.body,n)}else{console.warn("Element for offset not found ("+this.scrollToElement+")")}this.scrollToElement=null}else{this.scrollTo(document.body,0)}}}},function(e,t,n){"use strict";e.exports=function(e){var t=this;var n=0;for(var o=0;o-1){this._handlers[t].splice(r,1)}}else{console.warn("Handler for event '"+t+"' no found.")}}else{this._handlers[t]=[]}}else{Object.keys(this._handlers).forEach(function(e){o._handlers[e]=[]})}}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(e=="/"){e="/homepage"}if(t=="/"){t="/homepage"}this.transition={from:e.replace("/",""),to:t.replace("/","")};if(n){this.transition.custom=n}}},function(e,t,n){"use strict";var o=n(0);var i=r(o);function r(e){return e&&e.__esModule?e:{default:e}}e.exports=function(e){var t=this;var n=new i.default;n.setPath(e);if(n.getAddress()!=this.currentUrl&&!this.cache.exists(n.getAddress())&&this.preloadPromise==null){this.getPage({url:n.getAddress()},function(e,o){if(o.status===500){t.triggerEvent("serverError");return}else{var i=t.getDataFromHtml(e,o);if(i!=null){i.url=n.getAddress();t.cache.cacheUrl(i,t.options.debugMode);t.triggerEvent("pagePreloaded")}}})}}},function(e,t,n){"use strict";e.exports=function(){var e=this;if(this.options.preload){document.querySelectorAll("[data-swup-preload]").forEach(function(t){e.preloadPage(t.href)})}}},function(e,t,n){"use strict";e.exports=function(e,t){var n=this;t=Object.assign({},e.options,t);e.options=t;var o=function e(){var t=n.cache.getPage(window.location.pathname+window.location.search);var o=document.createElement("html");o.innerHTML=t.originalContent;return o};this.plugins.push(e);e.exec(t,this,o);return this.plugins}},function(e,t,n){"use strict";e.exports=function(e){if(this.options.debugMode){console.log(e+"%c","color: #009ACD")}}}])}); \ No newline at end of file +(function e(t,n){if(typeof exports==="object"&&typeof module==="object")module.exports=n();else if(typeof define==="function"&&define.amd)define([],n);else if(typeof exports==="object")exports["Swup"]=n();else t["Swup"]=n()})(window,function(){return function(e){var t={};function n(o){if(t[o]){return t[o].exports}var i=t[o]={i:o,l:false,exports:{}};e[o].call(i.exports,i,i.exports,n);i.l=true;return i.exports}n.m=e;n.c=t;n.d=function(e,t,o){if(!n.o(e,t)){Object.defineProperty(e,t,{enumerable:true,get:o})}};n.r=function(e){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})};n.t=function(e,t){if(t&1)e=n(e);if(t&8)return e;if(t&4&&typeof e==="object"&&e&&e.__esModule)return e;var o=Object.create(null);n.r(o);Object.defineProperty(o,"default",{enumerable:true,value:e});if(t&2&&typeof e!="string")for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o};n.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};n.d(t,"a",t);return t};n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};n.p="";return n(n.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var o=function(){function e(e,t){for(var n=0;n1&&arguments[1]!==undefined?arguments[1]:false;var n={url:window.location.pathname+window.location.search,method:"GET",data:null};var i=o({},n,e);var r=new XMLHttpRequest;r.onreadystatechange=function(){if(r.readyState===4){if(r.status!==500){t(r.responseText,r)}else{t(null,r)}}};r.open(i.method,i.url,true);r.setRequestHeader("X-Requested-With","swup");r.send(i.data);return r}},function(e,t,n){"use strict";e.exports=function(e,t){var n=this;var o=e.replace("","");var i=document.createElement("div");i.innerHTML=o;var r=[];for(var s=0;s2&&arguments[2]!==undefined?arguments[2]:this.options.animateScroll;var i=1-this.options.scrollFriction;var r=this.options.scrollAcceleration;var s=0;var a=0;var l=0;var u=0;var c=0;var d=null;function f(){return document.body.scrollTop||document.documentElement.scrollTop}var h=function e(){var t=p();m();if(c===1&&l>s||c===-1&&lt?-1:1;u=t+c;l=t;a=0;if(s!=l){h()}else{n.triggerEvent("scrollDone")}};this.triggerEvent("scrollStart");if(o==0){window.scrollTo(0,t);this.triggerEvent("scrollDone")}else{v(t)}}},function(e,t,n){"use strict";e.exports=function(e){var t=e.toString().toLowerCase().replace(/\s+/g,"-").replace(/\//g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"");if(t[0]=="/")t=t.splice(1);if(t=="")t="homepage";return t}},function(e,t,n){"use strict";e.exports=function(e){if(this.options.scroll&&(!e||this.options.animateHistoryBrowsing)){if(this.scrollToElement!=null){var t=document.querySelector(this.scrollToElement);if(t!=null){var n=t.getBoundingClientRect().top+window.pageYOffset;this.scrollTo(document.body,n)}else{console.warn("Element for offset not found ("+this.scrollToElement+")")}this.scrollToElement=null}else{this.scrollTo(document.body,0)}}}},function(e,t,n){"use strict";e.exports=function(e){var t=this;var n=0;for(var o=0;o-1){this._handlers[t].splice(r,1)}}else{console.warn("Handler for event '"+t+"' no found.")}}else{this._handlers[t]=[]}}else{Object.keys(this._handlers).forEach(function(e){o._handlers[e]=[]})}}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(e=="/"){e="/homepage"}if(t=="/"){t="/homepage"}this.transition={from:e.replace("/",""),to:t.replace("/","")};if(n){this.transition.custom=n}}},function(e,t,n){"use strict";var o=n(0);var i=r(o);function r(e){return e&&e.__esModule?e:{default:e}}e.exports=function(e){var t=this;var n=new i.default;n.setPath(e);if(n.getAddress()!=this.currentUrl&&!this.cache.exists(n.getAddress())&&this.preloadPromise==null){this.getPage({url:n.getAddress()},function(e,o){if(o.status===500){t.triggerEvent("serverError");return}else{var i=t.getDataFromHtml(e,o);if(i!=null){i.url=n.getAddress();t.cache.cacheUrl(i,t.options.debugMode);t.triggerEvent("pagePreloaded")}}})}}},function(e,t,n){"use strict";e.exports=function(){var e=this;if(this.options.preload){document.querySelectorAll("[data-swup-preload]").forEach(function(t){e.preloadPage(t.href)})}}},function(e,t,n){"use strict";e.exports=function(e,t){var n=this;t=Object.assign({},e.options,t);e.options=t;var o=function e(){var t=n.cache.getPage(window.location.pathname+window.location.search);var o=document.createElement("html");o.innerHTML=t.originalContent;return o};this.plugins.push(e);e.exec(t,this,o);return this.plugins}},function(e,t,n){"use strict";e.exports=function(e){if(this.options.debugMode){console.log(e+"%c","color: #009ACD")}}}])}); \ No newline at end of file diff --git a/package.json b/package.json index 6875a386..b293c724 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swup", - "version": "1.7.4", + "version": "1.7.5", "description": "Animated page transitions with css.", "main": "lib/index.js", "scripts": { diff --git a/readme.md b/readme.md index 90f13b7d..fa619a05 100755 --- a/readme.md +++ b/readme.md @@ -336,6 +336,7 @@ swup.off(); // removes all handlers for all events * **pageRetrievedFromCache** - triggers when page is retrieved from cache and no request is necessary * **submitForm** - triggers when form is submitted trough swup (right before submission) * **popState** - triggers on popstate events (back forward button) +* **openPageInNewTab** - triggers when page is opened to new tab (link clicked when control key is pressed) * **enabled** - triggers when swup instance is created or re-enabled after call of `destroy()` * **disabled** - triggers on `destroy()` diff --git a/src/index.js b/src/index.js index b97fde3b..b2496404 100755 --- a/src/index.js +++ b/src/index.js @@ -89,6 +89,7 @@ export default class Swup { animationInDone: [], pageRetrievedFromCache: [], popState: [], + openPageInNewTab: [], submitForm: [], enabled: [], disabled: [],