summaryrefslogtreecommitdiff
path: root/elm3/Lib/Ffi.elm
blob: 6c3cbf468075b9418f30d37e3b5078c236ca4eae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-- Elm 0.19: "We've removed all Native modules and plugged all XSS vectors,
--            it's now impossible to talk with Javascript other than with ports!"
-- Me: "Oh yeah? I'll just run sed over the generated Javascript!"

-- This module is a hack to work around the lack of an FFI (Foreign Function
-- Interface) in Elm. The functions in this module are stubs, their
-- implementations are replaced by the Makefile with calls to
-- window.elmFfi_<name> and the actual implementations are in static/v3/vndb.js.
--
-- Use sparingly, all of this will likely break in future Elm versions.
module Lib.Ffi exposing (..)

import Html exposing (Attribute)
import Html.Attributes exposing (title)


-- This is an "onclick = openLightbox(this)" attribute
openLightbox : Attribute msg
openLightbox = title ""


-- Set the innerHTML attribute of a node
innerHtml : String -> Attribute msg
innerHtml = always (title "")


-- The current year
curYear : Int
curYear = 2018