12345678910111213141516171819202122232425262728293031 |
- -module(element_comboLookup).
- -include_lib("nitro/include/comboLookup.hrl").
- -include_lib("nitro/include/nitro.hrl").
- -export([render_element/1,proto/1]).
- proto(#comboKey{delegate=Module}=Msg) -> Module:proto(Msg);
- proto(#comboKeyup{delegate=Module}=Msg) -> Module:proto(Msg);
- proto(#comboSelect{delegate=Module}=Msg) -> Module:proto(Msg).
- render_element(#comboLookup{id=Id, style=Style, value = Val, bind = Object0,
- feed = Feed, disabled = Disabled, delegate = Module} = Data) ->
- Object = case Object0 of
- [] -> [];
- _ -> base64:encode(term_to_binary(Object0))
- end,
- nitro:render(
- #panel{id=form:atom([lookup, Id]), class=[dropdown],
- body=[#input{id=Id, disabled = Disabled, type="comboLookup",
- onkeyup = nitro:jse("comboLookupKeyup('"
- ++ nitro:to_list(Id) ++ "','"
- ++ nitro:to_list(Feed) ++ "','"
- ++ nitro:to_list(Module) ++ "')"),
- onkeydown= nitro:jse("comboLookupKeydown('"
- ++ nitro:to_list(Id) ++ "','"
- ++ nitro:to_list(Feed) ++ "','"
- ++ nitro:to_list(Module) ++ "')"),
- bind = Object,
- value = Val, style = Style, class = column},
- #panel{id=form:atom([comboContainer, Id]),
- class = ['dropdown-content']}]}).
|