1234567891011121314151617181920212223242526 |
- -module(action_jq).
- %%-author('Rusty Klophaus').
- %%-author('Andrey Martemyanov').
- -include_lib("nitro/include/nitro.hrl").
- -compile([export_all, nowarn_export_all]).
- render_action( #jq{property = undefined, target = T, method = Methods, args = Args0, format = F} ) ->
- Args = case F of
- "'~s'" -> [ nitro:render(Args0) ];
- _ -> Args0
- end,
- Format = fun(A) when is_tuple(A) orelse is_integer(A) ->
- nitro:render(A);
- (A) -> nitro:to_list(A)
- end,
- RenderedArgs = string:join([ Format(A) || A <- Args], ","),
- [ [ wf_event:target(T), ".", nitro:to_binary(M), "(", nitro:f(F, [RenderedArgs]), ");" ] || M <- Methods];
- render_action( #jq{target = T, method = undefined, property = P, right = R, args = simple}) -> [ nitro:to_binary(T), ".", nitro:to_binary(P), "='", nitro:render(R), "';" ];
- render_action( #jq{target = T, method = undefined, property = P, right = undefined} ) -> [ wf_event:target(T), ".", nitro:to_binary(P), ";" ];
- render_action( #jq{target = T, method = undefined, property = P, right = #jq{} = R}) -> [ wf_event:target(T), ".", nitro:to_binary(P), "=", nitro:render(R), ";" ];
- render_action( #jq{target = T, method = undefined, property = P, right = R}) -> [ wf_event:target(T), ".", nitro:to_binary(P), "='", nitro:render(R), "';" ].
|