Browse Source

Add #calendar.firstDay and fix #calendar.format usage

Oleksandr Naumov 5 years ago
parent
commit
d5a679f2a7
2 changed files with 5 additions and 5 deletions
  1. 1 1
      include/calendar.hrl
  2. 4 4
      src/elements/combo/element_calendar.erl

+ 1 - 1
include/calendar.hrl

@@ -6,7 +6,7 @@
 -record(calendar, {?ELEMENT_BASE(element_calendar),
   autocomplete=true, autofocus=false, disabled=false, form=[], list=[], maxDate={2019,2,2},
     minDate, format="DD.MM.YYYY", pattern=[], name=[], step=[], readonly=[], required=[],
-    value={2020,2,2}, placeholder=[], onSelect=[], disableDayFn=[], position=[],
+    value={2020,2,2}, placeholder=[], onSelect=[], disableDayFn=[], firstDay=0, position=[],
     reposition=[], yearRange=100}).
 
 -endif.

+ 4 - 4
src/elements/combo/element_calendar.erl

@@ -52,11 +52,10 @@ 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,onSelect=SelectFn,disableDayFn=DisDayFn,
+        value=Value,onSelect=SelectFn,disableDayFn=DisDayFn,firstDay=FirstDay,
         position=Pos,reposition=Repos,yearRange=YearRange} = Calendar) ->
     ID = nitro:to_list(Id),
     I18n =        "clLangs.ua",
-    Format =      "DD.MM.YYYY",
     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)]);
         _ -> "''" end,
@@ -66,13 +65,14 @@ init(Id,#calendar{minDate=Min,maxDate=Max,lang=Lang,format=Form,
     DisDay =      "null",
     Position =    "bottom left",
     Reposition =  "true",
+    WeekFirstDay = nitro:to_list(FirstDay),
     nitro:wire(nitro:f(
         "pickers['~s'] = new Pikaday({
             field: document.getElementById('~s'),
-            firstDay: 0,
             i18n: ~s,
             defaultDate: ~s,
             setDefaultDate: true,
+            firstDay: ~s,
             minDate: ~s,
             maxDate: ~s,
             format: '~s',
@@ -82,7 +82,7 @@ init(Id,#calendar{minDate=Min,maxDate=Max,lang=Lang,format=Form,
             reposition: ~s,
             yearRange: ~s
         });",
-        [ID,ID,I18n,DefaultDate,MinDate,MaxDate,Format,OnSelect,DisDay,
+        [ID,ID,I18n,DefaultDate,WeekFirstDay,MinDate,MaxDate,Form,OnSelect,DisDay,
          Position,Reposition,nitro:to_list(YearRange)]
     )).