mirror of
https://github.com/apache/superset.git
synced 2026-06-06 16:19:18 +00:00
* pass all props to *Field components * s/fieldSetOverrides/fieldOverrides * handle field overrides
36 lines
901 B
JavaScript
36 lines
901 B
JavaScript
import React, { PropTypes } from 'react';
|
|
import FieldSet from './FieldSet';
|
|
import { fields } from '../stores/store';
|
|
|
|
const propTypes = {
|
|
fieldSets: PropTypes.array.isRequired,
|
|
fieldOverrides: PropTypes.object,
|
|
};
|
|
|
|
const defaultProps = {
|
|
fieldOverrides: {},
|
|
};
|
|
|
|
function getFieldData(fs, fieldOverrides) {
|
|
let fieldData = fields[fs];
|
|
if (fieldOverrides.hasOwnProperty(fs)) {
|
|
const overrideData = fieldOverrides[fs];
|
|
fieldData = Object.assign({}, fieldData, overrideData);
|
|
}
|
|
return fieldData;
|
|
}
|
|
|
|
export default function FieldSetRow({ fieldSets, fieldOverrides }) {
|
|
return (
|
|
<ul className="list-unstyled">
|
|
{fieldSets.map((fs) => {
|
|
const fieldData = getFieldData(fs, fieldOverrides);
|
|
return <li key={fs}><FieldSet name={fs} {...fieldData} /></li>;
|
|
})}
|
|
</ul>
|
|
);
|
|
}
|
|
|
|
FieldSetRow.propTypes = propTypes;
|
|
FieldSetRow.defaultProps = defaultProps;
|