on develop help sign in
listDropdown
commitda555a05e50a95d3045a1ac82f2d6cebe04f9329 authorAli Abrar <aliabrar@gmail.com> dateFri 6 Mar 2015, 16:16 (12 years ago) parent7032bec
1 file changed+6
src/Reflex/Dom/Widget/Input.hs+6
src/Reflex/Dom/Widget/Input.hs+6
@@ -257,6 +257,12 @@ dropdown' k0 ks = do
257257 dValue <- mapDyn readKey =<< holdDyn (Just k0) eChange
258258 return $ Dropdown dValue
259259
260+listDropdown :: (MonadWidget t m) => Dynamic t [a] -> (a -> String) -> Dynamic t (Map String String) -> String -> m (Dynamic t (Maybe a))
261+listDropdown xs f attrs defS = do
262+ m <- mapDyn (Map.fromList . zip [(1::Int)..]) xs
263+ sel <- liftM _dropdown_value $ dropdownDynAttr attrs 0 never =<< mapDyn ((Map.insert 0 defS) . Map.map f) m
264+ combineDyn Map.lookup sel m
265+
260266--TODO Remove CSS Classes
261267searchInputResult :: forall t m a. MonadWidget t m => Dynamic t (String, a) -> m (Event t (String, a))
262268searchInputResult r = el "li" $ do