Viewport.js
Code:
Mobz.views.Viewport = Ext.extend(Ext.TabPanel, { fullscreen: true,
initComponent: function() {
Ext.apply(this, {
tabBar: {
dock: 'bottom',
layout: {
pack: 'center'
}
},
items: [
{ xtype: 'destaques', id: 'home' },
{ xtype: 'ingressos' },
{ xtype: 'mobilizacoes' },
{ xtype: 'locais' },
{ xtype: 'minhaconta' }
]
});
Mobz.views.Viewport.superclass.initComponent.apply(this, arguments);
}
});
Destaques (First tab. Initial screen)
Code:
var carousel = new Ext.Carousel({ fullscreen: true,
centered: true,
defaults: {
cls: 'CarouselCard',
styleHtmlContent: true
},
items: [{
title: 'tab 1',
html: '<img src="app/images/patofu0.jpg" width="320" height="200"/><br/>Patofu no Uspi'
},
{
title: 'Tab 2',
html: '<img src="app/images/patofu1.jpg" width="320" height="200"/><br/>Patofu no Uspi'
},
{
title: 'Tab 3',
html: '<img src="app/images/Patofu2.jpg" width="320" height="200"/><br/>Patofu no Uspi'
}]
});
Mobz.views.Destaques = Ext.extend(Ext.Panel, {
title: "Destaques",
iconCls: "favorites",
badgeText: 111,
styleHtmlContent: true,
initComponent: function() {
Ext.apply(this, {
dockedItems: [{
xtype: "toolbar",
title: "Destaques"
}],
items:[carousel]
});
Mobz.views.Destaques.superclass.initComponent.apply(this, arguments);
}
});
Ext.reg('destaques', Mobz.views.Destaques);
Ingressos (Second tab)
Code:
Mobz.views.Ingressos = Ext.extend(Ext.NestedList, { title: "Ingressos",
iconCls: "arrow_right",
cardSwitchAnimation: 'slide',
initComponent: function () {
Ext.apply(this, {
store: Mobz.ingressosstore,
getDetailCard: function (item, parent) {
var itemData = item.attributes.record.data;
return itemData.card;
}
});
Mobz.views.Ingressos.superclass.initComponent.apply(this, arguments);
}
});
Ext.reg('ingressos', Mobz.views.Ingressos);
IngressoCard.js
Code:
Mobz.IngressoCardDetailPanel = new Ext.Panel({ id: 'ingressocarddetailpanel',
tpl: 'Hello, {data}!',
dockedItems: [
{
xtype: 'toolbar',
items: [{
text: 'back',
ui: 'back',
handler: function () {
Mobz.views.viewport.setActiveItem('ingressohorarioslist', { type: 'slide', direction: 'right' });
}
}]
}
]
});
Mobz.IngressoCardListPanel = new Ext.List({
id: 'ingressohorarioslist',
store: Mobz.IngressosDatas,
itemTpl: '<div class="IngrsData"><img src="{logo}" /> <strong>{cinema}</strong> {horarios}</div>',
grouped: true,
onItemDisclosure: function (record, btn, index) {
Mobz.IngressoCardDetailPanel.update(record.data);
Mobz.views.viewport.setActiveItem('ingressocarddetailpanel');
}
});
Mobz.views.Ingressocard = Ext.extend(Ext.Panel, {
fullscreen: true,
layout: 'card',
cardSwitchAnimation: 'slide',
items: [Mobz.IngressoCardListPanel, Mobz.IngressoCardDetailPanel]
});
Ext.reg('ingressocard', Mobz.views.Ingressocard);
IngressoDataStore.js
Code:
Ext.regModel('Contact', { fields: ['data', 'cinema']
});
Mobz.IngressosDatas = new Ext.data.Store({
model: 'Contact',
sorters: 'data',
getGroupString: function (record) {
return record.get('data');
},
data: [
{ data: "Sábado, 04 de julho", cinema: "Cinemark Cinetam", logo: "Images/\CinemasLogos/\logo_cinetam.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 04 de julho", cinema: "Cinemark UCI", logo: "Images/\CinemasLogos/\logo_uci.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 04 de julho", cinema: "Cinemark Cinetam", logo: "Images/\CinemasLogos/\logo_cinetam.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 06 de julho", cinema: "Cinemark UCI", logo: "Images/\CinemasLogos/\logo_uci.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 06 de julho", cinema: "Cinemark Cinetam", logo: "Images/\CinemasLogos/\logo_cinetam.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 06 de julho", cinema: "Cinemark UCI", logo: "Images/\CinemasLogos/\logo_uci.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 08 de julho", cinema: "Cinemark Cinetam", logo: "Images/\CinemasLogos/\logo_cinetam.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 10 de julho", cinema: "Cinemark UCI", logo: "Images/\CinemasLogos/\logo_uci.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 11 de julho", cinema: "Cinemark Cinetam", logo: "Images/\CinemasLogos/\logo_cinetam.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 13 de julho", cinema: "Cinemark UCI", logo: "Images/\CinemasLogos/\logo_uci.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 13 de julho", cinema: "Cinemark Cinetam", logo: "Images/\CinemasLogos/\logo_cinetam.jpg", horarios: "14:50 17:50 21:30" },
{ data: "Sábado, 15 de julho", cinema: "Cinemark UCI", logo: "Images/\CinemasLogos/\logo_uci.jpg", horarios: "14:50 17:50 21:30" }
]
});
IngressoStore.js
Code:
Mobz.ingressosstore = new Ext.data.TreeStore({ model: 'ListItem',
root: {
items: [{
text: 'ESPN 3D - FINAL UEFA CHAMPIONS LEAGUE',
card: { xtype: 'ingressocard' },
leaf: true
},
{
text: 'Foo Fighters - Back and Forth + Show 3D',
card: { xtype: 'ingressocard' },
leaf: true
},
{
text: 'U23D - Show 3D EXCLUSIVO para os cinemas',
card: { xtype: 'ingressocard' },
leaf: true
}]
},
proxy: {
type: 'ajax',
reader: {
type: 'tree',
root: 'items'
}
}
});