Commit bd285f72 authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[annotation] trying to fix show menu immediate show

parent 3edef9af
...@@ -53,13 +53,14 @@ annotatedFieldComponent = R2.hooksComponent thisModule "annotatedField" cpt ...@@ -53,13 +53,14 @@ annotatedFieldComponent = R2.hooksComponent thisModule "annotatedField" cpt
mMenu@(_ /\ setMenu) <- R.useState' Nothing mMenu@(_ /\ setMenu) <- R.useState' Nothing
menuRef <- R.useRef Nothing menuRef <- R.useRef Nothing
showMenuRef <- R.useRef Nothing
let wrapperProps = { className: "annotated-field-wrapper" } let wrapperProps = { className: "annotated-field-wrapper" }
onSelect :: String -> Maybe TermList -> MouseEvent -> Effect Unit onSelect :: String -> Maybe TermList -> MouseEvent -> Effect Unit
onSelect text' Nothing event = do onSelect text' Nothing event = do
log2 "[onSelect] text'" text' log2 "[onSelect] text'" text'
maybeShowMenu setMenu menuRef setTermList ngrams event maybeShowMenu setMenu showMenuRef menuRef setTermList ngrams event
onSelect text' (Just list) event = do onSelect text' (Just list) event = do
log2 "[onSelect] text'" text' log2 "[onSelect] text'" text'
log2 "[onSelect] list" list log2 "[onSelect] list" list
...@@ -79,6 +80,9 @@ annotatedFieldComponent = R2.hooksComponent thisModule "annotatedField" cpt ...@@ -79,6 +80,9 @@ annotatedFieldComponent = R2.hooksComponent thisModule "annotatedField" cpt
} }
--setMenu (const $ menu) --setMenu (const $ menu)
R.setRef menuRef menu R.setRef menuRef menu
case R.readRef showMenuRef of
Nothing -> pure unit
Just showMenu -> showMenu unit
mapCompile (Tuple t l) = {text: t, list: l, onSelect} mapCompile (Tuple t l) = {text: t, list: l, onSelect}
compiled = map mapCompile $ compile ngrams text compiled = map mapCompile $ compile ngrams text
...@@ -86,11 +90,12 @@ annotatedFieldComponent = R2.hooksComponent thisModule "annotatedField" cpt ...@@ -86,11 +90,12 @@ annotatedFieldComponent = R2.hooksComponent thisModule "annotatedField" cpt
runs = runs =
HTML.div { className: "annotated-field-runs" } $ map annotateRun compiled HTML.div { className: "annotated-field-runs" } $ map annotateRun compiled
--pure $ HTML.div wrapperProps [maybeAddMenu mMenu runs] --pure $ HTML.div wrapperProps [maybeAddMenu mMenu runs]
pure $ HTML.div wrapperProps [ addMenu { menuRef }, runs ] pure $ HTML.div wrapperProps [ addMenu { menuRef, showMenuRef }, runs ]
type AddMenuProps = ( type AddMenuProps = (
menuRef :: R.Ref (Maybe AnnotationMenu) menuRef :: R.Ref (Maybe AnnotationMenu)
, showMenuRef :: R.Ref (Maybe (Unit -> Effect Unit))
) )
...@@ -100,13 +105,18 @@ addMenu p = R.createElement addMenuCpt p [] ...@@ -100,13 +105,18 @@ addMenu p = R.createElement addMenuCpt p []
addMenuCpt :: R.Component AddMenuProps addMenuCpt :: R.Component AddMenuProps
addMenuCpt = R2.hooksComponent thisModule "addMenu" cpt addMenuCpt = R2.hooksComponent thisModule "addMenu" cpt
where where
cpt { menuRef } _ = do cpt { menuRef, showMenuRef } _ = do
(mMenu /\ setmMenu) <- R.useState' (Nothing :: Maybe AnnotationMenu) (mMenu /\ setmMenu) <- R.useState' (Nothing :: Maybe AnnotationMenu)
R.useEffect' $ do
R.setRef showMenuRef $ Just $ \_ -> do
log "[addMenu] showMenuRef called"
setmMenu $ const $ R.readRef menuRef
R.useEffect' $ do R.useEffect' $ do
let m = R.readRef menuRef let m = R.readRef menuRef
log2 "[addMenu] menuRef" m -- log2 "[addMenu] menuRef" m
log2 "[addMenu] mMenu" mMenu -- log2 "[addMenu] mMenu" mMenu
setmMenu $ const m setmMenu $ const m
pure $ case mMenu of pure $ case mMenu of
...@@ -114,7 +124,7 @@ addMenuCpt = R2.hooksComponent thisModule "addMenu" cpt ...@@ -114,7 +124,7 @@ addMenuCpt = R2.hooksComponent thisModule "addMenu" cpt
Just menu -> annotationMenu setmMenu menu Just menu -> annotationMenu setmMenu menu
-- forall e. IsMouseEvent e => R2.Setter (Maybe AnnotationMenu) -> R2.Setter ? -> ? -> e -> Effect Unit -- forall e. IsMouseEvent e => R2.Setter (Maybe AnnotationMenu) -> R2.Setter ? -> ? -> e -> Effect Unit
maybeShowMenu setMenu menuRef setTermList ngrams event = do maybeShowMenu setMenu showMenuRef menuRef setTermList ngrams event = do
s <- Sel.getSelection s <- Sel.getSelection
log2 "[maybeShowMenu] s" s log2 "[maybeShowMenu] s" s
case s of case s of
...@@ -143,6 +153,9 @@ maybeShowMenu setMenu menuRef setTermList ngrams event = do ...@@ -143,6 +153,9 @@ maybeShowMenu setMenu menuRef setTermList ngrams event = do
} }
--setMenu (const $ menu) --setMenu (const $ menu)
R.setRef menuRef menu R.setRef menuRef menu
case R.readRef showMenuRef of
Nothing -> pure unit
Just showMenu -> showMenu unit
Nothing -> pure unit Nothing -> pure unit
-- Nothing -> do -- Nothing -> do
-- R.setRef menuRef Nothing -- R.setRef menuRef Nothing
......
...@@ -157,11 +157,11 @@ nodeMainSpan isLeaf p@{ dispatch, folderOpen, frontends, handed, session } = R.c ...@@ -157,11 +157,11 @@ nodeMainSpan isLeaf p@{ dispatch, folderOpen, frontends, handed, session } = R.c
mNodePopupView props@{id, nodeType} onPopoverClose = mNodePopupView props@{id, nodeType} onPopoverClose =
nodePopupView { id nodePopupView { id
, dispatch , dispatch
, handed : props.handed
, name: name' props , name: name' props
, nodeType , nodeType
, onPopoverClose , onPopoverClose
, session , session
, handed : props.handed
} }
dropProps droppedFile isDragOver = dropProps droppedFile isDragOver =
......
...@@ -87,11 +87,11 @@ nodePopupCpt = R2.hooksComponent thisModule "nodePopupView" cpt ...@@ -87,11 +87,11 @@ nodePopupCpt = R2.hooksComponent thisModule "nodePopupView" cpt
] ]
where where
tooltipProps = { className : "" tooltipProps = { className : ""
, id : "node-popup-tooltip"
, title : "Node settings"
, data: { toggle : "tooltip" , data: { toggle : "tooltip"
, placement: "right" , placement: "right"
} }
, id : "node-popup-tooltip"
, title : "Node settings"
--, style: { top: y - 65.0, left: x + 10.0 } --, style: { top: y - 65.0, left: x + 10.0 }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment