{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.QuickSight.Types.HistogramConfiguration
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.QuickSight.Types.HistogramConfiguration 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.AxisDisplayOptions
import Amazonka.QuickSight.Types.ChartAxisLabelOptions
import Amazonka.QuickSight.Types.DataLabelOptions
import Amazonka.QuickSight.Types.HistogramBinOptions
import Amazonka.QuickSight.Types.HistogramFieldWells
import Amazonka.QuickSight.Types.TooltipOptions
import Amazonka.QuickSight.Types.VisualPalette

-- | The configuration for a @HistogramVisual@.
--
-- /See:/ 'newHistogramConfiguration' smart constructor.
data HistogramConfiguration = HistogramConfiguration'
  { -- | The options that determine the presentation of histogram bins.
    HistogramConfiguration -> Maybe HistogramBinOptions
binOptions :: Prelude.Maybe HistogramBinOptions,
    -- | The data label configuration of a histogram.
    HistogramConfiguration -> Maybe DataLabelOptions
dataLabels :: Prelude.Maybe DataLabelOptions,
    -- | The field well configuration of a histogram.
    HistogramConfiguration -> Maybe HistogramFieldWells
fieldWells :: Prelude.Maybe HistogramFieldWells,
    -- | The tooltip configuration of a histogram.
    HistogramConfiguration -> Maybe TooltipOptions
tooltip :: Prelude.Maybe TooltipOptions,
    -- | The visual palette configuration of a histogram.
    HistogramConfiguration -> Maybe VisualPalette
visualPalette :: Prelude.Maybe VisualPalette,
    -- | The options that determine the presentation of the x-axis.
    HistogramConfiguration -> Maybe AxisDisplayOptions
xAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,
    -- | The options that determine the presentation of the x-axis label.
    HistogramConfiguration -> Maybe ChartAxisLabelOptions
xAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,
    -- | The options that determine the presentation of the y-axis.
    HistogramConfiguration -> Maybe AxisDisplayOptions
yAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions
  }
  deriving (HistogramConfiguration -> HistogramConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HistogramConfiguration -> HistogramConfiguration -> Bool
$c/= :: HistogramConfiguration -> HistogramConfiguration -> Bool
== :: HistogramConfiguration -> HistogramConfiguration -> Bool
$c== :: HistogramConfiguration -> HistogramConfiguration -> Bool
Prelude.Eq, Int -> HistogramConfiguration -> ShowS
[HistogramConfiguration] -> ShowS
HistogramConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HistogramConfiguration] -> ShowS
$cshowList :: [HistogramConfiguration] -> ShowS
show :: HistogramConfiguration -> String
$cshow :: HistogramConfiguration -> String
showsPrec :: Int -> HistogramConfiguration -> ShowS
$cshowsPrec :: Int -> HistogramConfiguration -> ShowS
Prelude.Show, forall x. Rep HistogramConfiguration x -> HistogramConfiguration
forall x. HistogramConfiguration -> Rep HistogramConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep HistogramConfiguration x -> HistogramConfiguration
$cfrom :: forall x. HistogramConfiguration -> Rep HistogramConfiguration x
Prelude.Generic)

-- |
-- Create a value of 'HistogramConfiguration' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'binOptions', 'histogramConfiguration_binOptions' - The options that determine the presentation of histogram bins.
--
-- 'dataLabels', 'histogramConfiguration_dataLabels' - The data label configuration of a histogram.
--
-- 'fieldWells', 'histogramConfiguration_fieldWells' - The field well configuration of a histogram.
--
-- 'tooltip', 'histogramConfiguration_tooltip' - The tooltip configuration of a histogram.
--
-- 'visualPalette', 'histogramConfiguration_visualPalette' - The visual palette configuration of a histogram.
--
-- 'xAxisDisplayOptions', 'histogramConfiguration_xAxisDisplayOptions' - The options that determine the presentation of the x-axis.
--
-- 'xAxisLabelOptions', 'histogramConfiguration_xAxisLabelOptions' - The options that determine the presentation of the x-axis label.
--
-- 'yAxisDisplayOptions', 'histogramConfiguration_yAxisDisplayOptions' - The options that determine the presentation of the y-axis.
newHistogramConfiguration ::
  HistogramConfiguration
