{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.HTMLFieldSetElement
       (checkValidity, checkValidity_, reportValidity, reportValidity_,
        setCustomValidity, setDisabled, getDisabled, getForm, setName,
        getName, getType, getElements, getWillValidate, getValidity,
        getValidationMessage, HTMLFieldSetElement(..),
        gTypeHTMLFieldSetElement)
       where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.checkValidity Mozilla HTMLFieldSetElement.checkValidity documentation> 
checkValidity :: (MonadDOM m) => HTMLFieldSetElement -> m Bool
checkValidity :: forall (m :: * -> *). MonadDOM m => HTMLFieldSetElement -> m Bool
checkValidity HTMLFieldSetElement
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"checkValidity" ()) JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.checkValidity Mozilla HTMLFieldSetElement.checkValidity documentation> 
checkValidity_ :: (MonadDOM m) => HTMLFieldSetElement -> m ()
checkValidity_ :: forall (m :: * -> *). MonadDOM m => HTMLFieldSetElement -> m ()
checkValidity_ HTMLFieldSetElement
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"checkValidity" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.reportValidity Mozilla HTMLFieldSetElement.reportValidity documentation> 
reportValidity :: (MonadDOM m) => HTMLFieldSetElement -> m Bool
reportValidity :: forall (m :: * -> *). MonadDOM m => HTMLFieldSetElement -> m Bool
reportValidity HTMLFieldSetElement
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"reportValidity" ()) JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.reportValidity Mozilla HTMLFieldSetElement.reportValidity documentation> 
reportValidity_ :: (MonadDOM m) => HTMLFieldSetElement -> m ()
reportValidity_ :: forall (m :: * -> *). MonadDOM m => HTMLFieldSetElement -> m ()
reportValidity_ HTMLFieldSetElement
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"reportValidity" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.setCustomValidity Mozilla HTMLFieldSetElement.setCustomValidity documentation> 
setCustomValidity ::
                  (MonadDOM m, ToJSString error) =>
                    HTMLFieldSetElement -> error -> m ()
setCustomValidity :: forall (m :: * -> *) error.
(MonadDOM m, ToJSString error) =>
HTMLFieldSetElement -> error -> m ()
setCustomValidity HTMLFieldSetElement
self error
error
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setCustomValidity" [error -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal error
error]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.disabled Mozilla HTMLFieldSetElement.disabled documentation> 
setDisabled :: (MonadDOM m) => HTMLFieldSetElement -> Bool -> m ()
setDisabled :: forall (m :: * -> *).
MonadDOM m =>
HTMLFieldSetElement -> Bool -> m ()
setDisabled HTMLFieldSetElement
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (DOM ()) HTMLFieldSetElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"disabled" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.disabled Mozilla HTMLFieldSetElement.disabled documentation> 
getDisabled :: (MonadDOM m) => HTMLFieldSetElement -> m Bool
getDisabled :: forall (m :: * -> *). MonadDOM m => HTMLFieldSetElement -> m Bool
getDisabled HTMLFieldSetElement
self = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"disabled") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.form Mozilla HTMLFieldSetElement.form documentation> 
getForm :: (MonadDOM m) => HTMLFieldSetElement -> m HTMLFormElement
getForm :: forall (m :: * -> *).
MonadDOM m =>
HTMLFieldSetElement -> m HTMLFormElement
getForm HTMLFieldSetElement
self = DOM HTMLFormElement -> m HTMLFormElement
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"form") JSM JSVal -> (JSVal -> DOM HTMLFormElement) -> DOM HTMLFormElement
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM HTMLFormElement
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.name Mozilla HTMLFieldSetElement.name documentation> 
setName ::
        (MonadDOM m, ToJSString val) => HTMLFieldSetElement -> val -> m ()
setName :: forall (m :: * -> *) error.
(MonadDOM m, ToJSString error) =>
HTMLFieldSetElement -> error -> m ()
setName HTMLFieldSetElement
self val
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (DOM ()) HTMLFieldSetElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"name" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.name Mozilla HTMLFieldSetElement.name documentation> 
getName ::
        (MonadDOM m, FromJSString result) =>
          HTMLFieldSetElement -> m result
getName :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
HTMLFieldSetElement -> m result
getName HTMLFieldSetElement
self = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"name") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.type Mozilla HTMLFieldSetElement.type documentation> 
getType ::
        (MonadDOM m, FromJSString result) =>
          HTMLFieldSetElement -> m result
getType :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
HTMLFieldSetElement -> m result
getType HTMLFieldSetElement
self = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"type") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.elements Mozilla HTMLFieldSetElement.elements documentation> 
getElements ::
            (MonadDOM m) => HTMLFieldSetElement -> m HTMLFormControlsCollection
getElements :: forall (m :: * -> *).
MonadDOM m =>
HTMLFieldSetElement -> m HTMLFormControlsCollection
getElements HTMLFieldSetElement
self
  = DOM HTMLFormControlsCollection -> m HTMLFormControlsCollection
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"elements") JSM JSVal
-> (JSVal -> DOM HTMLFormControlsCollection)
-> DOM HTMLFormControlsCollection
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM HTMLFormControlsCollection
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.willValidate Mozilla HTMLFieldSetElement.willValidate documentation> 
getWillValidate :: (MonadDOM m) => HTMLFieldSetElement -> m Bool
getWillValidate :: forall (m :: * -> *). MonadDOM m => HTMLFieldSetElement -> m Bool
getWillValidate HTMLFieldSetElement
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"willValidate") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.validity Mozilla HTMLFieldSetElement.validity documentation> 
getValidity ::
            (MonadDOM m) => HTMLFieldSetElement -> m ValidityState
getValidity :: forall (m :: * -> *).
MonadDOM m =>
HTMLFieldSetElement -> m ValidityState
getValidity HTMLFieldSetElement
self
  = DOM ValidityState -> m ValidityState
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"validity") JSM JSVal -> (JSVal -> DOM ValidityState) -> DOM ValidityState
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM ValidityState
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.validationMessage Mozilla HTMLFieldSetElement.validationMessage documentation> 
getValidationMessage ::
                     (MonadDOM m, FromJSString result) =>
                       HTMLFieldSetElement -> m result
getValidationMessage :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
HTMLFieldSetElement -> m result
getValidationMessage HTMLFieldSetElement
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((HTMLFieldSetElement
self HTMLFieldSetElement
-> Getting (JSM JSVal) HTMLFieldSetElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter HTMLFieldSetElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"validationMessage") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)