Current section
Files
Jump to
Current section
Files
src/elements/other/element_qr.erl
% vim: sw=4 ts=4 et ft=erlang
% Nitrogen Web Framework for Erlang
% Copyright (c) 2008-2010 Rusty Klophaus
% See MIT-LICENSE for licensing information.
-module (element_qr).
-include("wf.hrl").
-export([
reflect/0,
render_element/1
]).
-spec reflect() -> [atom()].
reflect() -> record_info(fields, qr).
-spec render_element(#qr{}) -> body().
render_element(#qr{data=Empty} = QR) when Empty =:= undefined;
Empty =:= <<"">>;
Empty =:= "" ->
render_element(QR#qr{data=wf:url()});
render_element(#qr{data=Data, size=Size, class=Class, title=Title, data_fields=DataFields, aria=Aria, style=Style}) ->
{SvgAttrs, Body} = nqr_svg:tag(Data),
XMLNS = "http://www.w3.org/2000/svg",
SvgAttrs2 = [{xmlns, XMLNS} | SvgAttrs],
Attrs = [
{class, Class},
{title, Title},
{data_fields, DataFields},
{width, Size},
{height, Size},
{aria, Aria},
{style, Style}
],
Attrs2 = SvgAttrs2 ++ Attrs,
wf_tags:emit_tag(svg, Body, Attrs2).