Круто, indomian! Интересно было бы узнать методику как "разобрать что происходит" в таком непростом случае.
Я пофиксил следующим образом.
В сырцах
http://docs.sencha.com/extjs/3.4.0/source/TimeField.html#Ext-form-TimeField
нашел место, где происходит зацикливание. Это строка 119.
while(min <= max){
times.push(min.dateFormat(this.format));
min = min.add('mi', this.increment);
}
И сделал там проверку
while(min <= max){
times.push(min.dateFormat(this.format));
var min0 = min;
min = min.add('mi', this.increment);
if(min0 > min) {
min = min.add('d', 1);
}
}
Далее пропатчил
manager/assets/ext3/ext-all.js
примерно так
generateStore:function(b){var c=this.minValue||new Date(this.initDate).clearTime(),a=this.maxValue||new Date(this.initDate).clearTime().add("mi",(24*60)-1),d=[];while(c<=a){d.push(c.dateFormat(this.format));var c0=c;c=c.add("mi",this.increment);if(c0>c){c=c.add("d",1);}}this.bindStore(d,b)}
А чтобы кеш в браузере не мешал, поправил темплейт
manager/templates/default/header.tpl
где к URL ext-all.js добавил query-параметр
<script src="{$_config.manager_url}assets/ext3/ext-all.js?
v=3.4.0.1" type="text/javascript"></script>
[ed. note: javascript last edited this post 9 years, 6 months ago.]