-module(testcities). -include_lib("nitro/include/nitro.hrl"). -include_lib("n4u/include/wf.hrl"). %% example work with postgresql (without pool) -export([ main/0, event/1 ]). main() -> Tr = hm:get_tr_mod(), % get i18n module by lang Body = #dtl{file = "testcities", app = n2o_sample, bindings=[ {cities, Tr:tr(testcities, cities) }, {cities_show, Tr:tr(testcities, cities_show) }, {cities_add, Tr:tr(testcities, cities_add) }, {city_name, Tr:tr(testcities, city_name) }, {city_pop, Tr:tr(testcities, city_pop) }, {city_add, Tr:tr(testcities, city_add) } ]}, #dtl{file = "layout", app = n2o_sample, bindings=[ {page_title, Tr:tr(testcities, page_title) }, {page_css, <<"">>}, {page_body, wf:render(Body)}, {page_js, <<"">>} ]}. event(init) -> ?MODULE:event({client, {sitiesshow}}); %[]; event({client, {sitiesshow}}) -> Ppid = pgm:mypg(), Data = pq:get_all_cities(Ppid), epgsql:close(Ppid), InnerHtml = hg:generate_cities_list(Data), wf:wire(wf:f("var parent = qi('cities');" "parent.innerHTML='~s';" "window.getting_data=false;" "qi('citiesshow').disabled=false;", [unicode:characters_to_binary(InnerHtml, utf8)])); event({client, {cityadd, Name, Pop}}) -> %io:format("~p~n~p~n",[Name, Pop]), Mpid = pgm:mypg(), 1 = pq:add_city(Mpid, Name, Pop), epgsql:close(Mpid), wf:wire(wf:f("qi('cityname').value='';" "qi('citypop').value='1';" "window.sending_data=false;" "qi('cityadd').disabled=false;", [])), ?MODULE:event({client, {sitiesshow}}); event(Event) -> wf:info(?MODULE, "Event: ~p", [Event]), ok.