newHistogramConfiguration :: HistogramConfiguration
newHistogramConfiguration =
  HistogramConfiguration'
    { $sel:binOptions:HistogramConfiguration' :: Maybe HistogramBinOptions
binOptions =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dataLabels:HistogramConfiguration' :: Maybe DataLabelOptions
dataLabels = forall a. Maybe a
Prelude.Nothing,
      $sel:fieldWells:HistogramConfiguration' :: Maybe HistogramFieldWells
fieldWells = forall a. Maybe a
Prelude.Nothing,
      $sel:tooltip:HistogramConfiguration' :: Maybe TooltipOptions
tooltip = forall a. Maybe a
Prelude.Nothing,
      $sel:visualPalette:HistogramConfiguration' :: Maybe VisualPalette
visualPalette = forall a. Maybe a
Prelude.Nothing,
      $sel:xAxisDisplayOptions:HistogramConfiguration' :: Maybe AxisDisplayOptions
xAxisDisplayOptions = forall a. Maybe a
Prelude.Nothing,
      $sel:xAxisLabelOptions:HistogramConfiguration' :: Maybe ChartAxisLabelOptions
xAxisLabelOptions = forall a. Maybe a
Prelude.Nothing,
      $sel:yAxisDisplayOptions:HistogramConfiguration' :: Maybe AxisDisplayOptions
yAxisDisplayOptions = forall a. Maybe a
Prelude.Nothing
    }

-- | The options that determine the presentation of histogram bins.
histogramConfiguration_binOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe HistogramBinOptions)
histogramConfiguration_binOptions :: Lens' HistogramConfiguration (Maybe HistogramBinOptions)
histogramConfiguration_binOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe HistogramBinOptions
binOptions :: Maybe HistogramBinOptions
$sel:binOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramBinOptions
binOptions} -> Maybe HistogramBinOptions
binOptions) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe HistogramBinOptions
a -> HistogramConfiguration
s {$sel:binOptions:HistogramConfiguration' :: Maybe HistogramBinOptions
binOptions = Maybe HistogramBinOptions
a} :: HistogramConfiguration)

-- | The data label configuration of a histogram.
histogramConfiguration_dataLabels :: Lens.Lens' HistogramConfiguration (Prelude.Maybe DataLabelOptions)
histogramConfiguration_dataLabels :: Lens' HistogramConfiguration (Maybe DataLabelOptions)
histogramConfiguration_dataLabels = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe DataLabelOptions
dataLabels :: Maybe DataLabelOptions
$sel:dataLabels:HistogramConfiguration' :: HistogramConfiguration -> Maybe DataLabelOptions
dataLabels} -> Maybe DataLabelOptions
dataLabels) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe DataLabelOptions
a -> HistogramConfiguration
s {$sel:dataLabels:HistogramConfiguration' :: Maybe DataLabelOptions
dataLabels = Maybe DataLabelOptions
a} :: HistogramConfiguration)

-- | The field well configuration of a histogram.
histogramConfiguration_fieldWells :: Lens.Lens' HistogramConfiguration (Prelude.Maybe HistogramFieldWells)
histogramConfiguration_fieldWells :: Lens' HistogramConfiguration (Maybe HistogramFieldWells)
histogramConfiguration_fieldWells = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe HistogramFieldWells
fieldWells :: Maybe HistogramFieldWells
$sel:fieldWells:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramFieldWells
fieldWells} -> Maybe HistogramFieldWells
fieldWells) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe HistogramFieldWells
a -> HistogramConfiguration
s {$sel:fieldWells:HistogramConfiguration' :: Maybe HistogramFieldWells
fieldWells = Maybe HistogramFieldWells
a} :: HistogramConfiguration)

-- | The tooltip configuration of a histogram.
histogramConfiguration_tooltip :: Lens.Lens' HistogramConfiguration (Prelude.Maybe TooltipOptions)
histogramConfiguration_tooltip :: Lens' HistogramConfiguration (Maybe TooltipOptions)
histogramConfiguration_tooltip = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe TooltipOptions
tooltip :: Maybe TooltipOptions
$sel:tooltip:HistogramConfiguration' :: HistogramConfiguration -> Maybe TooltipOptions
tooltip} -> Maybe TooltipOptions
tooltip) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe TooltipOptions
a -> HistogramConfiguration
s {$sel:tooltip:HistogramConfiguration' :: Maybe TooltipOptions
tooltip = Maybe TooltipOptions
a} :: HistogramConfiguration)

-- | The visual palette configuration of a histogram.
histogramConfiguration_visualPalette :: Lens.Lens' HistogramConfiguration (Prelude.Maybe VisualPalette)
histogramConfiguration_visualPalette :: Lens' HistogramConfiguration (Maybe VisualPalette)
histogramConfiguration_visualPalette = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe VisualPalette
visualPalette :: Maybe VisualPalette
$sel:visualPalette:HistogramConfiguration' :: HistogramConfiguration -> Maybe VisualPalette
visualPalette} -> Maybe VisualPalette
visualPalette) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe VisualPalette
a -> HistogramConfiguration
s {$sel:visualPalette:HistogramConfiguration' :: Maybe VisualPalette
visualPalette = Maybe VisualPalette
a} :: HistogramConfiguration)

