attributes-kit
Version:
React component for MSON rendering
55 lines (45 loc) • 1.09 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import Radium from 'radium';
import merge from 'lodash/merge';
import { ArraySample } from '../ArraySample/ArraySample';
class ArraySamples extends React.Component {
static propTypes = {
element: PropTypes.object,
style: PropTypes.object,
collapseByDefault: PropTypes.bool,
};
get style() {
const style = {
base: {
width: '100%',
},
};
return merge(style, this.props.style || {});
}
render() {
if (!this.props.element) {
return false;
}
if (!this.props.element.cache.hasSamples) {
return false;
}
const samples = this.props.element.attributes.samples;
return (
<div style={this.style.base}>
{
samples.map((sample, index) =>
<ArraySample
element={this.props.element}
sample={sample}
key={index}
collapseByDefault={this.props.collapseByDefault}
/>
)
}
</div>
);
}
}
export { ArraySamples };