-- -fglasgow-exts for non-standard pattern guards {-# OPTIONS_GHC -fglasgow-exts #-} module Hope.Module.Date (module_date) where import Hope.Date import Hope.Date.View import Hope.Item import Hope.Module import Hope.Item.Operations import Hope.Item.View import Hope.View import Control.Monad module_date :: Module module_date = emptyModule { moduleName = "date", moduleResources = dateResources -- The date menu doesn't seem terribly useful -- , moduleNav = dateNav } dateResources :: ResourceHandler dateResources = resources $ \p -> case p of xs | Just i <- pathToDateInterval xs -> return [get (handleDateInterval i)] _ -> return [] handleDateInterval :: DateInterval -> Hope ResourceOutput handleDateInterval All = do ds <- getItemDates Nothing queryAllItems b <- dateTreeBox [] 3 ds outputBox "All items by date" b handleDateInterval i = do is <- queryDateIntervalItems i >>= getMultiItems b <- multiItemBox (dateIntervalToPath i) is outputBox ("Items from " ++ showDateInterval i) b