-- | The options that determine the presentation of the x-axis.
histogramConfiguration_xAxisDisplayOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe AxisDisplayOptions)
histogramConfiguration_xAxisDisplayOptions :: Lens' HistogramConfiguration (Maybe AxisDisplayOptions)
histogramConfiguration_xAxisDisplayOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe AxisDisplayOptions
xAxisDisplayOptions :: Maybe AxisDisplayOptions
$sel:xAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
xAxisDisplayOptions} -> Maybe AxisDisplayOptions
xAxisDisplayOptions) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe AxisDisplayOptions
a -> HistogramConfiguration
s {$sel:xAxisDisplayOptions:HistogramConfiguration' :: Maybe AxisDisplayOptions
xAxisDisplayOptions = Maybe AxisDisplayOptions
a} :: HistogramConfiguration)

-- | The options that determine the presentation of the x-axis label.
histogramConfiguration_xAxisLabelOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe ChartAxisLabelOptions)
histogramConfiguration_xAxisLabelOptions :: Lens' HistogramConfiguration (Maybe ChartAxisLabelOptions)
histogramConfiguration_xAxisLabelOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe ChartAxisLabelOptions
xAxisLabelOptions :: Maybe ChartAxisLabelOptions
$sel:xAxisLabelOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe ChartAxisLabelOptions
xAxisLabelOptions} -> Maybe ChartAxisLabelOptions
xAxisLabelOptions) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe ChartAxisLabelOptions
a -> HistogramConfiguration
s {$sel:xAxisLabelOptions:HistogramConfiguration' :: Maybe ChartAxisLabelOptions
xAxisLabelOptions = Maybe ChartAxisLabelOptions
a} :: HistogramConfiguration)

-- | The options that determine the presentation of the y-axis.
histogramConfiguration_yAxisDisplayOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe AxisDisplayOptions)
histogramConfiguration_yAxisDisplayOptions :: Lens' HistogramConfiguration (Maybe AxisDisplayOptions)
histogramConfiguration_yAxisDisplayOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\HistogramConfiguration' {Maybe AxisDisplayOptions
yAxisDisplayOptions :: Maybe AxisDisplayOptions
$sel:yAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
yAxisDisplayOptions} -> Maybe AxisDisplayOptions
yAxisDisplayOptions) (\s :: HistogramConfiguration
s@HistogramConfiguration' {} Maybe AxisDisplayOptions
a -> HistogramConfiguration
s {$sel:yAxisDisplayOptions:HistogramConfiguration' :: Maybe AxisDisplayOptions
yAxisDisplayOptions = Maybe AxisDisplayOptions
a} :: HistogramConfiguration)

instance Data.FromJSON HistogramConfiguration where
  parseJSON :: Value -> Parser HistogramConfiguration
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"HistogramConfiguration"
      ( \Object
x ->
          Maybe HistogramBinOptions
-> Maybe DataLabelOptions
-> Maybe HistogramFieldWells
-> Maybe TooltipOptions
-> Maybe VisualPalette
-> Maybe AxisDisplayOptions
-> Maybe ChartAxisLabelOptions
-> Maybe AxisDisplayOptions
-> HistogramConfiguration
HistogramConfiguration'
            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
"BinOptions")
            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
"DataLabels")
            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
"FieldWells")
            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
"Tooltip")
            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
"VisualPalette")
            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
"XAxisDisplayOptions")
            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
"XAxisLabelOptions")
            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
"YAxisDisplayOptions")
      )

instance Prelude.Hashable HistogramConfiguration where
  hashWithSalt :: Int -> HistogramConfiguration -> Int
hashWithSalt Int
_salt HistogramConfiguration' {Maybe HistogramBinOptions
Maybe HistogramFieldWells
Maybe DataLabelOptions
Maybe TooltipOptions
Maybe ChartAxisLabelOptions
Maybe AxisDisplayOptions
Maybe VisualPalette
yAxisDisplayOptions :: Maybe AxisDisplayOptions
xAxisLabelOptions :: Maybe ChartAxisLabelOptions
xAxisDisplayOptions :: Maybe AxisDisplayOptions
visualPalette :: Maybe VisualPalette
tooltip :: Maybe TooltipOptions
fieldWells :: Maybe HistogramFieldWells
dataLabels :: Maybe DataLabelOptions
binOptions :: Maybe HistogramBinOptions
$sel:yAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
$sel:xAxisLabelOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe ChartAxisLabelOptions
$sel:xAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
$sel:visualPalette:HistogramConfiguration' :: HistogramConfiguration -> Maybe VisualPalette
$sel:tooltip:HistogramConfiguration' :: HistogramConfiguration -> Maybe TooltipOptions
$sel:fieldWells:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramFieldWells
$sel:dataLabels:HistogramConfiguration' :: HistogramConfiguration -> Maybe DataLabelOptions
$sel:binOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramBinOptions
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe HistogramBinOptions
binOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataLabelOptions
dataLabels
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe HistogramFieldWells
fieldWells
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TooltipOptions
tooltip
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VisualPalette
visualPalette
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AxisDisplayOptions
xAxisDisplayOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ChartAxisLabelOptions
xAxisLabelOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AxisDisplayOptions
yAxisDisplayOptions

