]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | Ext.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 | }); |