Да, есть замечания к использованию xtype и layout.
Представьте, что у вас есть блоки, которые несут содержание и блоки, которые нужны для распределения содержания. Последние называются контейнерами. Нарисуйте своё приложение сначала из одних контейнеров. Для этого используйте xtype: viewport, panel, tabpanel, container. Вместо блоков с содержанием, ставьте обычные панели, потом замените их на гриды, графики и прочее.
У каждого контейнера есть свойства layout и items. Если в материнском контейнере вы выбрали layout: hbox, то в дочерних контейнерах независимо от их собственного типа вы можете указать свойства flex, minWidth и прочие. Если вы выберите в материнском контейнере другой тип layout, то в дочерних контейнерах нужно указывать соответствующие ему настройки. Вот как свойство дочернего контейнера flex объяснено в документации материнского контейнера hbox:
http://docs.sencha.com/extjs/5.1/5.1....HBox-cfg-flex
Ваш случай в упрощённом виде
Ext.application({
name: 'MVVM',
launch: function() {
Ext.create('Ext.container.Viewport', {
renderTo: Ext.getBody(),
layout: 'fit',
items: [{
xtype: 'tabpanel',
layout: 'fit',
items: [{
title: 'Список автомобилей',
xtype: 'panel',
autoScroll: true,
html: 'tttt<br>tttt<br>'
}, {
title: 'Готовы к рейсу',
xtype: 'panel'
}, {
title: 'Список автомобилей',
xtype: 'panel'
}]
}]
});
}
});