Primefaces Schedule没有将columnFormat传递给fullcalendar

时间:2017-05-09 14:24:22

标签: javascript primefaces jsf-2 fullcalendar

使用PF 6.1,在tomcat7上运行js 2.2

我有一个<p:schedule>组件设置如下:

                                <p:schedule
                                    id="mySchedule"
                                    value="#{myBean.agenda}"
                                    widgetVar="myschedule"
                                    scrollTime="08:00:00"
                                    showWeekends="false"
                                    timeZone="#{serverBean.timeZone}"
                                    minTime="07:00:00"
                                    maxTime="21:00:00"
                                    timeFormat="HH:mm"
                                    axisFormat="HH:mm"
                                    slotDuration="00:15:00"
                                    draggable="false"
                                    resizable="false"
                                    view="agendaWeek"
                                    columnFormat="'dddd'"
                                    allDaySlot="false">

                                </p:schedule>

当页面呈现时,JS引擎会抛出此错误:

Syntax error: missing : after property id
at: "HH:mm",timeFormat:"HH:mm",columnFormatOptions:{'dddd'}});});

选项&#39; dddd&#39;对FullCalendar有效:

  

&#39; DDDD&#39; //喜欢&#39;星期一&#39;,ref
  单独一个字符串将设置所有视图的值。

  • columnFormat="'dddd'"上的单引号无关紧要。删除它们只会在浏览器控制台上产生另一个错误:

      

    ReferenceError:未定义dddd

我应该如何在XHTML上设置columnFormat,以便直接通过FullCalendar?

1 个答案:

答案 0 :(得分:1)

如果你想要每个视图的标题,PrimeFaces columnFormat不要求你写完整的json,所以

  columnFormat="month: 'dddd', week: 'dddd'"

就足够了

  columnFormat="{month: 'dddd', week: 'dddd'}"

PrimeFaces会自动在您输入的值周围添加{},如source of the ScheduleRenderer.java中所示。所以只需在那里输入一个字符串,如

  columnFormat="'dddd'"

结果

  columnFormatOptions:{'dddd'}

哪个是无效的json,这就是你得到的错误......&#39; dddd&#39;被视为一个键,后面没有:分隔符,之后应该有一个值。

如果您将相同的字符串放在vanilla jquery fullcalendar中,则会收到相同的错误。

我看到的唯一选择是使用扩展器功能,或者声明每个视图。