Packages
Nitrogen Web Framework Core Library
Current section
Files
Jump to
Current section
Files
src/actions/action_if_value.erl
% vim: sw=4 ts=4 et ft=erlang
% Nitrogen Web Framework for Erlang
% Copyright (c) 2018 Jesse Gumm
% See MIT-LICENSE for licensing information.
-module (action_if_value).
-include("wf.hrl").
-export([
render_action/1
]).
render_action(#if_value{target=Target, map=Map, value=undefined, else=Else}) ->
[
wf:f(<<"switch(objs('~s').val()) {">>, [Target]),
lists:map(fun({Value0, Actions}) ->
Value = wf:js_escape(wf:to_list(Value0)),
wf:f(<<"case('~s'): ">>,[Value]),
Actions,
<<"break;">>
end, Map),
<<"default: ">>,
Else,
<<"}">>
];
render_action(#if_value{target=Target, map=undefined, value=Value0, actions=Actions, else=Else}) ->
Value = wf:js_escape(wf:to_list(Value0)),
[
wf:f(<<"if(objs('~s').val()=='~s') {">>, [Target, Value]),
wf:f("console.log('~s');",[Value]),
Actions,
<<"}else{">>,
Else,
<<"}">>
].