@@ -57,8 +57,6 @@ interface ColumnConfigSidebarProps {
5757 tableRowTtlEnabled : boolean
5858 workspaceId : string
5959 tableId : string
60- /** Notify the grid so local layout metadata follows a successful rename. */
61- onColumnRename ?: ( oldName : string , newName : string ) => void
6260}
6361
6462/**
@@ -108,7 +106,6 @@ function ColumnConfigBody({
108106 tableRowTtlEnabled,
109107 workspaceId,
110108 tableId,
111- onColumnRename,
112109} : ColumnConfigBodyProps ) {
113110 const updateColumn = useUpdateColumn ( { workspaceId, tableId } )
114111 const addColumn = useAddTableColumn ( { workspaceId, tableId } )
@@ -169,7 +166,7 @@ function ColumnConfigBody({
169166 }
170167
171168 async function handleSave ( ) {
172- if ( ! trimmedName ) {
169+ if ( config . mode === 'create' && ! trimmedName ) {
173170 setShowValidation ( true )
174171 return
175172 }
@@ -201,7 +198,6 @@ function ColumnConfigBody({
201198 return
202199 }
203200
204- const renamed = trimmedName !== ( existingColumn ?. name ?? config . columnName )
205201 const typeChanged = ! ! existingColumn && existingColumn . type !== typeInput
206202 const uniqueChanged =
207203 supportsUnique && ! ! existingColumn && ! ! existingColumn . unique !== uniqueInput
@@ -215,15 +211,13 @@ function ColumnConfigBody({
215211 wantsReference && existingColumn ?. referenceTableId !== referenceTableInput
216212
217213 const updates : {
218- name ?: string
219214 type ?: ColumnDefinition [ 'type' ]
220215 unique ?: boolean
221216 options ?: SelectOption [ ]
222217 multiple ?: boolean
223218 currencyCode ?: string
224219 referenceTableId ?: string
225220 } = {
226- ...( renamed ? { name : trimmedName } : { } ) ,
227221 ...( typeChanged ? { type : typeInput } : { } ) ,
228222 ...( uniqueChanged ? { unique : uniqueInput } : { } ) ,
229223 ...( uniqueCleared ? { unique : false } : { } ) ,
@@ -242,8 +236,7 @@ function ColumnConfigBody({
242236 }
243237
244238 await updateColumn . mutateAsync ( { columnName : config . columnName , updates } )
245- if ( renamed ) onColumnRename ?.( config . columnName , trimmedName )
246- toast . success ( `Saved "${ trimmedName } "` )
239+ toast . success ( `Saved "${ existingColumn ?. name ?? config . columnName } "` )
247240 onClose ( )
248241 } catch ( err ) {
249242 if ( isValidationError ( err ) ) {
@@ -276,23 +269,25 @@ function ColumnConfigBody({
276269 </ div >
277270
278271 < div className = 'flex-1 overflow-y-auto overflow-x-hidden px-2 pt-3 pb-2 [overflow-anchor:none]' >
279- < div className = 'flex flex-col gap-[9.5px]' >
280- < RequiredLabel htmlFor = 'column-sidebar-name' > Column name</ RequiredLabel >
281- < ChipInput
282- id = 'column-sidebar-name'
283- value = { nameInput }
284- onChange = { ( e ) => {
285- setNameInput ( e . target . value )
286- if ( nameError ) setNameError ( null )
287- } }
288- spellCheck = { false }
289- autoComplete = 'off'
290- error = { Boolean ( ( showValidation && ! trimmedName ) || nameError ) }
291- aria-invalid = { ( showValidation && ! trimmedName ) || nameError ? true : undefined }
292- />
293- { showValidation && ! trimmedName && < FieldError message = 'Column name is required' /> }
294- { nameError && ! ( showValidation && ! trimmedName ) && < FieldError message = { nameError } /> }
295- </ div >
272+ { config . mode === 'create' && (
273+ < div className = 'flex flex-col gap-[9.5px]' >
274+ < RequiredLabel htmlFor = 'column-sidebar-name' > Column name</ RequiredLabel >
275+ < ChipInput
276+ id = 'column-sidebar-name'
277+ value = { nameInput }
278+ onChange = { ( e ) => {
279+ setNameInput ( e . target . value )
280+ if ( nameError ) setNameError ( null )
281+ } }
282+ spellCheck = { false }
283+ autoComplete = 'off'
284+ error = { Boolean ( ( showValidation && ! trimmedName ) || nameError ) }
285+ aria-invalid = { ( showValidation && ! trimmedName ) || nameError ? true : undefined }
286+ />
287+ { showValidation && ! trimmedName && < FieldError message = 'Column name is required' /> }
288+ { nameError && ! ( showValidation && ! trimmedName ) && < FieldError message = { nameError } /> }
289+ </ div >
290+ ) }
296291
297292 { config . mode === 'edit' && (
298293 < >
0 commit comments