]> git.proxmox.com Git - extjs.git/blame - extjs/build/examples/kitchensink/classic/samples/view/binding/TwoWayFormulas.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / kitchensink / classic / samples / view / binding / TwoWayFormulas.js
CommitLineData
6527f429
DM
1/**\r
2 * This example shows data binding using formulas that can be edited. That is, "virtual\r
3 * properties"!\r
4 */\r
5Ext.define('KitchenSink.view.binding.TwoWayFormulas', {\r
6 extend: 'Ext.panel.Panel',\r
7 xtype: 'binding-two-way-formulas',\r
8 //<example>\r
9 otherContent: [{\r
10 type: 'ViewModel',\r
11 path: 'classic/samples/view/binding/TwoWayFormulasModel.js'\r
12 }],\r
13 bodyPadding: 10,\r
14 //</example>\r
15\r
16 title: 'Two-Way Formulas',\r
17\r
18 scrollable: true,\r
19 width: 450,\r
20 frame: true,\r
21 resizable: true,\r
22 \r
23 viewModel: {\r
24 // Formulas are defined by the ViewModel:\r
25 type: 'binding-two-way-formulas',\r
26\r
27 data: {\r
28 birthDate: new Date(1971, 4, 3),\r
29 firstName: 'John',\r
30 lastName: 'Doe'\r
31 }\r
32 },\r
33\r
34 // The form layout makes labelWidth automatic\r
35 layout: 'form',\r
36\r
37 defaultType: 'textfield',\r
38 items: [{\r
39 fieldLabel: 'First Name',\r
40 bind: '{firstName}'\r
41 }, {\r
42 fieldLabel: 'Last Name',\r
43 bind: '{lastName}'\r
44 }, {\r
45 fieldLabel: 'Full Name (virtual)',\r
46 bind: '{fullName}'\r
47 }, {\r
48 xtype: 'fieldcontainer',\r
49 fieldLabel: 'Age',\r
50 layout: {\r
51 type: 'hbox',\r
52 align: 'center'\r
53 },\r
54 items: [{\r
55 xtype: 'numberfield',\r
56 width: 100,\r
57 bind: '{age}',\r
58 minValue: 0\r
59 }, {\r
60 xtype: 'slider',\r
61 width: 80,\r
62 margin: '0 0 0 8',\r
63 bind: '{age}'\r
64 }, {\r
65 xtype: 'slider',\r
66 width: 80,\r
67 publishOnComplete: false,\r
68 margin: '0 0 0 8',\r
69 bind: '{age}'\r
70 }]\r
71 }, {\r
72 xtype: 'datefield',\r
73 format: 'm/d/Y',\r
74 fieldLabel: 'Birth Date',\r
75 bind: '{birthDate}',\r
76 maxValue: new Date()\r
77 }]\r
78});\r