1234567891011121314151617181920 |
- -module(element_dtl).
- -author('Maxim Sokhatsky').
- -include("nitro.hrl").
- -compile(export_all).
- render_element(Record) when Record#dtl.show_if==false -> [<<>>];
- render_element(Record=#dtl{}) ->
- M = list_to_atom(nitro:to_list(Record#dtl.file) ++ "_view"),
- %File = case code:lib_dir(nitro:to_atom(Record#dtl.app)) of
- %{error,bad_name} -> nitro:to_list(Record#dtl.app);
- %A -> A end ++ "/" ++ nitro:to_list(Record#dtl.folder)
- %++ "/" ++ nitro:to_list(Record#dtl.file) ++ "." ++ nitro:to_list(Record#dtl.ext),
- {ok,R} = render(M, Record#dtl.js_escape, [{K,nitro:render(V)} || {K,V} <- Record#dtl.bindings] ++
- if Record#dtl.bind_script==true -> [{script,nitro:script()}]; true-> [] end),
- R.
- render(M, true, Args) ->
- {ok, R} = M:render(Args),
- {ok, nitro:js_escape(R)};
- render(M, _, Args) -> M:render(Args).
|