Как сделать закрытие popup datepicker (suggest calendar) только при выборе времени?

Как сделать закрытие popup datepicker (suggest calendar) только при выборе времени? При выборе даты я хотел бы обновить допустимое время на выбранной дате

webix.ui({
   container: "calendar",
   view: "datepicker",
   label: "Date",
   format: "%d.%m.%Y %H:%i",
   width: 300,
   minDate: new Date(),
   suggest: {
      type: "calendar",
      body: {
         timepicker: true,
         minDate: new Date(),
         blockDates: function (date) {
            return date.getDay() === 0; // Disable Sundays
         },
         blockTime:function(date){
            if (date.getHours()>=9 && date.getHours()<18){return false}
            return true
         },
         on: {
            onChange: function (newDate) {
               //refresh timepicker
            }
         }
      }
   },
   on: {
      onChange: function (selectedDate) {
         console.log("Selected Date and Time:", selectedDate);
      }
   }
}).show()

Добрый день, Revencu,

Для решения этой проблемы прямого решения нет, но есть способ кастомизировать datepicker. У нас нет возможности запретить скрывать popup при определенных условиях, но есть возможность показать его сразу же обратно. Для этого мы можем использовать событие onChange.
Обработчик этого события принимает новое и старое значения, что позволяет нам сравнить эти данные, и если они изменились, то вместо закрытия окна мы его показываем:

    setTimeout(() => {
          $$("datesuggest").show();
    });

setTimeout здесь используем потому, что в момент вызова show popup еще не скрылся окончательно, и потому show не работает. И нам надо , чтобы он вызывался только после основного кода.

Из-за того, что popup скрывается и показывается снова, возможно мигание. чтобы его убрать, можно добавить небольшую анимацию.

Пожалуйста, посмотрите пример: Code Snippet