Browse Source

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

SunRiseGG 4 years ago
parent
commit
9f72e7f201
4 changed files with 8 additions and 18 deletions
  1. 1 1
      mix.exs
  2. 1 1
      src/nitro.app.src
  3. 5 16
      src/nitro.erl
  4. 1 0
      src/nitro_conv.erl

+ 1 - 1
mix.exs

@@ -4,7 +4,7 @@ defmodule NITRO.Mixfile do
   def project do
     [
       app: :nitro,
-      version: "5.5.1",
+      version: "5.8.3",
       description: "NITRO Nitrogen Web Framework",
       package: package(),
       deps: deps()

+ 1 - 1
src/nitro.app.src

@@ -1,6 +1,6 @@
 {application, nitro, [
     {description,  "NITRO Nitrogen Web Framework"},
-    {vsn,          "5.5.1"},
+    {vsn,          "5.8.3"},
     {applications, [kernel, stdlib]},
     {modules, []},
     {registered,   []},

+ 5 - 16
src/nitro.erl

@@ -29,18 +29,7 @@ jse(X) -> js_escape(X).
 hte(X) when is_binary(X) -> nitro:to_binary(nitro_conv:html_encode(X));
 hte(X) -> nitro_conv:html_encode(X).
 
-js_escape(undefined) -> [];
-js_escape(Value) when is_list(Value) -> binary_to_list(js_escape(iolist_to_binary(Value)));
-js_escape(Value) -> js_escape(Value, <<>>).
-js_escape(<<"\\", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "\\\\">>);
-js_escape(<<"\r", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "\\r">>);
-js_escape(<<"\n", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "\\n">>);
-js_escape(<<"\"", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "\\\"">>);
-js_escape(<<"'",Rest/binary>>,Acc) -> js_escape(Rest, <<Acc/binary, "\\'">>);
-js_escape(<<"<script", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "<scr\" + \"ipt">>);
-js_escape(<<"script>", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "scr\" + \"ipt>">>);
-js_escape(<<C, Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, C>>);
-js_escape(<<>>, Acc) -> Acc.
+js_escape(Value) -> nitro_conv:js_escape(Value).
 
 -define(IS_STRING(Term), (is_list(Term) andalso Term /= [] andalso is_integer(hd(Term)))).
 
@@ -123,13 +112,13 @@ script(Script) -> put(script,Script).
 % Update DOM nitro:update
 
 update(Target, Elements) ->
-    nitro:wire(#jq{target=Target,property=outerHTML,right=Elements,format="'~s'"}).
+    nitro:wire(#jq{target=Target,property=outerHTML,right=Elements,format="`~s`"}).
 
 insert_top(Tag,Target, Elements) ->
     {Render, _Ref, Actions} = render_html(Elements),
     nitro:wire(nitro:f(
         "qi('~s').insertBefore("
-        "(function(){var div = qn('~s'); div.innerHTML = '~s'; return div.firstChild; })(),"
+        "(function(){var div = qn('~s'); div.innerHTML = `~s`; return div.firstChild; })(),"
         "qi('~s').firstChild);",
         [Target,Tag,Render,Target])),
     nitro:wire(nitro:render(Actions)).
@@ -137,7 +126,7 @@ insert_top(Tag,Target, Elements) ->
 insert_bottom(Tag, Target, Elements) ->
     {Render, _Ref, Actions} = render_html(Elements),
     nitro:wire(nitro:f(
-        "(function(){ var div = qn('~s'); div.innerHTML = '~s';"
+        "(function(){ var div = qn('~s'); div.innerHTML = `~s`;"
                      "qi('~s').appendChild(div.firstChild); })();",
         [Tag,Render,Target])),
     nitro:wire(nitro:render(Actions)).
@@ -148,7 +137,7 @@ insert_after(Target, Elements) -> insert_adjacent(afterend, Target, Elements).
 insert_adjacent(Command, Target, Elements) -> insert_adjacent(Command, Target, Elements, "qi").
 insert_adjacent(Command, Target, Elements, Q) ->
     {Render, _Ref, Actions} = render_html(Elements),
-    nitro:wire(nitro:f("~s('~s').insertAdjacentHTML('~s', '~s');",[Q,Target,Command,Render])),
+    nitro:wire(nitro:f("~s('~s').insertAdjacentHTML('~s', `~s`);",[Q,Target,Command,Render])),
     nitro:wire(nitro:render(Actions)).
 
 

+ 1 - 0
src/nitro_conv.erl

@@ -135,6 +135,7 @@ js_escape(<<"\r", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "\\r">>);
 js_escape(<<"\n", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "\\n">>);
 js_escape(<<"\"", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "\\\"">>);
 js_escape(<<"'",Rest/binary>>,Acc) -> js_escape(Rest, <<Acc/binary, "\\'">>);
+js_escape(<<"`",Rest/binary>>,Acc) -> js_escape(Rest, <<Acc/binary, "\\`">>);
 js_escape(<<"<script", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "<scr\" + \"ipt">>);
 js_escape(<<"script>", Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, "scr\" + \"ipt>">>);
 js_escape(<<C, Rest/binary>>, Acc) -> js_escape(Rest, <<Acc/binary, C>>);