Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 23rd, 2012  |  syntax: None  |  size: 2.14 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Sencha Touch: Displaying and editing HasMany field on formpanel
  2. Ext.require('Candidates.model.Interviewer', function() {
  3.         Ext.define('Candidates.model.Candidate', {
  4.             extend: 'Ext.data.Model',
  5.  
  6.             config: {
  7.                 fields: [
  8.                     {name: 'id', type: 'string'},
  9.                     {name: 'firstName', type: 'string'},
  10.                     {name: 'lastName', type: 'string'},
  11.                     {name: 'email', type: 'string'},
  12.                     {name: 'dept', type: 'string'},
  13.                     {name: 'room', type: 'string'},
  14.                     {name: 'greet', type: 'string'},
  15.                     {name: 'present', type: 'boolean'},
  16.                     {name: 'date', type: 'date'},
  17.                     {name: 'status', type: 'string'},
  18.                     {name: 'completed', type: 'boolean'}
  19.                 ],
  20.                 hasMany: {
  21.                     model: 'Candidates.model.Interviewer',
  22.                     name: 'Interviewers'
  23.                 }
  24.             },
  25.       });
  26.        
  27. Ext.define('Candidates.model.Interviewer', {
  28.         extend: 'Ext.data.Model',
  29.  
  30.         config: {
  31.             fields: [
  32.                 {name: 'id', type: 'int'},
  33.                 {name: 'firstName', type: 'string'},
  34.                 {name: 'lastName', type: 'string'},
  35.                 {name: 'username', type: 'string'},
  36.                 {name: 'password', type: 'string'},
  37.                 {name: 'email', type: 'string'},
  38.                 {name: 'dept', type: 'string'}
  39.             ]
  40.         }
  41.     });
  42.        
  43. {
  44.         xtype: 'textfield',
  45.         name : 'firstName',
  46.         label: 'First Name',
  47.     },
  48.     {
  49.         xtype: 'textfield',
  50.         name : 'lastName',
  51.         label: 'Last Name',
  52.     },
  53.     {
  54.         xtype: 'textfield',
  55.         name: 'interviewers',
  56.         id: 'interviewerfield',
  57.         label: 'Interviewer(s)',
  58.         tpl: [
  59.             '<div class="candidate">',
  60.                 '<tpl for="interviewers">',
  61.                     '<div class="interviewers">',
  62.                         '{firstName}',
  63.                     '</div>',
  64.                 '</tpl>',
  65.             '</div>'
  66.         ].join(''),
  67.         store: 'Candidates'
  68.     },