Browse Source

cx from n2z; rm wrapper; redirect and header to n2z; nitro_sup

221V 3 years ago
parent
commit
b3925655c2
7 changed files with 27 additions and 16 deletions
  1. 2 2
      ebin/nitro.app
  2. 6 3
      include/cx.hrl
  3. 1 7
      src/nitro.erl
  4. 2 4
      src/nitro_app.erl
  5. 1 0
      src/nitro_n2z.erl
  6. 14 0
      src/nitro_sup.erl
  7. 1 0
      src/render/wf_event.erl

+ 2 - 2
ebin/nitro.app

@@ -2,8 +2,8 @@
   {description, "NITRO Nitrogen Web Framework"},
   {description, "NITRO Nitrogen Web Framework"},
   {vsn, "6.6.1"},
   {vsn, "6.6.1"},
   {applications, [kernel, stdlib]},
   {applications, [kernel, stdlib]},
-  {modules, [nitro_app, nitro_n2z, nitro_static, nitro, action_alert, action_api, action_bind, action_confirm, action_event, action_jq, action_manage, action_transfer, action_ui, action_wire, element_calendar, element_comboLookup, element_comboLookupEdit, element_comboLookupVec, element_koatuu, element_sortable_item, element_sortable_list, element_del, element_ins, element_area, element_audio, element_canvas, element_embed, element_iframe, element_image, element_map, element_object, element_param, element_source, element_track, element_video, element_button, element_fieldset, element_form, element_keygen, element_label, element_legend, element_meter, element_output, element_progress, element_select, element_textarea, element_blockquote, element_dtl, element_html, element_li, element_script, element_checkbox, element_color, element_date, element_datetime_local, element_datetime, element_dropdown, element_email, element_file, element_hidden, element_input_button, element_input_image, element_input_time, element_input, element_link, element_list, element_literal, element_month, element_number, element_password, element_q, element_radio, element_radiogroup, element_range, element_reset, element_search, element_submit, element_tel, element_textbox, element_time, element_url, element_week, element_command, element_details, element_menu, element_summary, element_upload, element_meta_base, element_meta_link, element_meta, element_style, element_col, element_colgroup, element_table, element_td, element_th, element_tr, wf_event, wf_render_actions, wf_render_elements, wf_render, wf_tags ]},
-  {registered, []},
+  {modules, [nitro_app, nitro_n2z, nitro_static, nitro_sup, nitro, action_alert, action_api, action_bind, action_confirm, action_event, action_jq, action_manage, action_transfer, action_ui, action_wire, element_calendar, element_comboLookup, element_comboLookupEdit, element_comboLookupVec, element_koatuu, element_sortable_item, element_sortable_list, element_del, element_ins, element_area, element_audio, element_canvas, element_embed, element_iframe, element_image, element_map, element_object, element_param, element_source, element_track, element_video, element_button, element_fieldset, element_form, element_keygen, element_label, element_legend, element_meter, element_output, element_progress, element_select, element_textarea, element_blockquote, element_dtl, element_html, element_li, element_script, element_checkbox, element_color, element_date, element_datetime_local, element_datetime, element_dropdown, element_email, element_file, element_hidden, element_input_button, element_input_image, element_input_time, element_input, element_link, element_list, element_literal, element_month, element_number, element_password, element_q, element_radio, element_radiogroup, element_range, element_reset, element_search, element_submit, element_tel, element_textbox, element_time, element_url, element_week, element_command, element_details, element_menu, element_summary, element_upload, element_meta_base, element_meta_link, element_meta, element_style, element_col, element_colgroup, element_table, element_td, element_th, element_tr, wf_event, wf_render_actions, wf_render_elements, wf_render, wf_tags ]},
+  {registered, nitro_sup},
   {mod, { nitro_app, []}},
   {mod, { nitro_app, []}},
   {env, []}
   {env, []}
 ]}.
 ]}.

+ 6 - 3
include/cx.hrl

@@ -1,9 +1,12 @@
 -ifndef(NITRO_CX).
 -ifndef(NITRO_CX).
 -define(NITRO_CX, true).
 -define(NITRO_CX, true).
 
 
--record(cx, { handlers=[], actions=[], req=[], module=[], lang=[], path=[],
-              session=[], token=[], formatter=bert, params=[], 'node'=[],
-              client_pid=[], state=[], from=[], vsn = [] }).
+%-record(cx, { handlers=[], actions=[], req=[], module=[], lang=[], path=[],
+%              session=[], token=[], formatter=bert, params=[], 'node'=[],
+%              client_pid=[], state=[], from=[], vsn = [] }).
+
+% cx from n2z
+-record(cx, { handlers, actions, req, module, lang, path, session, formatter=false, params, form, state=[] }).
 
 
 -endif.
 -endif.
 
 

+ 1 - 7
src/nitro.erl

