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