Sha256: 62ffff8d8fa62d7a6c68db8901646f957583a4f113edfc89ec06d3b2e3130ed9
Contents?: true
Size: 1.35 KB
Versions: 8
Compression:
Stored size: 1.35 KB
Contents
var React = require('react'), CssEvent = require('./utils/css-event.js'), Dom = require('./utils/dom.js'), Classable = require('../../../../node_modules/material-ui/src/js/mixins/classable'); var Ripple = React.createClass({ mixins: [Classable], render: function() { var classes = this.getClasses('mui-ripple'); return ( <div className={classes} /> ); }, animate: function(e, callback) { var el = this.getDOMNode(), offset = Dom.offset(el.parentNode), pageX = e.pageX == undefined ? e.nativeEvent.pageX : e.pageX, pageY = e.pageY == undefined ? e.nativeEvent.pageY : e.pageY, x = pageX - offset.left, y = pageY - offset.top; this._animateRipple(el, x, y, callback); }, animateFromCenter: function(callback) { var el = this.getDOMNode(), x = el.parentNode.offsetWidth / 2, y = el.parentNode.offsetHeight / 2; this._animateRipple(el, x, y, callback); }, _animateRipple: function(el, x, y, callback) { el.style.transition = 'none'; el.style.top = y + 'px'; el.style.left = x + 'px'; Dom.addClass(el, 'mui-is-visible'); CssEvent.onAnimationEnd(el, function() { Dom.removeClass(el, 'mui-is-visible'); if (callback) callback(); }); } }); module.exports = Ripple;
Version data entries
8 entries across 8 versions & 1 rubygems