From 937a7c59e21da28fc24371c5ff524e93e85d96b3 Mon Sep 17 00:00:00 2001 From: "Dusan Mijatovic (Mac2023)" Date: Mon, 18 Mar 2024 22:21:01 +0100 Subject: [PATCH] feat: move add button to first column in the tables fix: assign unique keys to table headers and rows --- .../form/src/table/TableFieldTemplate.css | 8 ++++ .../form/src/table/TableFieldTemplate.tsx | 44 +++++++++++-------- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/packages/form/src/table/TableFieldTemplate.css b/packages/form/src/table/TableFieldTemplate.css index f51e62fe..ee25c65a 100644 --- a/packages/form/src/table/TableFieldTemplate.css +++ b/packages/form/src/table/TableFieldTemplate.css @@ -17,3 +17,11 @@ { display: none; } + +.table .table-actions{ + vertical-align: middle; +} + +th > label{ + font-size: 0.875rem; +} \ No newline at end of file diff --git a/packages/form/src/table/TableFieldTemplate.tsx b/packages/form/src/table/TableFieldTemplate.tsx index 73cebc0a..46b805e8 100644 --- a/packages/form/src/table/TableFieldTemplate.tsx +++ b/packages/form/src/table/TableFieldTemplate.tsx @@ -37,9 +37,10 @@ export const TableFieldTemplate = (props: ArrayFieldTemplateProps): JSX.Element let indexColumnCell = (_index: number): JSX.Element => <> const [indexable, indexLookup] = useIndexable(props.uiSchema) if (indexable) { - indexColumnHeader = + indexColumnHeader = indexColumnCell = (index: number) => {indexLookup(index)} } + const headers = Object.entries(rowSchema).map( ([key, s]: [string, any], i: number) => { const title = required.has(key) @@ -59,18 +60,21 @@ export const TableFieldTemplate = (props: ArrayFieldTemplateProps): JSX.Element const srequired = new Set(s.required) const propDescs = Object.entries(s.properties) .filter((d: any) => d[1].description) - .map(([skey, sschema]: any) => ( -
  • - -

    -

  • - )) + .map(([skey, sschema]: any) => { + // debugger + return ( +
  • + +

    +

  • + ) + }) description = ( <> @@ -83,7 +87,7 @@ export const TableFieldTemplate = (props: ArrayFieldTemplateProps): JSX.Element const width = widths[key] return ( @@ -107,8 +111,10 @@ export const TableFieldTemplate = (props: ArrayFieldTemplateProps): JSX.Element ) } ) + headers.unshift(indexColumnHeader) - headers.push( + // add button as first column + headers.unshift( + {indexColumnCell(index)} + {element.children} ) })