]>
git.proxmox.com Git - sencha-touch.git/blob - src/examples/oreilly/app/util/Proxy.js
1 Ext
.define('Oreilly.util.Proxy', {
5 requires
: ['Ext.data.proxy.JsonP'],
7 process: function(url
, callback
) {
9 var sessionStore
= Ext
.getStore('Sessions'),
10 speakerStore
= Ext
.getStore('Speakers'),
11 sessionSpeakerStore
= Ext
.getStore('SessionSpeakers'),
12 speakerSessionStore
= Ext
.getStore('SpeakerSessions'),
13 sessionIds
, proposalModel
, speakerModel
, speakerSessions
= {}, sessionId
, speaker
, sessionDays
= {};
15 Ext
.data
.JsonP
.request({
17 callbackName
: 'feedCb',
19 success: function(data
) {
21 Ext
.Array
.each(data
.proposals
, function(proposal
) {
23 proposal
.speakerIds
= [];
24 proposalModel
= Ext
.create('Oreilly.model.Session', proposal
);
26 Ext
.Array
.each(proposal
.speakers
, function(speaker
) {
27 proposal
.speakerIds
.push(speaker
.id
);
29 speakerModel
= Ext
.create('Oreilly.model.Speaker', speaker
);
30 speakerStore
.add(speakerModel
);
31 sessionSpeakerStore
.add(speakerModel
);
33 speakerSessions
[speaker
.id
] = speakerSessions
[speaker
.id
] || [];
34 speakerSessions
[speaker
.id
].push(proposal
.id
);
38 sessionDays
[proposal
.date
] = {
39 day
: proposalModel
.get('time').getDate(),
40 text
: Ext
.Date
.format(proposalModel
.get('time'), 'm/d'),
41 time
: proposalModel
.get('time')
45 sessionStore
.add(proposalModel
);
46 speakerSessionStore
.add(proposalModel
);
49 for (var speakerId
in speakerSessions
) {
50 speaker
= speakerStore
.findRecord('id', speakerId
);
52 speaker
.set('sessionIds', speakerSessions
[speakerId
]);
56 Oreilly
.sessionDays
= Ext
.Array
.sort(Ext
.Object
.getValues(sessionDays
), function(a
, b
) {
57 return a
.time
< b
.time
? -1 : 1;