Packages
nitro
11.4.14
11.4.16
11.4.15
11.4.14
9.9.7
9.9.6
8.2.4
8.2.3
8.2.2
8.2.1
8.2.0
7.12.1
7.10.0
7.9.3
7.9.2
7.9.1
7.9.0
7.8.3
7.8.2
7.8.0
7.7.1
7.7.0
7.6.2
7.6.1
7.6.0
7.5.0
7.4.2
7.4.1
7.4.0
7.2.1
7.2.0
7.1.1
7.1.0
6.12.0
6.11.11
6.11.10
6.11.9
6.11.8
6.11.7
6.11.6
6.11.4
6.11.2
6.11.1
6.10.9
6.10.8
6.10.7
6.10.6
6.10.5
6.10.4
6.10.3
6.10.2
6.10.1
6.9.1
6.6.1
6.5.0
6.4.4
6.4.3
6.4.2
6.4.1
6.4.0
5.12.4
5.12.3
5.12.2
5.12.1
5.12.0
5.11.1
5.11.0
5.9.2
5.9.1
5.8.5
5.8.4
5.8.3
5.8.1
5.8.0
5.6.1
5.5.1
5.4.3
5.4.2
5.4.1
5.3.1
5.3.0
5.2.1
5.1.7
5.1.6
5.1.5
5.1.4
5.1.3
5.1.2
5.1.1
4.12.11
4.12.10
4.12.9
4.12.8
4.12.7
4.12.6
4.12.5
4.12.4
4.12.3
4.12.2
4.12.1
4.12.0
4.11.13
4.11.12
4.11.11
4.11.10
4.11.9
4.11.8
4.11.7
4.11.6
4.11.5
4.11.4
4.11.3
4.11.2
4.11.1
4.11.0
4.10.9
4.10.8
4.10.7
4.10.6
4.10.5
4.10.4
4.10.3
4.10.2
4.10.1
4.10.0
4.7.7
4.7.4
4.7.3
4.7.2
4.7.1
4.7.0
4.4.1
4.4.0
1.4.0
NITRO Nitrogen Web Framework
Current section
Files
Jump to
Current section
Files
src/elements/input/element_link.erl
-module(element_link).
-author('Rusty Klophaus').
-include_lib("nitro/include/nitro.hrl").
-include_lib("nitro/include/event.hrl").
-compile(export_all).
render_element(Record) when Record#link.show_if==false -> [<<>>];
render_element(Record) ->
Id = case Record#link.postback of
[] -> Record#link.id;
Postback ->
ID = case Record#link.id of [] -> nitro:temp_id(); I -> I end,
nitro:wire(#event{ type=click,postback=Postback,target=ID,
source=Record#link.source,delegate=Record#link.delegate,validation=Record#link.validate}),
ID end,
List = [
% global
{<<"accesskey">>, Record#link.accesskey},
{<<"class">>, Record#link.class},
{<<"contenteditable">>, case Record#link.contenteditable of true -> "true"; false -> "false"; _ -> [] end},
{<<"contextmenu">>, Record#link.contextmenu},
{<<"dir">>, case Record#link.dir of "ltr" -> "ltr"; "rtl" -> "rtl"; "auto" -> "auto"; _ -> [] end},
{<<"draggable">>, case Record#link.draggable of true -> "true"; false -> "false"; _ -> [] end},
{<<"dropzone">>, Record#link.dropzone},
{<<"hidden">>, case Record#link.hidden of "hidden" -> "hidden"; _ -> [] end},
{<<"id">>, Id},
{<<"lang">>, Record#link.lang},
{<<"spellcheck">>, case Record#link.spellcheck of true -> "true"; false -> "false"; _ -> [] end},
{<<"style">>, Record#link.style},
{<<"tabindex">>, Record#link.tabindex},
{<<"title">>, Record#link.title},
{<<"translate">>, case Record#link.contenteditable of "yes" -> "yes"; "no" -> "no"; _ -> [] end},
% spec
{<<"href">>, nitro:coalesce([Record#link.href,Record#link.url])},
{<<"hreflang">>, Record#link.hreflang},
{<<"target">>, Record#link.target},
{<<"media">>, Record#link.media},
{<<"rel">>, Record#link.rel},
{<<"type">>, Record#link.type},
{<<"download">>, Record#link.download},
{<<"name">>, Record#link.name},
{<<"onclick">>, Record#link.onclick},
{<<"onmouseover">>, Record#link.onmouseover} | Record#link.data_fields ],
wf_tags:emit_tag(<<"a">>, nitro:render(Record#link.body), List).