|
@@ -1,6 +1,7 @@
|
|
|
-module (wf_render_elements).
|
|
|
-author('Maxim Sokhatsky').
|
|
|
-include_lib ("nitro/include/nitro.hrl").
|
|
|
+-include_lib ("nitro/include/comboLookupEdit.hrl").
|
|
|
-compile(export_all).
|
|
|
|
|
|
render_element(E) when is_list(E) -> E;
|
|
@@ -12,12 +13,35 @@ render_element(Element) when is_tuple(Element) ->
|
|
|
Other -> nitro:to_list(Other) end,
|
|
|
case element(#element.actions,Element) of [] -> skip; Actions -> nitro:wire(Actions) end,
|
|
|
Tag = case element(#element.html_tag,Element) of [] -> nitro:to_binary(element(1, Element)); T -> T end,
|
|
|
- case element(#element.validation,Element) of
|
|
|
+ case element(1, Element) of
|
|
|
+ comboLookupEdit ->
|
|
|
+ lists:map(fun (El) ->
|
|
|
+ Input =
|
|
|
+ case element(#element.body, El) of
|
|
|
+ Body when not (Body == []) and is_list(Body) ->
|
|
|
+ case element(#element.body, hd(lists:flatten(tl(Body)))) of
|
|
|
+ X when is_tuple(X)-> X;
|
|
|
+ _ -> El
|
|
|
+ end;
|
|
|
+ _ -> El
|
|
|
+ end,
|
|
|
+ InputId = element(#element.id, Input),
|
|
|
+ case element(#element.validation, Input) of
|
|
|
+ [] -> skip;
|
|
|
+ InputCode ->
|
|
|
+ nitro:wire(nitro:f("{var name='~s'; qi(name).addEventListener('validation',"
|
|
|
+ "function(e) { if (!(~s)) e.preventDefault(); });"
|
|
|
+ "qi(name).validation = true;}",[InputId,InputCode]))
|
|
|
+ end
|
|
|
+ end, lists:flatten(tl(element(#element.body, element(#comboLookupEdit.form, Element)))));
|
|
|
+ _ ->
|
|
|
+ case element(#element.validation,Element) of
|
|
|
[] -> skip;
|
|
|
Code ->
|
|
|
nitro:wire(nitro:f("{var name='~s'; qi(name).addEventListener('validation',"
|
|
|
"function(e) { if (!(~s)) e.preventDefault(); });"
|
|
|
- "qi(name).validation = true;}",[Id,Code])) end,
|
|
|
+ "qi(name).validation = true;}",[Id,Code])) end
|
|
|
+ end,
|
|
|
case element(#element.module,Element) of
|
|
|
[] -> default_render(Tag, Element);
|
|
|
undefined -> default_render(Tag, Element);
|