Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import PropTypes from 'prop-types'
import React from 'react'
import { observable, computed, action, runInAction } from 'mobx'
import { propTypes, observer } from 'mobx-react'
@observer
export default class VirtualList extends React.Component {
static propTypes = {
items: propTypes.arrayOrObservableArray.isRequired,
itemHeight: PropTypes.number.isRequired,
renderItem: PropTypes.func.isRequired,
bufferSize: PropTypes.number.isRequired,
}
static defaultProps = {
bufferSize: 0,
}
@observable scrollTop = 0
@observable clientHeight = 0
componentDidMount() {
this.setScrollTop(this.container.scrollTop)
this.setClientHeight(this.container.clientHeight)
window.addEventListener('resize', this.onResize)
import PropTypes from 'prop-types'
import React from 'react'
import { observable, computed, action, runInAction } from 'mobx'
import { propTypes, observer } from 'mobx-react'
@observer
export default class VirtualList extends React.PureComponent {
static propTypes = {
items: propTypes.arrayOrObservableArray.isRequired,
itemHeight: PropTypes.number.isRequired,
renderItem: PropTypes.func.isRequired,
bufferSize: PropTypes.number.isRequired,
}
static defaultProps = {
bufferSize: 10,
}
@observable scrollTop = 0
@observable clientHeight = 0
componentDidMount() {
this.setScrollTop(this.container.scrollTop)
this.setClientHeight(this.container.clientHeight)
window.addEventListener('resize', this.onResize)
import PropTypes from 'prop-types'
import React from 'react'
import { propTypes, observer } from 'mobx-react'
@observer
export default class List extends React.Component {
static propTypes = {
items: propTypes.arrayOrObservableArray.isRequired,
selected: PropTypes.object,
renderItem: PropTypes.func.isRequired,
onSelect: PropTypes.func,
}
static defaultProps = {
onSelect: () => {},
}
renderItem(item, index) {
const isActive =
this.props.items.includes(item) && this.props.selected === item
return (
<div> this.props.onSelect(item)}>
{this.props.renderItem(item, index, isActive)}
</div>
return (
<a href="#"> setCurrentDb(db)}
key={index}
>
{db.title}
</a>
);
})}
);
DatabaseList.propTypes = {
databases: propTypes.arrayOrObservableArray,
setCurrentDb: PropTypes.func
};