Skip to content
Snippets Groups Projects
Unverified Commit 8d9ff35c authored by Alexander Lesnenko's avatar Alexander Lesnenko Committed by GitHub
Browse files

fix updating field name and description in data model (#22875)

parent b085e421
No related branches found
No related tags found
No related merge requests found
...@@ -402,15 +402,7 @@ export const BackButton = ({ databaseId, tableId }) => ( ...@@ -402,15 +402,7 @@ export const BackButton = ({ databaseId, tableId }) => (
); );
export class FieldHeader extends React.Component { export class FieldHeader extends React.Component {
onNameChange = e => { onNameChange = async e => {
this.updateNameDebounced(e.target.value);
};
onDescriptionChange = e => {
this.updateDescriptionDebounced(e.target.value);
};
// Separate update methods because of throttling the input
updateNameDebounced = _.debounce(async name => {
const { field, updateFieldProperties, updateFieldDimension } = this.props; const { field, updateFieldProperties, updateFieldDimension } = this.props;
// Update the dimension name if it exists // Update the dimension name if it exists
...@@ -421,19 +413,19 @@ export class FieldHeader extends React.Component { ...@@ -421,19 +413,19 @@ export class FieldHeader extends React.Component {
{ {
type: field.dimensions.type, type: field.dimensions.type,
human_readable_field_id: field.dimensions.human_readable_field_id, human_readable_field_id: field.dimensions.human_readable_field_id,
name, name: e.target.value,
}, },
); );
} }
// todo: how to treat empty / too long strings? see how this is done in Column // todo: how to treat empty / too long strings? see how this is done in Column
updateFieldProperties({ display_name: name }); updateFieldProperties({ display_name: e.target.value });
}, 300); };
updateDescriptionDebounced = _.debounce(description => { onDescriptionChange = e => {
const { updateFieldProperties } = this.props; const { updateFieldProperties } = this.props;
updateFieldProperties({ description }); updateFieldProperties({ description: e.target.value });
}, 300); };
render() { render() {
return ( return (
...@@ -442,14 +434,14 @@ export class FieldHeader extends React.Component { ...@@ -442,14 +434,14 @@ export class FieldHeader extends React.Component {
name="display_name" name="display_name"
className="h2 AdminInput bordered rounded border-dark block mb1" className="h2 AdminInput bordered rounded border-dark block mb1"
value={this.props.field.display_name} value={this.props.field.display_name}
onChange={this.onNameChange} onBlurChange={this.onNameChange}
placeholder={this.props.field.name} placeholder={this.props.field.name}
/> />
<InputBlurChange <InputBlurChange
name="description" name="description"
className="text AdminInput bordered input text-measure block full" className="text AdminInput bordered input text-measure block full"
value={this.props.field.description} value={this.props.field.description}
onChange={this.onDescriptionChange} onBlurChange={this.onDescriptionChange}
placeholder={t`No description for this field yet`} placeholder={t`No description for this field yet`}
/> />
</div> </div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment