Browse Source

Merge branch 'master' of https://github.com/synrc/nitro

G-Grand 9 years ago
parent
commit
b74bf95b0e

+ 2 - 2
src/elements/element_button.erl

@@ -7,8 +7,8 @@ render_element(Record) ->
     Id = case Record#button.postback of
         undefined -> Record#button.id;
         Postback ->
-          ID = case Record#button.id of undefined -> wf:temp_id(); I -> I end,
-          wf:wire(#event{type=click, postback=Postback, target=ID,
+          ID = case Record#button.id of undefined -> nitro:temp_id(); I -> I end,
+          nitro:wire(#event{type=click, postback=Postback, target=ID,
                   source=Record#button.source, delegate=Record#button.delegate }),
           ID end,
     wf_tags:emit_tag(<<"button">>, nitro:render(Record#button.body), [

+ 2 - 1
src/nitro.erl

@@ -65,7 +65,8 @@ depickle(SerializedData, TTLSeconds) -> ?PICKLER:depickle(SerializedData, TTLSec
 render(X) -> wf_render:render(X).
 wire(Actions) -> action_wire:wire(Actions).
 
-temp_id() -> {_, _, C} = os:timestamp(), "auto" ++ integer_to_list(C).
+unique_integer() -> try erlang:unique_integer() catch _:_ -> {MS,S,US} = erlang:now(), (MS*1000000+S)*1000000+US end.
+temp_id() -> "auto" ++ integer_to_list(unique_integer() rem 1000000).
 
 html_encode(L,Fun) when is_function(Fun) -> Fun(L);
 html_encode(L,EncType) when is_atom(L) -> html_encode(nitro:to_list(L),EncType);

+ 1 - 1
src/nitro_pickle.erl

@@ -3,5 +3,5 @@
 
 pickle(Data) -> base64:encode(term_to_binary({Data, os:timestamp()}, [compressed])).
 depickle(PickledData) ->
-    try {Data, _PickleTime} = binary_to_term(base64:decode(wf:to_binary(PickledData))), Data
+    try {Data, _PickleTime} = binary_to_term(base64:decode(nitro:to_binary(PickledData))), Data
     catch _:_ -> undefined end.

+ 1 - 1
src/render/wf_event.erl

@@ -7,7 +7,7 @@
 -record(cx, { handlers, actions, req, module, lang, path, session, params, form, state=[] }).
 -define(CTX, (get(context))).
 
-new(bin,Data) -> <<"ws.send(enc(tuple(atom('bin'),bin('",(wf:pickle(Data))/binary,"'))));">>.
+new(bin,Data) -> <<"ws.send(enc(tuple(atom('bin'),bin('",(nitro:pickle(Data))/binary,"'))));">>.
 
 new(undefined, _, _, _, _, _) -> <<>>;
 new(Postback, Element, Delegate, Name, Data, Source) ->

+ 4 - 4
src/render/wf_render_elements.erl

@@ -6,7 +6,7 @@
 render_element(E) when is_list(E) -> E;
 render_element(Element) when is_tuple(Element) ->
     Id = case element(#element.id,Element) of
-        undefined -> undefined; % wf:temp_id();
+        undefined -> undefined;
         L when is_list(L) -> L;
         Other -> nitro:to_list(Other) end,
     case element(#element.actions,Element) of undefined -> skip; Actions -> nitro:wire(Actions) end,
@@ -20,11 +20,11 @@ render_element(Element) when is_tuple(Element) ->
               "qi(name).validation = true;}",[Id,Code]))
             end,
     case element(#element.module,Element) of
-        undefined -> 
+        undefined ->
 	    default_render(Tag, Element);
-        Module -> 
+        Module ->
 	    nitro:to_binary(Module:render_element(setelement(#element.id,Element,Id))) end;
-render_element(Element) -> wf:error("Unknown Element: ~p",[Element]).
+render_element(Element) -> io:format("Unknown Element: ~p~n\r",[Element]).
 
 default_render(Tag, Record) ->
     wf_tags:emit_tag(Tag, nitro:render(element(#element.body,Record)),