-- |Pages which are not part of our core {-# LANGUAGE FlexibleContexts, FlexibleInstances, PackageImports, RankNTypes, ScopedTypeVariables, TypeFamilies, NoMonomorphismRestriction #-} {-# OPTIONS -Wwarn -F -pgmFtrhsx -fcontext-stack=40 -fno-warn-orphans -fno-warn-name-shadowing #-} module Scaffolding.Pages.UnicodeKey ( unicodeKeyPage ) where import Data.Generics.SYB.WithClass.Instances () import Data.List (genericLength, genericSplitAt, unfoldr) import Happstack.Server (Happstack, Response, ToMessage) import HJScript.Utils () import HSP import qualified HSX.XMLGenerator as HSX import Prelude hiding (null) import Scaffolding.AppConf (HasAppConf) import Scaffolding.Pages.AppTemplate (MonadRender, template) import Scaffolding.ProfileData.User (MonadUser) import qualified Scaffolding.Unicode.Render as UR (charsOfInterest) import Web.Routes.RouteT (MonadRoute, URL) import Web.Routes.XMLGenT () unicodeKeyPage :: (Happstack m, MonadRoute m, MonadUser m, MonadRender m, HasAppConf m, EmbedAsAttr m (Attr String (URL m)), ToMessage (HSX.XML m)) => m Response unicodeKeyPage = template "Unicode Keys" ([] :: [XML]) text where text = table tuplesOfInterest' tuplesOfInterest' :: (XMLGenerator x) => [[ GenXML x ]] tuplesOfInterest' = map (map (spn . fmt)) tuplesOfInterest where spn t = <% t %> fmt (s,c) =
| <% show c %> | <% (c:[]) %> | <% s %> |