{-# LANGUAGE FlexibleInstances, OverloadedStrings, QuasiQuotes, RecordWildCards #-} {-# OPTIONS_GHC -F -pgmFhsx2hs #-} module Clckwrks.NavBar.EditNavBar where import Clckwrks.Admin.Template (template) import Control.Applicative ((<$>)) import Clckwrks (query, update) import Clckwrks.NavBar.Acid (GetNavBar(..), SetNavBar(..)) import Clckwrks.NavBar.Types (NavBar(..), NavBarLinks(..), NavBarItem(..)) import Clckwrks.Monad (Clck(..), ClckState(..), getNavBarLinks, mapClckT) import Clckwrks.Types (NamedLink(..)) import Clckwrks.URL (ClckURL(..), AdminURL(..)) import Control.Monad.State (get) import Control.Monad.Trans (lift, liftIO) import Data.Aeson (FromJSON(..), ToJSON(..), Value(..), (.:), (.=), decode, object) import Data.Aeson.QQ (aesonQQ) import qualified Data.Text as T import Data.Text.Lazy (Text) import Data.Tree (Tree(..)) import qualified Data.Vector as Vector import Happstack.Server (Response, internalServerError, lookBS, ok, toResponse) import HSP.XML (XML, fromStringLit) import HSP.XMLGenerator import Language.Javascript.JMacro import Web.Routes (showURL) editNavBar :: Clck ClckURL Response editNavBar = do p <- plugins <$> get links <- getNavBarLinks p -- liftIO $ print (toJSON links) currentNavBar <- query GetNavBar template "Edit NavBar" (headers currentNavBar links) $ <%>