Browse Source

Add support for bind in #input{type=hidden}

Oleksandr Naumov 5 years ago
parent
commit
010cf562d6

+ 1 - 1
mix.exs

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

+ 1 - 1
priv/js/nitro.js

@@ -25,7 +25,7 @@ function querySourceRaw(Id) {
                 case 'checkbox': val = qs('input[id='+Id+']:checked'); val = val ? val.value : ""; break;
                 case 'date': val = Date.parse(el.value);  val = val && new Date(val) || ""; break;
                 case 'calendar': val = pickers[el.id]._d || ""; break;
-                case 'comboLookup':
+                case 'comboLookup': case 'hidden':
                     var x = el.getAttribute('data-bind');
                     if (x) {
                         val = { 'text' : el.value, 'bind' : x};

+ 1 - 5
src/elements/combo/element_comboLookup.erl

@@ -7,12 +7,8 @@ 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 = Object0,
+render_element(#comboLookup{id=Id, style=Style, value = Val, bind = Object,
   feed = Feed, disabled = Disabled, delegate = Module} = Data) ->
-  Object = case Object0 of 
-              [] -> [];
-              _ -> base64:encode(term_to_binary(Object0))
-         end,
   nitro:render(
     #panel{id=form:atom([lookup, Id]), class=[dropdown],
            body=[#input{id=Id, disabled = Disabled, type="comboLookup",

+ 1 - 1
src/elements/input/element_input.erl

@@ -46,7 +46,7 @@ render_element(Record) ->
       {<<"multiple">>, Record#input.multiple},
       {<<"pattern">>, Record#input.pattern},
       {<<"value">>, Record#input.value},
-      {<<"data-bind">>, Record#input.bind},
+      {<<"data-bind">>, case Record#input.bind of [] -> []; X -> base64:encode(term_to_binary(X)) end},
       {<<"onkeypress">>, Record#input.onkeypress},
       {<<"onkeyup">>, Record#input.onkeyup},
       {<<"onkeydown">>, Record#input.onkeydown},

+ 1 - 1
src/nitro.app.src

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