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,
|
isHidden: PropTypes.bool,
|
||||||
isFieldDuplicate: PropTypes.func,
|
isFieldDuplicate: PropTypes.func,
|
||||||
isFieldHidden: PropTypes.func,
|
isFieldHidden: PropTypes.func,
|
||||||
|
locale: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
@ -207,6 +208,7 @@ class EditorControl extends React.Component {
|
|||||||
isHidden,
|
isHidden,
|
||||||
isFieldDuplicate,
|
isFieldDuplicate,
|
||||||
isFieldHidden,
|
isFieldHidden,
|
||||||
|
locale,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
const widgetName = field.get('widget');
|
const widgetName = field.get('widget');
|
||||||
@ -327,6 +329,7 @@ class EditorControl extends React.Component {
|
|||||||
isDisabled={isDisabled}
|
isDisabled={isDisabled}
|
||||||
isFieldDuplicate={isFieldDuplicate}
|
isFieldDuplicate={isFieldDuplicate}
|
||||||
isFieldHidden={isFieldHidden}
|
isFieldHidden={isFieldHidden}
|
||||||
|
locale={locale}
|
||||||
/>
|
/>
|
||||||
{fieldHint && (
|
{fieldHint && (
|
||||||
<ControlHint active={isSelected || this.state.styleActive} error={hasErrors}>
|
<ControlHint active={isSelected || this.state.styleActive} error={hasErrors}>
|
||||||
|
@ -235,6 +235,7 @@ export default class ControlPane extends React.Component {
|
|||||||
isHidden={isHidden}
|
isHidden={isHidden}
|
||||||
isFieldDuplicate={field => isFieldDuplicate(field, locale, defaultLocale)}
|
isFieldDuplicate={field => isFieldDuplicate(field, locale, defaultLocale)}
|
||||||
isFieldHidden={field => isFieldHidden(field, locale, defaultLocale)}
|
isFieldHidden={field => isFieldHidden(field, locale, defaultLocale)}
|
||||||
|
locale={locale}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
@ -251,4 +252,5 @@ ControlPane.propTypes = {
|
|||||||
fieldsErrors: ImmutablePropTypes.map.isRequired,
|
fieldsErrors: ImmutablePropTypes.map.isRequired,
|
||||||
onChange: PropTypes.func.isRequired,
|
onChange: PropTypes.func.isRequired,
|
||||||
onValidate: PropTypes.func.isRequired,
|
onValidate: PropTypes.func.isRequired,
|
||||||
|
locale: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
@ -71,6 +71,7 @@ export default class Widget extends Component {
|
|||||||
isDisabled: PropTypes.bool,
|
isDisabled: PropTypes.bool,
|
||||||
isFieldDuplicate: PropTypes.func,
|
isFieldDuplicate: PropTypes.func,
|
||||||
isFieldHidden: PropTypes.func,
|
isFieldHidden: PropTypes.func,
|
||||||
|
locale: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
||||||
shouldComponentUpdate(nextProps) {
|
shouldComponentUpdate(nextProps) {
|
||||||
@ -292,6 +293,7 @@ export default class Widget extends Component {
|
|||||||
isDisabled,
|
isDisabled,
|
||||||
isFieldDuplicate,
|
isFieldDuplicate,
|
||||||
isFieldHidden,
|
isFieldHidden,
|
||||||
|
locale,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
return React.createElement(controlComponent, {
|
return React.createElement(controlComponent, {
|
||||||
@ -343,6 +345,7 @@ export default class Widget extends Component {
|
|||||||
isDisabled,
|
isDisabled,
|
||||||
isFieldDuplicate,
|
isFieldDuplicate,
|
||||||
isFieldHidden,
|
isFieldHidden,
|
||||||
|
locale,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,7 @@ export default class ObjectControl extends React.Component {
|
|||||||
fieldsErrors: ImmutablePropTypes.map.isRequired,
|
fieldsErrors: ImmutablePropTypes.map.isRequired,
|
||||||
hasError: PropTypes.bool,
|
hasError: PropTypes.bool,
|
||||||
t: PropTypes.func.isRequired,
|
t: PropTypes.func.isRequired,
|
||||||
|
locale: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
@ -85,6 +86,7 @@ export default class ObjectControl extends React.Component {
|
|||||||
parentIds,
|
parentIds,
|
||||||
isFieldDuplicate,
|
isFieldDuplicate,
|
||||||
isFieldHidden,
|
isFieldHidden,
|
||||||
|
locale,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
if (field.get('widget') === 'hidden') {
|
if (field.get('widget') === 'hidden') {
|
||||||
@ -113,6 +115,7 @@ export default class ObjectControl extends React.Component {
|
|||||||
isHidden={isHidden}
|
isHidden={isHidden}
|
||||||
isFieldDuplicate={isFieldDuplicate}
|
isFieldDuplicate={isFieldDuplicate}
|
||||||
isFieldHidden={isFieldHidden}
|
isFieldHidden={isFieldHidden}
|
||||||
|
locale={locale}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -118,6 +118,7 @@ export default class RelationControl extends React.Component {
|
|||||||
classNameWrapper: PropTypes.string.isRequired,
|
classNameWrapper: PropTypes.string.isRequired,
|
||||||
setActiveStyle: PropTypes.func.isRequired,
|
setActiveStyle: PropTypes.func.isRequired,
|
||||||
setInactiveStyle: PropTypes.func.isRequired,
|
setInactiveStyle: PropTypes.func.isRequired,
|
||||||
|
locale: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
||||||
isValid = () => {
|
isValid = () => {
|
||||||
@ -235,12 +236,17 @@ export default class RelationControl extends React.Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
parseNestedFields = (hit, field) => {
|
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);
|
const templateVars = stringTemplate.extractTemplateVars(field);
|
||||||
// return non template fields as is
|
// return non template fields as is
|
||||||
if (templateVars.length <= 0) {
|
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);
|
const value = stringTemplate.compileStringTemplate(field, null, hit.slug, data);
|
||||||
return value;
|
return value;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user