Commit 0d58f79e authored by Frank Bergmann's avatar Frank Bergmann

- Sencha Touch TS

parent 0eacf9b3
......@@ -2,7 +2,8 @@
Ext.application({
name: 'PO',
models: ['Note'],
stores: ['Notes', 'Contacts'],
stores: ['Notes', 'Users', 'Contacts'],
views: ['UserList', 'BlogList'],
requires: [
'Ext.MessageBox',
......@@ -25,59 +26,9 @@ Ext.application({
"<p>This demo shows how to build Sencha Touch applications using ]po[."
].join("")
}, {
xtype: 'nestedlist',
title: 'Blog',
iconCls: 'star',
displayField: 'title',
detailCard: {
xtype: 'panel',
scrollable: true,
styleHtmlContent: true
},
listeners: {
itemtap: function(nestedList, list, index, element, post) {
this.getDetailCard().setHtml(post.get('content'));
}
},
store: {
type: 'tree',
fields: [
'title', 'link', 'author', 'contentSnippet', 'content',
{name: 'leaf', defaultValue: true}
],
root: {
leaf: false
},
proxy: {
type: 'jsonp',
url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog',
reader: {
type: 'json',
rootProperty: 'responseData.feed.entries'
}
}
}
xtype: 'blogList',
}, {
xtype: 'list',
title: 'List',
iconCls: 'star',
itemTpl: '<div class="contact2"><strong>{first_names}</strong> {last_name}</div>',
disclosure: true,
grouped: true,
indexBar: true,
onItemDisclosure: function(record, item, index, e) {
this.getDetailCard().setHtml(post.get('content'));
},
store: 'Contacts'
xtype: 'userList',
}, {
title: 'Contact',
iconCls: 'user',
......
Ext.define('PO.store.Users', {
extend: 'Ext.data.Store',
config: {
fields: ['first_names', 'last_name'],
autoLoad: true,
sorters: 'last_name',
grouper: {
groupFn: function(record) {
var fn = record.get('last_name');
if (fn == null) { return 'a'; }
return fn[0];
}
},
proxy: {
type: 'rest',
url: '/intranet-rest/user',
appendId: true,
extraParams: {
format: 'json'
},
reader: {
type: 'json',
rootProperty: 'data'
}
}
/*
data: [
{ first_names: 'Ed', last_name: 'Spencer' },
{ first_names: 'Tommy', last_name: 'Maintz' },
{ first_names: 'Aaron', last_name: 'Conran' },
{ first_names: 'Jamie', last_name: 'Avins' }
]
*/
}
});
Ext.define('PO.view.BlogList', {
extend: 'Ext.NestedList',
xtype: 'blogList',
config: {
title: 'Blog',
iconCls: 'star',
displayField: 'title',
detailCard: {
xtype: 'panel',
scrollable: true,
styleHtmlContent: true
},
listeners: {
itemtap: function(nestedList, list, index, element, post) {
this.getDetailCard().setHtml(post.get('content'));
}
},
store: {
type: 'tree',
fields: [
'title', 'link', 'author', 'contentSnippet', 'content',
{name: 'leaf', defaultValue: true}
],
root: {
leaf: false
},
proxy: {
type: 'jsonp',
url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog',
reader: {
type: 'json',
rootProperty: 'responseData.feed.entries'
}
}
}
}
});
Ext.define('PO.view.UserDetail', {
extend: 'Ext.Panel',
config: {
styleHtmlContent: true,
scrollable: vertical,
title: 'User Details',
html: 'Hello World'
}
});
Ext.define('PO.view.UserList', {
extend: 'Ext.List',
xtype: 'userList',
requires: ['PO.store.Users'],
config: {
title: 'Users',
iconCls: 'star',
itemTpl: '<div class="contact2"><strong>{first_names}</strong> {last_name}</div>',
disclosure: true,
grouped: true,
indexBar: true,
store: 'Users',
onItemDisclosure: true
}
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment