web: drop old dependency on json (#1190)

This commit is contained in:
Simon Michael 2019-12-03 07:50:37 -08:00
parent 13f95327e3
commit b7bea5698e
4 changed files with 9 additions and 9 deletions

View File

@ -22,7 +22,6 @@ import Data.Text (Text)
import qualified Data.Text as T
import Data.Time (Day)
import Text.Blaze.Internal (Markup, preEscapedString)
import Text.JSON
import Text.Megaparsec (bundleErrors, eof, parseErrorTextPretty, runParser)
import Yesod
@ -71,13 +70,16 @@ addForm j today = identifyForm "add" $ \extra -> do
(amtRes, _) <- mreq listField amtFS Nothing
let (postRes, displayRows) = validatePostings acctRes amtRes
-- bindings used in add-form.hamlet
let descriptions = sort $ nub $ tdescription <$> jtxns j
escapeJSSpecialChars = regexReplaceCI "</script>" "<\\/script>" -- #236
listToJsonValueObjArrayStr = preEscapedString . escapeJSSpecialChars .
encode . JSArray . fmap (\a -> JSObject $ toJSObject [("value", showJSON a)])
journals = fst <$> jfiles j
listToJsonArray :: [Text] -> Markup
listToJsonArray = preEscapedString . escapeJSSpecialChars . show . toJSON
where
escapeJSSpecialChars = regexReplaceCI "</script>" "<\\/script>" -- #236
pure (validateTransaction dateRes descRes postRes, $(widgetFile "add-form"))
where
dateFS = FieldSettings "date" Nothing Nothing (Just "date")
[("class", "form-control input-lg"), ("placeholder", "Date")]

View File

@ -4,7 +4,7 @@ cabal-version: 1.12
--
-- see: https://github.com/sol/hpack
--
-- hash: 0678e65f66ec6915e930f6224b0bf3c0558464f3f7aafefe57a84574c60506be
-- hash: c5289bad9f5862e797248b10b6b30083a281d125eeec3964a43284e56d197f08
name: hledger-web
version: 1.16
@ -174,7 +174,6 @@ library
, http-client
, http-conduit
, http-types
, json
, megaparsec >=7.0.0 && <8
, mtl >=2.2.1
, semigroups

View File

@ -118,7 +118,6 @@ library:
- http-conduit
- http-client
- http-types
- json
- megaparsec >=7.0.0 && <8
- mtl >=2.2.1
- semigroups

View File

@ -1,7 +1,7 @@
<script>
jQuery(document).ready(function() {
descriptionsSuggester = new Bloodhound({
local:#{listToJsonValueObjArrayStr descriptions},
local:#{listToJsonArray descriptions},
limit:100,
datumTokenizer: function(d) { return [d.value]; },
queryTokenizer: function(q) { return [q]; }
@ -9,7 +9,7 @@
descriptionsSuggester.initialize();
accountsSuggester = new Bloodhound({
local:#{listToJsonValueObjArrayStr (journalAccountNamesDeclaredOrImplied j)},
local:#{listToJsonArray (journalAccountNamesDeclaredOrImplied j)},
limit:100,
datumTokenizer: function(d) { return [d.value]; },
queryTokenizer: function(q) { return [q]; }