{-# 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.ComboChartVisual 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.ColumnHierarchy
import Amazonka.QuickSight.Types.ComboChartConfiguration
import Amazonka.QuickSight.Types.VisualCustomAction
import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions
import Amazonka.QuickSight.Types.VisualTitleLabelOptions
data ComboChartVisual = ComboChartVisual'
{
ComboChartVisual -> Maybe [VisualCustomAction]
actions :: Prelude.Maybe [VisualCustomAction],
ComboChartVisual -> Maybe ComboChartConfiguration
chartConfiguration :: Prelude.Maybe ComboChartConfiguration,
ComboChartVisual -> Maybe [ColumnHierarchy]
columnHierarchies :: Prelude.Maybe [ColumnHierarchy],
ComboChartVisual -> Maybe VisualSubtitleLabelOptions
subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,
ComboChartVisual -> Maybe VisualTitleLabelOptions
title :: Prelude.Maybe VisualTitleLabelOptions,
ComboChartVisual -> Text
visualId :: Prelude.Text
}
deriving (ComboChartVisual -> ComboChartVisual -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ComboChartVisual -> ComboChartVisual -> Bool
$c/= :: ComboChartVisual -> ComboChartVisual -> Bool
== :: ComboChartVisual -> ComboChartVisual -> Bool
$c== :: ComboChartVisual -> ComboChartVisual -> Bool
Prelude.Eq, Int -> ComboChartVisual -> ShowS
[ComboChartVisual] -> ShowS
ComboChartVisual -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ComboChartVisual] -> ShowS
$cshowList :: [ComboChartVisual] -> ShowS
show :: ComboChartVisual -> String
$cshow :: ComboChartVisual -> String
showsPrec :: Int -> ComboChartVisual -> ShowS
$cshowsPrec :: Int -> ComboChartVisual -> ShowS
Prelude.Show, forall x. Rep ComboChartVisual x -> ComboChartVisual
forall x. ComboChartVisual -> Rep ComboChartVisual x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ComboChartVisual x -> ComboChartVisual
$cfrom :: forall x. ComboChartVisual -> Rep ComboChartVisual x
Prelude.Generic)
newComboChartVisual ::
Prelude.Text ->
ComboChartVisual
newComboChartVisual :: Text -> ComboChartVisual
newComboChartVisual Text
pVisualId_ =
ComboChartVisual'
{ $sel:actions:ComboChartVisual' :: Maybe [VisualCustomAction]
actions = forall a. Maybe a
Prelude.Nothing,
$sel:chartConfiguration:ComboChartVisual' :: Maybe ComboChartConfiguration
chartConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:columnHierarchies:ComboChartVisual' :: Maybe [ColumnHierarchy]
columnHierarchies = forall a. Maybe a
Prelude.Nothing,
$sel:subtitle:ComboChartVisual' :: Maybe VisualSubtitleLabelOptions
subtitle = forall a. Maybe a
Prelude.Nothing,
$sel:title:ComboChartVisual' :: Maybe VisualTitleLabelOptions
title = forall a. Maybe a
Prelude.Nothing,
$sel:visualId:ComboChartVisual' :: Text
visualId = Text
pVisualId_
}
comboChartVisual_actions :: Lens.Lens' ComboChartVisual (Prelude.Maybe [VisualCustomAction])
comboChartVisual_actions :: Lens' ComboChartVisual (Maybe [VisualCustomAction])
comboChartVisual_actions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ComboChartVisual' {Maybe [VisualCustomAction]
actions :: Maybe [VisualCustomAction]
$sel:actions:ComboChartVisual' :: ComboChartVisual -> Maybe [VisualCustomAction]
actions} -> Maybe [VisualCustomAction]
actions) (\s :: ComboChartVisual
s@ComboChartVisual' {} Maybe [VisualCustomAction]
a -> ComboChartVisual
s {$sel:actions:ComboChartVisual' :: Maybe [VisualCustomAction]
actions = Maybe [VisualCustomAction]
a} :: ComboChartVisual) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
comboChartVisual_chartConfiguration :: Lens.Lens' ComboChartVisual (Prelude.Maybe ComboChartConfiguration)
comboChartVisual_chartConfiguration :: Lens' ComboChartVisual (Maybe ComboChartConfiguration)
comboChartVisual_chartConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ComboChartVisual' {Maybe ComboChartConfiguration
chartConfiguration :: Maybe ComboChartConfiguration
$sel:chartConfiguration:ComboChartVisual' :: ComboChartVisual -> Maybe ComboChartConfiguration
chartConfiguration} -> Maybe ComboChartConfiguration
chartConfiguration) (\s :: ComboChartVisual
s@ComboChartVisual' {} Maybe ComboChartConfiguration
a -> ComboChartVisual
s {$sel:chartConfiguration:ComboChartVisual' :: Maybe ComboChartConfiguration
chartConfiguration = Maybe ComboChartConfiguration
a} :: ComboChartVisual)
comboChartVisual_columnHierarchies :: Lens.Lens' ComboChartVisual (Prelude.Maybe [ColumnHierarchy])
comboChartVisual_columnHierarchies :: Lens' ComboChartVisual (Maybe [ColumnHierarchy])
comboChartVisual_columnHierarchies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ComboChartVisual' {Maybe [ColumnHierarchy]
columnHierarchies :: Maybe [ColumnHierarchy]
$sel:columnHierarchies:ComboChartVisual' :: ComboChartVisual -> Maybe [ColumnHierarchy]
columnHierarchies} -> Maybe [ColumnHierarchy]
columnHierarchies) (\s :: ComboChartVisual
s@ComboChartVisual' {} Maybe [ColumnHierarchy]
a -> ComboChartVisual
s {$sel:columnHierarchies:ComboChartVisual' :: Maybe [ColumnHierarchy]
columnHierarchies = Maybe [ColumnHierarchy]
a} :: ComboChartVisual) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
comboChartVisual_subtitle :: Lens.Lens' ComboChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)
comboChartVisual_subtitle :: Lens' ComboChartVisual (Maybe VisualSubtitleLabelOptions)
comboChartVisual_subtitle = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ComboChartVisual' {Maybe VisualSubtitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
$sel:subtitle:ComboChartVisual' :: ComboChartVisual -> Maybe VisualSubtitleLabelOptions
subtitle} -> Maybe VisualSubtitleLabelOptions
subtitle) (\s :: ComboChartVisual
s@ComboChartVisual' {} Maybe VisualSubtitleLabelOptions
a -> ComboChartVisual
s {$sel:subtitle:ComboChartVisual' :: Maybe VisualSubtitleLabelOptions
subtitle = Maybe VisualSubtitleLabelOptions
a} :: ComboChartVisual)
comboChartVisual_title :: Lens.Lens' ComboChartVisual (Prelude.Maybe VisualTitleLabelOptions)
comboChartVisual_title :: Lens' ComboChartVisual (Maybe VisualTitleLabelOptions)
comboChartVisual_title = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ComboChartVisual' {Maybe VisualTitleLabelOptions
title :: Maybe VisualTitleLabelOptions
$sel:title:ComboChartVisual' :: ComboChartVisual -> Maybe VisualTitleLabelOptions
title} -> Maybe VisualTitleLabelOptions
title) (\s :: ComboChartVisual
s@ComboChartVisual' {} Maybe VisualTitleLabelOptions
a -> ComboChartVisual
s {$sel:title:ComboChartVisual' :: Maybe VisualTitleLabelOptions
title = Maybe VisualTitleLabelOptions
a} :: ComboChartVisual)
comboChartVisual_visualId :: Lens.Lens' ComboChartVisual Prelude.Text
comboChartVisual_visualId :: Lens' ComboChartVisual Text
comboChartVisual_visualId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ComboChartVisual' {Text
visualId :: Text
$sel:visualId:ComboChartVisual' :: ComboChartVisual -> Text
visualId} -> Text
visualId) (\s :: ComboChartVisual
s@ComboChartVisual' {} Text
a -> ComboChartVisual
s {$sel:visualId:ComboChartVisual' :: Text
visualId = Text
a} :: ComboChartVisual)
instance Data.FromJSON ComboChartVisual where
parseJSON :: Value -> Parser ComboChartVisual
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ComboChartVisual"
( \Object
x ->
Maybe [VisualCustomAction]
-> Maybe ComboChartConfiguration
-> Maybe [ColumnHierarchy]
-> Maybe VisualSubtitleLabelOptions
-> Maybe VisualTitleLabelOptions
-> Text
-> ComboChartVisual
ComboChartVisual'
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
"Actions" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
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
"ChartConfiguration")
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
"ColumnHierarchies"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
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
"Subtitle")
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
"Title")
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
"VisualId")
)
instance Prelude.Hashable ComboChartVisual where
hashWithSalt :: Int -> ComboChartVisual -> Int
hashWithSalt Int
_salt ComboChartVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Maybe ComboChartConfiguration
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe ComboChartConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:ComboChartVisual' :: ComboChartVisual -> Text
$sel:title:ComboChartVisual' :: ComboChartVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:ComboChartVisual' :: ComboChartVisual -> Maybe VisualSubtitleLabelOptions
$sel:columnHierarchies:ComboChartVisual' :: ComboChartVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:ComboChartVisual' :: ComboChartVisual -> Maybe ComboChartConfiguration
$sel:actions:ComboChartVisual' :: ComboChartVisual -> Maybe [VisualCustomAction]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [VisualCustomAction]
actions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ComboChartConfiguration
chartConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ColumnHierarchy]
columnHierarchies
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VisualSubtitleLabelOptions
subtitle
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VisualTitleLabelOptions
title
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
visualId
instance Prelude.NFData ComboChartVisual where
rnf :: ComboChartVisual -> ()
rnf ComboChartVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Maybe ComboChartConfiguration
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe ComboChartConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:ComboChartVisual' :: ComboChartVisual -> Text
$sel:title:ComboChartVisual' :: ComboChartVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:ComboChartVisual' :: ComboChartVisual -> Maybe VisualSubtitleLabelOptions
$sel:columnHierarchies:ComboChartVisual' :: ComboChartVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:ComboChartVisual' :: ComboChartVisual -> Maybe ComboChartConfiguration
$sel:actions:ComboChartVisual' :: ComboChartVisual -> Maybe [VisualCustomAction]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [VisualCustomAction]
actions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ComboChartConfiguration
chartConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ColumnHierarchy]
columnHierarchies
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VisualSubtitleLabelOptions
subtitle
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VisualTitleLabelOptions
title
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
visualId
instance Data.ToJSON ComboChartVisual where
toJSON :: ComboChartVisual -> Value
toJSON ComboChartVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Maybe ComboChartConfiguration
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe ComboChartConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:ComboChartVisual' :: ComboChartVisual -> Text
$sel:title:ComboChartVisual' :: ComboChartVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:ComboChartVisual' :: ComboChartVisual -> Maybe VisualSubtitleLabelOptions
$sel:columnHierarchies:ComboChartVisual' :: ComboChartVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:ComboChartVisual' :: ComboChartVisual -> Maybe ComboChartConfiguration
$sel:actions:ComboChartVisual' :: ComboChartVisual -> Maybe [VisualCustomAction]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Actions" 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 [VisualCustomAction]
actions,
(Key
"ChartConfiguration" 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 ComboChartConfiguration
chartConfiguration,
(Key
"ColumnHierarchies" 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 [ColumnHierarchy]
columnHierarchies,
(Key
"Subtitle" 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 VisualSubtitleLabelOptions
subtitle,
(Key
"Title" 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 VisualTitleLabelOptions
title,
forall a. a -> Maybe a
Prelude.Just (Key
"VisualId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
visualId)
]
)