【问题标题】:Primefaces Schedule is not passing columnFormat to fullcalendar rightPrimefaces Schedule没有将columnFormat传递给fullcalendar right
【发布时间】:2017-05-09 14:24:22
【问题描述】:

使用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'}});});

“dddd”选项对 FullCalendar 有效:

'dddd' // 像'Monday',ref
单独一个字符串将为所有视图设置值。

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

    ReferenceError: dddd 未定义

我应该如何在 XHTML 上设置 columnFormat 以便它可以直接访问 FullCalendar?

【问题讨论】:

  • 我认为您应该删除单引号,并设置为columnFormat="dddd"
  • @ParkashKumar 它没有单引号并发出另一条错误消息。我放置了单引号并达到了上面报告的错误。问题是 PF 如何为 Fullcalendar 编写 Javascript。
  • PrimeFaces 时间表是否支持HH:mm 时间格式?你试过HH:mm:ss吗?
  • @ParkashKumar 1) 为什么我要使用HH:mm 来格式化日期? - - - - - 2) columnFormat="YOUR_TEXT_HERE" 内的任何内容都以 ipsis literiscolumnFormatOptions:{YOUR_TEXT_HERE} 结束。所以问题是:在p:schedulecolumnFormat 里面应该放什么,这样fullcalendar 才能正确理解和渲染。
  • 普通的 'dddd' 在普通的 jqueryfullcalendar(没有 PrimeFaces)中工作吗?我试过了,但没有......同样的错误,在这里试试:jsfiddle.net/100thGear/RkWEB

标签: javascript primefaces jsf-2 fullcalendar


【解决方案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,这就是您得到的错误...“dddd”被视为一个键,并且在其后没有 : 分隔符,其后应该有一个值。

如果您将相同的字符串放在普通 jquery fullcalendar 中,您会得到相同的错误。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 2016-03-23
    • 2013-12-30
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多