fix(relation-widget): i18n options (#6299)
Co-authored-by: Erez Rokah <erezrokah@users.noreply.github.com>
This commit is contained in:
parent
5866e6cb3b
commit
4bf64642e4
@ -146,6 +146,7 @@ class EditorControl extends React.Component {
|
||||
isHidden: PropTypes.bool,
|
||||
isFieldDuplicate: PropTypes.func,
|
||||
isFieldHidden: PropTypes.func,
|
||||
locale: PropTypes.string,
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
@ -207,6 +208,7 @@ class EditorControl extends React.Component {
|
||||
isHidden,
|
||||
isFieldDuplicate,
|
||||
isFieldHidden,
|
||||
locale,
|
||||
} = this.props;
|
||||
|
||||
const widgetName = field.get('widget');
|
||||
@ -327,6 +329,7 @@ class EditorControl extends React.Component {
|
||||
isDisabled={isDisabled}
|
||||
isFieldDuplicate={isFieldDuplicate}
|
||||
isFieldHidden={isFieldHidden}
|
||||
locale={locale}
|
||||
/>
|
||||
{fieldHint && (
|
||||
<ControlHint active={isSelected || this.state.styleActive} error={hasErrors}>
|
||||
|
@ -235,6 +235,7 @@ export default class ControlPane extends React.Component {
|
||||
isHidden={isHidden}
|
||||
isFieldDuplicate={field => isFieldDuplicate(field, locale, defaultLocale)}
|
||||
isFieldHidden={field => isFieldHidden(field, locale, defaultLocale)}
|
||||
locale={locale}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
@ -251,4 +252,5 @@ ControlPane.propTypes = {
|
||||
fieldsErrors: ImmutablePropTypes.map.isRequired,
|
||||
onChange: PropTypes.func.isRequired,
|
||||
onValidate: PropTypes.func.isRequired,
|
||||
locale: PropTypes.string,
|
||||
};
|
||||
|
@ -71,6 +71,7 @@ export default class Widget extends Component {
|
||||
isDisabled: PropTypes.bool,
|
||||
isFieldDuplicate: PropTypes.func,
|
||||
isFieldHidden: PropTypes.func,
|
||||
locale: PropTypes.string,
|
||||
};
|
||||
|
||||
shouldComponentUpdate(nextProps) {
|
||||
@ -292,6 +293,7 @@ export default class Widget extends Component {
|
||||
isDisabled,
|
||||
isFieldDuplicate,
|
||||
isFieldHidden,
|
||||
locale,
|
||||
} = this.props;
|
||||
|
||||
return React.createElement(controlComponent, {
|
||||
@ -343,6 +345,7 @@ export default class Widget extends Component {
|
||||
isDisabled,
|
||||
isFieldDuplicate,
|
||||
isFieldHidden,
|
||||
locale,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ export default class ObjectControl extends React.Component {
|
||||
fieldsErrors: ImmutablePropTypes.map.isRequired,
|
||||
hasError: PropTypes.bool,
|
||||
t: PropTypes.func.isRequired,
|
||||
locale: PropTypes.string,
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
@ -85,6 +86,7 @@ export default class ObjectControl extends React.Component {
|
||||
parentIds,
|
||||
isFieldDuplicate,
|
||||
isFieldHidden,
|
||||
locale,
|
||||
} = this.props;
|
||||
|
||||
if (field.get('widget') === 'hidden') {
|
||||
@ -113,6 +115,7 @@ export default class ObjectControl extends React.Component {
|
||||
isHidden={isHidden}
|
||||
isFieldDuplicate={isFieldDuplicate}
|
||||
isFieldHidden={isFieldHidden}
|
||||
locale={locale}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
@ -118,6 +118,7 @@ export default class RelationControl extends React.Component {
|
||||
classNameWrapper: PropTypes.string.isRequired,
|
||||
setActiveStyle: PropTypes.func.isRequired,
|
||||
setInactiveStyle: PropTypes.func.isRequired,
|
||||
locale: PropTypes.string,
|
||||
};
|
||||
|
||||
isValid = () => {
|
||||
@ -235,12 +236,17 @@ export default class RelationControl extends React.Component {
|
||||
};
|
||||
|
||||
parseNestedFields = (hit, field) => {
|
||||
const { locale } = this.props;
|
||||
const hitData =
|
||||
locale != null && hit.i18n != null && hit.i18n[locale] != null
|
||||
? hit.i18n[locale].data
|
||||
: hit.data;
|
||||
const templateVars = stringTemplate.extractTemplateVars(field);
|
||||
// return non template fields as is
|
||||
if (templateVars.length <= 0) {
|
||||
return get(hit.data, field);
|
||||
return get(hitData, field);
|
||||
}
|
||||
const data = stringTemplate.addFileTemplateFields(hit.path, fromJS(hit.data));
|
||||
const data = stringTemplate.addFileTemplateFields(hit.path, fromJS(hitData));
|
||||
const value = stringTemplate.compileStringTemplate(field, null, hit.slug, data);
|
||||
return value;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user