]>
git.proxmox.com Git - extjs.git/blob - extjs/build/examples/kitchensink/classic/samples/model/grid/Employee.js
1 Ext
.define('KitchenSink.model.grid.Employee', {
2 extend
: 'KitchenSink.model.Base',
16 convert: function(v
, rec
) {
17 return rec
.editing
? v
: rec
.get('forename') + ' ' + rec
.get('surname');
40 name
: 'holidayAllowance',
45 name
: 'ratingLastYear',
48 name
: 'ratingThisYear',
51 idField
: 'employeeNo',
53 // Override set to update dependent fields
54 set: function (name
, value
) {
57 // Convert 2 arg form to object form
58 if (Ext
.isString(name
)) {
63 // "name" is a calculated field, so update it on edit of "forename" or "surname".
64 if (data
.forename
|| data
.surname
) {
65 data
.name
= (data
.forename
|| this.get('forename')) + ' ' + (data
.surname
|| this.get('surname'));
67 // Likewise, update two name fields if whole name gets updated
69 var names
= this.convertName(data
.name
);
70 data
.forename
= names
[0];
71 data
.surname
= names
[1];
74 return this.callParent([data
]);
77 convertName: function(name
) {
78 var names
= /([^\s+]+)(?:\s+(.*))?/.exec(name
);
79 return names
? [names
[1], names
[2]||''] : ['', ''];