@@ -8,6 +8,7 @@ import { ReactComponent as ArrowRightIcon } from "./images/icons/keyboard_arrow_
88import { ReactComponent as DeleteIcon } from "./images/icons/delete-black-24dp.svg" ;
99import { ReactComponent as CloseIcon } from "./images/icons/ic_close.svg" ;
1010
11+
1112import './CartsList.scss' ;
1213
1314interface CartsListParams {
@@ -17,7 +18,7 @@ interface CartsListParams {
1718
1819export const CartsList : React . FC < CartsListParams > = ( props ) => {
1920 const { onHandlePage } = props ;
20- const { multiCartData, updateSelectedCart, setIsCartSelected, updateCartData } = useMultiCartData ( ) ;
21+ const { multiCartData, updateSelectedCart, setIsCartSelected, updateCartData, multiCartDataList } = useMultiCartData ( ) ;
2122 const { updateCartItems } = useCartData ( ) ;
2223 const [ selectedCarts , setSelectedCarts ] = useState < string [ ] > ( [ ] ) ;
2324 const [ deletedCartNumber , setDeletedCartNumber ] = useState ( Number ) ;
@@ -39,7 +40,7 @@ export const CartsList: React.FC<CartsListParams> = (props) => {
3940 } ;
4041
4142 const handleSelectAll = ( ) => {
42- const allCarts = multiCartData . map ( ( cart : moltin . Cart ) => cart . id ) ;
43+ const allCarts = multiCartDataList . map ( ( cart : moltin . Cart ) => cart . id ) ;
4344 if ( selectedCarts . length < allCarts . length ) {
4445 setSelectedCarts ( allCarts ) ;
4546 } else {
@@ -93,6 +94,18 @@ export const CartsList: React.FC<CartsListParams> = (props) => {
9394 setShowCreateCartAlert ( false )
9495 } , 4000 ) ;
9596 } , [ showCreateCartAlert ] ) ;
97+
98+
99+ useEffect ( ( ) => {
100+ const el = document . querySelector ( '.cartmodal__content' ) ;
101+ if ( el && showSettings )
102+ {
103+ el . scrollTo ( {
104+ top : 0 ,
105+ left : 0 ,
106+ } ) ;
107+ }
108+ } )
96109
97110 return (
98111 < div className = "cartslist" >
@@ -109,34 +122,34 @@ export const CartsList: React.FC<CartsListParams> = (props) => {
109122 </ div >
110123 ) }
111124 < div className = "cartslist__content" >
112- { multiCartData . length && (
125+ { multiCartDataList . length && (
113126 < button className = "cartslist__editbutton" onClick = { handleCartEdit } >
114127 { t ( isEdit ? 'done' : 'edit' ) }
115128 </ button >
116129 ) }
117130 < h2 className = "cartslist__title" >
118131 { t ( 'my-carts' ) }
119132 </ h2 >
120- { multiCartData && multiCartData . length ? (
133+ { multiCartDataList && multiCartDataList . length ? (
121134 < div >
122135 < div className = "cartslist__editview" >
123136 < div className = "cartslist__selectedtitle" >
124137 < div className = { `${ isEdit ? 'isshow' : '' } ` } >
125138 < span >
126- < input type = "checkbox" name = "cartCheck" id = "select-all" className = "cartslist__checkall epcheckbox" checked = { selectedCarts . length === multiCartData . length } onChange = { ( ) => { handleSelectAll ( ) } } />
139+ < input type = "checkbox" name = "cartCheck" id = "select-all" className = "cartslist__checkall epcheckbox" checked = { selectedCarts . length === multiCartDataList . length } onChange = { ( ) => { handleSelectAll ( ) } } />
127140 < label htmlFor = "select-all" className = "" >
128141 { selectedCarts . length === 1 ? `${ selectedCarts . length } ${ t ( 'cart' ) }
129142 ${ t ( 'selected' ) } ` : `${ selectedCarts . length } ${ t ( 'carts' ) }
130143 ${ t ( 'selected' ) } ` }
131144 </ label >
132145 </ span >
133- < button className = "cartslist__deletebutton" disabled = { selectedCarts . length === 0 || multiCartData . length === 1 } onClick = { ( ) => setIsShowModal ( true ) } >
146+ < button className = "cartslist__deletebutton" disabled = { selectedCarts . length === 0 || multiCartDataList . length === 1 } onClick = { ( ) => setIsShowModal ( true ) } >
134147 { ! isShowModal ? < DeleteIcon /> : < span className = "circularLoader" aria-label = { t ( 'loading' ) } /> }
135148 </ button >
136149 </ div >
137150 </ div >
138151 < div className = { `cartslist__cartlist${ isEdit ? ' --editmode' : '' } ` } >
139- { multiCartData . map ( ( cart : any ) => (
152+ { multiCartDataList . map ( ( cart : any ) => (
140153 < div role = "presentation" className = 'cartslist__cartelement' key = { cart . id } onClick = { ( ) => handleCart ( cart ) } tabIndex = { - 1 } >
141154 { isEdit && (
142155 < input type = "checkbox" name = "cartCheck" id = { `cart_${ cart . id } ` } className = "cartslist__check epcheckbox" checked = { selectedCarts . includes ( cart . id ) } onChange = { ( ) => { handleSelectCart ( cart . id ) } } />
@@ -187,8 +200,8 @@ export const CartsList: React.FC<CartsListParams> = (props) => {
187200 </ div >
188201 </ div >
189202 < div className = { `cartslist__cartlist${ isEdit ? ' --editmode' : '' } ` } >
190- { multiCartData . map ( ( cart : any ) => (
191- < div className = 'cartslist__cartelement' >
203+ { multiCartDataList . map ( ( cart : any ) => (
204+ < div className = 'cartslist__cartelement' key = { cart . id } >
192205 < input type = "checkbox" name = "cartCheck" id = { `cart_${ cart . id } ` } className = "cartslist__check epcheckbox" checked = { selectedCarts . includes ( cart . id ) } onChange = { ( ) => { handleSelectCart ( cart . id ) } } />
193206 < label htmlFor = { `cart_${ cart . id } ` } className = "cartslist__description" >
194207 < div role = "presentation" key = { cart . id } onClick = { ( ) => handleCart ( cart ) } tabIndex = { - 1 } >
@@ -248,6 +261,7 @@ export const CartsList: React.FC<CartsListParams> = (props) => {
248261 < div className = "cartslist__confirmationoverlay" />
249262 </ React . Fragment >
250263 ) }
264+
251265 < SettingsCart showSettings = { showSettings } handleHideSettings = { ( ) => setShowSettings ( false ) } setShowCartAlert = { ( ) => setShowCreateCartAlert ( true ) } />
252266 </ div >
253267 )
0 commit comments