From 73a0d587bcefb80756a49e86130d18d8f8042cc4 Mon Sep 17 00:00:00 2001 From: RAHEEL Date: Fri, 10 May 2024 20:23:51 +0500 Subject: [PATCH] make table's switch column editable --- .../src/components/table/EditableCell.tsx | 2 +- .../columnTypeComps/columnSwitchComp.tsx | 50 +++++++++++-------- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/client/packages/lowcoder/src/components/table/EditableCell.tsx b/client/packages/lowcoder/src/components/table/EditableCell.tsx index f16cce496..11a18d1ac 100644 --- a/client/packages/lowcoder/src/components/table/EditableCell.tsx +++ b/client/packages/lowcoder/src/components/table/EditableCell.tsx @@ -79,8 +79,8 @@ export function EditableCell(props: EditableCellProps) { const editable = editViewFn ? props.editable : false; const { isEditing, setIsEditing } = useContext(TableCellContext); const value = changeValue ?? baseValue!; - const [tmpValue, setTmpValue] = useState(value); + useEffect(() => { setTmpValue(value); }, [value]); diff --git a/client/packages/lowcoder/src/comps/comps/tableComp/column/columnTypeComps/columnSwitchComp.tsx b/client/packages/lowcoder/src/comps/comps/tableComp/column/columnTypeComps/columnSwitchComp.tsx index b8e13a4f1..26dbeb3b1 100644 --- a/client/packages/lowcoder/src/comps/comps/tableComp/column/columnTypeComps/columnSwitchComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/tableComp/column/columnTypeComps/columnSwitchComp.tsx @@ -61,6 +61,11 @@ const SwitchWrapper = styled.div<{ disabled: boolean }>` `}; `; +const Wrapper = styled.div` + background: transparent !important; + padding: 0 8px; +` + const childrenMap = { value: booleanExposingStateControl("value"), switchState: BoolCodeControl, @@ -80,18 +85,16 @@ export const SwitchComp = (function () { const value = props.changeValue ?? getBaseValue(props, dispatch); const CheckBoxComp = () => { return ( - - { - props.value.onChange(checked); - props.onEvent("change"); - props.onEvent(checked ? "true" : "false"); - }} - /> - + { + props.value.onChange(checked); + props.onEvent("change"); + props.onEvent(checked ? "true" : "false"); + }} + /> ); }; return ; @@ -101,15 +104,22 @@ export const SwitchComp = (function () { ) .setEditViewFn((props) => { return ( - { - props.onChange(checked); - // props.onEvent("change"); - // props.onEvent(checked ? "true" : "false"); + { + if (!e.currentTarget?.contains(e.relatedTarget)) { + props.onChangeEnd(); + } }} - /> + > + { + props.onChange(checked); + }} + /> + + ); }) .setPropertyViewFn((children) => {