]> git.proxmox.com Git - extjs.git/blame - extjs/examples/modern/oreilly/app/util/Proxy.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / modern / oreilly / app / util / Proxy.js
CommitLineData
6527f429
DM
1Ext.define('Oreilly.util.Proxy', {\r
2\r
3 singleton: true,\r
4\r
5 requires: ['Ext.data.proxy.JsonP'],\r
6\r
7 process: function(url, callback) {\r
8\r
9 var sessionStore = Ext.getStore('Sessions'),\r
10 speakerStore = Ext.getStore('Speakers'),\r
11 sessionSpeakerStore = Ext.getStore('SessionSpeakers'),\r
12 speakerSessionStore = Ext.getStore('SpeakerSessions'),\r
13 sessionIds, proposalModel, speakerModel, speakerSessions = {}, sessionId, speaker, sessionDays = {};\r
14\r
15 Ext.data.JsonP.request({\r
16 url: url,\r
17 callbackName: 'feedCb',\r
18\r
19 success: function(data) {\r
20\r
21 Ext.Array.each(data.proposals, function(proposal) {\r
22\r
23 proposal.speakerIds = [];\r
24 proposalModel = Ext.create('Oreilly.model.Session', proposal);\r
25\r
26 Ext.Array.each(proposal.speakers, function(speaker) {\r
27 proposal.speakerIds.push(speaker.id);\r
28\r
29 speakerModel = Ext.create('Oreilly.model.Speaker', speaker);\r
30 speakerStore.add(speakerModel);\r
31 sessionSpeakerStore.add(speakerModel);\r
32\r
33 speakerSessions[speaker.id] = speakerSessions[speaker.id] || [];\r
34 speakerSessions[speaker.id].push(proposal.id);\r
35 });\r
36\r
37 if (proposal.date) {\r
38 sessionDays[proposal.date] = {\r
39 day: proposalModel.get('time').getDate(),\r
40 text: Ext.Date.format(proposalModel.get('time'), 'm/d'),\r
41 time: proposalModel.get('time')\r
42 };\r
43 }\r
44\r
45 sessionStore.add(proposalModel);\r
46 speakerSessionStore.add(proposalModel);\r
47 });\r
48\r
49 for (var speakerId in speakerSessions) {\r
50 speaker = speakerStore.findRecord('id', speakerId);\r
51 if (speaker) {\r
52 speaker.set('sessionIds', speakerSessions[speakerId]);\r
53 }\r
54 }\r
55\r
56 Oreilly.sessionDays = Ext.Array.sort(Ext.Object.getValues(sessionDays), function(a, b) {\r
57 return a.time < b.time ? -1 : 1;\r
58 });\r
59\r
60 callback();\r
61 }\r
62 });\r
63\r
64 }\r
65});\r