From c440fb774ef51eb216408c6f0dcb186614156fa6 Mon Sep 17 00:00:00 2001 From: Red J Adaya Date: Thu, 29 Aug 2024 14:47:45 +0800 Subject: [PATCH] suggestions UI (#286) --- frontend/app/block/block.tsx | 20 ++- frontend/app/block/blockframe.tsx | 30 ++-- frontend/app/block/blocktypes.ts | 1 + frontend/app/block/blockutil.tsx | 114 ++++++++------- frontend/app/element/input.less | 1 + frontend/app/modals/typeaheadmodal.less | 102 ++++++++------ frontend/app/modals/typeaheadmodal.tsx | 175 ++++++++++++------------ frontend/app/theme.less | 5 +- frontend/app/view/preview/preview.tsx | 152 ++++++++++++++++---- frontend/types/custom.d.ts | 1 + 10 files changed, 377 insertions(+), 224 deletions(-) diff --git a/frontend/app/block/block.tsx b/frontend/app/block/block.tsx index e1d46992..68c64396 100644 --- a/frontend/app/block/block.tsx +++ b/frontend/app/block/block.tsx @@ -46,7 +46,13 @@ function makeViewModel(blockId: string, blockView: string): ViewModel { return makeDefaultViewModel(blockId, blockView); } -function getViewElem(blockId: string, blockView: string, viewModel: ViewModel): JSX.Element { +function getViewElem( + blockId: string, + blockRef: React.RefObject, + contentRef: React.RefObject, + blockView: string, + viewModel: ViewModel +): JSX.Element { if (util.isBlank(blockView)) { return No View; } @@ -54,7 +60,15 @@ function getViewElem(blockId: string, blockView: string, viewModel: ViewModel): return ; } if (blockView === "preview") { - return ; + return ( + + ); } if (blockView === "plot") { return ; @@ -179,7 +193,7 @@ const BlockFull = React.memo(({ nodeModel, viewModel }: FullBlockProps) => { }, [innerRect, disablePointerEvents, blockContentOffset]); const viewElem = React.useMemo( - () => getViewElem(nodeModel.blockId, blockData?.meta?.view, viewModel), + () => getViewElem(nodeModel.blockId, blockRef, contentRef, blockData?.meta?.view, viewModel), [nodeModel.blockId, blockData?.meta?.view, viewModel] ); diff --git a/frontend/app/block/blockframe.tsx b/frontend/app/block/blockframe.tsx index 9d2b8100..2b3f12f0 100644 --- a/frontend/app/block/blockframe.tsx +++ b/frontend/app/block/blockframe.tsx @@ -128,6 +128,7 @@ const BlockFrame_Header = ({ nodeModel, viewModel, preview, + connBtnRef, changeConnModalAtom, }: BlockFrameProps & { changeConnModalAtom: jotai.PrimitiveAtom }) => { const [blockData] = WOS.useWaveObjectValue(WOS.makeORef("block", nodeModel.blockId)); @@ -176,8 +177,8 @@ const BlockFrame_Header = ({ if (manageConnection) { const connButtonElem = ( @@ -206,7 +207,11 @@ const HeaderTextElem = React.memo(({ elem, preview }: { elem: HeaderElem; previe } else if (elem.elemtype == "input") { return ; } else if (elem.elemtype == "text") { - return
{elem.text}
; + return ( +
+ {elem.text} +
+ ); } else if (elem.elemtype == "textbutton") { return (