From f9dc67b4b17beb5e2407a983c6e791fb469534a0 Mon Sep 17 00:00:00 2001 From: Derek Watkins Date: Fri, 18 Mar 2016 13:08:04 -0400 Subject: [PATCH 01/16] Allow 'duration' parameter for Wave.ripple() options --- src/js/waves.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/js/waves.js b/src/js/waves.js index d622919..aedea91 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -557,7 +557,11 @@ mousedown.pageX = centre.x; mousedown.pageY = centre.y; - + + if ('duration' in options) { + Effect.duration = options.duration; + } + Effect.show(mousedown, element); if (options.wait >= 0 && options.wait !== null) { From 6372d2bd9548bcebfe102036ea1da4c74d9581d8 Mon Sep 17 00:00:00 2001 From: Ralph Bolliger Date: Mon, 2 Jan 2017 17:31:39 +0100 Subject: [PATCH 02/16] Used span instead of i element for input/submit button. Also removed inline styles for wrapper and element because it caused invisibility on inputs/submits. --- src/js/waves.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/js/waves.js b/src/js/waves.js index d622919..d6052ba 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -215,7 +215,7 @@ } // Put element class and style to the specified parent - var wrapper = document.createElement('i'); + var wrapper = document.createElement('span'); wrapper.className = element.className + ' waves-input-wrapper'; element.className = 'waves-button-input'; @@ -228,9 +228,6 @@ var color = elementStyle.color; var backgroundColor = elementStyle.backgroundColor; - wrapper.setAttribute('style', 'color:' + color + ';background:' + backgroundColor); - element.setAttribute('style', 'background-color:rgba(0,0,0,0);'); - }, // Wrap tag so it can perform the effect From b70f3bbe5bf726fdce81dc6c88c6d3ff04c3c27a Mon Sep 17 00:00:00 2001 From: Ralph Bolliger Date: Mon, 2 Jan 2017 17:47:00 +0100 Subject: [PATCH 03/16] Removed unnecessary padding for .waves-button-input --- src/less/waves.less | 2 +- src/sass/waves.sass | 2 +- src/scss/waves.scss | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/less/waves.less b/src/less/waves.less index 64e67d0..5eb99a2 100644 --- a/src/less/waves.less +++ b/src/less/waves.less @@ -115,7 +115,7 @@ .waves-button-input { margin: 0; - padding: 0.85em 1.1em; + padding: 0em; } .waves-input-wrapper { diff --git a/src/sass/waves.sass b/src/sass/waves.sass index d66be32..6892c58 100644 --- a/src/sass/waves.sass +++ b/src/sass/waves.sass @@ -110,7 +110,7 @@ .waves-button-input margin: 0 - padding: 0.85em 1.1em + padding: 0em .waves-input-wrapper border-radius: 0.2em diff --git a/src/scss/waves.scss b/src/scss/waves.scss index 1723cda..daf3cfd 100644 --- a/src/scss/waves.scss +++ b/src/scss/waves.scss @@ -115,7 +115,7 @@ .waves-button-input { margin: 0; - padding: 0.85em 1.1em; + padding: 0em; } .waves-input-wrapper { From b2b93d385dc53e9dd97559271e41495ac09af97f Mon Sep 17 00:00:00 2001 From: Ralph Bolliger Date: Tue, 3 Jan 2017 11:27:57 +0100 Subject: [PATCH 04/16] Changed stylus file also --- src/stylus/waves.styl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylus/waves.styl b/src/stylus/waves.styl index a9559fc..8a6dc3c 100644 --- a/src/stylus/waves.styl +++ b/src/stylus/waves.styl @@ -87,7 +87,7 @@ waves-box-shadow(shadow) border-radius 0.2em .waves-button-input margin 0 - padding 0.85em 1.1em + padding 0em .waves-input-wrapper border-radius 0.2em vertical-align bottom From 23eea4d2e37ebd2782b9675aabe0268606ba1e56 Mon Sep 17 00:00:00 2001 From: Ralph Bolliger Date: Tue, 17 Jan 2017 00:20:23 +0100 Subject: [PATCH 05/16] no message --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d39c5fb..b76b067 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ tests/ # Apple stuff .DS_Store +.idea/ From 7a44a25477e1cdce192d7d108839761b981d3d16 Mon Sep 17 00:00:00 2001 From: Robert Buchholz Date: Tue, 17 Jan 2017 15:40:23 +0100 Subject: [PATCH 06/16] Add option to specify which elements to apply the effect to --- src/js/waves.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/js/waves.js b/src/js/waves.js index d622919..6e901aa 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -105,6 +105,10 @@ // Effect delay (check for scroll before showing effect) delay: 200, + + // Selector to find element to apply effect to. + // Can contain multiple classes (like ".btn, .nav a") + elementSelector: ".waves-effect", show: function(e, element, velocity) { @@ -357,6 +361,18 @@ } }; + /** + * Browser-compatible version of Element.matches(). + */ + function matches(element, selector) { + var matches = document.documentElement.matches || + document.documentElement.matchesSelector || + document.documentElement.webkitMatchesSelector || + document.documentElement.mozMatchesSelector || + document.documentElement.msMatchesSelector || + document.documentElement.oMatchesSelector; + return matches.call(element, selector); + } /** * Delegated click handler for .waves-effect element. @@ -372,7 +388,7 @@ var target = e.target || e.srcElement; while (target.parentElement) { - if ( (!(target instanceof SVGElement)) && target.classList.contains('waves-effect')) { + if ( (!(target instanceof SVGElement)) && matches(target, Effect.elementSelector)) { element = target; break; } @@ -476,6 +492,10 @@ Effect.delay = options.delay; } + if ('elementSelector' in options) { + Effect.elementSelector = options.elementSelector; + } + if (isTouchAvailable) { body.addEventListener('touchstart', showEffect, false); body.addEventListener('touchcancel', TouchHandler.registerEvent, false); From e73ba55e9219f55baab2e0d6c79d30e12e06f2d9 Mon Sep 17 00:00:00 2001 From: Alfiana Sibuea Date: Mon, 20 Mar 2017 23:30:08 +0700 Subject: [PATCH 07/16] Update version file --- dist/waves.css | 2 +- dist/waves.js | 19 ++++++++++++++++++- dist/waves.min.css | 2 +- dist/waves.min.js | 4 ++-- dist/waves.min.js.map | 2 +- src/js/waves.js | 2 +- src/less/waves.less | 2 +- src/sass/waves.sass | 2 +- src/scss/waves.scss | 2 +- src/stylus/waves.styl | 2 +- 10 files changed, 28 insertions(+), 11 deletions(-) diff --git a/dist/waves.css b/dist/waves.css index 0a28241..294620f 100644 --- a/dist/waves.css +++ b/dist/waves.css @@ -1,5 +1,5 @@ /*! - * Waves v0.7.5 + * Waves v0.8.0 * http://fian.my.id/Waves * * Copyright 2014-2016 Alfiana E. Sibuea and other contributors diff --git a/dist/waves.js b/dist/waves.js index 16b754b..38dbccd 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -1,5 +1,5 @@ /*! - * Waves v0.7.5 + * Waves v0.8.0 * http://fian.my.id/Waves * * Copyright 2014-2016 Alfiana E. Sibuea and other contributors @@ -187,6 +187,14 @@ for (var i = 0, len = ripples.length; i < len; i++) { removeRipple(e, element, ripples[i]); } + + if (isTouchAvailable) { + element.removeEventListener('touchend', Effect.hide); + element.removeEventListener('touchcancel', Effect.hide); + } + + element.removeEventListener('mouseup', Effect.hide); + element.removeEventListener('mouseleave', Effect.hide); } }; @@ -417,6 +425,8 @@ hidden = true; Effect.hide(hideEvent, element); } + + removeListeners(); }; var touchMove = function(moveEvent) { @@ -425,12 +435,19 @@ timer = null; } hideEffect(moveEvent); + + removeListeners(); }; element.addEventListener('touchmove', touchMove, false); element.addEventListener('touchend', hideEffect, false); element.addEventListener('touchcancel', hideEffect, false); + var removeListeners = function() { + element.removeEventListener('touchmove', touchMove); + element.removeEventListener('touchend', hideEffect); + element.removeEventListener('touchcancel', hideEffect); + }; } else { Effect.show(e, element); diff --git a/dist/waves.min.css b/dist/waves.min.css index b06e752..48c9b8d 100644 --- a/dist/waves.min.css +++ b/dist/waves.min.css @@ -1,5 +1,5 @@ /*! - * Waves v0.7.5 + * Waves v0.8.0 * http://fian.my.id/Waves * * Copyright 2014-2016 Alfiana E. Sibuea and other contributors diff --git a/dist/waves.min.js b/dist/waves.min.js index 6d4f34f..4b93743 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -1,10 +1,10 @@ /*! - * Waves v0.7.5 + * Waves v0.8.0 * http://fian.my.id/Waves * * Copyright 2014-2016 Alfiana E. Sibuea and other contributors * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=m.call(a);return"[object String]"===b?l(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:o.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a){if(q.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&c.classList.contains("waves-effect")){b=c;break}c=c.parentElement}return b}function j(a){var b=i(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(q.registerEvent(a),"touchstart"===a.type&&o.delay){var c=!1,d=setTimeout(function(){d=null,o.show(a,b)},o.delay),e=function(e){d&&(clearTimeout(d),d=null,o.show(a,b)),c||(c=!0,o.hide(e,b))},f=function(a){d&&(clearTimeout(d),d=null),e(a)};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1)}else o.show(a,b),n&&(b.addEventListener("touchend",o.hide,!1),b.addEventListener("touchcancel",o.hide,!1)),b.addEventListener("mouseup",o.hide,!1),b.addEventListener("mouseleave",o.hide,!1)}}var k=k||{},l=document.querySelectorAll.bind(document),m=Object.prototype.toString,n="ontouchstart"in window,o={duration:750,delay:200,show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:o.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d])}},p={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},q={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&q.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?q.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){q.touches&&(q.touches-=1)},500)}};return k.init=function(a){var b=document.body;a=a||{},"duration"in a&&(o.duration=a.duration),"delay"in a&&(o.delay=a.delay),n&&(b.addEventListener("touchstart",j,!1),b.addEventListener("touchcancel",q.registerEvent,!1),b.addEventListener("touchend",q.registerEvent,!1)),b.addEventListener("mousedown",j,!1)},k.attach=function(a,b){a=e(a),"[object Array]"===m.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(p[d](c),c=c.parentElement),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect"+b)},k.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){o.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,o.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},k.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)o.hide(b,a[c])},k.displayEffect=function(a){k.init(a)},k}); +!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=m.call(a);return"[object String]"===b?l(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,void 0!==a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;j<0&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:o.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a){if(q.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&c.classList.contains("waves-effect")){b=c;break}c=c.parentElement}return b}function j(a){var b=i(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(q.registerEvent(a),"touchstart"===a.type&&o.delay){var c=!1,d=setTimeout(function(){d=null,o.show(a,b)},o.delay),e=function(e){d&&(clearTimeout(d),d=null,o.show(a,b)),c||(c=!0,o.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else o.show(a,b),n&&(b.addEventListener("touchend",o.hide,!1),b.addEventListener("touchcancel",o.hide,!1)),b.addEventListener("mouseup",o.hide,!1),b.addEventListener("mouseleave",o.hide,!1)}}var k=k||{},l=document.querySelectorAll.bind(document),m=Object.prototype.toString,n="ontouchstart"in window,o={duration:750,delay:200,show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:o.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;d=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},k.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;c Date: Mon, 20 Mar 2017 23:31:46 +0700 Subject: [PATCH 08/16] Update license year --- dist/waves.css | 2 +- dist/waves.js | 8 ++++++-- dist/waves.min.css | 2 +- dist/waves.min.js | 4 ++-- dist/waves.min.js.map | 2 +- src/js/waves.js | 2 +- src/less/waves.less | 2 +- src/sass/waves.sass | 2 +- src/scss/waves.scss | 2 +- src/stylus/waves.styl | 2 +- 10 files changed, 16 insertions(+), 12 deletions(-) diff --git a/dist/waves.css b/dist/waves.css index 294620f..a2544d3 100644 --- a/dist/waves.css +++ b/dist/waves.css @@ -2,7 +2,7 @@ * Waves v0.8.0 * http://fian.my.id/Waves * - * Copyright 2014-2016 Alfiana E. Sibuea and other contributors + * Copyright 2014-2017 Alfiana E. Sibuea and other contributors * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ diff --git a/dist/waves.js b/dist/waves.js index 38dbccd..cd6e69e 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -2,7 +2,7 @@ * Waves v0.8.0 * http://fian.my.id/Waves * - * Copyright 2014-2016 Alfiana E. Sibuea and other contributors + * Copyright 2014-2017 Alfiana E. Sibuea and other contributors * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ @@ -557,7 +557,11 @@ mousedown.pageX = centre.x; mousedown.pageY = centre.y; - + + if ('duration' in options) { + Effect.duration = options.duration; + } + Effect.show(mousedown, element); if (options.wait >= 0 && options.wait !== null) { diff --git a/dist/waves.min.css b/dist/waves.min.css index 48c9b8d..40c4387 100644 --- a/dist/waves.min.css +++ b/dist/waves.min.css @@ -2,7 +2,7 @@ * Waves v0.8.0 * http://fian.my.id/Waves * - * Copyright 2014-2016 Alfiana E. Sibuea and other contributors + * Copyright 2014-2017 Alfiana E. Sibuea and other contributors * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button:hover,.waves-button:visited,.waves-button-input{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:transparent;font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all 300ms;-moz-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} \ No newline at end of file diff --git a/dist/waves.min.js b/dist/waves.min.js index 4b93743..db635c4 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -2,9 +2,9 @@ * Waves v0.8.0 * http://fian.my.id/Waves * - * Copyright 2014-2016 Alfiana E. Sibuea and other contributors + * Copyright 2014-2017 Alfiana E. Sibuea and other contributors * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=m.call(a);return"[object String]"===b?l(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,void 0!==a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;j<0&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:o.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a){if(q.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&c.classList.contains("waves-effect")){b=c;break}c=c.parentElement}return b}function j(a){var b=i(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(q.registerEvent(a),"touchstart"===a.type&&o.delay){var c=!1,d=setTimeout(function(){d=null,o.show(a,b)},o.delay),e=function(e){d&&(clearTimeout(d),d=null,o.show(a,b)),c||(c=!0,o.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else o.show(a,b),n&&(b.addEventListener("touchend",o.hide,!1),b.addEventListener("touchcancel",o.hide,!1)),b.addEventListener("mouseup",o.hide,!1),b.addEventListener("mouseleave",o.hide,!1)}}var k=k||{},l=document.querySelectorAll.bind(document),m=Object.prototype.toString,n="ontouchstart"in window,o={duration:750,delay:200,show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:o.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;d=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},k.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;c0}function e(a){var b=m.call(a);return"[object String]"===b?l(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,void 0!==a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;j<0&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:o.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a){if(q.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&c.classList.contains("waves-effect")){b=c;break}c=c.parentElement}return b}function j(a){var b=i(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(q.registerEvent(a),"touchstart"===a.type&&o.delay){var c=!1,d=setTimeout(function(){d=null,o.show(a,b)},o.delay),e=function(e){d&&(clearTimeout(d),d=null,o.show(a,b)),c||(c=!0,o.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else o.show(a,b),n&&(b.addEventListener("touchend",o.hide,!1),b.addEventListener("touchcancel",o.hide,!1)),b.addEventListener("mouseup",o.hide,!1),b.addEventListener("mouseleave",o.hide,!1)}}var k=k||{},l=document.querySelectorAll.bind(document),m=Object.prototype.toString,n="ontouchstart"in window,o={duration:750,delay:200,show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:o.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;d=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},k.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;c Date: Sun, 26 Mar 2017 23:55:47 +0700 Subject: [PATCH 09/16] Remove unnecessary comment --- src/js/waves.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/js/waves.js b/src/js/waves.js index 46506d8..616013a 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -403,12 +403,6 @@ */ function showEffect(e) { - // Disable effect if element has "disabled" property on it - // In some cases, the event is not triggered by the current element - // if (e.target.getAttribute('disabled') !== null) { - // return; - // } - var element = getWavesEffectElement(e); if (element !== null) { From f777ed00590f52694ec0c75f1d540ed09965da7b Mon Sep 17 00:00:00 2001 From: Alfiana Sibuea Date: Sun, 26 Mar 2017 23:56:06 +0700 Subject: [PATCH 10/16] Fix match jslint --- dist/waves.js | 28 +++++++++++++++++++++------- dist/waves.min.js | 2 +- dist/waves.min.js.map | 2 +- src/js/waves.js | 4 ++-- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/dist/waves.js b/dist/waves.js index cd6e69e..77e9ccd 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -105,6 +105,10 @@ // Effect delay (check for scroll before showing effect) delay: 200, + + // Selector to find element to apply effect to. + // Can contain multiple classes (like ".btn, .nav a") + elementSelector: ".waves-effect", show: function(e, element, velocity) { @@ -357,6 +361,18 @@ } }; + /** + * Browser-compatible version of Element.matches(). + */ + function matches(element, selector) { + var match = document.documentElement.matches || + document.documentElement.matchesSelector || + document.documentElement.webkitMatchesSelector || + document.documentElement.mozMatchesSelector || + document.documentElement.msMatchesSelector || + document.documentElement.oMatchesSelector; + return match.call(element, selector); + } /** * Delegated click handler for .waves-effect element. @@ -372,7 +388,7 @@ var target = e.target || e.srcElement; while (target.parentElement) { - if ( (!(target instanceof SVGElement)) && target.classList.contains('waves-effect')) { + if ( (!(target instanceof SVGElement)) && matches(target, Effect.elementSelector)) { element = target; break; } @@ -387,12 +403,6 @@ */ function showEffect(e) { - // Disable effect if element has "disabled" property on it - // In some cases, the event is not triggered by the current element - // if (e.target.getAttribute('disabled') !== null) { - // return; - // } - var element = getWavesEffectElement(e); if (element !== null) { @@ -476,6 +486,10 @@ Effect.delay = options.delay; } + if ('elementSelector' in options) { + Effect.elementSelector = options.elementSelector; + } + if (isTouchAvailable) { body.addEventListener('touchstart', showEffect, false); body.addEventListener('touchcancel', TouchHandler.registerEvent, false); diff --git a/dist/waves.min.js b/dist/waves.min.js index db635c4..da2a4e8 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -6,5 +6,5 @@ * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=m.call(a);return"[object String]"===b?l(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,void 0!==a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;j<0&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:o.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a){if(q.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&c.classList.contains("waves-effect")){b=c;break}c=c.parentElement}return b}function j(a){var b=i(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(q.registerEvent(a),"touchstart"===a.type&&o.delay){var c=!1,d=setTimeout(function(){d=null,o.show(a,b)},o.delay),e=function(e){d&&(clearTimeout(d),d=null,o.show(a,b)),c||(c=!0,o.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else o.show(a,b),n&&(b.addEventListener("touchend",o.hide,!1),b.addEventListener("touchcancel",o.hide,!1)),b.addEventListener("mouseup",o.hide,!1),b.addEventListener("mouseleave",o.hide,!1)}}var k=k||{},l=document.querySelectorAll.bind(document),m=Object.prototype.toString,n="ontouchstart"in window,o={duration:750,delay:200,show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:o.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;d=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},k.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;c0}function e(a){var b=n.call(a);return"[object String]"===b?m(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:p.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(r.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&i(c,p.elementSelector)){b=c;break}c=c.parentElement}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(r.registerEvent(a),"touchstart"===a.type&&p.delay){var c=!1,d=setTimeout(function(){d=null,p.show(a,b)},p.delay),e=function(e){d&&(clearTimeout(d),d=null,p.show(a,b)),c||(c=!0,p.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else p.show(a,b),o&&(b.addEventListener("touchend",p.hide,!1),b.addEventListener("touchcancel",p.hide,!1)),b.addEventListener("mouseup",p.hide,!1),b.addEventListener("mouseleave",p.hide,!1)}}var l=l||{},m=document.querySelectorAll.bind(document),n=Object.prototype.toString,o="ontouchstart"in window,p={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:p.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);o&&(b.removeEventListener("touchend",p.hide),b.removeEventListener("touchcancel",p.hide)),b.removeEventListener("mouseup",p.hide),b.removeEventListener("mouseleave",p.hide)}},q={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},r={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&r.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?r.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){r.touches&&(r.touches-=1)},500)}};return l.init=function(a){var b=document.body;a=a||{},"duration"in a&&(p.duration=a.duration),"delay"in a&&(p.delay=a.delay),"elementSelector"in a&&(p.elementSelector=a.elementSelector),o&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",r.registerEvent,!1),b.addEventListener("touchend",r.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},l.attach=function(a,b){a=e(a),"[object Array]"===n.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(q[d](c),c=c.parentElement),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect"+b)},l.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){p.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(p.duration=b.duration),p.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},l.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)p.hide(b,a[c])},l.displayEffect=function(a){l.init(a)},l}); //# sourceMappingURL=waves.min.js.map \ No newline at end of file diff --git a/dist/waves.min.js.map b/dist/waves.min.js.map index 64b5438..db26404 100644 --- a/dist/waves.min.js.map +++ b/dist/waves.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","getWavesEffectElement","TouchHandler","allowEvent","element","target","srcElement","parentElement","SVGElement","contains","showEffect","disabled","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","document","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","parentNode","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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","file":"waves.min.js"} \ No newline at end of file +{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","matches","element","selector","match","document","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getWavesEffectElement","TouchHandler","allowEvent","target","srcElement","parentElement","SVGElement","elementSelector","showEffect","disabled","contains","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","parentNode","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":";;;;;;;;CASC,SAAUA,EAAQC,GACf,YAIsB,mBAAXC,SAAyBA,OAAOC,IACvCD,UAAW,WACP,MAAOD,GAAQG,MAAMJ,KAMD,gBAAZK,SACZC,OAAOD,QAAUJ,EAAQM,KAAKP,GAK9BA,EAAOQ,MAAQP,EAAQM,KAAKP,IAEf,gBAAXS,QAAsBA,OAASC,KAAM,WAC3C,YASA,SAASC,GAASC,GACd,MAAe,QAARA,GAAgBA,IAAQA,EAAIZ,OAGvC,QAASa,GAAUC,GACf,MAAOH,GAASG,GAAQA,EAAyB,IAAlBA,EAAKC,UAAkBD,EAAKE,YAG/D,QAASC,GAASC,GACd,GAAIC,SAAcD,EAClB,OAAgB,aAATC,GAAgC,WAATA,KAAuBD,EAGzD,QAASE,GAAUR,GACf,MAAOK,GAASL,IAAQA,EAAIG,SAAW,EAG3C,QAASM,GAAiBC,GACtB,GAAIC,GAAaC,EAASjB,KAAKe,EAE/B,OAAmB,oBAAfC,EACOE,EAAGH,GACHL,EAASK,IAAU,sDAAsDI,KAAKH,IAAeD,EAAMK,eAAe,UAClHL,EACAF,EAAUE,IACTA,MAMhB,QAASM,GAAOd,GACZ,GAAIe,GAASC,EACTC,GAAQC,IAAK,EAAGC,KAAM,GACtBC,EAAMpB,GAAQA,EAAKqB,aAQvB,OANAN,GAAUK,EAAIE,gBAE4B,mBAA/BtB,GAAKuB,wBACZN,EAAMjB,EAAKuB,yBAEfP,EAAMjB,EAAUqB,IAEZF,IAAKD,EAAIC,IAAMF,EAAIQ,YAAcT,EAAQU,UACzCN,KAAMF,EAAIE,KAAOH,EAAIU,YAAcX,EAAQY,YAInD,QAASC,GAAaC,GAClB,GAAIC,GAAQ,EAEZ,KAAK,GAAIC,KAAQF,GACTA,EAAShB,eAAekB,KACxBD,GAAUC,EAAO,IAAMF,EAASE,GAAQ,IAIhD,OAAOD,GAoKX,QAASE,GAAaC,EAAGC,EAAIC,GAGzB,GAAKA,EAAL,CAIAA,EAAOC,UAAUC,OAAO,iBAExB,IAAIC,GAAYH,EAAOI,aAAa,UAChCC,EAAYL,EAAOI,aAAa,UAChCE,EAAYN,EAAOI,aAAa,cAChCG,EAAYP,EAAOI,aAAa,kBAGhCI,EAAOC,KAAKC,MAAQC,OAAOX,EAAOI,aAAa,cAC/CQ,EAAQ,IAAMJ,CAEN,GAARI,IACAA,EAAQ,GAGG,cAAXd,EAAE5B,OACF0C,EAAQ,IAIZ,IAAIC,GAAsB,cAAXf,EAAE5B,KAAuB,KAAO4C,EAAOD,QAEtDE,YAAW,WAEP,GAAIpB,IACAZ,IAAKsB,EAAY,KACjBrB,KAAMmB,EAAY,KAClBa,QAAS,IAGTC,8BAA+BJ,EAAW,KAC1CK,2BAA4BL,EAAW,KACvCM,yBAA0BN,EAAW,KACrCO,sBAAuBP,EAAW,KAClCQ,oBAAqBf,EAAQ,IAAMC,EACnCe,iBAAkBhB,EAAQ,IAAMC,EAChCgB,gBAAiBjB,EAAQ,IAAMC,EAC/BiB,eAAgBlB,EAAQ,IAAMC,EAC9BkB,UAAanB,EAAQ,IAAMC,EAG/BP,GAAO0B,aAAa,QAASjC,EAAaE,IAE1CoB,WAAW,WACP,IACIhB,EAAG4B,YAAY3B,GACjB,MAAOF,GACL,OAAO,IAEZe,IAEJD,IA+CP,QAASgB,GAAQC,EAASC,GACtB,GAAIC,GAAQC,SAAS7C,gBAAgByC,SACjCI,SAAS7C,gBAAgB8C,iBACzBD,SAAS7C,gBAAgB+C,uBACzBF,SAAS7C,gBAAgBgD,oBACzBH,SAAS7C,gBAAgBiD,mBACzBJ,SAAS7C,gBAAgBkD,gBAC7B,OAAON,GAAMzE,KAAKuE,EAASC,GAO/B,QAASQ,GAAsBxC,GAE3B,GAAIyC,EAAaC,WAAW1C,MAAO,EAC/B,MAAO,KAMX,KAHA,GAAI+B,GAAU,KACVY,EAAS3C,EAAE2C,QAAU3C,EAAE4C,WAEpBD,EAAOE,eAAe,CACzB,KAAQF,YAAkBG,cAAgBhB,EAAQa,EAAQ3B,EAAO+B,iBAAkB,CAC/EhB,EAAUY,CACV,OAEJA,EAASA,EAAOE,cAGpB,MAAOd,GAMX,QAASiB,GAAWhD,GAEhB,GAAI+B,GAAUS,EAAsBxC,EAEpC,IAAgB,OAAZ+B,EAAkB,CAGlB,GAAIA,EAAQkB,UAAYlB,EAAQzB,aAAa,aAAeyB,EAAQ5B,UAAU+C,SAAS,YACnF,MAKJ,IAFAT,EAAaU,cAAcnD,GAEZ,eAAXA,EAAE5B,MAAyB4C,EAAOF,MAAO,CAEzC,GAAIsC,IAAS,EAETC,EAAQpC,WAAW,WACnBoC,EAAQ,KACRrC,EAAOsC,KAAKtD,EAAG+B,IAChBf,EAAOF,OAENyC,EAAa,SAASC,GAGlBH,IACAI,aAAaJ,GACbA,EAAQ,KACRrC,EAAOsC,KAAKtD,EAAG+B,IAEdqB,IACDA,GAAS,EACTpC,EAAO0C,KAAKF,EAAWzB,IAG3B4B,KAGAC,EAAY,SAASC,GACjBR,IACAI,aAAaJ,GACbA,EAAQ,MAEZE,EAAWM,GAEXF,IAGJ5B,GAAQ+B,iBAAiB,YAAaF,GAAW,GACjD7B,EAAQ+B,iBAAiB,WAAYP,GAAY,GACjDxB,EAAQ+B,iBAAiB,cAAeP,GAAY,EAEpD,IAAII,GAAkB,WAClB5B,EAAQgC,oBAAoB,YAAaH,GACzC7B,EAAQgC,oBAAoB,WAAYR,GACxCxB,EAAQgC,oBAAoB,cAAeR,QAI/CvC,GAAOsC,KAAKtD,EAAG+B,GAEXiC,IACAjC,EAAQ+B,iBAAiB,WAAY9C,EAAO0C,MAAM,GAClD3B,EAAQ+B,iBAAiB,cAAe9C,EAAO0C,MAAM,IAGzD3B,EAAQ+B,iBAAiB,UAAW9C,EAAO0C,MAAM,GACjD3B,EAAQ+B,iBAAiB,aAAc9C,EAAO0C,MAAM,IArbhE,GAAIjG,GAAmBA,MACnBiB,EAAmBwD,SAAS+B,iBAAiBC,KAAKhC,UAClDzD,EAAmB0F,OAAOC,UAAU3F,SACpCuF,EAAmB,gBAAkB/G,QAgErC+D,GAGAD,SAAU,IAGVD,MAAO,IAIPiC,gBAAiB,gBAEjBO,KAAM,SAAStD,EAAG+B,EAASsC,GAGvB,GAAiB,IAAbrE,EAAEsE,OACF,OAAO,CAGXvC,GAAUA,GAAWpE,IAGrB,IAAIuC,GAASgC,SAASqC,cAAc,MACpCrE,GAAOsE,UAAY,8BACnBzC,EAAQ0C,YAAYvE,EAGpB,IAAIwE,GAAY7F,EAAOkD,GACnBxB,EAAY,EACZF,EAAY,CAEb,YAAaL,IAAKA,EAAE2E,QAAQC,QAC3BrE,EAAeP,EAAE2E,QAAQ,GAAGE,MAAQH,EAAIzF,IACxCoB,EAAeL,EAAE2E,QAAQ,GAAGG,MAAQJ,EAAIxF,OAIxCqB,EAAeP,EAAE6E,MAAQH,EAAIzF,IAC7BoB,EAAeL,EAAE8E,MAAQJ,EAAIxF,MAGjCmB,EAAYA,GAAa,EAAIA,EAAY,EACzCE,EAAYA,GAAa,EAAIA,EAAY,CAEzC,IAAIC,GAAY,SAAauB,EAAQgD,YAAc,IAAO,EAAK,IAC3DtE,EAAY,gBAEZ4D,KACA5D,EAAY,aAAgB4D,EAAU,EAAI,OAAUA,EAAU,EAAI,OAItEnE,EAAO0B,aAAa,YAAajB,KAAKC,OACtCV,EAAO0B,aAAa,SAAUvB,GAC9BH,EAAO0B,aAAa,SAAUrB,GAC9BL,EAAO0B,aAAa,aAAcpB,GAClCN,EAAO0B,aAAa,iBAAkBnB,EAGtC,IAAIuE,IACA/F,IAAKsB,EAAY,KACjBrB,KAAMmB,EAAY,KAGtBH,GAAOC,UAAU8E,IAAI,sBACrB/E,EAAO0B,aAAa,QAASjC,EAAaqF,IAC1C9E,EAAOC,UAAUC,OAAO,sBAGxB4E,EAAY,qBAAuBxE,EAAQ,IAAMC,EACjDuE,EAAY,kBAAoBxE,EAAQ,IAAMC,EAC9CuE,EAAY,iBAAmBxE,EAAQ,IAAMC,EAC7CuE,EAAY,gBAAkBxE,EAAQ,IAAMC,EAC5CuE,EAAYrD,UAAYnB,EAAQ,IAAMC,EACtCuE,EAAY9D,QAAU,GAEtB,IAAIH,GAAsB,cAAXf,EAAE5B,KAAuB,KAAO4C,EAAOD,QACtDiE,GAAY,+BAAiCjE,EAAW,KACxDiE,EAAY,4BAAiCjE,EAAW,KACxDiE,EAAY,0BAAiCjE,EAAW,KACxDiE,EAAY,uBAAiCjE,EAAW,KAExDb,EAAO0B,aAAa,QAASjC,EAAaqF,KAG9CtB,KAAM,SAAS1D,EAAG+B,GACdA,EAAUA,GAAWpE,IAIrB,KAAK,GAFDuH,GAAUnD,EAAQoD,uBAAuB,kBAEpCC,EAAI,EAAGC,EAAMH,EAAQN,OAAYS,EAAJD,EAASA,IAC3CrF,EAAaC,EAAG+B,EAASmD,EAAQE,GAGjCpB,KACAjC,EAAQgC,oBAAoB,WAAY/C,EAAO0C,MAC/C3B,EAAQgC,oBAAoB,cAAe/C,EAAO0C,OAGtD3B,EAAQgC,oBAAoB,UAAW/C,EAAO0C,MAC9C3B,EAAQgC,oBAAoB,aAAc/C,EAAO0C,QAQrD4B,GAGAC,MAAO,SAASxD,GAEZ,GAAIyD,GAASzD,EAAQ0D,UAGrB,IAAqC,MAAjCD,EAAOE,QAAQC,gBAAyBH,EAAOrF,UAAU+C,SAAS,gBAAtE,CAKA,GAAI0C,GAAgB1D,SAASqC,cAAc,IAC3CqB,GAAQpB,UAAYzC,EAAQyC,UAAY,uBACxCzC,EAAQyC,UAAY,qBAGpBgB,EAAOK,aAAaD,EAAS7D,GAC7B6D,EAAQnB,YAAY1C,EAGpB,IAAI+D,GAAkB7I,OAAO8I,iBAAiBhE,EAAS,MACnDiE,EAAkBF,EAAaE,MAC/BC,EAAkBH,EAAaG,eAEnCL,GAAQhE,aAAa,QAAS,SAAWoE,EAAQ,eAAiBC,GAClElE,EAAQH,aAAa,QAAS,qCAKlCsE,IAAK,SAASnE,GAEV,GAAIyD,GAASzD,EAAQ0D,UAGrB,IAAqC,MAAjCD,EAAOE,QAAQC,gBAAyBH,EAAOrF,UAAU+C,SAAS,gBAAtE,CAKA,GAAI0C,GAAW1D,SAASqC,cAAc,IACtCiB,GAAOK,aAAaD,EAAS7D,GAC7B6D,EAAQnB,YAAY1C,MA0ExBU,GAMAkC,QAAS,EAETjC,WAAY,SAAS1C,GAEjB,GAAImG,IAAQ,CAMZ,OAJI,0BAA0BxH,KAAKqB,EAAE5B,OAASqE,EAAakC,UACvDwB,GAAQ,GAGLA,GAEXhD,cAAe,SAASnD,GACpB,GAAIoG,GAAQpG,EAAE5B,IAEA,gBAAVgI,EAEA3D,EAAakC,SAAW,EAEjB,2BAA2BhG,KAAKyH,IAEvCnF,WAAW,WACHwB,EAAakC,UACblC,EAAakC,SAAW,IAE7B,MAkQf,OA5IAlH,GAAM4I,KAAO,SAASC,GAClB,GAAIC,GAAOrE,SAASqE,IAEpBD,GAAUA,MAEN,YAAcA,KACdtF,EAAOD,SAAWuF,EAAQvF,UAG1B,SAAWuF,KACXtF,EAAOF,MAAQwF,EAAQxF,OAGvB,mBAAqBwF,KACrBtF,EAAO+B,gBAAkBuD,EAAQvD,iBAGjCiB,IACAuC,EAAKzC,iBAAiB,aAAcd,GAAY,GAChDuD,EAAKzC,iBAAiB,cAAerB,EAAaU,eAAe,GACjEoD,EAAKzC,iBAAiB,WAAYrB,EAAaU,eAAe,IAGlEoD,EAAKzC,iBAAiB,YAAad,GAAY,IASnDvF,EAAM+I,OAAS,SAASC,EAAUC,GAE9BD,EAAWnI,EAAiBmI,GAEG,mBAA3BhI,EAASjB,KAAKkJ,KACdA,EAAUA,EAAQC,KAAK,MAG3BD,EAAUA,EAAU,IAAMA,EAAU,EAIpC,KAAK,GAFD3E,GAAS2D,EAEJN,EAAI,EAAGC,EAAMoB,EAAS7B,OAAYS,EAAJD,EAASA,IAE5CrD,EAAU0E,EAASrB,GACnBM,EAAU3D,EAAQ2D,QAAQC,cAEgB,MAArC,QAAS,OAAOiB,QAAQlB,KACzBJ,EAAWI,GAAS3D,GACpBA,EAAUA,EAAQc,eAG4B,KAA9Cd,EAAQyC,UAAUoC,QAAQ,kBAC1B7E,EAAQyC,WAAa,gBAAkBkC,IASnDjJ,EAAMyC,OAAS,SAASuG,EAAUH,GAC9BG,EAAWnI,EAAiBmI,EAC5B,IAAII,GAAcJ,EAAS7B,MAO3B,IALA0B,EAAmBA,MACnBA,EAAQQ,KAAWR,EAAQQ,MAAQ,EACnCR,EAAQS,SAAWT,EAAQS,UAAY,KAGnCF,EAYA,IAXA,GAAI9E,GAAS2C,EAAKsC,EAAKC,KAAa7B,EAAI,EACpC8B,GACA9I,KAAM,YACNkG,OAAQ,GAER6C,EAAa,SAASC,EAASrF,GAC/B,MAAO,YACHf,EAAO0C,KAAK0D,EAASrF,KAIlB8E,EAAJzB,EAAiBA,IAoBpB,GAnBArD,EAAU0E,EAASrB,GACnBV,EAAM4B,EAAQS,WACVM,EAAGtF,EAAQgD,YAAc,EACzBuC,EAAGvF,EAAQwF,aAAe,GAG9BP,EAAWnI,EAAOkD,GAClBkF,EAAOI,EAAIL,EAAI9H,KAAOwF,EAAI2C,EAC1BJ,EAAOK,EAAIN,EAAI/H,IAAMyF,EAAI4C,EAEzBJ,EAAUpC,MAAQmC,EAAOI,EACzBH,EAAUrC,MAAQoC,EAAOK,EAErB,YAAchB,KACdtF,EAAOD,SAAWuF,EAAQvF,UAG9BC,EAAOsC,KAAK4D,EAAWnF,GAEnBuE,EAAQQ,MAAQ,GAAsB,OAAjBR,EAAQQ,KAAe,CAC5C,GAAIM,IACAhJ,KAAM,UACNkG,OAAQ,EAGZrD,YAAWkG,EAAWC,EAASrF,GAAUuE,EAAQQ,QASjErJ,EAAM+J,KAAO,SAASf,GAClBA,EAAWnI,EAAiBmI,EAM5B,KAAK,GALDW,IACAhJ,KAAM,UACNkG,OAAQ,GAGHc,EAAI,EAAGC,EAAMoB,EAAS7B,OAAYS,EAAJD,EAASA,IAC5CpE,EAAO0C,KAAK0D,EAASX,EAASrB,KAOtC3H,EAAMgK,cAAgB,SAASnB,GAE3B7I,EAAM4I,KAAKC,IAGR7I"} \ No newline at end of file diff --git a/src/js/waves.js b/src/js/waves.js index 616013a..77e9ccd 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -365,13 +365,13 @@ * Browser-compatible version of Element.matches(). */ function matches(element, selector) { - var matches = document.documentElement.matches || + var match = document.documentElement.matches || document.documentElement.matchesSelector || document.documentElement.webkitMatchesSelector || document.documentElement.mozMatchesSelector || document.documentElement.msMatchesSelector || document.documentElement.oMatchesSelector; - return matches.call(element, selector); + return match.call(element, selector); } /** From 34ac427606647ca0aa45209acc5d07459f6c58c1 Mon Sep 17 00:00:00 2001 From: Alfiana Sibuea Date: Mon, 27 Mar 2017 00:08:33 +0700 Subject: [PATCH 11/16] Prevent `Waves.attach` attaching duplicate classes #136 --- dist/waves.js | 8 +++++++- dist/waves.min.js | 2 +- dist/waves.min.js.map | 2 +- src/js/waves.js | 8 +++++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dist/waves.js b/dist/waves.js index 77e9ccd..f6b769e 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -526,10 +526,16 @@ TagWrapper[tagName](element); element = element.parentElement; } + + if (element.className.indexOf(classes) === -1) { + element.className += ' '+classes; + } if (element.className.indexOf('waves-effect') === -1) { - element.className += ' waves-effect' + classes; + element.className += ' waves-effect'; } + + } }; diff --git a/dist/waves.min.js b/dist/waves.min.js index da2a4e8..999ff42 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -6,5 +6,5 @@ * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=n.call(a);return"[object String]"===b?m(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:p.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(r.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&i(c,p.elementSelector)){b=c;break}c=c.parentElement}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(r.registerEvent(a),"touchstart"===a.type&&p.delay){var c=!1,d=setTimeout(function(){d=null,p.show(a,b)},p.delay),e=function(e){d&&(clearTimeout(d),d=null,p.show(a,b)),c||(c=!0,p.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else p.show(a,b),o&&(b.addEventListener("touchend",p.hide,!1),b.addEventListener("touchcancel",p.hide,!1)),b.addEventListener("mouseup",p.hide,!1),b.addEventListener("mouseleave",p.hide,!1)}}var l=l||{},m=document.querySelectorAll.bind(document),n=Object.prototype.toString,o="ontouchstart"in window,p={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:p.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);o&&(b.removeEventListener("touchend",p.hide),b.removeEventListener("touchcancel",p.hide)),b.removeEventListener("mouseup",p.hide),b.removeEventListener("mouseleave",p.hide)}},q={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},r={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&r.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?r.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){r.touches&&(r.touches-=1)},500)}};return l.init=function(a){var b=document.body;a=a||{},"duration"in a&&(p.duration=a.duration),"delay"in a&&(p.delay=a.delay),"elementSelector"in a&&(p.elementSelector=a.elementSelector),o&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",r.registerEvent,!1),b.addEventListener("touchend",r.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},l.attach=function(a,b){a=e(a),"[object Array]"===n.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(q[d](c),c=c.parentElement),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect"+b)},l.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){p.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(p.duration=b.duration),p.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},l.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)p.hide(b,a[c])},l.displayEffect=function(a){l.init(a)},l}); +!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=n.call(a);return"[object String]"===b?m(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:p.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(r.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&i(c,p.elementSelector)){b=c;break}c=c.parentElement}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(r.registerEvent(a),"touchstart"===a.type&&p.delay){var c=!1,d=setTimeout(function(){d=null,p.show(a,b)},p.delay),e=function(e){d&&(clearTimeout(d),d=null,p.show(a,b)),c||(c=!0,p.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else p.show(a,b),o&&(b.addEventListener("touchend",p.hide,!1),b.addEventListener("touchcancel",p.hide,!1)),b.addEventListener("mouseup",p.hide,!1),b.addEventListener("mouseleave",p.hide,!1)}}var l=l||{},m=document.querySelectorAll.bind(document),n=Object.prototype.toString,o="ontouchstart"in window,p={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:p.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);o&&(b.removeEventListener("touchend",p.hide),b.removeEventListener("touchcancel",p.hide)),b.removeEventListener("mouseup",p.hide),b.removeEventListener("mouseleave",p.hide)}},q={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},r={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&r.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?r.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){r.touches&&(r.touches-=1)},500)}};return l.init=function(a){var b=document.body;a=a||{},"duration"in a&&(p.duration=a.duration),"delay"in a&&(p.delay=a.delay),"elementSelector"in a&&(p.elementSelector=a.elementSelector),o&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",r.registerEvent,!1),b.addEventListener("touchend",r.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},l.attach=function(a,b){a=e(a),"[object Array]"===n.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(q[d](c),c=c.parentElement),-1===c.className.indexOf(b)&&(c.className+=" "+b),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect")},l.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){p.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(p.duration=b.duration),p.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},l.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)p.hide(b,a[c])},l.displayEffect=function(a){l.init(a)},l}); //# sourceMappingURL=waves.min.js.map \ No newline at end of file diff --git a/dist/waves.min.js.map b/dist/waves.min.js.map index db26404..d888c5e 100644 --- a/dist/waves.min.js.map +++ b/dist/waves.min.js.map @@ -1 +1 @@ -{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","matches","element","selector","match","document","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getWavesEffectElement","TouchHandler","allowEvent","target","srcElement","parentElement","SVGElement","elementSelector","showEffect","disabled","contains","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","parentNode","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":";;;;;;;;CASC,SAAUA,EAAQC,GACf,YAIsB,mBAAXC,SAAyBA,OAAOC,IACvCD,UAAW,WACP,MAAOD,GAAQG,MAAMJ,KAMD,gBAAZK,SACZC,OAAOD,QAAUJ,EAAQM,KAAKP,GAK9BA,EAAOQ,MAAQP,EAAQM,KAAKP,IAEf,gBAAXS,QAAsBA,OAASC,KAAM,WAC3C,YASA,SAASC,GAASC,GACd,MAAe,QAARA,GAAgBA,IAAQA,EAAIZ,OAGvC,QAASa,GAAUC,GACf,MAAOH,GAASG,GAAQA,EAAyB,IAAlBA,EAAKC,UAAkBD,EAAKE,YAG/D,QAASC,GAASC,GACd,GAAIC,SAAcD,EAClB,OAAgB,aAATC,GAAgC,WAATA,KAAuBD,EAGzD,QAASE,GAAUR,GACf,MAAOK,GAASL,IAAQA,EAAIG,SAAW,EAG3C,QAASM,GAAiBC,GACtB,GAAIC,GAAaC,EAASjB,KAAKe,EAE/B,OAAmB,oBAAfC,EACOE,EAAGH,GACHL,EAASK,IAAU,sDAAsDI,KAAKH,IAAeD,EAAMK,eAAe,UAClHL,EACAF,EAAUE,IACTA,MAMhB,QAASM,GAAOd,GACZ,GAAIe,GAASC,EACTC,GAAQC,IAAK,EAAGC,KAAM,GACtBC,EAAMpB,GAAQA,EAAKqB,aAQvB,OANAN,GAAUK,EAAIE,gBAE4B,mBAA/BtB,GAAKuB,wBACZN,EAAMjB,EAAKuB,yBAEfP,EAAMjB,EAAUqB,IAEZF,IAAKD,EAAIC,IAAMF,EAAIQ,YAAcT,EAAQU,UACzCN,KAAMF,EAAIE,KAAOH,EAAIU,YAAcX,EAAQY,YAInD,QAASC,GAAaC,GAClB,GAAIC,GAAQ,EAEZ,KAAK,GAAIC,KAAQF,GACTA,EAAShB,eAAekB,KACxBD,GAAUC,EAAO,IAAMF,EAASE,GAAQ,IAIhD,OAAOD,GAoKX,QAASE,GAAaC,EAAGC,EAAIC,GAGzB,GAAKA,EAAL,CAIAA,EAAOC,UAAUC,OAAO,iBAExB,IAAIC,GAAYH,EAAOI,aAAa,UAChCC,EAAYL,EAAOI,aAAa,UAChCE,EAAYN,EAAOI,aAAa,cAChCG,EAAYP,EAAOI,aAAa,kBAGhCI,EAAOC,KAAKC,MAAQC,OAAOX,EAAOI,aAAa,cAC/CQ,EAAQ,IAAMJ,CAEN,GAARI,IACAA,EAAQ,GAGG,cAAXd,EAAE5B,OACF0C,EAAQ,IAIZ,IAAIC,GAAsB,cAAXf,EAAE5B,KAAuB,KAAO4C,EAAOD,QAEtDE,YAAW,WAEP,GAAIpB,IACAZ,IAAKsB,EAAY,KACjBrB,KAAMmB,EAAY,KAClBa,QAAS,IAGTC,8BAA+BJ,EAAW,KAC1CK,2BAA4BL,EAAW,KACvCM,yBAA0BN,EAAW,KACrCO,sBAAuBP,EAAW,KAClCQ,oBAAqBf,EAAQ,IAAMC,EACnCe,iBAAkBhB,EAAQ,IAAMC,EAChCgB,gBAAiBjB,EAAQ,IAAMC,EAC/BiB,eAAgBlB,EAAQ,IAAMC,EAC9BkB,UAAanB,EAAQ,IAAMC,EAG/BP,GAAO0B,aAAa,QAASjC,EAAaE,IAE1CoB,WAAW,WACP,IACIhB,EAAG4B,YAAY3B,GACjB,MAAOF,GACL,OAAO,IAEZe,IAEJD,IA+CP,QAASgB,GAAQC,EAASC,GACtB,GAAIC,GAAQC,SAAS7C,gBAAgByC,SACjCI,SAAS7C,gBAAgB8C,iBACzBD,SAAS7C,gBAAgB+C,uBACzBF,SAAS7C,gBAAgBgD,oBACzBH,SAAS7C,gBAAgBiD,mBACzBJ,SAAS7C,gBAAgBkD,gBAC7B,OAAON,GAAMzE,KAAKuE,EAASC,GAO/B,QAASQ,GAAsBxC,GAE3B,GAAIyC,EAAaC,WAAW1C,MAAO,EAC/B,MAAO,KAMX,KAHA,GAAI+B,GAAU,KACVY,EAAS3C,EAAE2C,QAAU3C,EAAE4C,WAEpBD,EAAOE,eAAe,CACzB,KAAQF,YAAkBG,cAAgBhB,EAAQa,EAAQ3B,EAAO+B,iBAAkB,CAC/EhB,EAAUY,CACV,OAEJA,EAASA,EAAOE,cAGpB,MAAOd,GAMX,QAASiB,GAAWhD,GAEhB,GAAI+B,GAAUS,EAAsBxC,EAEpC,IAAgB,OAAZ+B,EAAkB,CAGlB,GAAIA,EAAQkB,UAAYlB,EAAQzB,aAAa,aAAeyB,EAAQ5B,UAAU+C,SAAS,YACnF,MAKJ,IAFAT,EAAaU,cAAcnD,GAEZ,eAAXA,EAAE5B,MAAyB4C,EAAOF,MAAO,CAEzC,GAAIsC,IAAS,EAETC,EAAQpC,WAAW,WACnBoC,EAAQ,KACRrC,EAAOsC,KAAKtD,EAAG+B,IAChBf,EAAOF,OAENyC,EAAa,SAASC,GAGlBH,IACAI,aAAaJ,GACbA,EAAQ,KACRrC,EAAOsC,KAAKtD,EAAG+B,IAEdqB,IACDA,GAAS,EACTpC,EAAO0C,KAAKF,EAAWzB,IAG3B4B,KAGAC,EAAY,SAASC,GACjBR,IACAI,aAAaJ,GACbA,EAAQ,MAEZE,EAAWM,GAEXF,IAGJ5B,GAAQ+B,iBAAiB,YAAaF,GAAW,GACjD7B,EAAQ+B,iBAAiB,WAAYP,GAAY,GACjDxB,EAAQ+B,iBAAiB,cAAeP,GAAY,EAEpD,IAAII,GAAkB,WAClB5B,EAAQgC,oBAAoB,YAAaH,GACzC7B,EAAQgC,oBAAoB,WAAYR,GACxCxB,EAAQgC,oBAAoB,cAAeR,QAI/CvC,GAAOsC,KAAKtD,EAAG+B,GAEXiC,IACAjC,EAAQ+B,iBAAiB,WAAY9C,EAAO0C,MAAM,GAClD3B,EAAQ+B,iBAAiB,cAAe9C,EAAO0C,MAAM,IAGzD3B,EAAQ+B,iBAAiB,UAAW9C,EAAO0C,MAAM,GACjD3B,EAAQ+B,iBAAiB,aAAc9C,EAAO0C,MAAM,IArbhE,GAAIjG,GAAmBA,MACnBiB,EAAmBwD,SAAS+B,iBAAiBC,KAAKhC,UAClDzD,EAAmB0F,OAAOC,UAAU3F,SACpCuF,EAAmB,gBAAkB/G,QAgErC+D,GAGAD,SAAU,IAGVD,MAAO,IAIPiC,gBAAiB,gBAEjBO,KAAM,SAAStD,EAAG+B,EAASsC,GAGvB,GAAiB,IAAbrE,EAAEsE,OACF,OAAO,CAGXvC,GAAUA,GAAWpE,IAGrB,IAAIuC,GAASgC,SAASqC,cAAc,MACpCrE,GAAOsE,UAAY,8BACnBzC,EAAQ0C,YAAYvE,EAGpB,IAAIwE,GAAY7F,EAAOkD,GACnBxB,EAAY,EACZF,EAAY,CAEb,YAAaL,IAAKA,EAAE2E,QAAQC,QAC3BrE,EAAeP,EAAE2E,QAAQ,GAAGE,MAAQH,EAAIzF,IACxCoB,EAAeL,EAAE2E,QAAQ,GAAGG,MAAQJ,EAAIxF,OAIxCqB,EAAeP,EAAE6E,MAAQH,EAAIzF,IAC7BoB,EAAeL,EAAE8E,MAAQJ,EAAIxF,MAGjCmB,EAAYA,GAAa,EAAIA,EAAY,EACzCE,EAAYA,GAAa,EAAIA,EAAY,CAEzC,IAAIC,GAAY,SAAauB,EAAQgD,YAAc,IAAO,EAAK,IAC3DtE,EAAY,gBAEZ4D,KACA5D,EAAY,aAAgB4D,EAAU,EAAI,OAAUA,EAAU,EAAI,OAItEnE,EAAO0B,aAAa,YAAajB,KAAKC,OACtCV,EAAO0B,aAAa,SAAUvB,GAC9BH,EAAO0B,aAAa,SAAUrB,GAC9BL,EAAO0B,aAAa,aAAcpB,GAClCN,EAAO0B,aAAa,iBAAkBnB,EAGtC,IAAIuE,IACA/F,IAAKsB,EAAY,KACjBrB,KAAMmB,EAAY,KAGtBH,GAAOC,UAAU8E,IAAI,sBACrB/E,EAAO0B,aAAa,QAASjC,EAAaqF,IAC1C9E,EAAOC,UAAUC,OAAO,sBAGxB4E,EAAY,qBAAuBxE,EAAQ,IAAMC,EACjDuE,EAAY,kBAAoBxE,EAAQ,IAAMC,EAC9CuE,EAAY,iBAAmBxE,EAAQ,IAAMC,EAC7CuE,EAAY,gBAAkBxE,EAAQ,IAAMC,EAC5CuE,EAAYrD,UAAYnB,EAAQ,IAAMC,EACtCuE,EAAY9D,QAAU,GAEtB,IAAIH,GAAsB,cAAXf,EAAE5B,KAAuB,KAAO4C,EAAOD,QACtDiE,GAAY,+BAAiCjE,EAAW,KACxDiE,EAAY,4BAAiCjE,EAAW,KACxDiE,EAAY,0BAAiCjE,EAAW,KACxDiE,EAAY,uBAAiCjE,EAAW,KAExDb,EAAO0B,aAAa,QAASjC,EAAaqF,KAG9CtB,KAAM,SAAS1D,EAAG+B,GACdA,EAAUA,GAAWpE,IAIrB,KAAK,GAFDuH,GAAUnD,EAAQoD,uBAAuB,kBAEpCC,EAAI,EAAGC,EAAMH,EAAQN,OAAYS,EAAJD,EAASA,IAC3CrF,EAAaC,EAAG+B,EAASmD,EAAQE,GAGjCpB,KACAjC,EAAQgC,oBAAoB,WAAY/C,EAAO0C,MAC/C3B,EAAQgC,oBAAoB,cAAe/C,EAAO0C,OAGtD3B,EAAQgC,oBAAoB,UAAW/C,EAAO0C,MAC9C3B,EAAQgC,oBAAoB,aAAc/C,EAAO0C,QAQrD4B,GAGAC,MAAO,SAASxD,GAEZ,GAAIyD,GAASzD,EAAQ0D,UAGrB,IAAqC,MAAjCD,EAAOE,QAAQC,gBAAyBH,EAAOrF,UAAU+C,SAAS,gBAAtE,CAKA,GAAI0C,GAAgB1D,SAASqC,cAAc,IAC3CqB,GAAQpB,UAAYzC,EAAQyC,UAAY,uBACxCzC,EAAQyC,UAAY,qBAGpBgB,EAAOK,aAAaD,EAAS7D,GAC7B6D,EAAQnB,YAAY1C,EAGpB,IAAI+D,GAAkB7I,OAAO8I,iBAAiBhE,EAAS,MACnDiE,EAAkBF,EAAaE,MAC/BC,EAAkBH,EAAaG,eAEnCL,GAAQhE,aAAa,QAAS,SAAWoE,EAAQ,eAAiBC,GAClElE,EAAQH,aAAa,QAAS,qCAKlCsE,IAAK,SAASnE,GAEV,GAAIyD,GAASzD,EAAQ0D,UAGrB,IAAqC,MAAjCD,EAAOE,QAAQC,gBAAyBH,EAAOrF,UAAU+C,SAAS,gBAAtE,CAKA,GAAI0C,GAAW1D,SAASqC,cAAc,IACtCiB,GAAOK,aAAaD,EAAS7D,GAC7B6D,EAAQnB,YAAY1C,MA0ExBU,GAMAkC,QAAS,EAETjC,WAAY,SAAS1C,GAEjB,GAAImG,IAAQ,CAMZ,OAJI,0BAA0BxH,KAAKqB,EAAE5B,OAASqE,EAAakC,UACvDwB,GAAQ,GAGLA,GAEXhD,cAAe,SAASnD,GACpB,GAAIoG,GAAQpG,EAAE5B,IAEA,gBAAVgI,EAEA3D,EAAakC,SAAW,EAEjB,2BAA2BhG,KAAKyH,IAEvCnF,WAAW,WACHwB,EAAakC,UACblC,EAAakC,SAAW,IAE7B,MAkQf,OA5IAlH,GAAM4I,KAAO,SAASC,GAClB,GAAIC,GAAOrE,SAASqE,IAEpBD,GAAUA,MAEN,YAAcA,KACdtF,EAAOD,SAAWuF,EAAQvF,UAG1B,SAAWuF,KACXtF,EAAOF,MAAQwF,EAAQxF,OAGvB,mBAAqBwF,KACrBtF,EAAO+B,gBAAkBuD,EAAQvD,iBAGjCiB,IACAuC,EAAKzC,iBAAiB,aAAcd,GAAY,GAChDuD,EAAKzC,iBAAiB,cAAerB,EAAaU,eAAe,GACjEoD,EAAKzC,iBAAiB,WAAYrB,EAAaU,eAAe,IAGlEoD,EAAKzC,iBAAiB,YAAad,GAAY,IASnDvF,EAAM+I,OAAS,SAASC,EAAUC,GAE9BD,EAAWnI,EAAiBmI,GAEG,mBAA3BhI,EAASjB,KAAKkJ,KACdA,EAAUA,EAAQC,KAAK,MAG3BD,EAAUA,EAAU,IAAMA,EAAU,EAIpC,KAAK,GAFD3E,GAAS2D,EAEJN,EAAI,EAAGC,EAAMoB,EAAS7B,OAAYS,EAAJD,EAASA,IAE5CrD,EAAU0E,EAASrB,GACnBM,EAAU3D,EAAQ2D,QAAQC,cAEgB,MAArC,QAAS,OAAOiB,QAAQlB,KACzBJ,EAAWI,GAAS3D,GACpBA,EAAUA,EAAQc,eAG4B,KAA9Cd,EAAQyC,UAAUoC,QAAQ,kBAC1B7E,EAAQyC,WAAa,gBAAkBkC,IASnDjJ,EAAMyC,OAAS,SAASuG,EAAUH,GAC9BG,EAAWnI,EAAiBmI,EAC5B,IAAII,GAAcJ,EAAS7B,MAO3B,IALA0B,EAAmBA,MACnBA,EAAQQ,KAAWR,EAAQQ,MAAQ,EACnCR,EAAQS,SAAWT,EAAQS,UAAY,KAGnCF,EAYA,IAXA,GAAI9E,GAAS2C,EAAKsC,EAAKC,KAAa7B,EAAI,EACpC8B,GACA9I,KAAM,YACNkG,OAAQ,GAER6C,EAAa,SAASC,EAASrF,GAC/B,MAAO,YACHf,EAAO0C,KAAK0D,EAASrF,KAIlB8E,EAAJzB,EAAiBA,IAoBpB,GAnBArD,EAAU0E,EAASrB,GACnBV,EAAM4B,EAAQS,WACVM,EAAGtF,EAAQgD,YAAc,EACzBuC,EAAGvF,EAAQwF,aAAe,GAG9BP,EAAWnI,EAAOkD,GAClBkF,EAAOI,EAAIL,EAAI9H,KAAOwF,EAAI2C,EAC1BJ,EAAOK,EAAIN,EAAI/H,IAAMyF,EAAI4C,EAEzBJ,EAAUpC,MAAQmC,EAAOI,EACzBH,EAAUrC,MAAQoC,EAAOK,EAErB,YAAchB,KACdtF,EAAOD,SAAWuF,EAAQvF,UAG9BC,EAAOsC,KAAK4D,EAAWnF,GAEnBuE,EAAQQ,MAAQ,GAAsB,OAAjBR,EAAQQ,KAAe,CAC5C,GAAIM,IACAhJ,KAAM,UACNkG,OAAQ,EAGZrD,YAAWkG,EAAWC,EAASrF,GAAUuE,EAAQQ,QASjErJ,EAAM+J,KAAO,SAASf,GAClBA,EAAWnI,EAAiBmI,EAM5B,KAAK,GALDW,IACAhJ,KAAM,UACNkG,OAAQ,GAGHc,EAAI,EAAGC,EAAMoB,EAAS7B,OAAYS,EAAJD,EAASA,IAC5CpE,EAAO0C,KAAK0D,EAASX,EAASrB,KAOtC3H,EAAMgK,cAAgB,SAASnB,GAE3B7I,EAAM4I,KAAKC,IAGR7I"} \ No newline at end of file +{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","matches","element","selector","match","document","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getWavesEffectElement","TouchHandler","allowEvent","target","srcElement","parentElement","SVGElement","elementSelector","showEffect","disabled","contains","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","parentNode","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/waves.js b/src/js/waves.js index 77e9ccd..f6b769e 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -526,10 +526,16 @@ TagWrapper[tagName](element); element = element.parentElement; } + + if (element.className.indexOf(classes) === -1) { + element.className += ' '+classes; + } if (element.className.indexOf('waves-effect') === -1) { - element.className += ' waves-effect' + classes; + element.className += ' waves-effect'; } + + } }; From 1280fd29f7c215aafbbf7c00de2fb5c4303d8eb3 Mon Sep 17 00:00:00 2001 From: Alfiana Sibuea Date: Mon, 27 Mar 2017 00:14:10 +0700 Subject: [PATCH 12/16] Replace `parentElement` with `parentNode` when getting waves element #167 --- dist/waves.js | 6 +++--- dist/waves.min.js | 2 +- dist/waves.min.js.map | 2 +- src/js/waves.js | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dist/waves.js b/dist/waves.js index f6b769e..04205da 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -387,12 +387,12 @@ var element = null; var target = e.target || e.srcElement; - while (target.parentElement) { + while (target.parentNode) { if ( (!(target instanceof SVGElement)) && matches(target, Effect.elementSelector)) { element = target; break; } - target = target.parentElement; + target = target.parentNode; } return element; @@ -524,7 +524,7 @@ if (['input', 'img'].indexOf(tagName) !== -1) { TagWrapper[tagName](element); - element = element.parentElement; + element = element.parentNode; } if (element.className.indexOf(classes) === -1) { diff --git a/dist/waves.min.js b/dist/waves.min.js index 999ff42..8c29f52 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -6,5 +6,5 @@ * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=n.call(a);return"[object String]"===b?m(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:p.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(r.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentElement;){if(!(c instanceof SVGElement)&&i(c,p.elementSelector)){b=c;break}c=c.parentElement}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(r.registerEvent(a),"touchstart"===a.type&&p.delay){var c=!1,d=setTimeout(function(){d=null,p.show(a,b)},p.delay),e=function(e){d&&(clearTimeout(d),d=null,p.show(a,b)),c||(c=!0,p.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else p.show(a,b),o&&(b.addEventListener("touchend",p.hide,!1),b.addEventListener("touchcancel",p.hide,!1)),b.addEventListener("mouseup",p.hide,!1),b.addEventListener("mouseleave",p.hide,!1)}}var l=l||{},m=document.querySelectorAll.bind(document),n=Object.prototype.toString,o="ontouchstart"in window,p={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:p.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);o&&(b.removeEventListener("touchend",p.hide),b.removeEventListener("touchcancel",p.hide)),b.removeEventListener("mouseup",p.hide),b.removeEventListener("mouseleave",p.hide)}},q={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},r={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&r.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?r.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){r.touches&&(r.touches-=1)},500)}};return l.init=function(a){var b=document.body;a=a||{},"duration"in a&&(p.duration=a.duration),"delay"in a&&(p.delay=a.delay),"elementSelector"in a&&(p.elementSelector=a.elementSelector),o&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",r.registerEvent,!1),b.addEventListener("touchend",r.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},l.attach=function(a,b){a=e(a),"[object Array]"===n.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(q[d](c),c=c.parentElement),-1===c.className.indexOf(b)&&(c.className+=" "+b),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect")},l.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){p.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(p.duration=b.duration),p.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},l.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)p.hide(b,a[c])},l.displayEffect=function(a){l.init(a)},l}); +!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=n.call(a);return"[object String]"===b?m(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:p.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(r.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentNode;){if(!(c instanceof SVGElement)&&i(c,p.elementSelector)){b=c;break}c=c.parentNode}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(r.registerEvent(a),"touchstart"===a.type&&p.delay){var c=!1,d=setTimeout(function(){d=null,p.show(a,b)},p.delay),e=function(e){d&&(clearTimeout(d),d=null,p.show(a,b)),c||(c=!0,p.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else p.show(a,b),o&&(b.addEventListener("touchend",p.hide,!1),b.addEventListener("touchcancel",p.hide,!1)),b.addEventListener("mouseup",p.hide,!1),b.addEventListener("mouseleave",p.hide,!1)}}var l=l||{},m=document.querySelectorAll.bind(document),n=Object.prototype.toString,o="ontouchstart"in window,p={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:p.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);o&&(b.removeEventListener("touchend",p.hide),b.removeEventListener("touchcancel",p.hide)),b.removeEventListener("mouseup",p.hide),b.removeEventListener("mouseleave",p.hide)}},q={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},r={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&r.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?r.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){r.touches&&(r.touches-=1)},500)}};return l.init=function(a){var b=document.body;a=a||{},"duration"in a&&(p.duration=a.duration),"delay"in a&&(p.delay=a.delay),"elementSelector"in a&&(p.elementSelector=a.elementSelector),o&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",r.registerEvent,!1),b.addEventListener("touchend",r.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},l.attach=function(a,b){a=e(a),"[object Array]"===n.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(q[d](c),c=c.parentNode),-1===c.className.indexOf(b)&&(c.className+=" "+b),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect")},l.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){p.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(p.duration=b.duration),p.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},l.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)p.hide(b,a[c])},l.displayEffect=function(a){l.init(a)},l}); //# sourceMappingURL=waves.min.js.map \ No newline at end of file diff --git a/dist/waves.min.js.map b/dist/waves.min.js.map index d888c5e..e48c998 100644 --- a/dist/waves.min.js.map +++ b/dist/waves.min.js.map @@ -1 +1 @@ -{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","matches","element","selector","match","document","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getWavesEffectElement","TouchHandler","allowEvent","target","srcElement","parentElement","SVGElement","elementSelector","showEffect","disabled","contains","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","parentNode","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","matches","element","selector","match","document","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getWavesEffectElement","TouchHandler","allowEvent","target","srcElement","parentNode","SVGElement","elementSelector","showEffect","disabled","contains","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/waves.js b/src/js/waves.js index f6b769e..04205da 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -387,12 +387,12 @@ var element = null; var target = e.target || e.srcElement; - while (target.parentElement) { + while (target.parentNode) { if ( (!(target instanceof SVGElement)) && matches(target, Effect.elementSelector)) { element = target; break; } - target = target.parentElement; + target = target.parentNode; } return element; @@ -524,7 +524,7 @@ if (['input', 'img'].indexOf(tagName) !== -1) { TagWrapper[tagName](element); - element = element.parentElement; + element = element.parentNode; } if (element.className.indexOf(classes) === -1) { From 53abe8212e4475bf707b8efc34bea5a0653bbe30 Mon Sep 17 00:00:00 2001 From: Alfiana Sibuea Date: Mon, 27 Mar 2017 00:48:44 +0700 Subject: [PATCH 13/16] Add `Waves.destroy()` and `Waves.detach()` functionality #159 --- dist/waves.js | 54 ++++++++++++++++++++++++++++++++++++------- dist/waves.min.js | 2 +- dist/waves.min.js.map | 2 +- src/js/waves.js | 54 ++++++++++++++++++++++++++++++++++++------- 4 files changed, 94 insertions(+), 18 deletions(-) diff --git a/dist/waves.js b/dist/waves.js index 04205da..bf6c0ca 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -498,15 +498,29 @@ body.addEventListener('mousedown', showEffect, false); }; + + Waves.destroy = function() { + + var body = document.body; + + if (isTouchAvailable) { + body.removeEventListener('touchstart', showEffect, false); + body.removeEventListener('touchcancel', TouchHandler.registerEvent, false); + body.removeEventListener('touchend', TouchHandler.registerEvent, false); + } + + body.removeEventListener('mousedown', showEffect, false); + + }; /** - * Attach Waves to dynamically loaded inputs, or add .waves-effect and other + * Toggle (Attach/Detach) Waves to dynamically loaded inputs, or add .waves-effect and other * waves classes to a set of elements. Set drag to true if the ripple mouseover * or skimming effect should be applied to the elements. */ - Waves.attach = function(elements, classes) { - + function toggleWaves(elements, classes, type) { + elements = getWavesElements(elements); if (toString.call(classes) === '[object Array]') { @@ -527,16 +541,40 @@ element = element.parentNode; } - if (element.className.indexOf(classes) === -1) { - element.className += ' '+classes; - } + if (type === 'attach') { + + if (element.className.indexOf(classes) === -1) { + element.className += ' '+classes; + } - if (element.className.indexOf('waves-effect') === -1) { - element.className += ' waves-effect'; + if (!element.classList.contains('waves-effect')) { + element.classList.add('waves-effect'); + } + } + if (type === 'detach') { + + if (element.className.indexOf(classes) !== -1) { + element.className = element.className.replace(new RegExp(classes, 'g'), ''); + } + + if (element.classList.contains('waves-effect')) { + element.classList.remove('waves-effect'); + } + + } } + + } + + Waves.attach = function(elements, classes) { + return toggleWaves(elements, classes, 'attach'); + }; + + Waves.detach = function(elements, classes) { + return toggleWaves(elements, classes, 'detach'); }; diff --git a/dist/waves.min.js b/dist/waves.min.js index 8c29f52..1f78bed 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -6,5 +6,5 @@ * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=n.call(a);return"[object String]"===b?m(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:p.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(r.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentNode;){if(!(c instanceof SVGElement)&&i(c,p.elementSelector)){b=c;break}c=c.parentNode}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(r.registerEvent(a),"touchstart"===a.type&&p.delay){var c=!1,d=setTimeout(function(){d=null,p.show(a,b)},p.delay),e=function(e){d&&(clearTimeout(d),d=null,p.show(a,b)),c||(c=!0,p.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else p.show(a,b),o&&(b.addEventListener("touchend",p.hide,!1),b.addEventListener("touchcancel",p.hide,!1)),b.addEventListener("mouseup",p.hide,!1),b.addEventListener("mouseleave",p.hide,!1)}}var l=l||{},m=document.querySelectorAll.bind(document),n=Object.prototype.toString,o="ontouchstart"in window,p={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:p.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);o&&(b.removeEventListener("touchend",p.hide),b.removeEventListener("touchcancel",p.hide)),b.removeEventListener("mouseup",p.hide),b.removeEventListener("mouseleave",p.hide)}},q={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},r={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&r.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?r.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){r.touches&&(r.touches-=1)},500)}};return l.init=function(a){var b=document.body;a=a||{},"duration"in a&&(p.duration=a.duration),"delay"in a&&(p.delay=a.delay),"elementSelector"in a&&(p.elementSelector=a.elementSelector),o&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",r.registerEvent,!1),b.addEventListener("touchend",r.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},l.attach=function(a,b){a=e(a),"[object Array]"===n.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(q[d](c),c=c.parentNode),-1===c.className.indexOf(b)&&(c.className+=" "+b),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect")},l.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){p.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(p.duration=b.duration),p.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},l.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)p.hide(b,a[c])},l.displayEffect=function(a){l.init(a)},l}); +!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=o.call(a);return"[object String]"===b?n(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:q.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(s.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentNode;){if(!(c instanceof SVGElement)&&i(c,q.elementSelector)){b=c;break}c=c.parentNode}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(s.registerEvent(a),"touchstart"===a.type&&q.delay){var c=!1,d=setTimeout(function(){d=null,q.show(a,b)},q.delay),e=function(e){d&&(clearTimeout(d),d=null,q.show(a,b)),c||(c=!0,q.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else q.show(a,b),p&&(b.addEventListener("touchend",q.hide,!1),b.addEventListener("touchcancel",q.hide,!1)),b.addEventListener("mouseup",q.hide,!1),b.addEventListener("mouseleave",q.hide,!1)}}function l(a,b,c){a=e(a),"[object Array]"===o.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var d,f,g=0,h=a.length;h>g;g++)d=a[g],f=d.tagName.toLowerCase(),-1!==["input","img"].indexOf(f)&&(r[f](d),d=d.parentNode),"attach"===c&&(-1===d.className.indexOf(b)&&(d.className+=" "+b),d.classList.contains("waves-effect")||d.classList.add("waves-effect")),"detach"===c&&(-1!==d.className.indexOf(b)&&(d.className=d.className.replace(new RegExp(b,"g"),"")),d.classList.contains("waves-effect")&&d.classList.remove("waves-effect"))}var m=m||{},n=document.querySelectorAll.bind(document),o=Object.prototype.toString,p="ontouchstart"in window,q={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:q.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);p&&(b.removeEventListener("touchend",q.hide),b.removeEventListener("touchcancel",q.hide)),b.removeEventListener("mouseup",q.hide),b.removeEventListener("mouseleave",q.hide)}},r={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},s={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&s.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?s.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){s.touches&&(s.touches-=1)},500)}};return m.init=function(a){var b=document.body;a=a||{},"duration"in a&&(q.duration=a.duration),"delay"in a&&(q.delay=a.delay),"elementSelector"in a&&(q.elementSelector=a.elementSelector),p&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",s.registerEvent,!1),b.addEventListener("touchend",s.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},m.destroy=function(){var a=document.body;p&&(a.removeEventListener("touchstart",k,!1),a.removeEventListener("touchcancel",s.registerEvent,!1),a.removeEventListener("touchend",s.registerEvent,!1)),a.removeEventListener("mousedown",k,!1)},m.attach=function(a,b){return l(a,b,"attach")},m.detach=function(a,b){return l(a,b,"detach")},m.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){q.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(q.duration=b.duration),q.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},m.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)q.hide(b,a[c])},m.displayEffect=function(a){m.init(a)},m}); //# sourceMappingURL=waves.min.js.map \ No newline at end of file diff --git a/dist/waves.min.js.map b/dist/waves.min.js.map index e48c998..d4954fc 100644 --- a/dist/waves.min.js.map +++ b/dist/waves.min.js.map @@ -1 +1 @@ -{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","matches","element","selector","match","document","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getWavesEffectElement","TouchHandler","allowEvent","target","srcElement","parentNode","SVGElement","elementSelector","showEffect","disabled","contains","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","matches","element","selector","match","document","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getWavesEffectElement","TouchHandler","allowEvent","target","srcElement","parentNode","SVGElement","elementSelector","showEffect","disabled","contains","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","removeListeners","touchMove","moveEvent","addEventListener","removeEventListener","isTouchAvailable","toggleWaves","elements","classes","join","tagName","i","len","length","toLowerCase","indexOf","TagWrapper","className","add","replace","RegExp","querySelectorAll","bind","Object","prototype","velocity","button","createElement","appendChild","pos","touches","pageY","pageX","clientWidth","rippleStyle","ripples","getElementsByClassName","input","parent","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","destroy","attach","detach","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/waves.js b/src/js/waves.js index 04205da..bf6c0ca 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -498,15 +498,29 @@ body.addEventListener('mousedown', showEffect, false); }; + + Waves.destroy = function() { + + var body = document.body; + + if (isTouchAvailable) { + body.removeEventListener('touchstart', showEffect, false); + body.removeEventListener('touchcancel', TouchHandler.registerEvent, false); + body.removeEventListener('touchend', TouchHandler.registerEvent, false); + } + + body.removeEventListener('mousedown', showEffect, false); + + }; /** - * Attach Waves to dynamically loaded inputs, or add .waves-effect and other + * Toggle (Attach/Detach) Waves to dynamically loaded inputs, or add .waves-effect and other * waves classes to a set of elements. Set drag to true if the ripple mouseover * or skimming effect should be applied to the elements. */ - Waves.attach = function(elements, classes) { - + function toggleWaves(elements, classes, type) { + elements = getWavesElements(elements); if (toString.call(classes) === '[object Array]') { @@ -527,16 +541,40 @@ element = element.parentNode; } - if (element.className.indexOf(classes) === -1) { - element.className += ' '+classes; - } + if (type === 'attach') { + + if (element.className.indexOf(classes) === -1) { + element.className += ' '+classes; + } - if (element.className.indexOf('waves-effect') === -1) { - element.className += ' waves-effect'; + if (!element.classList.contains('waves-effect')) { + element.classList.add('waves-effect'); + } + } + if (type === 'detach') { + + if (element.className.indexOf(classes) !== -1) { + element.className = element.className.replace(new RegExp(classes, 'g'), ''); + } + + if (element.classList.contains('waves-effect')) { + element.classList.remove('waves-effect'); + } + + } } + + } + + Waves.attach = function(elements, classes) { + return toggleWaves(elements, classes, 'attach'); + }; + + Waves.detach = function(elements, classes) { + return toggleWaves(elements, classes, 'detach'); }; From 2379305c66cf83ab48b6aa372c87dffaeb90eaf1 Mon Sep 17 00:00:00 2001 From: Klas Lundberg Date: Tue, 5 Sep 2017 15:45:04 +0200 Subject: [PATCH 14/16] Fixed input button wrapper for transition compatibility - Disables transitions during style modifications - Fixes transparent button colors - Changed img wrapper to span --- dist/waves.css | 2 +- dist/waves.js | 27 +++++++++++++++++++-------- dist/waves.min.css | 2 +- dist/waves.min.js | 2 +- dist/waves.min.js.map | 2 +- src/js/waves.js | 24 +++++++++++++++++++----- 6 files changed, 42 insertions(+), 17 deletions(-) diff --git a/dist/waves.css b/dist/waves.css index a2544d3..638b668 100644 --- a/dist/waves.css +++ b/dist/waves.css @@ -96,7 +96,7 @@ } .waves-button-input { margin: 0; - padding: 0.85em 1.1em; + padding: 0em; } .waves-input-wrapper { border-radius: 0.2em; diff --git a/dist/waves.js b/dist/waves.js index bf6c0ca..82bc849 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -214,14 +214,16 @@ var parent = element.parentNode; // If input already have parent just pass through - if (parent.tagName.toLowerCase() === 'i' && parent.classList.contains('waves-effect')) { + if (parent.tagName.toLowerCase() === 'span' && parent.classList.contains('waves-effect')) { return; } // Put element class and style to the specified parent - var wrapper = document.createElement('i'); - wrapper.className = element.className + ' waves-input-wrapper'; - element.className = 'waves-button-input'; + var wrapper = document.createElement('span'); + + // Disable transitions while modifying styles + wrapper.style.transition = 'none'; + element.style.transition = 'none'; // Put element as child parent.replaceChild(wrapper, element); @@ -232,9 +234,18 @@ var color = elementStyle.color; var backgroundColor = elementStyle.backgroundColor; - wrapper.setAttribute('style', 'color:' + color + ';background:' + backgroundColor); - element.setAttribute('style', 'background-color:rgba(0,0,0,0);'); + wrapper.style.color = color; + wrapper.style.background = backgroundColor; + element.style.background = 'transparent'; + wrapper.className = element.className + ' waves-input-wrapper'; + element.className = 'waves-button-input'; + + // Clear transition overrride + setTimeout(function() { + wrapper.style.transition = ''; + element.style.transition = ''; + }, 0); }, // Wrap tag so it can perform the effect @@ -243,12 +254,12 @@ var parent = element.parentNode; // If input already have parent just pass through - if (parent.tagName.toLowerCase() === 'i' && parent.classList.contains('waves-effect')) { + if (parent.tagName.toLowerCase() === 'span' && parent.classList.contains('waves-effect')) { return; } // Put element as child - var wrapper = document.createElement('i'); + var wrapper = document.createElement('span'); parent.replaceChild(wrapper, element); wrapper.appendChild(element); diff --git a/dist/waves.min.css b/dist/waves.min.css index 40c4387..cb9f5c1 100644 --- a/dist/waves.min.css +++ b/dist/waves.min.css @@ -5,4 +5,4 @@ * Copyright 2014-2017 Alfiana E. Sibuea and other contributors * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE - */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button:hover,.waves-button:visited,.waves-button-input{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:transparent;font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all 300ms;-moz-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} \ No newline at end of file + */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button:hover,.waves-button:visited,.waves-button-input{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:transparent;font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:0}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all 300ms;-moz-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} \ No newline at end of file diff --git a/dist/waves.min.js b/dist/waves.min.js index 1f78bed..3417dac 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -6,5 +6,5 @@ * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=o.call(a);return"[object String]"===b?n(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:q.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){var c=document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector;return c.call(a,b)}function j(a){if(s.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;c.parentNode;){if(!(c instanceof SVGElement)&&i(c,q.elementSelector)){b=c;break}c=c.parentNode}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(s.registerEvent(a),"touchstart"===a.type&&q.delay){var c=!1,d=setTimeout(function(){d=null,q.show(a,b)},q.delay),e=function(e){d&&(clearTimeout(d),d=null,q.show(a,b)),c||(c=!0,q.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else q.show(a,b),p&&(b.addEventListener("touchend",q.hide,!1),b.addEventListener("touchcancel",q.hide,!1)),b.addEventListener("mouseup",q.hide,!1),b.addEventListener("mouseleave",q.hide,!1)}}function l(a,b,c){a=e(a),"[object Array]"===o.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var d,f,g=0,h=a.length;h>g;g++)d=a[g],f=d.tagName.toLowerCase(),-1!==["input","img"].indexOf(f)&&(r[f](d),d=d.parentNode),"attach"===c&&(-1===d.className.indexOf(b)&&(d.className+=" "+b),d.classList.contains("waves-effect")||d.classList.add("waves-effect")),"detach"===c&&(-1!==d.className.indexOf(b)&&(d.className=d.className.replace(new RegExp(b,"g"),"")),d.classList.contains("waves-effect")&&d.classList.remove("waves-effect"))}var m=m||{},n=document.querySelectorAll.bind(document),o=Object.prototype.toString,p="ontouchstart"in window,q={duration:750,delay:200,elementSelector:".waves-effect",show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:q.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d]);p&&(b.removeEventListener("touchend",q.hide),b.removeEventListener("touchcancel",q.hide)),b.removeEventListener("mouseup",q.hide),b.removeEventListener("mouseleave",q.hide)}},r={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},s={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&s.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?s.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){s.touches&&(s.touches-=1)},500)}};return m.init=function(a){var b=document.body;a=a||{},"duration"in a&&(q.duration=a.duration),"delay"in a&&(q.delay=a.delay),"elementSelector"in a&&(q.elementSelector=a.elementSelector),p&&(b.addEventListener("touchstart",k,!1),b.addEventListener("touchcancel",s.registerEvent,!1),b.addEventListener("touchend",s.registerEvent,!1)),b.addEventListener("mousedown",k,!1)},m.destroy=function(){var a=document.body;p&&(a.removeEventListener("touchstart",k,!1),a.removeEventListener("touchcancel",s.registerEvent,!1),a.removeEventListener("touchend",s.registerEvent,!1)),a.removeEventListener("mousedown",k,!1)},m.attach=function(a,b){return l(a,b,"attach")},m.detach=function(a,b){return l(a,b,"detach")},m.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){q.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,"duration"in b&&(q.duration=b.duration),q.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},m.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)q.hide(b,a[c])},m.displayEffect=function(a){m.init(a)},m}); +!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=o.call(a);return"[object String]"===b?n(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,void 0!==a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;j<0&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:q.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){return(document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector).call(a,b)}function j(a){if(!1===s.allowEvent(a))return null;for(var b=null,c=a.target||a.srcElement;c.parentNode;){if(!(c instanceof SVGElement)&&i(c,q.elementSelector)){b=c;break}c=c.parentNode}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(s.registerEvent(a),"touchstart"===a.type&&q.delay){var c=!1,d=setTimeout(function(){d=null,q.show(a,b)},q.delay),e=function(e){d&&(clearTimeout(d),d=null,q.show(a,b)),c||(c=!0,q.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else q.show(a,b),p&&(b.addEventListener("touchend",q.hide,!1),b.addEventListener("touchcancel",q.hide,!1)),b.addEventListener("mouseup",q.hide,!1),b.addEventListener("mouseleave",q.hide,!1)}}function l(a,b,c){a=e(a),"[object Array]"===o.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var d,f,g=0,h=a.length;g=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:q.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;d=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},m.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;c tag so it can perform the effect @@ -240,12 +254,12 @@ var parent = element.parentNode; // If input already have parent just pass through - if (parent.tagName.toLowerCase() === 'i' && parent.classList.contains('waves-effect')) { + if (parent.tagName.toLowerCase() === 'span' && parent.classList.contains('waves-effect')) { return; } // Put element as child - var wrapper = document.createElement('i'); + var wrapper = document.createElement('span'); parent.replaceChild(wrapper, element); wrapper.appendChild(element); From 6db314443e3509289204c080283854259dd04845 Mon Sep 17 00:00:00 2001 From: Luiz Gustavo Freire Gama Date: Tue, 11 Jun 2019 01:25:51 -0300 Subject: [PATCH 15/16] perf(init): prevent unnecessary listeners --- src/js/waves.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/js/waves.js b/src/js/waves.js index 82bc849..0ae10b3 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -501,13 +501,16 @@ Effect.elementSelector = options.elementSelector; } - if (isTouchAvailable) { - body.addEventListener('touchstart', showEffect, false); - body.addEventListener('touchcancel', TouchHandler.registerEvent, false); - body.addEventListener('touchend', TouchHandler.registerEvent, false); - } + if (!window.WavesReady) { + window.WavesReady = true + if (isTouchAvailable) { + body.addEventListener('touchstart', showEffect, false); + body.addEventListener('touchcancel', TouchHandler.registerEvent, false); + body.addEventListener('touchend', TouchHandler.registerEvent, false); + } - body.addEventListener('mousedown', showEffect, false); + body.addEventListener('mousedown', showEffect, false); + } }; Waves.destroy = function() { @@ -521,6 +524,7 @@ } body.removeEventListener('mousedown', showEffect, false); + delete window.WavesReady; }; From d44187e5ef7a3433a868030a873f154471fc2ecc Mon Sep 17 00:00:00 2001 From: Luiz Gustavo Freire Gama Date: Tue, 11 Jun 2019 01:45:00 -0300 Subject: [PATCH 16/16] chore(jshint): code fixes --- Gruntfile.js | 3 +- dist/waves.js | 16 +- dist/waves.min.js | 2 +- dist/waves.min.js.map | 2 +- package-lock.json | 2570 +++++++++++++++++++++++++++++++++++++++++ src/js/waves.js | 2 +- src/sass/waves.sass | 1 - 7 files changed, 2585 insertions(+), 11 deletions(-) create mode 100644 package-lock.json diff --git a/Gruntfile.js b/Gruntfile.js index 06cdfd1..b30cc4d 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -46,7 +46,8 @@ module.exports = function(grunt) { options: { globals: { console: true - } + }, + reporterOutput: "" } }, diff --git a/dist/waves.js b/dist/waves.js index 82bc849..ee3bbe8 100644 --- a/dist/waves.js +++ b/dist/waves.js @@ -501,13 +501,16 @@ Effect.elementSelector = options.elementSelector; } - if (isTouchAvailable) { - body.addEventListener('touchstart', showEffect, false); - body.addEventListener('touchcancel', TouchHandler.registerEvent, false); - body.addEventListener('touchend', TouchHandler.registerEvent, false); - } + if (!window.WavesReady) { + window.WavesReady = true; + if (isTouchAvailable) { + body.addEventListener('touchstart', showEffect, false); + body.addEventListener('touchcancel', TouchHandler.registerEvent, false); + body.addEventListener('touchend', TouchHandler.registerEvent, false); + } - body.addEventListener('mousedown', showEffect, false); + body.addEventListener('mousedown', showEffect, false); + } }; Waves.destroy = function() { @@ -521,6 +524,7 @@ } body.removeEventListener('mousedown', showEffect, false); + delete window.WavesReady; }; diff --git a/dist/waves.min.js b/dist/waves.min.js index 3417dac..077a940 100644 --- a/dist/waves.min.js +++ b/dist/waves.min.js @@ -6,5 +6,5 @@ * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=o.call(a);return"[object String]"===b?n(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,void 0!==a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;j<0&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:q.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){return(document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector).call(a,b)}function j(a){if(!1===s.allowEvent(a))return null;for(var b=null,c=a.target||a.srcElement;c.parentNode;){if(!(c instanceof SVGElement)&&i(c,q.elementSelector)){b=c;break}c=c.parentNode}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(s.registerEvent(a),"touchstart"===a.type&&q.delay){var c=!1,d=setTimeout(function(){d=null,q.show(a,b)},q.delay),e=function(e){d&&(clearTimeout(d),d=null,q.show(a,b)),c||(c=!0,q.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else q.show(a,b),p&&(b.addEventListener("touchend",q.hide,!1),b.addEventListener("touchcancel",q.hide,!1)),b.addEventListener("mouseup",q.hide,!1),b.addEventListener("mouseleave",q.hide,!1)}}function l(a,b,c){a=e(a),"[object Array]"===o.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var d,f,g=0,h=a.length;g=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:q.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;d=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},m.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;c0}function e(a){var b=o.call(a);return"[object String]"===b?n(a):c(a)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,void 0!==a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;j<0&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:q.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a,b){return(document.documentElement.matches||document.documentElement.matchesSelector||document.documentElement.webkitMatchesSelector||document.documentElement.mozMatchesSelector||document.documentElement.msMatchesSelector||document.documentElement.oMatchesSelector).call(a,b)}function j(a){if(!1===s.allowEvent(a))return null;for(var b=null,c=a.target||a.srcElement;c.parentNode;){if(!(c instanceof SVGElement)&&i(c,q.elementSelector)){b=c;break}c=c.parentNode}return b}function k(a){var b=j(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(s.registerEvent(a),"touchstart"===a.type&&q.delay){var c=!1,d=setTimeout(function(){d=null,q.show(a,b)},q.delay),e=function(e){d&&(clearTimeout(d),d=null,q.show(a,b)),c||(c=!0,q.hide(e,b)),g()},f=function(a){d&&(clearTimeout(d),d=null),e(a),g()};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1);var g=function(){b.removeEventListener("touchmove",f),b.removeEventListener("touchend",e),b.removeEventListener("touchcancel",e)}}else q.show(a,b),p&&(b.addEventListener("touchend",q.hide,!1),b.addEventListener("touchcancel",q.hide,!1)),b.addEventListener("mouseup",q.hide,!1),b.addEventListener("mouseleave",q.hide,!1)}}function l(a,b,c){a=e(a),"[object Array]"===o.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var d,f,g=0,h=a.length;g=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:q.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;d=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},m.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;c