react-mmmt-swiper
Version:
Swiper, as a React component
1 lines • 1.24 kB
JavaScript
;!function(e,i){"undefined"!=typeof module&&module.exports?module.exports=i(require("react/addons"),require("swiper")):e.ReactSwiper=i(e.React,e.Swiper)}(this,function(e,i){var t={container:{},wrapper:{alignItems:"center"},child:{}},o=e.createClass({propTypes:{simulateTouch:e.PropTypes.bool,initialSlide:e.PropTypes.number,preloadImages:e.PropTypes.bool,lazyLoading:e.PropTypes.bool,lazyLoadingInPrevNext:e.PropTypes.bool,lazyLoadingOnTransitionStart:e.PropTypes.bool},componentDidMount:function(){if(this.isMounted()){this.swiper=i(this.getDOMNode(),this.props);var e=this.props.initialSlide;e&&this.swiper.on("imagesReady",function(){this.swiper.slideTo(e)}.bind(this))}},componentDidUpdate:function(){},componentWillUnmount:function(){this.swiper.destroy(),delete this.swiper},shouldComponentUpdate:function(e){return"undefined"!=typeof this.props.shouldUpdate&&this.props.shouldUpdate(e)},render:function(){return e.createElement("div",e.__spread({},this.props,{style:t.container,className:"swiper-container"}),e.createElement("div",{style:t.wrapper,className:"swiper-wrapper"},e.Children.map(this.props.children,function(i){return e.addons.cloneWithProps(i,{style:t.child,className:"swiper-slide"})})))}});return o});