react-awesome-slider icon indicating copy to clipboard operation
react-awesome-slider copied to clipboard

Programmatic sliding

Open beautyfree opened this issue 5 years ago • 3 comments

Can i slide content using some api?

beautyfree avatar Nov 19 '19 12:11 beautyfree

Hey @beautyfree. Can you provide an example?

rcaferati avatar Nov 24 '19 01:11 rcaferati

like; sliding with arrow keys...

sfatihk avatar Jul 03 '20 14:07 sfatihk

Please provide sliding when I am fetching api , when I am fetching it and using <AwesomeSlider> it is showing all images in list format. ATTACHING CODE

import PropTypes from "prop-types"; import React, { Fragment, useState } from "react"; import { Link } from "react-router-dom"; import { useToasts } from "react-toast-notifications"; import { connect } from "react-redux"; // import { getDiscountPrice } from "../../helpers/product"; import ProductModal from "./ProductModal"; import { setProductID } from "../../redux/actions/productActions"; import AwesomeSlider from "react-awesome-slider"; import withAutoplay from "react-awesome-slider/dist/autoplay";

const AutoplaySlider = withAutoplay(AwesomeSlider);

const ProductGridSingle = ({ product, // currency, addToCart, // addToWishlist, // addToCompare, cartData, // wishlistItem, // compareItem, sliderClassName, spaceBottomClass, colorClass, titlePriceClass, defaultStore, setProductID, userData, }) => { const [modalShow, setModalShow] = useState(false); const { addToast } = useToasts();

// const discountedPrice = getDiscountPrice(product.price, product.discount); const finalProductPrice = product.originalPrice; const finalDiscountedPrice = product.finalPrice; const onClickProductDetails = (id) => { setProductID(id); }; return ( <Fragment> <AwesomeSlider> <div className={col-xl-3 col-md-6 col-lg-4 col-sm-6 ${ sliderClassName ? sliderClassName : "" }} > <div className={product-wrap-2 ${ spaceBottomClass ? spaceBottomClass : "" } ${colorClass ? colorClass : ""} } > <div className="product-img"> <Link to={ process.env.PUBLIC_URL + "/product/" + product.description.friendlyUrl } onClick={() => onClickProductDetails(product.id)} > {product.images && product.images.length > 0} </Link>

          {/* {
          product.discount || product.new ? (
            <div className="product-img-badges">
              {product.discount ? (
                <span className="pink">-{product.discount}%</span>
              ) : ("")}
              {product.new ? <span className="purple">New</span> : ""}
            </div>
          ) : ("")
        } */}

          <div className="product-action-2">
            {/* {product.affiliateLink ? (
            <a
              href={product.affiliateLink}
              rel="noopener noreferrer"
              target="_blank"
              title="Buy now"
            >
              {" "}
              <i className="fa fa-shopping-cart"></i>{" "}
            </a>
          ) : product.variation && product.variation.length >= 1 ? (
            <Link
              to={`${process.env.PUBLIC_URL}/product/${product.id}`}
              title="Select options"
            >
              <i className="fa fa-cog"></i>
            </Link>
          ) : product.stock && product.stock > 0 ? ( */}
            <Link
              to={`product/${product.description.friendlyUrl}`}
              onClick={() => onClickProductDetails(product.id)}
              title="Select options"
            >
              <i className="fa fa-cog"></i>
            </Link>
            {product.available &&
              product.canBePurchased &&
              product.visible &&
              product.quantity > 0 && (
                <button
                  onClick={() =>
                    addToCart(
                      product,
                      addToast,
                      cartData,
                      1,
                      defaultStore,
                      userData,
                    )
                  }
                  className="active"
                  // disabled={cartItem !== undefined && cartItem.quantity > 0}
                  title="Add to cart"
                >
                  <i className="fa fa-shopping-cart"></i>{" "}
                </button>
              )}

            {/* ) : (
                  <button disabled className="active" title="Out of stock">
                    <i className="fa fa-shopping-cart"></i>
                  </button>
                )} */}

            <button onClick={() => setModalShow(true)} title="Quick View">
              <i className="fa fa-eye"></i>
            </button>

            {/* <button
            className={compareItem !== undefined ? "active" : ""}
            disabled={compareItem !== undefined}
            title={
              compareItem !== undefined
                ? "Added to compare"
                : "Add to compare"
            }
            onClick={() => addToCompare(product, addToast)}
          >
            <i className="fa fa-retweet"></i>
          </button> */}
          </div>
        </div>
        <div className="product-content-2">
          <div
            className={`title-price-wrap-2 ${
              titlePriceClass ? titlePriceClass : ""
            }`}
          >
            <h3>
              <Link
                to={
                  process.env.PUBLIC_URL +
                  "/product/" +
                  product.description.friendlyUrl
                }
                onClick={() => onClickProductDetails(product.id)}
              >
                {product.description.name}
              </Link>
            </h3>
            <div className="price-2">
              {product.discounted ? (
                <Fragment>
                  <span>{finalDiscountedPrice}</span>{" "}
                  <span className="old">{finalProductPrice}</span>
                </Fragment>
              ) : (
                <span>{finalProductPrice} </span>
              )}
            </div>
          </div>
          {/* <div className="pro-wishlist-2">
          <button
            className={wishlistItem !== undefined ? "active" : ""}
            disabled={wishlistItem !== undefined}
            title={
              wishlistItem !== undefined
                ? "Added to wishlist"
                : "Add to wishlist"
            }
            onClick={() => addToWishlist(product, addToast)}
          >
            <i className="fa fa-heart-o" />
          </button>
        </div> */}
        </div>
      </div>
    </div>
    {/* product modal */}
  </AwesomeSlider>
  <ProductModal
    show={modalShow}
    onHide={() => setModalShow(false)}
    product={product}
    defaultStore={defaultStore}
    // currency={currency}
    // discountedprice={discountedPrice}
    finalproductprice={finalProductPrice}
    finaldiscountedprice={finalDiscountedPrice}
    // cartitem={cartItem}
    // wishlistitem={wishlistItem}
    // compareitem={compareItem}
    addtocart={addToCart}
    cartData={cartData}
    userData={userData}
    // addtocompare={addToCompare}
    addtoast={addToast}
  />
</Fragment>

); };

ProductGridSingle.propTypes = { addToCart: PropTypes.func, // addToCompare: PropTypes.func, // addToWishlist: PropTypes.func, // compareItem: PropTypes.object, // currency: PropTypes.object, product: PropTypes.object, sliderClassName: PropTypes.string, spaceBottomClass: PropTypes.string, colorClass: PropTypes.string, titlePriceClass: PropTypes.string, // wishlistItem: PropTypes.object };

const mapStateToProps = (state) => { return { defaultStore: state.merchantData.defaultStore, }; }; const mapDispatchToProps = (dispatch) => { return { setProductID: (value) => { dispatch(setProductID(value)); }, }; }; export default connect(mapStateToProps, mapDispatchToProps)(ProductGridSingle);

ujjwal-shrivastava avatar Mar 15 '22 05:03 ujjwal-shrivastava