Здравствуйте!
Вот рабочий пример вашего вью: http://webix.com/snippet/20bf5e62
Хочу обратить внимание на следующие вещи, из-за которых компонент был нерабочим:
(1) В создании timepicker вы несколько раз использовали приватные методы и свойства (this.s.popup
, this.s.suggets
, common.Fe()
в template). Этот подход в корне не правильный, потому что в следующей версии минифицированные приватные свойства могут получить абсолютно другие значения.
Нужно обходиться без них. Например this.s.popup (он же this._settings.popup
имеет доступный аналог this.config.popup
). Если какая-то кастомизация не получается паблик методами, спрашивайте на форуме.
Мой совет - при разработке подключайте webix_debug.js вместо webix.js. Это непожатый исходник, работать с которым намного проще.
(2) При создании cuteDatePicker вы задаёте rows базового layout. Правильно это делать не через addView (ему нужна отрисованная компонента, поэтому возникает ошибка в случае с popup), а задавая их в обработчике $oninit
:
$init: function (config) {
config.rows = [
{ view: 'datepicker' },
{ view: 'timepicker'}
];
},
Там же, для проверки начального значения лучше использовать соответствующий сеттер. Плюс такого подхода, в отличие от вашего - он срабатывает каждый раз, когда значения устанавливается, в том числе и через define()
.
//установит значение, только если оно проходит проверку
value_setter:function(value){
if (typeof value != 'undefined' && !isNaN(new Date(value)))
return value;
}