provide installation instructions
[extjs.git] / examples / grid-filtering / menu / EditableItem.js
1 /*\r
2  * Ext JS Library 2.2.1\r
3  * Copyright(c) 2006-2009, Ext JS, LLC.\r
4  * licensing@extjs.com\r
5  * \r
6  * http://extjs.com/license\r
7  */\r
8 \r
9 Ext.menu.EditableItem = Ext.extend(Ext.menu.BaseItem, {\r
10     itemCls : "x-menu-item",\r
11     hideOnClick: false,\r
12     \r
13     initComponent: function(){\r
14       Ext.menu.EditableItem.superclass.initComponent.call(this);\r
15         this.addEvents('keyup');\r
16         \r
17                         this.editor = this.editor || new Ext.form.TextField();\r
18                         if(this.text) {\r
19                                 this.editor.setValue(this.text);\r
20       }\r
21     },\r
22     \r
23     onRender: function(container){\r
24         var s = container.createChild({\r
25                 cls: this.itemCls,\r
26                 html: '<img src="' + this.icon + '" class="x-menu-item-icon" style="margin: 3px 3px 2px 2px;" />'\r
27         });\r
28         \r
29         Ext.apply(this.config, {width: 125});\r
30         this.editor.render(s);\r
31         \r
32         this.el = s;\r
33         this.relayEvents(this.editor.el, ["keyup"]);\r
34         \r
35         if(Ext.isGecko) {\r
36                         s.setStyle('overflow', 'auto');\r
37         }\r
38                         \r
39         Ext.menu.EditableItem.superclass.onRender.call(this, container);\r
40     },\r
41     \r
42     getValue: function(){\r
43         return this.editor.getValue();\r
44     },\r
45     \r
46     setValue: function(value){\r
47         this.editor.setValue(value);\r
48     },\r
49     \r
50     isValid: function(preventMark){\r
51         return this.editor.isValid(preventMark);\r
52     }\r
53 });