From d54ba58bf1843c5783a48c3fbc318e5853a5a0b8 Mon Sep 17 00:00:00 2001 From: Sojin Date: Tue, 2 Mar 2021 12:48:36 +0530 Subject: [PATCH 1/2] select default item prop --- README.md | 1 + src/CoverFlow/Container/Container.js | 2 +- src/CoverFlow/CoverFlow.js | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a9cf3fa..a1c895f 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ const imagesArr = [ * **border** - a css border property. The default is 'none'. You can assign any valid css border. * **boxShadow** - a css box-shadow property. The default is 'none'. You can assign any valid css box-shadow. * **handleSelect** - you can pass a callback function. The function has an index parameter. +* **defaultSelectedItem** - select an image, default is middle image. ```jsx {alert(index);}} imagesArr={imagesArr} /> ``` diff --git a/src/CoverFlow/Container/Container.js b/src/CoverFlow/Container/Container.js index 52a6acc..324b40e 100644 --- a/src/CoverFlow/Container/Container.js +++ b/src/CoverFlow/Container/Container.js @@ -14,7 +14,7 @@ class Container extends React.Component { this.calcIndex = this.calcIndex.bind(this); this.calcItemDimensions = this.calcItemDimensions.bind(this); this.calcItemsAmountToRender = this.calcItemsAmountToRender.bind(this); - let index = this.calcIndex(); + let index = this.props.defaultSelectedItem ? this.props.defaultSelectedItem : this.calcIndex(); this.state = { selectedIndex: index, prevIndex: index, diff --git a/src/CoverFlow/CoverFlow.js b/src/CoverFlow/CoverFlow.js index bc837ea..3c08fbf 100644 --- a/src/CoverFlow/CoverFlow.js +++ b/src/CoverFlow/CoverFlow.js @@ -53,7 +53,8 @@ class CoverFlow extends React.Component { background={this.props.background} border={this.props.border} boxShadow={this.props.boxShadow} - direction={this.props.direction} />; + direction={this.props.direction} + defaultSelectedItem={this.props.defaultSelectedItem} />; } } From 44bbf7c40bcf1d3277c0f712d085e427d8c56b1f Mon Sep 17 00:00:00 2001 From: Sojin Date: Tue, 2 Mar 2021 13:45:53 +0530 Subject: [PATCH 2/2] set props for defaultselectedItem and readme --- README.md | 2 +- src/CoverFlow/Container/Container.js | 5 +++-- src/CoverFlow/CoverFlow.js | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a1c895f..6bfceb2 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ const imagesArr = [ * **border** - a css border property. The default is 'none'. You can assign any valid css border. * **boxShadow** - a css box-shadow property. The default is 'none'. You can assign any valid css box-shadow. * **handleSelect** - you can pass a callback function. The function has an index parameter. -* **defaultSelectedItem** - select an image, default is middle image. +* **defaultSelectedItem** - select an image by index, default is middle image. ```jsx {alert(index);}} imagesArr={imagesArr} /> ``` diff --git a/src/CoverFlow/Container/Container.js b/src/CoverFlow/Container/Container.js index 324b40e..eaf9f89 100644 --- a/src/CoverFlow/Container/Container.js +++ b/src/CoverFlow/Container/Container.js @@ -14,7 +14,7 @@ class Container extends React.Component { this.calcIndex = this.calcIndex.bind(this); this.calcItemDimensions = this.calcItemDimensions.bind(this); this.calcItemsAmountToRender = this.calcItemsAmountToRender.bind(this); - let index = this.props.defaultSelectedItem ? this.props.defaultSelectedItem : this.calcIndex(); + let index = this.props.defaultSelectedItem || this.props.defaultSelectedItem == 0 ? this.props.defaultSelectedItem : this.calcIndex(); this.state = { selectedIndex: index, prevIndex: index, @@ -205,7 +205,8 @@ Container.propTypes = { border: PropTypes.string, boxShadow: PropTypes.string, itemRatio: PropTypes.string, - handleSelect: PropTypes.func + handleSelect: PropTypes.func, + defaultSelectedItem: PropTypes.number }; export default Container; \ No newline at end of file diff --git a/src/CoverFlow/CoverFlow.js b/src/CoverFlow/CoverFlow.js index 3c08fbf..b637c9c 100644 --- a/src/CoverFlow/CoverFlow.js +++ b/src/CoverFlow/CoverFlow.js @@ -69,7 +69,8 @@ CoverFlow.propTypes = { emptyMessage: PropTypes.string, itemRatio: PropTypes.string, handleSelect: PropTypes.func, - labelsArr: PropTypes.array + labelsArr: PropTypes.array, + defaultSelectedItem: PropTypes.number }; CoverFlow.defaultProps = {