Current section

Files

Jump to
nitro src elements combo element_comboLookup.erl
Raw

src/elements/combo/element_comboLookup.erl

-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 = Object,
feed = Feed, disabled = Disabled, delegate = Module} = Data) ->
nitro:render(
#link{id=form:atom([lookup, Id]), class=[dropdown],
body=[#input{id=Id, disabled = Disabled, type="comboLookup",
autocomplete = "off",
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) ++ "')"),
onchange= nitro:jse("comboLookupChange('"
++ nitro:to_list(Id) ++ "')"),
bind = Object,
value = Val, style = Style, class = column},
#panel{class=['triangle'],
body="▾",
onclick =
case Disabled of
true -> [];
_ -> nitro:jse("comboLookupClick('"
++ nitro:to_list(Id) ++ "','"
++ nitro:to_list(Feed) ++ "','"
++ nitro:to_list(Module) ++ "')")
end},
#panel{id=form:atom([comboContainer, Id]),
class = ['dropdown-content']}]}).