{-# LANGUAGE DeriveDataTypeable #-} -- | Module for accessing minified flot code (<http://www.flotcharts.org/>). -- As an example: -- -- > import qualified Language.Javascript.Flot as Flot -- > -- > main = do -- > putStrLn $ "Flot version " ++ show Flot.version ++ " source:" -- > putStrLn =<< readFile =<< Flot.file Flot.Flot module Language.Javascript.Flot( Flot(..), version, file ) where import qualified Paths_js_flot as Paths import Data.Version import Data.Data import Data.Char -- | The Flot code to obtain. Use 'Flot' for the base system and the other values -- for the various addins shipped with Flot. data Flot = Flot | FlotCanvas | FlotCategories | FlotCrosshair | FlotErrorbars | FlotFillbetween | FlotImage | FlotNavigate | FlotPie | FlotResize | FlotSelection | FlotStack | FlotSymbol | FlotThreshold | FlotTime deriving (Eq,Ord,Show,Read,Bounded,Enum,Data,Typeable) -- | A local file containing the minified Flot code for 'version'. file :: Flot -> IO FilePath file = Paths.getDataFileName . name name Flot = "jquery.flot.min.js" name x = "jquery.flot." ++ map toLower (drop 4 $ show x) ++ ".min.js" -- | The version of Flot provided by this package. Not necessarily the version of this package, -- but the versions will match in the first three digits. version :: Version version = Version (take 3 $ versionBranch Paths.version) []