@@ -69,7 +69,7 @@ to_atom(L) when erlang:is_list(L) -> erlang:list_to_atom(L).
 
 
 to_binary(A) when erlang:is_atom(A) -> erlang:atom_to_binary(A, latin1);
 to_binary(A) when erlang:is_atom(A) -> erlang:atom_to_binary(A, latin1);
 to_binary(B) when erlang:is_binary(B) -> B;
 to_binary(B) when erlang:is_binary(B) -> B;
-to_binary(I) when erlang:is_integer(I) -> to_binary(erlang:integer_to_list(I));
+to_binary(I) when erlang:is_integer(I) -> erlang:integer_to_binary(I);
 to_binary(F) when erlang:is_float(F) -> erlang:float_to_binary(F, [{decimals, 9}, compact]);
 to_binary(F) when erlang:is_float(F) -> erlang:float_to_binary(F, [{decimals, 9}, compact]);
 to_binary(L) when erlang:is_list(L) ->  erlang:iolist_to_binary(L);
 to_binary(L) when erlang:is_list(L) ->  erlang:iolist_to_binary(L);
 to_binary(X) when erlang:is_tuple(X) ->  erlang:term_to_binary(X).
 to_binary(X) when erlang:is_tuple(X) ->  erlang:term_to_binary(X).
@@ -388,12 +388,6 @@ remove(Target) ->
     "x && x.parentNode.removeChild(x);").
     "x && x.parentNode.removeChild(x);").
 
 
 
 
-% Redirect and purge connection nitro:redirect
-
-redirect(Url) -> nitro:wire(#jq{target='window', property=location, args=simple, right=Url}).
-%header(K, V) -> Ctx = (?CTX)#cx{req=cowboy_req:set_resp_header(K, V, ?CTX#cx.req)}, erlang:put(context, Ctx).
-
-
 setAttr(Element, Attr, Value) -> 
 setAttr(Element, Attr, Value) -> 
   nitro:wire("{ var x = qi('" ++ nitro:to_list(Element) ++ "');"
   nitro:wire("{ var x = qi('" ++ nitro:to_list(Element) ++ "');"
     "if(x) x.setAttribute('" ++ nitro:to_list(Attr) ++ "', '" ++ nitro:to_list(Value) ++ "'); }").
     "if(x) x.setAttribute('" ++ nitro:to_list(Attr) ++ "', '" ++ nitro:to_list(Value) ++ "'); }").

+ 2 - 4
src/nitro_app.erl

@@ -2,13 +2,11 @@
 
 
 -behaviour(application).
 -behaviour(application).
 
 
--export([start/2, stop/1, init/1]).
+-export([start/2, stop/1]).
 
 
 
 
 start(_StartType, _StartArgs) ->
 start(_StartType, _StartArgs) ->
-  supervisor:start_link({local, ?MODULE}, ?MODULE, []).
+  nitro_sup:start_link().
 
 
 stop(_State) -> ok.
 stop(_State) -> ok.
 
 
-init([]) -> {ok, {{one_for_one, 5, 10}, []}}.
-

+ 1 - 0
src/nitro_n2z.erl

@@ -1,5 +1,6 @@
 -module(nitro_n2z).
 -module(nitro_n2z).
 % N2Z Nitrogen Web Framework Protocol
 % N2Z Nitrogen Web Framework Protocol
+% todo compare with n2z and cx without token
 
 
 -include_lib("nitro/include/n2z.hrl").
 -include_lib("nitro/include/n2z.hrl").
 
 

+ 14 - 0
src/nitro_sup.erl

@@ -0,0 +1,14 @@
+-module(nitro_sup).
+
+-behaviour(supervisor).
+
+-export([start_link/0, init/1]).
+
+
+start_link() ->
+  supervisor:start_link({local, ?MODULE}, ?MODULE, []).
+
+init([]) ->
+  Procs = [],
+  {ok, {{one_for_one, 10, 10}, Procs}}.
+

+ 1 - 0
src/render/wf_event.erl

@@ -34,6 +34,7 @@ new(P, E, D, N, Data, Source) -> new(P, E, D, N, Data, Source, <<>>).
 new([], _, _, _, _, _, _) -> <<>>;
 new([], _, _, _, _, _, _) -> <<>>;
 new(undefined, _, _, _, _, _, _) -> <<>>;
 new(undefined, _, _, _, _, _, _) -> <<>>;
 new(Postback, Element, Delegate, Name, Data, Source, Validation) ->
 new(Postback, Element, Delegate, Name, Data, Source, Validation) ->
+  %io:format("wf_event:new::: ~n~p~n~p~n", [Delegate, ?CTX]),
   Module = nitro:coalesce([Delegate, ?CTX#cx.module]),
   Module = nitro:coalesce([Delegate, ?CTX#cx.module]),
   
   
   Event = #ev{name=Name, module=Module, msg=Postback, trigger=Element},
   Event = #ev{name=Name, module=Module, msg=Postback, trigger=Element},