jsaddle-dom-0.10.0.0: src/JSDOM/Generated/HTMLSelectElement.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.HTMLSelectElement
(add, checkValidity, checkValidity_, item, item_, itemUnsafe, itemUnchecked, namedItem, namedItem_, namedItemUnsafe, namedItemUnchecked, removeThis, remove, reportValidity, reportValidity_, setCustomValidity, showPicker, setAutocomplete, getAutocomplete, setDisabled, getDisabled, getForm, getFormUnsafe, getFormUnchecked, setMultiple, getMultiple, setName, getName, setRequired, getRequired, setSize, getSize, getType, getOptions, setLength, getLength, getSelectedOptions, setSelectedIndex, getSelectedIndex, setValue, getValue, getWillValidate, getValidity, getValidationMessage, getLabels, HTMLSelectElement(..), gTypeHTMLSelectElement)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/add MDN HTMLSelectElement.add documentation>
add :: (MonadDOM m, IsHTMLOptionElementOrHTMLOptGroupElement element, IsHTMLElementOrInt before) => HTMLSelectElement -> element -> Maybe before -> m ()
add self element before = liftDOM (void (self ^. jsf "add" [toJSVal element, toJSVal before]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/checkValidity MDN HTMLSelectElement.checkValidity documentation>
checkValidity :: (MonadDOM m) => HTMLSelectElement -> m Bool
checkValidity self = liftDOM (((self ^. jsf "checkValidity" ()) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/checkValidity MDN HTMLSelectElement.checkValidity documentation>
checkValidity_ :: (MonadDOM m) => HTMLSelectElement -> m ()
checkValidity_ self = liftDOM (void (self ^. jsf "checkValidity" ()))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/item MDN HTMLSelectElement.item documentation>
item :: (MonadDOM m) => HTMLSelectElement -> Word -> m (Maybe HTMLOptionElement)
item self index = liftDOM (((self ^. jsf "item" [toJSVal index]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/item MDN HTMLSelectElement.item documentation>
item_ :: (MonadDOM m) => HTMLSelectElement -> Word -> m ()
item_ self index = liftDOM (void (self ^. jsf "item" [toJSVal index]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/item MDN HTMLSelectElement.item documentation>
itemUnsafe :: (MonadDOM m, HasCallStack) => HTMLSelectElement -> Word -> m HTMLOptionElement
itemUnsafe self index = liftDOM ((((self ^. jsf "item" [toJSVal index]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/item MDN HTMLSelectElement.item documentation>
itemUnchecked :: (MonadDOM m) => HTMLSelectElement -> Word -> m HTMLOptionElement
itemUnchecked self index = liftDOM (((self ^. jsf "item" [toJSVal index]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/namedItem MDN HTMLSelectElement.namedItem documentation>
namedItem :: (MonadDOM m, ToJSString name) => HTMLSelectElement -> name -> m (Maybe HTMLOptionElement)
namedItem self name = liftDOM (((self ^. jsf "namedItem" [toJSVal name]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/namedItem MDN HTMLSelectElement.namedItem documentation>
namedItem_ :: (MonadDOM m, ToJSString name) => HTMLSelectElement -> name -> m ()
namedItem_ self name = liftDOM (void (self ^. jsf "namedItem" [toJSVal name]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/namedItem MDN HTMLSelectElement.namedItem documentation>
namedItemUnsafe :: (MonadDOM m, ToJSString name, HasCallStack) => HTMLSelectElement -> name -> m HTMLOptionElement
namedItemUnsafe self name = liftDOM ((((self ^. jsf "namedItem" [toJSVal name]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/namedItem MDN HTMLSelectElement.namedItem documentation>
namedItemUnchecked :: (MonadDOM m, ToJSString name) => HTMLSelectElement -> name -> m HTMLOptionElement
namedItemUnchecked self name = liftDOM (((self ^. jsf "namedItem" [toJSVal name]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/remove MDN HTMLSelectElement.remove documentation>
removeThis :: (MonadDOM m) => HTMLSelectElement -> m ()
removeThis self = liftDOM (void (self ^. jsf "remove" ()))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/remove MDN HTMLSelectElement.remove documentation>
remove :: (MonadDOM m) => HTMLSelectElement -> Int -> m ()
remove self index = liftDOM (void (self ^. jsf "remove" [toJSVal index]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/reportValidity MDN HTMLSelectElement.reportValidity documentation>
reportValidity :: (MonadDOM m) => HTMLSelectElement -> m Bool
reportValidity self = liftDOM (((self ^. jsf "reportValidity" ()) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/reportValidity MDN HTMLSelectElement.reportValidity documentation>
reportValidity_ :: (MonadDOM m) => HTMLSelectElement -> m ()
reportValidity_ self = liftDOM (void (self ^. jsf "reportValidity" ()))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/setCustomValidity MDN HTMLSelectElement.setCustomValidity documentation>
setCustomValidity :: (MonadDOM m, ToJSString error) => HTMLSelectElement -> error -> m ()
setCustomValidity self error = liftDOM (void (self ^. jsf "setCustomValidity" [toJSVal error]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/showPicker MDN HTMLSelectElement.showPicker documentation>
showPicker :: (MonadDOM m) => HTMLSelectElement -> m ()
showPicker self = liftDOM (void (self ^. jsf "showPicker" ()))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/autocomplete MDN HTMLSelectElement.autocomplete documentation>
setAutocomplete :: (MonadDOM m, ToJSString val) => HTMLSelectElement -> val -> m ()
setAutocomplete self val = liftDOM (void (self ^. jss "autocomplete" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/autocomplete MDN HTMLSelectElement.autocomplete documentation>
getAutocomplete :: (MonadDOM m, FromJSString result) => HTMLSelectElement -> m result
getAutocomplete self = liftDOM (((self ^. js "autocomplete") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/disabled MDN HTMLSelectElement.disabled documentation>
setDisabled :: (MonadDOM m) => HTMLSelectElement -> Bool -> m ()
setDisabled self val = liftDOM (void (self ^. jss "disabled" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/disabled MDN HTMLSelectElement.disabled documentation>
getDisabled :: (MonadDOM m) => HTMLSelectElement -> m Bool
getDisabled self = liftDOM (((self ^. js "disabled") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/form MDN HTMLSelectElement.form documentation>
getForm :: (MonadDOM m) => HTMLSelectElement -> m (Maybe HTMLFormElement)
getForm self = liftDOM (((self ^. js "form") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/form MDN HTMLSelectElement.form documentation>
getFormUnsafe :: (MonadDOM m, HasCallStack) => HTMLSelectElement -> m HTMLFormElement
getFormUnsafe self = liftDOM ((((self ^. js "form") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/form MDN HTMLSelectElement.form documentation>
getFormUnchecked :: (MonadDOM m) => HTMLSelectElement -> m HTMLFormElement
getFormUnchecked self = liftDOM (((self ^. js "form") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/multiple MDN HTMLSelectElement.multiple documentation>
setMultiple :: (MonadDOM m) => HTMLSelectElement -> Bool -> m ()
setMultiple self val = liftDOM (void (self ^. jss "multiple" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/multiple MDN HTMLSelectElement.multiple documentation>
getMultiple :: (MonadDOM m) => HTMLSelectElement -> m Bool
getMultiple self = liftDOM (((self ^. js "multiple") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/name MDN HTMLSelectElement.name documentation>
setName :: (MonadDOM m, ToJSString val) => HTMLSelectElement -> val -> m ()
setName self val = liftDOM (void (self ^. jss "name" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/name MDN HTMLSelectElement.name documentation>
getName :: (MonadDOM m, FromJSString result) => HTMLSelectElement -> m result
getName self = liftDOM (((self ^. js "name") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/required MDN HTMLSelectElement.required documentation>
setRequired :: (MonadDOM m) => HTMLSelectElement -> Bool -> m ()
setRequired self val = liftDOM (void (self ^. jss "required" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/required MDN HTMLSelectElement.required documentation>
getRequired :: (MonadDOM m) => HTMLSelectElement -> m Bool
getRequired self = liftDOM (((self ^. js "required") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/size MDN HTMLSelectElement.size documentation>
setSize :: (MonadDOM m) => HTMLSelectElement -> Word -> m ()
setSize self val = liftDOM (void (self ^. jss "size" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/size MDN HTMLSelectElement.size documentation>
getSize :: (MonadDOM m) => HTMLSelectElement -> m Word
getSize self = liftDOM ((P.round <$> ((self ^. js "size") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/type MDN HTMLSelectElement.type documentation>
getType :: (MonadDOM m, FromJSString result) => HTMLSelectElement -> m result
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/options MDN HTMLSelectElement.options documentation>
getOptions :: (MonadDOM m) => HTMLSelectElement -> m HTMLOptionsCollection
getOptions self = liftDOM (((self ^. js "options") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/length MDN HTMLSelectElement.length documentation>
setLength :: (MonadDOM m) => HTMLSelectElement -> Word -> m ()
setLength self val = liftDOM (void (self ^. jss "length" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/length MDN HTMLSelectElement.length documentation>
getLength :: (MonadDOM m) => HTMLSelectElement -> m Word
getLength self = liftDOM ((P.round <$> ((self ^. js "length") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/selectedOptions MDN HTMLSelectElement.selectedOptions documentation>
getSelectedOptions :: (MonadDOM m) => HTMLSelectElement -> m HTMLCollection
getSelectedOptions self = liftDOM (((self ^. js "selectedOptions") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/selectedIndex MDN HTMLSelectElement.selectedIndex documentation>
setSelectedIndex :: (MonadDOM m) => HTMLSelectElement -> Int -> m ()
setSelectedIndex self val = liftDOM (void (self ^. jss "selectedIndex" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/selectedIndex MDN HTMLSelectElement.selectedIndex documentation>
getSelectedIndex :: (MonadDOM m) => HTMLSelectElement -> m Int
getSelectedIndex self = liftDOM ((P.round <$> ((self ^. js "selectedIndex") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/value MDN HTMLSelectElement.value documentation>
setValue :: (MonadDOM m, ToJSString val) => HTMLSelectElement -> val -> m ()
setValue self val = liftDOM (void (self ^. jss "value" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/value MDN HTMLSelectElement.value documentation>
getValue :: (MonadDOM m, FromJSString result) => HTMLSelectElement -> m result
getValue self = liftDOM (((self ^. js "value") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/willValidate MDN HTMLSelectElement.willValidate documentation>
getWillValidate :: (MonadDOM m) => HTMLSelectElement -> m Bool
getWillValidate self = liftDOM (((self ^. js "willValidate") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/validity MDN HTMLSelectElement.validity documentation>
getValidity :: (MonadDOM m) => HTMLSelectElement -> m ValidityState
getValidity self = liftDOM (((self ^. js "validity") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/validationMessage MDN HTMLSelectElement.validationMessage documentation>
getValidationMessage :: (MonadDOM m, FromJSString result) => HTMLSelectElement -> m result
getValidationMessage self = liftDOM (((self ^. js "validationMessage") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/labels MDN HTMLSelectElement.labels documentation>
getLabels :: (MonadDOM m) => HTMLSelectElement -> m NodeList
getLabels self = liftDOM (((self ^. js "labels") >>= fromJSValUnchecked))