mirror of
https://github.com/apache/superset.git
synced 2026-06-06 08:09:14 +00:00
[explore-v2] handle field overrides (#1535)
* pass all props to *Field components * s/fieldSetOverrides/fieldOverrides * handle field overrides
This commit is contained in:
@@ -4,14 +4,32 @@ import { fields } from '../stores/store';
|
||||
|
||||
const propTypes = {
|
||||
fieldSets: PropTypes.array.isRequired,
|
||||
fieldOverrides: PropTypes.object,
|
||||
};
|
||||
|
||||
export default function FieldSetRow({ fieldSets }) {
|
||||
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) => <li key={fs}><FieldSet {...fields[fs]} /></li>)}
|
||||
{fieldSets.map((fs) => {
|
||||
const fieldData = getFieldData(fs, fieldOverrides);
|
||||
return <li key={fs}><FieldSet name={fs} {...fieldData} /></li>;
|
||||
})}
|
||||
</ul>
|
||||
);
|
||||
}
|
||||
|
||||
FieldSetRow.propTypes = propTypes;
|
||||
FieldSetRow.defaultProps = defaultProps;
|
||||
|
||||
Reference in New Issue
Block a user