ソースを参照

allow different sortings

Lucas Stadler 11 年 前
コミット
87369fc631
共有1 個のファイルを変更した16 個の追加1 個の削除を含む
  1. 16 1
      elm/Stream.elm

+ 16 - 1
elm/Stream.elm

@ -37,4 +37,19 @@ viewPost post = div [] [
37 37
                 span [] [text "Written ", viewDate post.created]
38 38
                ]
39 39
40
main = div [] (List.map viewPost posts)
40
flipOrder : Order -> Order
41
flipOrder o = case o of
42
                LT -> GT
43
                EQ -> EQ
44
                GT -> LT
45
46
flipCompare : (a -> a -> Order) -> a -> a -> Order
47
flipCompare compare' a b = flipOrder <| compare' a b
48
49
compareBy : (a -> comparable) -> a -> a -> Order
50
compareBy f a b = compare (f a) (f b)
51
52
sortByDate = List.sortBy (.created >> Date.toTime)
53
sortByDateReverse = List.sortWith (flipCompare <| compareBy (.created >> Date.toTime))
54
55
main = div [] (List.map viewPost (sortByDateReverse posts))