1 {-# LANGUAGE DeriveDataTypeable #-}
2 module Hcompta.Model.Filter where
5 import Data.Typeable ()
7 import qualified Hcompta.Model.Account as Account ()
8 import Hcompta.Model.Account (Account)
9 import qualified Hcompta.Model.Amount as Amount ()
10 import Hcompta.Model.Amount (Amount)
11 import qualified Hcompta.Model.Date as Date
12 import qualified Hcompta.Model.Transaction.Tag as Tag
14 -- * The 'Filter' type
17 = Account Comp_String Account
18 | Account_Tag Comp_String String (Maybe (Comp_String, String))
19 | Amount Comp_Num Comp_Num_Absolute Amount
22 | Balance Comp_Num Comp_Num_Absolute Amount
25 | Description Comp_String String
31 | Tag Comp_String Tag.Name (Maybe (Comp_String, Tag.Value))
32 | Unit Comp_String String
33 deriving (Data, Eq, Show, Typeable)
41 deriving (Data, Eq, Show, Typeable)
43 type Comp_Num_Absolute
49 deriving (Data, Eq, Show, Typeable)