Как установить выбранную дату в поле ввода календаря, не закрывая календарь и не нажимая кнопку «Применить» - PullRequest
0 голосов
/ 30 мая 2019

Я настраиваю веб-сайт и хочу, чтобы на нем был календарь richface, чтобы выбрать дату и время для начала мероприятия или встречи.Как мне добиться этого результата: Когда я выбираю дату, я хочу установить ее в поле ввода календаря, но не нажимая кнопку ПРИМЕНИТЬ и не закрывая всплывающее окно календаря.

Я пробовал эти два параметра внутри календаря richface

 ondataselected="#{rich:component('calendarStartDate')}.setValue('#{eventPlanner.startDate}')"

 ondateselected="Richfaces.getComponent('calendar',this).close(true); return true" 

но вышеописанное работает как кнопка подтверждения

<rich:calendar 
    id="calendarStartDate"
    value="#{eventPlanner.startDate}"
    datePattern="#{utilsBean.dateFormatForEvents}"                          
    enableManualInput="false"                       
    todayControlMode="hidden"                       
ondateselected="Richfaces.getComponent('calendar',this).close(true); return true"
     showApplyButton="true">
</rich:calendar>

На самом деле я могу сохранить выбранную дату с помощью кнопки применения, все работает отлично, но я хочу улучшить свой календарь, как я сказал

1 Ответ

0 голосов
/ 03 июня 2019

Метод обработки клика - Calendar.prototype.eventCellOnClick. (Я не могу сказать, является ли это автономным объектом или членом RichFaces). Если вы хотите изменить поведение, вам нужно его перезаписать и удалить строку, закрывающую всплывающее окно:

if (this.selectDate(date,true, {event:e, element:obj}) && !this.params.showApplyButton)
{
    this.doCollapse();
}
...