]> git.proxmox.com Git - extjs.git/blame - extjs/examples/classic/neptune-components/app/view/combination/BorderLayout.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / classic / neptune-components / app / view / combination / BorderLayout.js
CommitLineData
6527f429
DM
1Ext.define('Neptune.view.combination.BorderLayout', function() {\r
2 function closeRegion (e, target, header, tool) {\r
3 var panel = header.ownerCt;\r
4 newRegions.unshift(panel.initialConfig);\r
5 header.up('borderLayout').remove(panel);\r
6 }\r
7\r
8 var newRegions = [{\r
9 region: 'north',\r
10 title: 'North 2',\r
11 height: 100,\r
12 collapsible: true,\r
13 weight: -120\r
14 }, {\r
15 region: 'east',\r
16 title: 'East 2',\r
17 width: 100,\r
18 collapsible: true,\r
19 weight: -110\r
20 }, {\r
21 region: 'west',\r
22 title: 'West 2',\r
23 width: 100,\r
24 collapsible: true,\r
25 weight: -110\r
26 }],\r
27 pbar = Ext.widget({ xtype: 'progressbar' });\r
28\r
29 pbar.wait({ text: 'Progress text...' });\r
30\r
31 return {\r
32 extend: 'Ext.panel.Panel',\r
33 xtype: 'borderLayout',\r
34 id: 'borderLayout',\r
35 layout: {\r
36 type: 'border',\r
37 padding: 5\r
38 },\r
39 defaults: {\r
40 split: true\r
41 },\r
42 items: [{\r
43 region: 'north',\r
44 collapsible: true,\r
45 title: 'North',\r
46 split: true,\r
47 height: 100,\r
48 minHeight: 60,\r
49 html: Neptune.DummyText.text\r
50 },{\r
51 region: 'west',\r
52 collapsible: true,\r
53 title: 'Starts at width 20%',\r
54 split: true,\r
55 width: '20%',\r
56 minWidth: 100,\r
57 minHeight: 140,\r
58 layout: 'anchor',\r
59 bodyPadding: 10,\r
60 tbar: [\r
61 { xtype: 'complexButtonGroup' }\r
62 ],\r
63 defaults: {\r
64 anchor: '100%'\r
65 },\r
66 scrollable: true,\r
67 items: [\r
68 { xtype: 'textField' },\r
69 { xtype: 'dateField' },\r
70 { xtype: 'numberField' },\r
71 { xtype: 'checkboxes' },\r
72 { xtype: 'radioButtons' },\r
73 { xtype: 'htmlEditor' }\r
74 ],\r
75 bbar: { xtype: 'basicToolbar' }\r
76 }, {\r
77 region: 'center',\r
78 html: 'center center',\r
79 title: 'Center',\r
80 minHeight: 80,\r
81 layout: 'fit',\r
82 items: [cw = Ext.create('Ext.Window', {\r
83 xtype: 'window',\r
84 closable: false,\r
85 minimizable: true,\r
86 title: 'Constrained Window',\r
87 height: 200,\r
88 width: 400,\r
89 constrain: true,\r
90 html: 'I am in a Container',\r
91 itemId: 'center-window',\r
92 minimize: function() {\r
93 this.floatParent.down('button#toggleCw').toggle();\r
94 }\r
95 }),\r
96 {\r
97 xtype: 'basicGrid',\r
98 border: 0,\r
99 title: null\r
100 }],\r
101 lbar: { xtype: 'basicToolbar' },\r
102 bbar: [ 'Text followed by a spacer', ' ', {\r
103 itemId: 'toggleCw',\r
104 text: 'Constrained Window',\r
105 enableToggle: true,\r
106 toggleHandler: function() {\r
107 cw.setVisible(!cw.isVisible());\r
108 }\r
109 }, {\r
110 text: 'Add Region',\r
111 listeners: {\r
112 click: function (button) {\r
113 if (newRegions.length) {\r
114 var region = newRegions.pop();\r
115 region.tools = [ { type: 'close', handler: closeRegion }];\r
116 button.up('borderLayout').add(region);\r
117 } else {\r
118 Ext.Msg.show({\r
119 title: 'All added',\r
120 msg: 'Close one of the dynamic regions first',\r
121 //minWidth: Ext.Msg.minWidth,\r
122 buttons: Ext.Msg.OK,\r
123 icon: Ext.Msg.ERROR\r
124 });\r
125 }\r
126 }\r
127 }\r
128 }, {\r
129 text: 'Change Titles',\r
130 listeners: {\r
131 click: function (button) {\r
132 var panels = button.up('borderLayout').query('panel');\r
133 Ext.each(panels, function (panel) {\r
134 panel.setTitle(panel.title + '!');\r
135 })\r
136 }\r
137 }\r
138 }]\r
139 },{\r
140 region: 'east',\r
141 collapsible: true,\r
142 floatable: true,\r
143 split: true,\r
144 width: 250,\r
145 minWidth: 120,\r
146 minHeight: 140,\r
147 title: 'East',\r
148 layout: 'fit',\r
149 tbar: [\r
150 { text: 'File' },\r
151 { xtype: 'smallSplitButton', text: 'New', icon: true }\r
152 ],\r
153 lbar: [{\r
154 iconCls: 'btn-add',\r
155 tooltip: 'Button 1'\r
156 },\r
157 '-',\r
158 {\r
159 iconCls: 'btn-add',\r
160 tooltip: {\r
161 text: 'Button 2',\r
162 anchor: 'left'\r
163 }\r
164 },{\r
165 iconCls: 'btn-add'\r
166 },{\r
167 iconCls: 'btn-add'\r
168 },\r
169 '-',\r
170 {\r
171 iconCls: 'btn-add'\r
172 }\r
173 ],\r
174 items: [\r
175 {\r
176 xtype: 'basicTree',\r
177 title: null,\r
178 border: 0,\r
179 bodyStyle: 'border: 0;',\r
180 buttons: [\r
181 { text: 'Foo' },\r
182 { text: 'Bar' }\r
183 ]\r
184 }\r
185 ]\r
186 },{\r
187 region: 'south',\r
188 height: 100,\r
189 split: true,\r
190 collapsible: true,\r
191 title: 'Splitter above me',\r
192 minHeight: 60,\r
193 html: Neptune.DummyText.text,\r
194 weight: -100\r
195 },{\r
196 region: 'south',\r
197 collapsible: true,\r
198 split: true,\r
199 height: 200,\r
200 minHeight: 120,\r
201 title: 'South',\r
202 layout: {\r
203 type: 'border',\r
204 padding: 5\r
205 },\r
206 items: [{\r
207 title: 'South Central',\r
208 region: 'center',\r
209 minWidth: 80,\r
210 bodyPadding: 10,\r
211 layout: 'anchor',\r
212 items: [\r
213 pbar,\r
214 {\r
215 xtype: 'slider',\r
216 hideLabel: true,\r
217 value: 50,\r
218 margin: '5 0 0 0',\r
219 anchor: '100%'\r
220 },\r
221 {\r
222 xtype: 'slider',\r
223 vertical: true,\r
224 value: 50,\r
225 height: 70,\r
226 margin: '5 0 0 0'\r
227 }\r
228 ]\r
229 }, {\r
230 title: 'South Eastern',\r
231 region: 'east',\r
232 flex: 1,\r
233 minWidth: 80,\r
234 html: Neptune.DummyText.text,\r
235 split: true,\r
236 collapsible: true\r
237 }, {\r
238 title: 'South Western - not resizable',\r
239 region: 'west',\r
240 flex: 1,\r
241 minWidth: 80,\r
242 split: true,\r
243 collapsible: true,\r
244 splitterResize: false,\r
245 collapseMode: 'mini',\r
246 layout: 'fit',\r
247 cls: 'south-west-panel',\r
248 items: [\r
249 // hack - border: 0 shouldn't be needed\r
250 { xtype: 'basicTabPanel', border: 0, defaults: { bodyStyle: 'border: 0'} }\r
251 ]\r
252 }]\r
253 }]\r
254 };\r
255\r
256});