import React, {Component} from 'react'
|
import { is, fromJS } from 'immutable'
|
|
import { menuOptions } from './option'
|
import SourceWrap from './dragsource'
|
import './index.scss'
|
|
class ModelSource extends Component {
|
state = {
|
menuOptions: null,
|
}
|
|
UNSAFE_componentWillMount () {
|
const { components } = this.props
|
let options = []
|
|
if (components) {
|
options = fromJS(components).toJS()
|
} else {
|
options = fromJS(menuOptions).toJS()
|
}
|
|
this.setState({
|
menuOptions: options
|
})
|
}
|
|
shouldComponentUpdate (nextProps, nextState) {
|
return !is(fromJS(this.state), fromJS(nextState))
|
}
|
|
render() {
|
const { menuOptions } = this.state
|
|
return (
|
<div className="mob-card-source-box">
|
{menuOptions.map((item, index) => (<SourceWrap key={index} item={item}/>))}
|
</div>
|
)
|
}
|
}
|
|
export default ModelSource
|