instance Prelude.NFData HistogramConfiguration where
  rnf :: HistogramConfiguration -> ()
rnf HistogramConfiguration' {Maybe HistogramBinOptions
Maybe HistogramFieldWells
Maybe DataLabelOptions
Maybe TooltipOptions
Maybe ChartAxisLabelOptions
Maybe AxisDisplayOptions
Maybe VisualPalette
yAxisDisplayOptions :: Maybe AxisDisplayOptions
xAxisLabelOptions :: Maybe ChartAxisLabelOptions
xAxisDisplayOptions :: Maybe AxisDisplayOptions
visualPalette :: Maybe VisualPalette
tooltip :: Maybe TooltipOptions
fieldWells :: Maybe HistogramFieldWells
dataLabels :: Maybe DataLabelOptions
binOptions :: Maybe HistogramBinOptions
$sel:yAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
$sel:xAxisLabelOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe ChartAxisLabelOptions
$sel:xAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
$sel:visualPalette:HistogramConfiguration' :: HistogramConfiguration -> Maybe VisualPalette
$sel:tooltip:HistogramConfiguration' :: HistogramConfiguration -> Maybe TooltipOptions
$sel:fieldWells:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramFieldWells
$sel:dataLabels:HistogramConfiguration' :: HistogramConfiguration -> Maybe DataLabelOptions
$sel:binOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramBinOptions
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe HistogramBinOptions
binOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataLabelOptions
dataLabels
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HistogramFieldWells
fieldWells
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TooltipOptions
tooltip
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VisualPalette
visualPalette
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AxisDisplayOptions
xAxisDisplayOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ChartAxisLabelOptions
xAxisLabelOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AxisDisplayOptions
yAxisDisplayOptions

instance Data.ToJSON HistogramConfiguration where
  toJSON :: HistogramConfiguration -> Value
toJSON HistogramConfiguration' {Maybe HistogramBinOptions
Maybe HistogramFieldWells
Maybe DataLabelOptions
Maybe TooltipOptions
Maybe ChartAxisLabelOptions
Maybe AxisDisplayOptions
Maybe VisualPalette
yAxisDisplayOptions :: Maybe AxisDisplayOptions
xAxisLabelOptions :: Maybe ChartAxisLabelOptions
xAxisDisplayOptions :: Maybe AxisDisplayOptions
visualPalette :: Maybe VisualPalette
tooltip :: Maybe TooltipOptions
fieldWells :: Maybe HistogramFieldWells
dataLabels :: Maybe DataLabelOptions
binOptions :: Maybe HistogramBinOptions
$sel:yAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
$sel:xAxisLabelOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe ChartAxisLabelOptions
$sel:xAxisDisplayOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe AxisDisplayOptions
$sel:visualPalette:HistogramConfiguration' :: HistogramConfiguration -> Maybe VisualPalette
$sel:tooltip:HistogramConfiguration' :: HistogramConfiguration -> Maybe TooltipOptions
$sel:fieldWells:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramFieldWells
$sel:dataLabels:HistogramConfiguration' :: HistogramConfiguration -> Maybe DataLabelOptions
$sel:binOptions:HistogramConfiguration' :: HistogramConfiguration -> Maybe HistogramBinOptions
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"BinOptions" 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 HistogramBinOptions
binOptions,
            (Key
"DataLabels" 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 DataLabelOptions
dataLabels,
            (Key
"FieldWells" 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 HistogramFieldWells
fieldWells,
            (Key
"Tooltip" 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 TooltipOptions
tooltip,
            (Key
"VisualPalette" 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 VisualPalette
visualPalette,
            (Key
"XAxisDisplayOptions" 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 AxisDisplayOptions
xAxisDisplayOptions,
            (Key
"XAxisLabelOptions" 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 ChartAxisLabelOptions
xAxisLabelOptions,
            (Key
"YAxisDisplayOptions" 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 AxisDisplayOptions
yAxisDisplayOptions
          ]
      )