]> git.proxmox.com Git - extjs.git/blob - extjs/build/examples/kitchensink/classic/samples/model/grid/Employee.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / kitchensink / classic / samples / model / grid / Employee.js
1 Ext.define('KitchenSink.model.grid.Employee', {
2 extend: 'KitchenSink.model.Base',
3 fields: [{
4 name: 'employeeNo'
5 }, {
6 name: 'rating'
7 }, {
8 name: 'salary',
9 type: 'float'
10 }, {
11 name: 'forename'
12 }, {
13 name: 'surname'
14 }, {
15 name: 'name',
16 convert: function(v, rec) {
17 return rec.editing ? v : rec.get('forename') + ' ' + rec.get('surname');
18 }
19 }, {
20 name: 'email'
21 }, {
22 name: 'department'
23 }, {
24 name: 'dob',
25 type: 'date',
26 dateFormat: 'Ymd'
27 }, {
28 name: 'joinDate',
29 type: 'date',
30 dateFormat: 'Ymd'
31 }, {
32 name: 'noticePeriod'
33 }, {
34 name: 'sickDays',
35 type: 'int'
36 }, {
37 name: 'holidayDays',
38 type: 'int'
39 }, {
40 name: 'holidayAllowance',
41 type: 'int'
42 }, {
43 name: 'avatar'
44 }, {
45 name: 'ratingLastYear',
46 type: 'int'
47 }, {
48 name: 'ratingThisYear',
49 type: 'int'
50 }],
51 idField: 'employeeNo',
52
53 // Override set to update dependent fields
54 set: function (name, value) {
55 var data = name;
56
57 // Convert 2 arg form to object form
58 if (Ext.isString(name)) {
59 data = {};
60 data[name] = value;
61 }
62
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'));
66 }
67 // Likewise, update two name fields if whole name gets updated
68 else if (data.name) {
69 var names = this.convertName(data.name);
70 data.forename = names[0];
71 data.surname = names[1];
72 }
73
74 return this.callParent([data]);
75 },
76
77 convertName: function(name) {
78 var names = /([^\s+]+)(?:\s+(.*))?/.exec(name);
79 return names ? [names[1], names[2]||''] : ['', ''];
80 }
81 });