{-# 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.ColumnTooltipItem 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.AggregationFunction
import Amazonka.QuickSight.Types.ColumnIdentifier
import Amazonka.QuickSight.Types.Visibility
data ColumnTooltipItem = ColumnTooltipItem'
{
ColumnTooltipItem -> Maybe AggregationFunction
aggregation :: Prelude.Maybe AggregationFunction,
ColumnTooltipItem -> Maybe Text
label :: Prelude.Maybe Prelude.Text,
ColumnTooltipItem -> Maybe Visibility
visibility :: Prelude.Maybe Visibility,
ColumnTooltipItem -> ColumnIdentifier
column :: ColumnIdentifier
}
deriving (ColumnTooltipItem -> ColumnTooltipItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColumnTooltipItem -> ColumnTooltipItem -> Bool
$c/= :: ColumnTooltipItem -> ColumnTooltipItem -> Bool
== :: ColumnTooltipItem -> ColumnTooltipItem -> Bool
$c== :: ColumnTooltipItem -> ColumnTooltipItem -> Bool
Prelude.Eq, ReadPrec [ColumnTooltipItem]
ReadPrec ColumnTooltipItem
Int -> ReadS ColumnTooltipItem
ReadS [ColumnTooltipItem]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ColumnTooltipItem]
$creadListPrec :: ReadPrec [ColumnTooltipItem]
readPrec :: ReadPrec ColumnTooltipItem
$creadPrec :: ReadPrec ColumnTooltipItem
readList :: ReadS [ColumnTooltipItem]
$creadList :: ReadS [ColumnTooltipItem]
readsPrec :: Int -> ReadS ColumnTooltipItem
$creadsPrec :: Int -> ReadS ColumnTooltipItem
Prelude.Read, Int -> ColumnTooltipItem -> ShowS
[ColumnTooltipItem] -> ShowS
ColumnTooltipItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ColumnTooltipItem] -> ShowS
$cshowList :: [ColumnTooltipItem] -> ShowS
show :: ColumnTooltipItem -> String
$cshow :: ColumnTooltipItem -> String
showsPrec :: Int -> ColumnTooltipItem -> ShowS
$cshowsPrec :: Int -> ColumnTooltipItem -> ShowS
Prelude.Show, forall x. Rep ColumnTooltipItem x -> ColumnTooltipItem
forall x. ColumnTooltipItem -> Rep ColumnTooltipItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ColumnTooltipItem x -> ColumnTooltipItem
$cfrom :: forall x. ColumnTooltipItem -> Rep ColumnTooltipItem x
Prelude.Generic)
newColumnTooltipItem ::
ColumnIdentifier ->
ColumnTooltipItem
newColumnTooltipItem :: ColumnIdentifier -> ColumnTooltipItem
newColumnTooltipItem ColumnIdentifier
pColumn_ =
ColumnTooltipItem'
{ $sel:aggregation:ColumnTooltipItem' :: Maybe AggregationFunction
aggregation = forall a. Maybe a
Prelude.Nothing,
$sel:label:ColumnTooltipItem' :: Maybe Text
label = forall a. Maybe a
Prelude.Nothing,
$sel:visibility:ColumnTooltipItem' :: Maybe Visibility
visibility = forall a. Maybe a
Prelude.Nothing,
$sel:column:ColumnTooltipItem' :: ColumnIdentifier
column = ColumnIdentifier
pColumn_
}
columnTooltipItem_aggregation :: Lens.Lens' ColumnTooltipItem (Prelude.Maybe AggregationFunction)
columnTooltipItem_aggregation :: Lens' ColumnTooltipItem (Maybe AggregationFunction)
columnTooltipItem_aggregation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColumnTooltipItem' {Maybe AggregationFunction
aggregation :: Maybe AggregationFunction
$sel:aggregation:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe AggregationFunction
aggregation} -> Maybe AggregationFunction
aggregation) (\s :: ColumnTooltipItem
s@ColumnTooltipItem' {} Maybe AggregationFunction
a -> ColumnTooltipItem
s {$sel:aggregation:ColumnTooltipItem' :: Maybe AggregationFunction
aggregation = Maybe AggregationFunction
a} :: ColumnTooltipItem)
columnTooltipItem_label :: Lens.Lens' ColumnTooltipItem (Prelude.Maybe Prelude.Text)
columnTooltipItem_label :: Lens' ColumnTooltipItem (Maybe Text)
columnTooltipItem_label = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColumnTooltipItem' {Maybe Text
label :: Maybe Text
$sel:label:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Text
label} -> Maybe Text
label) (\s :: ColumnTooltipItem
s@ColumnTooltipItem' {} Maybe Text
a -> ColumnTooltipItem
s {$sel:label:ColumnTooltipItem' :: Maybe Text
label = Maybe Text
a} :: ColumnTooltipItem)
columnTooltipItem_visibility :: Lens.Lens' ColumnTooltipItem (Prelude.Maybe Visibility)
columnTooltipItem_visibility :: Lens' ColumnTooltipItem (Maybe Visibility)
columnTooltipItem_visibility = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColumnTooltipItem' {Maybe Visibility
visibility :: Maybe Visibility
$sel:visibility:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Visibility
visibility} -> Maybe Visibility
visibility) (\s :: ColumnTooltipItem
s@ColumnTooltipItem' {} Maybe Visibility
a -> ColumnTooltipItem
s {$sel:visibility:ColumnTooltipItem' :: Maybe Visibility
visibility = Maybe Visibility
a} :: ColumnTooltipItem)
columnTooltipItem_column :: Lens.Lens' ColumnTooltipItem ColumnIdentifier
columnTooltipItem_column :: Lens' ColumnTooltipItem ColumnIdentifier
columnTooltipItem_column = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColumnTooltipItem' {ColumnIdentifier
column :: ColumnIdentifier
$sel:column:ColumnTooltipItem' :: ColumnTooltipItem -> ColumnIdentifier
column} -> ColumnIdentifier
column) (\s :: ColumnTooltipItem
s@ColumnTooltipItem' {} ColumnIdentifier
a -> ColumnTooltipItem
s {$sel:column:ColumnTooltipItem' :: ColumnIdentifier
column = ColumnIdentifier
a} :: ColumnTooltipItem)
instance Data.FromJSON ColumnTooltipItem where
parseJSON :: Value -> Parser ColumnTooltipItem
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ColumnTooltipItem"
( \Object
x ->
Maybe AggregationFunction
-> Maybe Text
-> Maybe Visibility
-> ColumnIdentifier
-> ColumnTooltipItem
ColumnTooltipItem'
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
"Aggregation")
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
"Label")
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
"Visibility")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"Column")
)
instance Prelude.Hashable ColumnTooltipItem where
hashWithSalt :: Int -> ColumnTooltipItem -> Int
hashWithSalt Int
_salt ColumnTooltipItem' {Maybe Text
Maybe AggregationFunction
Maybe Visibility
ColumnIdentifier
column :: ColumnIdentifier
visibility :: Maybe Visibility
label :: Maybe Text
aggregation :: Maybe AggregationFunction
$sel:column:ColumnTooltipItem' :: ColumnTooltipItem -> ColumnIdentifier
$sel:visibility:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Visibility
$sel:label:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Text
$sel:aggregation:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe AggregationFunction
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AggregationFunction
aggregation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
label
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Visibility
visibility
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ColumnIdentifier
column
instance Prelude.NFData ColumnTooltipItem where
rnf :: ColumnTooltipItem -> ()
rnf ColumnTooltipItem' {Maybe Text
Maybe AggregationFunction
Maybe Visibility
ColumnIdentifier
column :: ColumnIdentifier
visibility :: Maybe Visibility
label :: Maybe Text
aggregation :: Maybe AggregationFunction
$sel:column:ColumnTooltipItem' :: ColumnTooltipItem -> ColumnIdentifier
$sel:visibility:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Visibility
$sel:label:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Text
$sel:aggregation:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe AggregationFunction
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AggregationFunction
aggregation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
label
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Visibility
visibility
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ColumnIdentifier
column
instance Data.ToJSON ColumnTooltipItem where
toJSON :: ColumnTooltipItem -> Value
toJSON ColumnTooltipItem' {Maybe Text
Maybe AggregationFunction
Maybe Visibility
ColumnIdentifier
column :: ColumnIdentifier
visibility :: Maybe Visibility
label :: Maybe Text
aggregation :: Maybe AggregationFunction
$sel:column:ColumnTooltipItem' :: ColumnTooltipItem -> ColumnIdentifier
$sel:visibility:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Visibility
$sel:label:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe Text
$sel:aggregation:ColumnTooltipItem' :: ColumnTooltipItem -> Maybe AggregationFunction
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Aggregation" 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 AggregationFunction
aggregation,
(Key
"Label" 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
label,
(Key
"Visibility" 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
visibility,
forall a. a -> Maybe a
Prelude.Just (Key
"Column" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ColumnIdentifier
column)
]
)