{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.QuickSight.Types.AxisDisplayOptions where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.QuickSight.Types.AxisDataOptions
import Amazonka.QuickSight.Types.AxisTickLabelOptions
import Amazonka.QuickSight.Types.ScrollBarOptions
import Amazonka.QuickSight.Types.Visibility
data AxisDisplayOptions = AxisDisplayOptions'
{
AxisDisplayOptions -> Maybe Visibility
axisLineVisibility :: Prelude.Maybe Visibility,
AxisDisplayOptions -> Maybe Text
axisOffset :: Prelude.Maybe Prelude.Text,
AxisDisplayOptions -> Maybe AxisDataOptions
dataOptions :: Prelude.Maybe AxisDataOptions,
AxisDisplayOptions -> Maybe Visibility
gridLineVisibility :: Prelude.Maybe Visibility,
AxisDisplayOptions -> Maybe ScrollBarOptions
scrollbarOptions :: Prelude.Maybe ScrollBarOptions,
AxisDisplayOptions -> Maybe AxisTickLabelOptions
tickLabelOptions :: Prelude.Maybe AxisTickLabelOptions
}
deriving (AxisDisplayOptions -> AxisDisplayOptions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AxisDisplayOptions -> AxisDisplayOptions -> Bool
$c/= :: AxisDisplayOptions -> AxisDisplayOptions -> Bool
== :: AxisDisplayOptions -> AxisDisplayOptions -> Bool
$c== :: AxisDisplayOptions -> AxisDisplayOptions -> Bool
Prelude.Eq, ReadPrec [AxisDisplayOptions]
ReadPrec AxisDisplayOptions
Int -> ReadS AxisDisplayOptions
ReadS [AxisDisplayOptions]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AxisDisplayOptions]
$creadListPrec :: ReadPrec [AxisDisplayOptions]
readPrec :: ReadPrec AxisDisplayOptions
$creadPrec :: ReadPrec AxisDisplayOptions
readList :: ReadS [AxisDisplayOptions]
$creadList :: ReadS [AxisDisplayOptions]
readsPrec :: Int -> ReadS AxisDisplayOptions
$creadsPrec :: Int -> ReadS AxisDisplayOptions
Prelude.Read, Int -> AxisDisplayOptions -> ShowS
[AxisDisplayOptions] -> ShowS
AxisDisplayOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AxisDisplayOptions] -> ShowS
$cshowList :: [AxisDisplayOptions] -> ShowS
show :: AxisDisplayOptions -> String
$cshow :: AxisDisplayOptions -> String
showsPrec :: Int -> AxisDisplayOptions -> ShowS
$cshowsPrec :: Int -> AxisDisplayOptions -> ShowS
Prelude.Show, forall x. Rep AxisDisplayOptions x -> AxisDisplayOptions
forall x. AxisDisplayOptions -> Rep AxisDisplayOptions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AxisDisplayOptions x -> AxisDisplayOptions
$cfrom :: forall x. AxisDisplayOptions -> Rep AxisDisplayOptions x
Prelude.Generic)
newAxisDisplayOptions ::
AxisDisplayOptions
newAxisDisplayOptions :: AxisDisplayOptions
newAxisDisplayOptions =
AxisDisplayOptions'
{ $sel:axisLineVisibility:AxisDisplayOptions' :: Maybe Visibility
axisLineVisibility =
forall a. Maybe a
Prelude.Nothing,
$sel:axisOffset:AxisDisplayOptions' :: Maybe Text
axisOffset = forall a. Maybe a
Prelude.Nothing,
$sel:dataOptions:AxisDisplayOptions' :: Maybe AxisDataOptions
dataOptions = forall a. Maybe a
Prelude.Nothing,
$sel:gridLineVisibility:AxisDisplayOptions' :: Maybe Visibility
gridLineVisibility = forall a. Maybe a
Prelude.Nothing,
$sel:scrollbarOptions:AxisDisplayOptions' :: Maybe ScrollBarOptions
scrollbarOptions = forall a. Maybe a
Prelude.Nothing,
$sel:tickLabelOptions:AxisDisplayOptions' :: Maybe AxisTickLabelOptions
tickLabelOptions = forall a. Maybe a
Prelude.Nothing
}
axisDisplayOptions_axisLineVisibility :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe Visibility)
axisDisplayOptions_axisLineVisibility :: Lens' AxisDisplayOptions (Maybe Visibility)
axisDisplayOptions_axisLineVisibility = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AxisDisplayOptions' {Maybe Visibility
axisLineVisibility :: Maybe Visibility
$sel:axisLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
axisLineVisibility} -> Maybe Visibility
axisLineVisibility) (\s :: AxisDisplayOptions
s@AxisDisplayOptions' {} Maybe Visibility
a -> AxisDisplayOptions
s {$sel:axisLineVisibility:AxisDisplayOptions' :: Maybe Visibility
axisLineVisibility = Maybe Visibility
a} :: AxisDisplayOptions)
axisDisplayOptions_axisOffset :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe Prelude.Text)
axisDisplayOptions_axisOffset :: Lens' AxisDisplayOptions (Maybe Text)
axisDisplayOptions_axisOffset = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AxisDisplayOptions' {Maybe Text
axisOffset :: Maybe Text
$sel:axisOffset:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Text
axisOffset} -> Maybe Text
axisOffset) (\s :: AxisDisplayOptions
s@AxisDisplayOptions' {} Maybe Text
a -> AxisDisplayOptions
s {$sel:axisOffset:AxisDisplayOptions' :: Maybe Text
axisOffset = Maybe Text
a} :: AxisDisplayOptions)
axisDisplayOptions_dataOptions :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe AxisDataOptions)
axisDisplayOptions_dataOptions :: Lens' AxisDisplayOptions (Maybe AxisDataOptions)
axisDisplayOptions_dataOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AxisDisplayOptions' {Maybe AxisDataOptions
dataOptions :: Maybe AxisDataOptions
$sel:dataOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisDataOptions
dataOptions} -> Maybe AxisDataOptions
dataOptions) (\s :: AxisDisplayOptions
s@AxisDisplayOptions' {} Maybe AxisDataOptions
a -> AxisDisplayOptions
s {$sel:dataOptions:AxisDisplayOptions' :: Maybe AxisDataOptions
dataOptions = Maybe AxisDataOptions
a} :: AxisDisplayOptions)
axisDisplayOptions_gridLineVisibility :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe Visibility)
axisDisplayOptions_gridLineVisibility :: Lens' AxisDisplayOptions (Maybe Visibility)
axisDisplayOptions_gridLineVisibility = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AxisDisplayOptions' {Maybe Visibility
gridLineVisibility :: Maybe Visibility
$sel:gridLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
gridLineVisibility} -> Maybe Visibility
gridLineVisibility) (\s :: AxisDisplayOptions
s@AxisDisplayOptions' {} Maybe Visibility
a -> AxisDisplayOptions
s {$sel:gridLineVisibility:AxisDisplayOptions' :: Maybe Visibility
gridLineVisibility = Maybe Visibility
a} :: AxisDisplayOptions)
axisDisplayOptions_scrollbarOptions :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe ScrollBarOptions)
axisDisplayOptions_scrollbarOptions :: Lens' AxisDisplayOptions (Maybe ScrollBarOptions)
axisDisplayOptions_scrollbarOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AxisDisplayOptions' {Maybe ScrollBarOptions
scrollbarOptions :: Maybe ScrollBarOptions
$sel:scrollbarOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe ScrollBarOptions
scrollbarOptions} -> Maybe ScrollBarOptions
scrollbarOptions) (\s :: AxisDisplayOptions
s@AxisDisplayOptions' {} Maybe ScrollBarOptions
a -> AxisDisplayOptions
s {$sel:scrollbarOptions:AxisDisplayOptions' :: Maybe ScrollBarOptions
scrollbarOptions = Maybe ScrollBarOptions
a} :: AxisDisplayOptions)
axisDisplayOptions_tickLabelOptions :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe AxisTickLabelOptions)
axisDisplayOptions_tickLabelOptions :: Lens' AxisDisplayOptions (Maybe AxisTickLabelOptions)
axisDisplayOptions_tickLabelOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AxisDisplayOptions' {Maybe AxisTickLabelOptions
tickLabelOptions :: Maybe AxisTickLabelOptions
$sel:tickLabelOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisTickLabelOptions
tickLabelOptions} -> Maybe AxisTickLabelOptions
tickLabelOptions) (\s :: AxisDisplayOptions
s@AxisDisplayOptions' {} Maybe AxisTickLabelOptions
a -> AxisDisplayOptions
s {$sel:tickLabelOptions:AxisDisplayOptions' :: Maybe AxisTickLabelOptions
tickLabelOptions = Maybe AxisTickLabelOptions
a} :: AxisDisplayOptions)
instance Data.FromJSON AxisDisplayOptions where
parseJSON :: Value -> Parser AxisDisplayOptions
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"AxisDisplayOptions"
( \Object
x ->
Maybe Visibility
-> Maybe Text
-> Maybe AxisDataOptions
-> Maybe Visibility
-> Maybe ScrollBarOptions
-> Maybe AxisTickLabelOptions
-> AxisDisplayOptions
AxisDisplayOptions'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"AxisLineVisibility")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"AxisOffset")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DataOptions")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"GridLineVisibility")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ScrollbarOptions")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"TickLabelOptions")
)
instance Prelude.Hashable AxisDisplayOptions where
hashWithSalt :: Int -> AxisDisplayOptions -> Int
hashWithSalt Int
_salt AxisDisplayOptions' {Maybe Text
Maybe Visibility
Maybe AxisTickLabelOptions
Maybe AxisDataOptions
Maybe ScrollBarOptions
tickLabelOptions :: Maybe AxisTickLabelOptions
scrollbarOptions :: Maybe ScrollBarOptions
gridLineVisibility :: Maybe Visibility
dataOptions :: Maybe AxisDataOptions
axisOffset :: Maybe Text
axisLineVisibility :: Maybe Visibility
$sel:tickLabelOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisTickLabelOptions
$sel:scrollbarOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe ScrollBarOptions
$sel:gridLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
$sel:dataOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisDataOptions
$sel:axisOffset:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Text
$sel:axisLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Visibility
axisLineVisibility
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
axisOffset
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AxisDataOptions
dataOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Visibility
gridLineVisibility
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ScrollBarOptions
scrollbarOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AxisTickLabelOptions
tickLabelOptions
instance Prelude.NFData AxisDisplayOptions where
rnf :: AxisDisplayOptions -> ()
rnf AxisDisplayOptions' {Maybe Text
Maybe Visibility
Maybe AxisTickLabelOptions
Maybe AxisDataOptions
Maybe ScrollBarOptions
tickLabelOptions :: Maybe AxisTickLabelOptions
scrollbarOptions :: Maybe ScrollBarOptions
gridLineVisibility :: Maybe Visibility
dataOptions :: Maybe AxisDataOptions
axisOffset :: Maybe Text
axisLineVisibility :: Maybe Visibility
$sel:tickLabelOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisTickLabelOptions
$sel:scrollbarOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe ScrollBarOptions
$sel:gridLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
$sel:dataOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisDataOptions
$sel:axisOffset:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Text
$sel:axisLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Visibility
axisLineVisibility
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
axisOffset
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AxisDataOptions
dataOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Visibility
gridLineVisibility
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ScrollBarOptions
scrollbarOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AxisTickLabelOptions
tickLabelOptions
instance Data.ToJSON AxisDisplayOptions where
toJSON :: AxisDisplayOptions -> Value
toJSON AxisDisplayOptions' {Maybe Text
Maybe Visibility
Maybe AxisTickLabelOptions
Maybe AxisDataOptions
Maybe ScrollBarOptions
tickLabelOptions :: Maybe AxisTickLabelOptions
scrollbarOptions :: Maybe ScrollBarOptions
gridLineVisibility :: Maybe Visibility
dataOptions :: Maybe AxisDataOptions
axisOffset :: Maybe Text
axisLineVisibility :: Maybe Visibility
$sel:tickLabelOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisTickLabelOptions
$sel:scrollbarOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe ScrollBarOptions
$sel:gridLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
$sel:dataOptions:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe AxisDataOptions
$sel:axisOffset:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Text
$sel:axisLineVisibility:AxisDisplayOptions' :: AxisDisplayOptions -> Maybe Visibility
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AxisLineVisibility" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Visibility
axisLineVisibility,
(Key
"AxisOffset" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
axisOffset,
(Key
"DataOptions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AxisDataOptions
dataOptions,
(Key
"GridLineVisibility" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Visibility
gridLineVisibility,
(Key
"ScrollbarOptions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ScrollBarOptions
scrollbarOptions,
(Key
"TickLabelOptions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AxisTickLabelOptions
tickLabelOptions
]
)