File tree Expand file tree Collapse file tree 7 files changed +30
-2
lines changed
client/packages/lowcoder/src Expand file tree Collapse file tree 7 files changed +30
-2
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ export interface CellProps {
3737 candidateStatus ?: { text : string ; status : StatusType } [ ] ;
3838 textOverflow ?: boolean ;
3939 cellTooltip ?: string ;
40+ editMode ?: string ;
4041 onTableEvent ?: ( eventName : any ) => void ;
4142}
4243
@@ -94,13 +95,15 @@ export function EditableCell<T extends JSONValue>(props: EditableCellProps<T>) {
9495 candidateTags,
9596 // tagColors
9697 candidateStatus,
98+ editMode,
9799 onTableEvent,
98100 } = props ;
99101 const status = _ . isNil ( changeValue ) ? "normal" : "toSave" ;
100102 const editable = editViewFn ? props . editable : false ;
101103 const { isEditing, setIsEditing } = useContext ( TableCellContext ) ;
102104 const value = changeValue ?? baseValue ! ;
103105 const [ tmpValue , setTmpValue ] = useState < T | null > ( value ) ;
106+ const singleClickEdit = editMode === 'single' ;
104107
105108 useEffect ( ( ) => {
106109 setTmpValue ( value ) ;
@@ -175,8 +178,8 @@ export function EditableCell<T extends JSONValue>(props: EditableCellProps<T>) {
175178 width : '100%' ,
176179 height : '100%' ,
177180 } }
178- // onDoubleClick={enterEditFn}
179- onClick = { enterEditFn }
181+ onDoubleClick = { ! singleClickEdit ? enterEditFn : undefined }
182+ onClick = { singleClickEdit ? enterEditFn : undefined }
180183 >
181184 </ div >
182185 </ CellWrapper >
Original file line number Diff line number Diff line change @@ -767,6 +767,7 @@ export function TableCompView(props: {
767767 const inlineAddNewRow = useMemo ( ( ) => compChildren . inlineAddNewRow . getView ( ) , [ compChildren . inlineAddNewRow ] ) ;
768768 const pagination = useMemo ( ( ) => compChildren . pagination . getView ( ) , [ compChildren . pagination ] ) ;
769769 const size = useMemo ( ( ) => compChildren . size . getView ( ) , [ compChildren . size ] ) ;
770+ const editModeClicks = useMemo ( ( ) => compChildren . editModeClicks . getView ( ) , [ compChildren . editModeClicks ] ) ;
770771 const onEvent = useMemo ( ( ) => compChildren . onEvent . getView ( ) , [ compChildren . onEvent ] ) ;
771772 const dynamicColumn = compChildren . dynamicColumn . getView ( ) ;
772773 const dynamicColumnConfig = useMemo (
@@ -785,6 +786,7 @@ export function TableCompView(props: {
785786 dynamicColumn ,
786787 dynamicColumnConfig ,
787788 columnsAggrData ,
789+ editModeClicks ,
788790 onEvent ,
789791 ) ,
790792 [
@@ -795,6 +797,7 @@ export function TableCompView(props: {
795797 dynamicColumn ,
796798 dynamicColumnConfig ,
797799 columnsAggrData ,
800+ editModeClicks ,
798801 ]
799802 ) ;
800803
Original file line number Diff line number Diff line change @@ -45,6 +45,7 @@ const expectColumn = (
4545 comp . children . dynamicColumn . getView ( ) ,
4646 dynamicColumnConfig ,
4747 comp . columnAggrData ,
48+ comp . children . editModeClicks . getView ( ) ,
4849 onEvent ,
4950 ) ;
5051 expect ( columnViews . length ) . toBeGreaterThanOrEqual ( antdColumns . length ) ;
Original file line number Diff line number Diff line change @@ -562,6 +562,10 @@ export function compTablePropertyView<T extends MultiBaseComp<TableChildrenType>
562562 label : trans ( "table.dynamicColumnConfig" ) ,
563563 tooltip : trans ( "table.dynamicColumnConfigDesc" ) ,
564564 } ) }
565+ { comp . children . editModeClicks . propertyView ( {
566+ label : trans ( "table.editMode" ) ,
567+ radioButton : true ,
568+ } ) }
565569 { comp . children . searchText . propertyView ( {
566570 label : trans ( "table.searchText" ) ,
567571 tooltip : trans ( "table.searchTextTooltip" ) ,
Original file line number Diff line number Diff line change @@ -37,6 +37,17 @@ import { PaginationControl } from "./paginationControl";
3737import { SelectionControl } from "./selectionControl" ;
3838import { AutoHeightControl } from "comps/controls/autoHeightControl" ;
3939
40+ const editModeClickOptions = [
41+ {
42+ label : trans ( "table.singleClick" ) ,
43+ value : "single" ,
44+ } ,
45+ {
46+ label : trans ( "table.doubleClick" ) ,
47+ value : "double" ,
48+ } ,
49+ ] as const ;
50+
4051const summarRowsOptions = [
4152 {
4253 label : "1" ,
@@ -248,6 +259,7 @@ const tableChildrenMap = {
248259 expansion : ExpansionControl ,
249260 selectedCell : stateComp < JSONObject > ( { } ) ,
250261 inlineAddNewRow : BoolControl ,
262+ editModeClicks : dropdownControl ( editModeClickOptions , "single" ) ,
251263} ;
252264
253265export const TableInitComp = ( function ( ) {
Original file line number Diff line number Diff line change @@ -295,6 +295,7 @@ export function columnsToAntdFormat(
295295 dynamicColumn : boolean ,
296296 dynamicColumnConfig : Array < string > ,
297297 columnsAggrData : ColumnsAggrData ,
298+ editMode : string ,
298299 onTableEvent : ( eventName : any ) => void ,
299300) : Array < CustomColumnType < RecordType > > {
300301 const customColumns = columns . filter ( col => col . isCustom ) . map ( col => col . dataIndex ) ;
@@ -392,6 +393,7 @@ export function columnsToAntdFormat(
392393 currentRow : row ,
393394 currentIndex : index ,
394395 } ) ,
396+ editMode,
395397 onTableEvent,
396398 } ) ;
397399 } ,
Original file line number Diff line number Diff line change @@ -2002,6 +2002,9 @@ export const en = {
20022002 "showSummary" : "Show Summary Row" ,
20032003 "totalSummaryRows" : "Total Rows" ,
20042004 "inlineAddNewRow" : "Inline Add New Row" ,
2005+ "editMode" : "Edit Mode" ,
2006+ "singleClick" : "Single Click" ,
2007+ "doubleClick" : "Double Click" ,
20052008 } ,
20062009
20072010
You can’t perform that action at this time.
0 commit comments