|
@@ -47,23 +47,15 @@ render_element(Record) ->
|
|
|
],
|
|
|
wf_tags:emit_tag(<<"input">>, nitro:render(Record#calendar.body), List).
|
|
|
|
|
|
-init(Id,#calendar{minDate=Min,maxDate=Max,lang=Lang,format=Form,value=Value}) ->
|
|
|
+init(Id,#calendar{minDate=Min,maxDate=Max,lang=Lang,format=Form,value=Value,onSelect=SelectFn,disableDayFn=DisDayFn}) ->
|
|
|
ID = nitro:to_list(Id),
|
|
|
- I18n = case Lang of
|
|
|
- undefined -> "clLangs.ua";
|
|
|
- Lang -> "clLangs."++nitro:to_list(Lang) end,
|
|
|
- Format = case Form of
|
|
|
- undefined -> "YYYY-MM-DD";
|
|
|
- Form -> Form 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)]);
|
|
|
- _ -> "null" end,
|
|
|
- MinDate = 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(2000, 0, 1)" end,
|
|
|
- MaxDate = 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(2087, 4, 13)" end,
|
|
|
+ I18n = case Lang of undefined -> "clLangs.ua"; Lang -> "clLangs."++nitro:to_list(Lang) end,
|
|
|
+ Format = case Form of undefined -> "YYYY-MM-DD"; Form -> Form 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)]); _ -> "null" end,
|
|
|
+ MinDate = 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(2000, 0, 1)" end,
|
|
|
+ MaxDate = 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(2087, 4, 13)" end,
|
|
|
+ OnSelect = case SelectFn of undefined -> "null"; _ -> SelectFn end,
|
|
|
+ DisDay = case DisDayFn of undefined -> "null"; _ -> nitro:f("function(thisDate){return ~s(thisDate);}",[DisDayFn]) end,
|
|
|
nitro:wire(nitro:f(
|
|
|
"pickers['~s'] = new Pikaday({
|
|
|
field: document.getElementById('~s'),
|
|
@@ -73,7 +65,9 @@ init(Id,#calendar{minDate=Min,maxDate=Max,lang=Lang,format=Form,value=Value}) ->
|
|
|
setDefaultDate: true,
|
|
|
minDate: ~s,
|
|
|
maxDate: ~s,
|
|
|
- format: '~s'
|
|
|
+ format: '~s',
|
|
|
+ onSelect: ~s,
|
|
|
+ disableDayFn: ~s
|
|
|
});",
|
|
|
- [ID,ID,I18n,DefaultDate,MinDate,MaxDate,Format]
|
|
|
+ [ID,ID,I18n,DefaultDate,MinDate,MaxDate,Format,OnSelect,DisDay]
|
|
|
)).
|