]> git.proxmox.com Git - extjs.git/blame - extjs/examples/classic/aria/app/view/Toolbar.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / classic / aria / app / view / Toolbar.js
CommitLineData
6527f429
DM
1Ext.define('Aria.view.Toolbar', {\r
2 extend:'Ext.container.Container',\r
3 alias:'widget.mysimpletoolbar',\r
4 title:'Toolbar',\r
5\r
6 requires: [\r
7 'Ext.menu.DatePicker',\r
8 'Ext.menu.ColorPicker',\r
9 'Ext.container.ButtonGroup'\r
10 ],\r
11 \r
12 initComponent: function() {\r
13 // functions to display feedback\r
14 function onButtonClick(btn){\r
15 Aria.app.msg('Button Click','You clicked the "{0}" button.', btn.displayText || btn.text);\r
16 }\r
17\r
18 function onItemClick(item){\r
19 Aria.app.msg('Menu Click', 'You clicked the "{0}" menu item.', item.text);\r
20 }\r
21\r
22 function onItemCheck(item, checked){\r
23 Aria.app.msg('Item Check', 'You {1} the "{0}" menu item.', item.text, checked ? 'checked' : 'unchecked');\r
24 }\r
25\r
26 function onItemToggle(item, pressed){\r
27 Aria.app.msg('Button Toggled', 'Button "{0}" was toggled to {1}.', item.text, pressed);\r
28 }\r
29\r
30 var dateMenu = Ext.create('Ext.menu.DatePicker', {\r
31 handler: function(dp, date){\r
32 Aria.app.msg('Date Selected', 'You choose {0}.', Ext.Date.format(date, 'M j, Y'));\r
33\r
34 }\r
35 });\r
36\r
37 var colorMenu = Ext.create('Ext.menu.ColorPicker', {\r
38 handler: function(cm, color){\r
39 Aria.app.msg('Color Selected', '<span style="color:#' + color + ';">You choose {0}.</span>', color);\r
40 }\r
41 });\r
42\r
43 var store = Ext.create('Ext.data.ArrayStore', {\r
44 fields: ['abbr', 'state', 'desc'],\r
45 data : [\r
46 ['AL', 'Alabama', 'The Heart of Dixie'],\r
47 ['AK', 'Alaska', 'The Land of the Midnight Sun'],\r
48 ['AZ', 'Arizona', 'The Grand Canyon State'],\r
49 ['AR', 'Arkansas', 'The Natural State'],\r
50 ['CA', 'California', 'The Golden State'],\r
51 ['CO', 'Colorado', 'The Mountain State'],\r
52 ['CT', 'Connecticut', 'The Constitution State'],\r
53 ['DE', 'Delaware', 'The First State'],\r
54 ['DC', 'District of Columbia', "The Nation's Capital"],\r
55 ['FL', 'Florida', 'The Sunshine State'],\r
56 ['GA', 'Georgia', 'The Peach State'],\r
57 ['HI', 'Hawaii', 'The Aloha State'],\r
58 ['ID', 'Idaho', 'Famous Potatoes'],\r
59 ['IL', 'Illinois', 'The Prairie State'],\r
60 ['IN', 'Indiana', 'The Hospitality State'],\r
61 ['IA', 'Iowa', 'The Corn State'],\r
62 ['KS', 'Kansas', 'The Sunflower State'],\r
63 ['KY', 'Kentucky', 'The Bluegrass State'],\r
64 ['LA', 'Louisiana', 'The Bayou State'],\r
65 ['ME', 'Maine', 'The Pine Tree State'],\r
66 ['MD', 'Maryland', 'Chesapeake State'],\r
67 ['MA', 'Massachusetts', 'The Spirit of America'],\r
68 ['MI', 'Michigan', 'Great Lakes State'],\r
69 ['MN', 'Minnesota', 'North Star State'],\r
70 ['MS', 'Mississippi', 'Magnolia State'],\r
71 ['MO', 'Missouri', 'Show Me State'],\r
72 ['MT', 'Montana', 'Big Sky Country'],\r
73 ['NE', 'Nebraska', 'Beef State'],\r
74 ['NV', 'Nevada', 'Silver State'],\r
75 ['NH', 'New Hampshire', 'Granite State'],\r
76 ['NJ', 'New Jersey', 'Garden State'],\r
77 ['NM', 'New Mexico', 'Land of Enchantment'],\r
78 ['NY', 'New York', 'Empire State'],\r
79 ['NC', 'North Carolina', 'First in Freedom'],\r
80 ['ND', 'North Dakota', 'Peace Garden State'],\r
81 ['OH', 'Ohio', 'The Heart of it All'],\r
82 ['OK', 'Oklahoma', 'Oklahoma is OK'],\r
83 ['OR', 'Oregon', 'Pacific Wonderland'],\r
84 ['PA', 'Pennsylvania', 'Keystone State'],\r
85 ['RI', 'Rhode Island', 'Ocean State'],\r
86 ['SC', 'South Carolina', 'Nothing Could be Finer'],\r
87 ['SD', 'South Dakota', 'Great Faces, Great Places'],\r
88 ['TN', 'Tennessee', 'Volunteer State'],\r
89 ['TX', 'Texas', 'Lone Star State'],\r
90 ['UT', 'Utah', 'Salt Lake State'],\r
91 ['VT', 'Vermont', 'Green Mountain State'],\r
92 ['VA', 'Virginia', 'Mother of States'],\r
93 ['WA', 'Washington', 'Green Tree State'],\r
94 ['WV', 'West Virginia', 'Mountain State'],\r
95 ['WI', 'Wisconsin', "America's Dairyland"],\r
96 ['WY', 'Wyoming', 'Like No Place on Earth']\r
97 ]\r
98 });\r
99\r
100 var combo = Ext.create('Ext.form.field.ComboBox', {\r
101 hideLabel: true,\r
102 store: store,\r
103 displayField: 'state',\r
104 typeAhead: false,\r
105 queryMode: 'local',\r
106 triggerAction: 'all',\r
107 emptyText: 'Select a state...',\r
108 editable: false,\r
109 width: 135,\r
110 iconCls: 'no-icon'\r
111 });\r
112\r
113 var menu = Ext.create('Ext.menu.Menu', {\r
114 id: 'mainMenu',\r
115// style: {\r
116// overflow: 'visible' // For the Combo popup\r
117// },\r
118 items: [\r
119// combo, // A Field in a Menu\r
120 {\r
121 text: 'I like Ext',\r
122 checked: true, // when checked has a boolean value, it is assumed to be a CheckItem\r
123 checkHandler: onItemCheck\r
124 }, '-', {\r
125 text: 'Radio Options',\r
126 menu: { // <-- submenu by nested config object\r
127 items: [\r
128 // stick any markup in a menu\r
129 '<b class="menu-title">Choose a Theme</b>',\r
130 {\r
131 text: 'Aero Glass',\r
132 checked: true,\r
133 group: 'theme',\r
134 checkHandler: onItemCheck\r
135 }, {\r
136 text: 'Vista Black',\r
137 checked: false,\r
138 group: 'theme',\r
139 checkHandler: onItemCheck\r
140 }, {\r
141 text: 'Gray Theme',\r
142 checked: false,\r
143 group: 'theme',\r
144 checkHandler: onItemCheck\r
145 }, {\r
146 text: 'Default Theme',\r
147 checked: false,\r
148 group: 'theme',\r
149 checkHandler: onItemCheck\r
150 }\r
151 ]\r
152 }\r
153 },{\r
154 text: 'Choose a Date',\r
155 iconCls: 'calendar',\r
156 menu: dateMenu // <-- submenu by reference\r
157 },{\r
158 text: 'Choose a Color',\r
159 menu: colorMenu // <-- submenu by reference\r
160 }\r
161 ]\r
162 });\r
163\r
164 var tb = Ext.create('Ext.toolbar.Toolbar');\r
165 var tb1 = Ext.create('Ext.toolbar.Toolbar');\r
166\r
167 tb.add({\r
168 text:'Button w/ Menu',\r
169 iconCls: 'bmenu', // <-- icon\r
170 menu: menu // assign menu by instance\r
171// }, {\r
172// text: 'Users',\r
173// menu: {\r
174// xtype: 'menu',\r
175// plain: true,\r
176// items: {\r
177// xtype: 'buttongroup',\r
178// title: 'User options',\r
179// columns: 2,\r
180// defaults: {\r
181// xtype: 'button',\r
182// scale: 'large',\r
183// iconAlign: 'left',\r
184// handler: onButtonClick\r
185// },\r
186// items: [{\r
187// text: 'User<br/>manager',\r
188// width: 90,\r
189// displayText: 'User manager'\r
190// },{\r
191// tooltip: 'Add user',\r
192// width: 100,\r
193// text: 'Add user'\r
194// },{\r
195// colspan: 2,\r
196// text: 'Import',\r
197// scale: 'small',\r
198// width: 130\r
199// },{\r
200// colspan: 2,\r
201// text: 'Who is online?',\r
202// scale: 'small',\r
203// width: 130\r
204// }]\r
205// }\r
206// }\r
207 },\r
208 '-', {\r
209 text: 'Toggle Me',\r
210 enableToggle: true,\r
211 toggleHandler: onItemToggle,\r
212 pressed: true\r
213 });\r
214\r
215 menu.add(' ');\r
216\r
217 // Menus have a rich api for\r
218 // adding and removing elements dynamically\r
219 var item = menu.add({\r
220 text: 'Dynamically added Item'\r
221 });\r
222 // items support full Observable API\r
223 item.on('click', onItemClick);\r
224\r
225 // items can easily be looked up\r
226 menu.add({\r
227 text: 'Disabled Item',\r
228 id: 'disableMe' // <-- Items can also have an id for easy lookup\r
229 // disabled: true <-- allowed but for sake of example we use long way below\r
230 });\r
231 // access items by id or index\r
232 menu.items.get('disableMe').disable();\r
233\r
234\r
235 var scrollMenu = Ext.create('Ext.menu.Menu');\r
236 for (var i = 0; i < 50; ++i){\r
237 scrollMenu.add({\r
238 text: 'Item ' + (i + 1),\r
239 handler: onItemClick\r
240 });\r
241 }\r
242 \r
243 tb1.add({\r
244 text: 'Link',\r
245 url: 'http://www.google.com/search',\r
246 baseParams: {\r
247 q: 'html+anchor+tag'\r
248 },\r
249 tooltip: 'This is a link. You can right click. You can see where it will take you'\r
250 });\r
251\r
252 // scrollable menu\r
253 tb1.add({\r
254 cls: 'x-btn-text-icon',\r
255 text: 'Scrolling Menu',\r
256 menu: scrollMenu\r
257 });\r
258\r
259 this.items = [\r
260 {\r
261 xtype: 'panel',\r
262 title:'Toolbar Example',\r
263 ariaRole: 'region',\r
264 \r
265 bodyPadding:12,\r
266 width:700,\r
267 height:250,\r
268 header:true,\r
269 dockedItems:{\r
270 dock: 'top',\r
271 items: [tb, tb1]\r
272 }\r
273 }\r
274 ];\r
275\r
276 this.callParent(arguments);\r
277 }\r
278});