]> git.proxmox.com Git - extjs.git/blame - extjs/build/examples/kitchensink/classic/samples/view/binding/ChildSession.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / kitchensink / classic / samples / view / binding / ChildSession.js
CommitLineData
6527f429
DM
1/**\r
2 * This example demonstrates an isolated child session. When the dialog is\r
3 * created, a child session is spawned from the parent. Any changes made to\r
4 * data in this session do not affect the parent immediately. The changes\r
5 * are kept separate from the parent and may then be saved to the parent or\r
6 * alternatively discarded to leave the parent in its original state.\r
7 */\r
8Ext.define('KitchenSink.view.binding.ChildSession', {\r
9 extend: 'Ext.panel.Panel',\r
10 xtype: 'binding-child-session',\r
11 //<example>\r
12 requires: [\r
13 'KitchenSink.view.binding.ChildSessionModel',\r
14 'KitchenSink.view.binding.ChildSessionController',\r
15 'Ext.grid.Panel'\r
16 ],\r
17 otherContent: [{\r
18 type: 'ViewModel',\r
19 path: 'classic/samples/view/binding/ChildSessionModel.js'\r
20 }, {\r
21 type: 'ViewController',\r
22 path: 'classic/samples/view/binding/ChildSessionController.js'\r
23 }, {\r
24 type: 'View',\r
25 path: 'classic/samples/view/binding/ChildSessionForm.js'\r
26 }, {\r
27 type: 'Model',\r
28 path: 'classic/samples/model/Customer.js'\r
29 }, {\r
30 type: 'Model',\r
31 path: 'classic/samples/model/Order.js'\r
32 }],\r
33 //</example>\r
34\r
35 title: 'All Customers',\r
36 frame: true,\r
37 width: 420,\r
38 height: 320,\r
39 layout: {\r
40 type: 'vbox',\r
41 align: 'stretch'\r
42 },\r
43\r
44 viewModel: {\r
45 type: 'binding.childsession'\r
46 },\r
47\r
48 controller: 'binding.childsession',\r
49\r
50 // Create a session for this view\r
51 session: true,\r
52\r
53 items: [{\r
54 flex: 1,\r
55 xtype: 'grid',\r
56 reference: 'customerGrid',\r
57 bind: '{customers}',\r
58 columns: [{\r
59 dataIndex: 'name',\r
60 flex: 1,\r
61 text: 'Name'\r
62 }, {\r
63 dataIndex: 'phone',\r
64 flex: 1,\r
65 text: 'Phone'\r
66 }, {\r
67 xtype: 'widgetcolumn',\r
68 width: 90,\r
69 widget: {\r
70 xtype: 'button',\r
71 text: 'Edit',\r
72 handler: 'onEditCustomerClick'\r
73 }\r
74 }]\r
75 }],\r
76\r
77 tbar: [{\r
78 text: 'Add Customer',\r
79 handler: 'onAddCustomerClick'\r
80 }, {\r
81 text: 'Remove Customer',\r
82 handler: 'onRemoveCustomerClick',\r
83 bind: {\r
84 disabled: '{!customerGrid.selection}'\r
85 }\r
86 }],\r
87\r
88 buttons: [{\r
89 text: 'Show Changes',\r
90 handler: 'onSessionChangeClick'\r
91 }]\r
92});\r