Namdak Tonpa 5 years ago
parent
commit
3ff986da8a

+ 12 - 0
include/calendar.hrl

@@ -0,0 +1,12 @@
+-ifndef(CAL_HRL).
+-define(CAL_HRL, true).
+
+-include_lib("nitro/include/nitro.hrl").
+
+-record(calendar, {?ELEMENT_BASE(element_calendar),
+  autocomplete=true, autofocus=false, disabled=false, form=[], list=[], maxDate={2019,2,2},
+    minDate, format="YYYY-MM-DD", pattern=[], name=[], step=[], readonly=[], required=[],
+    value={2020,2,2}, placeholder=[], onSelect=[], disableDayFn=[], position=[],
+    reposition=[], yearRange=100}).
+
+-endif.

+ 0 - 1
include/nitro.hrl

@@ -77,7 +77,6 @@
 -record(checkbox,           {?ELEMENT_BASE(element_checkbox),  autofocus, checked=false, disabled, form, name, required, value}).
 -record(checkbox,           {?ELEMENT_BASE(element_checkbox),  autofocus, checked=false, disabled, form, name, required, value}).
 -record(color,           {?ELEMENT_BASE(element_color),  autocomplete, autofocus, disabled, form, list, name, value}).
 -record(color,           {?ELEMENT_BASE(element_color),  autocomplete, autofocus, disabled, form, list, name, value}).
 -record(date,           {?ELEMENT_BASE(element_date),  autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
 -record(date,           {?ELEMENT_BASE(element_date),  autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
--record(calendar,       {?ELEMENT_BASE(element_calendar),  autocomplete, autofocus, disabled, form, list, maxDate, minDate, format, pattern, name, step, readonly, required, value, placeholder, onSelect, disableDayFn, position,reposition,yearRange=100}).
 -record(datetime,           {?ELEMENT_BASE(element_datetime),  autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
 -record(datetime,           {?ELEMENT_BASE(element_datetime),  autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
 -record(datetime_local,           {?ELEMENT_BASE(element_datetime_local),  autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
 -record(datetime_local,           {?ELEMENT_BASE(element_datetime_local),  autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
 -record(email,           {?ELEMENT_BASE(element_email),  autocomplete, autofocus, disabled, form, list, maxlength, multiple, name, pattern, placeholder, readonly, required, size, value}).
 -record(email,           {?ELEMENT_BASE(element_email),  autocomplete, autofocus, disabled, form, list, maxlength, multiple, name, pattern, placeholder, readonly, required, size, value}).

+ 1 - 1
mix.exs

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

+ 5 - 2
src/elements/input/element_calendar.erl

@@ -1,4 +1,5 @@
 -module(element_calendar).
 -module(element_calendar).
+-include_lib("nitro/include/calendar.hrl").
 -include_lib("nitro/include/nitro.hrl").
 -include_lib("nitro/include/nitro.hrl").
 -include_lib("nitro/include/event.hrl").
 -include_lib("nitro/include/event.hrl").
 -export([render_element/1]).
 -export([render_element/1]).
@@ -44,6 +45,7 @@ render_element(Record) ->
       {<<"required">>,if Record#calendar.required == true -> "required"; true -> [] end},
       {<<"required">>,if Record#calendar.required == true -> "required"; true -> [] end},
       {<<"step">>,Record#calendar.step},
       {<<"step">>,Record#calendar.step},
       {<<"type">>, <<"calendar">>},
       {<<"type">>, <<"calendar">>},
+      {<<"value">>, case Record#calendar.value of {Yv,Mv,Dv} -> io_lib:format("~p-~p-~p",[Yv,Mv,Dv]); [] -> []; _ -> "2019, 10, 7" end},
       {<<"pattern">>,Record#calendar.pattern},
       {<<"pattern">>,Record#calendar.pattern},
       {<<"placeholder">>,Record#calendar.placeholder},
       {<<"placeholder">>,Record#calendar.placeholder},
       {<<"onkeypress">>, Record#calendar.onkeypress} | Record#calendar.data_fields
       {<<"onkeypress">>, Record#calendar.onkeypress} | Record#calendar.data_fields
@@ -58,7 +60,7 @@ init(Id,#calendar{minDate=Min,maxDate=Max,lang=Lang,format=Form,
     I18n =        "clLangs.ua",
     I18n =        "clLangs.ua",
     Format =      "YYYY-MM-DD",
     Format =      "YYYY-MM-DD",
     DefaultDate = case Value of {Yv,Mv,Dv} -> nitro:f("new Date(~s,~s,~s)",[nitro:to_list(Yv),nitro:to_list(Mv-1),nitro:to_list(Dv)]);  _ -> "new Date(2019, 10, 7)" end,
     DefaultDate = case Value of {Yv,Mv,Dv} -> nitro:f("new Date(~s,~s,~s)",[nitro:to_list(Yv),nitro:to_list(Mv-1),nitro:to_list(Dv)]);  _ -> "new Date(2019, 10, 7)" end,
-%    io:format("Default Date: ~p~n",[DefaultDate]),
+ %   io:format("Default Date: ~p~n",[DefaultDate]),
     MinDate =     "null", % case Min   of {Y,M,D}    -> nitro:f("new Date(~s,~s,~s)",[nitro:to_list(Y), nitro:to_list(M-1), nitro:to_list(D)]);   _ -> "new Date(2009, 3, 4)" end,
     MinDate =     "null", % case Min   of {Y,M,D}    -> nitro:f("new Date(~s,~s,~s)",[nitro:to_list(Y), nitro:to_list(M-1), nitro:to_list(D)]);   _ -> "new Date(2009, 3, 4)" end,
     MaxDate =     "new Date(2020,10,10)", %case Max   of {Y1,M1,D1} -> nitro:f("new Date(~s,~s,~s)",[nitro:to_list(Y1),nitro:to_list(M1-1),nitro:to_list(D1)]);  _ -> "new Date(2089, 4, 1)" end,
     MaxDate =     "new Date(2020,10,10)", %case Max   of {Y1,M1,D1} -> nitro:f("new Date(~s,~s,~s)",[nitro:to_list(Y1),nitro:to_list(M1-1),nitro:to_list(D1)]);  _ -> "new Date(2089, 4, 1)" end,
     OnSelect =    "null",
     OnSelect =    "null",
@@ -83,4 +85,5 @@ init(Id,#calendar{minDate=Min,maxDate=Max,lang=Lang,format=Form,
         });",
         });",
         [ID,ID,I18n,DefaultDate,MinDate,MaxDate,Format,OnSelect,DisDay,
         [ID,ID,I18n,DefaultDate,MinDate,MaxDate,Format,OnSelect,DisDay,
          Position,Reposition,nitro:to_list(YearRange)]
          Position,Reposition,nitro:to_list(YearRange)]
-    )).
+    )).
+

+ 1 - 1
src/nitro.app.src

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

+ 2 - 1
src/nitro.erl

@@ -63,7 +63,8 @@ to_binary(A) when is_atom(A) -> atom_to_binary(A,latin1);
 to_binary(B) when is_binary(B) -> B;
 to_binary(B) when is_binary(B) -> B;
 to_binary(I) when is_integer(I) -> to_binary(integer_to_list(I));
 to_binary(I) when is_integer(I) -> to_binary(integer_to_list(I));
 to_binary(F) when is_float(F) -> float_to_binary(F,[{decimals,9},compact]);
 to_binary(F) when is_float(F) -> float_to_binary(F,[{decimals,9},compact]);
-to_binary(L) when is_list(L) ->  iolist_to_binary(L).
+to_binary(L) when is_list(L) ->  iolist_to_binary(L);
+to_binary(X) when is_tuple(X) ->  term_to_binary(X).
 
 
 -ifndef(PICKLER).
 -ifndef(PICKLER).
 -define(PICKLER, (application:get_env(n2o,pickler,nitro_pickle))).
 -define(PICKLER, (application:get_env(n2o,pickler,nitro_pickle))).

+ 1 - 0
src/render/wf_render_elements.erl

@@ -40,6 +40,7 @@ default_render(Tag, Record) ->
             {<<"dropzone">>,        element(#element.dropzone, Record)},
             {<<"dropzone">>,        element(#element.dropzone, Record)},
             {<<"hidden">>,          element(#element.hidden, Record)},
             {<<"hidden">>,          element(#element.hidden, Record)},
             {<<"lang">>,            element(#element.lang, Record)},
             {<<"lang">>,            element(#element.lang, Record)},
+            {<<"onclick">>,         element(#element.onclick, Record)},
             {<<"spellcheck">>,      element(#element.spellcheck, Record)},
             {<<"spellcheck">>,      element(#element.spellcheck, Record)},
             {<<"translate">>,       element(#element.translate, Record)},
             {<<"translate">>,       element(#element.translate, Record)},
             {<<"tabindex">>,        element(#element.tabindex, Record)},
             {<<"tabindex">>,        element(#element.tabindex, Record)},