{-# 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.FunnelChartVisual 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.FunnelChartConfiguration
import Amazonka.QuickSight.Types.VisualCustomAction
import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions
import Amazonka.QuickSight.Types.VisualTitleLabelOptions
data FunnelChartVisual = FunnelChartVisual'
{
FunnelChartVisual -> Maybe [VisualCustomAction]
actions :: Prelude.Maybe [VisualCustomAction],
FunnelChartVisual -> Maybe FunnelChartConfiguration
chartConfiguration :: Prelude.Maybe FunnelChartConfiguration,
FunnelChartVisual -> Maybe [ColumnHierarchy]
columnHierarchies :: Prelude.Maybe [ColumnHierarchy],
FunnelChartVisual -> Maybe VisualSubtitleLabelOptions
subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,
FunnelChartVisual -> Maybe VisualTitleLabelOptions
title :: Prelude.Maybe VisualTitleLabelOptions,
FunnelChartVisual -> Text
visualId :: Prelude.Text
}
deriving (FunnelChartVisual -> FunnelChartVisual -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FunnelChartVisual -> FunnelChartVisual -> Bool
$c/= :: FunnelChartVisual -> FunnelChartVisual -> Bool
== :: FunnelChartVisual -> FunnelChartVisual -> Bool
$c== :: FunnelChartVisual -> FunnelChartVisual -> Bool
Prelude.Eq, Int -> FunnelChartVisual -> ShowS
[FunnelChartVisual] -> ShowS
FunnelChartVisual -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FunnelChartVisual] -> ShowS
$cshowList :: [FunnelChartVisual] -> ShowS
show :: FunnelChartVisual -> String
$cshow :: FunnelChartVisual -> String
showsPrec :: Int -> FunnelChartVisual -> ShowS
$cshowsPrec :: Int -> FunnelChartVisual -> ShowS
Prelude.Show, forall x. Rep FunnelChartVisual x -> FunnelChartVisual
forall x. FunnelChartVisual -> Rep FunnelChartVisual x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep FunnelChartVisual x -> FunnelChartVisual
$cfrom :: forall x. FunnelChartVisual -> Rep FunnelChartVisual x
Prelude.Generic)
newFunnelChartVisual ::
Prelude.Text ->
FunnelChartVisual
newFunnelChartVisual :: Text -> FunnelChartVisual
newFunnelChartVisual Text
pVisualId_ =
FunnelChartVisual'
{ $sel:actions:FunnelChartVisual' :: Maybe [VisualCustomAction]
actions = forall a. Maybe a
Prelude.Nothing,
$sel:chartConfiguration:FunnelChartVisual' :: Maybe FunnelChartConfiguration
chartConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:columnHierarchies:FunnelChartVisual' :: Maybe [ColumnHierarchy]
columnHierarchies = forall a. Maybe a
Prelude.Nothing,
$sel:subtitle:FunnelChartVisual' :: Maybe VisualSubtitleLabelOptions
subtitle = forall a. Maybe a
Prelude.Nothing,
$sel:title:FunnelChartVisual' :: Maybe VisualTitleLabelOptions
title = forall a. Maybe a
Prelude.Nothing,
$sel:visualId:FunnelChartVisual' :: Text
visualId = Text
pVisualId_
}
funnelChartVisual_actions :: Lens.Lens' FunnelChartVisual (Prelude.Maybe [VisualCustomAction])
funnelChartVisual_actions :: Lens' FunnelChartVisual (Maybe [VisualCustomAction])
funnelChartVisual_actions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FunnelChartVisual' {Maybe [VisualCustomAction]
actions :: Maybe [VisualCustomAction]
$sel:actions:FunnelChartVisual' :: FunnelChartVisual -> Maybe [VisualCustomAction]
actions} -> Maybe [VisualCustomAction]
actions) (\s :: FunnelChartVisual
s@FunnelChartVisual' {} Maybe [VisualCustomAction]
a -> FunnelChartVisual
s {$sel:actions:FunnelChartVisual' :: Maybe [VisualCustomAction]
actions = Maybe [VisualCustomAction]
a} :: FunnelChartVisual) 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
funnelChartVisual_chartConfiguration :: Lens.Lens' FunnelChartVisual (Prelude.Maybe FunnelChartConfiguration)
funnelChartVisual_chartConfiguration :: Lens' FunnelChartVisual (Maybe FunnelChartConfiguration)
funnelChartVisual_chartConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FunnelChartVisual' {Maybe FunnelChartConfiguration
chartConfiguration :: Maybe FunnelChartConfiguration
$sel:chartConfiguration:FunnelChartVisual' :: FunnelChartVisual -> Maybe FunnelChartConfiguration
chartConfiguration} -> Maybe FunnelChartConfiguration
chartConfiguration) (\s :: FunnelChartVisual
s@FunnelChartVisual' {} Maybe FunnelChartConfiguration
a -> FunnelChartVisual
s {$sel:chartConfiguration:FunnelChartVisual' :: Maybe FunnelChartConfiguration
chartConfiguration = Maybe FunnelChartConfiguration
a} :: FunnelChartVisual)
funnelChartVisual_columnHierarchies :: Lens.Lens' FunnelChartVisual (Prelude.Maybe [ColumnHierarchy])
funnelChartVisual_columnHierarchies :: Lens' FunnelChartVisual (Maybe [ColumnHierarchy])
funnelChartVisual_columnHierarchies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FunnelChartVisual' {Maybe [ColumnHierarchy]
columnHierarchies :: Maybe [ColumnHierarchy]
$sel:columnHierarchies:FunnelChartVisual' :: FunnelChartVisual -> Maybe [ColumnHierarchy]
columnHierarchies} -> Maybe [ColumnHierarchy]
columnHierarchies) (\s :: FunnelChartVisual
s@FunnelChartVisual' {} Maybe [ColumnHierarchy]
a -> FunnelChartVisual
s {$sel:columnHierarchies:FunnelChartVisual' :: Maybe [ColumnHierarchy]
columnHierarchies = Maybe [ColumnHierarchy]
a} :: FunnelChartVisual) 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
funnelChartVisual_subtitle :: Lens.Lens' FunnelChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)
funnelChartVisual_subtitle :: Lens' FunnelChartVisual (Maybe VisualSubtitleLabelOptions)
funnelChartVisual_subtitle = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FunnelChartVisual' {Maybe VisualSubtitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
$sel:subtitle:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualSubtitleLabelOptions
subtitle} -> Maybe VisualSubtitleLabelOptions
subtitle) (\s :: FunnelChartVisual
s@FunnelChartVisual' {} Maybe VisualSubtitleLabelOptions
a -> FunnelChartVisual
s {$sel:subtitle:FunnelChartVisual' :: Maybe VisualSubtitleLabelOptions
subtitle = Maybe VisualSubtitleLabelOptions
a} :: FunnelChartVisual)
funnelChartVisual_title :: Lens.Lens' FunnelChartVisual (Prelude.Maybe VisualTitleLabelOptions)
funnelChartVisual_title :: Lens' FunnelChartVisual (Maybe VisualTitleLabelOptions)
funnelChartVisual_title = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FunnelChartVisual' {Maybe VisualTitleLabelOptions
title :: Maybe VisualTitleLabelOptions
$sel:title:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualTitleLabelOptions
title} -> Maybe VisualTitleLabelOptions
title) (\s :: FunnelChartVisual
s@FunnelChartVisual' {} Maybe VisualTitleLabelOptions
a -> FunnelChartVisual
s {$sel:title:FunnelChartVisual' :: Maybe VisualTitleLabelOptions
title = Maybe VisualTitleLabelOptions
a} :: FunnelChartVisual)
funnelChartVisual_visualId :: Lens.Lens' FunnelChartVisual Prelude.Text
funnelChartVisual_visualId :: Lens' FunnelChartVisual Text
funnelChartVisual_visualId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FunnelChartVisual' {Text
visualId :: Text
$sel:visualId:FunnelChartVisual' :: FunnelChartVisual -> Text
visualId} -> Text
visualId) (\s :: FunnelChartVisual
s@FunnelChartVisual' {} Text
a -> FunnelChartVisual
s {$sel:visualId:FunnelChartVisual' :: Text
visualId = Text
a} :: FunnelChartVisual)
instance Data.FromJSON FunnelChartVisual where
parseJSON :: Value -> Parser FunnelChartVisual
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"FunnelChartVisual"
( \Object
x ->
Maybe [VisualCustomAction]
-> Maybe FunnelChartConfiguration
-> Maybe [ColumnHierarchy]
-> Maybe VisualSubtitleLabelOptions
-> Maybe VisualTitleLabelOptions
-> Text
-> FunnelChartVisual
FunnelChartVisual'
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 FunnelChartVisual where
hashWithSalt :: Int -> FunnelChartVisual -> Int
hashWithSalt Int
_salt FunnelChartVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe FunnelChartConfiguration
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe FunnelChartConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:FunnelChartVisual' :: FunnelChartVisual -> Text
$sel:title:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualSubtitleLabelOptions
$sel:columnHierarchies:FunnelChartVisual' :: FunnelChartVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:FunnelChartVisual' :: FunnelChartVisual -> Maybe FunnelChartConfiguration
$sel:actions:FunnelChartVisual' :: FunnelChartVisual -> 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 FunnelChartConfiguration
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 FunnelChartVisual where
rnf :: FunnelChartVisual -> ()
rnf FunnelChartVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe FunnelChartConfiguration
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe FunnelChartConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:FunnelChartVisual' :: FunnelChartVisual -> Text
$sel:title:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualSubtitleLabelOptions
$sel:columnHierarchies:FunnelChartVisual' :: FunnelChartVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:FunnelChartVisual' :: FunnelChartVisual -> Maybe FunnelChartConfiguration
$sel:actions:FunnelChartVisual' :: FunnelChartVisual -> 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 FunnelChartConfiguration
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 FunnelChartVisual where
toJSON :: FunnelChartVisual -> Value
toJSON FunnelChartVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe FunnelChartConfiguration
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe FunnelChartConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:FunnelChartVisual' :: FunnelChartVisual -> Text
$sel:title:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:FunnelChartVisual' :: FunnelChartVisual -> Maybe VisualSubtitleLabelOptions
$sel:columnHierarchies:FunnelChartVisual' :: FunnelChartVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:FunnelChartVisual' :: FunnelChartVisual -> Maybe FunnelChartConfiguration
$sel:actions:FunnelChartVisual' :: FunnelChartVisual -> 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 FunnelChartConfiguration
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)
]
)